상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 서비스 분산을 위한 서비스 서버는 구분 가능한 다수의 서비스를 제공하는 서비스 모듈과, 상기 서비스를 재생하는 서비스 재생 장치들에 관한 그룹 정보를 저장하는 저장 모듈 및 상기 그룹 정보를 기초로 하여 분산 요청된 서비스를 서로 다른 서비스 재생 장치로 분산시켜 제공하도록 하는 서버 제어 모듈을 포함한다.
상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 서비스 분산을 위한 서비스 재생 장치는 서비스를 재생하는 서비스 재생 모듈 및 상기 서비스 재생 모듈이 서비스를 재생하는 동안에, 분산시키기 원하는 서비스에 관한 정보를 상기 서비스를 제공하는 서버로 전송하는 장치 제어 모듈을 포함한다.
또한, 상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 서비스 분산을 위한 방법은 서비스를 재생하는 서비스 재생 장치로부터 서비스 분할 요청을 수신하는 단계 및 상기 요청에 따라 상기 분할된 서비스를 그룹 정보를 참조하여 상기 요청에 의한 서비스 재생 장치로 제공하는 단계를 포함한다.
또한, 상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 서비스 분산을 위한 방법은 제1 서비스 재생 장치가 서비스에 대한 분할을 요청하는 단계와 상기 요청에 대응하여 제2 서비스 재생 장치가 분할된 서비스를 수신하는 단계 및 상기 제2 서비스 재생 장치가 상기 수신한 서비스를 재생하는 단계를 포함한다.
서비스를 재생하는 서비스 재생 장치들에 관한 그룹 정보와 상기 서비스에 대한 분할 요청을 전송하는 단계와, 상기 요청에 대응하여 분할된 서비스를 수신하는 단계 및 상기 수신한 서비스를 재생하는 단계를 포함한다.
또한, 상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 서비스 분산을 위한 장치는 서비스를 재생하는 서비스 재생 모듈과, 상기 재생되는 서비스 중 기능적으로 분리 가능한 서비스를 분할하는 제어 모듈 및 상기 분할된 서비스에 관한 데이터를 다른 재생 장치로 전송하는 장치 인터페이스 모듈을 포함한다.
또한, 상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 서비스 분산을 위한 방법은 서비스를 재생하는 단계와, 상기 재생되는 서비스 중 기능적으로 분리 가능한 서비스를 분할하는 단계 및 상기 분할된 서비스에 관한 데이터를 다른 재생 장치로 전송하는 단계를 포함한다.
또한, 상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 서비스 분산을 위한 서비스 서버는 구분 가능한 다수의 서비스를 제공하는 서비스 모듈과, 상기 서비스를 재생하기 위한 인증 키를 생성하는 인증 키 생성 모듈 및 서비스 분할 요청에 따라 요청된 서비스를 분할하고, 분할된 서비스와 상기 인증 키를 제공하는 서버 제어 모듈을 포함한다.
또한, 상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 서비스 분산을 위한 방법은 서비스 분할 요청을 수신하는 (a) 단계와, 상기 요청에 따라, 요청된 서비스를 분할하고, 상기 분할된 서비스를 재생하기 위한 인증 키를 생성하는 (b) 단계 및 상기 분할된 서비스와 상기 생성된 인증 키를 전송하는 (c) 단계를 포함한다.
또한, 상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 서비스 분산을 위한 서비스 재생 장치는 서비스를 재생하는 서비스 재생 모듈과, 서비스 서버에 대하여 상기 서비스에 대한 분할을 요청하고, 상기 요청에 따른 분할된 서비스를 재생하는 인증 키를 수신하는 장치 제어 모듈 및 상기 수신한 인증 키를 저장하는 인증 키 저장 모듈을 포함하며, 상기 장치 제어 모듈은 상기 수신한 인증 키를 제공한다.
또한, 상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 서비스 분산을 위한 서비스 재생 장치는 서비스 분할 요청에 따른 분할된 서비스 및 상기 서비스 분할을 요청하는 장치로부터 상기 분할된 서비스를 재생하기 위한 인증 키를 수신하는 장치 제어 모듈 및 상기 수신한 인증 키를 이용하여 상기 수신한 분할된 서비스를 재생하는 서비스 재생 모듈을 포함한다.
또한, 상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 서비스 분산을 위한 방법은 서비스 서버에 대하여 서비스 분할을 요청하는 단계와, 상기 요청에 따라 분할된 서비스를 재생하기 위한 인증 키를 수신하는 단계 및 상기 수신한 인증 키를 제공하는 단계를 포함한다.
또한, 상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 서비스 분산을 위한 방법은 서비스 재생 장치의 서비스 분할 요청에 따른 분할된 서비스를 수신하는 단계와, 상기 분할된 서비스를 재생하기 위한 인증 키를 수신하는 단계 및 상기 수신한 인증 키를 이용하여 상기 수신한 분할된 서비스를 재생하는 단계를 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
이하, 본 발명의 실시예들에 의한 서비스 분산을 위한 장치 및 방법을 설명하기 위한 블록도 또는 처리 흐름도에 대한 도면들을 참고하여 본 발명에 대해 설명하도록 한다. 이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스 트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑제되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
한편, 이하 본 발명에 있어서의 '서비스'는 방송 프로그램, 방송 프로그램 정보, 날씨, 교통, 주식과 같은 정보를 제공하는 어플리케이션, 온라인 상거래, 화 상 또는 문자 데이터 통신, A/V 스트림 재생 등과 같이 기능적으로 구분이 가능한 객체들을 나타낸다. 따라서, 서비스 사업자에 의해 제공되는 서비스는 다시 상기 서비스를 구성하는 다수의 서비스들로 나뉘어질 수도 있다.
도 2는 본 발명의 일 실시예에 따른 서비스 분산 시스템의 개념을 나타내는 도면이다.
도 2를 참조하면, 본 발명에 따른 서비스 분산 시스템(200)은 다양한 형태의 서비스를 제공하는 서비스 서버들(210, 220, 230)과 서비스에 관한 데이터가 전송되는 광대역 네트워크(240) 그리고 광대역 네트워크(240)를 통해 전달되는 서비스들을 재생하는 다수의 서비스 재생 장치들(250, 260)을 포함한다.
도 2에 도시된 서비스 서버들(210, 220, 230)은 물리적으로 구분되는 별개의 서버일 수도 있고, 물리적인 하나의 서버 내에서 기능적으로 분리되는 논리적인 서버일 수도 있다. 또한, 도 2에 도시된 서비스 서버들(210, 220, 230)은 하나의 서비스 사업자에 의해 제공되거나 각각의 서비스마다 서로 다른 서비스 사업자에 의해 제공될 수도 있다.
광대역 네트워크(240)는 다양한 형태의 서비스를 전달하기에 충분한 정도의 주파수 대역폭을 제공한다.
서비스 재생 장치들(250, 260)은 사용자의 조작에 의해 광대역 네트워크(240)를 통해 전달되는 서비스를 재생하며, 사용자의 선택에 따라 서비스가 분산되어 재생될 수 있다. 서비스 재생 장치들(250, 260)간의 통신은 광대역 네트워크(240)상에서 이루어지는 통신 방식과는 다른 통신 방식에 의해 이루어질 수 있으 며, 예를 들어 IEEE1394, IEEE802.15.3, 유무선 USB 프로토콜과 같은 종래의 통신 방식이 이용될 수 있다.
예를 들어, 서비스 서버-1(210)이 A/V 스트림 서비스를 제공하고, 서비스 -2(220)가 EPG와 같은 방송 프로그램 정보를 제공한다고 가정한다.
이와 같은 서비스들은 광대역 네트워크(240)를 통하여 광대역 네트워크(240)와 접속되는 제1 서비스 재생 장치(250)로 전달된다.
이 때, 사용자는 본 발명에 따른 서비스 분산 방법에 따라 서비스 서버-1(210)에 의해 제공되는 A/V 스트림 서비스와 서비스 서버-2(220)에 의해 제공되는 방송 프로그램 정보에 대한 서비스를 각각 제1 서비스 재생 장치(250)와 제2 서비스 재생 장치(260)로 분산하여 재생할 수 있는 것이다.
이러한 서비스 분산 방법의 구체적인 실시예를 도 3 내지 도 8을 이용하여 설명하도록 한다.
도 3은 본 발명의 일 실시예에 따른 서비스 분산 시스템의 구성을 나타내는 도면으로서, 서비스 서버(310), 제1 서비스 재생 장치(350) 그리고 제2 서비스 재생 장치(370)를 포함한다.
서비스 서버(310)는 서버 제어 모듈(312), 저장 모듈(314), 프로그램 목록 서비스 모듈(316) 그리고 AV 스트림 서비스 모듈(318)을 포함한다.
서버 제어 모듈(312)은 서비스 서버(310)의 전반적인 동작을 관리하고, 서비스 재생 장치의 요청에 따라 서비스 분산을 제어하는 기능을 제공한다.
저장 모듈(314)은 서비스 재생 장치들에 대한 그룹 정보를 저장한다. 이 때, 본 발명에서의 '그룹'은 다수의 서비스 재생 장치들의 집합을 나타내는 논리적인 단위이다. 따라서, 상기 그룹 정보는 그룹 이름과 각 그룹에 속하는 서비스 재생 장치들의 고유한 식별 정보를 포함한다.
예를 들어, 'Jane' 이라는 그룹에 'Dev-1'이라는 고유한 식별 정보를 갖는 서비스 재생 장치와 'Dev-2'이라는 고유한 식별 정보를 갖는 서비스 재생 장치가 속하는 경우에, 각각의 서비스 재생 장치는 'Jane.Dev-1'와 'Jane.Dev-2'로 나타내어질 수 있으며, 이러한 정보가 저장 모듈(314)에 저장될 수 있는 것이다. 그룹 이름은 서비스 서버와 서비스 재생 장치들 간의 통신이 이루어지는 광대역 네트워크 상에 있어서 유일하게 인식될 수 있어야 한다.
프로그램 목록 서비스 모듈(316)은 서비스 재생 장치의 요청에 따라 서비스 재생 장치로 프로그램 목록 서비스를 제공하고, AV 스트림 서비스 모듈(318)은 상기 프로그램 목록 중에서 사용자에 의해 선택된 프로그램에 대한 AV 스트림 서비스를 서비스 재생 장치로 제공한다. 프로그램 목록 서비스 모듈(316)과 AV 스트림 서비스 모듈(318)은 예시적인 것으로서, 서비스 서버(310)는 다른 형태의 서비스를 제공하는 서비스 모듈들을 더 포함할 수 있다.
그룹 관리 모듈(320)은 다수의 서비스 재생 장치들이 속하는 그룹에 관한 그룹 정보를 생성하고 관리한다. 이 때, 상기 그룹 정보는 서비스 서버(310)의 관리자에 의해 정해질 수 있다.
제1 서비스 재생 장치(350)는 장치 제어 모듈(352)과 서비스 재생 모듈(356)을 포함한다.
장치 제어 모듈(352)은 제1 서비스 재생 장치(350)의 전반적인 동작을 제어하고, 서비스 서버(310)에 대하여 다른 서비스 재생 장치로 분산시키기를 원하는 서비스에 관한 정보를 서비스 서버(310)로 전송한다.
서비스 재생 모듈(356)은 서비스 서버(310)에 의해 제공되는 서비스를 재생하는 기능을 제공한다.
제2 서비스 재생 장치(370)는 제1 서비스 재생 장치(350)의 구조와 동일한 것으로 한다.
도 3에 도시된 서비스 서버(310)와 서비스 재생 장치들(350, 370)에 의한 서비스 분산 방법을 도 4를 참조하여 구체적으로 설명하도록 한다.
우선, 서비스 서버(310)에 대한 그룹 정보 등록이 완료되고(S405), 사용자가 제1 서비스 재생 장치(350)의 서비스 재생 모듈(356)을 통하여 서비스 서버(310)로부터 제공되는 적어도 하나 이상의 서비스를 재생하고 있다고 가정한다(S410).
여기에서 해당 그룹에 속하는 서비스 재생 장치들에 대한 그룹 정보가 등록된다. 예를 들어, 제1 서비스 재생 장치(350)와 제2 서비스 재생 장치(370)가 동일한 그룹에 속하면 각각의 재생 장치에 의해 서비스 재생 이전에 그룹 정보 등록이 이루어지게 되는 것이다.
예컨대, 제1 서비스 재생 장치(350)가 서비스 서버(310)로 전송하는 그룹 정보의 데이터 구조를 나타내면 도 5와 같이 XML 형태로 표현될 수 있다.
도 5를 참조하면, 'AccessUser' 엘리먼트는 사용자 정보를 나타내고 있으며, 'ServiceType' 엘리먼트는 서비스 카테고리를 나타낸다. 'GroupProperty' 엘리먼트 에서 상기 그룹 정보를 표시하고 있는데, 'groupName' 엘리먼트는 그룹 이름을 나타내고, 'UnitInformation' 엘리먼트는 상기 그룹 이름을 갖는 서비스 재생 장치의 식별 정보를 나타낸다. 여기에서 그룹 이름은 'Jane:1234567_SVabcde'로 나타내고 있는데, 이 중 '1234567_SVabcde'가 실제 그룹 이름이고, 'Jane'은 엘리어스(alias)로서 이해될 수 있다. 또한, 상기 식별 정보의 예로서, 서비스 재생 장치의 실제 주소('UnitAddress' 엘리먼트), 그룹 이름과 해당하는 서비스 재생 장치의 식별 정보가 연관된 엘리어스('UnitAlias' 엘리먼트) 그리고 해당하는 서비스 재생 장치의 리소스 정보('UnitCapability' 엘리먼트)를 포함할 수 있다. 리소스 정보의 예로서 도 5에서는 데이터 전송 속도에 관한 정보를 포함하고 있다.
사용자가 제1 서비스 재생 장치(350)에서 재생하고 있는 서비스 중 일부 서비스 혹은 서비스 서버(310)가 제공하는 다른 서비스를 제2 서비스 재생 장치(370)를 이용하여 재생하고자 할 경우에는, 사용자는 제1 서비스 재생 장치(350)를 통하여 서비스 서버(310)로 서비스 분할 이용을 요청한다(S430). 이 때, 제1 서비스 재생 장치(350)의 장치 제어 모듈(352)은 사용자로 하여금 서비스 서버(310)가 제공하는 어떤 서비스를 어떤 그룹에 속하는 어떤 서비스 재생 장치로 분할할 것인지를 선택하도록 하는 사용자 인터페이스를 제공할 수 있다. 또한, 제1 서비스 재생 장치(350)가 서비스 서버(310)에 대하여 서비스 분할 이용을 요청할 때 사용자에 의해 요청되는 그룹 이름과 서비스 재생 장치의 식별 정보가 포함된 데이터가 전송될 수 있는데 그 예를 도 6에서 도시하고 있다.
도 6을 참조하면, 'SVC_FRACTION_REQ' 엘리먼트는 서비스 분할 이용 요청에 관한 엘리먼트임을 나타내고 있으며, 구체적으로 'FractionalSVC' 엘리먼트는 분리하고자하는 서비스에 대한 기능 정보를 나타내고, 'PlayUnit' 엘리먼트는 분리된 서비스를 수신하는 서비스 재생 장치에 대한 식별 정보를 나타내며, 'PlayQuality' 엘리먼트는 이용할 서비스에 대한 리소스 정보를 나타낸다.
서비스 서버(310)가 제1 서비스 재생 장치(350)로부터 서비스 분할 이용을 요청받으면, 서비스 서버(310)의 서버 제어 모듈(312)은 상기 요청에 대응하여 서비스를 분할하고(S440), 저장 모듈(314)에 저장되어 있는 그룹 정보를 참조하여 분할된 서비스를 해당하는 서비스 재생 장치로 제공한다(S450).
도 4에서는 분할된 서비스가 제2 서비스 재생 장치(370)로 제공되고 있는 것을 나타내고 있다. 예컨대, 사용자는 A/V 스트림 서비스 모듈(318)에 의한 A/V 스트림 서비스를 제1 서비스 재생 장치(350)에서 이용하고, 서비스 분할 요청에 의해 프로그램 목록 서비스 모듈(316)에 의해 제공되는 프로그램 목록 서비스를 제2 서비스 재생 장치(370)에서 이용할 수 있는 것이다.
도 7은 본 발명의 다른 실시예에 따른 서비스 재생 장치의 구성을 나타내는 도면으로서, 서비스 재생 장치(700)는 서버 인터페이스 모듈(710), 제어 모듈(720), 서비스 재생 모듈(730), 데이터 변환 모듈(740) 그리고 장치 인터페이스 모듈(750)을 포함한다.
서버 인터페이스 모듈(710)은 광대역 네트워크를 통하여 서비스 서버와 통신을 수행하며, 서비스 서버에 의해 제공되는 서비스를 수신한다.
제어 모듈(720)은 서비스 서버로부터 수신되는 서비스가 서비스 재생 모 듈(730)에 의해 재생되도록 제어하고, 사용자의 요청에 따라 서비스 서버로부터 수신되는 서비스 중 기능적으로 분리 가능한 서비스를 분할하여 다른 서비스 재생 장치로 전송하도록 제어한다.
서비스 재생 모듈(730)은 제어 모듈(720)의 제어에 의해 서비스 서버로부터 수신한 서비스를 재생한다.
데이터 변환 모듈(740)은 분할된 서비스에 관한 데이터를 상기 분할된 서비스를 재생하고자 하는 서비스 재생 장치가 이해할 수 있는 형식의 데이터로 변환한다. 이를 위해 데이터 변환 모듈(740)은 서버로부터 제공되는 서비스 데이터 형식과 다른 서비스 재생 장치에서 재생할 수 있는 서비스 데이터 형식에 관한 정보를 미리 저장할 수 있다.
장치 인터페이스 모듈(750)은 다른 서비스 재생 장치와의 통신을 수행하고, 데이터 변환 모듈(740)에 의해 변환된 서비스 데이터를 다른 서비스 재생 장치로 전송한다.
이하, 도 7에 도시된 서비스 재생 장치(700)를 구성하는 각 모듈들간의 동작에 의한 서비스 분산 방법을 도 8을 참조하여 설명하도록 한다. 이 때, 도 8에서의 제2 서비스 재생 장치(702)는 제1 서비스 재생 장치(700)와 같이 다른 서비스 재생 장치와의 통신을 수행하는 인터페이스 모듈을 구비하고 있으며, 서비스 재생 기능을 갖고 있는 것으로 가정한다.
우선, 제1 서비스 재생 장치(700)의 서비스 재생 모듈(730)은 서비스 서버로부터 수신한 서비스를 재생한다(S810). 이 때, 사용자가 현재 재생되고 있는 서비 스 중 기능적으로 분리 가능한 서비스를 분할하여 제2 서비스 재생 장치(702)에서 실행시키고자 할 경우, 사용자는 제1 서비스 재생 장치(700)가 제공하는 사용자 인터페이스(미도시)를 통하여 분할하고자 하는 서비스와 분할된 서비스를 실행하고자 하는 서비스 재생 장치를 선택하게 된다.
이와 같이 사용자의 요청이 입력되면, 장치 인터페이스 모듈(750)은 제2 서비스 재생 장치(702)와의 연결을 설정함으로써 분할된 서비스 데이터를 전송하기 위한 채널을 형성한다(S820). 이 때, 제1 서비스 재생 장치(700)와 제2 서비스 재생 장치(702) 간의 연결은 서비스 서버와 서비스 재생 장치 간에 형성되는 광대역 네트워크와는 별도로 형성되고, 별도의 프로토콜과 시그널에 의해 통신이 이루어질 수 있다.
제어 모듈(720)은 사용자에 의해 요청된 서비스를 분할하고(S830), 데이터 변환 모듈(740)은 분할된 서비스가 사용자에 의해 요청된 서비스 재생 장치에서 실행될 수 있도록 분할된 서비스에 관한 데이터를 변환한다(S840). 그리고 나서, 장치 인터페이스 모듈(750)은 변환된 서비스 데이터를 제2 서비스 재생 장치(702)로 전송함으로써, 제2 서비스 재생 장치(702)에서는 분할된 서비스가 실행된다.
한편, 위와 같은 방식에 따라 제2 서비스 재생 장치(702)에서 재생중인 서비스 중 기능적으로 분리 가능한 일부 서비스를 분할하여 또다른 서비스 재생 장치에서 실행하도록 할 수 있음은 당업자에 의해 쉽게 이해될 수 있을 것이다.
도 9는 본 발명의 또다른 실시예에 따른 서비스 분산 시스템의 구성을 나타내는 도면으로서, 서비스 서버(910), 제1 서비스 재생 장치(950) 그리고 제2 서비 스 재생 장치(970)를 포함한다.
서비스 서버(910)는 서버 제어 모듈(912), 인증 키 생성 모듈(914), 프로그램 목록 서비스 모듈(916) 그리고 AV 스트림 서비스 모듈(918)을 포함한다.
서버 제어 모듈(912)은 서비스 서버(910)의 전반적인 동작을 관리하고, 서비스 재생 장치의 요청에 따라 서비스 분산을 제어하는 기능을 제공한다.
인증 키 생성 모듈(914)은 서비스 재생 장치들로부터 서비스 분산에 관한 요청이 있는 경우에 분할시킬 서비스를 실행하기 위한 인증 키를 생성한다.
프로그램 목록 서비스 모듈(916)은 서비스 재생 장치의 요청에 따라 서비스 재생 장치로 프로그램 목록 서비스를 제공하고, AV 스트림 서비스 모듈(918)은 상기 프로그램 목록 중에서 사용자에 의해 선택된 프로그램에 대한 AV 스트림 서비스를 서비스 재생 장치로 제공한다. 프로그램 목록 서비스 모듈(916)과 AV 스트림 서비스 모듈(918)은 예시적인 것으로서, 서비스 서버(910)는 다른 형태의 서비스를 제공하는 서비스 모듈들을 더 포함할 수 있다.
제1 서비스 재생 장치(950)는 장치 제어 모듈(952), 인증 키 저장 모듈(954) 그리고 서비스 재생 모듈(956)을 포함한다.
인증 키 저장 모듈(954)은 서비스 서버(910)의 인증 키 생성 모듈(914)에 의해 생성된 인증 키를 저장한다.
장치 제어 모듈(952)은 제1 서비스 재생 장치(950)의 전반적인 동작을 제어하고, 서비스 서버(910)에 대하여 서비스 분산을 요청한다. 또한, 제2 서비스 재생 장치(950)의 요청에 따라 인증 키 저장 모듈(954)에 저장된 인증 키를 추출하여 제 2 서비스 재생 장치로 제공하도록 한다
서비스 재생 모듈(956)은 서비스 서버(910)에 의해 제공되는 서비스를 재생하는 기능을 제공한다.
제2 서비스 재생 장치(970)는 제1 서비스 재생 장치(950)의 구조와 동일한 것으로 한다.
도 9에 도시된 서비스 서버(910)와 서비스 재생 장치들(950, 970)에 의한 서비스 분산 방법을 도 10을 참조하여 구체적으로 설명하도록 한다.
우선, 사용자가 제1 서비스 재생 장치(950)의 서비스 재생 모듈(956)을 통하여 서비스 서버(910)로부터 제공되는 적어도 하나 이상의 서비스를 재생하고 있다고 가정한다(S1010). 이 때, 사용자가 제1 서비스 재생 장치(950)에서 재생하고 있는 서비스 중 일부 서비스 혹은 서비스 서버(910)가 제공하는 다른 서비스를 제2 서비스 재생 장치(970)를 이용하여 재생하고자 할 경우에, 사용자는 제1 서비스 재생 장치(950)를 이용하여 서비스 서버(910)에 대하여 서비스 분할 요청을 한다(S1020).
이 때, 제1 서비스 재생 장치(950)가 서비스 서버(910)로 전송하는 서비스 분할 요청에 관한 데이터 구조를 도 11과 같이 XML 형태로 표현할 수 있다.
도 11을 참조하면, 'SVC_FRACTION_REQ' 엘리먼트는 서비스 분할 이용 요청에 관한 엘리먼트임을 나타내고 있으며, 구체적으로 'FractionalSVC' 엘리먼트는 분리하고자하는 서비스에 대한 기능 정보를 나타내고, 'PlayUnit' 엘리먼트는 분리된 서비스를 수신하는 서비스 재생 장치에 대한 식별 정보를 나타내며, 'PlayQuality' 엘리먼트는 이용할 서비스에 대한 리소스 정보를 나타낸다. 본 발명에서 'PlayUnit'는 제2 서비스 재생 장치(970)를 나타낸다고 가정한다.
서비스 서버(910)가 제1 서비스 재생 장치(950)로부터 서비스 분할 요청을 수신하면, 서비스 서버(910)의 서버 제어 모듈(912)은 상기 요청에 대응하여 서비스를 분할하고(S1030), 인증 키 생성 모듈(914)은 상기 분할된 서비스를 재생하기 위한 인증 키를 생성한다(S1040).
그리고 나서, 서버 제어 모듈(912)은 생성된 인증 키를 제1 서비스 재생 장치(950)로 전송하는데(S1050), 이 때, 전송되는 데이터 구조는 도 12와 같이 나타낼 수 있다.
도 12를 참조하면, 'SVC_FRACTIONAL_CONTROL_AAAKEY' 엘리먼트는 서비스 분할에 따른 인증 키 전송에 관한 엘리먼트임을 나타내고 있으며, 구체적으로 'FractionalSVC' 엘리먼트는 분리하고자하는 서비스에 대한 기능 정보를 나타내고, 'FSConsumeSide' 엘리먼트는 인증 키를 사용할 서비스 재생 장치에 대한 식별 정보를 나타내며, 'FSStartMethod' 엘리먼트는 인증 키 값이 적용되는 DRM 방법을 나타내며, 'FSKey' 엘리먼트는 인증 키 값을 나타낸다. 제1 서비스 재생 장치(950)의 장치 제어 모듈(952)은 수신한 인증 키를 인증 키 저장 모듈(954)에 저장한다.
또한, 서비스 서버(910)는 분할된 서비스를 제2 서비스 재생 장치(970)로 전송하는데(S1060), 이 때, 전송되는 데이터 구조는 도 13과 같이 나타낼 수 있다.
도 13을 참조하면, 'SVC_FRACTIONAL_FORCED_DOWN' 엘리먼트는 서비스 분할에 관한 엘리먼트임을 나타내고 있으며, 구체적으로 'FractionalSVC' 엘리먼트는 분리 하고자하는 서비스에 대한 기능 정보를 나타내고, 'FSRequestSide' 엘리먼트는 서비스 분할을 요청한 서비스 재생 장치에 대한 식별 정보를 나타내며, 'FSStartMethod' 엘리먼트는 인증 키 값이 적용되는 DRM 방법을 나타내며, 'FSKeySyncSide' 엘리먼트는 인증 키를 갖고 있는 서비스 재생 장치에 대한 식별 정보를 나타낸다.
한편, S1050 단계와 S1060 단계는 그 순서가 바뀔 수도 있다.
제2 서비스 재생 장치(970)에서 분할된 서비스를 재생하고자 할 경우에는 서비스 서버(910)에 의해 생성된 인증 키가 필요하다.
따라서, 제1 서비스 재생 장치(950)와 제2 서비스 재생 장치(970)가 서로 접속이 가능한 경우에 제1 서비스 재생 장치(950)는 인증 키 저장 모듈(950)에 저장된 인증 키를 제2 서비스 재생 장치(950)로 전송하고, 제2 서비스 재생 장치(970)는 전송된 인증 키를 이용하여 분할된 서비스를 재생한다(S1080). 만일, 제1 서비스 재생 장치(950)와 제2 서비스 재생 장치(970)가 직접 연결되지 않는 경우에는 제1 서비스 재생 장치(950)의 인증 키 저장 모듈(950)에 저장된 인증 키를 사용자가 확인하여 제2 서비스 재생 장치(970)에 대하여 직접 인증 키를 입력할 수 있다.
예컨대, 사용자는 A/V 스트림 서비스 모듈(918)에 의한 A/V 스트림 서비스를 제1 서비스 재생 장치(950)에서 이용하고, 서비스 분할 요청에 의해 프로그램 목록 서비스 모듈(916)에 의해 제공되는 프로그램 목록 서비스를 제2 서비스 재생 장치(970)에서 이용할 수 있으며, 이 때 서비스 서버(910)에 의해 생성된 인증 키를 이용하여 상기 프로그램 목록 서비스를 재생할 수 있는 것이다.
한편, 본 실시예에서 사용되는 '모듈'이라는 용어는 소프트웨어 또는 FPGA또는 ASIC과 같은 하드웨어 구성요소를 의미하며, 모듈은 어떤 역할들을 수행한다. 그렇지만 모듈은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. 모듈은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 모듈은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 모듈들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 모듈들로 결합되거나 추가적인 구성요소들과 모듈들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 모듈들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.