💻 HTTP streaming
- http 스트리밍은 한번의 요청으로 전체파일을 다 다운받은 뒤 영상을 재생하는 것이 아니라 동영상이 재생되는 중에 시속적으로 파일 chunk를 요청하는 방법을 취한다.
- 점진적인 다운로드 방법
- 메모리와 인터넷 bandwidth를 절약해준다는 장점이 있다.
📹 DASH(Dynamic, Adaptive Streaming over HTTP)
- http를 이용한 동적이고 적응적인 스트리밍(상황에 따라 적응적으로 바꿔가며 동작)
[server 쪽]
[client 쪽]
[client가 결정하는 것들]
1. 언제 chunk를 요청할지(buffer starvation, overflow 고려),
2. 요청할 인코딩 비율이 무엇인지(더 큰 대역폭일수록 높은 퀄리티 가능),
3. 어디에서 chunk를 요청할지(클라이언트와 가깝거나 대역폭이 높은 url서버로부터 요청해야함) 결정한다.
🎬 Streaming video
- Streaming video = encoding + DASH + playout buffering
- encoding하고 DASH방법으로 클라이언트가 선택을 하고 playout buffering를 통해 정보를 가져와 동영상을 재생한다.
🎆 CDNs(Content distribution networks)
- CDN(Content distribution Network): 사용자들에게 콘텐츠를 전송하는 분산노드로 구성된 네크워크, 각 지역에 캐시 서버를 분산시켜 놓고 사용자가 요청을 했을 때 가까이 있는 캐시서버가 콘텐츠를 전달하게 한다(대용량 파일이나 동영상 스트리밍 등의 안정적 서비스를 위해 이용됨).
- 어떻게 수많은 사용자들에게 수많은 비디오들로부터 선택된 콘텍츠를 스트리밍 할 수 있을까?에 대한 해답
-> 비디오의 여러 복사본들을 다양한 지역적으로 분산된 지점에 저장해두는 것
[CDNs의 types]
1. private CDN: 콘텐츠 제공자가 소유
2. third-party CDN: 여러 개의 콘텐츠 공급자를 대신하여 콘텐츠를 분산시킴
✨ CDNs의 서버 배치 전략
- enter deep: 전세계에 access ISP(Internet service provider)들 안에 서버 클러스터를 구축한다. CDN서버를 많은 access networks에 위치시킨다. 사용자들 가까이에...!
=> 사용자들이 인지하는 딜레이와 throughput(처리되는 패킷량)을 개선할 수 있다.- bring home: access ISP가 아닌 IXPs(Internet Exchange Points)에 큰 규모의 클러스터를 둔다. 낮은 유지/관리 overhead
(overhead는 어떠한 처리를 하기 위해 드는 간접적 처리 시간/메모리를 말함)
🎉 CDN의 Cluster 선택 전략
1. 지리적인 거리 고려하기
2. 주기적으로 실시간 측정하기
[전략1 : 지리적인 거리 고려]
[전략2 : 주기적으로 실시간 측정]