지금까지 미디어 서비스를 어떤 방식으로 운영하셨나요? 스트리밍 또는 프로그레시브 다운로드 방식이었죠?
스트리밍은 동영상/미디어 유출 등을 보호할 수 있고, 대역폭을 효과적으로 사용할 수 있다는 장점에 많이 사용되었고
프로그레시브 다운로드는 웹서버에 동영상 파일을 그냥 위치시켜 놓으면 특별한 노력 없이 미디어 서비스가 가능했기에 많이 사용되었습니다.
하지만, 스트리밍 방식은 캐싱이 되지 않는 다는 단점이 있었고, 프로그레시브 다운로드는 대역폭의 낭비가 한계였습니다. 예를들면, 1시간 짜리 동영상을 10분 보고 중단하는 경우에도 1시간에 해당하는 700M를 모두 한 번에 다운 받기 때문에 미디어 서비스를 하는 회사 입장에서는 자원이 낭비되고 있었습니다. 이를 해결하기 위해 IIS7에서는 Bit Rate Throttling 기능을 통해 서비스 공급자가 버퍼링을 없애기 위한 20초, 10초 등의 데이터만 더 다운 받도록 하는 방식을 추가했었죠. 이건 앞의 글에서 찾아보실 수 있습니다.
여기에 한 발 더 나아가서 IIS7의 Smooth Streaming이 발표되었습니다.
Smooth Streaming은 사용자가 요청할 때 그 파일의 일부를 보내주는데 중간에 Edge Server를 두고 그 서버를 통해 클라이언트로 파일을 전송합니다. 이 조각난 파일들은 Cache로 남아 있게 되고, 다른 사용자의 요구에 실제 Origin서버까지 가지 않고 Edge Server에서 전송받는 형태죠. 즉 스트리밍의 단점인 캐싱을 가능하게 해주고, 프로그레시브의 단점인 대역폭 낭비를 막아주는 것이죠. 여기에 한 발 더 나아가서 아래와 같이 사용자의 네트웍, PC 상황에 맞도록 300K, 700K, 2.4M 등의 가변적인 파일 공급을 통해 사용자는 느끼지 못하는 동안 최고의 품질을 경험하게 하는 방식 입니다.