Context
video traffic: 인터넷 bandwidth의 주요 고객
Netflix Youtube: ISP traffic의 37% 16% downstream
Youtube Users: ~1B
Netflix Users: ~75M
~1B의 어떻게 많은 User를 scale할까?
1. Single mega video server는 이를 감당할 수 없다.
2. heteroheneity: 유저들의 bandwidth가 다르다.
3. distributed와 application-level infrastructure를 이용하여 해결해야한다.
Video
video: image의 sequence로 이루어져있다.
image: pixels의 array이다.
coding: image들의 사이에 redundancy(감쇄)를 사용한다.
redundancy
1. spatial: image 프레임의 같은 부분 줄이기
2. tmporal: image 프레임에서 달라지지않는 부분을 압축 하기
constant bit rate(CBR): 고정된 비율로 encoding된다.
variable vit rate(VBR): redundancy를 활용하여 encoing한다.
DASH
DASH: Dynamic, Adaptive, Striming over HTTP
server
1. video 파일을 여러개의 chunk로 나눈다.
2. 각 chunk들은 다른 비율로 저장되고, encoding된다.
3. manifest file: 서로 다른 chunk에 URL을 제공한다.
client
1. 주기적으로 Server-Client의 bandwidth를 측정한다.
2. 하나의 chunk를 요청하고 관리한다.
- 현재 bandwidth에 맞게 최대 비율로 encoding된 chunk를 고른다.
- 시간과 상황에 따라 다른 비율로 encoding된 chunk를 고를 수 있다.
Intelligence at client: clinet가 언제 어떤 chunk를 어디서 고를지 결정한다.
Content Distribution Networks(CDNs)

[참고] Computer Networking A Top-Down Approach EIGHTHEDITION/Kurose.Ross/Pearson