N 스크린 서비스를 위한 클라우드 기술
최근 호핀이라고 하는 스마트폰 기반 N 스크린 서비스를 시작했다는 소식을 들었습니다. 영상 등의 미디어를 끊기지 않고 볼 수 있도록 하는 N 스크린 서비스를 하기 위해서 필요한 기술 들이 여러 가지 있을 수 있지만 그 중에 두 가지기술들에 대한 내용을 뽑아서 만들었던 자료를 공유 하고, 간략히 포스팅 합니다.
동기화 기술 - Sync Framework
폰, PC, TV와 같은 여러 가지 장치가 오프라인에서도 같은 컨텐츠를 갖도록 할 수 있는 것이 필요 합니다. 실제로 이 같은 동기화 기술을 구현하기 위해서는 장치 간의 데이터가 중복되지 않도록 문제 없이 처리하는 것에 신경을 쓸 것들이 많이 있습니다.
이 같은 기반 처리들을 라이브러리 차원에서 마이크로소프트에서 제공하고 있는 것이 Sync Framework 입니다. 프레임워크라는 이름에서 느껴지 듯이 여러 가지 상황에서 사용을 할 수가 있습니다. 예를 들면 안드로이드 휴대폰과 윈도우 폰을 싱크하는 것도 가능하고요.
현재 마이크로소프트의 Live Mesh라는 데이터 동기화 서비스에서 기반이 되고 있는 기술이 바로 Sync Framework 이며, 여러 대의 PC를 같이 사용하시면서 혹시 아직 이용해 보시지 않은 분들이 있다면 사용을 추천 합니다. (eg. 여러 PC에서 같은 '바탕화면' 폴더를 이용해 보시면!!!)
공통 프로토콜 기술 - OData
동기화와 더불어 필요한 기술 중의 하나는 하나의 데이터를 여러 가지 장치에서 같이 활용할 수 있도록 하는 것 입니다. 또한 장치 뿐만 아니라 여러 애플리케이션에서도 이를 이용할 수 있도록 하는 공통의 프로토콜이 있다면 개발자들에게 개발 및 유지 보수에 많은 장점을 줄 수 있습니다.
이를 위해서 마이크로소프트에서 오픈 규약으로 제안한 프로토콜이 OData라고 하는 것이며, 이를 이용하면 하나의 데이터를 Atom Pub 같은 프로토콜을 이용해서 여러 애플리케이션 및 장치에서 동일한 방법으로 접근할 수 있습니다.
현재 SQL Azure에 데이터를 넣으면 이것이 OData 프로토콜로 접근할 수 있는 형태로 자동으로 가능하게 되고 있으며, Sharepoint 등 마이크로소프트 플랫폼은 물론 타사 플랫폼에도 광범위하게 적용이 되고 있습니다. AP News 같은 곳에서도 이를 이용해서 자사의 News 서비스를 제공하고 있으며 이를 이용한 윈도우폰7 사례도 있고요.
N 스크린 서비스를 위해서 생각해본 두 가지 기술은 위와 같으며, 이 같은 기술 들의 인프라를 Windows Azure와 같은 클라우드를 이용한다면 좀 더 쉽게 N 스크린 서비스를 운영할 수 있을 것으로 생각 합니다. N 스크린 서비스와 클라우드를 이해하시는 데 도움이 되시길 바랍니다.