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
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
|
Internet Research Task Force (IRTF) C. Westphal, Ed.
Request for Comments: 7933 Huawei
Category: Informational S. Lederer
ISSN: 2070-1721 D. Posch
C. Timmerer
Alpen-Adria University Klagenfurt
A. Azgin
W. Liu
Huawei
C. Mueller
BitMovin
A. Detti
University of Rome Tor Vergata
D. Corujo
Instituto de Telecomunicacoes Aveiro
J. Wang
City University of Hong Kong
M. Montpetit
MIT
N. Murray
Athlone Institute of Technology
August 2016
Adaptive Video Streaming over Information-Centric Networking (ICN)
Abstract
This document considers the consequences of moving the underlying
network architecture from the current Internet to an Information-
Centric Networking (ICN) architecture on video distribution. As most
of the traffic in future networks is expected to be video, we
consider how to modify the existing video streaming mechanisms.
Several important topics related to video distribution over ICN are
presented. The wide range of scenarios covered includes the
following: evolving Dynamic Adaptive Streaming over HTTP (DASH) to
work over ICN and leverage the recent ISO/IEC Moving Picture Experts
Group (MPEG) standard, layering encoding over ICN, introducing
distinct requirements for video using Peer-to-Peer (P2P) mechanisms,
adapting the Peer-to-Peer Streaming Protocol (PPSP) for ICN, creating
more stringent requirements over ICN because of delay constraints
added by Internet Protocol Television (IPTV), and managing digital
rights in ICN. Finally, in addition to considering how existing
mechanisms would be impacted by ICN, this document lists some
research issues to design ICN-specific video streaming mechanisms.
Westphal, et al. Informational [Page 1]
^L
RFC 7933 ICN Video Streaming August 2016
Status of This Memo
This document is not an Internet Standards Track specification; it is
published for informational purposes.
This document is a product of the Internet Research Task Force
(IRTF). The IRTF publishes the results of Internet-related research
and development activities. These results might not be suitable for
deployment. This RFC represents the consensus of the Information-
Centric Networking Research Group of the Internet Research Task Force
(IRTF). Documents approved for publication by the IRSG are not a
candidate for any level of Internet Standard; see Section 2 of
RFC 7841.
Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
http://www.rfc-editor.org/info/rfc7933.
Copyright Notice
Copyright (c) 2016 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Conventions Used in This Document . . . . . . . . . . . . . . 4
3. Use Case Scenarios for ICN and Video Streaming . . . . . . . 5
4. Video Download . . . . . . . . . . . . . . . . . . . . . . . 6
5. Video Streaming and ICN . . . . . . . . . . . . . . . . . . . 7
5.1. Introduction to Client-Driven Streaming and DASH . . . . 7
5.2. Layered Encoding . . . . . . . . . . . . . . . . . . . . 8
5.3. Interactions of Video Streaming with ICN . . . . . . . . 8
5.3.1. Interactions of DASH with ICN . . . . . . . . . . . . 8
5.3.2. Interaction of ICN with Layered Encoding . . . . . . 10
5.4. Possible Integration of Video Streaming and ICN
Architecture . . . . . . . . . . . . . . . . . . . . . . 11
5.4.1. DASH over CCN . . . . . . . . . . . . . . . . . . . . 11
5.4.2. Testbed, Open-Source Tools, and Dataset . . . . . . . 13
Westphal, et al. Informational [Page 2]
^L
RFC 7933 ICN Video Streaming August 2016
6. P2P Video Distribution and ICN . . . . . . . . . . . . . . . 14
6.1. Introduction to PPSP . . . . . . . . . . . . . . . . . . 14
6.2. PPSP over ICN: Deployment Concepts . . . . . . . . . . . 16
6.2.1. PPSP Short Background . . . . . . . . . . . . . . . . 16
6.2.2. From PPSP Messages to ICN Named-Data . . . . . . . . 16
6.2.3. Support of PPSP Interaction through a Pull-Based ICN
API . . . . . . . . . . . . . . . . . . . . . . . . . 17
6.2.4. Abstract Layering for PPSP over ICN . . . . . . . . . 18
6.2.5. PPSP Interaction with the ICN Routing Plane . . . . . 19
6.2.6. ICN Deployment for PPSP . . . . . . . . . . . . . . . 19
6.3. Impact of MPEG-DASH Coding Schemes . . . . . . . . . . . 20
7. IPTV and ICN . . . . . . . . . . . . . . . . . . . . . . . . 21
7.1. IPTV Challenges . . . . . . . . . . . . . . . . . . . . . 21
7.2. ICN Benefits for IPTV Delivery . . . . . . . . . . . . . 22
8. Digital Rights Management in ICN . . . . . . . . . . . . . . 24
8.1. Broadcast Encryption for DRM in ICN . . . . . . . . . . . 24
8.2. AAA-Based DRM for ICN Networks . . . . . . . . . . . . . 27
8.2.1. Overview . . . . . . . . . . . . . . . . . . . . . . 27
8.2.2. Implementation . . . . . . . . . . . . . . . . . . . 28
9. Future Steps for Video in ICN . . . . . . . . . . . . . . . . 28
9.1. Large-Scale Live Events . . . . . . . . . . . . . . . . . 29
9.2. Video Conferencing and Real-Time Communications . . . . . 29
9.3. Store-and-Forward Optimized Rate Adaptation . . . . . . 29
9.4. Heterogeneous Wireless Environment Dynamics . . . . . . 30
9.5. Network Coding for Video Distribution in ICN . . . . . . 32
9.6. Synchronization Issues for Video Distribution in ICN . . 32
10. Security Considerations . . . . . . . . . . . . . . . . . . 33
11. Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . 33
12. References . . . . . . . . . . . . . . . . . . . . . . . . . 34
12.1. Normative References . . . . . . . . . . . . . . . . . . 34
12.2. Informative References . . . . . . . . . . . . . . . . . 34
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 38
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 39
Westphal, et al. Informational [Page 3]
^L
RFC 7933 ICN Video Streaming August 2016
1. Introduction
The unprecedented growth of video traffic has triggered a rethinking
of how content is distributed, both in terms of the underlying
Internet architecture and in terms of the streaming mechanisms to
deliver video objects.
In particular, the IRTF ICNRG research group has been chartered to
study new architectures centered upon information; the main
contributor to Internet traffic (and information dissemination) is
video, and this is expected to stay the same in the near future. If
ICN is expected to become prominent, it will have to support video
streaming efficiently.
As such, it is necessary to discuss going in two separate directions:
Can the current video streaming mechanisms be leveraged and
adapted to an ICN architecture?
Can (and should) new, ICN-specific video streaming mechanisms be
designed to fully take advantage of the new abstractions exposed
by the ICN architecture?
This document focuses on the first question in an attempt to define
the use cases for video streaming and some requirements. It also
focuses on a few scenarios (namely, Netflix-like video streaming, P2P
video sharing, and IPTV) and identifies how the existing protocols
can be adapted to an ICN architecture. In doing so, it also
identifies the main issues with these protocols in this ICN context.
In addition to this document, other works have considered specific
aspects of dynamic adaptive streaming in ICN [Lederer13b]
[Lederer13a] [Grandl13] [Detti12]. This document is informed by
these works, as well as others.
In this document, we give a brief overview of the existing solutions
for the selected scenarios. We then examine the interactions of such
existing mechanisms with the ICN architecture and list some of the
interactions any video streaming mechanism will have to consider.
Finally, we identify some areas for future research.
2. Conventions Used in This Document
In examples, "C:" and "S:" indicate lines sent by the client and
server, respectively.
Westphal, et al. Informational [Page 4]
^L
RFC 7933 ICN Video Streaming August 2016
3. Use Case Scenarios for ICN and Video Streaming
For ICN-specific descriptions, we refer to the other research group
documents [RFC7476]. For our purpose, we assume here that "ICN"
refers to an architecture where content is retrieved by name and with
no binding of content to a specific network location.
Both live and on-demand consumption of multimedia content come with
timing requirements for the delivery of the content. Additionally,
real-time use cases (such as audio-video conferencing [Jacobson09a],
game streaming, etc.) come with stricter timing requirements. Long
startup delays, buffering periods, poor video quality, etc., should
be avoided to achieve a better Quality of Experience (QoE) for the
consumer of the content. For a definition of QoE in the context of
video distribution, please refer to [LeCallet13]. The working
definition is as follows:
Quality of Experience (QoE) is the degree of delight or annoyance
of the user of an application or service. It results from the
fulfillment of his or her expectations with respect to the utility
and/or enjoyment of the application or service in the light of the
user's personality and current state.
Of course, these requirements are heavily influenced by routing
decisions and caching, which are central parts of ICN and that have
to be considered when streaming video in such infrastructures.
Due to this range of requirements, we find it useful to narrow the
focus to four scenarios (more can be included later):
o a video download architecture similar to that of Apple iTunes,
where the whole file is being downloaded to the client and can be
replayed there multiple times;
o a video streaming architecture for playing back movies, which is
relevant for the naming and caching aspects of ICN as well as the
interaction with the rate adaptation mechanism necessary to
deliver the best QoE to the end user;
o a P2P architecture for sharing videos, which introduces more
stringent routing requirements in terms of locating copies of the
content as the location of the peers evolves and peers join and
leave the swarm they use to exchange video chunks (for P2P
definitions and taxonomy, please refer to RFC 5694; and
o IPTV, which introduces requirements for multicasting and adds
stronger delay constraints.
Westphal, et al. Informational [Page 5]
^L
RFC 7933 ICN Video Streaming August 2016
Other scenarios, such as video conferencing and real-time video
communications, are not explicitly discussed in this document even
though they are in scope. Also, events of mass-media distribution,
such as a large crowd at a live event, add new requirements to be
included in later versions.
The current state-of-the-art protocols in an IP context can be
modified for the ICN architecture. The remainder of this document is
organized as follows: Section 4 discusses video download; Section 5
briefly describes DASH [ISO-DASH] and Layered Encoding (Modification
Detection Code (MDC), Scalable Video Coding (SVC)); Section 6 focuses
on P2P and PPSP; Section 7 highlights the requirements of IPTV;
Section 8 describes the issues of DRM; and Section 9 lists some
research issues to be solved for ICN-specific video delivery
mechanisms.
Video-conferencing and real-time-video communications will be
described in further detail in future works. Mass distribution of
content at live, large-scale events (stadiums, concert halls, etc.)
for which there is no clearly adopted existing protocol is another
topic for further research.
4. Video Download
Video download, namely the fetching of a video file from a server or
a cache down to the user's local storage, is a natural application of
ICN. It should be supported natively without requiring any specific
considerations.
This is supported now by a host of protocols (say, Secure Copy (SCP),
FTP, or over HTTP), which would need to be replaced by new ICN-
specific protocols to retrieve content in ICNs.
However, current mechanisms are built atop existing transport
protocols. Some ICN proposals (Context-Centric Network (CCN) or
Named Data Networking (NDN), for instance) attempt to leverage the
work done upon these transport protocols. One proposal is to use the
TCP congestion window (and the associated Adaptive Increase,
Multiplicative Decrease (AIMD)) to decide how many object requests
("Interests" in CCN/NDN terminology) should be in flight at any point
in time.
It should be noted that ICN intrinsically supports different
transport mechanisms, which could achieve better performance than
TCP, as they subsume TCP into a special case. For instance, one
could imagine a link-by-link transport coupled with caching. This is
enabled by the ICN architecture and would facilitate the point-to-
point download of video files.
Westphal, et al. Informational [Page 6]
^L
RFC 7933 ICN Video Streaming August 2016
5. Video Streaming and ICN
5.1. Introduction to Client-Driven Streaming and DASH
Media streaming over HTTP and, in a further consequence, streaming
over the TCP, has become omnipresent in today's Internet. Content
providers such as Netflix, Hulu, and Vudu do not deploy their own
streaming equipment: they use the existing Internet infrastructure as
it is and simply deploy their own services Over The Top (OTT). This
streaming approach works surprisingly well without any particular
support from the underlying network due to the use of efficient video
compression, Content Delivery Networks (CDNs), and adaptive video
players. Earlier video streaming research mostly recommended use of
the User Datagram Protocol (UDP) combined with the Real-time
Transport Protocol (RTP). It assumed it would not be possible to
transfer multimedia data smoothly with TCP, because of its throughput
variations and large retransmission delays. This point of view has
significantly evolved today. HTTP streaming, and especially its most
simple form known as progressive download, has become very popular
over the past few years because it has some major benefits compared
to RTP streaming. As a consequence of the consistent use of HTTP for
this streaming method, the existing Internet infrastructure
consisting of proxies, caches, and CDNs could be used. Originally,
this architecture was designed to support best-effort delivery of
files and not real-time transport of multimedia data. Nevertheless,
real-time streaming based on HTTP could also take advantage of this
architecture, in comparison to RTP, which could not leverage any of
the aforementioned components. Another benefit that results from the
use of HTTP is that the media stream could easily pass firewalls or
Network Address Translation (NAT) gateways, which was definitely a
key for the success of HTTP streaming. However, HTTP streaming is
not the holy grail of streaming as it also introduces some drawbacks
compared to RTP. Nevertheless, in an ICN-based video streaming
architecture these aspects also have to be considered.
The basic concept of DASH [ISO-DASH] is to use segments of media
content, which can be encoded at different resolutions, bit rates,
etc., as so-called representations. These segments are served by
conventional HTTP web servers and can be addressed via HTTP GET
requests from the client. As a consequence, the streaming system is
pull-based and the entire streaming logic is located on the client,
which makes it scalable and allows for adaptation of the media stream
to the client's capabilities.
In addition to this, the content can be distributed using
conventional CDNs and their HTTP infrastructure, which also scales
very well. In order to specify the relationship between the
contents' media segments and the associated bit rate, resolution, and
Westphal, et al. Informational [Page 7]
^L
RFC 7933 ICN Video Streaming August 2016
timeline, the Media Presentation Description (MPD) is used, which is
an XML document. The MPD refers to the available media segments
using HTTP URLs, which can be used by the client for retrieving them.
5.2. Layered Encoding
Another approach for video streaming consists in using layered
encoding. Namely, scalable video coding formats the video stream
into different layers: a base layer that can be decoded to provide
the lowest bit rate for the specific stream and enhancement layers
that can be transmitted separately if network conditions allow. The
higher layers offer higher resolutions and enhancement of the video
quality, while the layered approach allows for adaptation to the
network conditions. This is used in an MPEG-4 scalable profile or
H.263+. H264SVC is available but not much deployed. JPEG2000 has a
wavelet transform approach for layered encoding but has not been
deployed much either. It is not clear if the layered approach is
fine-grained enough for rate control.
5.3. Interactions of Video Streaming with ICN
5.3.1. Interactions of DASH with ICN
Video streaming (DASH in particular) has been designed with a goal
that is aligned with that of most ICN proposals: it is a client-based
mechanism that requests items (in this case, chunks of a video
stream) by name.
ICN and MPEG-DASH [ISO-DASH] have several elements in common:
o the client-initiated pull approach;
o the content being dealt with in pieces (or chunks);
o the support of efficient replication and distribution of content
pieces within the network;
o the scalable, session-free nature of the exchange between the
client and the server at the streaming layer: the client is free
to request any chunk from any location; and
o the support for potentially multiple source locations.
For the last point, DASH may list multiple source URLs in a manifest,
and ICN is agnostic to the location of a copy it is receiving. We do
not imply that current video streaming mechanisms attempt to draw the
Westphal, et al. Informational [Page 8]
^L
RFC 7933 ICN Video Streaming August 2016
content from multiple sources concurrently. This is a potential
benefit of ICN but is not considered in the current approaches
mentioned in this document.
As ICN is a promising candidate for the Future Internet (FI)
architecture, it is useful to investigate its suitability in
combination with multimedia streaming standards like MPEG-DASH. In
this context, the purpose of this section is to present the usage of
ICN instead of HTTP in MPEG-DASH.
However, there are some issues that arise from using a dynamic rate
adaptation mechanism in an ICN architecture (note that some of the
issues are related to caching and are not necessarily unique to ICN):
o Naming of the data in DASH does not necessarily follow the ICN
convention of any of the ICN proposals. Several chunks of the
same video stream might currently go by different names that, for
instance, do not share a common prefix. There is a need to
harmonize the naming of the chunks in DASH with the naming
conventions of the ICN. The naming convention of using a
filename/time/encoding format could, for instance, be made
compatible with the convention of CCN.
o While chunks can be retrieved from any server, the rate adaptation
mechanism attempts to estimate the available network bandwidth so
as to select the proper playback rate and keep its playback buffer
at the proper level. Therefore, there is a need to either include
some location semantics in the data chunks so as to properly
assess the throughput to a specific location or to design a
different mechanism to evaluate the available network bandwidth.
o The typical issue of access control and accounting happens in this
context, where chunks can be cached in the network outside of the
administrative control of the content publisher. It might be a
requirement from the owner of the video stream that access to
these data chunks needs to be accounted/billed/monitored.
o Dynamic streaming multiplies the representations of a given video
stream, therefore diminishing the effectiveness of caching:
namely, to get a hit for a chunk in the cache, it has to be for
the same format and encoding values. Alternatively, to get the
same hit rate as a stream using a single encoding, the cache size
must be scaled up to include all the possible representations.
o Caching introduces oscillatory dynamics as it may modify the
estimation of the available bandwidth between the end user and the
repository from which it is getting the chunks. For instance, if
an edge cache holds a low resolution representation near the user,
Westphal, et al. Informational [Page 9]
^L
RFC 7933 ICN Video Streaming August 2016
the user getting these low resolution chunks will observe a good
performance and will then request higher resolution chunks. If
those are hosted on a server with poor performance, then the
client would have to switch back to the low representation. This
oscillation may be detrimental to the perceived QoE of the user.
o The ICN transport mechanism needs to be compatible to some extent
with DASH. To take a CCN example, the rate at which interests are
issued should be such that the chunks received in return arrive
fast enough and with the proper encoding to keep the playback
buffer above some threshold.
o The usage of multiple network interfaces is possible in ICN,
enabling a seamless handover between them. For the combination
with DASH, an intelligent strategy that should focus on traffic
load-balancing between the available links may be necessary. This
would increase the effective media throughput of DASH by
leveraging the combined available bandwidth of all links; however,
it could potentially lead to high variations of the media
throughput.
o DASH does not define how the MPD is retrieved; hence, this is
compatible with CCN. However, the current profiles defined within
MPEG-DASH require the MPD to contain HTTP URLs (including HTTP and
HTTPS URI schemes) to identify segments. To enable a more
integrated approach as described in this document, an additional
profile for DASH over CCN has to be defined, enabling ICN/CCN-
based URIs to identify and request the media segments.
We describe in Section 5.4 a potential implementation of a dynamic
adaptive video stream over ICN, based upon DASH and CCN
[Jacobson09b].
5.3.2. Interaction of ICN with Layered Encoding
Issues of interest to an ICN architecture in the context of layered
video streaming include:
o Caching of the multiple layers. The caching priority should go to
the base layer and to defining caching policy in order to decide
when to cache enhancement layers;
o Synchronization of multiple content streams, as the multiple
layers may come from different sources in the network (for
instance, the base layer might be cached locally while the
enhancement layers may be stored in the origin server). Video and
audio-video streams must be synchronized, and this includes both
intra-layer synchronization (for the layers of the same video or
Westphal, et al. Informational [Page 10]
^L
RFC 7933 ICN Video Streaming August 2016
audio stream) and inter-stream synchronization (see Section 9 for
other synchronization aspects to be included in the "Future Steps
for Video in ICN"); and
o Naming of the different layers: when the client requests an
object, the request can be satisfied with the base layer alone,
aggregated with enhancement layers. Should one request be
sufficient to provide different streams? In a CCN architecture,
for instance, this would violate a "one Interest, one Data packet"
principle and the client would need to specify each layer it would
like to receive. In a Pub/Sub architecture, the Rendezvous Point
would have to make a decision as to which layers (or which pointer
to which layer's location) to return.
5.4. Possible Integration of Video Streaming and ICN Architecture
5.4.1. DASH over CCN
DASH is intended to enable adaptive streaming, i.e., each content
piece can be provided in different qualities, formats, languages,
etc., to cope with the diversity of today's networks and devices. As
this is an important requirement for Future Internet proposals like
CCN, the combination of those two technologies seems to be obvious.
Since those two proposals are located at different protocol layers --
DASH at the application and CCN at the network layer -- they can be
combined very efficiently to leverage the advantages of both and
potentially eliminate existing disadvantages. As CCN is not based on
classical host-to-host connections, it is possible to consume content
from different origin nodes as well as over different network links
in parallel, which can be seen as an intrinsic error resilience
feature with respect to the network. This is a useful feature of CCN
for adaptive multimedia streaming within mobile environments since
most mobile devices are equipped with multiple network links like 3G
and Wi-Fi. CCN offers this functionality out of the box, which is
beneficial when used for DASH-based services. In particular, it is
possible to enable adaptive video streaming handling both bandwidth
and network link changes. That is, CCN handles the network link
decision and DASH is implemented on top of CCN to adapt the video
stream to the available bandwidth.
In principle, there are two options to integrate DASH and CCN: a
proxy service acting as a broker between HTTP and CCN as proposed in
[Detti12], and the DASH client implementing a native CCN interface.
The former transforms an HTTP request to a corresponding Interest
packet as well as a Data packet back to an HTTP response, including
reliable transport as offered by TCP. This may be a good compromise
to implement CCN in a managed network and to support legacy devices.
Since such a proxy is already described in [Detti12], this document
Westphal, et al. Informational [Page 11]
^L
RFC 7933 ICN Video Streaming August 2016
focuses on a more integrated approach, aiming at fully exploiting the
potential of a CCN DASH client. That is, we describe a native CCN
interface within the DASH client, which adopts a CCN naming scheme
(CCN URIs) to denote segments in the MPD. In this architecture, only
the network access component on the client has to be modified and the
segment URIs within MPD have to be updated according to the CCN
naming scheme.
Initially, the DASH client retrieves the MPD containing the CCN URIs
of the content representations including the media segments. The
naming scheme of the segments may reflect intrinsic features of CCN
like versioning and segmentation support. Such segmentation support
is already compulsory for multimedia streaming in CCN; thus, it can
also be leveraged for DASH-based streaming over CCN. The CCN
versioning can be adopted in a further step to signal different
representations of the DASH-based content, which enables an implicit
adaptation of the requested content to the clients' bandwidth
conditions. That is, the Interest packet already provides the
desired characteristics of a segment (such as bit rate, resolution,
etc.) within the content name (or potentially within parameters
defined as extra types in the packet formats). Additionally, if
bandwidth conditions of the corresponding interfaces or routing paths
allow so, DASH media segments could be aggregated automatically by
the CCN nodes, which reduces the amount of Interest packets needed to
request the content. However, such approaches need further research,
specifically in terms of additional intelligence and processing power
needed at the CCN nodes.
After requesting the MPD, the DASH client will start to request
particular segments. Therefore, CCN Interest packets are generated
by the CCN access component and forwarded to the available
interfaces. Within the CCN, these Interest packets leverage the
efficient interest aggregation for, e.g., popular content, as well as
the implicit multicast support. Finally, the Interest packets are
satisfied by the corresponding Data packets containing the video
segment data, which are stored on the origin server or any CCN node,
respectively. With an increasing popularity of the content, it will
be distributed across the network resulting in lower transmission
delays and reduced bandwidth requirements for origin servers and
content providers, respectively.
With the extensive usage of in-network caching, new drawbacks are
introduced since the streaming logic is located at the client, i.e.,
clients are not aware of each other and the network infrastructure
and cache states. Furthermore, negative effects are introduced when
multiple clients compete in a bottleneck and when caching influences
this bandwidth competition. As mentioned above, the clients request
individual portions of the content based on available bandwidth,
Westphal, et al. Informational [Page 12]
^L
RFC 7933 ICN Video Streaming August 2016
which is calculated using throughput estimations. This uncontrolled
distribution of the content influences the adaptation process of
adaptive streaming clients. The impact of this falsified throughput
estimation could be tremendous and leads to a wrong adaptation
decision that may impact the QoE at the client, as shown in
[Mueller12]. In ICN, the client does not have the knowledge from
which source the requested content is actually served or how many
origin servers of the content are available, as this is transparent
and depends on the name-based routing. This introduces the challenge
that the adaptation logic of the adaptive streaming client is not
aware of the event when the ICN routing decides to switch to a
different origin server or content is coming through a different
link/interface. As most algorithms implementing the adaption logic
use bandwidth measurements and related heuristics, the adaptation
decisions are no longer valid when changing origin servers (or
links), and these decisions potentially cause playback interruptions
and, consequently, stalling. Additionally, ICN supports the usage of
multiple interfaces. A seamless handover between these interfaces
(and different sources for the content) comes together with changes
in performance, e.g., due to switching between fixed and wireless,
3G/4G and Wi-Fi networks, different types of servers (say with/
without Shared Secret Data (SSD) or hardware acceleration), etc.
Considering these characteristics of ICN, adaptation algorithms
merely based on bandwidth measurements are not appropriate anymore,
as potentially each segment can be transferred from another ICN node
or interface, all with different bandwidth conditions. Thus,
adaptation algorithms taking into account these intrinsic
characteristics of ICN are preferred over algorithms based on mere
bandwidth measurements.
5.4.2. Testbed, Open-Source Tools, and Dataset
For the evaluations of DASH over CCN, a testbed with open-source
tools and datasets is provided in [ITEC-DASH]. In particular, it
provides two client-player implementations, (i) a libdash extension
for DASH over CCN and (ii) a VLC plugin implementing DASH over CCN.
For both implementations, the CCNx implementation has been used as a
basis.
The general architecture of libdash is organized in modules so that
the library implements a MPD parser and an extensible connection
manager. The library provides object-oriented interfaces for these
modules to access the MPD and the downloadable segments. These
components are extended to support DASH over CCN and are located in a
separate development branch of the GitHub project available at
<http://www.github.com/bitmovin/libdash>. libdash comes together with
a fully featured DASH player with a QT-based front end, demonstrating
Westphal, et al. Informational [Page 13]
^L
RFC 7933 ICN Video Streaming August 2016
the usage of libdash and providing a scientific evaluation platform.
As an alternative, patches for the DASH plugin of the VLC player are
provided. These patches can be applied to the latest source code
checkout of VLC resulting in a DASH-over-CCN-enabled VLC player.
Finally, a DASH-over-CCN dataset is provided in the form of a CCNx
repository. It includes 15 different quality representation of the
well-known Big Buck Bunny Movie, ranging from 100 kbps to 4500 kbps.
The content is split into segments of two seconds and is described by
an associated MPD using the presented naming scheme in Section 5.1.
This repository can be downloaded from [ITEC-DASH] and is also
provided by a publicly accessible CCNx node. Associated routing
commands for the CCNx namespaces of the content are provided via
scripts coming together with the dataset and can be used as a public
testbed.
6. P2P Video Distribution and ICN
Peer-to-Peer distribution is another form of distributing content --
and video in particular -- that ICNs need to support. We see now how
an existing protocol such as PPSP can be modified to work in an ICN
environment.
6.1. Introduction to PPSP
P2P Video Streaming (P2PVS) is a popular approach to redistribute
live media over the Internet. The proposed P2PVS solutions can be
roughly classified in two classes:
o Push/Tree-based
o Pull/Mesh-based
The Push/Tree-based solution creates an overlay network among Peers
that has a tree shape [Castro03]. Using a progressive encoding
(e.g., Multiple Description Coding or H.264 Scalable Video Coding),
multiple trees could be set up to support video rate adaptation. On
each tree, an enhancement stream is sent. The higher the number of
received streams, the higher the video quality. A peer controls the
video rate by either fetching or not fetching the streams delivered
over the distribution trees.
The Pull/Mesh-based solution is inspired by the BitTorrent file
sharing mechanism. A tracker collects information about the state of
the swarm (i.e., the set of participating peers). A peer forms a
mesh overlay network with a subset of peers and exchanges data with
them. A peer announces what data items it disposes and requests
missing data items that are announced by connected peers. In case of
Westphal, et al. Informational [Page 14]
^L
RFC 7933 ICN Video Streaming August 2016
live streaming, the involved data set includes only a recent window
of data items published by the source. Also, in this case, the use
of a progressive encoding can be exploited for video rate adaptation.
Pull/Mesh-based P2PVS solutions are the more promising candidate for
the ICN deployment, since most of ICN approach provides a pull-based
API [Jacobson09b] [Detti11] [Chai11] [NETINF]. In addition,
Pull/Mesh-based P2PVS are more robust than the Push/Tree-based one
[Magharei07], and the PPSP working group [IETF-PPSP] is also
proposing a Pull/Mesh-based solution.
+------------------------------------------------+
| |
| +--------------------------------+ |
| | Tracker | |
| +--------------------------------+ |
| | ^ ^ |
|Tracker | | Tracker |Tracker |
|Protocol| | Protocol |Protocol |
| | | | |
| V | | |
| +---------+ Peer +---------+ |
| | Peer |<----------->| Peer | |
| +---------+ Protocol +---------+ |
| | ^ |
| | |Peer |
| | |Protocol |
| V | |
| +---------------+ |
| | Peer | |
| +---------------+ |
| |
+------------------------------------------------+
Figure 1: PPSP System Architecture [RFC6972]
Figure 1 reports the PPSP architecture presented in [RFC6972]. PEERs
announce and share video chunks and a TRACKER maintains a list of
PEERs participating in a specific audio-video channel or in the
distribution of a streaming file. The TRACKER functionality may be
centralized in a server or distributed over the PEERs. PPSP
standardizes the peer and Tracker Protocols, which can run directly
over UDP or TCP.
This document discusses some preliminary concepts about the
deployment of PPSP on top of an ICN that exposes a pull-based API,
meanwhile considering the impact of MPEG-DASH streaming format.
Westphal, et al. Informational [Page 15]
^L
RFC 7933 ICN Video Streaming August 2016
6.2. PPSP over ICN: Deployment Concepts
6.2.1. PPSP Short Background
The Peer-to-Peer Streaming Peer Protocol (PPSPP) is defined in
[Bakker15] and the Peer-to-Peer Streaming Tracker Protocol (PPSP-TP)
is defined in [RFC7846].
Some of the operations carried out by the Tracker Protocol are the
following: when a peer wishes to join the streaming session, it
contacts the tracker (CONNECT message), obtains a PEER_ID and a list
of PEER_IDs (and IP addresses) of other peers that are participating
to the SWARM and that the tracker has singled out for the requesting
peer (this may be a subset of the all peers of the SWARM); in
addition to this join operation, a peer may contact the tracker to
request to renew the list of participating peers (FIND message), to
periodically update its status to the tracker (STAT_REPORT message),
and so on.
Some of the operations carried out by the Peer Protocol include the
following: using the list of peers delivered by the tracker, a peer
establishes a session with them (HANDSHAKE message); a peer
periodically announces to neighboring peers which chunks it has
available for download (HAVE message); using these announcements, a
peer requests missing chunks from neighboring peers (REQUEST
messages), which will be sent back to them (DATA message).
6.2.2. From PPSP Messages to ICN Named-Data
An ICN provides users with data items exposed by names. The bundle
name and data item is usually referred as "named-data", "named-
content", etc. To transfer PPSP messages through an ICN, the
messages should be wrapped as named-data items and receivers should
request them by name.
A PPSP entity receives messages from peers and/or a tracker. Some
operations require gathering the messages generated by another
specific host (peer or tracker). For instance, if Peer A wishes to
gain information about video chunks available from Peer B, the former
shall fetch the PPSP HAVE messages specifically generated by the
latter. We refer to these kinds of named-data as "located-named-
data" since they should be gathered from a specific location (e.g.,
Peer B).
For other PPSP operations, such as fetching a DATA message (i.e., a
video chunk), as long as a peer receives the requested content, it
doesn't matter which endpoint generated the data. We refer to this
information with the generic term "named-data".
Westphal, et al. Informational [Page 16]
^L
RFC 7933 ICN Video Streaming August 2016
The naming scheme differentiates named-data and located-named-data
items. In the case of named-data, the naming scheme only includes a
content identifier (e.g., the name of the video chunk) without any
prefix identifying who provides the content. For instance, a DATA
message containing the video chunk "#1" may be named as
"ccnx:/swarmID/chunk/chunkID", where swarmID is a unique identifier
of the streaming session, "chunk" is a keyword, and chunkID is the
chunk identifier (e.g., an integer number).
In case of located-named-data, the naming scheme includes a location-
prefix, which uniquely identifies the host generating the data item.
This prefix may be the PEER_ID in case the host was a peer or a
tracker identifier in case the host was the tracker. For instance, a
HAVE message generated by a Peer B may be named as
"ccnx:/swarmID/peer/PEER_ID/HAVE", where "peer" is a keyword,
PEER_ID_B is the identifier of Peer B, and HAVE is a keyword.
6.2.3. Support of PPSP Interaction through a Pull-Based ICN API
The PPSP procedures are based both on pull and push interactions.
For instance, the distribution of chunks availability can be
classified as a push-based operation since a peer sends "unsolicited"
information (HAVE message) to neighboring peers. Conversely, the
procedure used to receive video chunks can be classified as pull-
based since it is supported by a request/response interaction (i.e.,
REQUEST, DATA messages).
As we said, we refer to an ICN architecture that provides a pull-
based API. Accordingly, the mapping of PPSP pull-based procedure is
quite simple. For instance, using the CCN architecture
[Jacobson09b], a PPSP DATA message may be carried by a CCN DATA
message and a REQUEST message can be transferred by a CCN Interest.
Conversely, the support of push-based PPSP operations may be more
difficult. We need an adaptation functionality that carries out a
push-based operation using the underlying pull-based service
primitives. For instance, a possible approach is to use the request/
response (i.e., Interest/Data) four-way handshakes proposed in
[Jacobson09a]. Another possibility is that receivers periodically
send out request messages of the named-data that neighbors will push
and, when available, the sender inserts the pushed data within a
response message.
Westphal, et al. Informational [Page 17]
^L
RFC 7933 ICN Video Streaming August 2016
6.2.4. Abstract Layering for PPSP over ICN
+-----------------------------------+
| Application |
+-----------------------------------+
| PPSP (TCP/IP) |
+-----------------------------------+
| ICN - PPSP Adaptation Layer (AL) |
+-----------------------------------+
| ICN Architecture |
+-----------------------------------+
Figure 2: Mediator Approach
Figure 2 provides a possible abstract layering for PPSP over ICN.
The Adaptation Layer acts as a mediator (proxy) between legacy PPSP
entities based on TCP/IP and the ICN architecture. In fact, the role
the mediator is to use ICN to transfer PPSP legacy messages.
This approach makes it possible to merely reuse TCP/IP P2P
applications whose software includes also PPSP functionality. This
"all-in-one" development approach may be rather common since the PPSP
application interface is not going to be specified. Moreover, if the
operating system will provide libraries that expose a PPSP API, these
will be initially based on an underlying TCP/IP API. Also, in this
case, the mediator approach would make it possible to easily reuse
both the PPSP libraries and the Application on top of an ICN.
+-----------------------------------+
| Application |
+-----------------------------------+
| ICN-PPSP |
+-----------------------------------+
| ICN Architecture |
+-----------------------------------+
Figure 3: Clean-Slate Approach
Figure 3 sketches a clean-slate layering approach in which the
application directly includes or interacts with a PPSP version based
on ICN. It's likely such a PPSP_ICN integration could yield a
simpler development also because it does not require implementing a
TCP/IP to ICN translation as in the Mediator approach. However, the
clean-slate approach requires developing the application (in case of
embedded PPSP functionality) or the PPSP library from scratch without
exploiting what might already exist for TCP/IP.
Westphal, et al. Informational [Page 18]
^L
RFC 7933 ICN Video Streaming August 2016
Overall, the Mediator approach may be considered the first step of a
migration path towards ICN-native PPSP applications.
6.2.5. PPSP Interaction with the ICN Routing Plane
Upon the ICN API, a user (peer) requests content and the ICN sends it
back. The content is gathered by the ICN from any source, which
could be the closest peer that disposes of the named-data item, an
in-network cache, etc. Actually, "where" to gather the content is
controlled by an underlying ICN routing plane, which sets up the ICN
forwarding tables (e.g., CCN FIB [Jacobson09b]).
A cross-layer interaction between the ICN routing plane and the PPSP
may be required to support a PPSP session. Indeed, ICN shall forward
request messages (e.g., CCN Interest) towards the proper peer that
can handle them. Depending on the layering approach, this cross-
layer interaction is controlled either by the Adaptation Layer or by
the ICN-PPSP. For example, if a Peer A receives a HAVE message
indicating that Peer B disposes of the video chunk named
"ccnx:/swarmID/chunk/chunkID", then the former should insert in its
ICN forwarding table an entry for the prefix "ccnx:/swarmID/chunk/
chunkID" whose next hop locator (e.g., IP address) is the network
address of Peer B [Detti13].
6.2.6. ICN Deployment for PPSP
The ICN functionality that supports a PPSP session may be "isolated"
or "integrated" with one from a public ICN.
In the isolated case, a PPSP session is supported by an instance of
an ICN (e.g., deployed on top of an IP) whose functionalities operate
only on the limited set of nodes participating to the swarm, i.e.,
peers and the tracker. This approach resembles the one followed by a
current P2P application, which usually forms an overlay network among
peers of a P2P application; intermediate public IP routers do not
carry out P2P functionalities.
In the integrated case, the nodes of a public ICN may be involved in
the forwarding and in-network caching procedures. In doing so, the
swarm may benefit from the presence of in-network caches, thus
limiting uplink traffic on peers and inter-domain traffic, too.
These are distinctive advantages of using PPSP over a public ICN
rather than over TCP/IP. In addition, such advantages aren't likely
manifested in the case of isolated deployment.
However, the possible interaction between the PPSP and the routing
layer of a public ICN may be dramatic, both in terms of explosion of
the forwarding tables and in terms of security. These issues
Westphal, et al. Informational [Page 19]
^L
RFC 7933 ICN Video Streaming August 2016
specifically take place for those ICN architectures for which the
name resolution (i.e., name to next hop) occurs en route, like the
CCN architecture.
For instance, using the CCN architecture, to fetch a named-data item
offered by a Peer A the on-path public ICN entities have to route the
request messages towards the Peer A. This implies that the ICN
forwarding tables of public ICN nodes may contain many entries, e.g.,
one entry per video chunk, and these entries are difficult to be
aggregated since peers may have available only sparse parts of a big
content, whose names have a same prefix (e.g., "ccnx:/swarmID").
Another possibility is to wrap all PPSP messages into a located-
named-data. In this case, the forwarding tables should contain
"only" the PEER_ID prefixes (e.g., "ccnx:/swarmID/peer/PEER_ID"),
thus scaling down the number of entries from number of chunks to
number of peers. However, in this case, the ICN mechanisms recognize
the same video chunk offered by different peers as different content,
thus losing caching and multicasting ICN benefits. In any case,
routing entries should be updated either on the basis of the
availability of named-data items on peers or on the presence of
peers, and these events in a P2P session are rapidly changing and
possibly hampering the convergence of the routing plane. Finally,
since peers have an impact on the ICN forwarding table of public
nodes, this may open obvious security issues.
6.3. Impact of MPEG-DASH Coding Schemes
The introduction of video rate adaptation may significantly decrease
the effectiveness of P2P cooperation and of in-network caching,
depending of the kind of the video coding used by the MPEG-DASH
stream.
In case of an MPEG-DASH streaming with MPEG AVC encoding, the same
video chunk is independently encoded at different rates and the
encoding output is a different file for each rate. For instance, in
case of a video encoded at three different rates, R1, R2, and R3; for
each segment S, we have three distinct files: S.R1, S.R2, and S.R3.
These files are independent of each other. To fetch a segment coded
at R2 kbps, a peer shall request the specific file S.R2. Receiver-
driven algorithms, implemented by the video client, usually handle
the estimation of the best coding rate.
The independence among files associated with different encoding rates
and the heterogeneity of peer bandwidths may dramatically reduce the
interaction among peers, the effectiveness of in-network caching (in
case of integrated deployment), and consequently, the ability of PPSP
to offload the video server (i.e., a seeder peer). Indeed, a Peer A
may select a coding rate (e.g., R1) different from the one selected
Westphal, et al. Informational [Page 20]
^L
RFC 7933 ICN Video Streaming August 2016
by a Peer B (e.g., R2), and this prevents the former from fetching
video chunks from the latter since Peer B only has chunks available
that are coded at a rate different from the ones needed by Peer A.
To overcome this issue, a common distributed rate selection algorithm
could force peers to select the same coding rate [Detti13];
nevertheless, this approach may be not feasible in the case of many
peers.
The use of an SVC encoding (Annex G extension of the H.264/MPEG-4
Advanced Video Coding (AVC) video compression standard) should make
rate adaptation possible while neither reducing peer collaborations
nor the in-network caching effectiveness. For a single video chunk,
an SVC encoder produces different files for the different rates
(roughly "layers"), and these files are progressively related to each
other. Starting from a base layer that provides the minimum rate
encoding, the next rates are encoded as an "enhancement layer" of the
previous one. For instance, in case the video is coded with three
rates, R1 (base layer), R2 (enhancement layer n.1), and R3
(enhancement layer n.2), then for each DASH segment, we have three
files: S.R1, S.R2, and S.R3. The file S.R1 is the segment coded at
the minimum rate (base layer). The file S.R2 enhances S.R1, so S.R1
and S.R2 can be combined to obtain a segment coded at rate R2. To
get a segment coded at rate R2, a peer shall fetch both S.R1 and
S.R2. This progressive dependence among files that encode the same
segment at different rates makes peer cooperation possible, also in
case peers player have autonomously selected different coding rates.
For instance, if Peer A has selected the rate R1, the downloaded
files S.R1 are useful also for a Peer B that has selected the rate
R2, and vice versa.
7. IPTV and ICN
7.1. IPTV Challenges
IPTV refers to the delivery of quality content broadcast over the
Internet and is typically associated with strict quality
requirements, i.e., with a perceived latency of less than 500 ms and
a packet loss rate that is multiple orders lower than the current
loss rates experienced in the most commonly used access networks (see
[ATIS-IIF]). We can summarize the major challenges for the delivery
of IPTV service as follows.
Westphal, et al. Informational [Page 21]
^L
RFC 7933 ICN Video Streaming August 2016
Channel change latency represents a major concern for the IPTV
service. Perceived latency during channel change should be less than
500 ms. To achieve this objective over the IP infrastructure, we
have multiple choices:
i receive fast unicast streams from a dedicated server (most
effective but not resource efficient);
ii connect to other peers in the network (efficiency depends on
peer support, effective and resource efficient, if also
supported with a dedicated server); and
iii connect to multiple multicast sessions at once (effective but
not resource efficient and depends on the accuracy of the
prediction model used to track user activity).
The second major challenge is the error recovery. Typical IPTV
service requirements dictate the mean time between artifacts to be
approximately 2 hours (see [ATIS-IIF]). This suggests the perceived
loss rate to be less than or equal to 10^-7. Current IP-based
solutions rely on the following proactive and reactive recovery
techniques: (i) joining the Forward Error Correction (FEC) multicast
stream corresponding to the perceived packet loss rate (not
efficient, as the recovery strength is chosen based on worst-case
loss scenarios); (ii) making unicast recovery requests to dedicated
servers (requires active support from the service provider); (iii)
probing peers to acquire repair packets (finding matching peers and
enabling their cooperation is another challenge).
7.2. ICN Benefits for IPTV Delivery
ICN presents significant advantages for the delivery of IPTV traffic.
For instance, ICN inherently supports multicast and allows for quick
recovery from packet losses (with the help of in-network caching).
Similarly, peer support is also provided in the shape of in-network
caches that typically act as the middleman between two peers,
therefore enabling earlier access to IPTV content.
However, despite these advantages, delivery of IPTV service over ICNs
brings forth new challenges. We can list some of these challenges as
follows:
o Messaging overhead: ICN is a pull-based architecture and relies on
a unique balance between requests and responses. A user needs to
make a request for each Data packet. In the case of IPTV, with
rates up to (and likely to be) above 15 Mbps, we observe
significant traffic upstream to bring those streams. As the
number of streams increases (including the same session at
Westphal, et al. Informational [Page 22]
^L
RFC 7933 ICN Video Streaming August 2016
different quality levels and other formats), so does the burden on
the routers. Even if the majority of requests are aggregated at
the core, routers close to the edge (where we observe the biggest
divergence in user requests) will experience a significant
increase in overhead to process these requests. The same is true
at the user side, as the uplink usage multiplies in the number of
sessions a user requests (for instance, to minimize the impact of
bandwidth fluctuations).
o Cache control: As the IPTV content expires at a rapid rate (with a
likely expiry threshold of 1 s), we need solutions to effectively
flush out such content to also prevent degradation impact on other
cached content, with the help of intelligently chosen naming
conventions. However, to allow for fast recovery and optimize
access time to sessions (from current or new users), the timing of
such expirations needs to be adaptive to network load and user
demand. However, we also need to support quick access to earlier
content, whenever needed; for instance, when the user accesses the
rewind feature (note that in-network caches will not be of
significant help in such scenarios due to the overhead required to
maintain such content).
o Access accuracy: To receive the up-to-date session data, users
need to be aware of such information at the time of their request.
Unlike IP multicast, since the users join a session indirectly,
session information is critical to minimize buffering delays and
reduce the startup latency. Without such information, and without
any active cooperation from the intermediate routers, stale data
can seriously undermine the efficiency of content delivery.
Furthermore, finding a cache does not necessarily equate to
joining a session, as the look-ahead latency for the initial
content access point may have a shorter lifetime than originally
intended. For instance, if the user that has initiated the
indirect multicast leaves the session early, the requests from the
remaining users need to experience an additional latency of one
RTT as they travel towards the content source. If the startup
latency is chosen depending on the closeness to the intermediate
router, going to the content source in-session can lead to
undesired pauses.
It should be noted that IPTV includes more than just multicast. Many
implementations include "trick plays" (fast forward, pause, rewind)
that often transform a multicast session into multiple unicast
sessions. In this context, ICN is beneficial, as the caching offers
an implicit multicast but without tight synchronization constraints
in between two different users. One user may rewind and start
playing forward again, thus drawing from a nearby cache of the
Westphal, et al. Informational [Page 23]
^L
RFC 7933 ICN Video Streaming August 2016
content recently viewed by another user (whereas in a strict
multicast session, the opportunity of one user lagging off behind
would be more difficult to implement).
8. Digital Rights Management in ICN
This section discusses the need for DRM functionalities for
multimedia streaming over ICN. It focuses on two possible
approaches: modifying Authentication, Authorization, and Accounting
(AAA) to support DRM in ICN and using Broadcast Encryption.
It is assumed that ICN will be used heavily for digital content
dissemination. It is vital to consider DRM for digital content
distribution. In today's Internet, there are two predominant classes
of business models for on-demand video streaming. The first model is
based on advertising revenues. Non-copyright protected (usually
User-Generated Content (UGC)) content is offered by large
infrastructure providers like Google (YouTube) at no charge. The
infrastructure is financed by spliced advertisements into the
content. In this context, DRM considerations may not be required,
since producers of UGC may only strive for the maximum possible
dissemination. Some producers of UGC are mainly interested in
sharing content with their families, friends, colleges, or others and
have no intention making a profit. However, the second class of
business model requires DRM, because these entities are primarily
profit oriented. For example, large on-demand streaming platforms
(e.g., Netflix) establish business models based on subscriptions.
Consumers may have to pay a monthly fee in order to get access to
copyright-protected content like TV series, movies, or music. This
model may be ad supported and free to the content consumer, like
YouTube Channels or Spotify, but the creator of the content expects
some remuneration for his work. From the perspective of the service
providers and the copyright owners, only clients that pay the fee
(explicitly or implicitly through ad placement) should be able to
access and consume the content. Anyway, the challenge is to find an
efficient and scalable way of access control to digital content,
which is distributed in ICNs.
8.1. Broadcast Encryption for DRM in ICN
This section discusses Broadcast Encryption (BE) as a suitable basis
for DRM functionalities in conformance to the ICN communication
paradigm (network-inherent caching, considered the advantage of BE,
will be highlighted).
In ICN, Data packets can be cached inherently in the network, and any
network participant can request a copy of these packets. This makes
it very difficult to implement an access control for content that is
Westphal, et al. Informational [Page 24]
^L
RFC 7933 ICN Video Streaming August 2016
distributed via ICN. A naive approach is to encrypt the transmitted
data for each consumer with a distinct key. This prohibits everyone
other than the intended consumers from decrypting and consuming the
data. However, this approach is not suitable for ICN's communication
paradigm, since it would reduce the benefits gained from the inherent
network caching. Even if multiple consumers request the same
content, the requested data for each consumer would differ using this
approach. A better, but still insufficient, idea is to use a single
key for all consumers. This does not destruct the benefits of ICN's
caching ability. The drawback is that if one of the consumers
illegally distributes the key, the system is broken; any entity in
the network can access the data. Changing the key after such an
event is useless since the provider has no possibility to identify
the illegal distributor. Therefore, this person cannot be stopped
from distributing the new key again. In addition to this issue,
other challenges have to be considered. Subscriptions expire after a
certain time, and then it has to be ensured that these consumers
cannot access the content anymore. For a provider that serves
millions of daily consumers (e.g., Netflix), there could be a
significant number of expiring subscriptions per day. Publishing a
new key every time a subscription expires would require an unsuitable
amount of computational power just to re-encrypt the collection of
audio-visual content.
A possible approach to solve these challenges is BE [Fiat94] as
proposed in [Posch13]. From this point on, this section will focus
only on BE as an enabler for DRM functionality in the use case of ICN
video streaming. This subsection continues with the explanation of
how BE works and shows how BE can be used to implement an access
control scheme in the context of content distribution in ICN.
BE actually carries a misleading name. One might expect a concrete
encryption scheme. However, it belongs to the family of key
management schemes. These schemes are responsible for the
generation, exchange, storage, and replacement of cryptographic keys.
The most interesting characteristics of BE schemes are:
o BE schemes typically use a global trusted entity called the
Licensing Agent (LA), which is responsible for spreading a set of
pre-generated secrets among all participants. Each participant
gets a distinct subset of secrets assigned from the LA.
o The participants can agree on a common session key, which is
chosen by the LA. The LA broadcasts an encrypted message that
includes the key. Participants with a valid set of secrets can
derive the session key from this message.
Westphal, et al. Informational [Page 25]
^L
RFC 7933 ICN Video Streaming August 2016
o The number of participants in the system can change dynamically.
Entities may join or leave the communication group at any time.
If a new entity joins, the LA passes on a valid set of secrets to
that entity. If an entity leaves (or is forced to leave) the LA
revokes the entity's subset of keys, which means that it cannot
derive the correct session key anymore when the LA distributes a
new key.
o Traitors (entities that reveal their secrets) can be traced and
excluded from ongoing communication. The algorithms and
preconditions to identify a traitor vary between concrete BE
schemes.
This listing already illustrates why BE is suitable to control the
access to data that is distributed via an ICN. BE enables the usage
of a single session key for confidential data transmission between a
dynamically changing subset or network participants. ICN caches can
be utilized since the data is encrypted only with a single key known
by all legitimate clients. Furthermore, traitors can be identified
and removed from the system. The issue of re-encryption still exists
because the LA will eventually update the session key when a
participant should be excluded. However, this disadvantage can be
relaxed in some way if the following points are considered:
o The updates of the session key can be delayed until a set of
compromised secrets has been gathered. Note that secrets may
become compromised because of two reasons: first, a traitor could
have illegally revealed the secret; second, the subscription of an
entity expired. Delayed revocation temporarily enables some
illegitimate entities to consume content. However, this should
not be a severe problem in home entertainment scenarios. Updating
the session key in regular (not too short) intervals is a good
trade- off. The longer the interval lasts, the less computational
resources are required for content re-encryption and the better
the cache utilization in the ICN will be. To evict old data from
ICN caches that have been encrypted with the prior session key,
the publisher could indicate a lifetime for transmitted packets.
o Content should be re-encrypted dynamically at request time. This
has the benefit that untapped content is not re-encrypted if the
content is not requested during two session key update; therefore,
no resources are wasted. Furthermore, if the updates are
triggered in non-peak times, the maximum amount of resources
needed at one point in time can be lowered effectively since in
peak times generally more diverse content is requested.
Westphal, et al. Informational [Page 26]
^L
RFC 7933 ICN Video Streaming August 2016
o Since the amount of required computational resources may vary
strongly from time to time, it would be beneficial for any
streaming provider to use cloud-based services to be able to
dynamically adapt the required resources to the current needs. In
regard to a lack of computation time or bandwidth, the cloud
service could be used to scale up to overcome shortages.
Figure 4 shows the potential usage of BE in a multimedia delivery
framework that builds upon ICN infrastructure and uses the concept of
dynamic adaptive streaming, e.g., DASH. BE would be implemented on
the top to have an efficient and scalable way of access control to
the multimedia content.
+--------Multimedia Delivery Framework--------+
| |
| Technologies Properties |
| +----------------+ +----------------+ |
| | Broadcast |<--->| Controlled | |
| | Encryption | | Access | |
| +----------------+ +----------------+ |
| |Dynamic Adaptive|<--->| Multimedia | |
| | Streaming | | Adaptation | |
| +----------------+ +----------------+ |
| | ICN |<--->| Cacheable | |
| | Infrastructure | | Data Chunks | |
| +----------------+ +----------------+ |
+---------------------------------------------+
Figure 4: A Potential Multimedia Framework Using BE
8.2. AAA-Based DRM for ICN Networks
8.2.1. Overview
Recently, a novel approach to DRM has emerged to link DRM to usual
network management operations, hence linking DRM to AAA services.
ICN provides the abstraction of an architecture where content is
requested by name and could be served from anywhere. In DRM, the
content provider (the origin of the content) allows the destination
(the end-user account) to use the content. The content provider and
content storage/cache are at two different entities in ITU Carrier
Code (ICC); for traditional DRM, only source and destination count
and not the intermediate storage. The proposed solution allows the
provider of the caching to be involved in the DRM policies using
well-known AAA mechanisms. It is important to note that this
solution is compatible with the proposal of the BE, proposed earlier
in this document. The BE proposes a technology, as this solution is
more operational.
Westphal, et al. Informational [Page 27]
^L
RFC 7933 ICN Video Streaming August 2016
8.2.2. Implementation
With the proposed AAA-based DRM, when content is requested by name
from a specific destination, the request could link back to both the
content provider and the caching provider via traditional AAA
mechanisms and trigger the appropriate DRM policy independently from
where the content is stored. In this approach, the caching, DRM, and
AAA remain independent entities but can work together through ICN
mechanisms. The proposed solution enables extending the traditional
DRM done by the content provider to jointly being done by content
provider and network/caching provider.
The solution is based on the concept of a "token". The content
provider authenticates the end user and issues an encrypted token to
authenticate the named-content ID or IDs that the user can access.
The token will be shared with the network provider and used as the
interface to the AAA protocols. At this point, all content access is
under the control of the network provider and the ICN. The
controllers and switches can manage the content requests and handle
mobility. The content can be accessed from anywhere as long as the
token remains valid or the content is available in the network. In
such a scheme, the content provider does not need to be contacted
every time a named-content is requested. This reduces the load of
the content provider network and creates a DRM mechanism that is much
more appropriate for the distributed caching and Peer-to-Peer storage
characteristic of ICN networks. In particular, the content requested
by name can be served from anywhere under the only condition that the
storage/cache can verify that the token is valid for content access.
The solution is also fully customizable to both content and network
provider's needs as the tokens can be issued based on user accounts,
location, and hardware (Media Access Control (MAC) address, for
example) linking it naturally to legacy authentication mechanisms.
In addition, since both content and network providers are involved in
DRM policies, pollution attacks and other illegal requests for the
content can be more easily detected. The proposed AAA-based DRM is
currently under full development.
9. Future Steps for Video in ICN
The explosion of online video services, along with their increased
consumption by mobile wireless terminals, further exacerbates the
challenges of ICN mechanisms that leverage Video Adaptation. The
following sections present a series of research items derived from
these challenges, further introducing next steps for the subject.
Westphal, et al. Informational [Page 28]
^L
RFC 7933 ICN Video Streaming August 2016
9.1. Large-Scale Live Events
Distributing content, and video in particular, using local
communications in large-scale events such as sporting events in a
stadium, a concert, or a large demonstration, is an active area of
investigation and a potential use case where ICN would provide
significant benefits.
Such use cases involve locating content that is generated on the fly
and requires discovery mechanisms in addition to sharing mechanisms.
The scalability of the distribution becomes important as well.
9.2. Video Conferencing and Real-Time Communications
Current protocols for video conferencing have been designed, and this
document takes input from them to identify the key research issues.
Real-time communications add timing constraints (both in terms of
delay and in terms of synchronization) to the scenario discussed
above.
An Access Router (AR) and a Virtual Router (VR), and immersive
multimedia experiences in general, are clearly an area of further
investigation, as they involve combining multiple streams of data
from multiple users into a coherent whole. This raises issues of
multisource, multidestination multimedia streams that ICN may be
equipped to deal with in a more natural manner than IP, which is
inherently unicast.
9.3. Store-and-Forward Optimized Rate Adaptation
One of the benefits of ICN is to allow the network to insert caching
in the middle of the data transfer. This can be used to reduce the
overall bandwidth demands over the network by caching content for
future reuse, but it provides more opportunities for optimizing video
streams.
Consider, for instance, the following scenario: a client is connected
via an ICN network to a server. Let's say the client is connected
wirelessly to a node that has a caching capability, which is
connected through a WAN to the server. Further, assume that the
capacity of each of the links (both the wireless and the WAN logical
links) varies with time.
If the rate adaptation is provided in an end-to-end manner, as in
current mechanisms like DASH, then the maximal rate that can be
supported at the client is that of the minimal bandwidth on each
link.
Westphal, et al. Informational [Page 29]
^L
RFC 7933 ICN Video Streaming August 2016
If, for instance, during Time Period 1 the wireless capacity is 1 and
the wired capacity is 2 and during Time Period 2 the wireless
capacity is 2 (due to some hotspot) and the wired capacity is 1 (due
to some congestion in the network), then the best end-to-end rate
that can be achieved is 1 during each period.
However, if the cache is used during Time Period 1 to pre-fetch 2
units of data, then during Time Period 2 there is 1 unit of data at
the cache and another unit of data that can be streamed from the
server; therefore, the rate that can be achieved is 2 units of data.
In this case, the average bandwidth rises from 1 to 1.5 over the two
periods.
This straw-man example illustrates a) the benefit of ICN for
increasing the throughput of the network and b) the need for the
special rate adaptation mechanisms to be designed to take advantage
of this gain. End-to-end rate adaptation cannot take advantage of
the cache availability. The authors of [Rainer16] showed that
buffer-based adaptation mechanisms can be one approach to tackle this
challenge. As buffer-based adaptation does not estimate the
available bandwidth resources (but solely considers the video buffer
fill state), measured bandwidth fluctuations caused by cache hits are
not existent. Therefore, they cannot negatively impact the
adaptation decisions (e.g., frequent representation switching).
9.4. Heterogeneous Wireless Environment Dynamics
With the ever-growing increase in online services being accessed by
mobile devices, operators have been deploying different overlapping
wireless access networking technologies. In this way, in the same
area, user terminals are within range of different cellular, Wi-Fi,
or even Worldwide Interoperability for Microwave Access (WiMAX)
networks. Moreover, with the advent of the Internet of Things (e.g.,
surveillance cameras feeding video footage), this list can be further
complemented with more-specific short-range technologies, such as
Bluetooth or ZigBee.
In order to leverage from this plethora of connectivity
opportunities, user terminals are coming equipped with different
wireless access interfaces, providing them with extended connectivity
opportunities. In this way, such devices become able to select the
type of access that best suits them according to different criteria,
such as available bandwidth, battery consumption, access to different
link conditions according to the user profile, or even access to
different content. Ultimately, these aspects contribute to the QoE
perceived by the end user, which is of utmost importance when it
comes to video content.
Westphal, et al. Informational [Page 30]
^L
RFC 7933 ICN Video Streaming August 2016
However, the fact that these users are mobile and using wireless
technologies also provides a very dynamic setting where the current
optimal link conditions at a specific moment might not last or be
maintained while the user moves. These aspects have been amply
analyzed in recently finished projects such as FP7 MEDIEVAL
[MEDIEVAL], where link events reporting on wireless conditions and
available alternative connection points were combined with video
requirements and traffic optimization mechanisms towards the
production of a joint network and mobile terminal mobility management
decision. Concretely, in [Fu13], link information about the
deterioration of the wireless signal was sent towards a mobility
management controller in the network. This input was combined with
information about the user profile, as well as of the current video
service requirements, and used to trigger the decrease or increase of
scalable video layers (adjusting the video to the ongoing link
conditions). Incrementally, the video could also be adjusted when a
new, better connectivity opportunity presents itself.
In this way, regarding Video Adaptation, ICN mechanisms can leverage
from their intrinsic multiple source support capability and go beyond
the monitoring of the status of the current link, thus exploiting the
availability of different connectivity possibilities (e.g., different
"interfaces"). Moreover, information obtained from the mobile
terminal's point of view of its network link, as well as information
from the network itself (i.e., load, policies, and others), can
generate scenarios where such information is combined in a joint
optimization procedure allowing the content to be forward to users
using the best available connectivity option (e.g., exploiting
management capabilities supported by ICN intrinsic mechanisms as in
[Corujo12]).
In fact, ICN base mechanisms can further be exploited in enabling new
deployment scenarios such as preparing the network for mass requests
from users attending a large multimedia event (i.e., concert,
sports), allowing video to be adapted according to content, user and
network requirements, and operation capabilities in a dynamic way.
Enabling such scenarios requires further research, with the main
points highlighted as follows:
o how to develop a generic video services (and obviously content)
interface allowing the definition and mapping of their
requirements (and characteristics) into the current capabilities
of the network;
o how to define a scalable mechanism allowing either the video
application at the terminal or some kind of network management
entity, to adapt the video content in a dynamic way;
Westphal, et al. Informational [Page 31]
^L
RFC 7933 ICN Video Streaming August 2016
o how to develop the previous research items using intrinsic ICN
mechanisms (i.e., naming and strategy layers);
o how to leverage intelligent pre-caching of content to prevent
stalls and poor quality phases, which lead to a worse QoE for the
user: this includes, in particular, the usage in mobile
environments, which are characterized by severe bandwidth changes
as well as connection outages, as shown in [Crabtree13]; and
o how to take advantage of the multipath opportunities over the
heterogeneous wireless interfaces.
9.5. Network Coding for Video Distribution in ICN
An interesting research area for combining heterogeneous sources is
to use network coding [Montpetit13b]. Network coding allows for
asynchronous combining of multiple sources by having each of them
send information that is not duplicated by the other but that can be
combined to retrieve the video stream.
However, this creates issues in ICN in terms of defining the proper
rate adaptation for the video stream, securing the encoded data,
caching the encoded data, timeliness of the encoded data, overhead of
the network coding operations both in network resources and in added
buffering delay, etc.
Network coding has shown promise in reducing buffering events in
unicast, multicast, and P2P settings. [Medard12] considers
strategies using network coding to enhance QoE for multimedia
communications. Network coding can be applied to multiple streams,
but also within a single stream as an equivalent of a composable
erasure code. Clearly, there is a need for further investigation of
network coding in ICN, potentially as a topic of activity in the
research group.
9.6. Synchronization Issues for Video Distribution in ICN
ICN decouples the fetching of video chunks from their locations.
This means an audio chunk may be received from one network element
(cache/storage/server), a video chunk may be received from another,
while yet another chunk (say, the next one, or another layer from the
same video stream) may come from a third element. This introduces
disparity in the retrieval times and locations of the different
elements of a video stream that need to be played at the same (or
almost same) time. Synchronization of such delivery and playback may
require specific synchronization tools for video delivery in ICN.
Westphal, et al. Informational [Page 32]
^L
RFC 7933 ICN Video Streaming August 2016
Other aspects involve synchronizing:
o within a single stream, for instance, the consecutive chunks of a
single stream or the multiple layers of a layered scheme when
sources and transport layers may be different.
o re-ordering the packets of a stream distributed over multiple
sources at the video client, or ensuring that multiple chunks
coming from multiple sources arrive within an acceptable time
window;
o multiple streams, such as the audio and video components of a
video stream, which can be received from independent sources; and
o multiple streams from multiple sources to multiple destinations,
such as mass distribution of live events. For instance, for live
video streams or video conferencing, some level of synchronization
is required so that people watching the stream view the same
events at the same time.
Some of these issues were addressed in [Montpetit13a] in the context
of social video consumption. Network coding, with traffic
engineering, is considered as a potential solution for
synchronization issues. Other approaches could be considered that
are specific to ICN as well.
Traffic engineering in ICN [Su14] [Chanda13] may be required to
provide proper synchronization of multiple streams.
10. Security Considerations
This is informational. There are no specific security considerations
outside of those mentioned in the text.
11. Conclusions
This document proposes adaptive video streaming for ICN, identified
potential problems, and presents the combination of CCN with DASH as
a solution. As both concepts, DASH and CCN, maintain several
elements in common, like, e.g., the content in different versions
being dealt with in segments, combination of both technologies seems
useful. Thus, adaptive streaming over CCN can leverage advantages
such as, e.g., efficient caching and intrinsic multicast support of
CCN, routing based on named-data URIs, intrinsic multilink and
multisource support, etc.
Westphal, et al. Informational [Page 33]
^L
RFC 7933 ICN Video Streaming August 2016
In this context, the usage of CCN with DASH in mobile environments
comes together with advantages compared to today's solutions,
especially for devices equipped with multiple network interfaces.
The retrieval of data over multiple links in parallel is a useful
feature, specifically for adaptive multimedia streaming since it
offers the possibility to dynamically switch between the available
links depending on their bandwidth capabilities, which are
transparent to the actual DASH client.
12. References
12.1. Normative References
[Rainer16] Rainer, B., Posch, D., and H. Hellwagner, "Investigating
the Performance of Pull-based Dynamic Adaptive Streaming
in NDN", IEEE Journal on Selected Areas in Communications
(J-SAC): Special Issue on Video Distribution over Future
Internet, Volume 34, Number 8,
DOI 10.1109/JSAC.2016.2577365, August 2016.
[RFC6972] Zhang, Y. and N. Zong, "Problem Statement and Requirements
of the Peer-to-Peer Streaming Protocol (PPSP)", RFC 6972,
DOI 10.17487/RFC6972, July 2013,
<http://www.rfc-editor.org/info/rfc6972>.
12.2. Informative References
[ATIS-IIF] "ATIS: IIF, IPTV Interoperability Forum", 2015,
<http://www.atis.org/iif/deliv.asp>.
[Bakker15] Bakker, A., Petrocco, R., and V. Grishchenko, "Peer-to-
Peer Streaming Peer Protocol (PPSPP)", RFC 7574,
DOI 10.17487/RFC7574, July 2015,
<http://www.rfc-editor.org/info/rfc7574>.
[Castro03] Castro, M., Druschel, P., Kermarrec, A., Nandi, A., and A.
Rowstron, "SplitStream: High-Bandwidth Multicast in
Cooperative Environments", Proceedings of the 19th ACM
Symposium on Operating Systems Principles (SOSP '03),
DOI 10.1145/945445.945474, October 2003.
[Chai11] Chai, W., Wang, N., Psaras, I., Pavlou, G., Wang, C.,
de Blas, G., Ramon-Salguero, F., Liang, L., Spirou, S.,
Blefari-Melazzi, N., Beben, A., and E. Hadjioannou,
"CURLING: Content-Ubiquitous Resolution and Delivery
Infrastructure for Next Generation Services", IEEE
Communications Magazine, Volume 49, Issue 3,
DOI 10.1109/MCOM.2011.5723808, March 2011.
Westphal, et al. Informational [Page 34]
^L
RFC 7933 ICN Video Streaming August 2016
[Chanda13] Chanda, A., Westphal, C., and D. Raychaudhuri, "Content
Based Traffic Engineering in Software Defined Information
Centric Networks", 2013 IEEE Conference on Computer
Communications Workshops (INFOCOM WKSHPS),
DOI 10.1109/INFCOMW.2013.6970717, April 2013.
[Corujo12] Corujo, D., Vidal, I., Garcia-Reinoso, J., and R. Aguiar,
"A Named Data Networking Flexible Framework for Management
Communications", IEEE Communications Magazine, Volume 50,
Issue 12, DOI 10.1109/MCOM.2012.6384449, December 2012.
[Crabtree13]
Crabtree, B., Stevens, T., Allan, B., Lederer, S., Posch,
D., Mueller, C., and C. Timmerer, "Video Adaptation in
Limited/Zero Network Coverage", CCNxCon 2013, Palo Alto
Research Center (PARC), September 2013.
[Detti11] Detti, A., Blefari-Melazzi, N., Salsano, S., and M.
Pomposini, "CONET: A Content Centric Inter-Networking
Architecture", Proceedings of the ACM SIGCOMM Workshop on
Information-Centric Networking,
DOI 10.1145/2018584.2018598, August 2011.
[Detti12] Detti, A., Pomposini, M., Blefari-Melazzi, N., Salsano,
S., and A. Bragagnini, "Offloading cellular networks with
Information-Centric Networking: the case of video
streaming", 2013 IEEE 14th International Symposium on A
World of Wireless, Mobile and Multimedia Networks
(WoWMoM), DOI 10.1109/WoWMoM.2012.6263734, June 2012.
[Detti13] Detti, A., Ricci, B., and N. Blefari-Melazzi, "Peer-To-
Peer Live Adaptive Video Streaming for Information Centric
Cellular Networks", 2013 IEEE 24th Annual International
Symposium on Personal, Indoor, and Mobile Radio
Communications (PIMRC), DOI 10.1109/PIMRC.2013.6666771,
September 2013.
[Fiat94] Fiat, A. and M. Naor, "Broadcast Encryption", Advances in
Cryptology - CRYPTO '93 Proceedings, Lecture Notes in
Computer Science, Volume 773, pp. 480-491, 1994.
[Fu13] Fu, B., Kunzmann, G., Wetterwald, M., Corujo, D., and R.
Costa, "QoE-aware traffic management for mobile video
delivery", 2013 IEEE International Conference on
Communications Workshops (ICC),
DOI 10.1109/ICCW.2013.6649314, June 2013.
Westphal, et al. Informational [Page 35]
^L
RFC 7933 ICN Video Streaming August 2016
[Grandl13] Grandl, R., Su, K., and C. Westphal, "On the Interaction
of Adaptive Video Streaming with Content-Centric
Networks", 2013 IEEE International Conference on
Multimedia and Expo (ICME), DOI 10.1109/ICME.2013.6607500,
July 2013.
[IETF-PPSP]
IETF, "Peer to Peer Streaming Protocol (ppsp)",
<https://datatracker.ietf.org/wg/ppsp/>.
[ISO-DASH] ISO, "Information technology -- Dynamic adaptive streaming
over HTTP (DASH) -- Part 1: Media presentation description
and segment formats", ISO/IEC 23009-1:2014, May 2014.
[ITEC-DASH]
"ITEC - Dynamic Adaptive Streaming over HTTP", DASH
Research at the Institute of Information
Technology, Multimedia Communication Group, Alpen-Adria
Universitaet Klagenfurt, <http://dash.itec.aau.at>.
[Jacobson09a]
Jacobson, V., Smetters, D., Briggs, N., Plass, M.,
Stewart, P., Thornton, J., and R. Braynard, "VoCCN: Voice-
over Content-Centric Networks", Proceedings of the 2009
Workshop on Re-architecting the Internet,
DOI 10.1145/1658978.1658980, December 2009.
[Jacobson09b]
Jacobson, V., Smetters, D., Thornton, J., Plass, M.,
Briggs, N., and R. Braynard, "Networking Named Content",
Proceedings of the 5th International Conference on
Emerging Networking Experiments and Technologies (CoNEXT),
DOI 10.1145/1658939.1658941, December 2009.
[LeCallet13]
Le Callet, P., Moeller, S., and A. Perkis, "Qualinet White
Paper on Definitions of Quality of Experience", European
Network on Quality of Experience in Multimedia Systems and
Services, COST Action IC 1003, Version 1.2, March 2013.
[Lederer13a]
Lederer, S., Liu, Y., Geurts, J., Point, J., Lederer, S.,
Mueller, C., Rainer, B., Timmerer, C., and H. Hellwagner,
"Dynamic Adaptive Streaming over CCN: A Caching and
Overhead Analysis", 2013 IEEE International Conference on
Communication (ICC), DOI 10.1109/ICC.2013.6655116, June
2013.
Westphal, et al. Informational [Page 36]
^L
RFC 7933 ICN Video Streaming August 2016
[Lederer13b]
Lederer, S., Mueller, C., Rainer, B., Timmerer, C., and H.
Hellwagner, "An Experimental Analysis of Dynamic Adaptive
Streaming over HTTP in Content Centric Networks", 2013
IEEE International Conference on Multimedia and Expo
(ICME), DOI 10.1109/ICME.2013.6607500, July 2013.
[Magharei07]
Magharei, N., Rejaie, R., and Y. Guo, "Mesh or Multiple-
Tree: A Comparative Study of Live P2P Streaming
Approaches", IEEE INFOCOM 2007 - 26th IEEE International
Conference on Computer Communications,
DOI 10.1109/INFCOM.2007.168, May 2007.
[Medard12] Medard, M., Kim, M., Parandeh-Gheibi, M., Zeng, W., and M.
Montpetit, "Quality of Experience for Multimedia
Communications: Network Coding Strategies", Laboratory of
Electronics, Massachusetts Institute of Technology, March
2012.
[MEDIEVAL] "MEDIEVAL: MultiMEDia transport for mobIlE Video
AppLications", 2010, <http://www.ict-medieval.eu>.
[Montpetit13a]
Montpetit, M., Holtzman, H., Chakrabarti, K., and M.
Matijasevic, "Social video consumption: Synchronized
viewing experiences across devices and networks", 2013
IEEE International Conference on Communications Workshops
(ICC), pp. 286-290, DOI 10.1109/ICCW.2013.6649245, 2013.
[Montpetit13b]
Montpetit, M., Westphal, C., and D. Trossen, "Network
Coding Meets Information-Centric Networking: An
Architectural Case for Information Dispersion Through
Native Network Coding", Proceedings of the 1st ACM
Workshop on Emerging Name-Oriented Mobile Networking
Design-Architecture, Algorithms, and Applications,
DOI 10.1145/2248361.2248370, June 2013.
[Mueller12]
Mueller, C., Lederer, S., and C. Timmerer, "A Proxy Effect
Analysis and Fair Adaptation Algorithm for Multiple
Competing Dynamic Adaptive Streaming over HTTP Clients",
2012 IEEE Visual Communications and Image Processing
(VCIP), DOI 10.1109/VCIP.2012.6410799, November 2012.
[NETINF] "NetInf: Network of Information", <http://www.netinf.org>.
Westphal, et al. Informational [Page 37]
^L
RFC 7933 ICN Video Streaming August 2016
[Posch13] Posch, D., Hellwagner, H., and P. Schartner, "On-Demand
Video Streaming based on Dynamic Adaptive Encrypted
Content Chunks", Proceedings of the 8th International
Workshop on Secure Network Protocols (NPSec '13),
DOI 10.1109/ICNP.2013.6733673, October 2013.
[RFC7476] Pentikousis, K., Ed., Ohlman, B., Corujo, D., Boggia, G.,
Tyson, G., Davies, E., Molinaro, A., and S. Eum,
"Information-Centric Networking: Baseline Scenarios",
RFC 7476, DOI 10.17487/RFC7476, March 2015,
<http://www.rfc-editor.org/info/rfc7476>.
[RFC7846] Cruz, R., Nunes, M., Xia, J., Huang, R., Ed., Taveira, J.,
and D. Lingli, "Peer-to-Peer Streaming Tracker Protocol
(PPSTP)", RFC 7846, DOI 10.17487/RFC7846, May 2016,
<http://www.rfc-editor.org/info/rfc7846>.
[Su14] Su, K. and C. Westphal, "On the Benefit of Information
Centric Networks for Traffic Engineering", 2014 IEEE
International Conference on Communications (ICC),
DOI 10.1109/ICC.2014.6883810, June 2014.
Acknowledgments
This work was supported in part by the European Community in the
context of the SocialSensor (FP7-ICT-287975) project and partly
performed in the Lakeside Labs research cluster at AAU. SocialSensor
receives research funding from the European Community's Seventh
Framework Programme. The work for this document was also partially
performed in the context of the FP7/NICT EU-JAPAN GreenICN project,
<http://www.greenicn.org>. Apart from this, the European Commission
has no responsibility for the content of this document. The
information in this document is provided as is and no guarantee or
warranty is given that the information is fit for any particular
purpose. The user, thereof, uses the information at its sole risk
and liability.
Westphal, et al. Informational [Page 38]
^L
RFC 7933 ICN Video Streaming August 2016
Authors' Addresses
Cedric Westphal (editor)
Huawei
Email: Cedric.Westphal@huawei.com
Stefan Lederer
Alpen-Adria University Klagenfurt
Email: stefan.lederer@itec.aau.at
Daniel Posch
Alpen-Adria University Klagenfurt
Email: daniel.posch@itec.aau.at
Christian Timmerer
Alpen-Adria University Klagenfurt
Email: christian.timmerer@itec.aau.at
Aytac Azgin
Huawei
Email: aytac.azgin@huawei.com
Will (Shucheng) Liu
Huawei
Email: liushucheng@huawei.com
Christopher Mueller
BitMovin
Email: christopher.mueller@bitmovin.net
Andrea Detti
University of Rome Tor Vergata
Email: andrea.detti@uniroma2.it
Westphal, et al. Informational [Page 39]
^L
RFC 7933 ICN Video Streaming August 2016
Daniel Corujo
Instituto de Telecomunicacoes Aveiro
Email: dcorujo@av.it.pt
Jianping Wang
City University of Hong Kong
Email: jianwang@cityu.edu.hk
Marie-Jose Montpetit
MIT
Email: marie@mjmontpetit.com
Niall Murray
Athlone Institute of Technology
Email: nmurray@research.ait.ie
Westphal, et al. Informational [Page 40]
^L
|