KR20080094776A - 데이터 전송 제어 방법, 콘텐트 전송 제어 방법, 콘텐트처리 정보 획득 방법 및 콘텐트 전송 시스템 - Google Patents

데이터 전송 제어 방법, 콘텐트 전송 제어 방법, 콘텐트처리 정보 획득 방법 및 콘텐트 전송 시스템 Download PDF

Info

Publication number
KR20080094776A
KR20080094776A KR1020087016814A KR20087016814A KR20080094776A KR 20080094776 A KR20080094776 A KR 20080094776A KR 1020087016814 A KR1020087016814 A KR 1020087016814A KR 20087016814 A KR20087016814 A KR 20087016814A KR 20080094776 A KR20080094776 A KR 20080094776A
Authority
KR
South Korea
Prior art keywords
content
information
transmission
domain
reference point
Prior art date
Application number
KR1020087016814A
Other languages
English (en)
Other versions
KR101038124B1 (ko
Inventor
정만수
박일곤
박구용
정민규
조성현
김수정
키란 쿠마 케이
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Publication of KR20080094776A publication Critical patent/KR20080094776A/ko
Application granted granted Critical
Publication of KR101038124B1 publication Critical patent/KR101038124B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/101Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
    • G06F21/1012Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities to domains
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/101Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measures for digital rights management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99934Query formulation, input preparation, or translation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99935Query augmenting and refining, e.g. inexact access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99936Pattern matching access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99937Sorting
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99938Concurrency, e.g. lock management in shared database
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99939Privileged access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/9994Distributed or remote access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Technology Law (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

데이터 전송 제어 방법, 콘텐트 전송 제어 방법, 콘텐트 처리 정보 획득 방법 및 콘텐트 전송 시스템이 개시되어 있다. 데이터 전송 제어 방법은, 데이터 호환 환경에서, 클라이언트로부터 데이터 전송을 요청받고, 상기 데이터 전송에 관여할 개체의 정보를 수집하고, 상기 수집된 개체의 정보를 이용하여 적어도 두 개의 개체가 포함되는 체인을 형성하고, 상기 체인을 통하여 다수 개의 데이터를 전송하고, 상기 체인에 포함되는 개체 중 적어도 어느 하나로부터 상기 전송되는 데이터의 전송 상태를 나타내는 이벤트 메시지를 수신하는 과정으로 수행될 수 있다. 따라서 하나의 전송 세션에서 다수의 데이터가 전송될 수 있도록 제어할 수 있으며 데이터의 전송 상태를 이벤트를 통하여 수신할 수 있다.

Description

데이터 전송 제어 방법, 콘텐트 전송 제어 방법, 콘텐트 처리 정보 획득 방법 및 콘텐트 전송 시스템{DATA TRANSFER CONTROLLING METHOD, CONTENT TRANSFER CONTROLLING METHOD, CONTENT PROCESSING INFORMATION ACQUISITION METHOD AND CONTENT TRANSFER SYSTEM}
본 발명은 데이터 전송 제어 방법, 콘텐트 전송 제어 방법, 콘텐트 처리 정보 획득 방법 및 콘텐트 전송 시스템에 관한 것으로, 좀더 상세하게는, DRM 상호 호환 환경에서 효율적으로 데이터를 전송할 수 있는 데이터 전송 제어 방법과, 이와 관련된 콘텐트 처리 방법, 콘텐트 처리 정보 획득 방법 및 콘텐트 전송 시스템에 관한 것이다.
일반적으로, 디지털 콘텐트는 아날로그 콘텐트와는 다르게 정보의 손실 없이도 무제한의 복제가 가능하기 때문에, 불법적인 복제 및 불법적인 사용에 쉽게 노출될 수 있다. 때문에, 디지털 콘텐트의 서비스를 위해서는 불법적인 복제 및 사용으로부터 디지털 콘텐트를 안정적으로 보호할 수 있는 콘텐트 보호 기술이 뒷받침되어야 한다.
디지털 저작권 관리(DRM : Digital Rights Management)는 디지털 콘텐트의 불법 복제 및 사용을 미연에 방지하고 적법한 권한을 가진 사용자만이 디지털 콘텐 트를 사용할 수 있도록 하는 종합적인 디지털 콘텐트 보호 기술이다. DRM은 기술적으로 보안, 워터마킹, 변조 방지(Tamper Resistance) 등의 요소 기술들을 포함하고 있지만, 정확하게는 기술(Technologies)의 의미보다는 체계(Framework)의 의미가 더 강하다고 볼 수 있다.
이러한 DRM은 콘텐트의 불법 복제 및 사용 자체를 원천적으로 방지하는데 중점을 둔다. 이를 위해서 DRM에서는 암호화 기술을 이용하여 디지털 콘텐트를 패키지 형태의 암호화된 데이터로 변환시킨다. 따라서 디지털 콘텐트가 특정 사용자에 의하여 우연히 취득되었다고 하더라도 적법한 인증 절차를 거치지 않으면 해당 디지털 콘텐트를 사용할 수 없게 된다.
실제로 인터넷이나 이동 통신 등과 같은 유무선 통신망을 통해 제공되는 대부분의 적법한 콘텐트 서비스들은 해당 콘텐트 서비스의 서비스 사업자나 콘텐트 제공자가 채택한 DRM을 지원하는 DRM 디바이스들에 의해서만 실행 가능하다. 이는 DRM이 갖는 기술적 및 정책적 폐쇄성에서 기인한다.
그런데, 이러한 DRM의 기술적 및 정책적 폐쇄성은 콘텐트의 적법성을 보장한다는 점에서는 이점이 될 수 있으나, 사용자의 콘텐트 사용을 제한하는 문제점이 있다. 왜냐하면, 사용자가 복수의 서비스 사업자에 의하여 제공되는 디지털 콘텐트를 이용하기 위해서는 각각의 서비스 사업자가 채택한 DRM이 설치된 DRM 디바이스 또는 DRM 사용 소프트웨어를 별도로 구비하여야 하기 때문이다. 이 경우 사용자는 각각의 서비스 사업자와 일일이 별도의 계약, 결제, 인증 등을 수행하여야 한다.
이러한 문제는 디지털 콘텐트 유통 구조의 유연성을 저해하는 요소로 작용하 며, 결과적으로는 디지털 콘텐트 서비스의 한계를 가져올 수 있다.
따라서 최근에는 이러한 폐쇄적인 DRM 구조들 간에 호환성 있는 프레임웍을 제공하고자 하는 노력이 시도되고 있다. 서로 다른 이종의 DRM을 상호 호환시키기 위해서는 폐쇄적인 DRM 간의 차이를 중재할 수 있는 DRM 상호 호환 시스템이 요구된다. DRM 상호 호환 시스템은 시스템 자원들을 정의하고 정의된 시스템 자원들을 생성하고 관리할 수 있는 동작 모델들을 제시함으로써 구현될 수 있다. 또한 이러한 DRM 상호 호환 시스템을 지원하기 위해서는 정의된 시스템 자원과 동작 모델을 이용한 다양한 시나리오를 제시할 수 있어야 한다.
기술적 과제
본 발명은 이러한 배경에서 창안된 것으로, 클라이언트의 데이터 전송 요청에 따라 체인을 형성하고, 구성된 체인을 다수의 데이터를 전송할 수 있도록 하는 데이터 전송 제어 방법을 제공하는데 본 발명의 제 1 목적이 있다.
또한, DRM 상호 호환 환경에서 다수의 콘텐트를 전송할 수 있는 보안 인증 채널을 설립하도록 하고 싱글 세션을 통하여 효율적으로 전송할 수 있도록 하는 콘텐트 전송 제어 방법을 제공하는데 본 발명의 제 2 목적이 있다.
또한, DRM 상호 호환 환경에서 전송되는 콘텐트의 전송 과정을 이벤트를 통하여 획득할 수 있도록 하는 콘텐트 처리 정보 획득 방법을 제공하는데 본 발명의 제 3 목적이 있다.
또한, 또한, 클라이언트의 요청에 따라 하나의 세션을 이용하여 다수의 콘텐트를 목적하는 시스템으로 전송할 수 있는 콘텐트 전송 시스템을 제공하는데 본 발명의 제 4 목적이 있다.
기술적 해결방법
이러한 본 발명의 제 1 목적을 달성하기 위한 본 발명에 따른 데이터 전송 제어 방법은, 데이터 호환 환경에서 데이터의 전송을 제어하는 방법에 있어서, 클라이언트로부터 데이터 전송을 요청받는 단계와; 상기 데이터 전송에 관여할 개체의 정보를 수집하는 단계와; 상기 수집된 개체의 정보를 이용하여 적어도 두 개의 개체가 포함되는 체인을 형성하는 단계와; 상기 체인을 통하여 다수 개의 데이터를 전송하는 단계; 및 상기 체인에 포함되는 개체 중 적어도 어느 하나로부터 상기 전송되는 데이터의 전송 상태를 나타내는 이벤트 메시지를 수신하는 단계를 포함할 수 있다. 이때, 상기 데이터는 콘텐트 및 라이선스 중 어느 하나일 수 있다.
상기 데이터 전송을 요청받는 단계는 전송 세션 식별자 및 다수의 데이터 식별자를 수신하는 단계를 포함하고, 상기 체인을 통하여 전송되는 다수 개의 데이터는 상기 다수의 데이터 식별자에 대응하는 데이터일 수 있다.
상기 데이터 전송에 관여할 개체의 정보를 수집하는 단계는, 상기 개체에게 능력치 정보를 포함하는 개체 정보를 질의하는 단계와; 상기 질의에 응답하여 수신되는 개체 정보를 수신하는 단계; 및 상기 수신된 개체 정보를 이용하여 소스, 중간 및 목적지의 디바이스, 시스템, DRM 정보 중 적어도 어느 하나를 파악하는 단계를 포함할 수 있다.
상기 체인을 형성하는 적어도 두 개의 개체는, 상기 다수의 데이터를 송신하는 반출자와; 상기 반출자로부터 송신되는 다수의 데이터를 목적지에서 요구하는 포맷에 부합되는 형태로 변환하여 송신하는 변환자; 및 상기 변환자로부터 송신되는 다수의 데이터를 수신하여 상기 목적지로 제공하는 반입자를 포함할 수 있다.
다른 한편으로, 상기 체인을 형성하는 적어도 두 개의 개체는, 상기 다수의 데이터를 송신하는 반출자; 및 상기 반출자로부터 송신되는 다수의 데이터를 수신하여 목적지로 제공하는 반입자를 포함할 수도 있다.
상기 체인을 형성하는 단계는, 상기 체인에 포함되는 적어도 두 개의 개체에게 제어 메시지를 전송하는 단계; 및 상기 제어 메시지를 수신한 개체들 간에 보안 인증 채널이 설립되는 단계를 포함할 수 있다. 이때, 상기 제어 메시지를 전송하는 단계에서는 적어도 어느 하나의 개체에게 목적지의 DRM 정보를 제공할 수 있다.
상기 데이터 전송 제어 방법은, 상기 체인에 포함되는 개체 중 적어도 어느 하나의 개체에게 상기 이벤트 메시지를 수신할 수 있는 특정 이벤트의 구독을 요청하는 단계; 및 상기 특정 이벤트를 요청한 적어도 어느 하나의 개체로부터 상기 특정 이벤트의 구독을 허가받는 단계를 더 포함할 수도 있다.
상기 데이터의 전송 상태를 나타내는 이벤트 메시지는, 상기 데이터의 전송이 시작됨을 알리는 이벤트 메시지, 상기 데이터가 상기 체인으로 전송되고 있음을 알리는 이벤트 메시지 및 상기 데이터의 전송이 완료되었음을 알리는 이벤트 메시지 중 적어도 어느 하나를 포함할 수 있다.
상술한 본 발명의 제 2 목적을 달성하기 위한 본 발명에 따른 콘텐트 전송 제어 방법은, DRM 상호 호환 시스템에서의 콘텐트 전송 제어 방법에 있어서, 클라이언트로부터 전송 세션 식별자 및 다수의 콘텐트 식별자가 포함된 특정 목적지로의 콘텐트 전송 요청 메시지가 수신되면, 상기 다수의 콘텐트 식별자에 대응하는 다수의 콘텐트를 상기 특정 목적지로 전송하기 위한 콘텐트 핸들러들을 결정하는 단계; 및 상기 결정된 콘텐트 핸들러들을 제어하여 상기 다수의 콘텐트를 상기 특정 목적지로 전송하기 위한 보안 인증 채널을 설립하도록 하고, 상기 전송 세션 식별자에 대응하는 단일 전송 세션을 개설하여 상기 다수의 콘텐트가 상기 설립되는 보안 인증 채널을 통하여 상기 목적지로 전송되도록 제어하는 단계를 포함할 수 있다.
상기 결정 단계는, 시스템에 구비된 콘텐트 핸들러들의 정보를 수집하는 단계와; 상기 수집된 정보를 토대로 상기 수신된 콘텐트 전송 요청 메시지에 대응되는 전송을 수행할 것인지의 여부를 결정하는 단계; 및 상기 전송의 수행이 결정되면, 상기 시스템에 구비된 콘텐트 핸들러들 중 상기 전송을 수행할 콘텐트 핸들러들을 결정하는 단계를 포함할 수 있다.
상기 결정 단계에서는 상기 다수의 콘텐트 식별자에 대응하는 다수의 콘텐트의 콘텐트 포맷과 상기 특정 목적지에서 요구되는 콘텐트 포맷이 상이할 경우, 콘텐트 포맷 변환을 수행할 수 있는 콘텐트 핸들러를 상기 결정되는 콘텐트 핸들러에 포함시킬 수도 있다.
상기 콘텐트 전송 제어 방법은, 상기 결정된 콘텐트 핸들러들 중 적어도 하나에게 특정 이벤트의 구독을 요청하여 상기 특정 이벤트를 구독하는 단계; 및 상기 설립되는 보안 인증 채널을 통하여 상기 다수의 콘텐트가 상기 목적지로 전송될 때, 상기 구독한 적어도 하나의 콘텐트 핸들러로부터 각각의 콘텐트의 전송 상태를 알 수 있는 이벤트 메시지를 수신하는 단계를 더 포함할 수 있다.
한편, 상술한 본 발명의 제 3 목적을 달성하기 위한 본 발명에 따른 콘텐트 처리 정보 획득 방법은, DRM 상호 호환 시스템에서 콘텐트의 처리 정보를 획득하는 방법에 있어서, 클라이언트로부터 콘텐트 전송 요청 메시지가 수신되면, 콘텐트 핸들러들의 정보를 수집하여 다수의 콘텐트를 요청된 목적지로 전송할 콘텐트 핸들러들을 결정하는 단계; 및 상기 결정된 콘텐트 핸들러들에 의하여 상기 다수의 콘텐트가 전송되면 상기 결정된 콘텐트 핸들러들 중 적어도 어느 하나로부터 상기 전송되는 각각의 상기 콘텐트의 처리 상태를 알 수 있는 이벤트 메시지를 수신하는 단계를 포함한다.
또한, 상기 콘텐트 처리 정보 획득 방법은, 상기 콘텐트 핸들러들 중 적어도 하나에게 특정 이벤트의 구독을 요청하는 단계; 및 상기 구독을 요청한 적어도 하나의 콘텐트 핸들러에게 구독을 허가하는 응답 메시지를 수신하는 단계를 더 포함할 수 있다. 이때 상기 특정 이벤트의 구독을 요청하는 단계는, 상기 전송되는 콘텐트의 전송 상태를 알 수 있는 이벤트 메시지를 푸시 방식으로 제공받을 것인지 풀 방식으로 제공받을 것인지를 세팅하는 단계를 포함할 수 있다.
한편, 본 발명의 제 4 목적을 달성하기 위한 본 발명에 따른 콘텐트 전송 시스템은, DRM 상호 호환 시스템에서의 콘텐트 전송 시스템에 있어서, 다수의 콘텐트 핸들러; 및 클라이언트로부터 다수의 콘텐트 식별자가 포함된 특정 목적지로의 콘텐트 전송 요청 메시지가 수신되면, 상기 다수의 콘텐트 식별자에 대응하는 다수의 콘텐트를 상기 목적지로 전송하기 위한 적어도 두 개의 콘텐트 핸들러를 상기 다수의 콘텐트 핸들러 중에서 결정하고, 상기 다수의 콘텐트가 단일 세션을 통해 중립 콘텐트 형태로 상기 목적지까지 전송될 수 있도록 상기 결정된 적어도 2개의 콘텐트 핸들러를 제어하는 제어 개체를 포함할 수 있다. 이때, 상기 적어도 두 개의 콘텐트 핸들러 중 적어도 어느 하나는 상기 목적지까지 전송되는 각각의 상기 콘텐트의 전송 상태를 나타내는 이벤트 메시지를 상기 제어 개체로 전송한다.
이상 설명한 바와 같이, 본 발명에 따르면 DRM 상호 호환 시스템의 다양한 데이터 전송 형태를 제공할 수 있으며, 특히 싱글 세션을 이용하여 다수의 데이터를 목적하는 시스템으로 전송하도록 제어할 수 있으므로 전송 효율을 높일 수 있을 뿐만 아니라, 데이터의 전송 상태를 이벤트 메시지로 보고 받을 수 있게 된다.
도 1은 본 발명의 바람직한 실시예에 따른 DRM 상호 호환 시스템의 개념 및 주요 기능들을 설명하기 위한 블록도이다.
도 2는 본 발명의 바람직한 실시예에 따른 DRM 상호 호환 시스템의 개략적인 구성을 도시하는 블록도이다.
도 3은 클라이언트가 처리 제어부로 콘텐트 전송을 요청하는 예를 보여주는 예시도이다.
도 4는 클라이언트가 처리 제어부로 라이선스 전송을 요청하는 예를 보여주는 예시도이다.
도 5는 도메인과 도메인을 구성하기 위한 개체들 및 각 개체들 간의 연관 관 계를 예시적으로 보여주는 블록도이다.
도 6은 레퍼런스 포인트 컨트롤러를 선출하기 위해 필요한 DPDU 데이터 패킷의 포맷을 도시하는 예시도이다.
도 7은 이러한 DPDU를 이용하여 레퍼런스 포인트 컨트롤러를 자동적으로 선출하는 과정을 보여주는 흐름도이다.
도 8은 Example 1-2에 따른 바람직한 레퍼런스 포인트 컨트롤러 선출 방법의 흐름을 도시하는 흐름도이다.
도 9는 Example 2-1에 따른 바람직한 레퍼런스 포인트 컨트롤러 후보의 선출 과정을 도시하는 흐름도이다.
도 10은 레퍼런스 포인트 컨트롤러 및 레퍼런스 포인트 컨트롤러 후보들 간의 정보 신호 전송을 위한 연결 구성을 도시하는 블록도이다.
도 11은 도메인 대표 장치 및 도메인 대표 후보 장치들의 정보 신호 전송 예를 도시하는 블록도이다.
도 12는 레퍼런스 포인트 컨트롤러 프록시의 개념을 설명하기 위한 블록도이다.
도 13은 레퍼런스 포인트 컨트롤러의 등록 과정을 설명하기 위한 순서도이다.
도 14 레거시 디바이스의 고유 정보를 관리하기 위한 관련 구성을 보여주는 예시도이다.
도 15는 레거시 디바이스를 인증하는 과정을 설명하기 위한 순서도이다.
도 16은 레거시 디바이스를 사용하는 사용자 정보를 관리하는 DRM 상호 호환 시스템의 관련 구성을 보여주는 예시도이다.
도 17은 레거시 디바이스가 도메인에 등록하는 과정을 설명하기 위한 순서도이다.
도 18은 처리 제어부 및 콘텐트 처리부의 구성을 도시하는 블록도이다.
도 19는 콘텐트 처리 컨트롤러 및 콘텐트 핸들러들의 구비 위치를 설명하기 위한 예시도이다.
도 20은 콘텐트 처리 컨트롤러 및 콘텐트 핸들러들의 다른 구비 위치를 설명하기 위한 예시도이다.
도 21은 콘텐트 처리 컨트롤러 및 콘텐트 핸들러들을 이용한 콘텐트 전송 과정을 도시하는 흐름도이다.
도 22는 멀티 전송 프로토콜을 설명하기 위한 예시도이다.
도 23은 Example 3-2에 따른 콘텐트 전송 과정을 위한 시스템 구성을 도시하는 블록도이다.
도 24는 Example 3-2에 따른 콘텐트 전송 과정을 도시하는 흐름도이다.
도 25는 요청된 하나 또는 다수의 콘텐트를 제 1 목적 디바이스로 전송하기 위한 제 1 콘텐트 변환 체인을 보여주고 있다.
도 26은 상기 요청된 하나 또는 다수의 콘텐트를 제 2 목적 디바이스로 전송하기 위한 제 2 콘텐트 변환 체인을 보여주고 있다.
도 27은 Example 3-3에 따른 콘텐트 전송 과정을 위한 시스템 구성을 도시하 는 블록도이다.
도 28은 Example 3-3에 따른 콘텐트 전송 과정을 도시하는 흐름도이다.
도 29는 콘텐트 처리 컨트롤러에 의하여 구성된 1차 콘텐트 변환 체인을 나타내는 예시도이다.
도 30은 콘텐트 처리 컨트롤러에 의하여 구성된 2차 콘텐트 변환 체인을 나타내는 예시도이다.
도 31은 Example 3-4에 따른 콘텐트 전송을 위한 시스템 구성을 도시하는 블록도이다.
도 32는 Example 3-4에 따른 콘텐트 전송 과정을 도시하는 흐름도이다.
도 33은 콘텐트 처리 컨트롤러에 의하여 구성된 1차 콘텐트 변환 체인을 나타내는 예시도이다.
도 34는 콘텐트 처리 컨트롤러에 의하여 유도되는 2차 제 1 콘텐트 변환 체인, 2차 제 2 콘텐트 변환 체인 및 2차 제 3 콘텐트 변환 체인의 구성을 도시하는 예시도이다.
도 35는 라이선스 전송과 관련된 시스템의 구성을 도시하는 블록도이다.
도 36은 개체에 구비되는 단위 기능 모듈 및 그 기능을 설명하기 위한 예시도이다.
도 37은 인증된 두 개체 간에 이벤트 전송을 수행하는 과정을 설명하기 위한 예시도이다.
도 38은 Example 4-1에 따른 도메인 관리 방법의 흐름을 설명하기 위한 순서 도이다.
도 39는 Example 4-2에 따른 도메인 관리 방법의 흐름을 설명하기 위한 순서도이다.
도 40은 이종의 DRM 간에 상호 호환할 수 있는 환경의 시스템 구성을 예시하는 블록도이다.
도 41은 DRM 영역의 상세 구성을 도시하는 블록도이다.
도 42는 처리 제어부의 다른 구성을 도시하는 블록도이다.
도 43은 Example 5-1에 따른 DRM 상호 호환 시스템의 콘텐트 처리 방법을 설명하기 위한 절차도이다.
도 44는 Example 5-2에 따른 DRM 상호 호환 시스템의 콘텐트 처리 방법을 설명하기 위한 절차도이다.
도 45는 Example 5-3에 따른 DRM 상호 호환 시스템의 콘텐트 처리 방법을 설명하기 위한 절차도이다.
도 46은 Example 5-4에 따른 DRM 상호 호환 시스템의 콘텐트 처리 방법을 설명하기 위한 절차도이다.
도 47은 Example 5-5에 따른 DRM 상호 호환 시스템의 콘텐트 처리 방법을 설명하기 위한 절차도이다.
도 48은 Example 5-6에 따른 DRM 상호 호환 시스템의 콘텐트 처리 방법을 설명하기 위한 절차도이다.
도 49는 Example 5-7에 따른 DRM 상호 호환 시스템의 콘텐트 처리 방법을 설 명하기 위한 절차도이다.
<도면의 주요 부분에 대한 부호 설명>
10 : 클라이언트부
20 : 인증 및 관리부
30 : 라이선스 처리부
40 : 처리 제어부
41 : 콘텐트 처리 컨트롤러
50 : 콘텐트 처리부
51 : 콘텐트 변환자
52 : 콘텐트 반출자
53 : 콘텐트 반입자
발명의 실시를 위한 최선의 형태
이하, 본 발명이 속하는 분야에 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 상세히 설명한다. 이하에 설명할 본 발명의 바람직한 실시예에서는 내용의 명료성을 위하여 특정한 기술 용어를 사용한다. 하지만 본 발명은 그 선택된 특정 용어에 한정되지는 않으며, 각각의 특정 용어가 유사한 목적을 달성하기 위하여 유사한 방식으로 동작하는 모든 기술 동의어를 포함함을 미리 밝혀둔다.
도 1은 본 발명의 바람직한 실시예에 따른 DRM 상호 호환 시스템의 개념 및 주요 기능들을 설명하기 위한 블록도이다.
도 1에 도시된 바와 같이, DRM 상호 호환 시스템(1000)은 서로 다른 DRM 영역 간에 서비스를 호환시키는 기능을 수행할 수 있다. 이러한 DRM 상호 호환 시스템(1000)은 데이터 호환 제어 기능(f1), 데이터 호환 기능(f2), 상태 표시 기능(f3), 도메인 관리 기능(f4) 등의 기능을 수행할 수 있다.
데이터 호환 제어 기능(f1)은 서로 다른 DRM 영역 간에 데이터가 호환되도록 데이터의 호환을 제어하는 기능을 의미할 수 있다. 이때, 데이터란 콘텐트 또는 라이선스를 의미할 수 있다. 즉, 데이터 호환 제어 기능(f1)은 콘텐트 호환 제어 기능(f1a) 및 라이선스 데이터 호환 제어 기능(f2b)을 포함한다.
데이터 호환 기능(f2)은 데이터 호환 제어 기능(f1)의 제어 하에 콘텐트 또는 라이선스를 호환시키는 기능을 의미할 수 있다. 예를 들어, 데이터 호환 기능(f2)에 의하면 DRM A 영역에 존재하는 시스템 A 또는 디바이스 A의 데이터, 예컨대 콘텐트 또는 라이선스를 DRM B 영역에 존재하는 시스템 B 또는 디바이스 B에 제공할 수 있으며, DRM B 영역에 존재하는 시스템 B 또는 디바이스 B의 콘텐트 또는 라이선스를 DRM A 영역에 존재하는 시스템 A 또는 디바이스 A에 제공할 수 있다. 즉 데이터 호환 기능(f2)은 콘텐트 호환 기능(f2a) 및 라이선스 호환 기능(f2b)을 포함할 수 있다.
상태 표시 기능(f3)은 DRM 상호 호환 시스템(100)의 각종 동작 상태를 표시할 수 있는 기능을 의미할 수 있다. 예를 들어, 상태 표시 기능(f3)은 채널 형성 이벤트 기능(f3a), 전송 관련 이벤트 기능(f3b), 변환 관련 이벤트 기능(f3c) 등과 같은 이벤트 기능들을 포함할 수 있다.
도메인 관리 기능(f4)은 클라이언트를 인증하고 관리하기 위한 도메인을 관리하는 기능을 의미할 수 있다. 이러한 도메인 관리 기능(f4)은 레퍼런스 포인트 컨트롤러 등록/관리 기능(f4a), 레거시 디바이스 관리 기능(f4b) 등을 포함할 수 있다.
이러한 기능들을 수행하기 위한 시스템의 구성 및 동작은 이하에서 상세히 설명될 것이다.
* 시스템의 구성 및 동작 *
도 2는 이종의 DRM 간을 상호 호환시킬 수 있는 DRM 상호 호환 시스템의 개략적인 구성을 도시하는 블록도이다.
도 2에 도시된 바와 같이, DRM 상호 호환 시스템은 클라이언트부(Client Part)(10), 인증 및 관리부(Authentication and Management Part)(20), 처리 제어부(Processing Control Part)(40), 콘텐트 처리부(Content Processing Part)(50) 및 라이선스 처리부(License Processing Part)(30)를 포함할 수 있다.
상술한 각 부들은 적어도 하나 이상의 개체로 구성될 수 있다. 이때 개체란 소정의 고유한 기능을 수행하는 소프트웨어적 또는 하드웨어적으로 구현된 모듈이나 디바이스를 의미할 수 있다. 이러한 개체는 특정한 단위 기능을 수행하는 적어도 하나 이상의 단위 기능 모듈의 집합으로도 볼 수 있다. 각각의 개체는 특정 디바이스에 설치되거나 구현되어 타 개체와 정해진 인터페이스를 통하여 통신할 수 있다. 또한 동일한 부에 속한 개체들일지라도 서로 다른 디바이스에 설치되거나 구현될 수 있으며, 설치 디바이스는 실시 환경에 따라서 다양하게 달라질 수도 있다.
이하에서는 각각의 부에 속하는 개체의 기능 및 개체 간의 연동을 통한 동작 과정을 살펴보고, 이를 통하여 각 부의 특징적인 구조 및 기능들을 설명하기로 한다.
1. 클라이언트부의 기능 및 동작
클라이언트부(10)는 클라이언트를 포함할 수 있다. 클라이언트는 인증 및 관리부(20), 처리 제어부(40) 등과 연동하여 사용자가 DRM 상호 호환 서비스를 이용할 수 있도록 하는 각종 기능들을 제공하는 개체이다. 이러한 클라이언트는 사용자의 디바이스에 구비될 수 있는데, 클라이언트가 구비된 디바이스를 클라이언트 디바이스라 칭하기로 한다.
클라이언트는 인증 및 관리부(20)에 인증을 요청하여 인증 받을 수 있다. 인증된 클라이언트는 처리 제어부(40)의 특정 개체를 호출하여 원하는 목적지로 특정 데이터, 예컨대 특정 콘텐트 또는 라이선스를 전송할 것을 요청할 수 있다. 여기서 상기 목적지는 상기 특정 콘텐트 또는 라이선스에 적용되어 있는 DRM과는 다른 DRM이 설치된 디바이스나 소프트웨어 시스템, 예컨대 도메인에 존재하는 다른 클라이언트 디바이스일 수 있다.
도 3 및 도 4는 인증된 클라이언트가 처리 제어부(40)로 데이터 전송을 요청하는 예를 도시하는 예시도로서, 도 3은 클라이언트가 처리 제어부(40)로 콘텐트 전송을 요청하는 예를 보여주고 있으며, 도 4는 클라이언트가 처리 제어부(40)로 라이선스 전송을 요청하는 예를 보여주고 있다.
도 3에 도시된 바와 같이, 클라이언트는 처리 제어부의 콘텐트 처리 컨트롤 러(41)로 콘텐트의 전송을 요청한다. 그러면 콘텐트 처리 컨트롤러(41)는 요청된 콘텐트가 원하는 목적지로 전송될 수 있도록 콘텐트 처리부(50)를 제어한다. 이때 상기 요청된 콘텐트의 콘텐트 포맷, DRM 등은 목적지에서 요구하는 콘텐트 포맷, DRM 등과 서로 상이할 수 있는데, 콘텐트 처리부(50)는 상기 요청된 콘텐트를 전송할 때 목적지에서 요구하는 조건에 맞도록 콘텐트를 처리하여 목적지로 제공할 수 있다. 이러한 콘텐트의 전송 및 처리 과정은 후에 도 18 내지 도 34를 참조한 설명에서 상세히 언급될 것이다.
또한, 도 4에 도시된 바와 같이, 클라이언트는 처리 제어부의 라이선스 처리 컨트롤러로 라이선스의 전송을 요청할 수 있다. 그러면 라이선스 처리 컨트롤러는 요청된 라이선스가 원하는 목적지로 전송될 수 있도록 라이선스 처리부를 제어한다. 이때 상기 요청된 라이선스의 포맷과 목적지에서 요구하는 라이선스의 포맷은 서로 상이할 수 있는데, 라이선스 처리부는 이러한 상이점들을 목적지에서 요구하는 조건에 맞도록 처리하여 목적지로 제공할 수 있다. 이러한 라이선스의 전송 처리 과정은 후에 도 35를 참조한 설명에서 상세히 언급될 것이다.
한편, 클라이언트는 통상적인 클라이언트가 가지는 기능들, 예를 들어, 콘텐트를 사용(또는 재생)할 수 있는 기능, 사용자 인터페이스 기능 등을 구비할 수도 있다. 이 경우, 클라이언트는 콘텐트의 소비의 종단점(End Point)이 될 수 있다.
이러한 클라이언트는 인증 및 관리부(20)를 통해 정당한 클라이언트임이 인증되고 관리되어야 하는데, 이를 용이하게 위하여 DRM 상호 호환 시스템은 도메인의 개념을 도입할 수 있다.
도메인이란 DRM 신뢰 체계의 기본 단위로서, DRM 상호 호환 시스템이 실질적으로 적용되는 범위를 의미할 수 있다. 도메인은 허가된(Authorized) 디바이스들 또는 시스템들의 집합(Set)으로 구성될 수 있다. 예를 들어, 도메인은 허가된 클라이언트 디바이스의 집합을 포함할 수 있다. 이 경우 도메인 내의 클라이언트 디바이스들은 각자가 서로 다른 DRM 콘텐트를 가지고 있더라도 상호 간에 콘텐트를 공유하여 사용할 수 있다.
2, 인증 및 관리부의 기능 및 동작
도 5는 이러한 도메인과, 도메인을 구성하기 위한 개체들 및 각 개체들 간의 연관 관계를 예시적으로 보여주는 블록도로서, 클라이언트의 인증 및 관리에 관련된 개체들을 위주로 도시하고 있다.
도 5를 참조하면, DRM 상호 호환 시스템은 도메인(5)을 형성한다. 이러한 도메인(5)은 클라이언트 디바이스(3)의 물리적인 위치를 고려하여 구성할 수도 있다. 즉, 특정한 물리적 영역 내에 존재하는 허가된 클라이언트 디바이스(3)들로 도메인(5)을 구성하는 것이다. 반면 도메인(5)은 클라이언트 디바이스(3)의 물리적인 위치를 고려하지 않고 논리적으로 인증된 클라이언트 디바이스들만으로 구성할 수도 있다.
본 설명에서는 전자와 같이 클라이언트 디바이스(3)의 물리적인 위치를 고려하여 특정 로컬 영역 내에 존재하는 클라이언트 디바이스(3)들로 도메인을 구성하되, 상기 특정한 로컬 영역 외의 네트워크 영역에 존재하는 클라이언트 디바이스들도 도메인에 가입할 수 있도록 하는 케이스를 예시하기로 한다. 그러나 이는 실시 의 한 예일 뿐 한정적인 사항은 아니다.
이러한 도메인(5)을 구성하기 위해서는 로컬 환경이 요구된다. 이때 로컬 환경이란 특정한 로컬 영역 내에 속한 디바이스들이 상호 연동될 수 있도록 물리적인 네트워크가 마련되어 있고, 이 물리적인 네트워크가 외부의 네트워크와도 연동될 수 있는 환경을 의미할 수 있다.
이러한 로컬 환경을 제공할 수 있는 예로서, 홈 네트워크 시스템을 들 수 있다. 통상 홈 네트워크 시스템은 유무선 로컬 네트워크를 통하여 가정 내의 가전기기, 각종 센서들, 보안기기 등의 상호 연동이 가능하며, 홈 게이트웨이와 같은 통신 노드를 통하여 인터넷 등의 외부 네트워크와 연동할 수 있다. 상기 로컬 환경은 이러한 홈 네트워크 시스템뿐만 아니라 상호 연동 가능한 2개 이상의 네트워크 디바이스가 있다면 구성 가능할 것이다.
이하에서 언급되는 로컬 영역은 상술한 로컬 환경이 마련되어 있는 영역이라고 가정한다. 로컬 영역 내에는 다수의 클라이언트 디바이스(3)가 존재할 수 있다. 클라이언트 디바이스(3)에 구비된 클라이언트(12)는 인증 및 관리부(20)에 인증을 요청하여 정당한 클라이언트(12)로 인증될 수 있다. 인증된 클라이언트(12)가 구비된 디바이스는 클라이언트 디바이스(3)가 된다. 이러한 클라이언트 디바이스(3) 간에는 서로 다른 DRM 콘텐트를 교환하여 라이선스가 허용하는 범위 내에서 사용할 수 있다.
따라서 사용자는 예컨대 자신 집을 로컬 영역으로 설정하고 자신의 집 내에 존재하는 이종의 DRM이 구비된 디바이스들을 이용하여 도메인을 구성한 뒤, 디바이 스 상호 간에 콘텐트를 공유하며 사용할 수 있다.
그러나 반드시 로컬 영역 내의 클라이언트(12)만 도메인에 인증될 수 있는 것은 아니며, 로컬 영역 밖의 네트워크 영역에 존재하는 클라이언트도 인증을 통해 서비스를 제공받을 수 있다. 이 경우 네트워크 영역에서 인증된 클라이언트와 로컬 영역 내에서 인증된 클라이언트(3)의 상태를 구분하여 관리할 필요가 있다. 이를 위해 인증된 클라이언트의 상태를 리모트 상태와 로컬 상태로 구분하여 관리할 수 있다.
도 5를 참조하면, 클라이언트(3)를 인증하거나 관리하기 위한 인증 및 관리부(20)는 도메인 매니저(Domain Manager)(22), 라이선스 매니저(License Manager)(24) 및 레퍼런스 포인트 컨트롤러(Reference Point Controller)(26)를 구비할 수 있다.
도메인 매니저(22)는 도메인(5)을 관장하는 기능을 수행하는 개체이다. 예를 들어 도메인 매니저(22)는 도메인(5)의 생성(Creating a Domain), 도메인(5)의 파기(Destroying a Domain), 도메인(5)으로의 클라이언트(12)의 연계(Associating Clients with a Domain), 도메인(5)으로부터 클라이언트(12)의 제거(Removing Clients from a Domain), 레퍼런스 포인트 컨트롤러(26)의 등록(Registering Domain Reference Point) 등의 기능을 수행할 수 있다.
도메인 매니저(22)는 로컬 영역이나 네트워크 영역 어디에도 존재할 수 있다. 예를 들어, 도 5에 도시된 예에서는 도메인 매니저(22)가 네트워크 영역에 존재하는 것으로 예를 들었다. 이 경우 도메인 매니저(22)는 인터넷 등과 같은 광역 네트워크를 통하여 레퍼런스 포인트 컨트롤러(26) 및 클라이언트(12)와 연동할 수 있다. 반면 도메인 매니저는 로컬 영역 내에 존재할 수도 있다. 이 경우 도메인 매니저는 로컬 영역 내의 디바이스에 구비되어 레퍼런스 포인트 컨트롤러 및 클라이언트와 연동할 수 있다.
라이선스 매니저(24)는 사용자의 라이선스 정보를 관리하는 기능을 수행하는 개체이다. 예를 들어 라이선스 매니저(24)는 사용자를 위한 로그인 기능을 제공하고, 그 사용자의 라이선스 정보를 저장 및 관리하는 전형적인 온라인 서비스 매니저의 기능을 수행할 수 있다. 라이선스 매니저(24)는 사용자 명의 생성(Creating User Names), 사용자 명의 삭제(Deleting User Names), 사용자 명과 라이선스 정보의 연계(Associating License Informations with User Names), 라이선스 정보의 생성(Creating License Informations), 라이선스 정보의 삭제(Deleting License Information) 등의 기능을 수행할 수 있다.
라이선스 매니저(24)는 네트워크 영역, 예컨대 서비스 제공자 측의 서버에 구비될 수 있다. 그러나 라이선스 매니저(24)가 항상 서비스 제공자 측의 서버와 같은 네트워크 영역에만 존재할 수 있는 것은 아니며, 로컬 영역 내에 존재할 수도 있다. 즉, 도메인 매니저(22)와 라이선스 매니저(24)는 로컬 영역 또는 네트워크 영역 어디에도 존재할 수 있다.
레퍼런스 포인트 컨트롤러(26)는 특정 개체가 로컬 영역 내에 존재하는지를 검증하고, 그 검증된 개체에게 해당 개체가 로컬 영역 내에 위치한다는 것을 입증할 수 있는 신임장을 제공하는 기능을 수행하는 디바이스를 의미할 수 있다. 이러 한 기능을 위해서 레퍼런스 포인트 컨트롤러(26)는 로컬 영역의 범위를 결정할 수 있는데, 이때 로컬 영역의 범위는 예컨대, 물리적인 거리, 홉(Hop)의 수, 반응시간 등을 통해 정해질 수 있다.
상기 레퍼런스 포인트 컨트롤러(26)는 클라이언트(12)의 요청에 따라 해당 클라이언트(12)가 로컬 영역 내에 존재하는지를 검증하고, 정상적으로 로컬 영역 내에 있음이 검증되면 이를 증명할 수 있는 도메인 신임장을 제공할 수 있다. 이러한 도메인 신임장은 클라이언트(12)의 인증 요청 시 도메인 매니저(22)로 제공될 수 있으며, 도메인 매니저(22)는 그 제공된 도메인 신임장을 보고 해당 클라이언트(12)가 로컬 영역에 정상적으로 존재함을 확인한 뒤 클라이언트(12)를 인증한다.
또한 도메인 매니저(22)는 상기 도메인 신임장을 보고 해당 클라이언트(12)가 리모트 상태인지 아니면 로컬 상태인지를 결정할 수 있다. 이와 같이 클라이언트(12)의 상태를 파악함으로써 리모트 상태에서 접속되는 클라이언트 수를 제한할 수도 있다. 이는 다수의 클라이언트가 무분별하게 네트워크를 통해 도메인으로 접속하는 것을 방지하고 보안성을 향상시키기 위함이다.
레퍼런스 포인트 컨트롤러(26)는 로컬 영역에 구비될 수 있다. 즉 레퍼런스 포인트 컨트롤러(26)는 로컬 영역 내에 존재하는 디바이스로 설정될 수 있다. 레퍼런스 포인트 컨트롤러(26)는 셋톱박스, 데스크탑 PC 등과 같이 컴퓨팅 자원이 풍부하며 이동성이 없는 디바이스로 정하는 것이 유리하지만, 휴대폰과 같이 자원의 제약은 있지만 이동성이 뛰어난 디바이스로 정할 수도 있다.
이러한 레퍼런스 포인트 컨트롤러(26)는 도메인의 초기 구성 시에 소정의 절 차에 의하여 선출될 수 있다. 즉, 도메인(5)의 초기 구성 시에는 로컬 영역의 범위를 결정할 레퍼런스 포인트 컨트롤러 기능을 수행할 디바이스를 선출하고, 선출된 디바이스를 레퍼런스 포인트 컨트롤러(26)로 설정하여야 한다. 이때 설정되는 레퍼런스 포인트 컨트롤러(26)는 도메인 매니저(22)에게 등록한다. 그러면, 클라이언트(12)는 도메인 매니저(22)에 레퍼런스 포인트 컨트롤러(26)에 대하여 질의할 수 있다.
- 레퍼런스 포인트 컨트롤러 선출 -
레퍼런스 포인트 컨트롤러를 선출하는 방법에는 크게 다음과 같은 3가지가 있다.
첫 번째 방법은, 도메인에 가입하고자 하는 디바이스들이 서로 디바이스 정보를 주고받고, 그 디바이스 정보를 소정의 알고리즘에 따라 비교하여 가장 적절한 디바이스를 레퍼런스 포인트 컨트롤러로 선출하는 방법이다. 이때 선출된 레퍼런스 포인트 컨트롤러는 도메인 매니저에게 자신이 레퍼런스 포인트 컨트롤러로 선출되었음을 통보하고 등록하여야 한다.
두 번째 방법은, 도메인에 등록하고자 하는 디바이스들이 도메인 매니저에게 자신의 디바이스 정보를 보고하고, 그 보고된 디바이스 정보를 토대로 도메인 관리 개체가 레퍼런스 포인트 컨트롤러를 선출하는 방법이다.
세 번째 방법은, 미리 설정된 정보에 의하여 레퍼런스 포인트 컨트롤러를 선출하는 방법이다. 이때, 상기 설정된 정보는 관리자에 의하여 설정되거나, 사용자에 의하여 설정되거나 또는 임의로 설정된 정보를 포함할 수 있다. 예를 들어, 관 리자나 사용자가 도메인 매니저에 설정 정보를 입력하면 도메인 매니저는 그 설정 정보에 의하여 레퍼런스 포인트 컨트롤러를 선출할 수 있다. 또는 관리자나 사용자가 레퍼런스 포인트 컨트롤러로 사용할 디바이스를 직접 선택하여 레퍼런스 포인트 컨트롤러를 구축할 수도 있다.
이하, 상술한 3가지 방법을 각각 상세히 설명하기로 한다. 이해의 편의를 위하여 상기 언급된 첫 번째 레퍼런스 포인트 컨트롤러 선출 방법을 "Example 1-1"로, 두 번째 레퍼런스 포인트 컨트롤러 선출 방법을 "Example 1-2"로, 세 번째 레퍼런스 포인트 컨트롤러 선출 방법은 "Example 1-3"로 칭하기로 한다.
<Example 1-1>
먼저, 레퍼런스 포인트 컨트롤러의 선출 절차를 설명하기에 앞서 DPDU(Domain Payload Data Unit) 데이터 포맷을 정의하기로 한다. DPDU는 레퍼런스 포인트 컨트롤러의 선출 시에 각 디바이스의 디바이스 정보를 전송하기 위한 규격화된 데이터 포맷이다.
도 6은 레퍼런스 포인트 컨트롤러를 선출하기 위해 필요한 DPDU 데이터 패킷의 포맷을 도시하는 예시도이다.
도 6을 참조하면, DPDU은 도메인 헤더(Domain Header) 및 도메인 페이로드(Domain Payload)로 구성된다.
이때, 도메인 헤더는 디바이스 능력치 식별자(DC-ID : Device Capability ID, 이하 DC-ID로 약칭), 도메인 식별자(D-ID : Domain ID, 이하 D-ID로 약칭) 및 디바이스 개체 식별자(DE-ID : Domain Entity ID, 이하 DE-ID로 약칭)를 포함한다.
DC-ID는 디바이스가 가지는 능력치 값을 식별할 수 있는 정보이다. 이때 능력치 값이란 소정 항목에 대한 디바이스의 능력을 표시하는 정보로서, 예를 들면 디바이스의 에너지 잔량, 하드웨어 사양, 네트워크 연결 속도, 네트워킹 능력, 외부로의 이동 가능성, 시스템의 안정성, 컴퓨팅 파워, 자원 소모량 등일 수 있다. 이러한 DC-ID는 디바이스가 도메인으로 들어오기 전후, 관리자에 의하여 정해진 기준에 따라 임의의 값으로 부여되거나 또는 해당 디바이스에서 자체적으로 생성될 수 있다. DC-ID는 레퍼런스 포인트 컨트롤러의 선정 시에 가장 적절한 디바이스를 선출하기 위한 기준이 된다.
D-ID는 디바이스가 가진 환경 및 속성에 따라 도메인을 구분하기 위한 정보이다. 도메인은 앞서도 언급했듯이 물리적인 지역 구분을 기준으로 구분된 영역일 수도 있으며, 논리적인 인증 서비스를 거쳐서 구분된 영역일 수도 있다. 따라서 D-ID는 물리적인 지역을 기준으로 도메인을 구분하는 정보일 수도 있고, 논리적인 서비스를 기준으로 도메인을 구분하는 정보일 수도 있다.
DE-ID는 도메인에 속하는 개별 디바이스들을 식별하기 위한 정보이다.
한편 도메인 페이로드는 일반데이터 및 오류 검증 정보를 기록하기 위한 필드이다. 이때, 일반데이터는 디바이스 및 DRM 신뢰 체계에 관련된 정보 등을 의미한다. 또한 오류 검증 정보는 DPDU 패킷의 오류를 검증하기 위한 정보를 의미할 수 있다.
이상 설명한 바와 같이 DPDU는 도메인 내에 가입된 각 디바이스의 능력치를 판별할 수 있는 정보가 포함되어 있다. 따라서 도메인 내의 디바이스들 간에 DPDU 를 교환하여 서로간의 능력치를 비교하면 능력이 우수한 디바이스를 선출할 수 있고, 이를 레퍼런스 포인트 컨트롤러로 선정할 수 있게 된다. 이러한 절차는 이하에서 상세히 설명된다.
도 7은 이러한 DPDU를 이용하여 레퍼런스 포인트 컨트롤러를 자동적으로 선출하는 과정을 보여주는 흐름도이다.
도 7을 참조하면, 프로시저가 시작되면, 먼저 도메인에 가입할 디바이스(예컨대, 클라이언트 디바이스)들은 자신의 DC-ID의 값 "X", D-ID의 값 "Y" 및 DE-ID의 값 "Z"를 각각 소정의 값으로 설정한다(단계:S1).
이때, 상기 DC-ID의 설정 값은 관리자로부터 정해진 기준에 따라 부여되거나 또는 해당 디바이스에서 자체적으로 생성될 수 있다. 그 2가지 경우를 구분하여 설명하면 다음과 같다.
1. DC-ID 값이 관리자로부터 정해진 기준에 따라 부여되는 경우.
관리자가 특정 관리 디바이스를 이용하여 각 디바이스들의 능력 정보를 파악하고, 그 능력 정보를 미리 정해진 기준에 따라 능력치 값으로 변환하여 해당 디바이스의 DC-ID 값을 부여하는 방법이다. 이때, 상기 관리 디바이스는 도메인 내의 특정 디바이스, 제 3의 통신 가능한 위치에 존재하는 디바이스, 네트워크 영역 측의 특정 시스템(예컨대, 도메인 매니저) 등이 될 수 있다.
예를 들면, DC-ID 값을 그 디바이스가 가지는 에너지 잔량을 기준으로 했을 경우, 관리자는 관리 디바이스를 통해 도메인 내의 각각의 디바이스가 가지는 배터리 잔량을 검사한 뒤 이를 정해진 기준에 따라 수치화하여 디바이스들에게 DC-ID 값을 부여한다. 그러면, "디바이스 A의 DC-ID는 4, 디바이스 B의 DC-ID는 8, 디바이스 C의 DC-ID는 2"와 같이 각 디바이스의 DC-ID 값이 설정될 것이다.
2. DC-ID 값이 각 디바이스를 통하여 생성되는 경우.
각 디바이스 자체에서 능력 정보를 파악하고, 그 능력 정보를 디바이스에 미리 저장되어 있는 기준에 따라 능력치 값으로 변환하여 DC-ID 값으로 설정하는 방법이다.
예를 들면, DC-ID 값을 해당 디바이스가 가지는 에너지 잔량을 기준으로 했을 경우, 디바이스는 자신의 배터리 잔량을 검사하고, 이를 미리 저장되어 있는 "배터리 잔량-에너지 잔량 매핑 테이블"을 통하여 수치화하여 DC-ID 값을 생성한다. 그러면 "디바이스 A의 DC-ID는 4, 디바이스 B의 DC-ID는 8, 디바이스 C의 DC-ID는 2"와 같이 각 디바이스의 DC-ID 값이 설정될 것이다. 이때, 저장되는 "배터리 잔량-에너지 잔량 매핑 테이블"은 관리 디바이스로부터 제공받아 저장된 것일 수도 있고, 제품 생산 시에 저장된 것일 수도 있다.
본 Example 1-1에서는 배터리 용량이 많을수록 DC-ID 값을 작게 설정하는 것으로 가정한다. 이 경우 DC-ID 값이 작을수록 능력치가 높은 디바이스라고 할 수 있다. 그러나 이는 한정된 사항은 아니며 배터리 용량이 적을수록 DC-ID 값을 작게 설정할 수도 있음은 물론이다.
또한, 상기 디바이스의 능력치는 에너지 잔량이 뿐만 아니라, 하드웨어 사양, 네트워크 연결 속도, 네트워킹 능력, 외부로의 이동 가능성, 시스템의 안정성, 컴퓨팅 파워, 자원 소모량 등과 같은 다양한 정보로 구성될 수 있으며, DC-ID 값도 단순 수치값이 아닌 다양한 형태의 정보일 수 있다.
한편, 상기 D-ID는 디바이스가 가입할 도메인을 표시하는 고유 수치나 정보 데이터로 설정된다. 또한 각 디바이스의 DE-ID 값은 해당 D-ID에 속하는 디바이스들을 각각 구분할 수 있는 코드로 초기화된다. 이러한 D-ID 값 및 DE-ID 값은 관리자에 의하여 부여될 수도 있으며, 자체적으로 생성할 수도 있다.
이와 같이, 각 디바이스별로 DC-ID, D-ID 등의 설정(단계:S1)이 완료되면, 각각의 디바이스는 상기 설정된 정보가 포함된 DPDU를 자신의 주변 디바이스들에게 순차적으로 브로드캐스팅(Broadcasting) 또는 멀티캐스팅(Multicasting)한다(단계:S2).
그러면, 각각의 디바이스는 자신이 아닌 다른 디바이스로부터 전송되는 DPDU를 수신할 수 있다(단계:S3). 특정 디바이스가 DPDU을 수신하면, 해당 디바이스는 수신된 DPDU의 도메인 헤더에 포함된 DC-ID 값 "V"를 추출하고(단계:S4), 이 값을 자신이 보유한 DC-ID 값 "X"와 비교한다(단계:S5). 반면, DPDU가 수신되지 않았을 경우 설정된 시간 "T1"이 경과했는지의 여부를 판별한다(단계:S12). 상기 "V"는 다른 디바이스로부터 수신된 DPDU의 DC-ID 값을 의미하는 것으로, 그 DPDU를 송신한 디바이스의 입장에서는 DC-ID 값 "X"로 볼 수 있다.
상기 DC-ID 값의 비교 결과, 자신의 DC-ID값이 수신된 DC-ID 값보다 작을 경우, 상기 디바이스는 수신된 DC-ID 값을 폐기한다(단계:S6). 왜냐하면 이 경우에는 상기 DC-ID를 수신한 디바이스가 DC-ID를 송신한 디바이스보다 능력치인 에너지 용량이 더 많기 때문이다.
반면, 상기 DC-ID 값의 비교 결과, 자신의 DC-ID 값이 수신된 DC-ID 값보다 클 경우, 상기 디바이스는 수신된 DPDU의 도메인 헤더에 포함된 D-ID 정보 "W"를 추출하여(단계:S7), 자신의 D-ID 정보 "Y"와 동일한지를 검사한다(단계:S8). 이 같이 수신된 D-ID 정보를 확인하는 것은 같은 도메인 내에서 레퍼런스 포인트 컨트롤러가 하나씩 선출될 수 있도록 하기 위함이다. 상기 "W"는 다른 디바이스로부터 수신된 DPDU의 D-ID 값을 의미하는 것으로, 그 DPDU를 송신한 디바이스의 입장에서는 D-ID 값 "Y"로 볼 수 있다.
상기 D-ID의 검사결과, 수신된 D-ID가 자신의 D-ID와 동일하다면 상기 디바이스는 DPDU의 브로드캐스팅을 중단한다(단계:S9). 왜냐하면 이 경우에는 상기 디바이스의 입장서 볼 때 자신보다 더 능력치가 뛰어나면서 같은 도메인에 있는 디바이스가 존재한다는 것을 뜻하기 때문이다. 이는 곧 상기 디바이스가 레퍼런스 포인트 컨트롤러의 선출 경쟁에서 탈락되었음을 의미할 수 있다.
반면, 상기 D-ID의 검사 결과, 수신된 D-ID가 자신의 D-ID와 다르다면, 상기 디바이스는 상기 수신된 DPDU를 도메인이 다른 디바이스로부터 수신된 것으로 간주하여 DPDU의 순차적인 브로드캐스팅을 계속한다. 이때 상기 디바이스는 자신의 DPDU를 다시 다른 디바이스로 전송 한 뒤, 설정된 시간 "T2"만큼 경과되는지를 검사한다(단계:S10).
이때 만약, 상기 설정된 시간 "T2" 이내에 DPDU가 더 이상 수신되지 않거나 또는 자신의 DC-ID값보다 작고 D-ID는 동일한 값을 갖는 DPDU가 수신되지 않을 경우, 상기 디바이스는 도메인에서 능력치가 가장 뛰어난 디바이스인 것을 의미한다. 따라서 상기 디바이스는 하나의 도메인을 대표하는 레퍼런스 포인트 컨트롤러로 선출되게 된다(단계:S11). 레퍼런스 포인트 컨트롤러로 선출된 디바이스는 자신이 레퍼런스 포인트 컨트롤러로 선출되었음을 도메인 매니저에게 통보하고 등록한다. 여기서 등록 과정은 후에 도 13을 참조하여 설명될 것이다.
레퍼런스 포인트 컨트롤러로 선출된 디바이스에는 레퍼런스 포인트 컨트롤러 기능을 수행할 수 있는 소프트웨어가 구축될 수 있다. 이러한 소프트웨어는 비활성화 상태로 해당 디바이스에 미리 설치되어 있다가 해당 디바이스가 레퍼런스 포인트 컨트롤러로 선출되면 도메인 매니저의 명령에 의하여 활성화됨으로써 구축될 수도 있고, 또는 도메인 매니저나 다른 제 3의 디바이스가 원격으로 상기 레퍼런스 포인트 컨트롤러의 기능을 수행할 수 있는 소프트웨어를 선출된 디바이스로 업로드(Upload)시킬 수도 있다. 레퍼런스 포인트 컨트롤러의 선출 과정에 참여하는 도메인 내의 디바이스들은 레퍼런스 포인트 컨트롤러의 기능을 수행할 수 있는 기본 조건을 가진 디바이스들이라고 가정한다. 이때 기본 조건이란 비활성화 된 상기 소프트웨어를 내장하고 있거나. 레퍼런스 포인트 컨트롤러로의 기능을 수행할 수 있는 하드웨어적 또는 소프트웨어적인 사양을 만족하는 것을 의미할 수 있다.
이와 같이, 레퍼런스 포인트 컨트롤러의 선출에 관련된 Example 1-1에 의하면, 각 디바이스 간에 DPDU 데이터 패킷의 교환을 통하여 능력치가 가장 뛰어난 디바이스를 레퍼런스 포인트 컨트롤러로 선출할 수 있게 된다. 상술한 설명은 하나의 예일 뿐이며 DC-ID를 통한 능력치 설정, 능력치의 비교 방식 등은 동일한 기술적 사상 내에서 다양하게 변형이 가능할 것이다.
<Example 1-2>
이하에서는 레퍼런스 포인트 컨트롤러 선출 방법에 대한 다른 예인 Example 1-2를 설명하기로 한다.
Example 1-2의 레퍼런스 포인트 컨트롤러 선출 방법은 도메인에 등록하고자 하는 디바이스(예컨대, 클라이언트 디바이스)들이 도메인 매니저에게 자신의 디바이스 정보를 보고하고, 그 보고된 디바이스 정보를 토대로 도메인 매니저가 레퍼런스 포인트 컨트롤러를 선출하는 방법이다. 이때, 상기 디바이스 정보는 해당 디바이스가 가입할 도메인 정보, 해당 디바이스의 능력치 정보 및 해당 디바이스의 식별 정보 등이 포함된 정보일 수 있다. 예컨대, 상기 디바이스 정보는 DPDU일 수 있다.
도 8은 Example 1-2에 따른 바람직한 레퍼런스 포인트 컨트롤러 선출 방법의 흐름을 도시하는 흐름도이다.
도 8을 참조하면, 프로시저가 시작되면, 먼저 도메인에 가입할 디바이스들은 자신의 DC-ID의 값 "X", D-ID의 값 "Y" 및 DE-ID의 값 "Z"를 각각 소정의 값으로 설정한다(단계:S20). 이때, 상기 DC-ID의 설정 값은, 앞서 언급한 바와 같이 관리자로부터 정해진 기준에 따라 부여되거나 또는 해당 디바이스에서 자체적으로 생성될 수 있다.
예를 들어, DC-ID 값의 기준을 디바이스에 내장된 CPU(Central Processing Unit)의 사양으로 했을 경우, 각 디바이스의 DC-ID 값은 관리자로부터 부여 또는 자체적으로 생성된 능력치 값으로 설정된다. 예컨대, 디바이스 A는 4, 디바이스 B 는 2, 디바이스 C는 3, 디바이스 D는 8 등과 같이 DC-ID 값이 설정될 수 있다.
이때 CPU의 사양이 높을수록 DC-ID 값이 작은 것으로 가정한다. 즉, DC-ID 값이 작을수록 그 능력치가 높은 디바이스라고 할 수 있다. 그러나 이는 한정된 사항은 아니며 배터리 용량이 적을수록 DC-ID 값을 작게 설정할 수도 있음은 물론이다. 또한 실시 환경에 따라서는 상기 디바이스의 능력치에 CPU 외의 다른 하드웨어 정보, 에너지 정보 등을 다양한 형태로 반영할 수 있다.
상기 D-ID는 디바이스가 가입할 도메인을 표시하는 고유 수치나 정보 데이터로 설정된다. 또한 각 디바이스의 DE-ID 값은 해당 D-ID에 속하는 디바이스들을 각각 구분할 수 있는 코드로 초기화된다. 이러한 D-ID 값 및 DE-ID 값은 관리자에 의하여 부여될 수도 있으며, 자체적으로 생성할 수도 있다.
이와 같이, 각 디바이스별로 DC-ID, D-ID 등의 설정이 완료되면, 디바이스들은 상기 설정된 정보가 포함된 DPDU를 도메인 매니저로 전송한다(단계:S21). 이러한 DPDU의 전송은 미리 설정된 시간 내에 이루어지는 것이 바람직하다. 도메인 매니저는 상기 설정된 시간까지만 수신 대기 상태를 유지하다가 상기 시간이 초과되면 더 이상 DPDU를 수신하지 않는다.
이어서, 도메인 매니저는 디바이스들로부터 수신된 DPDU의 도메인 헤더에 포함된 DC-ID 값을 서로 비교하여(단계:S22), DC-ID 값이 가장 작은 디바이스 즉, 능력치가 가장 뛰어난 디바이스를 추출한다(단계:S23). 이어, 능력치가 가장 뛰어난 디바이스가 추출되면, 도메인 매니저는 상기 검색된 디바이스의 D-ID를 검사하여(단계:S24), 새로 형성할 도메인의 ID와 동일한지를 검사하고 동일할 경우 해당 디 바이스를 레퍼런스 포인트 컨트롤러로 선출한다(단계:S25). 레퍼런스 포인트 컨트롤러로 선출된 디바이스에는, 앞선 Example 1-1에서도 언급했듯이, 레퍼런스 포인트 컨트롤러 기능이 구축될 수 있다.
한편 D-ID 검사결과, 상기 검색된 디바이스의 D-ID가 새로 형성할 도메인의 ID가 아닐 경우, 해당 디바이스를 제외한 나머지 디바이스들의 DC-ID 값을 서로 비교하여 능력치가 가장 뛰어난 디바이스를 검색함으로써 레퍼런스 포인트 컨트롤러를 선출할 수 있을 것이다.
한편, 상술한 Example 1-2에서는 레퍼런스 포인트 컨트롤러의 선출 기준을 각 디바이스가 가지는 능력치의 비교에 근거하고 있으나, 상기 선출 기준은 능력치의 비교뿐만 아니라 기준 정보와의 부합 정도, 사용자의 설정 등 다양한 변형이 가능하다.
예를 들어, 도메인에 등록하고자 하는 디바이스들이 자신의 하드웨어 사양 정보를 디바이스 정보에 포함시켜 도메인 매니저에게 전송하면, 도메인 매니저는 상기 전송된 각각의 디바이스 정보를 정해진 사양 정보와 비교하여 가장 부합되는 디바이스를 레퍼런스 포인트 컨트롤러로 선출할 수도 있다. 또한, 도메인 매니저가 각각의 디바이스들로부터 전송되는 디바이스 정보 중 사용자에 의하여 미리 설정된 디바이스 정보와 일치하는 디바이스를 레퍼런스 포인트 컨트롤러로 선출할 수도 있다.
<Example 1-3>
Example 1-3에 따른 레퍼런스 포인트 컨트롤러 선출 방법은, 관리자나 사용 자에 의하여 미리 설정되거나 임의로 설정된 설정 정보에 따라 레퍼런스 포인트 컨트롤러를 선출하는 방법이다. 예를 들어, 관리자나 사용자가 도메인 매니저에 설정 정보를 입력하면 도메인 매니저는 그 설정 정보에 의하여 레퍼런스 포인트 컨트롤러를 선출할 수 있다. 또는 관리자나 사용자가 레퍼런스 포인트 컨트롤러로 사용할 디바이스를 직접 선택하여 레퍼런스 포인트 컨트롤러를 구축할 수도 있다. 따라서 Example 1-3은 관리자나 사용자가 원하는 디바이스를 레퍼런스 포인트 컨트롤러로 선출하거나 임의의 디바이스를 레퍼런스 포인트 컨트롤러로 선출할 수 있도록 한다.
이상 설명한 Example 1-1 내지 Example 1-3를 통하여, 도메인의 초기 구성 시에 로컬 영역의 범위를 결정할 레퍼런스 포인트 컨트롤러의 선출 방법을 살펴보았다. 레퍼런스 포인트 컨트롤러가 선출되면, 그 레퍼런스 포인트 컨트롤러에 의하여 클라이언트가 도메인에 로컬 상태로 가입할 수 있는 로컬 영역의 범위가 결정될 수 있다.
한편, 앞서도 언급했듯이 도메인 매니저나 라이선스 매니저는 로컬 영역이나 외부의 네트워크 영역 어디에든 존재할 수 있다. 물론 이들이 외부의 네트워크 존재할 경우에는 이들이 도메인과 신뢰성 있게 연동할 수 있는 보안된 통신 수단이 뒷받침되어야 한다는 전제가 필요하다.
반면에, 레퍼런스 포인트 컨트롤러는 로컬 영역 내에서 로컬 영역의 범위 및 로컬 환경을 결정하는 개체라 할 수 있으므로, 도메인 매니저나 라이선스 매니저와는 달리 로컬 영역 내에 존재하여야 한다. 이때 레퍼런스 포인트 컨트롤러는 자신 이 정상적으로 기능을 수행하고 있음을 증명하기 위해서 주기적 및 지속적으로 도메인 매니저와 정보 신호를 교환하여야 한다.
만약, 도메인 매니저가 일정 시간동안 레퍼런스 포인트 컨트롤러로부터 아무런 정보 신호를 받지 못한다면, 이는 레퍼런스 포인트 컨트롤러가 정상적인 동작을 수행할 수 없음을 의미한다. 즉, 레퍼런스 포인트 컨트롤러가 고장 나거나 또는 외부의 통신 불능 지역으로 이동하여 작동 불능 상태가 된 것이다.
이 경우 도메인에 가입된 로컬 영역 내의 클라이언트 디바이스들은 콘텐트를 정상적으로 이용할 수 없는 상황이 발생할 수 있다. 실제로, 레퍼런스 포인트 컨트롤러는 휴대폰, 피디에이 등에 설정될 수도 있으므로 외부의 통신 불능 지역으로 이동할 가능성이 존재하며, 이 경우 오동작할 가능성이 높다.
따라서, 본 발명에서는 레퍼런스 포인트 컨트롤러의 작동 불능에 대비할 수 있는 방법을 개시한다. 이를 위해 먼저 레퍼런스 포인트 컨트롤러 후보의 개념이 도입된다. 레퍼런스 포인트 컨트롤러 후보란 레퍼런스 포인트 컨트롤러의 작동 불능 시에 그 레퍼런스 포인트 컨트롤러를 대체할 수 있는 디바이스를 의미할 수 있다. 이러한 레퍼런스 포인트 컨트롤러 후보는 초기의 도메인 구성 시에 선출되거나, 또는 도메인이 구성된 후 도메인 매니저의 선출 명령에 의하여 선출될 수도 있다.
- 레퍼런스 포인트 컨트롤러 후보의 선출 및 운용 -
레퍼런스 포인트 컨트롤러 후보를 선출하는 방법에는 크게 다음과 같은 4가지가 있다.
첫 번째 방법은, 도메인 내의 디바이스들 중 현재의 레퍼런스 포인트 컨트롤러를 제외한 나머지 디바이스들이 디바이스 정보를 서로 주고받고, 그 디바이스 정보를 소정의 알고리즘, 예컨대, Example 1-1에서 설명했던 알고리즘에 따라 비교하여 레퍼런스 포인트 컨트롤러 후보를 선정하는 방법이다. 예를 들어, 디바이스들 간에 능력치를 서로 주고받고, 가장 능력치가 우수한 디바이스를 레퍼런스 포인트 컨트롤러 후보로 선출하는 것이다. 이때 선출된 레퍼런스 포인트 컨트롤러 후보는 도메인 매니저에게 자신이 레퍼런스 포인트 컨트롤러 후보로 선출되었음을 통보하여야 한다.
두 번째 방법은, 앞서 설명한 Example 1-2에 따른 레퍼런스 포인트 컨트롤러 선출의 개념과 유사하게, 도메인 내의 디바이스들이 도메인 매니저에게 자신의 디바이스 정보(예를 들면, 능력치 정보가 포함된 DPDU 등)를 제공하고, 그 디바이스 정보를 토대로 도메인 매니저가 레퍼런스 포인트 컨트롤러 후보를 선출하는 방법이다.
세 번째 방법은, 도메인 내의 디바이스들이 레퍼런스 포인트 컨트롤러에게 자신의 디바이스 정보를 제공하고, 그 디바이스 정보를 토대로 레퍼런스 포인트 컨트롤러가 레퍼런스 포인트 컨트롤러 후보를 선출하는 방법이다. 이 경우 레퍼런스 포인트 컨트롤러 후보가 선출되면 레퍼런스 포인트 컨트롤러는 선출된 레퍼런스 포인트 컨트롤러 후보의 정보를 도메인 매니저에게 보고하여야 한다.
네 번째 방법은, 미리 설정된 정보에 의하여 레퍼런스 포인트 컨트롤러 후보를 선출하는 방법이다. 이때, 상기 설정된 정보는 관리자에 의하여 설정되거나, 사 용자에 의하여 설정되거나 또는 임의로 설정된 정보를 포함할 수 있다.
이하, 상술한 4가지 방법을 각각 상세히 설명하기로 한다. 이해의 편의를 위하여 상기 언급된 첫 번째 레퍼런스 포인트 컨트롤러 후보 선출 방법을 "Example 2-1"로, 두 번째 레퍼런스 포인트 컨트롤러 선출 방법을 "Example 2-2"로, 세 번째 레퍼런스 포인트 컨트롤러 선출 방법을 "Example 2-3"로, 네 번째 레퍼런스 포인트 컨트롤러 선출 방법을 "Example 2-4"로 칭하기로 한다.
<Example 2-1>
도 9는 Example 2-1에 따른 바람직한 레퍼런스 포인트 컨트롤러 후보의 선출 과정을 도시하는 흐름도로서, 디바이스의 능력치를 이용하여 레퍼런스 포인트 컨트롤러를 자동적으로 선출하는 과정을 보여주고 있다.
먼저, 본 Example 2-1에 따른 레퍼런스 포인트 컨트롤러 후보의 선출 프로시저는 도메인 구성 시 레퍼런스 포인트 컨트롤러의 선출 프로시저가 종료된 후 시작되거나, 또는 도메인 구성 후 임의의 시간에 도메인 매니저와 같은 개체의 개시 명령에 의하여 시작될 수도 있다.
도 9에 도시된 바와 같이, 프로시저가 시작되면, 먼저 도메인 내의 디바이스들 중 레퍼런스 포인트 컨트롤러를 제외한 디바이스들은 디바이스 정보를 설정한다(단계:S30).
상기 디바이스 정보에는 자신의 능력치 정보와, 도메인 정보 및 디바이스 식별 정보 등이 포함될 수 있다. 여기서 능력치 정보는 해당 디바이스의 에너지 잔량, 하드웨어 사양, 네트워크 연결 속도, 외부로의 이동 가능성, 시스템의 안정성 등에 대한 정보를 포함할 수 있다. 또한 능력치 정보는 앞서 설명했던 DC-ID의 값처럼 수치화된 값일 수도 있으나, 단순 수치 값이 아닌 다양한 형태의 정보일 수도 있다.
각 디바이스별 디바이스 정보(능력치 정보, 도메인 정보, 디바이스 식별 정보 등)의 설정이 완료되면, 해당 디바이스는 상기 설정된 정보를 규격화된 패킷으로 만들고, 예컨대 DPDU에 삽입하여 다른 디바이스들로 순차적으로 브로드캐스팅 또는 멀티캐스팅 한다(단계:S31).
그러면 각 디바이스들은 자신 이외의 다른 디바이스들로부터 전송되는 규격화된 패킷을 수신한 뒤(단계:S32), 수신된 패킷에 포함된 능력치 정보를 자신의 능력치 정보와 비교하고(단계:S33), 그 비교 결과를 토대로 (패킷을 송신한 디바이스와 자신 중)하나의 디바이스를 선출 경쟁에서 탈락시킨다(단계:S34).
예를 들면, 상기 패킷을 수신한 디바이스는, 수신된 패킷의 능력치 정보와 자신의 능력치 정보를 비교하여 상기 수신된 패킷의 능력치 정보가 자신의 능력치보다 높을 경우 더 이상의 브로드캐스팅을 중지한다. 즉, 자신을 레퍼런스 포인트 컨트롤러 후보의 선출 경쟁에서 탈락시키는 것이다. 이때 상기 수신된 패킷의 정보가 자신과 동일한 도메인인지를 검사하는 과정도 수행될 수 있다. 반면, 수신된 패킷의 능력치 정보가 자신의 능력치보다 낮을 경우 해당 패킷을 폐기시킨다. 즉, 패킷을 송신한 디바이스를 레퍼런스 포인트 컨트롤러 후보의 선출 경쟁에서 탈락시키는 것이다.
상기 과정을 통해서 최종적으로 능력치가 가장 뛰어난 하나의 디바이스만 생 존하게 된다(단계:S35). 그러면 그 생존된 디바이스는 레퍼런스 포인트 컨트롤러 후보로 선출된다(단계:S36). 상기 선출된 디바이스는 자신이 도메인 매니저에 자신이 레퍼런스 포인트 컨트롤러 후보로 선출되었음을 통보한다.
도메인 매니저는 상기 선출된 레퍼런스 포인트 컨트롤러 후보의 정보를 관리하고 있다가 레퍼런스 포인트 컨트롤러에 이상이 발생하면 즉시 상기 레퍼런스 포인트 컨트롤러 후보를 새로운 레퍼런스 포인트 컨트롤러로 대체할 수 있다.
한편, 도메인 매니저 내는 상기 레퍼런스 포인트 컨트롤러 후보를 우선순위별로 복수 개 등록할 수도 있다. 즉, 제 1 순위의 레퍼런스 포인트 컨트롤러 후보를 선출하기 위한 프로시저를 수행하여 제 1 순위의 레퍼런스 포인트 컨트롤러 후보를 등록하고, 이어 제 2 순위의 레퍼런스 포인트 컨트롤러 후보를 선출하기 위한 프로시저를 수행하도록 하여 제 2 순위의 레퍼런스 포인트 컨트롤러 후보를 등록하는 것이다. 이를 반복하여 소정의 개수만큼 레퍼런스 포인트 컨트롤러 후보를 등록할 수 있다.
이와 같이 복수 개의 레퍼런스 포인트 컨트롤러 후보가 등록될 경우 우선순위 순서대로 레퍼런스 포인트 컨트롤러를 대체할 수 있게 된다. 이때, 등록된 복수 개의 레퍼런스 포인트 컨트롤러 후보들은 자신들이 온전히 동작하고 있음을 주기적으로 증명하여야 하는데 여기에 관련된 내용은 후에 상세히 설명될 것이다.
<Example 2-2>
Example 2-2에 따른 레퍼런스 포인트 컨트롤러 후보 선출 방법은 도메인 내의 디바이스들이 도메인 매니저에게 자신의 디바이스 정보를 보고하고, 그 보고된 디바이스 정보를 토대로 도메인 매니저가 레퍼런스 포인트 컨트롤러 후보를 선출하는 방법이다.
이는 앞서 설명한 Example 1-2에 따른 레퍼런스 포인트 컨트롤러 선출의 개념과 유사하다. Example 1-2에서는 도메인에 가입할 디바이스들이 도메인 매니저에게 자신의 디바이스 정보를 보고하고, 도메인 매니저는 보고된 디바이스 정보를 토대로 가장 적합한 하나의 디바이스를 선출하여 레퍼런스 포인트 컨트롤러로 등록한다.
이에 비하여 Example 2-2에서는 레퍼런스 포인트 컨트롤러를 제외한 도메인 내의 디바이스들이 각각 자신의 디바이스 정보를 도메인 매니저에게 제공하고, 도메인 매니저는 상기 보고된 디바이스 정보를 토대로 가장 적합한 하나의 디바이스를 선출하여 레퍼런스 포인트 컨트롤러 후보로 등록한다.
이때, 상기 디바이스 정보에는 정해진 기준에 따른 해당 디바이스의 능력을 나타내는 능력치 정보가 포함될 수 있다. 도메인 매니저는 각 디바이스들로부터 제공되는 능력치 정보를 이용하여 능력치가 뛰어난 디바이스 순으로 우선순위를 부여하여 디바이스를 등록할 수 있다. 예를 들어, 도메인 매니저는 각 디바이스의 능력치 정보에 따라 레퍼런스 포인트 컨트롤러를 최우선적으로 대체할 수 있는 제 1 레퍼런스 포인트 컨트롤러 후보부터 제 2 레퍼런스 포인트 컨트롤러 후보, 제 3 레퍼런스 포인트 컨트롤러 후보 순으로 복수의 레퍼런스 포인트 컨트롤러 후보를 선출하여 등록할 수 있다. 이렇게 복수의 레퍼런스 포인트 컨트롤러 후보가 등록되면 부여된 우선순위에 따라 레퍼런스 포인트 컨트롤러를 대체할 수 있게 된다.
한편, 이러한 레퍼런스 포인트 컨트롤러 후보의 선출 프로시저는 레퍼런스 포인트 컨트롤러가 선출된 후 수행될 수 있으나, 실시 환경에 따라서는 Example 1-2에 개시된 레퍼런스 포인트 컨트롤러의 선출 프로시저의 수행 시에 레퍼런스 포인트 컨트롤러 후보까지 선출할 수도 있다. 즉, 레퍼런스 포인트 컨트롤러의 선출 시에 제 1 레퍼런스 포인트 컨트롤러 후보, 제 2 레퍼런스 포인트 컨트롤러 후보 등도 선출하는 것이다. 예를 들면, 도메인 구성 시 도메인 내에 가입될 디바이스들이 도메인 매니저에게 자신의 능력치에 대한 정보를 보고하고, 그 보고된 능력치를 토대로 도메인 매니저가 레퍼런스 포인트 컨트롤러, 제 1 레퍼런스 포인트 컨트롤러 후보, 제 2 레퍼런스 포인트 컨트롤러 후보 등을 선출할 수 있다.
<Example 2-3>
Example 2-3에 따른 레퍼런스 포인트 컨트롤러 후보 선출 방법은 도메인 내의 디바이스들이 레퍼런스 포인트 컨트롤러에게 자신의 디바이스 정보를 보고하고, 그 보고된 디바이스 정보를 토대로 레퍼런스 포인트 컨트롤러가 레퍼런스 포인트 컨트롤러 후보를 선출하는 방법이다.
이는 앞서 설명한 Example 2-2에 따른 레퍼런스 포인트 컨트롤러 후보의 선출 절차와 거의 동일하지만, 레퍼런스 포인트 컨트롤러 후보를 선출하는 주체가 도메인 매니저가 아니라 레퍼런스 포인트 컨트롤러라는 차이가 있다.
레퍼런스 포인트 컨트롤러로 보고되는 디바이스 정보에는 해당 디바이스의 능력을 나타내는 능력치 정보가 포함될 수 있다. 레퍼런스 포인트 컨트롤러는 각 디바이스들로부터 보고되는 능력치 정보를 이용하여 능력치가 뛰어난 디바이스 순 으로 우선순위를 부여하여 디바이스를 등록할 수 있다. 예를 들어, 레퍼런스 포인트 컨트롤러는 각 디바이스의 능력치 정보를 토대로 자신을 최우선적으로 대체할 수 있는 제 1 레퍼런스 포인트 컨트롤러 후보부터 제 2 레퍼런스 포인트 컨트롤러 후보, 제 3 레퍼런스 포인트 컨트롤러 후보 순으로 복수의 레퍼런스 포인트 컨트롤러 후보를 선출하여 등록할 수 있다. 이렇게 복수의 레퍼런스 포인트 컨트롤러 후보가 등록되면 부여된 우선순위에 따라 레퍼런스 포인트 컨트롤러를 대체할 수 있게 된다.
한편, 레퍼런스 포인트 컨트롤러 후보가 선출되면, 레퍼런스 포인트 컨트롤러는 그 선출된 레퍼런스 포인트 컨트롤러 후보를 도메인 매니저에 등록한다. 또한, 복수의 레퍼런스 포인트 컨트롤러 후보가 우선순위에 따라 선출되었을 경우에도 레퍼런스 포인트 컨트롤러는 도메인 매니저에게 그 선출 내역을 보고하여야 한다. 따라서 레퍼런스 포인트 컨트롤러가 고장 나거나 통신 불능 지역으로 장시간 이동하더라도, 레퍼런스 포인트 컨트롤러 후보가 레퍼런스 포인트 컨트롤러를 대체함으로써, 정상적인 서비스가 이루어질 수 있다.
<Example 2-4>
Example 2-4에 따른 레퍼런스 포인트 컨트롤러 후보 선출 방법은, 관리자나 사용자에 의하여 미리 설정되거나 임의로 설정된 설정 정보에 따라 레퍼런스 포인트 컨트롤러 후보를 선출하는 방법이다. 예를 들어, 관리자나 사용자가 도메인 매니저 또는 레퍼런스 포인트 컨트롤러에 설정 정보를 입력하면 도메인 매니저 또는 레퍼런스 포인트 컨트롤러는 그 설정 정보에 의하여 레퍼런스 포인트 컨트롤러 후 보를 설정할 수 있다.
상기 설정 정보는 우선순위가 부여된 복수의 레퍼런스 포인트 컨트롤러 후보에 대한 정보를 포함할 수 있다. 즉, 도메인 매니저 또는 레퍼런스 포인트 컨트롤러는 상기 설정 정보에 포함된 우선순위에 따라 복수의 레퍼런스 포인트 컨트롤러 후보를 선출할 수 있다. 예를 들어, 디바이스 A는 1순위의 레퍼런스 포인트 컨트롤러 후보, 디바이스 B는 2순위의 레퍼런스 포인트 컨트롤러 후보 등과 같이 선출하여 등록할 수 있다. 그러면, 레퍼런스 포인트 컨트롤러의 이상 발생 시에 1순위의 레퍼런스 포인트 컨트롤러 후보를 통하여 레퍼런스 포인트 컨트롤러를 대체할 수 있으며, 그 대체된 레퍼런스 포인트 컨트롤러의 이상 발생 시에는 제 2 순위의 레퍼런스 포인트 컨트롤러 후보를 레퍼런스 포인트 컨트롤러로 대체할 수 있다.
도메인 매니저의 경우, 도메인 구성 시에 레퍼런스 포인트 컨트롤러의 선출과 동시에 레퍼런스 포인트 컨트롤러 후보들도 미리 설정된 우선순위에 따라 지정할 수 있다. 그러면, 레퍼런스 포인트 컨트롤러의 고장 발생 시에 좀더 유연하고 신속하게 대처할 수 있을 것이다. 반면 레퍼런스 포인트 컨트롤러의 경우, 자신이 선출된 뒤 자신을 대체할 후보를 설정 정보에 따라 지정할 수 있다.
한편, 이와 같이 도메인 매니저나 레퍼런스 포인트 컨트롤러를 이용하지 않고, 관리자나 사용자가 레퍼런스 포인트 컨트롤러 후보로 사용할 디바이스를 직접 선택할 수도 있다. 이 경우 선택된 레퍼런스 포인트 컨트롤러 후보는 도메인 매니저에게 자신이 레퍼런스 포인트 컨트롤러 후보로 선택되었음을 보고하여야 한다.
이상 설명한 Example 2-1 내지 Example 2-4를 통하여 레퍼런스 포인트 컨트 롤러 후보를 선출하는 방법을 살펴보았다. 레퍼런스 포인트 컨트롤러 및 레퍼런스 포인트 컨트롤러 후보가 결정되면, 레퍼런스 포인트 컨트롤러의 이상 발생 시에도 레퍼런스 포인트 컨트롤러 후보를 이용하여 레퍼런스 포인트 컨트롤러를 대체할 수 있다. 또한 소정의 우선순위에 따라 복수의 레퍼런스 포인트 컨트롤러 후보들을 설정함으로써 도메인 내의 서비스에 안정성 및 유연성을 확보할 수 있다.
레퍼런스 포인트 컨트롤러 후보는 다음과 같은 기능들을 가지는 것이 바람직하다.
1. 레퍼런스 포인트 컨트롤러의 기능 : 예를 들면, 특정 디바이스에 대한 근접도(Proximity)의 측정, 도메인 신임장(Credential) 발급 등. 레퍼런스 포인트 컨트롤러의 기능은 앞서 언급한 바 있다.
2. 정보 신호 송수신 기능 : 레퍼런스 포인트 컨트롤러 후보는 자신이 정상적으로 동작하고 있음을 알리는 정보 신호를 정해진 특정 인터페이스를 통하여 레퍼런스 포인트 컨트롤러 등과 송수신할 수 있어야 한다.
3. 미수신 조건 설정 기능 : 정보 신호의 미수신을 판별할 수 있는 조건을 설정할 수 있는 기능이다. 예를 들어, 타입아웃(Time Out), 카운트 리미트(Count Limit), 레인지 리미트(Range Limit) 등을 설정할 수 있다.
4. 도메인 매니저로의 보고 기능 : 도메인 매니저와의 통신을 위한 데이터 구조와 인터페이스를 지원하는 기능.
5. 다운로드 기능 : 도메인 매니저 또는 특정 서비스 단말로부터 개체(소프트웨어)를 다운로드받을 수 있는 인터페이스 지원 기능.
한편, 레퍼런스 포인트 컨트롤러는 자신이 정상 동작 여부를 도메인 매니저나 다른 디바이스들에게 주기적으로 증명하여야 한다. 또한, 레퍼런스 포인트 컨트롤러 후보들도 자신들이 온전히 동작하고 있는지를 도매인 매니저나 다른 디바이스들에게 주기적으로 증명해야한다. 왜냐하면, 레퍼런스 포인트 컨트롤러 후보에 이상이 발생할 경우 레퍼런스 포인트 컨트롤러의 대체 기능을 올바르게 수행할 수 없어 예기치 못한 오류가 발생할 수도 있기 때문이다.
도 10은 레퍼런스 포인트 컨트롤러 및 레퍼런스 포인트 컨트롤러 후보들 간의 정보 신호 전송을 위한 연결 구성을 도시하는 블록도이다.
도 10에 도시된 바와 같이, 도메인(6) 내에 존재하는 레퍼런스 포인트 컨트롤러(70) 및 레퍼런스 포인트 컨트롤러 후보들(71, 72)간에는 지정된 정보신호 전송 루트(a, b, c)가 형성된다. 이때 정보신호 전송 루트(a, b, c)는 디바이스의 정상 동작 여부를 증명하기 위한 정보신호가 전송할 수 있는 루트를 의미한다.
예를 들어, 도 7에 도시된 정보신호 전송 루트(a, b, c)를 살펴보면, 레퍼런스 포인트 컨트롤러(70)는 제 1 레퍼런스 포인트 컨트롤러 후보(71)로 정보 신호를 전송하며, 제 1 레퍼런스 포인트 컨트롤러 후보(71)는 제 2 레퍼런스 포인트 컨트롤러 후보(72)로 정보 신호를 전송한다. 또한, 제 2 레퍼런스 포인트 컨트롤러 후보(72)는 레퍼런스 포인트 컨트롤러(70)로 정보 신호를 전송한다. 이때 제 1 레퍼런스 포인트 컨트롤러 후보(71)란 우선순위가 첫 번째인 1순위의 레퍼런스 포인트 컨트롤러 후보를 의미하며, 제 2 레퍼런스 포인트 컨트롤러 후보(72)란 우선순위가 두 번째인 2순위의 레퍼런스 포인트 컨트롤러 후보를 의미한다.
상기 정보신호 전송 루트(a, b, c)는 안전한 통신 수단 또는 채널이 보장된 루트이어야 한다. 이때, 안전한 통신 수단 또는 채널을 형성하기 위해서는 다양한 암호화 방식이 적용될 수 있다. 예를 들면 공개키 방식, 미리 키를 공유하는 방식, 도메인 매니저가 키에 대한 정보를 디바이스들에게 제공하는 방식 등이 적용될 수 있다. 또는, 콘텐트 전송 컨트롤러가 콘텐트 반출자, 콘텐트 변환자, 콘텐트 반입자 간의 암호화된 보안 인증 채널 생성 시 키에 대한 정보를 제공할 수 있다.
전송 신호는 정보신호 전송 루트(a, b, c)를 통해 주기적으로 전송 된다. 전송 신호는 레퍼런스 포인트 컨트롤러 또는 레퍼런스 포인트 컨트롤러 후보가 정상적으로 동작하고 있음을 증명하는 신호로서, 도메인 정보, 디바이스 식별 정보, 시스템 정보, 타임아웃 정보 등을 포함할 수 있다.
여기서 타임아웃 정보는 정보신호의 정상적인 수신 여부를 판별하기 위한 제한 시간에 관련된 정보를 의미한다.
예를 들어, 제 1 레퍼런스 포인트 컨트롤러 후보(71)는 레퍼런스 포인트 컨트롤러(70)로부터 제한된 시간 내에 정보 신호가 수신되지 않을 경우, 레퍼런스 포인트 컨트롤러(70)에 이상이 발생한 것으로 판단한다. 이어, 제 1 레퍼런스 포인트 컨트롤러 후보(71)는 도메인 매니저(60)에 이상이 발생하였음을 보고하고 자신이 레퍼런스 포인트 컨트롤러(70)의 기능을 대체함을 보고한 뒤, 레퍼런스 포인트 컨트롤러(70)의 기능을 수행한다.
이때 제 1 레퍼런스 포인트 컨트롤러 후보(71)는 도메인 매니저(60) 또는 제 3의 단말기로부터 레퍼런스 포인트 컨트롤러의 기능 수행에 필요한 정보 및 도구를 제공받을 수 있다. 예를 들어, 특정 인터페이스를 통해 해당 기능을 수행할 수 있는 소프트웨어 다운로드받아 탑재하거나, 자체에 내장된 비활성화 상태의 소프트웨어를 활성화할 수도 있다.
또한, 다른 예로 레퍼런스 포인트 컨트롤러(70)는 제 2 레퍼런스 포인트 컨트롤러 후보(72)로부터 제한된 시간 내에 정보 신호를 수신하지 못하였을 경우, 제 2 레퍼런스 포인트 컨트롤러 후보(72)에 이상이 발생한 것으로 판단하여 도메인 매니저(60)에게 이를 통보한다. 그러면 제 2 레퍼런스 포인트 컨트롤러 후보(72) 보다 하위의 우선순위를 가지는 레퍼런스 포인트 컨트롤러 후보, 예컨대 제 3 레퍼런스 포인트 컨트롤러 후보(미도시)가 제 2 레퍼런스 포인트 컨트롤러 후보(72)를 대체할 수 있다. 또는 앞서 설명한 레퍼런스 포인트 컨트롤러 후보 선출 절차들(Example 2-1, ..., Example 2-4)을 통해 우선순위를 새롭게 재구성할 수도 있다.
한편, 도 10에 도시된 예에서는 레퍼런스 포인트 컨트롤러(70) 및 레퍼런스 포인트 컨트롤러 후보들(71, 72) 간의 정보 신호 전송을 통해 디바이스의 이상 여부를 증명하고 있으나, 이는 한정된 의미는 아니며, 도 11에 도시된 바와 같이 레퍼런스 포인트 컨트롤러(70)와 레퍼런스 포인트 컨트롤러 후보들(71, 72)이 각각 도메인 매니저(60)에게 직접 e, f, c 루트를 통해 정보 신호를 전송할 수도 있다. 또한, 다른 예로 레퍼런스 포인트 컨트롤러(70)는 도메인 매니저(60)로 직접 정보 신호를 전송하고, 레퍼런스 포인트 컨트롤러 후보들(71, 72)은 특정 루트를 통해 서로 정보 신호를 전송하도록 할 수도 있다. 즉, 전보 신호의 전송 루트는 실시 환경에 따라 다양하게 변형될 수 있다.
이상 설명한 바와 같이, 레퍼런스 포인트 컨트롤러(70) 및 레퍼런스 포인트 컨트롤러 후보들(71, 72)은 정보 신호를 이용하여 자신의 정상 동작 여부를 주기적으로 증명하고, 이러한 정보 신호의 수신 여부를 통하여 레퍼런스 포인트 컨트롤러(70)를 대체하거나 레퍼런스 포인트 컨트롤러 후보(71, 72)의 우선순위를 재구성할 수 있다.
한편, 하나의 레퍼런스 포인트 컨트롤러에 의하여 정해지는 로컬 영역의 범위는 정책적인 이유 등으로 인하여 물리적 또는 논리적으로 제한된다. 그러나 사용자의 입장에서는 현재 설정된 로컬 영역의 범위보다 좀더 확장된 범위에서 콘텐트 서비스를 이용하고자 하는 경우가 발생할 수 있다. 따라서 로컬 영역의 범위의 제한은 유지하면서 서비스의 영역은 확장할 수 있는 방안이 요구된다.
이에 따라 본 발명에서는 레퍼런스 포인트 컨트롤러 프록시(Proxy)의 개념을 도입한다. 레퍼런스 포인트 컨트롤러 프록시란 레퍼런스 포인트 컨트롤러를 대신하여 레퍼런스 포인트 컨트롤러의 기능을 수행할 수 있는 디바이스를 의미한다. 이러한 레퍼런스 포인트 컨트롤러 프록시는 도메인의 확장 시 또는 레퍼런스 포인트 컨트롤러의 일시적인 외부로의 이동 시에 필요하다.
- 레퍼런스 포인트 컨트롤러 프록시의 선출 및 운용 -
도 12는 레퍼런스 포인트 컨트롤러 프록시의 개념을 설명하기 위한 블록도로서, 도메인 A에 도메인 A'만큼을 추가하여 확장한 예를 도시하고 있다.
도 12에 도시된 바와 같이, 도메인 A(86)에 가입할 수 있는 로컬 영역은 레퍼런스 포인트 컨트롤러(82)에 의하여 그 범위 및 환경이 결정된다. 이때, 서비스 의 범위를 확장시키거나 또는 레퍼런스 포인트 컨트롤러(82)가 일시적으로 로컬 영역의 외부로 이동하여야 할 경우, 도메인 A와 동등한 권한을 갖는 확장 도메인, 예컨대 도메인 A'(96)를 생성시켜야 한다.
도메인 A'(96)에 가입할 수 있는 로컬 영역의 범위 및 환경은 레퍼런스 포인트 컨트롤러 프록시(92)에 의하여 결정될 수 있다. 레퍼런스 포인트 컨트롤러 프록시(92)는 도메인 A'(96) 내에서 레퍼런스 포인트 컨트롤러가 가지는 기능을 수행한다. 즉, 레퍼런스 포인트 컨트롤러 프록시(92)는 도메인 A'(96)내에서의 레퍼런스 포인트라고 볼 수 있다. 사용자는 도메인 A(86)뿐만 아니라 도메인 A'(96)에서도 클라이언트 디바이스(84, 94)를 통하여 콘텐트 서비스를 받을 수 있다.
이러한 레퍼런스 포인트 컨트롤러 프록시(92)는 앞서 설명한 레퍼런스 포인트 컨트롤러 및 레퍼런스 포인트 컨트롤러 후보 선출 예들에서 거론된 절차를 통해 용이하게 선출될 수 있다. 즉, 레퍼런스 포인트 컨트롤러 프록시(92)를 선출할 수 있는 방법은 다음과 같다.
첫 번째로, 도메인 A'(96)에 가입될 디바이스들이 디바이스 정보를 서로 주고받고, 그 디바이스 정보를 소정의 알고리즘, 예컨대 Example 1-1에서 설명했던 알고리즘에 따라 비교하여 레퍼런스 포인트 컨트롤러 프록시(92)를 선정하는 방법이다. 예를 들어, 디바이스들 간에 능력치를 서로 주고받고, 가장 능력치가 우수한 디바이스를 레퍼런스 포인트 컨트롤러 프록시(92)로 선출하는 것이다. 이때 선출된 레퍼런스 포인트 컨트롤러 프록시(92)는 도메인 매니저(80)에게 자신이 레퍼런스 포인트 컨트롤러 프록시(92)로 선출되었음을 통보하여야 한다.
두 번째로, 앞서 설명한 Example 1-2에 따른 레퍼런스 포인트 컨트롤러의 선출 개념과 유사하게, 도메인 A'(96)에 가입될 디바이스들이 도메인 매니저(80)에게 자신의 디바이스 정보(예를 들면, 능력치 정보가 포함된 DPDU 등)를 제공하고, 그 디바이스 정보를 토대로 도메인 매니저(80)가 레퍼런스 포인트 컨트롤러 프록시(92)를 선출하는 방법이다.
세 번째로, 관리자나 사용자에 의하여 설정되거나 또는 임의로 설정된 설정 정보에 따라 레퍼런스 포인트 컨트롤러 프록시(92)를 선출하는 방법이다.
한편, 이러한 레퍼런스 포인트 컨트롤러 프록시(92)의 선출 시에는 레퍼런스 포인트 컨트롤러 프록시(92)의 이상 발생에 대비하기 위한 후보를 선출할 수도 있다. 즉, 레퍼런스 포인트 컨트롤러 프록시(92)의 이상 발생 시에 레퍼런스 포인트 컨트롤러 프록시(92)를 대체할 수 있는 레퍼런스 포인트 컨트롤러 프록시(92)의 후보를 선출하는 것이다. 이는 앞서 설명한 레퍼런스 포인트 컨트롤러 후보의 선출 절차들을 이용하여 용이하게 선출할 수 있다.
레퍼런스 포인트 컨트롤러 프록시(92)의 후보를 선출하는 방법에는 다음과 같은 예들이 있다.
첫 째로, 도메인 A'(96)에 가입될 디바이스들이 디바이스 정보를 서로 주고받고 그 디바이스 정보를 소정의 알고리즘, 예컨대, Example 1-1에서 설명했던 알고리즘에 따라 비교하여 레퍼런스 포인트 컨트롤러 프록시(92) 및 레퍼런스 포인트 컨트롤러 프록시(92)의 후보를 선정하는 방법이다. 예를 들어, 디바이스들 간에 능력치를 서로 주고받고, 가장 능력치가 우수한 디바이스를 레퍼런스 포인트 컨트롤 러 프록시(92)로 선출하고, 뒤이어 레퍼런스 포인트 컨트롤러 프록시(92)를 제외한 다른 디바이스들 간의 능력치 교환을 통해 레퍼런스 포인트 컨트롤러 프록시의 후보를 선출하는 것이다. 레퍼런스 포인트 컨트롤러 프록시의 후보 간에는 우선순위를 가질 수 있다. 또한, 상기 선출된 레퍼런스 포인트 컨트롤러 프록시(92) 및 레퍼런스 포인트 컨트롤러 프록시(92)의 후보는 도메인 매니저(80)에게 자신이 선출되었음을 통보하여야 한다.
둘째로, 앞서 설명한 Example 1-2에 따른 레퍼런스 포인트 컨트롤러 선출의 개념과 유사하게, 도메인 A'(96)에 가입될 디바이스들이 도메인 매니저(80)에게 자신의 디바이스 정보(예를 들면, 능력치 정보가 포함된 DPDU 등)를 제공하고, 그 디바이스 정보를 토대로 도메인 매니저(80)가 레퍼런스 포인트 컨트롤러 프록시(92) 및 레퍼런스 포인트 컨트롤러 프록시(92)의 후보를 선출하는 방법이다. 이때 레퍼런스 포인트 컨트롤러 프록시(92)의 후보들 간에는 우선순위가 존재할 수 있다.
세 째로, 미리 설정된 정보에 의하여 레퍼런스 포인트 컨트롤러 프록시(92) 및 레퍼런스 포인트 컨트롤러 프록시(92)의 우선순위별 후보들을 선출하는 방법이다. 이때, 상기 설정된 정보는 관리자에 의하여 설정되거나, 사용자에 의하여 설정되거나 또는 임의로 설정된 정보를 포함할 수 있다.
한편, 레퍼런스 포인트 컨트롤러 프록시(92)는 자신이 지속적 및 안정적으로 서비스를 제공하고 있음을 레퍼런스 포인트 컨트롤러(82)에게 주기적으로 알려야 한다. 이를 위해 레퍼런스 포인트 컨트롤러 프록시(92)는 특정한 정보 신호를 레퍼런스 포인트 컨트롤러(82)와 주기적으로 교환한다. 만일, 정해진 주기 내에 상기 정보 신호의 교환이 이루어지지 않으면, 레퍼런스 포인트 컨트롤러 프록시(92)가 정상적인 상태가 아니라는 것을 의미하므로, 도메인 A'(96)는 유지될 수 없다.
상기 정보 신호에는 도메인 레퍼런스 정보, 디바이스 식별 정보, 타임아웃 정보, 시스템 고유 정보 등이 포함될 수 있다. 이러한 정보 신호는 안전한 통신 수단 또는 채널이 보장된 유선 또는 무선 전송로를 통해 전송되어야 한다. 이때 안전한 통신 수단 또는 채널을 형성하기 위해서는 다양한 암호화 방식이 적용될 수 있다. 예를 들면 공개키 방식, 미리 키를 공유하는 방식, 도메인 매니저가 키에 대한 정보를 디바이스들에게 제공하는 방식 등이 적용될 수 있다. 또한 상기 정보 신호는 레퍼런스 포인트 컨트롤러와 레퍼런스 포인트 컨트롤러 프록시간 뿐만 아니라, 레퍼런스 포인트 컨트롤러와 도메인 매니저 간 및 레퍼런스 포인트 컨트롤러 프록시와 도메인 매니저 간에도 지속적으로 교환될 수 있다.
한편, 도메인 A'(96)를 더 이상 유지할 필요가 없을 경우에는 도메인 A'(96)를 파기하여야 하는데, 이 경우에도 상기 정보 신호를 사용하여 도메인 A'(96)를 파기할 수 있다. 예를 들면, 레퍼런스 포인트 컨트롤러(82) 또는 도메인 매니저(80)가 레퍼런스 포인트 컨트롤러 프록시(92)로 전송하여야 할 정보 신호를 중지하거나, 또는 폐기 신호를 전송하는 것이다. 그러면 레퍼런스 포인트 컨트롤러 프록시(92)가 정상적인 역할을 수행하지 못하여 폐기되므로 도메인 A'(96)는 자동으로 파기된다.
- 레퍼런스 포인트 컨트롤러 등록 -
이하에서는, 새로운 레퍼런스 포인트 컨트롤러를 등록하는 과정을 설명하기 로 한다. 레퍼런스 포인트 컨트롤러 등록 과정은 새로운 도메인이 생성되었을 때 수행될 수도 있고, 레퍼런스 포인트 컨트롤러를 교체할 때 수행될 수도 있다.
도 13은 새로운 레퍼런스 포인트 컨트롤러가 등록되는 과정을 도시하는 순서도이다.
도 13을 참조하면, 도메인 매니저는 새로운 레퍼런스 포인트 컨트롤러로 등록될 디바이스로부터 레퍼런스 포인트 컨트롤러 인증 요청을 수신한다. 이때, 새로운 레퍼런스 포인트 컨트롤러로 등록될 디바이스는 예컨대, 앞서 설명한 레퍼런스 포인트 컨트롤러 선출 과정에서 선출된 디바이스, 기존의 레퍼런스 포인트 컨트롤러를 대체할 레퍼런스 포인트 컨트롤러 후보 또는 레퍼런스 포인트 컨트롤러 프록시 중 어느 하나일 수 있을 것이다.
레퍼런스 포인트 컨트롤러 인증 요청을 수신하면, 도메인 매니저는 이전에 가지고 있던 레퍼런스 포인트 컨트롤러 회원징표를 무효화(Invalidate)한다. 이때 레퍼런스 포인트 컨트롤러 회원징표란 레퍼런스 포인트 컨트롤러가 등록될 때 도메인 매니저가 생성하는 것으로, 해당 개체가 레퍼런스 포인트 컨트롤러임을 증명할 수 있는 정보를 의미할 수 있다.
이어서, 도메인 매니저는 새로운 레퍼런스 포인트 컨트롤러를 위한 유니크한 새로운 레퍼런스 포인트 컨트롤러 회원징표를 생성하여 저장하고, 생성된 레퍼런스 포인트 컨트롤러 회원징표를 요청한 디바이스로 전송한다. 이때 도메인 매니저는 상기 레퍼런스 포인트 컨트롤러 회원징표를 해당 도메인과 연관시켜 페어(Pair)로 저장 관리한다.
레퍼런스 포인트 컨트롤러 회원징표를 수신한 디바이스는 이를 저장한다. 그러면 상기 디바이스는 레퍼런스 포인트 컨트롤러로 등록된다. 상기 저장된 레퍼런스 포인트 컨트롤러 회원징표는 새롭게 등록된 레퍼런스 포인트 컨트롤러가 도메인 매니저에게 각종 정보를 제공하거나 요청할 때, 또는 클라이언트의 인증 시에 인증 요소 정보로 사용될 수 있다. 또한 이러한 레퍼런스 포인트 컨트롤러 회원징표는 해당 레퍼런스 포인트 컨트롤러가 그 지위를 유지할 때까지는 주기적으로 저장되게 된다.
- 클라이언트 인증 방법 -
이하에서는 클라이언트의 인증 방법을 살펴보기로 한다. 도 5를 다시 참조하면, 클라이언트(12)가 도메인(5)에 가입할 때는, 도메인 매니저(22)는 해당 클라이언트(12)에게 고유한 클라이언트 회원징표를 생성한다. 클라이언트(12)에게 주어진 클라이언트 회원징표는 클라이언트가 도메인(5)의 멤버로 있는 한 지속적으로 저장된다. 클라이언트(12)가 도메인(5)으로부터 탈퇴하면 도메인 매니저(22)는 해당 클라이언트의 클라이언트 회원징표를 일정 시간까지 보존하다가 제거한다. 이때, 상기 일정 시간은 클라이언트(5)가 도메인으로부터 탈퇴하더라도 타임아웃 전까지는 사용하던 콘텐트를 계속 사용할 수 있도록 하기 위한 것으로, 사업자의 정책(Policy)에 의해 선택적으로 적용될 수 있다.
도메인(5)에 가입된 클라이언트(12)가 서비스를 이용하기 위해서는 자신이 정상적으로 도메인(5)에 가입되어 있는 정당한 클라이언트임을 특정 개체에게 인증 받아야 하는데, 이를 위해 클라이언트(12)는 도메인 매니저(22)에게 인증을 요청한 다. 인증 요청 시에 클라이언트(12)는 명시적 신임장 또는 자동 신임장을 도메인 매니저(22)에게 제출하여야 한다.
명시적 신임장은 해당 클라이언트(12)에게 주어진 클라이언트 회원징표 및 명시적 도메인 신임장이 포함된 암호화된 정보이다. 이때 명시적 도메인 신임장이란 도메인(5)이 생성될 때 도메인 매니저(22)에 의하여 생성된 것으로, 도메인 매니저(22)는 생성된 명시적 도메인 신임장을 도메인(5)의 생성 이후 도메인 관리를 위한 각종 트랜스액션에 사용한다.
자동 신임장은 레퍼런스 포인트 컨트롤러 회원징표 및 클라이언트 회원징표가 포함된 암호화된 정보이다. 이는 앞서 설명했던 레퍼런스 포인트 컨트롤러(26)로부터 제공되는 도메인 신임장을 의미할 수 있다. 레퍼런스 포인트 컨트롤러 회원징표란 레퍼런스 포인트 컨트롤러(26)가 도메인(5)에 등록될 때 도메인 매니저(22)에 의하여 생성된 징표로서 해당 레퍼런스 포인트 컨트롤러(26)가 그 지위를 유지할 때까지는 지속적으로 저장된다. 이러한 자동 신임장은 클라이언트(12)가 로컬 영역 내에서 정상적으로 존재하는지를 레퍼런스 포인트 컨트롤러(26)가 보증하는 정보이므로, 로컬 상태의 클라이언트(12)가 사용할 수 있다.
도메인 매니저(22)는 클라이언트(12)로부터 인증이 요청되면, 인증 요청 시에 제출된 신임장이 유효한 것인지를 판별하여, 만약 클라이언트(12)가 도메인(5)에 가입되어 있지 않은 클라이언트로 판별되면 에러를 발생한다. 반면 클라이언트(12)가 정상적으로 도메인(5)에 가입되어 있는 상태라면 클라이언트(12)를 인증해준다. 인증 후 클라이언트(12)는 자신에게 허용된 권한 내에서 콘텐트를 사용할 수 있게 된다.
도메인 매니저(22)는 클라이언트(12)로부터 제출된 신임장이 명시적 신임장인지 자동 신임장인지에 따라 해당 클라이언트(12)가 리모트 상태인지 로컬 상태인지를 인지하고 관리할 수도 있다. 앞서도 언급했듯이, 리모트 상태란 클라이언트(12)가 로컬 영역 밖의 네트워크 영역에서 접속한 경우를 의미할 수 있다. 예를 들어 인터넷을 통하여 도메인에 접속한 경우이다. 반면 로컬 상태는 클라이언트(12)가 로컬 영역 내에 존재하는 경우를 의미할 수 있다. 이러한 로컬 상태의 클라이언트(12)는 레퍼런스 포인트 컨트롤러(26)가 홉(Hop)수 측정 등을 통해 검사할 수 있다. 이상과 같이, 클라이언트(12)는 소정의 절차를 통하여 도메인(5)에 멤버로 등록될 수 있다.
- 레거시 디바이스 등록, 인증 및 관리 -
한편, 도메인에는 클라이언트 디바이스 외에 레거시 디바이스(Legacy Device)도 접속 가능하다. 이때 레거시 디바이스란 상기 도메인에서 클라이언트로 동작하기 위한 개체인 클라이언트가 완전하게 탑재되어 있지 않은 디바이스를 의미할 수 있다. 즉, 디바이스 내에 클라이언트가 일부 기능만 구비되어 있거나, 클라이언트가 구비되어 있지 않은 디바이스를 레거시 디바이스라 칭할 수 있다.
레거시 디바이스가 도메인 내에서 서비스를 제공받을 수 있도록 하기 위해서는, 클라이언트부는 레거시 디바이스를 시스템에 접속시킬 수 있는 어댑터 즉, 인터페이스 개체를 구비한다. 상기 인터페이스 개체는 레거시 디바이스와의 통신을 통해, 레거시 디바이스가 클라이언트 디바이스와 동등한 기능을 수행할 수 있도록 각종 기능을 제공할 수 있어야 한다.
이러한 인터페이스 개체를 가상 클라이언트(Virtual Client)로 칭한다. 가상 클라이언트는 레거시 디바이스를 시스템에 연동시킬 수 있도록 하는데 필요한 개체이다. 가상 클라이언트는 레거시 디바이스와 연동하여 레거시 디바이스가 클라이언트 디바이스와 같이 도메인에 접속하여 서비스를 받을 수 있게 한다. 즉 가상 클라이언트와 레거시 디바이스와의 접속은 도메인 매니저의 입장에서는 하나의 클라이언트로 보여 질 수 있다. 가상 클라이언트와 연결될 수 있는 레거시 디바이스는 하나 또는 다수가 될 수 있다.
가상 클라이언트나 도메인 매니저는 레거시 디바이스의 유일한 고유 정보를 관리할 수 있다. 또한, 가상 클라이언트나 도메인 매니저는 레거시 디바이스를 사용하는 사용자 정보를 관리할 수도 있다.
도 14는 레거시 디바이스의 고유 정보를 관리하기 위한 관련 구성을 보여주는 예시도이다.
도 14에 도시된 바와 같이, 레거시 디바이스(210)가 도메인(200)에 가입하기 위하여 가상 클라이언트(220)로 접속을 요청할 시에는, 레거시 디바이스 고유 정보(DV-info)가 가상 클라이언트로 제공된다. 이때 레거시 디바이스 고유 정보(DV-info)란 레거시 디바이스(210)의 매체 접근 제어(MAC : Media Access Control) 주소, 디스크 볼륨(Disk Volume) ID 등과 같이 해당 레거시 디바이스(210)만이 가질 수 있는 유일한 고유 정보를 의미할 수 있다.
이러한 레거시 디바이스 고유 정보(DU-info)의 제공은 레거시 디바이스(210) 가 가상 클라이언트(220)로 접속을 요청할 때 접속 요청 메시지와 함께 가상 클라이언트(220)로 전송할 수도 있고, 레거시 디바이스(210)로부터 접속 요청이 있을 경우 가상 클라이언트(220)가 레거시 디바이스(210)로부터 추출할 수도 있다.
가상 클라이언트(220)는 레거시 디바이스(210)로부터 제공되는 레거시 디바이스 고유 정보(DV-info)를 저장 및 관리할 수 있다. 이때 상기 레거시 디바이스 고유 정보(Dv-info)는 도 14에 도시된 바와 같이, 디바이스 식별자(LD-info)와 대응되어 정보 테이블(222)의 형태로 저장 및 관리될 수 있다. 여기서 디바이스 식별자(LD-info)란 상기 레거시 디바이스(210)를 식별하기 위한 유일한(Globally Unique) 식별 정보이다. 이러한 디바이스 식별자(LD-info)는 도메인 매니저(240)에 의하여 부여될 수 있다.
도메인 매니저(240)는 디바이스 식별자(LD-info) 및 이에 대응되는 레거시 디바이스 고유 정보(DV-info)를 도메인별로 저장 및 관리한다. 예를 들어, 도메인 매니저(240)는 도 14에 도시된 바와 같이 도메인 식별자(D-ID), 디바이스 식별자(LD-info) 및 이에 대응되는 레거시 디바이스 고유 정보(DV-info)를 정보 테이블(242)의 형태로 저장 및 관리할 수 있다. 이때 상기 도메인 식별자(D-ID)는 레거시 디바이스(210)가 접속된 도메인을 식별할 수 있는 정보로서, 해당 가상 클라이언트(220)가 속해있는 도메인(200)을 식별하는 정보일 수도 있다.
이와 같이 도메인 매니저(240)가 디바이스 식별자(LD-info) 및 그에 대응되는 레거시 디바이스 고유 정보(DV-info)를 도메인별로 관리하면, 도메인 매니저(240)는 레거시 디바이스(210)가 중복으로 다른 도메인에 인증을 요청하는 것을 방 지할 수 있게 된다. 이는 이하 설명할 레거시 디바이스 인증 방법을 통하여 명확해질 것이다.
도 15는 레거시 디바이스(210)를 인증하는 과정을 설명하기 위한 순서도이다.
도 14 및 도 15를 참조하면, 먼저, 가상 클라이언트(220)는 특정 레거시 디바이스(210)로부터 접속 요청이 있을 경우(단계:S41), 그 레거시 디바이스(210)로부터 레거시 디바이스 고유 정보(Dv-info)를 제공받는다(단계:S42). 이어서, 가상 클라이언트(220)는 자신이 저장하고 있는 정보 테이블(222)을 검색하여(단계:s43), 상기 접속을 요청한 레거시 디바이스(210)의 레거시 디바이스 고유 정보(DV-info)와 동일한 레거시 디바이스 고유 정보가 존재하는지의 여부를 판별한다(단계:S44). 즉 상기 레거시 디바이스(210)의 기 등록 여부를 판별하는 것이다.
이때, 만약 동일한 레거시 디바이스 고유 정보(Dv-info)가 있을 경우 상기 레거시 디바이스(210)가 이미 가상 클라이언트(220)에 등록되어 있으므로, 가상 클라이언트(220)는 도메인 매니저(240)에게 해당 디바이스 식별자(LD-info)에 대한 인증을 요청한다(단계:S46). 인증 요청 시에는 상기 디바이스 식별자(LD-info)와 레거시 디바이스 고유 정보(DV-info)가 도메인 매니저(240)로 제공될 수 있다.
반면, 상기 판별 결과, 동일한 레거시 디바이스 고유 정보가 없을 경우 가상 클라이언트(220)는 도메인 매니저(240)로부터 새로운 디바이스 식별자(LD-info)를 부여받아 상기 정보 테이블(222)에 저장한다(단계:S45). 따라서 상기 정보 테이블(222)에는 상기 레거시 디바이스 고유 정보(DV-info)와 새롭게 부여받은 디바이스 식별자(LD-info)가 대응되게 저장된다. 즉 상기 레거시 디바이스(210)가 새로운 디바이스로 등록되는 것이다.
레거시 디바이스 등록을 위해, 가상 클라이언트(220) 또는 도메인 매니저(240)는 레거시 디바이스(210)의 고유 정보를 검토하여 등록 가능한 디바이스인지를 검토할 수 있다. 이때 등록 가능한 디바이스란 정책적 또는 기술적으로 허용된 디바이스를 의미할 수 있다. 예를 들어 서비스 제공자, 제 3의 기관, 도메인 매니저 등에서 도메인에 접속 가능한 레거시 디바이스의 기종 목록을 관리하고, 가상 클라이언트 또는 도메인 매니저는 새로운 레거시 디바이스를 등록할 때 상기 기종 목록을 조회한 뒤 허용된 디바이스에만 디바이스 식별자를 부여할 수 있다. 여기에 대해서는 후에 도 17을 참조하여 상세히 설명될 것이다.
상기 디바이스 식별자(LD-info)가 저장되면, 가상 클라이언트(220)는 도메인 매니저(240)로 해당 디바이스 식별자(LD-info)에 대한 인증을 요청한다(단계:S46).
다음으로, 도메인 매니저(240)는 상기 인증 요청에 대한 응답으로 상기 디바이스 식별자(LD-info)에 대응되는 레거시 디바이스 고유 정보(DV-info)를 고려하여 인증을 수행한다. 즉, 도메인 매니저(240)는 자신이 관리하는 정보 테이블(242)을 검색하여(단계:S47), 상기 레거시 디바이스(210)가 현재 다른 도메인에 접속되어 있는지를 판별한다(단계:S48). 예를 들어 상기 레거시 디바이스 고유 정보(DV-info)와 동일한 정보를 갖는 레거시 디바이스 고유 정보가 현재 인증된 상태인지를 판별하는 것이다.
상기 판별결과, 만약 상기 레거시 디바이스(210)가 현재 다른 도메인에 접속 되어 있지 않다면 상기 디바이스 식별자(LD-info)에 대한 접속을 허가함을 가상 클라이언트(220)로 통보한다(단계:S50). 즉 레거시 디바이스(210)의 도메인 접속을 허용하는 것이다. 따라서 상기 레거시 디바이스(210)는 도메인(200)에 접속하여 콘텐트를 사용할 수 있다.
반면, 상기 판별결과, 상기 레거시 디바이스(210)가 현재 다른 도메인에 접속되어 있을 경우, 상기 레거시 디바이스(210)가 중복 접속을 시도하는 것으로 판단하여 인증 불허를 가상 클라이언트(220)로 통보한다(단계:S49). 즉 상기 레거시 디바이스(210)의 도메인 접속을 불허하는 것이다. 따라서 상기 레거시 디바이스(210)는 도메인(200)에 접속할 수 없게 된다.
이와 같이, 가상 클라이언트(220)와 도메인 매니저(240)가 레거시 디바이스(210)의 유일한 고유 정보를 저장 및 관리한다. 즉, 예를 들어 레거시 디바이스(210)의 디바이스 인증서(Device Certification)를 저장 및 관리하는 것이다. 이를 통하여 레거시 디바이스(210)가 중복으로 도메인(200)에 접속하려는 시도를 차단할 수 있다. 따라서 레거시 디바이스(210)의 불법적인 콘텐트 공유를 막을 수 있게 된다.
한편, 가상 클라이언트와 도메인 매니저는 상기 레거시 디바이스 고유 정보뿐만 아니라 레거시 디바이스를 사용하는 사용자 정보를 관리할 수도 있다. 이 경우 해당 사용자에 의하여 사용될 수 있는 레거시 디바이스의 개수를 제한할 수도 있다.
도 16은 레거시 디바이스를 사용하는 사용자 정보를 관리하는 DRM 상호 호환 시스템의 관련 구성을 보여주는 예시도이다.
도 16에 도시된 바와 같이, 레거시 디바이스(251)가 도메인에 인증하기 위하여 가상 클라이언트(260)로 접속할 시에는, 레거시 디바이스 고유 정보(DV-info) 및 레거시 디바이스(251)의 사용자 정보(U-info)가 가상 클라이언트(260)로 제공된다. 이때 레거시 디바이스(251)의 사용자 정보(U-info)란 가입자 식별 모듈(SIM : Subscriber Identity Module) 정보, 사용자 인증서(Certification) 정보, 혹은 사용자가 명시적으로 입력하는 정보(예를 들어, ID, Password 등) 등과 같이 레거시 디바이스(251)를 사용하는 사용자를 식별할 수 있는 고유 정보를 의미할 수 있다. 이는 사용자의 시스템 로그온 정보에 대응되는 것일 수 있다. 레거시 디바이스 고유 정보(DV-info)는 앞서도 언급했듯이, 레거시 디바이스(251)의 매체 접근 제어(MAC : Media Access Control) 주소, 디스크 볼륨(Disk Volume) ID 등과 같이 레거시 디바이스(251)만이 가질 수 있는 유일한 정보를 의미하는 것이다. 다시 말해, 레거시 디바이스 고유 정보라 함은 물리적 정보 혹은 논리적 정보를 총칭하는 정보를 의미한다.
이러한 사용자 정보(U-info) 및 레거시 디바이스 고유 정보(DU-info)의 제공은 레거시 디바이스(251)가 가상 클라이언트(260)로 접속을 요청할 때 접속 요청 메시지와 함께 가상 클라이언트(260)로 전송할 수도 있고, 접속 요청 시 가상 클라이언트(260)가 레거시 디바이스(251)로부터 추출할 수도 있다.
가상 클라이언트(260)는 레거시 디바이스 고유 정보(DV-info), 사용자 정보(U-info)를 저장 및 관리한다. 이때 상기 레거시 디바이스 고유 정보(DV-info) 및 사용자 정보(U-info)는 도 16에 도시된 바와 같이, 도메인 매니저(270)로부터 부여되는 디바이스 식별자(LD-info)와 대응되어 정보 테이블(262)의 형태로 저장 및 관리될 수 있다.
도메인 매니저(270)는 디바이스 식별자(LD-info), 레거시 디바이스 고유 정보(DV-info) 및 사용자 정보(U-info)를 도메인별로 저장 및 관리한다. 즉, 도메인 매니저(270)는 도 16에 도시된 바와 같이 도메인 식별자(D-ID), 디바이스 식별자(LD-info), 레거시 디바이스 고유 정보(DV-info) 및 사용자 정보(U-info)를 정보 테이블(272)의 형태로 저장 및 관리할 수 있다.
도메인 매니저(270)는 가상 클라이언트(260)로부터 특정 레거시 디바이스(251)에 대한 인증 요청이 전송될 시에, 해당 레거시 디바이스(251)의 사용자 정보(U-info)를 자신의 정보 테이블(272)에서 조회하여 접속 허가 인증에 반영할 수 있다. 아울러, 도메인 매니저(260)에 의한 레거시 디바이스(251) 관리는 일반적인 클라이언트 디바이스에도 적용될 수 있다.
예를 들어, 상기 사용자 정보(U-info)를 정보 테이블(272)에서 조회하여 사용자가 사용하고 있는 레거시 디바이스(251)의 개수를 추출하고, 이를 기 설정된 제한 개수와 비교하여, 제한 개수 미만이면 인증을 수행하고 제한 개수 이상이면 인증을 불허하도록 하는 것이다. 따라서 사용자의 총 레거시 디바이스 개수를 제한할 수 있게 된다. 이때 상기 제한 개수는 서비스 제공자의 정책 또는 사용자가 지불한 비용에 따라서 정해질 수 있을 것이다.
상기 레거시 디바이스(251)의 인증 시에는 앞서 설명한 바와 같이 레거시 디 바이스 고유 정보(DV-info)를 조회하여 도메인 중복 접속 여부를 판별하는 과정도 수행될 수 있음은 물론이다. 즉 인증 과정에서는 레거시 디바이스 고유 정보(DV-info) 및 사용자 정보(U-info)를 이용하여 도메인 중복 여부의 검증 및 해당 사용자에게 허용되는 레거시 디바이스의 제한 개수를 고려할 수 있다. 한편, 상기 도메인 중복 여부의 검증 및 사용자별 레거시 디바이스의 개수 제한은 특정 주기에 따라 주기적으로 실행될 수도 있다.
도 17은 레거시 디바이스가 도메인에 등록하는 과정을 설명하기 위한 순서도이다.
도 17을 참조하면, 새로운 레거시 디바이스가 도메인에 가입하기 위하여 가상 클라이언트로 접속을 요청할 시에는(단계:S51), 레거시 디바이스 고유 정보가 가상 클라이언트로 제공된다. 그러면 가상 클라이언트는 제공된 레거시 디바이스 고유 정보를 보고 해당 가상 클라이언트가 새로운 레거시 디바이스임을 인지한 뒤 등록 가능한 레거시 디바이스의 목록을 검색한다(단계:S52). 상기 등록 가능한 레거시 디바이스의 목록에는 정책적 또는 기술적으로 서비스가 가능한 디바이스들의 목적이 포함되어 있다. 상기 목록은 가상 클라이언트가 미리 저장해두거나, 도메인 매니저, 서비스 제공자 측의 서버 또는 제 3의 시스템으로부터 제공받을 수 있다.
가상 클라이언트는 레거시 디바이스 고유 정보를 토대로 상기 목록을 조회하여 상기 레거시 디바이스가 등록 가능한 디바이스인지를 판별한다(단계:S53). 예를 들어 레거시 디바이스의 고유 정보가 상기 목록에 존재하는지의 여부를 판별하는 것이다. 이때, 만약 상기 레거시 디바이스의 고유 정보가 상기 목록에 존재하면 도 메인 매니저에 등록을 요청한다. 그러면 도메인 매니저는 고유한 디바이스 식별자를 생성하여 가상 클라이언트로 전송한다(단계:S54). 반면, 만약 상기 레거시 디바이스의 고유 정보가 상기 목록에 존재하지 않으면, 가상 클라이언트는 해당 레거시 디바이스의 등록을 불허하며, 등록 가능 여부를 레거시 디바이스에 통보해줄 수 있다(단계:S55).
이상, 도 5 내지 도 17을 참조하여 인증 및 관리부에서 수행될 수 있는 동작들, 예컨대 클라이언트부의 기능, 레퍼런스 포인트 컨트롤러의 선출 과정, 레퍼런스 포인트 컨트롤러 후보의 선출 과정, 레퍼런스 포인트 컨트롤러의 이상 발생 시에 레퍼런스 포인트 컨트롤러 후보를 이용하여 레퍼런스 포인트 컨트롤러를 대체할 수 있는 운용 과정, 레퍼런스 포인트 컨트롤러 프록시를 통하여 도메인을 확장할 수 있는 과정, 레퍼런스 포인트 컨트롤러 프록시의 후보의 선출 및 운용 과정, 레퍼런스 포인트 컨트롤러의 등록, 클라이언트 인증 과정, 레거시 디바이스 등록, 인증 및 관리 방법 등을 살펴보았다.
3. 처리 제어부, 콘텐트 처리부의 기능 및 동작
인증 및 관리부에 의하여 도메인이 형성되면, 도메인 내의 인증된 클라이언트 또는 (가상 클라이언트와 연결된)레거시 디바이스는 DRM 상호 호환 서비스를 이용할 수 있다. 이때 각 레거시 디바이스와 가상 클라이언트와의 연결은 하나의 클라이언트로 간주될 수 있다. 따라서 이하에서 언급되는 클라이언트는 앞서 도 2의 설명에서 정의한 클라이언트뿐만 아니라 레거시 디바이스와 가상 클라이언트와의 연결로 형성되는 클라이언트도 포함하는 개념이라고 간주할 수 있다.
인증된 클라이언트는 특정한 목적 디바이스로 하나 또는 다수의 콘텐트에 대한 콘텐트 전송을 요청할 수 있다. 이때 목적 디바이스란 클라이언트가 특정 콘텐트를 전송하기 원하는 디바이스나 시스템으로서, 예컨대 다른 클라이언트 디바이스, 특정 웹 서버, 시스템 등이 될 수 있다.
이러한 콘텐트 전송 요청은 처리 제어부에 의하여 수신될 수 있다. 처리 제어부는 클라이언트로부터의 콘텐트 전송 요청에 응답하여, 해당 콘텐트의 전송이 이루어지도록 콘텐트 처리부를 제어한다. 콘텐트 처리부는 처리 제어부의 제어에 따라 상기 전송 요청된 하나 또는 다수의 콘텐트를 지정된 목적 디바이스로 전송한다.
이하, 이러한 처리 제어부 및 콘텐트 처리부에 의한 콘텐트 전송 과정을 상세히 설명하기로 한다. 이하의 설명에서는 DRM 상호 호환 시스템에서의 콘텐트 전송과 관련하여 4개의 방법들이 예시된다. 이해의 편의를 위하여 첫 번째 방법은 "Example 3-1"로, 두 번째 방법은 "Example 3-2"로 세 번째 방법은 "Example 3-3"으로, 네 번째 방법은 "Example 3-4"로 칭하기로 한다.
<Example 3-1>
도 18은 처리 제어부 및 콘텐트 처리부의 구성을 도시하는 블록도로서, 콘텐트 전송 과정에 참여하는 관련 개체를 중심으로 도시하고 있다.
도 18에 도시된 바와 같이, 처리 제어부(40)는 콘텐트 처리 컨트롤러(41) 및 라이선스 처리 컨트롤러(42)를 포함한다. 여기서 라이선스 처리 컨트롤러(42)는 콘텐트 전송에 관련된 개체는 아니므로 상세한 설명은 차후 언급하도록 한다.
콘텐트 처리 컨트롤러(41)는 클라이언트로부터의 콘텐트 전송 요청에 따라 콘텐트 처리부(50)로 요청된 콘텐트의 전송을 요청하고, 그 전송 과정을 제어하는 개체이다. 이러한 콘텐트 처리 컨트롤러(41)는 로컬 영역이나 네트워크 영역 어디에도 존재할 수 있으나, 바람직하기로는 로컬 영역 내에서 도메인에 가입된 특정 디바이스에 구비될 수 있다.
콘텐트 처리부(50)는 복수의 콘텐트 핸들러를 포함한다. 콘텐트 핸들러는 콘텐트의 전송 및 처리와 관련된 기능을 수행하는 개체를 의미할 수 있다. 이러한 콘텐트 핸들러에는 콘텐트 반출자(52), 콘텐트 변환자(51) 및 콘텐트 반입자(53)가 있다.
콘텐트 반출자(52)는 콘텐트 처리 컨트롤러(41)로부터 전송 요청된 콘텐트를 반출하여 중립 콘텐트의 형태로 콘텐트 변환자(51) 또는 콘텐트 반입자(53)에게 전송하는 기능을 수행할 수 있다. 이때 중립 콘텐트란 특정한 DRM으로 암호화되지 않은, 예컨대 클린 콘텐트를 의미할 수 있다. 또한, 콘텐트 처리 컨트롤러(41)로부터 요청된 콘텐트는 특정 DRM으로 암호화된 콘텐트일 수 있는데, 콘텐트 반출자(52)는 상기 요청된 콘텐트를 자체적으로 복호화하여 중립 콘텐트로 변환하여 전송할 수도 있고, 이미 복호화된 중립 콘텐트를 수신하여 전송할 수도 있다.
콘텐트 변환자(51)는 콘텐트 반출자(52)로부터 전송되는 중립 콘텐트를 수신하여 요구되는 포맷으로 변환한 뒤, 콘텐트 반입자(53)로 전송하는 기능을 수행한다. 이때 상기 요구되는 포맷이란 목적 디바이스(DV2)에서 요구하는 포맷을 의미할 수 있다. 이러한 콘텐트 변환자(51)는 중립 콘텐트의 포맷 변환이 필요할 경우에만 전송에 관여하게 된다.
콘텐트 반입자(53)는 콘텐트 변환자(51) 또는 콘텐트 반출자(52)로부터 전송되는 중립 콘텐트를 수신하는 기능을 수행한다. 또한 콘텐트 반입자(53)는 수신된 중립 콘텐트를 목적 디바이스(DV2)로 제공하거나, 또는 목적 디바이스(DV2)에 적용된 DRM에 부합되는 형태로 암호화한 뒤 목적 디바이스(DV2)로 제공할 수 있다. 이때 전자의 경우 목적 디바이스(DV2)는 콘텐트 반입자(53)로부터 전송된 중립 컨텐트를 자신에게 적용된 DRM에 부합되도록 자체적으로 암호화한 뒤 사용할 수 있을 것이며, 후자의 경우 콘텐트 반입자(53)에 의하여 암호화된 상태로 전송되므로 목적 디바이스(DV2)는 전송된 콘텐트를 그대로 사용할 수 있다.
도 19 및 도 20은 콘텐트 처리 컨트롤러(41) 및 콘텐트 핸들러들의 구비 위치를 설명하기 위한 예시도이다.
도 19 및 도 20에 도시된 바와 같이, 콘텐트 처리 컨트롤러(41) 및 콘텐트 핸들러들, 즉 콘텐트 반출자(52), 콘텐트 변환자(51) 및 콘텐트 반입자(53)는 실시 환경에 따라 다양한 위치에 구비될 수 있다.
먼저 도 19를 참조하면, 콘텐트 반출자(52)는 요청 디바이스(DV1)에 구비될 수 있고, 콘텐트 반입자(53)는 목적 디바이스(DV2)에 구비될 수 있다. 또한 콘텐트 처리 컨트롤러(41)나 콘텐트 변환자(51)는 요청 디바이스(DV1) 및 목적 디바이스(DV2)와는 별개로 타 디바이스에 각각 구비될 수 있다.
여기서, 상기 요청 디바이스(DV1) 및 목적 디바이스(DV2)에 대한 정의가 필요하다.
요청 디바이스(DV1)란 콘텐트의 전송을 요청하는 클라이언트 디바이스를 의미할 수 있다. 이러한 요청 디바이스(DV1)에는 요청 클라이언트(RC1)가 구비된다. 또한 요청 디바이스(DV1)에는 특정 DRM이 설치되어 있을 수 있다. 즉 요청 디바이스(DV1)는 상기 특정 DRM이 적용된 콘텐트를 사용할 수 있다.
목적 디바이스(DV2)는 앞서도 언급했듯이 요청 클라이언트(RC1)에 의하여 전송 요청된 콘텐트가 전송되는 클라이언트 디바이스나 특정 시스템을 의미할 수 있다. 목적 디바이스(DV2)에는 목적 클라이언트(RC2)가 설치될 수도 있다. 또한 목적 디바이스(DV2)에는 목적 DRM이 설치되어 있을 수 있다. 즉 목적 디바이스(DV2)는 목적 DRM이 적용된 콘텐트를 사용할 수 있다.
도 20을 참조하면, 콘텐트 처리 컨트롤러(41)와 콘텐트 반출자(52)는 요청 디바이스(DV1)에 구비되고, 콘텐트 반입자(53)는 목적 디바이스(DV2)에 구비된다. 또한 콘텐트 변환자(51)의 경우 타 디바이스에 별도로 구비되어 있다.
이와 같이, 콘텐트 처리 컨트롤러(41)와, 콘텐트 반출자(52), 콘텐트 변환자(51) 및 콘텐트 반입자(53)는 특정 디바이스에 구애받지 않고 다양한 위치에 구비될 수 있다. 바람직하기로는 콘텐트 반출자(52)는 요청 디바이스(DV1)에 구비되고 콘텐트 반입자(53)는 목적 디바이스(DV2)에 구비되는 것이 보안상 유리할 수 있다.
따라서 이후부터는 19에 도시된 구성을 채용하여 설명하기로 한다. 그러나 이것이 한정된 사항은 아님은 물론이다. 즉 상기 콘텐트 처리 컨트롤러(41) 및 콘텐트 핸들러들은 실시 환경에 따라 서로 같은 디바이스에 구비될 수도 있고, 몇몇 개체끼리 같은 디바이스에 구비될 수도 있고, 각각 서로 다른 디바이스에 구비될 수도 있다.
이하, 상술한 시스템을 기반으로 콘텐트를 전송하는 과정을 상세히 설명하기로 한다.
도 21은 콘텐트 처리 컨트롤러(41) 및 콘텐트 핸들러들을 이용한 콘텐트 전송 과정을 도시하는 흐름도로서, 요청 디바이스(DV1) 내에 포함된 하나 또는 다수의 콘텐트를 목적지인 목적 디바이스(DV2)로 전송하는 과정을 예시적으로 보여주고 있다.
도 21에 도시된 바와 같이, 콘텐트의 전송을 위해서는 요청 클라이언트(RC1), 콘텐트 처리 컨트롤러(41), 다수의 콘텐트 핸들러들, 예컨대, 콘텐트 반출자(52), 콘텐트 변환자(51) 및 콘텐트 반입자(53) 간의 유기적인 연대가 요구된다.
먼저, 요청 클라이언트(RC1)는 콘텐트 처리 컨트롤러(41)에게 하나 또는 다수의 콘텐트의 전송을 요청하는 콘텐트 전송 요청 메시지를 전송한다(단계:S60).
이때, 상기 콘텐트 전송 요청 메시지에는 전송 세션 식별자(Transfer-Session-Identifier), 콘텐트 식별자, 소스 정보, 목적지 정보 등이 포함된다. 또한 옵션으로 콘텐트를 수신하는 목적지의 DRM 시스템 정보가 포함될 수도 있다.
콘텐트 식별자는 전송 요청된 콘텐트를 식별할 수 있는 정보를 의미할 수 있다. 전송 요청된 콘텐트가 여러 개일 경우 각각의 콘텐트를 식별할 수 있는 다수 개의 콘텐트 식별자가 존재할 수 있다.
전송 세션 식별자는 해당 전송 세션을 유니크하게 식별할 수 있는 식별자를 의미한다. 이러한 전송 세션 식별자는 추후 특정 동작 시, 예를 들면 콘텐트 전송 의 취소, 콘텐트 전송 상태의 업데이트 등을 수행할 때 세션 식별을 위해 사용될 수 있다.
소스 정보는 전송 요청된 콘텐트가 어디로부터 전송되는지를 식별할 수 있는 정보를 의미한다. 이러한 소스 정보에는 소스 디바이스나 시스템, 예컨대 요청 디바이스(DV1)를 식별할 수 있는 식별자와, 전송 요청된 콘텐트의 파일 포맷 정보 등이 포함될 수 있다.
목적지 정보는 전송 요청된 콘텐트가 전송될 목적지인 목적 디바이스(DV2)를 파악할 수 있는 정보를 포함한다. 이러한 목적지 정보는 목적지를 식별할 수 있는 목적지 식별자, 목적지에서 요구되는 파일 포맷 정보 등이 포함될 수 있다. 목적지 정보에 포함되는 파일 포맷 정보는 콘텐트 변환자(51)에 의한 파일 포맷 변환 시에 참조될 수 있다.
콘텐트 전송 컨트롤러(41)는 상기 콘텐트 전송 메시지에 포함된 정보를 이하에서 사용할 수 있다. 이때 요청 클라이언트(RC1)로부터 받은 정보를 그대로 사용할 수도 있고, 요청 클라이언트(RC1)로부터 받은 정보에 대응하는 별도의 정보를 생성하여 사용할 수도 있다. 예를 들어, 상기 전송 세션 식별자 및 다수의 데이터 식별자는 요청 클라이언트(RC1)로부터 받은 것을 그대로 사용할 수도 있고, 세션에 맞도록 별도의 전송 세션 식별자 및 다수의 데이터 식별자를 생성할 수도 있다.
이러한 콘텐트 전송 요청 메시지가 수신되면, 콘텐트 처리 컨트롤러(41)는 콘텐트 핸들러들의 정보를 수집하여, 전송 가능 여부를 점검하고 콘텐트 변환을 수행할 콘텐트 핸들러들 즉, 콘텐트 변환 체인을 구성할 콘텐트 핸들러를 결정할 수 있다(단계:S61, S62, S63).
예를 들어, 콘텐트 처리 컨트롤러(41)는 적어도 하나 이상의 콘텐트 반출자(52), 콘텐트 반입자(53) 및 콘텐트 변환자(51)에게 능력치(Capability)를 질의하여 해당 개체로부터 응답을 얻는다. 이는 콘텐트를 전송하는 소스, 중간 및 목적지의 디바이스들, 시스템들, DRM들의 능력치를 파악하기 위함이다.
정보가 수집되면, 콘텐트 처리 컨트롤러(41)는 그 수집된 정보를 토대로 상기 요청된 콘텐트 전송을 수행할 것인지를 결정한다. 즉 요청된 콘텐트 전송을 콘텐트 핸들러들이 정상적으로 수행할 수 있는지를 점검하는 것이다. 여기서는 요구되는 콘텐트의 포맷이나 시스템의 정책, 개체 간에 실행 가능한 보안 인증 채널 알고리즘 정보 등이 고려될 수 있다. 예를 들어, 앞서 수집된 콘텐트 변환자(51)의 능력이 요구되는 콘텐트 포맷으로의 변환을 지원할 수 없으면 콘텐트의 전송이 불가능할 것이며, 요구되는 콘텐트의 포맷으로의 변환을 지원할 수 있으면 콘텐트의 전송이 가능할 것이다. 콘텐트 처리 컨트롤러(41)는 상술한 사항들을 고려하여 콘텐트의 전송을 결정할 수 있다.
콘텐트 전송이 결정되면, 콘텐트 처리 컨트롤러(41)는 상기 수집된 내용을 토대로 상기 요청된 콘텐트의 변환을 효과적으로 수행할 수 있는 콘텐트 핸들러들, 예컨대 콘텐트 반출자(52)와, 콘텐트 변환자(51) 및 콘텐트 반입자(53)를 결정하고, 결정된 콘텐트 핸들러들이 포함된 콘텐트 변환 체인이 구성될 수 있도록 제어한다. 즉, 결정된 콘텐트 핸들러들을 제어하여 콘텐트 변환 체인이 형성될 수 있도록 하는 것이다.
상기 콘텐트 변환 체인에 포함될 콘텐트 핸들러들의 결정 시, 콘텐트 전송 콘트롤러는 콘텐트 변환자(51)를 포함시킬 수도 있고, 포함시키지 않을 수도 있다. 왜냐하면 전송 요청된 콘텐트의 포맷과 목적지에서 요구되는 콘텐트의 포맷이 상이할 경우 콘텐트 변환자(51)를 이용하여 전송되는 콘텐트의 포맷을 변환해 주어야 하지만, 전송 요청된 콘텐트의 포맷과 목적지에서 요구되는 콘텐트의 포맷과 동일할 경우 전송되는 콘텐트의 포맷을 변환할 필요가 없기 때문이다.
따라서 콘텐트 처리 컨트롤러(41)는 요청된 콘텐트의 포맷과 목적지에서 요구되는 포맷이 상이한 경우에는 콘텐트 변환자(51)를 콘텐트 변환 체인에 포함시키고, 동일한 경우 포함시키지 않는다. 여기서 콘텐츠의 포맷 변환이란 예컨대 코덱 변환을 의미할 수 있다. 예를 들어, 요청된 콘텐트가 MPEG-2로 압축되어 있고 목적지에서 사용 가능한 콘텐트의 포맷은 MPEG-4라면, 목적지에서는 MPEG-2 포맷의 콘텐트를 사용할 수 없으므로, 콘텐트 변환자(51)를 이용하여 MPEG-2 콘텐트를 MPEG-4 포맷으로 변환하여야 할 것이다.
본 Example 3-1에서는 요청된 콘텐트의 포맷과 목적지에서 요구되는 콘텐트의 포맷이 상이하여 콘텐트의 변환이 필요한 경우를 설명하기로 한다. 이 경우 콘텐트 변환 체인은 콘텐트 변환자(51)를 포함하여야 할 것이다.
이어서, 콘텐트 처리 컨트롤러(41)는 상기 구성되는 콘텐트 변환 체인에 포함되는 콘텐트 반출자(52), 콘텐트 변환자(51) 및 콘텐트 반입자(53)에게 각각 콘텐트 반출 요청, 콘텐트 변환 요청 및 콘텐트 반입 요청을 보낸다(단계:S67, 68, 69). 이러한 각각의 요청은 해당 콘텐트 핸들러들에게 해당 동작을 요청하는 제어 메시지를 송신함으로써 이루어진다.
상기 콘텐트의 반출을 요청하는 제어 메시지는 전송 세션 식별자, 콘텐트 식별자, 수신자 정보 등이 포함될 수 있다. 상기 수신자 정보는 콘텐트 반출자(52)가 콘텐트를 반출하여 전송할 수신자의 정보를 의미할 수 있다. 본 Example 3-1에서는 콘텐트 변환 체인이 콘텐트 변환자(51)를 포함하는 경우를 설명하고 있으므로, 수신자 정보는 콘텐트 변환자(51)의 식별 정보를 의미할 수 있다. 그러나 만약 콘텐트 변환 체인에 콘텐트 변환자(51)가 포함되어 있지 않은 경우, 상기 수신자 정보는 콘텐트 반입자(53)의 식별 정보를 의미할 수 있을 것이다.
또한, 상기 콘텐트 변환을 요청하는 제어 메시지에는, 전송 세션 식별자, 콘텐트 식별자, 송신자 정보, 수신자 정보, 전송되어 질 콘텐트의 포맷 및 변환되어야 할 포맷 정보 등이 포함될 수 있다. 이때 송신자 정보 및 수신자 정보는 콘텐트를 보낸 대상과 콘텐트를 수신할 대상을 식별할 수 있는 정보를 의미할 수 있다. 즉, 송신자 정보는 송신자인 콘텐트 반출자(52)를 식별할 수 있는 정보이고, 수신자 정보는 수신자인 콘텐트 반입자(53)를 식별할 수 있는 정보를 의미할 수 있다.
상기 콘텐트 반입을 요청하는 제어 메시지에는, 전송 세션 식별자, 콘텐트 식별자, 송신자 정보 등을 제공할 수 있다. 상기 송신자 정보는 콘텐트를 전송하는 송신자를 식별할 수 있는 정보를 의미할 수 있다. 본 Example 3-1에서는 콘텐트 변환자(51)가 있는 경우를 설명하고 있으므로 소스 정보는 상기 콘텐트 변환자(51)의 식별 정보를 의미할 수 있다. 만약 콘텐트 변환자(51)가 콘텐트 변환 체인에 없는 경우에는 콘텐트 반출자(52)가 송신자가 될 것이다. 콘텐트 반입 요청 시에는 콘텐 트를 최종적으로 수신하는 수신자의 정보 즉, 목적지의 정보 및 목적지의 DRM 시스템 정보가 포함될 수도 있다.
또한 콘텐트 반출, 변환, 반입 요청 시, 제어 메시지에 포함되는 콘텐트 식별자는 클라이언트로부터의 콘텐트 전송 요청 시에 요청된 콘텐트 식별자와 일치한다. 클라이언트로부터 전송 요청된 콘텐트가 다수일 경우, 전송 요청 시에 요청된 각 콘텐트 식별자와 콘텐트 반출, 변환, 반입 요청 정보에 포함된 각 콘텐트 식별자는 일치한다.
이와 같이 콘텐트 처리 컨트롤러(41)로부터의 콘텐트 반출 요청, 콘텐트 변환 요청 및 콘텐트 반입 요청이 각각 콘텐트 반출자(52), 콘텐트 변환자(51) 및 콘텐트 반입자(53)로 수신되면, 콘텐트 반출자(52)와 콘텐트 변환자(51)의 사이 및 콘텐트 변환자(51)와 콘텐트 반입자(53)의 사이에는 보안 인증 채널(SAC : Secure Authenticated Channel)이 설립된다(단계:S70). 이때 보안 인증 채널은 TLS(Transport Layer Security) 등과 같이 TCP/IP의 전송계층에 적용되는 보안 기법이 사용될 수 있다.
콘텐트 반출자(52)는 콘텐트 반출 요청에 응답하여, 전송 요청된 콘텐트를 수신자인 콘텐트 변환자(51)로 안전하게 전송할 수 있도록 콘텐트 변환자(51)와의 보안 인증 채널을 설립한다. 또한 콘텐트 변환자(51)는 콘텐트 변환 요청에 응답하여, 콘텐트 반출자(52)로부터 전송되는 콘텐트를 변환한 후 콘텐트 반입자(53)로 전송하기 위한 보안 인증 채널을 설립한다. 한편 콘텐트 반입자(53)는 콘텐트 반입 요청에 응답하여, 콘텐트 변환자(51)로부터 전송되는 콘텐트를 목적 디바이스(DV2) 즉, 콘텐트 전송의 종단점(End-Point)으로 전송하기 위한 보안 인증 채널을 수립할 수도 있다. 이는 콘텐트 반입자가 목적 디바이스와는 다른 디바이스에 설치되었을 경우 더욱 유용할 수 있다.
따라서 콘텐트 반출자(52)로부터 콘텐트 변환자(51)를 경유하여 콘텐트 반입자(53)로 경로를 형성하는 보안 인증 채널이 설립되게 된다. 아울러 콘텐트 반입자(53)가 콘텐트를 최종적인 종단점까지 제공하기 위한 보안 인증 채널이 콘텐트 반입자(53)로부터 종단점까지 설립될 수도 있다. 각 콘텐트 핸들러들은 보안 인증 채널이 설립되었음을 콘텐트 처리 컨트롤러(41)에게 보고할 수 있다(단계:S71, S72, S73).
보안 인증 채널의 설립이 완료되면 콘텐트 반출자(52)로부터 콘텐트의 전송이 시작된다. 이때 연결된 각각의 콘텐트 핸들러 쌍(즉, 콘텐트 반출자(52)-콘텐트 변환자(51) 및 콘텐트 변환자(51)-콘텐트 반입자(53))은 멀티 전송 프로토콜을 지원한다. 멀티 전송 프로토콜이란 단일 세션에서 멀티 콘텐트의 전송을 가능하게 하는 프로토콜이다. 이는 가변적인 프레임 사이즈를 지원할 수도 있다. 따라서 다수의 컨텐트가 단일 세션에서 전송 가능하다.
도 22는 이러한 멀티 전송 프로토콜을 설명하기 위한 예시도이다.
도 22에 도시된 바와 같이, 단일 세션의 전송에서 다수의 콘텐트가 전송될 수 있다. 각 콘텐트의 헤더에는 콘텐트 인덱스가 삽입된다. 콘텐트 인덱스는 콘텐트를 식별할 수 있는 소정 비트(예를 들어, 4비트)의 값일 수 있는데, 이는 해당 세션에서 전송되는 각각의 콘텐트들을 요청된 각각의 콘텐트와 연관시켜 구분할 수 있도록 하는 인자이다. 또한 각각의 콘텐트의 끝에는 콘텐트를 구분하기 위한 콘텐트 분리자(Content Separator)가 삽입된다. 콘텐트 분리자는 예컨대, 4비트의 "0"으로 이루어질 수 있다.
각 콘텐트는 그 길이에 따라 다수의 프레임으로 나뉠 수 있다. 각 프레임의 헤더에는 소정 비트(예컨대 4비트)의 프레임 사이즈가 삽입되고, 그 뒤에는 데이터가 적재되는 프레임 페이로드가 위치한다. 한편, 해당 세션의 마지막에는 전송의 끝을 알리는 구분자인 "EOT(End-Of-Transmission)"가 삽입된다. 상기 EOT는 예컨대, 4비트의 "1"값일 수 있다.
이와 같은 멀티 전송 프로토콜의 지원에 따라, 요청 클라이언트(RC1)가 제공한 전송 세션 식별자에 대응되는 하나의 세션에서 다수의 콘텐트를 전송할 수 있다. 이러한 전송은 콘텐트 반출자(52)로부터 순차적으로 이루어진다. 콘텐트 반출자(52)는 요청된 다수의 콘텐트를 보안 인증 채널을 통해 콘텐트 변환자(51)로 전송하고(단계:S74), 콘텐트 변환자(51)는 이를 수신하여 목적지에서 원하는 형태의 포맷으로 포맷 변환을 수행한다(단계:S75). 포맷 변환이 수행된 뒤 콘텐트 변환자(51)는 그 변환된 다수의 콘텐트를 보안 인증 채널을 통해 콘텐트 반입자(53)로 전송한다(단계:S76). 그러면 콘텐트 반입자(53)는 이를 수신하여 목적 디바이스(DV2)로 제공할 수 있다.
상기 콘텐트 반출자(52)로부터 콘텐트 변환자(51)를 경유하여 콘텐트 반입자(53)로 전송되는 다수의 콘텐트는 중립 콘텐트일 수 있다. 중립 콘텐트란 특정 DRM으로 암호화되지 않은 예컨대 클린 콘텐트를 의미할 수 있다. 콘텐트 반출자(52)는 요청된 다수의 콘텐트를 반출하여 중립 콘텐트로 변환시켜 전송할 수도 있고, 미리 중립 콘텐트로 변환된 것을 반출하여 전송할 수도 있다. 이는 상기 요청된 콘텐트에 적용된 DRM에서 지정하는 정책이나 반출 절차를 고려하여 수행될 수 있다.
또한 콘텐트 반입자(53)는 수신된 다수의 중립 콘텐트를 목적 디바이스에 적용된 DRM 시스템에서 지정한 정책이나 반입 절차 등을 고려하여 목적 디바이스로 전송할 수 있다. 예를 들어, 목적 DRM에 부합되도록 암호화하여 목적 디바이스(DV2)로 제공할 수도 있고, 수신된 다수의 중립 콘텐트를 그대로 목적 디바이스(DV2)에 제공할 수도 있다.
한편 상기 콘텐트 반출자(52), 콘텐트 변환자(51) 및 콘텐트 반입자(53)는 콘텐트의 전송 상태를 콘텐트 처리 컨트롤러(41)로 보고할 수 있다. 이를 위해서 콘텐트 처리 컨트롤러(41)는 콘텐트 전송 상태를 제공받을 수 있는 특정 이벤트를 구독하여야 한다. 이러한 특정 이벤트를 콘텐트 전송 상태 제공 이벤트라 칭하기로 한다.
콘텐트 처리 컨트롤러(41)는 콘텐트 반출 요청 전에 콘텐트 전송 상태 제공 이벤트의 구독을 요청할 수 있다(단계:S64, S65, S66). 예를 들어, 콘텐트 처리 컨트롤러(41)는 콘텐트 반출자(52), 콘텐트 변환자(51) 및 콘텐트 반입자(53)에게 콘텐트 전송 상태 이벤트를 구독함을 요청하여 해당 이벤트를 각각 구독할 수 있다.
이러한 콘텐트 전송 상태 이벤트를 구독하면, 콘텐트 처리 컨트롤러(41)는 콘텐트 전송 상태 정보가 포함된 이벤트 메시지를 푸시(Push) 또는 풀(Pull) 방식으로 제공받을 수 있다. 이때 푸시 방식이란 콘텐트 핸들러가 콘텐트의 전송 상태 에 변화가 생길 때마다 자동으로 (콘텐트 전송 상태 정보가 포함된)이벤트 메시지를 푸시하는 방식이다. 따라서 콘텐트 처리 컨트롤러(41)는 콘텐트의 전송 상태를 자동으로 제공받을 수 있다. 풀 방식이란 콘텐트 처리 컨트롤러(41)가 필요에 따라 콘텐트 핸들러로부터 콘텐트 전송 상태 정보를 가져오는 방식이다.
콘텐트 처리 컨트롤러(41)는 이벤트의 구독을 요청할 때 이러한 푸시 방식과 풀 방식 중 어떠한 방식으로 콘텐트 전송 상태 정보를 제공받을 것인지를 해당 콘텐트 핸들러에게 알려준다. 본 Example 3-1에서는 콘텐트 처리 컨트롤러(41)가 푸시 방법으로 콘텐트 전송 상태를 제공받는 예를 설명하기로 한다.
콘텐트 전송 상태 제공 이벤트를 구독하면, 콘텐트 처리 컨트롤러(41)는 각각의 콘텐트 핸들러로부터 콘텐트 전송 상태 정보가 포함된 이벤트 메시지를 받을 수 있다. 이때 이벤트 메시지에는 전송 세션 식별자가 포함되어야 한다. 여기서 전송 세션 식별자란 콘텐트 전송 요청 시에 부여되었던 전송 세션 식별자와 동일한 것이다.
콘텐트의 전송이 시작되면 콘텐트 반출자(52)는 콘텐트의 전송이 시작되었음을 알리는 이벤트 메시지를 콘텐트 처리 컨트롤러(41)로 보낸다. 예를 들어 "Started" 엘리먼트가 포함된 이벤트 메시지를 전송할 수 있다. 또한 콘텐트가 전송되고 있는 동안에는 콘텐트가 처리되고 있음을 알리는 이벤트 메시지를 주기적으로 콘텐트 처리 컨트롤러(41)에 전송할 수 있다. 예를 들어 "ProgressDone" 엘리먼트가 포함된 이벤트 메시지를 전송할 수 있다. 콘텐트의 전송이 완료되었을 경우 콘텐트 반출자(52)는 콘텐트의 전송이 완료되었음을 알리는 이벤트 메시지를 콘텐 트 처리 컨트롤러(41)로 전송한다. 예를 들어 "Completed" 엘리먼트가 포함된 이벤트 메시지를 전송할 수 있다. 아울러, 전송되는 이벤트 종류에는 시작, 처리, 종료 이외에 콘텐트 혹은 라이선스를 포함하는 데이터에 대해서 변환하고 전송하는 전 과정에 대한 이벤트 정보를 매 과정마다 구별하여 이벤트 메시지를 생성하고, 생성된 이벤트 메시지를 전송할 수 있다.
콘텐트 변환자(51)는 콘텐트의 전송이 시작되면 콘텐트의 전송이 시작되었음을 알리는 이벤트 메시지를 콘텐트 처리 컨트롤러(41)로 보낸다. 예를 들어 "Started" 엘리먼트가 포함된 이벤트 메시지를 전송할 수 있다. 또한 콘텐트가 전송되고 있는 동안에는 콘텐트가 처리되고 있음을 알리는 이벤트 메시지를 주기적으로 콘텐트 처리 컨트롤러(41)에 전송할 수 있다. 예를 들어 "ProgressDone" 엘리먼트가 포함된 이벤트 메시지를 전송할 수 있다. 콘텐트의 전송이 완료되었을 경우 콘텐트 반출자(52)는 콘텐트의 전송이 완료되었음을 알리는 이벤트 메시지를 콘텐트 처리 컨트롤러(41)로 전송한다. 예를 들어 "Completed" 엘리먼트가 포함된 이벤트 메시지를 전송할 수 있다.
콘텐트 반입자(53)는 콘텐트의 전송이 시작되면 콘텐트의 전송이 시작되었음을 알리는 이벤트 메시지를 콘텐트 처리 컨트롤러(41)로 보낸다. 예를 들어 "Started" 엘리먼트가 포함된 이벤트 메시지를 전송할 수 있다. 또한 콘텐트가 전송되고 있는 동안에는 콘텐트가 처리되고 있음을 알리는 이벤트 메시지를 주기적으로 콘텐트 처리 컨트롤러(41)에 전송할 수 있다. 예를 들어 "ProgressDone" 엘리먼트가 포함된 이벤트 메시지를 전송할 수 있다. 콘텐트의 전송이 완료되었을 경우 콘텐트 반출자(52)는 콘텐트의 전송이 완료되었음을 알리는 이벤트 메시지를 콘텐트 처리 컨트롤러(41)로 전송한다. 예를 들어 "Completed" 엘리먼트가 포함된 이벤트 메시지를 전송할 수 있다.
콘텐트 처리 컨트롤러(41)는 콘텐트 반출자(52)로부터 전송 시작을 알리는 이벤트 메시지가 수신되면, 그에 대응되는 이벤트 메시지를 요청 클라이언트(RC1)로 보낸다. 즉 콘텐트의 전송이 시작되었음을 알리는 것이다. 또한 콘텐트 처리 컨트롤러(41)는 콘텐트를 처리하고 있음을 알리는 이벤트 메시지가 수신되면, 그에 대응되는 이벤트 메시지를 요청 클라이언트(RC1)로 보낸다. 즉 콘텐트가 처리 중임을 알리는 것이다. 콘텐트 처리 컨트롤러(41)는 콘텐트 반입자(53)로부터 전송 완료를 알리는 이벤트 메시지가 수신되면, 그에 대응되는 이벤트 메시지를 요청 클라이언트(RC1)로 보낸다. 즉 콘텐트의 전송이 완료되었음을 알리는 것이다. 이러한 이벤트 메시지를 요청 클라이언트(RC1)로 보낼 때는 요청 클라이언트(RC1)가 전송 요청 시에 지시한 전송 세션 식별자를 포함시켜서 전송할 수 있다.
한편, 콘텐트 처리 컨트롤러(41)는 콘텐트 전송에 대한 이벤트를 전송되는 각 콘텐트를 개별적으로 식별하여 전송 혹은 변환 상태를 알려주거나, 전송되는 콘텐트를 통합하여 알려줄 수도 있다. 다시 말해, 콘텐트 처리 컨트롤러(41)는 다수의 콘텐트를 전송 시점으로 구별하여 개별 콘텐트 전송이 이루어지는 시점마다 클라이언트에게 알려주거나, 또는 콘텐트 전송이 이루어진 이후 통합하여 이벤트를 관리한 뒤 콘텐트 전송 상태를 알려줄 수도 있다. 아울러 콘텐트에 대한 확인은 콘텐트 식별 정보를 통해 이루어진다. 이와 같은 사항은 라이선스에도 동일하게 적용 될 수도 있다. 라이선스의 경우 라이선스 전송 컨트롤러에 의하여 이러한 동작이 수행될 수 있다.
이와 같은 방법으로 요청 클라이언트(RC1)는 전송 요청한 세션에 대한 콘텐트의 전송 상태를 파악할 수 있다. 요청 클라이언트(RC1)에 유저 인터페이스 기능이 구비된다면 요청 클라이언트(RC1)는 사용자에게 콘텐트의 전송 상태를 수치나 그래픽을 통하여 알려줄 수도 있을 것이다.
또한, 하나의 세션에서 다수의 콘텐트가 전송될 경우 각 콘텐트의 전송 상태를 파악할 수 있기 때문에 해당 세션을 통하여 요청한 콘텐트들의 전송 상태를 순차적으로 파악할 수 있게 된다.
한편, 콘텐트 반출자(52), 콘텐트 변환자(51), 콘텐트 반입자(53)는 전송 중에 보안 인증 채널 상에서 발생하는 에러를 알 수 있는데, 이 경우 에러의 발생을 발견한 콘텐트 핸들러는 에러 발생을 알리는 이벤트 메시지를 콘텐트 처리 컨트롤러(41)로 전송할 수 있다. 예를 들어 "Error"나 "SAC-Failure" 엘리먼트가 포함된 이벤트 메시지를 전송하는 것이다. 이때 에러 이벤트 메시지에는 전송 세션 식별자가 포함됨은 물론이다.
콘텐트 처리 컨트롤러(41)는 특정 콘텐트 핸들러로부터 에러 발생을 알리는 이벤트 메시지가 수신되면, 전송에 참여하고 있는 콘텐트 핸들러들에게 전송 취소를 요청한다. 취소 요청 시에는 취소된 전송 세션의 전송 세션 식별자를 제공하여야 한다. 또한 콘텐트 처리 컨트롤러(41)는 에러 발생을 알리는 이벤트 메시지를 요청 클라이언트(RC1)에게 보낸다. 그러면 요청 클라이언트(RC1)는 에러 발생을 인 지할 수 있다. 한편 상기 전송 취소 요청을 수신한 콘텐트 핸들러는 해당 세션의 전송을 취소한다.
이러한 전송 취소는 요청 클라이언트(RC1)에 의하여 개시될 수도 있다. 이 경우 요청 클라이언트(RC1)는 전송 요청 시에 제공했던 전송 세션 식별자와 동일한 전송 세션 식별자를 포함하는 전송 취소 요청을 콘텐트 처리 컨트롤러(41)로 전송한다. 그러면 콘텐트 처리 컨트롤러(41)는 해당 요청에 응답하여, 전송에 참여하고 있는 콘텐트 핸들러들에게 전송 취소를 요청한다. 상기 전송 취소 요청을 수신한 콘텐트 핸들러들은 해당 세션의 전송을 취소한다.
한편, 콘텐트 처리 컨트롤러(41)는 상기 언급한, "콘텐트 전송 시작", "콘텐트 전송 중", "콘텐트 전송 완료", "콘텐트 전송 에러" 등과 같은 이벤트 메시지뿐만 아니라, 콘텐트 변환자(51)로 콘텐트 변환 과정을 모니터링 할 수 있는 이벤트의 구독을 요청한 뒤 "콘텐트 포맷 변환 시작", "콘텐트 포맷 변환 중", "콘텐트 포맷 완료", "콘텐트 포맷 변환 에러" 등의 이벤트 메시지를 수신할 수도 있으며, 상기 데이터가 소정의 암호화 기법이 적용되어 변환 중임을 알리는 이벤트의 구독을 요청한 뒤 "암호화 기법이 적용된 변환 시작", "암호화 기법이 적용된 변환 중", "암호화 기법이 적용된 변환 종료", "암호화 기법이 적용된 변환 에러" 등의 이벤트 메시지를 수신할 수도 있으며, 변환 콘텐트 핸들러들로 SAC 형상 과정을 알 수 있는 이벤트의 구독을 요청한 뒤 "보안 인증 채널 형성 시작", "보안 인증 채널 형성 중", "보안 인증 채널 형성 완료", "보안 인증 채널 형성 에러" 등의 이벤트 메시지를 수신할 수도 있다.
이상의 Example 3-1에서, 처리 제어부의 콘텐트 처리 컨트롤러(41) 및 콘텐트 처리부의 콘텐트 핸들러들을 이용하여, 하나의 콘텐트 변환 체인을 구성하고, 싱글 세션을 통해 싱글 또는 멀티 콘텐트를 전송할 수 있는 과정들을 살펴보았다.
이하의 Example 3-2에서는 요청 클라이언트(RC1)로부터의 요청에 따라 다수 개의 콘텐트 변환 체인을 구성하고, 멀티 세션을 통해 싱글 또는 멀티 콘텐트를 전송할 수 있는 과정에 대해서 설명하기로 한다. 이 경우 콘텐트 전송 요청에 대응하여 복수의 하나 또는 복수의 목적지에 콘텐트를 전송할 수 있다.
<Example 3-2>
도 23은 Example 3-2에 따른 콘텐트 전송 과정을 위한 시스템 구성을 도시하는 블록도이다.
도 23을 참조하면, 요청 디바이스(DV1)에는 요청 클라이언트(RC1) 및 콘텐트 반출자(52)가 구비될 수 있다. 또한 제 1 목적 디바이스(DV2-1)에는 제 1 콘텐트 반입자(53a)가 구비되고, 제 2 목적 디바이스(DV2-2)에는 제 2 콘텐트 반입자(53b)가 구비된다. 콘텐트 처리 컨트롤러(41)와 콘텐트 변환자(51)는 요청 디바이스(DV1) 또는 목적 디바이스(DV2)와는 별개의 디바이스에 구비된다.
도 24는 Example 3-2에 따른 콘텐트 전송 과정을 도시하는 흐름도로서, 요청 클라이언트(RC1)의 요청에 따라 요청 디바이스(DV1) 내에 포함된 동일한 하나 또는 다수의 콘텐트를 목적지인 제 1 목적 디바이스(DV2-1) 및 제 2 목적 디바이스(DV2-2)로 전송하는 과정을 예시적으로 보여주고 있다.
도 24에 도시된 바와 같이, 먼저 요청 클라이언트(RC1)는 콘텐트 처리 컨트 롤러(41)에게 요청 디바이스(DV1)가 가진 동일한 하나 또는 다수의 콘텐트를 제 1 목적 디바이스(DV2-1) 및 제 2 목적 디바이스(DV2-2)로 요청하는 콘텐트 전송 요청 메시지를 전송한다(단계:S81).
이때, 상기 콘텐트 전송 요청 메시지에는 적어도 하나의 전송 세션 식별자, 콘텐트 식별자, 소스 정보, 목적지 정보 등이 포함된다. 또한 옵션으로 콘텐트를 수신하는 목적지의 DRM 시스템 정보가 포함될 수도 있다.
콘텐트 식별자는 전송 요청된 콘텐트를 식별할 수 있는 정보를 의미할 수 있다. 본 Example 3-2에서는 제 1 목적 디바이스(DV2-1)와 제 2 목적 디바이스(DV2-2)에 동일한 하나 또는 다수의 콘텐트를 전송하는 것이므로 하나 또는 다수 개의 콘텐트 식별자가 존재할 수 있다.
전송 세션 식별자는 해당 전송 세션을 유니크하게 식별할 수 있는 식별자를 의미한다. 본 Example 3-2에서는 전송 요청된 하나 또는 다수 개의 콘텐트를 제 1 목적 디바이스(DV2-1)로 전송하고, 동일한 하나 도는 다수 개의 콘텐트를 제 2 목적 디바이스(DV2-2)로 전송하여야 하므로 전송 세션이 두 개로 나뉜다. 따라서 2개의 전송 세션 식별자가 존재할 수 있다. 예를 들어, 제 1 전송 세션 식별자 및 제 2 전송 세션 식별자가가 있을 수 있다.
소스 정보는 전송 요청된 콘텐트가 어디로부터 전송되는지를 식별할 수 있는 정보를 의미한다. 이러한 소스 정보에는 소스 디바이스나 시스템, 예컨대 요청 디바이스(DV1)를 식별할 수 있는 식별자와, 전송 요청된 콘텐트의 파일 포맷 정보 등이 포함될 수 있다. 본 Example 3-2에서의 전송 요청된 하나 또는 다수의 콘텐트가 요청 디바이스(DV1)에 구비되는 것이므로, 소스 정보에는 요청 디바이스(DV1)의 정보 및 파일 포맷 정보가 포함될 수 있을 것이다.
목적지 정보는 전송 요청된 콘텐트가 전송될 목적지인 목적 디바이스(DV2)를 파악할 수 있는 정보를 포함한다. 이러한 목적지 정보는 목적지를 식별할 수 있는 목적지 식별자, 목적지에서 요구되는 파일 포맷 정보 등이 포함될 수 있다. 목적지 정보에 포함되는 파일 포맷 정보는 콘텐트 변환자(51)에 의한 파일 포맷 변환 시에 참조될 수 있다. 본 Example 3-2에서의 목적지 정보는 제 1 목적 디바이스(DV2-1) 및 제 2 목적 디바이스(DV2-2)의 정보 및 포맷 정보가 될 것이다.
이러한 콘텐트 전송 요청 메시지가 수신되면, 콘텐트 처리 컨트롤러(41)는 콘텐트 핸들러들의 정보를 수집한다(단계:S82). 예를 들어, 콘텐트 처리 컨트롤러(41)는 적어도 하나 이상의 콘텐트 반출자(52), 콘텐트 반입자(53) 및 콘텐트 변환자(51)에게 능력치(Capability)를 질의하여 해당 개체로부터 응답을 얻는다. 이는 콘텐트를 전송하기 위한 소스, 중간 및 목적지의 디바이스들, 시스템들, DRM들의 능력치를 파악하기 위함이다.
정보가 수집되면, 콘텐트 처리 컨트롤러(41)는 그 수집된 정보를 토대로 상기 요청된 하나 또는 다수의 콘텐트 전송을 수행할 것인지를 결정한다(단계:S83). 즉 요청된 콘텐트 전송을 콘텐트 핸들러들이 정상적으로 수행할 수 있는지를 점검하는 것이다. 여기서는 요청 클라이언트(RC1)로부터 요청된 2개의 전송 세션을 모두 만족할 수 있는지를 고려하여야 할 수 있다.
콘텐트 전송이 결정되면, 콘텐트 처리 컨트롤러(41)는 요청된 콘텐트의 변환 을 효과적으로 수행할 수 있는 콘텐트 핸들러들을 결정하여 콘텐트 변환 체인이 구성될 수 있도록 유도한다. 본 Example 3-2에서는 요청된 동일 콘텐트를 제 1 목적 디바이스(DV2-1)로 전송하기 위한 전송 세션과 제 2 목적 디바이스(DV2-2)로 전송하기 위한 전송 세션으로 구분되므로, 각 전송 세션을 수행할 수 있는 2개의 콘텐트 변환 체인이 필요하다.
도 25는 요청된 하나 또는 다수의 콘텐트를 제 1 목적 디바이스(DV2-1)로 전송하기 위한 제 1 콘텐트 변환 체인을 보여주고 있다.
도 25에 도시된 바와 같이, 제 1 콘텐트 변환 체인에는 콘텐트 반출자(52), 콘텐트 변환자(51), 및 제 1 콘텐트 반입자(53a)가 포함된다.
도 26는 상기 요청된 하나 또는 다수의 콘텐트를 제 2 목적 디바이스(DV2-2)로 전송하기 위한 제 2 콘텐트 변환 체인을 보여주고 있다.
도 26에 도시된 바와 같이, 제 2 콘텐트 변환 체인에는 콘텐트 반출자(52) 및 제 2 콘텐트 반입자(53b)가 포함된다.
이때, 제 1 콘텐트 변환 체인에는 콘텐트 변환자(51)가 존재하나, 제 2 콘텐트 변환 체인에는 콘텐트 변환자(51)가 존재하지 않는다. 이는 전송 요청된 하나 또는 다수의 콘텐트가 가진 포맷과 제 1 목적 디바이스(DV2-1)에서 요구하는 콘텐트의 포맷이 달라 콘텐트의 포맷 변환이 필요한 반면, 상기 전송 요청된 하나 또는 다수의 콘텐트가 가진 포맷과 제 2 목적 디바이스(DV2-2)에서 요구하는 콘텐트의 포맷은 동일하기 때문이다.
상기 콘텐트 처리 컨트롤러(41)는 상기 제 1 콘텐트 변환 체인이 구성되도록 유도하여 제 1 전송 세션이 수행되고 나면, 제 2 콘텐트 변환 체인이 구성되도록 유도하여 제 2 전송 세션이 수행되도록 할 수 있다. 이러한 콘텐트 변환 체인을 구성하는 또 다른 예로 동시에 세션을 반복하여 여러 번 생성(Single Chain이 복수 번 생성)되게 할 수도 있다.
먼저 콘텐트 처리 컨트롤러(41)는 상기 구성되는 제 1 콘텐트 변환 체인에 포함된 콘텐트 반출자(52), 콘텐트 변환자(51) 및 제 1 콘텐트 반입자(53a)에게 각각 콘텐트 반출 요청, 콘텐트 변환 요청 및 콘텐트 반입 요청을 보낸다(단계:S84). 이러한 각각의 요청은 해당 콘텐트 핸들러들에게 제어 메시지를 송신함으로써 이루어진다.
상기 콘텐트 반출 요청 시에, 콘텐트 처리 컨트롤러(41)는 콘텐트 반출자(52)에게 제 1 전송 세션 식별자, 요청된 하나 또는 다수의 콘텐트의 콘텐트 식별자, 수신자 정보인 콘텐트 변환자(51)의 정보를 제공할 수 있다.
또한, 상기 콘텐트 변환 요청 시, 콘텐트 처리 컨트롤러(41)는 콘텐트 변환자(51)로 제 1 전송 세션 식별자, 요청된 하나 또는 다수의 콘텐트의 콘텐트 식별자, 송신자 정보인 콘텐트 반출자(52)의 정보, 수신자 정보인 콘텐트 반입자(53)의 정보, 전송되는 하나 또는 다수의 콘텐트의 포맷 및 변환하여야 할 포맷 정보 등을 제공할 수 있다.
상기 콘텐트 반입 요청 시에는, 콘텐트 처리 컨트롤러(41)는 제 1 콘텐트 반입자(53a)로 제 1 전송 세션 식별자, 요청된 하나 또는 다수의 콘텐트의 콘텐트 식별자, 송신자인 콘텐트 변환자(51)의 정보 등을 제공할 수 있다. 또한 콘텐트를 최 종적으로 수신할 수신자의 정보 및 목적지 DRM 시스템의 DRM 정보도 제공할 수 있다. 여기서 수신자 정보란 콘텐트 전송의 종단점(End-Point), 예컨대 제 1 목적 디바이스(DV2-1) 내에 구비되는 특정 저장 개체나 모듈의 정보를 의미할 수 있다.
이와 같이 콘텐트 처리 컨트롤러(41)로부터의 콘텐트 반출 요청, 콘텐트 변환 요청 및 콘텐트 반입 요청이 각각 콘텐트 반출자(52), 콘텐트 변환자(51) 및 제 1 콘텐트 반입자(53a)로 수신되면, 제 1 콘텐트 변환 체인을 통한 콘텐트 전송 및 이벤트 수신이 이루어진다(단계:S85).
먼저 콘텐트 반출자(52)와 콘텐트 변환자(51)의 사이 및 콘텐트 변환자(51)와 제 1 콘텐트 반입자(53a)의 사이에는 보안 인증 채널이 설립된다. 또한 제 1 콘텐트 반입자(53a)와 제 1 목적 디바이스(DV2-1) 사이에도 보안 인증 채널이 설립될 수 있다. 보안 인증 채널의 설립이 완료되면, 콘텐트 반출자(52)로부터 콘텐트의 전송이 시작된다. 이때, 각각의 콘텐트 핸들러 쌍(즉, 콘텐트 반출자(52)-콘텐트 변환자(51) 및 콘텐트 변환자(51)-제 1 콘텐트 반입자(53a))는 앞서 언급한 멀티 전송 프로토콜을 지원한다. 즉 하나의 세션에서 다수의 콘텐트를 전송할 수 있는 것이다.
이와 같은 멀티 전송 프로토콜의 지원에 따라, 요청 클라이언트(RC1)가 제공한(또는 콘텐트 처리 컨트롤러(41)에서도 생성 가능) 제 1 전송 세션 식별자에 대응되는 하나의 세션에서 다수의 콘텐트를 전송할 수 있다. 이러한 전송은 콘텐트 반출자(52)로부터 순차적으로 이루어진다. 상기 콘텐트 반출자(52)로부터 콘텐트 변환자(51)를 경유하여 콘텐트 반입자(53)로 전송되는 다수의 콘텐트는 중립 콘텐 트의 형태를 가진다. 앞서도 언급했듯이, 중립 콘텐트란 특정 DRM으로 암호화되지 않은 예컨대 클린 콘텐트를 의미할 수 있다.
한편 상기 콘텐트 반출자(52), 콘텐트 변환자(51) 및 제 1 콘텐트 반입자(53a)는 콘텐트의 전송 상태를 콘텐트 처리 컨트롤러(41)로 보고할 수 있다. 이를 위해서 콘텐트 처리 컨트롤러(41)는 콘텐트 반출자(52), 콘텐트 변환자(51) 및 제 1 콘텐트 반입자(53a)에게 콘텐트 전송 상태 이벤트의 구독을 요청하고, 이벤트 메시지를 수신한다. 이러한 이벤트에 대해서는 앞선 Example 3-1에서 설명한 바 있으므로 상세한 설명은 생략하기로 한다.
제 1 목적 디바이스(DV2-1)로의 콘텐트 전송이 완료되면(단계:S86), 콘텐트 처리 컨트롤러(41)는 제 2 콘텐트 변환 체인에 포함되는 콘텐트 반출자(52) 및 제 2 콘텐트 반입자(53b)에게 각각 콘텐트 반출 요청 및 콘텐트 반입 요청을 보낸다(단계:S87). 즉 콘텐트 처리 컨트롤러(41)의 제어에 의하여 두 개의 콘텐트 변환 체인이 순차적으로 전송을 수행되는 것이다. 물론, 콘텐트 처리 컨트롤러의 제어에 의하여 두 개의 콘텐트 변환체인이 동시에 생성된 후 전송이 수행될 수도 있다.
상기 콘텐트 반출 요청 시, 콘텐트 처리 컨트롤러(41)는 콘텐트 반출자(52)에게 제 2 전송 세션 식별자, 요청된 하나 또는 다수의 콘텐트의 콘텐트 식별자, 수신자 정보인 콘텐트 반입자(53)의 정보를 제공할 수 있다. 또한 상기 콘텐트 반입 요청 시, 콘텐트 처리 컨트롤러(41)는 제 2 콘텐트 반입자(53b)로 제 2 전송 세션 식별자, 요청된 하나 또는 다수의 콘텐트의 콘텐트 식별자, 송신자인 콘텐트 반출자(52)의 정보 등을 제공할 수 있다.
이와 같이 콘텐트 처리 컨트롤러(41)로부터의 콘텐트 반출 요청 및 콘텐트 반입 요청이 각각 콘텐트 반출자(52) 및 제 2 콘텐트 반입자(53b)로 수신되면, 제 2 콘텐트 변환 체인을 통한 콘텐트 전송 및 이벤트 수신이 이루어진다(단계:S88).
먼저 콘텐트 반출자(52)와 제 2 콘텐트 반입자(53b)의 사이에는 보안 인증 채널이 설립된다. 보안 인증 채널의 설립이 완료되면 콘텐트 반출자(52)로부터 콘텐트의 전송이 시작된다. 이때 연결된 각각의 콘텐트 핸들러 쌍(즉, 콘텐트 반출자(52)-제 2 콘텐트 반입자(53b))은 앞서 언급한 멀티 전송 프로토콜을 지원한다. 즉 하나의 세션에서 다수의 콘텐트를 전송할 수 있는 것이다.
이와 같은 멀티 전송 프로토콜의 지원에 따라, 요청 클라이언트(RC1)가 제공한(또는 콘텐트 처리 컨트롤러(41)에서도 생성 가능) 제 2 전송 세션 식별자에 대응되는 하나의 세션에서 다수의 콘텐트를 전송할 수 있다. 이러한 전송은 콘텐트 반출자(52)로부터 순차적으로 이루어진다. 상기 콘텐트 반출자(52)로부터 제 2 콘텐트 반입자(53b)로 전송되는 다수의 콘텐트는 중립 콘텐트의 형태를 가진다. 앞서도 언급했듯이, 중립 콘텐트란 특정 DRM으로 암호화되지 않은 예컨대 클린 콘텐트를 의미할 수 있다. 이러한 중립 콘텐트가 제 2 목적 디바이스(DV2-2)에 구비된 제 2 콘텐트 반입자(53b)로 전달되면 전송이 완료될 수 있다(단계:S89).
한편 상기 콘텐트 반출자(52) 및 제 2 콘텐트 반입자(53b)는 콘텐트의 전송 상태를 콘텐트 처리 컨트롤러(41)로 보고할 수 있다. 이를 위해서 콘텐트 처리 컨트롤러(41)는 콘텐트 반출자(52) 및 제 2 콘텐트 반입자(53b)에게 콘텐트 전송 상태 이벤트의 구독을 요청하고, 이벤트 메시지를 수신한다. 이를 통해 콘텐트 처리 컨트롤러(41)는 각 콘텐트의 전송 상태를 알 수 있으며, 그 전송 상태 정보를 요청 클라이언트(RC1)에게도 제공할 수 있다.
이상의 Example 3-2에서, 요청 클라이언트(RC1)로부터의 요청에 따라 다소 개의 콘텐트 변환 체인을 구성하고, 멀티 세션을 통해 싱글 또는 멀티 콘텐트를 전송할 수 있는 과정을 설명하였다.
이하의 Example 3-3에서는 요청 클라이언트(RC1)로부터 요청된 콘텐트를 단일 목적지로 전송하되, 복수의 콘텐트 변환 체인을 구성하여 전송하는 경우를 설명하기로 한다. Example 3-3에서는 2개의 콘텐트 변환 체인을 구성하는 예를 들것이다.
<Example 3-3>
도 27은 Example 3-3에 따른 콘텐트 전송 과정을 위한 시스템 구성을 도시하는 블록도이다.
도 27을 참조하면, 요청 디바이스(DV1)에는 요청 클라이언트(RC1) 및 콘텐트 반출자(52)가 구비될 수 있다. 또한 목적 디바이스(DV2)에는 콘텐트 반입자(53)가 구비된다. 콘텐트 전송 콘트롤러와 콘텐트 변환자(51)는 요청 디바이스(DV1) 또는 목적 디바이스(DV2)와는 별개의 디바이스에 구비될 수 있다.
도 28은 Example 3-3에 따른 콘텐트 전송 과정을 도시하는 흐름도로서, 요청 클라이언트(RC1)의 요청에 따라 요청 디바이스(DV1) 내에 포함된 콘텐트를 목적지인 목적 디바이스(DV2)로 전송하는 과정을 예시적으로 보여주고 있다.
도 28을 참조하면, 먼저, 요청 클라이언트(RC1)는 콘텐트 처리 컨트롤러(41) 에게 콘텐트의 전송을 요청하는 콘텐트 전송 요청 메시지를 전송한다(단계:S100). 이때 콘텐트 전송 요청 메시지에는 전송 세션 식별자, 콘텐트 식별자, 소스 정보, 목적지 정보 등이 포함된다. 또한 옵션으로 콘텐트를 수신하는 목적지의 DRM 시스템 정보가 포함될 수도 있다.
콘텐트 식별자는 전송 요청된 콘텐트를 식별할 수 있는 정보를 의미할 수 있다. 전송 요청된 콘텐트가 여러 개일 경우 각각의 콘텐트를 식별할 수 있는 다수 개의 콘텐트 식별자가 존재할 수 있다.
전송 세션 식별자는 해당 전송 세션을 유니크하게 식별할 수 있는 하나의 식별자를 의미한다. 소스 정보는 전송 요청된 콘텐트가 어디서 전송되는지를 식별할 수 있는 정보를 의미한다. Example 3-3에서의 소스 정보는 요청 디바이스(DV1)의 정보 및 포맷 정보를 의미할 수 있다.
목적지 정보는 전송 요청된 콘텐트가 전송될 목적지인 목적 디바이스(DV2)를 파악할 수 있는 정보를 포함한다. 이러한 목적지 정보는 목적지를 식별할 수 있는 목적지 식별자, 목적지에서 요구되는 파일 포맷 정보 등이 포함할 수 있다.
이러한 콘텐트 전송 요청 메시지가 수신되면, 콘텐트 처리 컨트롤러(41)는 콘텐트 핸들러들의 정보를 수집하고, 수집된 정보를 토대로 전송 여부를 결정하고 전송이 결정될 경우 전송에 참여할 콘텐트 핸들러들을 결정한다(단계:S101, S102, S103).
우선 콘텐트 처리 컨트롤러(41)는 적어도 하나 이상의 콘텐트 반출자(52), 콘텐트 반입자(53) 및 콘텐트 변환자(51)에게 능력치(Capability)를 질의하여 해당 개체로부터 응답을 얻는다. 이는 콘텐트를 전송하는 소스, 중간 및 목적지의 디바이스들, 시스템들, DRM들의 능력치를 파악하기 위함이다.
정보가 수집되면, 콘텐트 처리 컨트롤러(41)는 그 수집된 정보를 토대로 상기 요청된 콘텐트 전송을 수행할 것인지를 결정한다. 즉 요청된 콘텐트 전송을 콘텐트 핸들러들이 정상적으로 수행할 수 있는지를 점검하는 것이다. 여기서는 요구되는 콘텐트의 포맷이나 시스템의 정책, 개체 간에 실행 가능한 보안 인증 채널 알고리즘 정보 등이 고려될 수 있다.
콘텐트 전송이 결정되면, 콘텐트 처리 컨트롤러(41)는 콘텐트 반출자(52)와 콘텐트 변환자(51)를 결정하여 이들이 1차 콘텐트 변환 체인을 구성할 수 있도록 유도하여야 한다. 본 Example 3-3에서는 전송 요청된 콘텐트의 포맷과 목적 디바이스(DV2)에서 요구하는 콘텐트의 포맷이 다른 경우를 예시한다. 따라서 콘텐트 변환자(51)가 콘텐트 변환 체인에 포함되어야 한다.
도 29는 콘텐트 처리 컨트롤러(41)에 의하여 구성된 1차 콘텐트 변환 체인을 나타내는 예시도로서, 도 29를 참조하면 1차 콘텐트 변환 체인에는 콘텐트 반출자(52) 및 콘텐트 변환자(51)가 포함되는 것을 알 수 있다.
이어서, 콘텐트 처리 컨트롤러(41)는 상기 구성되는 1차 콘텐트 변환 체인에 포함된 콘텐트 반출자(52) 및 콘텐트 변환자(51)에게 각각 콘텐트 반출 요청 및 콘텐트 변환 요청을 보낸다(단계:S107, S108). 이러한 각각의 요청은 해당 콘텐트 핸들러들에게 제어 메시지를 송신함으로써 이루어진다.
상기 콘텐트 반출 요청 시에, 콘텐트 처리 컨트롤러(41)는 콘텐트 반출자 (52)에게 전송 세션 식별자, 콘텐트 식별자, 수신자인 콘텐트 변환자(51)의 정보 등을 제공할 수 있다. 또한, 콘텐트 변환 요청 시, 콘텐트 처리 컨트롤러(41)는 콘텐트 변환자(51)로 전송 세션 식별자, 콘텐트 식별자, 송신자인 콘텐트 반출자(52)의 정보, 추후 수신자인 콘텐트 반입자(53)의 정보, 요청된 콘텐트의 콘텐트 포맷 및 변환되어야 할 포맷 정보 등을 제공할 수 있다.
이와 같이 콘텐트 처리 컨트롤러(41)로부터의 콘텐트 반출 요청 및 콘텐트 변환 요청이 각각 콘텐트 반출자(52) 및 콘텐트 변환자(51)로 수신되면, 콘텐트 반출자(52)와 콘텐트 변환자(51) 사이에는 보안 인증 채널이 설립된다(단계:S109). 콘텐트 반출자(52) 및 콘텐트 변환자(51)는 보안 인증 채널의 설립이 완료되었음을 콘텐트 처리 컨트롤러에게 보고할 수 있다(단계:S110, S111).
보안 인증 채널의 설립이 완료되면 콘텐트 반출자(52)로부터 콘텐트의 전송이 시작된다. 이때 연결된 각각의 콘텐트 핸들러 쌍(즉, 콘텐트 반출자(52)-콘텐트 변환자(51))은 멀티 전송 프로토콜을 지원할 수 있다. 멀티 전송 프로토콜이란 단일 세션에서 멀티 콘텐트의 전송을 가능하게 하는 프로토콜로서 앞서 설명한 바 있다. 이와 같은 멀티 전송 프로토콜의 지원에 따라 요청된 콘텐트가 다수일 경우 싱글 세션에서 다수의 콘텐트를 전송할 수도 있다.
이러한 전송은 콘텐트 반출자(52)로부터 순차적으로 이루어진다. 콘텐트 반출자(52)는 요청된 콘텐트를 보안 인증 채널을 통해 콘텐트 변환자(51)로 전송한다. 그러면 콘텐트 변환자(51)는 콘텐트의 포맷을 요구되는 형태로 변환한다.
상기 콘텐트 반출자(52) 및 콘텐트 변환자(51)는 콘텐트의 전송 또는 변환 상태를 콘텐트 처리 컨트롤러(41)로 보고할 수 있다. 이를 위해서 콘텐트 처리 컨트롤러(41)는 콘텐트 반출 요청 전에 각각의 콘텐트 핸들러들에게 요청하여 특정 이벤트를 구독하여야 한다(단계:S104, S105, S106).
상기 특정 이벤트는 상기 콘텐트 전송 상태 제공 이벤트, 콘텐트 변환 상태 제공 이벤트를 포함할 수 있다. 이때 콘텐트 전송 상태 제공 이벤트는 앞서도 언급했듯이, 전송에 관여하는 콘텐트 핸들러가 콘텐트 전송 시작, 콘텐츠 처리 중, 콘텐트 전송 완료, 콘텐트 전송 에러 등의 상황을 이벤트 메시지로 보고할 수 있는 이벤트이다.
콘텐트 변환 상태 제공 이벤트의 경우, 콘텐트 변환자(51)에 의하여 수행될 수 있는 이벤트라고 할 수 있다. 콘텐트 처리 컨트롤러(41)는 콘텐트 변환자(51)에게 요청하여 콘텐트 변환 상태 제공 이벤트를 구독할 수 있다. 그러면 콘텐트 처리 컨트롤러(41)는 콘텐트 변환자(51)로부터 콘텐트의 변환 시작, 콘텐트 변환 중, 콘텐트의 변환 완료, 콘텐트의 변환 에러 등의 상황 등을 제공받을 수 있다.
콘텐트 반출자(52)로부터 전송된 콘텐트가 콘텐트 변환자(51)로 전송된 뒤 포맷 변환이 완료되면(단계:S112), 콘텐트 처리 컨트롤러(41)는 콘텐트 변환자(51)와 콘텐트 반입자(53)를 포함하는 2차 콘텐트 변환 체인을 구성하여야 한다. 컨텐트 처리 컨트롤러(41)의 제어에 따라 1차 콘텐트 변환 체인과 2차 콘텐트 변환 체인이 순차적으로 동작하는 것이다.
도 30은 콘텐트 처리 컨트롤러(41)에 의하여 구성된 2차 콘텐트 변환 체인을 나타내는 예시도이다.
도 30에 도시된 바와 같이, 2차 콘텐트 변환 체인에는 콘텐트 변환자(51)와 콘텐트 반입자(53)가 포함된다. 콘텐트 처리 컨트롤러(41)는 2차 콘텐트 변환 체인에 포함된 콘텐트 반출자(52) 및 콘텐트 변환자(51)에게 각각 콘텐트 변환 요청 및 콘텐트 반입 요청을 보낸다(단계:S113, S114). 콘텐트 변환자(51)와 콘텐트 반입자(53) 간에는 보안 인증 채널이 설립된다(단계:S115). 이때 콘텐트 반입자(53)와 목적 디바이스(DV2) 사이에도 보안 인증 채널이 설립될 수 있다.
콘텐트 변환자(51)는 포맷 변환된 콘텐트를 보안 인증 채널을 통하여 콘텐트 반입자(53)로 전송한다. 그러면 콘텐트 반입자(53)는 전송되는 콘텐트를 수신한다. 상기 콘텐트 변환자(51) 및 콘텐트 반입자(53)는 콘텐트의 전송 상태를 콘텐트 처리 컨트롤러(41)로 보고할 수 있다. 상기 콘텐트 반입자(53)로부터 콘텐트 반입자(53)로 전송되는 콘텐트는 중립 콘텐트이다. 중립 콘텐트란 앞서도 언급했듯이, 특정 DRM으로 암호화되지 않은 예컨대 클린 콘텐트를 의미할 수 있다.
이상의 Example 3-3에서, 요청 클라이언트(RC1)로부터 요청된 콘텐트를 단일 목적지로 콘텐트를 전송하되, 2개의 콘텐트 변환 체인을 구성하여 전송하는 과정을 설명하였다.
이하의 Example 3-4에서는 요청 클라이언트(RC1)로부터 요청된 콘텐트를 다수의 목적지로 전송하되, 다수의 콘텐트 변환 체인을 구성하여 전송하는 경우를 설명하기로 한다.
<Example 3-4>
도 31은 Example 3-4에 따른 콘텐트 전송을 위한 시스템 구성을 도시하는 블 록도이다.
도 31을 참조하면, 요청 디바이스(DV1)에는 요청 클라이언트(RC1) 및 콘텐트 반출자(52)가 구비될 수 있다. 또한 제 1 목적 디바이스(DV2-1)에는 제 1 콘텐트 반입자(53a)가 구비되고, 제 2 목적 디바이스(DV2-2)에는 제 2 콘텐트 반입자(53b)가 구비되고, 제 3 목적 디바이스(DV2-3)에는 제 3 콘텐트 반입자(53)가 구비된다. 콘텐트 전송 콘트롤러와 콘텐트 변환자(51)는 요청 디바이스(DV1) 또는 목적 디바이스(DV2)와는 별개의 디바이스에 구비될 수 있다.
도 32는 Example 3-4에 따른 콘텐트 전송 과정을 도시하는 흐름도로서, 요청 클라이언트(RC1)의 요청에 따라 요청 디바이스(DV1) 내에 포함된 동일한 콘텐트를 3개의 목적지인 제 1 목적 디바이스(DV2-1), 제 2 목적 디바이스(DV2-2) 및 제 3 목적 디바이스(DV2-3)로 전송하는 과정을 예시적으로 보여주고 있다.
도 32를 참조하면, 먼저 요청 클라이언트(RC1)는 콘텐트 처리 컨트롤러(41)에게 콘텐트의 전송을 요청하는 콘텐트 전송 요청 메시지를 전송한다(단계:S121). 이때 콘텐트 전송 요청 메시지에는 전송 세션 식별자, 콘텐트 식별자, 소스 정보, 목적지 정보 등이 포함된다. 또한 옵션으로 콘텐트를 수신하는 목적지의 DRM 시스템 정보가 포함될 수도 있다.
콘텐트 식별자는 전송 요청된 콘텐트를 식별할 수 있는 정보를 의미할 수 있다. 전송 요청된 콘텐트가 여러 개일 경우 각각의 콘텐트를 식별할 수 있는 다수 개의 콘텐트 식별자가 존재할 수 있다.
전송 세션 식별자는 해당 전송 세션을 유니크하게 식별할 수 있는 식별자를 의미한다. 소스 정보는 전송 요청된 콘텐트가 어디서 전송되는지를 식별할 수 있는 정보를 의미한다. Example 3-4에서의 소스 정보는 요청 디바이스(DV1)의 정보 및 포맷 정보를 의미할 수 있다.
목적지 정보는 전송 요청된 콘텐트가 전송될 목적지인 목적 디바이스(DV2)를 파악할 수 있는 정보를 포함한다. Example 3-4에서의 목적지 정보는 제 1 목적 디바이스(DV2-1), 제 2 목적 디바이스(DV2-2) 제 3 목적 디바이스(DV2-3)의 정보, 각각의 목적 디바이스(DV2)에서 요구되는 파일 포맷 정보 등을 포함할 수 있다. Example 3-4에서는 상기 제 1 목적 디바이스(DV2-1), 제 2 목적 디바이스(DV2-2), 제 3 목적 디바이스(DV2-3)에서 요구되는 파일 포맷이 서로 동일하다고 가정한다. 그러나 이는 한정된 사항은 아니다.
이러한 콘텐트 전송 요청 메시지가 수신되면, 콘텐트 처리 컨트롤러(41)는 콘텐트 핸들러들의 정보를 수집한다(단계:S122). 예를 들어, 콘텐트 처리 컨트롤러(41)는 적어도 하나 이상의 콘텐트 반출자(52), 콘텐트 반입자(53) 및 콘텐트 변환자(51)에게 능력치(Capability)를 질의하여 해당 개체로부터 응답을 얻는다. 이는 콘텐트를 전송하는 소스, 중간 및 목적지의 디바이스들, 시스템들, DRM들의 능력치를 파악하기 위함이다.
정보가 수집되면, 콘텐트 처리 컨트롤러(41)는 그 수집된 정보를 토대로 상기 요청된 콘텐트 전송을 수행할 것인지를 결정한다(단계:S123). 즉 요청된 콘텐트 전송을 콘텐트 핸들러들이 정상적으로 수행할 수 있는지를 점검하는 것이다. 여기서는 요구되는 콘텐트의 포맷이나 시스템의 정책, 개체 간에 실행 가능한 보안 인 증 채널 알고리즘 정보 등이 고려될 수 있다.
콘텐트 전송이 결정되면, 콘텐트 처리 컨트롤러(41)는 콘텐트 반출자(52)와 콘텐트 변환자(51)를 포함하는 1차 콘텐트 변환 체인이 구성되도록 유도한다. 본 Example 3-4에서는 전송 요청된 콘텐트의 포맷과 목적 디바이스(DV2)에서 요구하는 콘텐트의 포맷이 다른 경우를 예시한다. 따라서 콘텐트 변환자(51)가 콘텐트 변환 체인에 포함되어야 한다. 본 설명에서는 콘텐트 변환 체인의 구성을 유도하는 제어 명령(Session 정보를 포함하는)을 클라이언트로부터 전송받아 체인을 구성하는 것으로 설명하고 있다, 그러나 본 발명은 이에 한정하는 것은 아니며, 콘텐트 처리 컨트롤러가 체인 구성을 유도하는 제어 명령을 생성하여 체인을 구성하는 다양한 실시예를 생각할 수 있다.
도 33은 콘텐트 처리 컨트롤러(41)에 의하여 구성된 1차 콘텐트 변환 체인을 나타내는 예시도로서, 도 33을 참조하면 1차 콘텐트 변환 체인에는 콘텐트 반출자(52) 및 콘텐트 변환자(51)가 포함되는 것을 알 수 있다.
이어서, 콘텐트 처리 컨트롤러(41)는 상기 구성되는 1차 콘텐트 변환 체인에 포함된 콘텐트 반출자(52) 및 콘텐트 변환자(51)에게 각각 콘텐트 반출 요청 및 콘텐트 변환 요청을 보낸다(단계:S124). 이러한 각각의 요청은 해당 콘텐트 핸들러들에게 제어 메시지를 송신함으로써 이루어진다.
상기 콘텐트 반출 요청 시에, 콘텐트 처리 컨트롤러(41)는 콘텐트 반출자(52)에게 전송 세션 식별자, 콘텐트 식별자, 수신자인 콘텐트 변환자(51)의 정보를 등을 제공할 수 있다. 또한, 콘텐트 변환 요청 시, 콘텐트 처리 컨트롤러(41)는 콘 텐트 변환자(51)로 전송 세션 식별자, 콘텐트 식별자, 송신자인 콘텐트 반출자(52)의 정보, 추후 수신자인 콘텐트 반입자(53)의 정보, 요청된 콘텐트의 콘텐트 포맷 및 변환되어야 할 포맷 정보 등을 제공할 수 있다.
이와 같이 콘텐트 처리 컨트롤러(41)로부터의 콘텐트 반출 요청 및 콘텐트 변환 요청이 각각 콘텐트 반출자(52) 및 콘텐트 반입자(53)로 수신되면, 콘텐트 반출자(52)와 콘텐트 변환자(51) 사이에는 보안 인증 채널이 설립된다.
보안 인증 채널이 설립되면, 콘텐트 반출자(52)로부터 콘텐트의 전송이 시작된다(단계:S125). 이때 연결된 각각의 콘텐트 핸들러 쌍(즉, 콘텐트 반출자(52)-콘텐트 변환자(51))은 멀티 전송 프로토콜을 지원할 수 있다. 이러한 멀티 전송 프로토콜을 지원하여, 요청된 콘텐트가 다수일 경우 싱글 세션에서 다수의 콘텐트를 전송할 수도 있다.
이러한 전송은 콘텐트 반출자(52)로부터 순차적으로 이루어진다. 콘텐트 반출자(52)는 요청된 콘텐트를 보안 인증 채널을 통해 콘텐트 변환자(51)로 전송한다. 그러면 콘텐트 변환자(51)는 콘텐트의 포맷을 목적 디바이스(DV2)에서 요구되는 형태로 변환한다(단계:S126).
이때 콘텐트 반출자(52) 및 콘텐트 변환자(51)는 콘텐트의 전송 또는 변환 상태를 콘텐트 처리 컨트롤러(41)로 보고할 수 있다. 이를 위해서 콘텐트 처리 컨트롤러(41)는 콘텐트 반출 요청 전에 각각의 콘텐트 핸들러들에게 요청하여 특정 이벤트를 구독하여야 한다. 이때, 상기 특정 이벤트는 상기 콘텐트 전송 상태 제공 이벤트, 콘텐트 변환 상태 제공 이벤트를 포함할 수 있다. 여기에 대해서는 앞선 Example 3-3에 이미 설명한 바 있으므로 상세한 설명은 생략한다.
콘텐트 반출자(52)로부터 전송되어진 콘텐트가 콘텐트 변환자(51)로 전송된 뒤 포맷 변환이 완료되면, 콘텐트 처리 컨트롤러(41)는 복수의 목적지에 대응되는 복수의 2차 콘텐트 변환 체인들이 순차적으로 구성되도록 유도한다. 상기 복수의 2차 콘텐트 변환 체인은 2차 제 1 콘텐트 변환 체인, 2차 제 2 콘텐트 변환 체인, 2차 제 3 콘텐트 변환 체인을 포함할 수 있다. 여기서, 2차 제 1 콘텐트 변환 체인, 2차 제 2 콘텐트 변환 체인, 2차 제 3 콘텐트 변환 체인의 형성은 순차적으로 나누어서 형성되거나, 동시에 형성될 수 있다. 아울러, 콘텐트 변환 체인 형성 기법에는 시작에서 목적지까지의 체인을 형성한 후 반복해서 여러 번 생성하는 기법(Single Chain을 복수 개 구성, 앞서 Example 3-2에서 설명) 혹은 변환 시점을 기준으로 체인을 구분해서 형성하는 기법(Example 3-3, 3-4에서 설명)을 포함할 수 있다.
도 34는 콘텐트 처리 컨트롤러(41)에 의하여 유도되는 2차 제 1 콘텐트 변환 체인, 2차 제 2 콘텐트 변환 체인 및 2차 제 3 콘텐트 변환 체인의 구성을 도시하는 예시도이다.
도 34에 도시된 바와 같이, 2차 제 1 콘텐트 변환 체인은 콘텐트 변환자(51) 및 제 1 콘텐트 반입자(53a)를 포함할 수 있다. 콘텐트 변환 컨트롤러는 콘텐트 변환자(51)와 제 1 콘텐트 반입자(53a)에게 콘텐트 변환 요청 및 콘텐트 반입 요청을 보낸다. 이때 그러면 콘텐트 변환자(51)와 제 1 콘텐트 반입자(53a) 사이에는 보안 인증 채널이 설립된다. 보안 인증 채널이 설립되면, 콘텐트 변환자(51)로부터 제 1 콘텐트 반입자(53a)로 콘텐트가 전송된다(단계:S127).
제 1 콘텐트 반입자(53a)로의 콘텐트 전송이 완료되면, 다음으로 콘텐트 처리 컨트롤러(41)는 2차 제 2 콘텐트 변환 체인이 구성되도록 유도한다. 이때 2차 제 2 콘텐트 변환 체인은 콘텐트 변환자(51) 및 제 2 콘텐트 반입자(53b)를 포함할 수 있다. 콘텐트 변환 컨트롤러는 콘텐트 변환자(51)와 제 2 콘텐트 반입자(53b)에게 콘텐트 변환 요청 및 콘텐트 반입 요청을 보낸다. 그러면 콘텐트 변환자(51)와 제 2 콘텐트 반입자(53b) 사이에는 보안 인증 채널이 설립된다. 보안 인증 채널이 설립되면, 콘텐트 변환자(51)로부터 제 2 콘텐트 반입자(53b)로 콘텐트가 전송된다(단계:S128).
제 2 콘텐트 반입자(53b)로의 콘텐트 전송이 완료되면, 다음으로 콘텐트 처리 컨트롤러(41)는 2차 제 3 콘텐트 변환 체인이 구성되도록 유도한다. 이때 2차 제 3 콘텐트 변환 체인은 콘텐트 변환자(51) 및 제 3 콘텐트 반입자(53)를 포함할 수 있다. 콘텐트 변환 컨트롤러는 콘텐트 변환자(51)와 제 3 콘텐트 반입자(53)에게 콘텐트 변환 요청 및 콘텐트 반입 요청을 보낸다. 그러면 콘텐트 변환자(51)와 제 3 콘텐트 반입자(53) 사이에는 보안 인증 채널이 설립된다. 보안 인증 채널이 설립되면, 콘텐트 변환자(51)로부터 제 3 콘텐트 반입자(53)로 콘텐트가 전송된다(단계:S129).
한편, 이러한 2차 콘텐트 변환 체인에 포함되는 콘텐트 핸들러들은 전송 프로세스의 진행에 따라 콘텐트의 전송 상태 등을 알리는 이벤트 메시지를 콘텐트 처리 컨트롤러(41)로 전송할 수 있다. 이러한 이벤트에 대해서는 앞서 Example 3-1 내지 3-3에서 설명한 바 있다.
이상 설명한, Example 3-4에서 요청 클라이언트(RC1)로부터 요청된 콘텐트를 다수의 콘텐트 변환 체인을 구성하여 다수의 목적 디바이스(DV2)로 전송하는 과정을 살펴보았다. 이러한 Example 3-4에 의한 콘텐트 전송 방법에 의하면, 동일한 콘텐트를 다수의 목적지로 브로드캐스팅하는 형태의 전송이 가능하며, 불필요한 전송 자원의 낭비를 줄일 수 있다. 왜냐하면, 동일한 콘텐트를 다수의 목적지로 전송하기 위하여 수행되는 콘텐트의 포맷 변환을 횟수를 훨씬 줄일 수 있으며, 2차 콘텐트 변환 체인 측에서 에러가 발생하더라도 1차 콘텐트 변환 체인의 동작은 이미 수행된 상태이므로 2차 콘텐트 변환 체인만 복구하면 되기 때문이다.
4. 처리 제어부, 라이선스 처리부의 기능 및 동작
한편, 클라이언트부의 인증된 클라이언트는 처리 제어부에 라이선스의 전송을 요청할 수 있다. 예컨대, 제 1 DRM이 설치된 제 1 클라이언트 디바이스 및 제 2 DRM이 설치된 제 2 클라이언트 디바이스가 존재한다고 가정하고, 사용자가 상기 제 1 클라이언트 디바이스에 저장된 제 1 DRM 콘텐트를 제 2 클라이언트 디바이스로 전송하여 사용하고자 한다면, 제 1 클라이언트는 앞서 언급한 콘텐트 전송 과정들을 이용하여 목적지인 제 2 클라이언트 디바이스로 콘텐트를 전송할 수 있다. 그런데, 이 경우 전송된 콘텐트를 제 2 클라이언트 디바이스에서 사용하고자 하려면, 제 2 DRM에 부합되는 라이선스가 요구될 것이다. 따라서 제 1 클라이언트는 라이선스의 전송을 요청하여야 한다.
도 35는 라이선스 전송과 관련된 시스템의 구성을 도시하는 블록도이다.
도 35에 도시된 바와 같이, 처리 제어부(40)는 콘텐트 처리 컨트롤러(41) 및 라이선스 처리 컨트롤러(42)를 포함한다. 여기서 콘텐트 처리 컨트롤러(41)는 앞서 설명한 바 있다. 콘텐트 처리 컨트롤러(41)와 라이선스 처리 컨트롤러(42)는 네트워크 영역과 로컬 영역 어디에도 구비될 수 있으며, 서로 타 영역에 구비될 수도 있다. 예를 들어, 콘텐트 처리 컨트롤러(41)는 로컬 영역의 특정 디바이스에 구비될 수 있고, 라이선스 처리 컨트롤러(42)는 네트워크 영역의 서비스 사업자 측에 구비될 수도 있다. 이들의 구비 위치에 특별한 한정은 없다.
라이선스 처리 컨트롤러(42)는 클라이언트로부터 라이선스 전송 요청을 수신한다. 라이선스 전송 요청이 수신되면, 라이선스 처리 컨트롤러(42)는 시스템에 구비된 개체들의 정보를 수집하여 전송에 관여할 개체 및 전송 가능 여부를 결정할 수 있고, 이를 통하여 라이선스가 전송될 체인이 구성되도록 할 수도 있다.
라이선스의 전송에는 라이선스 처리 컨트롤러(42)를 비롯하여 예컨대, 인증 및 관리부(20)의 라이선스 매니저(24)와, 라이선스 처리부(30)의 라이선스 처리자(32) 등이 관여할 수 있다. 상기 라이선스의 전송에 관여하는 개체들은 네트워크 영역과 로컬 영역 어디에도 구비될 수 있는데, 필요에 따라 특정 개체들 사이에는 전송되는 라이선스 정보의 보안을 위한 보안 인증 채널이 설립될 수도 있다.
라이선스 처리 컨트롤러(42)는 특정 개체 예컨대, 라이선스 매니저(24)에 요청하여 하나 또는 다수의 중립 라이선스를 제공받을 수 있다. 상기 중립 라이선스란 다종 DRM의 라이선스 정보를 추출할 수 있는 호환 가능한 중립 라이선스 정보를 의미할 수 있다. 이러한 중립 라이선스는 사용자가 특정 DRM의 콘텐트를 구입할 때 라이선스 매니저에서 해당 DRM의 라이선스를 이용하여 생성 및 저장한 것일 수 있다. 상기 중립 라이선스(24)는 라이선스 매니저(24)뿐만 아니라 도메인 매니저나 레퍼런스 포인트 컨트롤러 등에도 저장되어 있을 수 있다. 라이선스 전송에서 중립 라이선스를 제공하는 개체는 반출자의 기능을 수행한다고 볼 수도 있다.
중립 라이선스는 하나 또는 다수의 연관된 콘텐트 식별자, 매니저 정보, 라이선스를 사용할 수 있는 주체 정보, 사용 권한의 제한 사항이 기술된 유시지 모델 등이 포함될 수 있다.
라이선스 처리 컨트롤러(42)는 상기 제공받은 중립 라이선스를 이용하여 실제 전송하게 될 새로운 중립 라이선스를 생성한다. 이때, 콘텐트와 사용 주체와의 관계, 목적지, 사용 주체의 매핑관계, 리소스 매핑관계 등 다양한 정보들을 고려할 수 있다.
라이선스 처리 컨트롤러(42)에 의하여 생성된 중립 라이선스는 라이선스 처리부(30)의 라이선스 처리자(32)로 전송된다. 라이선스 처리자(32)는 라이선스 처리 컨트롤러(42)로부터 수신된 중립 라이선스를 목적지의 네이티브 DRM의 수신자(900)에게 전송하는 개체이다. 이때, 라이선스 처리자(32)는 목적지의 DRM에서 규정한 방법을 준수하여 상기 수신된 중립 라이선스를 목적지의 DRM에 부합되는 라이선스로 변환하여 네이티브 DRM의 수신자(900)로 제공할 수도 있고, 중립 라이선스를 그대로 목적지의 네이티브 DRM의 수신자(900)에 제공할 수도 있다. 이 경우 목적지의 DRM 시스템에서 자체적으로 라이선스 변환을 수행하게 된다. 라이선스 처리자와 네이티브 DRM의 수신자는 각각 변환자 및 수신자의 기능을 수행한다고 볼 수 도 있다.
라이선스의 전송에 관여하는 개체들은 라이선스 전송 및 처리 과정을 알 수 있는 이벤트 메시지를 라이선스 처리 컨트롤러(42)로 송신할 수 있다. 이를 위하여 라이선스 처리 컨트롤러(42)는 라이선스 전송 상태 이벤트를 해당 개체로 요청하여 구독하여야 한다. 라이선스 처리 컨트롤러(42)는 수신되는 이벤트 메시지에 대응하는 정보를 클라이언트(12)로 제공할 수도 있다. 또한, 라이선스 처리 컨트롤러(42)는 중립 라이선스의 생성, 라이선스 매니저(24)로부터의 중립 라이선스 제공 과정 등의 진행 상태를 파악할 수 있는 이벤트 메시지를 클라이언트로 제공할 수도 있다.
이상, 본 발명의 바람직한 실시예에 따른, 클라이언트부(10), 인증 및 관리부(20), 처리 제어부(40), 콘텐트 처리부(50) 및 라이선스 처리부(30)를 포함하는 DRM 상호 호환 시스템의 주요 동작들을 살펴보았다. 상술한 설명들에서, 본 발명의 바람직한 실시예에 따른 DRM 상호 호환 시스템에서는 클라이언트로부터의 데이터(콘텐트 또는 라이선스) 전송 요청에 따라 중립 데이터(중립 포맷 콘텐트 또는 중립 라이선스)를 목적지에서 요구하는 형태로 적절히 호환하여 목적지로 제공함을 알 수 있다.
5. 단위 개체의 기능 및 이벤트 처리 절차
DRM 상호 호환 시스템의 각부, 예컨대, 클라이언트부(10), 인증 및 관리부(20), 처리 제어부(40), 콘텐트 처리부(50) 및 라이선스 처리부(30) 등은 적어도 하나 이상의 개체들로 구성된다. 이때 개체는 고유한 기능을 수행하는 소프트웨어 적 또는 하드웨어적으로 구현된 모듈 또는 디바이스를 의미할 수 있다. 이러한 개체는 고유한 단위 기능을 수행하는 적어도 하나 이상의 단위 기능 모듈로 구성될 수 있다. 각각의 개체는 특정 디바이스에 설치되어 타 개체와 정해진 인터페이스를 통하여 통신할 수 있다. 또한 동일한 부에 속한 개체들일지라도 서로 다른 디바이스에 설치될 수 있으며, 이들이 설치되는 디바이스는 실시 환경에 따라서 다양하게 달라질 수도 있다.
상기 개체는 도메인의 초기 구성 시에, 자신이 속한 특별한 환경 내에서 각자의 존재를 타 개체에게 알릴 수 있다. 이를 위해서 각각의 개체는 단위 기능 모듈인 구성 정보 제공자를 가질 수 있다.
도 36은 개체에 구비되는 단위 기능 모듈 및 그 기능을 설명하기 위한 예시도이다.
도 36에 도시된 바와 같이, 특정 개체(110)는 각각 고유한 단위 기능을 수행하는 다수의 단위 기능 모듈(111) 및 구성 정보 제공자(112)를 구비한다. 구성 정보 제공자(112)는 타 개체인 요청 개체(114)로부터 요청되는 구성 정보 제공 요청에 따라 상기 특정 개체(110)의 구성 정보를 제공하여야 한다. 이때 구성 정보는 상기 특정 개체(110)에 구비되어 있는 단위 기능 모듈(111)의 정보를 포함할 수 있다.
또한 구성 정보 제공자(112)는 타 개체로부터 구성 정보 변화 이벤트의 구독을 요청을 받을 수 있다. 그러면 구성 정보 제공자(112)는 상기 구독 요청이 정당한 것인지를 판별하여 구독을 허가하거나 불허할 수 있다. 이때, 구성 정보 변화 이벤트란 상기 특정 개체(110)의 구성 정보에 변화가 생기면 이를 이벤트 메시지에 포함시켜 통보해주는 것을 의미할 수 있다.
이러한 구성 정보 변화 이벤트는 푸시 또는 풀 방식으로 제공될 수 있다. 푸시 방식이란 구성 정보 제공자(112)가 상기 특정 개체(110)의 구성 정보가 변화할 때마다 이벤트를 구독한 요청 개체(114)에게 변화된 구성 정보가 포함된 이벤트 메시지를 푸시하는 방식이다. 풀 방식이란 이벤트를 구독한 요청 개체(114)가 필요에 따라 상기 특정 개체(110)의 변화된 구성 정보를 가져오는 방식을 의미할 수 있다. 이러한 푸시 또는 풀 방식 중 어느 방식을 사용할 지는 상기 요청 개체(114)가 이벤트의 구독을 요청할 때 구성 정보 제공자(112)에게 알려 주어 세팅할 수 있다.
이벤트에는 상기 구성 정보 변화 이벤트를 비롯하여, 앞서 설명했던 콘텐트 변환 상태 이벤트, 구성 정보 변환 이벤트 등과 같이 다양한 종류가 존재할 수 있다. 이하에서는, 개체 간에 이벤트를 수행하는 과정을 설명하기로 한다.
도 37은 인증된 두 개체 간에 이벤트 전송을 수행하는 과정을 설명하기 위한 예시도이다.
도 37에 도시된 바와 같이, 특정 이벤트를 수행하기 위해서는 이벤트 구독자 기능을 가진 개체 및 이벤트 발행자 기능을 가지는 개체가 존재하여야 한다. 이하에서는 이벤트 구독자 기능을 가진 개체를 이벤트 구독개체(117)로 칭하고, 이벤트 발행자 기능을 가진 개체를 이벤트 발행개체(119)로 칭하기로 한다. 또한 각각의 이벤트는 이벤트 제목을 가질 수 있다. 이벤트 제목이란 예컨대, 콘텐트 전송 상태 이벤트, 구성 정보 변환 이벤트 등과 같이 해당 이벤트가 어떠한 이벤트인지를 알 수 있도록 하는 정보이다.
이벤트 발행개체(119)는 자신만의 고유한 식별자를 가져야 한다. 이는 자신이 수행하는 이벤트와 동일한 이벤트 제목을 가지는 다른 이벤트 발행개체(119)로부터 자신을 구분할 수 있도록 하기 위함이다. 이러한 이벤트 발행개체(119)의 고유한 식별자는 자신이 발행하는 이벤트 메시지들의 출처를 알 수 있도록 하는 인자가 포함될 수 있다.
특정한 이벤트를 구독하기 위해서, 이벤트 구독개체(117)는 상기 특정 이벤트를 발행하는 이벤트 발행개체(119)에 이벤트의 구독을 요청하여야 한다.
이벤트 구독 요청 시, 이벤트 구독개체(117)는 자신을 이벤트 발행개체(119)가 식별할 수 있도록 하는 고유한 식별자를 제공한다. 아울러, 이벤트 구독개체(117)는 이벤트 발행개체(119)에 의하여 제공되는 이벤트를 푸시 방식으로 제공 받을 것인지 풀 방식으로 제공 받을 것인지를 이벤트 발행개체(119)에게 알려서 세팅하여야 한다. 이때 푸시 방식은 이벤트 요건이 발생할 때마다 해당 정보가 담긴 이벤트 메시지를 이벤트 발행개체(119)가 자동으로 이벤트 구독개체(117)로 푸시하는 방식을 의미할 수 있다. 반면 풀 방식은 이벤트 구독개체(117)가 필요할 때마다 이벤트 발행개체(119)에 질의하여 이벤트 메시지를 가져가는 방식을 의미할 수 있다.
또한, 이벤트 구독개체(117)는 필요에 따라 이벤트 구독 ID, 만기 정보, 제공받기 원하는 이벤트 정보의 구조 등을 이벤트 발행개체(119)에게 제공할 수도 있다. 상기 만기 정보란 이벤트의 구독 만기 값을 의미할 수 있다. 예를 들어 만기 정보는 만기 날짜, 이벤트를 구독하는 기간 등을 포함할 수 있다. 이러한 만기 정 보가 제공되지 않으면 가입구독기간에 특별한 제한은 없다.
이러한 이벤트 가입 요청에 응답하여, 이벤트 발행개체(119)는 상기 이벤트 구독 요청이 정당한 요청인지를 판별하여 구독을 허가하거나 불허한다. 이때 상기 판별 결과에 대응하여 구독 허가를 알리는 정보와 구독 불허를 알리는 정보를 응답 메시지에 실어 이벤트 구독개체(117)로 전송한다.
이러한 판별 시에는 이벤트 구독 ID, 만기 정보 등을 고려할 수도 있다. 예를 들어, 이벤트 구동 요청 시에 이벤트 구독개체(117)로부터 이벤트 구독 ID를 제공받았다면, 이벤트 발행개체(119)는 해당 이벤트 구독 ID가 정당한 것인지 및 만기된 것은 아닌지 등을 고려할 수 있다. 이때 만약 이벤트 구독개체(117)로부터 제공된 이벤트 구독 ID가 유효하지 않거나 이미 만기된 것이라면 이벤트 발행개체(119)는 구독을 불허하는 메시지를 이벤트 구독개체(117)로 전송할 수 있다. 반면 만약 이벤트 구독개체(117)로부터 제공된 이벤트 구독 ID가 유효하고 만기도 남아 있는 것이라면 해당 구독 ID 및 그 구동 ID에 대응되는 정보를 사용하도록 할 수 있다. 한편 만약 이벤트 구동 요청 시에 이벤트 구독개체(117)로부터 이벤트 구독 ID가 제공되지 않았다면, 이벤트 발행개체(119)는 새로운 이벤트 구독 ID를 부여할 수 있다.
한편, 이벤트 구독개체(117)는 현재 구독하고 있는 이벤트의 구독을 취소할 수도 있다. 이를 위해 이벤트 구독개체(117)는 이벤트 취소를 암시하는 메시지를 이벤트 발행개체(119)에 보낼 수 있다. 또한 이벤트 구독개체(117)는 세팅되어 있는 이벤트 제공 방식을 해제함으로써 이벤트의 구독을 중지할 수도 있다. 예를 들 어, 이벤트의 구독을 위해 현재 푸시 방식이나 풀 방식 중에 어느 하나로 선택되어 있는 이벤트 제공 방식을 푸시나 풀 방식 모두 선택 해제하는 것이다.
이상의 설명에서, 개체간의 구성 정보 제공 및 이벤트 처리 방법에 대하여 설명하였다. 이러한 방법을 통하여 특정 상황에 따른 개체간의 유기적인 상호 작용이 가능하게 된다.
6. 도메인 관리 방법 및 기반 시스템
이하에서는, 도메인의 위치 이동을 관리할 수 있는 도메인 관리 방법 및 기반 시스템에 대하여 살펴보기로 한다. 이를 위해 도메인을 관장하는 도메인 매니저를 이용하여 도메인의 현재 및 과거 위치를 저장 및 관리할 수 있다. 또한 소정의 제한 기준에 따라 도메인의 위치 이동을 제한 할 수도 있다.
DRM 상호 호환 시스템은 도메인의 위치 이동 정보를 관리한다. 즉, 도메인의 이동 위치 또는 이동 횟수를 제한하고, 도메인의 위치 변동을 체크하여 제한된 범위를 벗어난 도메인의 형성이 있을 경우 도메인을 파기하거나 별도의 조치를 취한다.
이하, 도메인의 위치 이동 정보를 관리할 수 있는 도메인 관리 방법을 설명한다. 우선 이하 설명될 도메인 관리 방법의 실시예는 도메인의 이동 횟수를 제한하는 방법, 도메인의 형성 위치를 제한하는 방법 등으로 구분될 수 있다. 이해의 편의를 위하여 전자는 "Example 4-1"로 칭하고, 후자는 "Example 4-2"로 칭하기로 한다. 또한 Example 4-1 및 Example 4-2의 시스템적 기반은 도 2를 참조하기로 한다.
<Example 4-1>
도 38은 Example 4-1에 따른 도메인 관리 방법의 흐름을 설명하기 위한 순서도로서, 로그인 정보에 대응되는 도메인의 이동 허용 횟수(Na)를 설정하고, 도메인의 이동 횟수를 체크하여 도메인의 형성을 제한하는 절차를 보여주고 있다.
이를 위해 도메인 매니저(22)는 로그인 정보에 대응되는 도메인 이동 허용 횟수(Na)를 저장한다. 로그인 정보는 라이선스 매니저(24)로부터 제공받거나 도메인 매니저(22)가 로그인 기능을 제공할 수도 있다. 이 도메인 이동 허용 횟수(Na)는 사용자가 지불한 비용에 따라서 가변적일 수 있으며, 그 최대한도는 서비스 제공자에 의하여 정책적으로 설정될 수 있다. 상기 도메인 이동 허용 횟수(Na)는 예컨대, 5회, 10회 등으로 설정될 수 있다. 또한, 도메인 매니저(22)는 도메인의 현재 위치와 과거 위치를 저장 및 관리하며, 도메인의 이동이 발생할 경우 그 이동 횟수를 저장 및 관리한다.
도 38을 참조하면, 먼저 도메인 매니저(22)는 현재의 도메인(5)의 위치를 검사하여(단계:S140), 도메인의 위치가 이동하였는지를 판별한다(단계:S141). 즉, 현재의 도메인 위치와 이전 검사 시의 도메인 위치가 변동되었는지를 비교하여 이동을 판별하는 것이다. 이러한 판별은 소정의 주기마다 수행될 수도 있고, 새로운 도메인이 형성될 때마다 수행될 수도 있고, 서비스 제공자의 모니터링에 의하여 임의로 수행될 수도 있다.
상기 도메인(5)의 위치 판별 시에는 도메인이 내의 레퍼런스 포인트 컨트롤러(26)가 관여할 수 있다. 이때 레퍼런스 포인트 컨트롤러(26)는 로컬 도메인 형성 위치의 기준점이 될 수 있으며, 로컬 영역에서 도메인(5)에 가입된 특정 디바이스에 구비될 수 있다. 이러한 레퍼런스 포인트 컨트롤러(26)는 도메인 내의 다른 클라이언트 디바이스를 대표해서 현재 도메인(5) 내의 정보, 예컨대 도메인(5)의 위치 정보를 도메인 매니저(22)에게 알려준다.
반면, 도메인(5)의 위치 판별 시에 레퍼런스 포인트 컨트롤러(26)가 관여하지 않고 각각의 디바이스가 도메인 매니저(22)에게 액세스하여 도메인 내의 위치 정보를 제공할 수도 있다. 즉, 도메인의 위치 판별 시에는 레퍼런스 포인트 컨트롤러(26)가 관여할 수도 있고 아닐 수도 있다. 이는 실시 환경에 따라 선택적인 사항이다.
따라서 도메인(5)의 위치란 도메인(5) 내의 레퍼런스 포인트 컨트롤러(26)의 위치 또는 각 디바이스의 위치를 의미할 수 있다. 한편 상기 레퍼런스 포인트 컨트롤러(26)가 구비되는 레퍼런스 포인트 컨트롤러의 선출 횟수를 특정 횟수로 제한하여 보안성을 향상시킬 수도 있다. 또한 사용자는 상기 레퍼런스 포인트 컨트롤러(26)를 통하여 로그인 할 수도 있다.
도메인의 위치를 판별하는 데는 다음과 같은 방법들이 있다.
첫 번째로, 레퍼런스 포인트 컨트롤러(26) 등의 IP 주소를 이용하여 도메인의 위치를 판별할 수 있다. 이 경우 초고속 인터넷 사업자가 고정 IP를 할당한 모델에서 가능할 수 있다.
두 번째로, 레퍼런스 포인트 컨트롤러(26) 등의 IP 서브넷(Subnet) 주소를 이용하여 위치를 판별할 수 있다. 예를 들어 같은 서브넷 주소를 가지는 경우 동일 한 위치로 간주하고, 서브넷 주소가 바뀌고 TTL이 3홉(Hop)이내가 아닐 경우 도메인이 이동한 것으로 간주하는 것이다.
세 번째로, 레퍼런스 포인트 컨트롤러(26)의 매체 접근 제어(MAC : Media Access Control) 주소를 이용하여, 레퍼런스 포인트 컨트롤러(26)의 주변 영역권 내에 들어오는 경우 위치를 인정하는 방식을 사용할 수도 있다. 예를 들면, 초고속 인터넷 사업자가 별도의 레퍼런스 포인트 컨트롤러(26)로 인정한 셋톱박스 등을 가정에 설치하면, 그 주변을 도메인으로 설정하고 셋톱박스와 유선 또는 무선으로 연결된 디바이스는 특정 도메인으로 들어온 것으로 인정하여 위치를 지정할 수 있다.
네 번째로, 위성 위치 확인 시스템(GPS : Global Positioning System)을 이용하여 도메인 내의 디바이스의 위치를 판별할 수 있다.
다섯 번째로, 휴대폰 등과 같은 이동 단말의 경우 기지국으로부터 도메인 내의 디바이스의 위치를 판별할 수 있다.
한편, 상기 도메인 위치의 이동 여부 판별 결과 도메인이 이동되었을 경우 도메인 매니저(22)는 이전까지의 도메인 이동 횟수의 값을 "1" 증가시키고(단계:S142), 증가된 현재까지의 총 도메인 이동 횟수(N)를 확인한다(단계:S143). 반면 도메인이 이동되지 않은 경우에는 현재 형성된 도메인(5)을 유지한다(단계:S147).
이어서, 도메인 매니저(22)는 현재까지의 총 도메인 이동 횟수(N)를 저장된 도메인 이동 허용 횟수(Na)와 비교한다(단계:S144). 상기 비교 결과 총 도메인 이동 횟수(N)가 도메인 이동 허용 횟수(Na)보다 같거나 작을 경우 도메인 매니저(22)는 현재의 도메인(5)을 유지한다(단계:S147). 반면, 상기 비교 결과 총 도메인 이 동 횟수(N)가 도메인 이동 허용 횟수(Na)보다 클 경우 도메인 매니저(22)(140)는 현재의 도메인의 사용을 금지한다(단계:S145).
다음으로, 도메인 매니저(22)는 현재 사용자에 대한 서비스 정지 내역을 기록한다(단계:S146). 부가적으로 도매인 매니저는 도메인 파기에 대한 정보를 서비스 제공자에게 보고하고, 서비스 제공자 또는 도메인 매니저(22)는 사용자에게는 경고 메시지를 전송할 수도 있다. 또한 서비스 제공자 또는 도메인 매니저(22)는 소비자 지불 시스템을 통하여 사용자가 새로운 도메인 로그인 정보를 구매하도록 유도할 수도 있다.
한편, 상기 누적된 도메인 이동 횟수는 서비스 제공자의 정책에 따라서 특정 주기마다 리셋(Reset)될 수도 있다. 예를 들어 도메인 이동 횟수는 1년에 한번 씩 리셋 될 수 있다.
<Example 4-2>
도 41은 Example 4-2에 따른 도메인 관리 방법의 흐름을 설명하기 위한 순서도로서, 도메인의 형성 위치를 체크하여 도메인의 생성을 제한하는 절차를 보여주고 있다.
이를 위하여 도메인 매니저(22)는 로그인 정보에 대응되는 도메인 위치 허용 개수(Ma)를 저장한다. 이 도메인 위치 허용 개수(Ma)는 사용자가 지불한 비용에 따라 가변적일 수 있으며, 그 최대한도는 서비스 제공자에 의하여 정책적으로 설정될 수 있다. 상기 도메인 위치 허용 개수(Ma)는 예컨대, 5개, 8개 등으로 설정될 수 있다. 또한, 도메인 매니저(22)는 도메인의 현재 및 과거 위치를 저장 및 관리한 다.
도 41을 참조하면, 도메인 매니저(22)는 현재의 도메인 위치를 검사하여(단계:S150), 도메인(5)의 위치가 이동하였는지를 판별한다(단계:S151). 즉, 현재의 도메인 위치와 이전 검사 시의 도메인 위치가 변동되었는지를 비교하여 이동을 판별하는 것이다. 이러한 판별은 소정의 주기마다 수행될 수도 있고, 새로운 도메인이 형성될 때마다 수행될 수도 있고, 서비스 제공자의 모니터링에 의하여 임의로 수행될 수도 있다.
상기 도메인(5)의 위치 판별 시에는, 앞서도 언급했듯이, 도메인(5) 내의 레퍼런스 포인트 컨트롤러(26)가 관여할 수도 있고, 하지 않을 수도 있다. 또한, 상기 도메인(5)의 위치 판별은 IP 주소, IP 서브넷 주소, 레퍼런스 포인트 컨트롤러(26)의 MAC 정보, GPS, 이동 통신 정보 등을 이용할 수 있다.
상기 도메인 위치의 이동 여부 판별 결과, 도메인이 이동되지 않았다면 도메인 매니저(22)는 현재의 도메인(5)을 유지한다(단계:S158). 반면, 상기 도메인 위치의 이동 여부 판별 결과 도메인이 이동되었다면, 도메인 매니저(22)는 현재의 도메인 위치를 (저장된)과거의 도메인 위치와 대조하여 현재 도메인(5)이 생성된 위치가 새로운 위치인지를 판별한다(단계:S152).
상기 판별 결과, 현재의 도메인 위치가 새로운 위치가 아닐 경우 도메인 매니저(22)는 현재의 도메인(5)을 유지한다(단계:S158). 반면, 현재의 도메인 위치가 새로운 위치일 경우 도메인 매니저(22)는 현재의 도메인 위치를 저장한다(단계:S153).
이어서, 도메인 매니저(22)는 현재의 도메인(5)의 위치가 포함된 총 도메인 형성 위치의 개수(M)를 구하고(단계:S154), 기 설정된 도메인 위치 허용 개수(Ma)와 비교한다(단계:S155). 상기 비교 결과 총 도메인 형성 위치의 개수(M)가 도메인 위치 허용 개수(Ma)보다 같거나 작을 경우 도메인 매니저(22)는 현재의 도메인(5)을 유지한다(단계:S156). 반면 상기 비교 결과 총 총 도메인 형성 위치의 개수(M)가 도메인 위치 허용 개수(Ma)보다 클 경우 도메인 매니저(22)는 현재의 도메인(5)을 파기한다(단계:S157).
다음으로, 도메인 매니저(22)는 현재 사용자에 대한 서비스 정지 내역을 기록한다. 부가적으로 도메인 매니저(22)는 도메인 파기에 대한 정보를 서비스 제공자에게 보고하고, 서비스 제공자 또는 도메인 매니저(22)는 사용자에게는 경고 메시지를 전송할 수도 있다.
이와 같이, Example 4-2에서는 도메인 매니저(22)가 도메인의 형성 위치에 따라서 도메인의 형성을 제한한다. 예를 들어, 서비스 제공자가 총 4곳의 도메인 형성 위치를 허용하면, 도메인 매니저(22)는 도메인의 위치를 처음부터 자동으로 4곳까지 기억한 뒤, 그 후에 형성된 도메인의 형성 위치가 허용된 4곳을 벗어나는지를 판단하는 것이다. 이때 기억된 위치에서만 도메인이 형성되면 도메인의 이동이 빈번하더라도 제한을 두지 않지만, 기억된 4곳 이외의 장소로 도메인이 이동할 경우 도메인 매니저(22)는 도메인 형성을 제한하게 된다.
한편, 사용자의 행동 범위가 완전히 바뀐 경우, 예를 들면 사용자가 이사를 했다면, 도메인의 위치에 대한 불일치가 발생하였을 때 처음 도메인 매니저(22)가 기억하고 있던 도메인 형성 위치 외의 이동된 위치를 바탕으로 새롭게 도메인 형성 위치를 저장할 필요가 있다. 이러한 경우는 사용자의 특별한 요청에 의하여 도메인 형성 위치 정보가 리셋 되어 새롭게 재설정 될 수 있다.
또한, 이러한 도메인 형성 위치 정보의 재설정은 서비스 사용자의 정책에 의하여 수행될 수도 있는데, 이 경우에는 그 횟수의 제한을 둘 수 있다. 예를 들면, 도메인 형성 위치 정보의 재설정은 1년에 한번 또는 두 번 등으로 제한될 수 있다. 한편 도메인 형성 위치 정보의 변경에 관한 내용은 IP 주소 등의 변경 이외에도 서비스 구독 내용과 서비스 로그인 정보 등을 통해서도 정의할 수 있다.
이상, 도메인 매니저(22)를 통하여 도메인의 현재 및 과거 위치를 저장 및 관리하고, 소정의 제한 기준에 따라 도메인의 위치 이동을 제한할 수 있는 도메인 관리 방법을 살펴보았다.
7. 콘텐트 오용 및 오염 방지를 위한 구성, 동작 및 시나리오
DRM 상호 호환 시스템을 통한 이종 DRM 간의 콘텐트 공유 환경에서는 신뢰성이 보장되지 않는 콘텐트들, 예컨대 비적절한 콘텐트 또는 오염된 콘텐트 등이 유입될 경우에 그 해악에 사용자 또는 시스템이 노출될 수 있기 때문에, 그에 대응할 수 있는 시스템 및 시나리오가 요구된다.
따라서 이하에서는, 외부로부터 유입되는 콘텐트의 오용 가능성, 오염 여부, 보안 기능의 적용 여부 등을 체크하고, 이에 따라 적절한 대응조치를 취할 수 있는 DRM 상호 호환 시스템의 콘텐트 처리 방법에 대하여 설명한다.
도 40은 이종의 DRM 간에 상호 호환할 수 있는 환경의 시스템 구성을 예시하 는 블록도이다.
도 40에 도시된 바와 같이, DRM 상호 호환 시스템(340)은 폐쇄적인 특정 DRM 영역들, 예를 들면 제 1 DRM 영역(320)과 제 2 DRM 영역(330) 간이 서로 호환할 수 있도록 DRM 상호 호환 기능을 제공한다. 도 34의 도시에 있어서, DRM 상호 호환 시스템이 두 개의 DRM 영역을 호환시키는 경우를 설명하지만 이는 한정된 사항은 아니며 DRM 상호 호환 시스템은 3개 이상의 DRM 영역을 호환시킬 수도 있음은 물론이다.
상기 제 1 DRM 영역(320)은 제 1 서비스 제공자(322)에 의하여 채택된 제 1 DRM을 사용하는 시스템이나 디바이스를 포함하는 DRM 보호 영역을 의미할 수 있다.
이러한 제 1 DRM 영역(320)에는 제 1 DRM 시스템(323)이 구비될 수 있다. 제 1 DRM 시스템(323)은 제 1 콘텐트 제공자(322)로부터 제공되는 소스 콘텐트에 제 1 DRM을 적용하여 제 1 DRM 콘텐트 및 그 제 1 DRM 콘텐트를 사용할 수 있는 권한 정보인 제 1 라이선스를 생성하고, 생성된 제 1 DRM 콘텐트 및 제 1 라이선스를 제 1 클라이언트 디바이스(210)로 제공하는 기능을 수행한다. 이때 제 1 클라이언트 디바이스(210)는 제 1 DRM이 설치된 디바이스를 의미할 수 있다. 따라서 제 1 클라이언트 디바이스(210)는 제 1 라이선스에서 허용하는 권한 내에서 제 1 DRM 콘텐트를 사용할 수 있다. 또한 도 1의 도시에 있어서 제 1 콘텐트 제공자(325)는 제 1 서비스 제공자(322)와 별도로 도시되어 있으나 이는 한정적인 의미는 아니며, 제 1 콘텐트 제공자(325)와 제 1 서비스 제공자(322)는 동일할 수도 있고, 제 1 콘텐트 제공자(325)가 제 1 서비스 제공자(322)에게 포함될 수도 있다.
제 1 DRM 시스템(323)은 제 1 보안 시스템(324)과 연동될 수도 있다. 제 1 보안 시스템(324)은 제 1 DRM 콘텐트에 보안 기능을 적용하기 위한 시스템으로서, 예를 들어 콘텐트를 사용한 사용자를 추적할 수 있는 추적 기능을 제공하는 핑거 프린팅(Finger Printing) 시스템, 원저작자의 저작권 보호를 위한 워터 마킹(Water Marking) 시스템, 콘텐트에 대한 바이러스 오염을 체크하고 치료하는 안티 바이러스(Anti-Virus) 시스템, 콘텐트의 오용 가능성을 차단하는 오용 방지 시스템 및 IDS(Intrusion Detection System) 등일 수 있다.
제 2 DRM 영역(330)은 앞서 설명한 제 1 DRM 영역(320)과 다른 DRM을 사용하는 영역이다. 즉 제 2 DRM 영역(330)은 제 2 서비스 제공자(332)에 의하여 채택된 제 2 DRM을 사용하는 시스템이나 디바이스를 포함하는 DRM 보호 영역을 의미할 수 있다.
이러한 제 2 DRM 영역(330)에는 제 2 DRM 시스템(333)이 구비될 수 있다. 제 2 DRM 시스템(333)은 제 2 콘텐트 제공자(335)로부터 제공되는 소스 콘텐트에 제 2 DRM을 적용하여 제 2 DRM 콘텐트 및 그 제 2 DRM 콘텐트를 사용할 수 있는 권한 정보인 제 2 라이선스를 생성하고, 그 제 2 DRM 콘텐트 및 제 2 라이선스를 제 2 클라이언트 디바이스(331)로 제공하는 기능을 수행할 수 있다. 이때 제 2 클라이언트 디바이스(331)는 제 2 DRM이 설치된 디바이스를 의미한다. 따라서 제 2 클라이언트 디바이스(331)는 제 2 라이선스에서 허용하는 권한 내에서 제 2 DRM 콘텐트를 사용할 수 있다. 또한 도 40의 도시에 있어서 제 2 콘텐트 제공자(335)는 제 2 서비스 제공자(332)와 별도로 도시되어 있으나 이는 한정적인 의미는 아니며, 제 2 콘텐트 제공자(335)와 제 2 서비스 제공자(332)는 동일할 수도 있고, 제 2 콘텐트 제공자(335)가 제 2 서비스 제공자(332)에 포함될 수도 있다.
제 2 DRM 시스템(333)은 제 2 보안 시스템(334)과 연동될 수도 있다. 제 2 보안 시스템(333)은 제 2 DRM 콘텐트에 보안 기능을 적용하기 위한 시스템으로서, 예를 들어 워터 마킹 시스템, 핑거 프린팅 시스템, 안티 바이러스 시스템, 오용 방지 시스템 및 IDS 등이 될 수 있다.
도 41은 DRM 영역의 상세 구성을 도시하는 블록도로서, 도 41에 도시된 DRM 영역의 구성은 도 40에 도시된 제 1 DRM 영역(320) 또는 제 2 DRM 영역(330)의 구성에 공통적으로 적용될 수 있다.
도 41을 참조하면, 콘텐트 제공자(380)는 원시 데이터(Raw Data)의 형태 또는 워터 마크와 같은 특정 보안 기능이 적용된 형태의 콘텐트를 DRM 시스템(371)으로 제공한다.
DRM 시스템(371)의 DRM 서버(372)는 암호화 모듈을 이용하여 상기 제공되는 콘텐트를 암호화하고, 암호화 시에 사용된 비밀 키 값과 라이선스 정보를 암호화된 콘텐트와 함께 클라이언트 디바이스(360)로 전송한다. 상기 라이선스 정보는 라이선스 서버(375)를 통해 제공될 수 있다. 이를 수신한 클라이언트 디바이스(360)의 클라이언트 DRM 모듈(361)은 암호화된 콘텐트를 복호화 하여 콘텐트를 복원하게 된다.
또한, 클라이언트 디바이스(360)로 전송되는 콘텐트에는 핑거프린팅 정보가 삽입될 수 있다. 상기 핑거 프린팅 정보의 삽입은 서비스 제공자(370) 내에 마련된 핑거 프린팅 시스템(376)에 의해 수행될 수 있다. 핑거프린팅 시스템(376)은 핑거 프린팅 코드 발생기(377), 인스펙터(378), 핑거 프린팅 엔진(379) 등을 포함할 수 있다. 클라이언트 디바이스(360)로 전송된 콘텐트에는 클라이언트 디바이스(360)의 사용자를 식별할 수 있는 핑거프린팅 정보가 삽입될 수 있다. 이는 클라이언트 디바이스(360)에 구비된 핑거 프린팅 엔진에 의해 수행될 수 있다.
이와 같이 도 41에 도시된 예에서는 콘텐트에 핑거프린팅 기능을 적용하는 예를 설명하였으나, 콘텐트에 적용될 수 있는 보안 기능은 핑거프린팅 외에도, 앞서 언급한 워터 마킹, 안티 바이러스, 오용 방지, IDS 등 다양하다.
또한 이러한 보안 기능들을 콘텐트에 적용하기 위한 보안 시스템, 예컨대 핑거프린팅 시스템, 워터 마킹 시스템, 안티 바이러스 시스템, 오용 방지 시스템, IDS 등은 도 40 내지 도 41에 도시된 바와 같이 DRM 영역의 서비스 제공자 측에 설치될 수도 있지만, DRM 상호 호환 시스템 측에 자체적으로 구비될 수도 있다.
도 42는 DRM 상호 호환 시스템의 구성을 도시하는 블록도로서, 외부로부터 유입되는 콘텐트의 신뢰성을 보장할 수 있는 기능을 구비한 경우를 보여주고 있다.
도 42에 도시된 바와 같이, DRM 상호 호환 시스템은 앞서 언급되었던 각부들 외에 보안 시스템(9) 및 콘텐트 신뢰성 관리부(8) 더 포함할 수 있다. 이때, 상기 보안 시스템(9)은 앞서도 언급했듯이, 핑거프린팅 시스템, 워터 마킹 시스템, 안티 바이러스 시스템, 오용 방지 시스템, IDS 등을 의미할 수 있다. 이는 DRM 상호 호환 시스템(500) 내에 자체적으로 구비할 수도 있고, 자체적으로 구비하지 않는 경우 DRM 상호 호환 시스템(500)이 제 3의 보안 시스템과 연동할 수도 있다.
콘텐트 신뢰성 관리부(8)는 외부의 네이티브 DRM 영역과 연동 가능하여, 콘텐트의 신뢰성을 보장하기 위한 각종 처리 프로세스를 가진다. 이러한 콘텐트 신뢰성 관리부(8)의 프로세스는 외부로부터 콘텐트의 유입이 요청될 경우 자동으로 수행될 수도 있으며, 처리 제어부의 요청에 따라 수행될 수도 있다. 콘텐트 신뢰성 관리부(8)의 처리 프로세스는 이하에서 설명될 시나리오에 의해 설명될 수 있을 것이다.
이하, DRM 상호 호환 환경에서 콘텐트를 전송할 때, 콘텐트의 신뢰성을 보장할 수 있는 시나리오들이 언급된다. 이때 DRM 상호 호환 환경이란 특정 DRM 영역으로부터 DRM 상호 호환 시스템을 거쳐 목표하는 DRM 영역으로 콘텐트가 전송될 수 있는 환경을 의미하는 것이다.
먼저, 이하의 설명에서는 DRM 콘텐트 전송 시에 콘텐트의 오용 방지 정책을 적용할 수 있는 시나리오, DRM 상호 호환 시 바이러스 등에 의하여 오염된 콘텐트의 유통을 방지할 수 있는 시나리오, DRM 상호 호환 시에 워터 마킹 기능을 적용할 수 있는 시나리오, DRM 상호 호환 시에 워터 마킹 기능을 적용할 수 있는 다른 시나리오, DRM 상호 호환 시에 핑거프린팅 기능을 적용할 수 있는 시나리오, DRM 상호 호환 시에 핑거프린팅 기능을 적용할 수 있는 다른 시나리오, 핑거프린트 정보가 일치하지 않는 사용자로부터 콘텐트 전송이 요청되었을 경우의 처리 시나리오가 차례로 설명된다. 이해의 편의를 위하여, 상기 언급한 첫 번째 시나리오를 "Example 5-1"로, 두 번째 시나리오를 "Example 5-2"로, 세 번째 시나리오를 "Example 5-3"로, 네 번째 시나리오를 "Example 5-4"로, 다섯 번째 시나리오를 "Example 5-5"로, 여섯 번째 시나리오를 "Example 5-6"로, 일곱 번째 시나리오를 "Example 5-7"로 칭하기로 한다.
<Example 5-1>
도 43은 Example 5-1에 따른 DRM 상호 호환 시스템의 콘텐트 처리 방법을 설명하기 위한 절차도로서, DRM 상호 호환 환경에서의 DRM 콘텐트 전송 시에 콘텐트의 오용 방지 정책을 적용할 수 있는 절차를 보여주고 있다.
상기 오용 방지 정책이란 DRM 콘텐트가 부적절하게 사용되는 경우를 방지하기 위한 정책을 의미한다. 예를 들어, 19세 미만은 시청할 수 없는 성인 콘텐트의 경우 해당 콘텐트를 미성년자가 시청할 수 없도록 사전에 방지하도록 하는 정책 등이 포함될 수 있다.
도 43에 도시된 바와 같이, 먼저 DRM 상호 호환 시스템(500)은 제 1 DRM 영역에 포함된 제 1 클라이언트 디바이스(410)로부터 제 2 DRM 영역(600)에 포함된 제 2 클라이언트 디바이스(610)로 특정 콘텐트의 전송을 요청하는 콘텐트 요청 메시지를 수신한다(단계:S170). 상기 콘텐트 전송 요청 메시지에는 전송 요청된 콘텐트 및 그 콘텐트를 송신하는 송신자 정보 및 콘텐트를 수신하는 수신자 정보 등이 포함될 수 있다. 이때 상기 요청된 콘텐트는 제 1 DRM 영역(400)에 포함된 제 1 클라이언트 디바이스(410)로부터 전송되는 것이므로 제 1 DRM이 적용된 콘텐트를 의미한다.
상기 콘텐트 전송 요청 메시지가 수신되면, DRM 상호 호환 시스템(500)은 상기 수신된 콘텐트 전송 요청 메시지에서 송신자 정보 및 수신자 정보를 추출한다( 단계:S171). 이어서 DRM 상호 호환 시스템(500)은 상기 추출된 송신자 정보에 대응되는 송신 사용자 정보를 제 1 DRM 영역(400) 측의 특정 개체에게 요청하고(단계:S172), 수신자 정보에 대응되는 수신 사용자 정보를 제 2 DRM 영역(600) 측의 특정 개체에 요청한다(단계:S173).
이때 상기 제 1 DRM 영역(400) 측의 특정 개체는 예컨대 제 1 서비스 제공자(420)일 수 있으며, 상기 제 2 DRM 영역(600) 측의 측정 개체는 제 2 서비스 제공자(620)일 수 있다. 그러면 제 1 서비스 제공자(420) 및 제 2 서비스 제공자(620)는 상기 질의에 대한 응답으로 송신 사용자 정보 및 수신 사용자 정보를 각각 DRM 상호 호환 시스템(500)으로 제공한다(단계:S174, S175). 이러한 송신 사용자 정보와 수신 사용자 정보의 전송은 DRM 상호 호환 시스템(500)과 각 서비스 제공자(420, 620) 간의 질의/응답 형식으로 수행될 수 있다.
상기 송신 사용자 정보는 콘텐트를 송신하는 제 1 클라이언트 디바이스(410)의 사용자 정보를 의미할 수 있다. 또한 상기 수신 사용자 정보는 콘텐트를 수신하는 제 2 클라이언트 디바이스(610)의 사용자 정보를 의미할 수 있다. 상기 송신 사용자 정보 및 수신 사용자 정보에는 콘텐트 오용 방지 정책의 적용을 위한 판단 기준이 될 수 있는 사용자의 특정 정보, 예컨대 사용자의 연령 정보 등이 포함될 수 있다.
이어서 DRM 상호 호환 시스템(500)은 제 1 DRM 영역(400) 측의 특정 개체, 예컨대 제 1 서비스 제공자(420)에게 질의하여 콘텐트 정보를 요청하고(단계:S176), 제 1 서비스 제공자(420)는 상기 요청에 응답하여 콘텐트 정보를 제공한다 (단계:S177). 이때 콘텐트 정보에는 콘텐트 오용 방지를 위한 제한 정보가 포함될 수 있다. 예를 들어, 콘텐트 정보에는 상기 콘텐트를 사용할 수 있는 연령 제한 정보 등이 포함될 수 있다.
다음으로, DRM 상호 호환 시스템(500)은 상기 콘텐트 정보와 송신 및 수신 사용자 정보를 비교 분석하여 콘텐트의 오용 가능성을 판단하고(단계:S178), 그 판단 결과에 따라 제 2 클라이언트 디바이스(610)로 콘텐트를 전송할 것인지의 여부를 제 1 클라이언트 디바이스(410)로 통보한다(단계:S179). 또한 DRM 상호 호환 시스템(500)은 상기 전송 여부를 제 2 클라이언트 디바이스(610)에게로도 통보할 수도 있다. 상기 콘텐트의 오용 가능성의 판단은 DRM 상호 호환 시스템(500) 또는 외부의 오용 방지 시스템에 의해 수행될 수 있다.
예를 들어, 상기 콘텐트 정보에 포함된 연령 제한 정보가 "19세 미만 시청 가능"이고, 송신 사용자의 연령이 "15세"라면, DRM 상호 호환 시스템(500)은 상기 요청된 콘텐트가 부적절한 사용으로 인한 오용 가능성이 있는 것으로 판단하여, 상기 콘텐트를 전송할 수 없음을 알리는 메시지를 제 1 클라이언트 디바이스(410)로 통보한 뒤 프로시저를 중단한다.
반면, 수신 및 송신 사용자 정보에 포함된 사용자의 연령이 "24세"라면 DRM 상호 호환 시스템(500)은 상기 요청된 콘텐트가 오용 가능성이 없음을 판단하고, 상기 콘텐트가 정상적으로 전송될 것임을 알리는 메시지를 제 1 클라이언트 디바이스(410)로 통보한다. 정상적인 전송 통보 후 DRM 상호 호환 시스템(500)은 상기 요청된 콘텐트에 적용된 데이터 보호 방식과 라이선스 정보를 제 1 DRM에서 제 2 DRM 으로 변환한 뒤(단계:S180), 제 2 클라이언트 디바이스(610)로 전송한다(단계:S181).
상기 콘텐트 오용 방지 정책은 DRM 상호 호환 시스템(500)과 연계된 DRM 업체(미도시), 서비스 제공자(420, 620)와의 협의 또는 인가에 의해 결정되어 채택될 수 있다. 또한 제 1 DRM 영역(400)과 DRM 상호 호환 시스템(500) 및 제 2 DRM 영역(600) 간의 통신 메시지는 XML(Extensible Markup Language) 또는 HTML(Hypertext Markup Language), 일반 데이터 등의 형태로 교환될 수 있으며, 이들 간의 통신 시에는 AES(Advanced Encryption Standard) 128비트 이상의 보안 채널이 제공되는 것이 바람직하다.
<Example 5-2>
도 44는 Example 5-2에 따른 DRM 상호 호환 시스템의 콘텐트 처리 방법을 설명하기 위한 절차도로서, DRM 상호 호환 시 바이러스 등에 의하여 오염된 콘텐트의 유통을 방지할 수 있는 절차를 보여주고 있다.
도 44에 도시된 바와 같이, 먼저 DRM 상호 호환 시스템(500)은 제 1 클라이언트 디바이스(410)로부터 제 2 클라이언트 디바이스(610)로 특정 콘텐트를 전송할 것을 요청하는 콘텐트 전송 요청 메시지를 수신한다(단계:S190). 상기 콘텐트 전송 요청 메시지에는 전송 요청된 콘텐트가 포함된다. 이때 상기 전송 요청된 콘텐트는 제 1 DRM 영역(400)에 포함된 제 1 클라이언트 디바이스(410)로부터 전송되는 것이므로 제 1 DRM이 적용된 콘텐트를 의미한다.
상기 콘텐트 전송 요청 메시지가 수신되면, DRM 상호 호환 시스템(500)은 상 기 전송 요청된 콘텐트를 분석하여 오염 여부를 판단하고(단계:S192), 그 판단 결과에 따라 제 2 클라이언트 디바이스(610)로 콘텐트를 전송할 것인지의 여부를 결정하여 그 결과를 제 1 클라이언트 디바이스(410)로 통보한다(단계:S193). 이때 DRM 상호 호환 시스템(500)은 상기 결정 결과를 여부를 제 2 클라이언트 디바이스(610)에게로도 통보할 수도 있음은 물론이다.
예를 들어, DRM 상호 호환 시스템(500)은 상기 전송 요청된 콘텐트에 대한 바이러스 체크를 수행하고 만약 상기 콘텐트가 바이러스에 오염되어 있다면 상기 콘텐트를 전송할 수 없음을 결정하고 이를 알리는 메시지를 제 1 클라이언트 디바이스(410)로 통보한 뒤 프로시저를 중단한다. 이 경우 제 1 클라이언트 디바이스(410) 또는 제 1 서비스 제공자(420) 등은 자체적으로 바이러스 치료를 실시할 수 있으며, 이 후 제 1 클라이언트 디바이스(410)는 DRM 상호 호환 시스템(500)에 상기 콘텐트에 대한 재전송을 요청할 수 있다.
반면, 상기 전송 요청된 콘텐트가 바이러스에 오염되어 있지 않다면, DRM 상호 호환 시스템(500)은 상기 콘텐트를 정상적으로 전송할 것임을 결정한 뒤 이를 알리는 메시지를 제 1 클라이언트 디바이스(410)로 통보한다.
이어서 DRM 상호 호환 시스템(500)은 상기 전송 요청된 콘텐트에 적용된 데이터 보호 방식과 라이선스 정보를 제 1 DRM에서 제 2 DRM으로 변환하는 DRM 변환을 수행한 뒤(단계:S24), 제 2 클라이언트 디바이스(610)로 전송한다(단계:S194).
한편, DRM 상호 호환 시스템(500)은 상기 전송 요청된 콘텐트의 오염 여부를 판단한 뒤 만약 상기 콘텐트가 오염되어 있을 경우, 자체적으로 바이러스 치료를 수행한 뒤 콘텐트를 정상적으로 전송할 수도 있다. 이 경우 DRM 상호 호환 시스템(500)은 바이러스의 치료를 수행할 수 있는 툴 또는 시스템을 자체적으로 구비하거나 또는 네트워크에 연결된 제 3의 안티 바이러스 시스템에 치료를 의뢰할 수 있다. 또한, 콘텐트를 감염시킨 바이러스의 내역과 치료 결과를 제 1 클라이언트 디바이스(410)로 통보할 수도 있다.
<Example 5-3>
도 45는 Example 5-3에 따른 DRM 상호 호환 시스템의 콘텐트 처리 방법을 설명하기 위한 절차도로서, DRM 상호 호환 시에 워터 마킹 기능을 적용할 수 있는 예를 보여주고 있다.
도 45에 도시된 바와 같이, 먼저 DRM 상호 호환 시스템(500)은 제 1 클라이언트 디바이스(410)로부터 제 2 클라이언트 디바이스(610)로 특정 콘텐트의 전송을 요청하는 콘텐트 전송 요청 메시지를 수신한다(단계:S195). 상기 콘텐트 전송 요청 메시지에는 전송 요청된 콘텐트가 포함된다. 이때 상기 전송 요청된 콘텐트는 제 1 DRM 영역(400)에 포함된 제 1 클라이언트 디바이스(410)로부터 전송되는 것이므로 제 1 DRM이 적용된 콘텐트를 의미한다.
상기 콘텐트 전송 요청 메시지가 수신되면, DRM 상호 호환 시스템(500)은 상기 전송 요청된 콘텐트를 분석하여 워터 마크가 삽입되어 있는지를 판단하고(단계:S196), 워터 마크가 삽입되어 있을 경우 상기 전송 요청된 콘텐트에 적용된 데이터 보호 방식과 라이선스 정보를 제 1 DRM에서 제 2 DRM으로 변환하는 DRM 변환을 수행한 뒤(단계:S201), 제 2 클라이언트 디바이스(610)로 전송한다(단계:S202).
반면, 상기 판단결과 상기 전송 요청된 콘텐트에 워터 마크가 삽입되어 있지 않을 경우, DRM 상호 호환 시스템(500)은 제 1 DRM 영역(400) 측의 특정 개체, 예컨대 제 1 서비스 제공자(420)로 워터 마킹을 요청한다(단계:S197). 즉 상기 전송 요청된 콘텐트에 워터 마크를 삽입할 것을 요청하는 것이다. 그러면 상기 워터 마킹 요청을 받은 제 1 서비스 제공자(420)는 상기 전송 요청된 콘텐트에 워터 마크를 삽입한 뒤(단계:S198), DRM 상호 호환 시스템(500)으로 콘텐트의 전송을 재요청한다(단계:S199).
DRM 상호 호환 시스템(500)은 상기 재요청된 콘텐트에 워터 마크가 삽입되었는지를 확인한 뒤(단계:S200), 그 콘텐트에 적용된 데이터 보호 방식과 라이선스 정보를 제 1 DRM에서 제 2 DRM으로 변환하는 DRM 변환을 수행하여(단계:S201), 제 2 클라이언트 디바이스(610)로 전송한다(단계:S202).
한편, 제 1 클라이언트 디바이스(410)에 워터 마킹 기능을 제공하는 엔진이 설치되어 있을 경우, DRM 상호 호환 시스템(500)은 제 1 클라이언트 디바이스(410)로 워터 마킹을 요청할 수도 있다. 이때 제 1 클라이언트 디바이스(410)는 워터 마크를 생성하기 위한 저작권 정보를 제 1 서비스 제공자(420) 또는 콘텐트 제공자로 요청하여 획득할 수 있다.
이상 도 45를 참조한 설명을 통하여, DRM 상호 호환 시 워터 마크를 삽입할 수 있는 절차를 살펴보았다. 도 45에 도시된 절차를 실현하기 위해서는 제 1 DRM 영역(400) 측의 특정 개체에 워터 마킹 기능을 제공하는 워터 마킹 시스템이 구비되어야 한다. 그런데 제 1 DRM 영역(400) 측에 워터 마킹 시스템이 구비되지 않은 경우 DRM 상호 호환 시스템(500)에서 자체적으로 워터 마킹을 수행하거나 또는 제 3의 워터 마킹 시스템에 워터 마킹을 의뢰할 수도 있는데 이러한 경우는 이하의 도 9를 참조하여 설명하기로 한다.
<Example 5-4>
도 46은 Example 5-4에 따른 DRM 상호 호환 시스템의 콘텐트 처리 방법을 설명하기 위한 절차도로서, DRM 상호 호환 시에 워터 마킹 기능을 적용할 수 있는 다른 예를 보여주고 있다.
도 46에 도시된 바와 같이, 먼저 DRM 상호 호환 시스템(500)은 제 1 클라이언트 디바이스(410)로부터 제 2 클라이언트 디바이스(420)로 특정 콘텐트의 전송을 요청하는 콘텐트 전송 요청 메시지를 수신한다(단계:S210). 상기 콘텐트 전송 요청 메시지에는 전송 요청된 콘텐트가 포함된다. 이때 상기 전송 요청된 콘텐트는 제 1 DRM 영역(400)에 포함된 제 1 클라이언트 디바이스(410)로부터 전송되는 것이므로 제 1 DRM이 적용된 콘텐트를 의미한다.
상기 콘텐트 전송 요청 메시지가 수신되면, DRM 상호 호환 시스템(500)은 상기 전송 요청된 콘텐트를 분석하여 상기 전송 요청된 콘텐트에 워터 마크가 삽입되어 있는지를 판단하고(단계:S211), 워터 마크가 삽입되어 있을 경우 상기 전송 요청된 콘텐트에 적용된 데이터 보호 방식과 라이선스 정보를 제 1 DRM에서 제 2 DRM으로 변환하는 DRM 변환을 수행한 뒤(단계:S215), 제 2 클라이언트 디바이스(610)로 전송한다(단계:S216).
반면, 상기 판단결과 상기 전송 요청된 콘텐트에 워터 마크가 삽입되어 있지 않을 경우, DRM 상호 호환 시스템(500)은 제 1 DRM 영역(400) 측의 특정 개체, 예컨대 제 1 서비스 제공자(420)로 상기 요청된 콘텐트의 저작권자 정보를 요청한다(단계:S212). 상기 저작권자 정보는 콘텐트 제공자의 정보일 수 있다. 이 경우 DRM 상호 호환 시스템(500)은 제 1 서비스 제공자(420)로 저작권자의 정보를 요청할 수도 있지만, 저작권자인 콘텐트 제공자로 저작권자 정보를 직접 요청할 수도 있다. 그렇지만 Example 5-4의 설명에서는 저작권자 정보를 제 1 서비스 제공자(420)에서 제공하는 것으로 가정하여 설명하기로 한다. 그러나 이는 한정적인 의미는 아님은 물론일 것이다.
상기 제 1 서비스 제공자(420)는 DRM 상호 호환 시스템(500)으로부터 전송된 저작권자 정보 요청에 응답하여 상기 콘텐트의 저작권자 정보를 DRM 상호 호환 시스템(500)에 제공한다(단계:S213). 그러면 DRM 상호 호환 시스템(500)은 제공된 저작권자 정보를 이용하여 워터 마크를 생성하고, 상기 전송 요청된 콘텐트를 복호화한 뒤 상기 생성된 워터 마크를 삽입하는 워터 마킹 단계를 수행한다(단계:S214). 이때 상기 DRM 상호 호환 시스템(500)이 자체적으로 워터 마킹 시스템을 구비하여 그 워터 마킹 시스템을 이용할 수도 있고, 네트워크에 연결된 제 3의 워터 마킹 시스템에 직접 의뢰하여 워터 마킹을 수행할 수도 있다.
워터 마킹 수행 단계가 완료되면, DRM 상호 호환 시스템(500)은 DRM 변환을 수행한다(단계:S215). 즉, 상기 워터 마크가 삽입된 콘텐트의 콘텐트 보호 방식과 라이선스를 타겟 DRM인 제 2 DRM으로 변환하는 것이다. 이어서 DRM 상호 호환 시스템(500)은 변환된 콘텐트를 제 2 클라이언트 디바이스(610)로 전송한다(단계 :S216).
한편, DRM 상호 호환 시스템(500)은 제 3의 워터 마킹 시스템의 주소 정보, 예를 들면 URL 주소 등을 제 1 클라이언트 디바이스(410)로 제공하여 워터 마킹을 수행할 수 있도록 할 수도 있는데, 이 경우에는 제 1 클라이언트 디바이스(410)가 워터 마킹에 필요한 저작권 정보를 직접 제 1 서비스 제공자(420)나 콘텐트 제공자로 요청할 수도 있고, DRM 상호 호환 시스템(500)이 제 1 서비스 제공자(420)로부터 제공된 저작권 정보를 URL 주소와 함께 제 1 클라이언트 디바이스(410)로 제공할 수도 있다. 또한 DRM 상호 호환 시스템(500)은 제 1 DRM 영역(400) 측의 제 1 서비스 제공자(420)나 콘텐트 제공자에게 제 3의 워터 마킹 시스템의 URL 주소를 제공하여 워터 마킹을 수행하도록 할 수도 있다.
<Example 5-5>
도 47은 Example 5-5에 따른 DRM 상호 호환 시스템의 콘텐트 처리 방법을 설명하기 위한 절차도로서, DRM 상호 호환 시에 핑거프린팅 기능을 적용할 수 있는 예를 보여주고 있다.
도 47에 도시된 바와 같이, 먼저 DRM 상호 호환 시스템(500)은 제 1 클라이언트 디바이스(410)로부터 제 2 클라이언트 디바이스(610)로 특정 콘텐트의 전송을 요청하는 콘텐트 전송 요청 메시지를 수신한다(단계:S221). 이때 상기 콘텐트 전송 요청 메시지에는 전송 요청된 콘텐트가 포함된다. 상기 전송 요청된 콘텐트는 제 1 DRM 영역(400)에 포함된 제 1 클라이언트 디바이스(410)로부터 전송되는 것이므로 제 1 DRM이 적용된 콘텐트를 의미한다.
상기 콘텐트 전송 요청 메시자가 수신되면, DRM 상호 호환 시스템(500)은 상기 전송 요청된 콘텐트를 분석하여, 제 1 클라이언트 디바이스(410)의 사용자 정보가 포함된 핑거프린트가 상기 전송 요청된 콘텐트에 삽입되어 있는지를 판단한다(단계:S222). 이러한 판단의 시점은 상기 콘텐트 전송 요청이 수신된 직후에 수행될 수도 있고, DRM 변환을 수행하기 전에 수행될 수도 있다.
상기 판단결과 핑거프린트가 정상적으로 삽입되어 있을 경우, DRM 상호 호환 시스템(500)은 상기 전송 요청된 콘텐트에 적용된 데이터 보호 방식과 라이선스 정보를 제 1 DRM에서 제 2 DRM으로 변환하는 DRM 변환을 수행한 뒤(단계:S227), 제 2 클라이언트 디바이스(610)로 전송한다(단계:S228).
반면, 상기 판단결과 상기 전송 요청된 콘텐트에 핑거프린트가 삽입되어 있지 않을 경우, DRM 상호 호환 시스템(500)은 제 1 클라이언트 디바이스(410)로 핑거프린팅 수행을 요청한다(단계:S223). 즉 상기 전송 요청된 콘텐트에 제 1 클라이언트 디바이스(410)의 사용자 정보가 포함된 핑거프린트를 삽입할 것을 요청하는 것이다.
이때 DRM 상호 호환 시스템은, URL 트리거(Trigger)나 백채널(Back Channel) 등을 통하여, 핑거프린팅을 수행하기 위한 핑거프린팅 엔진을 제공할 수 있는 주소 정보, 예를 들면 URL 등을 제 1 클라이언트 디바이스(410)에 제공할 수 있다. 핑거프린팅 알고리즘의 경우 그 종류가 굉장히 많기 때문에 DRM 상호 호환 시스템(500)에서 그들을 모두 저장 관리하기가 어려울 수도 있다. 따라서 DRM 상호 호환 시스템(500)은 제 1 DRM 영역(400)에서 사용하는 알고리즘을 가진 핑거프린팅 엔진을 다운로드 받을 수 있는 핑거프린팅 시스템의 주소를 제 1 클라이언트 디바이스(410)로 제공하여야 한다. 이러한 핑거프린팅 시스템의 주소는 DRM 상호 호환 시스템(500)이 제 1 서비스 제공자(420)와의 질의/응답을 통하여 얻을 수 있다.
상기 핑거프린팅 시스템은 제 1 서비스 제공자(420)에 포함되어 있거나, 또는 제 1 서비스 제공자(420)와 연동되는 특정 서버일 수도 있다. 그렇지만, 만약 제 1 DRM 영역(400)에서 핑거프린팅을 사용하지 않는다면 제 1 서비스 제공자(420)가 핑거프린팅을 제공할 수 없다. 이 경우 DRM 상호 호환 시스템(500)은 핑거프린팅 엔진을 제공할 수 있는 제 3의 핑거프린팅 시스템의 주소 정보를 제 1 클라이언트 디바이스로 제공할 수도 있다. 또한, 만약 제 1 클라이언트 디바이스(410)에 특정 핑거프린팅 엔진이 이미 설치되어 있다면, DRM 상호 호환 시스템(500)은 별도의 주소 정보를 전송하지 않고 상기 설치된 핑거프린팅 엔진을 통해 핑거프린팅을 수행하도록 요청할 수도 있다.
핑거프린팅 요청을 받은 제 1 클라이언트 디바이스(410)는, DRM 상호 호환 시스템(500)으로부터 제공받은 주소 정보를 이용하여 핑거프린팅 엔진을 다운로드받거나 또는 기 설치된 핑거프린팅 엔진을 이용하여 핑거프린팅을 수행한다(단계:S224). 즉, 상기 요청된 콘텐트에 자신의 사용자 정보가 포함된 핑거프린트를 삽입하는 것이다.
이어서 제 1 클라이언트 디바이스(410)는 상기 핑거프린트가 삽입된 콘텐트를 제 2 클라이언트 디바이스(610)로 전송할 것을 DRM 상호 호환 시스템(500)에 재요청한다(단계:S225). 그러면 DRM 상호 호환 시스템(500)은 상기 재요청된 콘텐트 에 핑거프린트가 삽입되었는지를 확인한 뒤(단계:S226), 요청된 콘텐트에 적용된 데이터 보호 방식과 라이선스 정보를 제 1 DRM에서 제 2 DRM으로 변환하는 DRM 변환을 수행하여(단계:S227), 제 2 클라이언트 디바이스(610)로 전송한다(단계:S228).
한편, 도시되지는 않았지만, DRM 상호 호환 시스템(500)은 상기 콘텐트를 수신하는 제 2 클라이언트 디바이스(610)에 핑거프린팅을 요청할 수도 있다. 이 경우에도 DRM 상호 호환 시스템(500)은 핑거프린팅을 수행할 수 있는 핑거프린팅 시스템의 주소 정보를 제 2 클라이언트 디바이스(610)로 제공할 수 있다. 이때, 상기 핑거프린팅 시스템의 주소 정보는 DRM 상호 호환 시스템(500)이 제 2 서비스 제공자(610)와의 질의/응답을 통하여 획득할 수 있다. 또한 DRM 상호 호환 시스템(500)은 제 2 서비스 제공자(610) 측에서 핑거프린팅을 사용하지 않을 경우 제 3의 핑거프린팅 시스템의 주소를 제공할 수도 있다.
<Example 5-6>
도 48은 Example 5-6에 따른 DRM 상호 호환 시스템의 콘텐트 처리 방법을 설명하기 위한 절차도로서, DRM 상호 호환 시에 핑거프린팅 기능을 적용할 수 있는 다른 예를 보여주고 있다. 본 Example 5-6에서는 DRM 상호 호환 시스템이 자체적으로 핑거프린팅 엔진을 보유하고 있는 경우를 설명한다.
도 48에 도시된 바와 같이, 먼저 DRM 상호 호환 시스템(500)은 제 1 클라이언트 디바이스(410)로부터 제 2 클라이언트 디바이스(610)로 특정 콘텐트의 전송을 요청하는 콘텐트 전송 요청 메시지를 수신한다(단계:S230). 이때 상기 콘텐트 전송 요청 메시지에는 전송 요청된 콘텐트가 포함된다. 상기 전송 요청된 콘텐트는 제 1 DRM 영역(400)에 포함된 제 1 클라이언트 디바이스(410)로부터 전송되는 것이므로 제 1 DRM이 적용된 콘텐트를 의미한다. 상기 수신된 콘텐트 전송 요청 메시지에는, 전송 요청된 콘텐트의 정보와 함께, 송수신 사용자 정보 즉, 제 1 클라이언트 디바이스(410) 및 제 2 클라이언트 디바이스(610)의 사용자 정보가 포함될 수 있다.
다음으로, DRM 상호 호환 시스템(500)은 상기 전송 요청된 콘텐트를 분석하여, 그 콘텐트에 제 1 클라이언트 디바이스(410)의 사용자 정보가 포함된 핑거프린트가 삽입되어 있는지를 판단한다(단계:S231). 이때 만약 상기 컨송 요청된 콘텐트에 핑거프린트가 삽입되어 있을 경우 상기 요청된 콘텐트에 적용된 데이터 보호 방식과 라이선스 정보를 제 1 DRM에서 제 2 DRM으로 변환하는 DRM 변환을 수행한 뒤(단계:S233), 제 2 클라이언트 디바이스(610)로 전송한다(단계:S234).
반면, 상기 판단결과 상기 전송 요청된 콘텐트에 핑거프린트가 삽입되어 있지 않을 경우, DRM 상호 호환 시스템(500)은 자신이 보유하고 있는 핑거프린팅 엔진을 이용하여 상기 수신된 제 1 클라이언트 디바이스(410)의 사용자 정보가 포함된 핑거프린트를 생성하고, 상기 전송 요청된 콘텐트를 복호화한 뒤 상기 생성된 핑거프린트를 삽입하는 핑거프린팅 절차를 수행한다(단계:S232). 상기 핑거프린트 엔진은 캐쉬 형태로 DRM 상호 호환 시스템(500) 내의 특정 디바이스에 저장되어 있다가 핑거프린팅 절차의 수행 시에 동작할 수 있다.
핑거프린팅 수행 단계(단계:S63)가 완료되면, DRM 상호 호환 시스템(500)은 DRM 변환을 수행한다(단계:S233). 즉, 상기 핑거프린트가 삽입된 콘텐트의 콘텐트 보호 방식와 라이선스를 타겟 DRM인 제 2 DRM으로 변환하는 것이다. 이어서 DRM 상호 호환 시스템(500)은 변환된 콘텐트를 제 2 클라이언트 디바이스(610)로 전송한다(단계:S234).
한편, DRM 상호 호환 시스템(500)은 상기 콘텐트를 수신하는 제 2 클라이언트 디바이스(610)의 정보를 포함하는 핑거프린트를 콘텐트에 삽입할 수도 있다. 이 경우 DRM 상호 호환 시스템(500)은 해당 핑거프린팅 엔진을 캐시 형태로 저장하고 있어야 한다.
<Example 5-7>
도 49는 Example 5-7에 따른 DRM 상호 호환 시스템의 콘텐트 처리 방법을 설명하기 위한 절차도로서, 핑거프린트 정보가 일치하지 않는 사용자로부터 콘텐트 전송이 요청되었을 경우, 해당 콘텐트를 보유 또는 유통시킨 시스템에 통보할 수 있는 절차를 보여주고 있다.
도 49에 도시된 바와 같이, 먼저 DRM 상호 호환 시스템(500)은 제 1 클라이언트 디바이스(410)로부터 제 2 클라이언트 디바이스(610)로 특정 콘텐트의 전송을 요청하는 콘텐트 전송 요청 메시지를 수신한다(단계:S250). 상기 콘텐트 전송 요청 메시지에는 전송 요청된 콘텐트의 정보와 함께, 송수신 사용자 정보 즉, 제 1 클라이언트 디바이스(410) 및 제 2 클라이언트 디바이스(610)의 사용자 정보가 수신될 수 있다. 또한 상기 전송 요청 콘텐트에는 핑거프린트가 삽입되어 있다.
DRM 상호 호환 시스템(500)은 상기 전송 요청된 콘텐트에 삽입된 핑거프린트 정보에 포함되어 있는 사용자 정보와 상기 제 1 클라이언트 디바이스(410)의 사용 자 정보를 비교 분석하고(단계:S251), 핑거프린트에 포함된 사용자 정보와 제 1 클라이언트 디바이스(410)의 사용자 정보가 일치하지 않는 오류가 발견될 경우(단계:S252), 제 1 클라이언트 디바이스(410)에 오류가 발생하였음을 통보한다(단계:S254). 또한 제 2 클라이언트 디바이스(610)에는 인가되지 않은 콘텐트 공유임을 알리는 비인가 공유 통보 메시지를 전송한다(단계:S253). 따라서 핑거프린트가 일치하지 않는 비정상적인 콘텐트 전송은 허용되지 않게 된다.
이상 본 발명에 대하여 그 바람직한 실시예들을 도면을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 기술적 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시켜 실시할 수 있음을 이해할 수 있을 것이다. 따라서, 본 발명의 앞으로의 실시예들의 변경은 본 발명의 기술을 벗어날 수 없을 것이다.

Claims (23)

  1. 데이터 호환 환경에서 데이터의 전송을 제어하는 방법에 있어서,
    클라이언트로부터 데이터 전송을 요청받는 단계;
    상기 데이터 전송에 관여할 개체의 정보를 수집하는 단계;
    상기 수집된 개체의 정보를 이용하여 적어도 두 개의 개체가 포함되는 체인을 형성하는 단계;
    상기 체인을 통하여 다수 개의 데이터를 전송하는 단계; 및
    상기 체인에 포함되는 개체 중 적어도 어느 하나로부터 상기 전송되는 데이터의 전송 상태를 나타내는 이벤트 메시지를 수신하는 단계를 포함하며,
    상기 데이터는 콘텐트 및 라이선스 중 어느 하나를 포함하되, 적어도 하나의 상기 콘텐트 또는 라이선스를 호환하는 것을 특징으로 하는 데이터 전송 제어 방법.
  2. 제 1 항에 있어서, 상기 데이터 전송을 요청받는 단계는 전송 세션 식별자 및 다수의 데이터 식별자를 수신하는 단계를 포함하고, 상기 체인을 통하여 전송되는 다수 개의 데이터는 상기 다수의 데이터 식별자에 대응하는 데이터인 것을 특징으로 하는 데이터 전송 제어 방법.
  3. 제 1 항에 있어서, 상기 데이터 전송 요청에 대응하여 전송 세션 식별자 및 다수의 데이터 식별자를 생성하는 단계를 더 포함하고, 상기 체인을 통하여 전송되는 다수 개의 데이터는 상기 다수의 데이터 식별자에 대응하는 데이터인 것을 특징으로 하는 데이터 전송 제어 방법.
  4. 제 1 항에 있어서, 상기 데이터 전송에 관여할 개체의 정보를 수집하는 단계는,
    상기 개체에게 능력치 정보를 포함하는 개체 정보를 질의하는 단계;
    상기 질의에 응답하여 수신되는 개체 정보를 수신하는 단계; 및
    상기 수신된 개체 정보를 이용하여 소스, 중간 및 목적지의 디바이스, 시스템, DRM 정보 중 적어도 어느 하나를 파악하는 단계를 포함하는 것을 특징으로 하는 데이터 전송 제어 방법.
  5. 제 4 항에 있어서, 상기 파악한 적어도 어느 하나의 정보를 이용하여 상기 요청된 데이터 전송을 수행할 것인지의 여부를 결정하는 단계를 더 포함하는 것을 특징으로 하는 데이터 전송 제어 방법.
  6. 제 1 항에 있어서, 상기 체인을 형성하는 적어도 두 개의 개체는,
    상기 다수의 데이터를 소스로부터 반출하여 송신하는 반출자;
    상기 반출자로부터 송신되는 다수의 데이터를 목적지에서 요구하는 포맷에 부합되는 형태로 변환하여 송신하는 변환자; 및
    상기 변환자로부터 송신되는 다수의 데이터를 수신하여 상기 목적지로 제공하는 반입자를 포함하는 것을 특징으로 하는 데이터 전송 제어 방법.
  7. 제 1 항에 있어서, 상기 체인을 형성하는 적어도 두 개의 개체는,
    상기 다수의 데이터를 소스로부터 반출하여 송신하는 반출자; 및
    상기 반출자로부터 송신되는 다수의 데이터를 수신하여 목적지로 제공하는 반입자를 포함하는 것을 특징으로 하는 데이터 전송 제어 방법.
  8. 제 1항에 있어서, 상기 체인을 형성하는 단계는,
    상기 체인에 포함되는 적어도 두 개의 개체에게 제어 메시지를 전송하는 단계; 및
    상기 제어 메시지를 수신한 개체들 간에 보안 인증 채널이 설립되는 단계를 포함하는 것을 특징으로 하는 데이터 전송 제어 방법.
  9. 제 8 항에 있어서, 상기 제어 메시지를 전송하는 단계에서는 적어도 어느 하나의 개체에게 목적지의 DRM 정보를 제공하는 것을 특징으로 하는 데이터 전송 제어 방법.
  10. 제 1 항에 있어서, 상기 체인에 포함되는 개체 중 적어도 어느 하나의 개체에게 상기 이벤트 메시지를 수신할 수 있는 특정 이벤트의 구독을 요청하는 단계; 및
    상기 특정 이벤트를 요청한 적어도 어느 하나의 개체로부터 상기 특정 이벤트의 구독을 허가받는 단계를 더 포함하는 것을 특징으로 하는 데이터 전송 제어 방법.
  11. 제 1 항에 있어서, 상기 데이터의 전송 상태를 나타내는 이벤트 메시지는,
    상기 데이터의 전송이 시작됨을 알리는 이벤트 메시지, 상기 데이터가 상기 체인으로 전송되고 있음을 알리는 이벤트 메시지, 상기 데이터의 전송이 완료되었음을 알리는 이벤트 메시지, 에러의 발생을 알리는 이벤트 메시지, 상기 데이터의 변환 과정을 알 수 있는 이벤트 메시지, 상기 데이터가 암호화 기법을 통하여 변환 중임을 알리는 이벤트 메시지 중 적어도 어느 하나를 포함하는 것을 특징으로 하는 데이터 전송 제어 방법.
  12. 제 1 항에 있어서, 상기 수신된 이벤트 메시지를 통하여 수집되는 데이터의 전송 정보를 상기 클라이언트로 제공하는 단계를 더 포함하며,
    상기 데이터의 전송 정보는 상기 전송되는 데이터별로 또는 다수의 데이터를 통합 관리하여 제공하는 것을 특징으로 하는 데이터 전송 제어 방법.
  13. DRM 상호 호환 시스템에서의 콘텐트 전송 제어 방법에 있어서,
    클라이언트로부터 전송 세션 식별자 및 다수의 콘텐트 식별자가 포함된 특정 목적지로의 콘텐트 전송 요청 메시지가 수신되면, 상기 다수의 콘텐트 식별자에 대응하는 다수의 콘텐트를 상기 특정 목적지로 전송하기 위한 콘텐트 핸들러들을 결정하는 단계; 및
    상기 결정된 콘텐트 핸들러들을 제어하여 상기 다수의 콘텐트를 상기 특정 목적지로 전송하기 위한 보안 인증 채널을 설립하도록 하고, 상기 전송 세션 식별자에 대응하는 단일 전송 세션을 개설하여 상기 다수의 콘텐트가 상기 설립되는 보안 인증 채널을 통하여 상기 목적지로 전송되도록 제어하는 단계를 포함하는 것을 특징으로 하는 콘텐트 전송 제어 방법.
  14. 제 13 항에 있어서, 상기 결정 단계는,
    시스템에 구비된 콘텐트 핸들러들의 정보를 수집하는 단계;
    상기 수집된 정보를 토대로 상기 수신된 콘텐트 전송 요청 메시지에 대응되는 전송을 수행할 것인지의 여부를 결정하는 단계; 및
    상기 전송의 수행이 결정되면, 상기 시스템에 구비된 콘텐트 핸들러들 중 상기 전송을 수행할 콘텐트 핸들러들을 결정하는 단계를 포함하는 것을 특징으로 하는 콘텐트 전송 제어 방법.
  15. 제 13 항에 있어서, 상기 결정 단계에서는 상기 다수의 콘텐트 식별자에 대응하는 다수의 콘텐트의 콘텐트 포맷과 상기 특정 목적지에서 요구되는 콘텐트 포맷이 상이할 경우, 콘텐트 포맷 변환을 수행할 수 있는 콘텐트 핸들러를 상기 결정 되는 콘텐트 핸들러에 포함시키는 것을 포함하는 것을 특징으로 하는 콘텐트 전송 제어 방법.
  16. 제 13 항에 있어서, 상기 결정된 콘텐트 핸들러들 중 적어도 하나에게 특정 이벤트의 구독을 요청하여 상기 특정 이벤트를 구독하는 단계; 및
    상기 설립되는 보안 인증 채널을 통하여 상기 다수의 콘텐트가 상기 목적지로 전송될 때, 상기 구독한 적어도 하나의 콘텐트 핸들러로부터 각 콘텐트의 전송 상태를 알 수 있는 이벤트 메시지를 수신하는 단계를 더 포함하는 것을 특징으로 하는 콘텐트 전송 제어 방법.
  17. 제 16 항에 있어서, 상기 이벤트 메시지는, 상기 각각의 콘텐트의 전송 시작을 알리는 이벤트 메시지, 상기 각각의 콘텐트가 처리 중임을 알리는 주기적인 이벤트 메시지, 상기 각각의 콘텐트의 전송 완료를 알리는 이벤트 메시지, 전송 에러 발생 시에 상기 에러를 알리는 이벤트 메시지 중 적어도 어느 하나를 포함하는 것을 특징으로 하는 콘텐트 전송 제어 방법.
  18. 제 16 항에 있어서, 상기 수신되는 이벤트 메시지에 대응하는 이벤트 메시지를 상기 클라이언트로 전송하는 단계를 더 포함하며,
    상기 클라이언트로 전송하는 이벤트 메시지에는 제공되는 이벤트 메시지에는 상기 전송 세션 식별자가 포함되는 것을 특징으로 하는 콘텐트 전송 제어 방법.
  19. 제 13 항에 있어서, 상기 보안 인증 채널을 통하여 상기 목적지로 전송되는 다수의 콘텐트는 중립 콘텐트의 형태로 전송되는 것을 특징으로 하는 콘텐트 전송 제어 방법.
  20. DRM 상호 호환 시스템에서 콘텐트의 처리 정보를 획득하는 방법에 있어서,
    클라이언트로부터 콘텐트 전송 요청 메시지가 수신되면, 콘텐트 핸들러들의 정보를 수집하여 다수의 콘텐트를 요청된 목적지로 전송할 콘텐트 핸들러들을 결정하는 단계; 및
    상기 결정된 콘텐트 핸들러들에 의하여 상기 다수의 콘텐트가 전송되면 상기 결정된 콘텐트 핸들러들 중 적어도 어느 하나로부터 상기 전송되는 각각의 상기 콘텐트의 처리 상태를 알 수 있는 이벤트 메시지를 수신하는 단계를 포함하는 것을 특징으로 하는 콘텐트 처리 정보 획득 방법.
  21. 제 20 항에 있어서, 상기 콘텐트 핸들러들 중 적어도 하나에게 특정 이벤트의 구독을 요청하는 단계; 및
    상기 구독을 요청한 적어도 하나의 콘텐트 핸들러에게 구독을 허가하는 응답 메시지를 수신하는 단계를 더 포함하는 것을 특징으로 하는 콘텐트 처리 정보 획득 방법.
  22. 제 21 항에 있어서, 상기 특정 이벤트의 구독을 요청하는 단계는,
    상기 전송되는 콘텐트의 전송 상태를 알 수 있는 이벤트 메시지를 푸시 방식으로 제공받을 것인지 풀 방식으로 제공받을 것인지를 세팅하는 단계를 포함하는 것을 특징으로 하는 콘텐트 처리 정보 획득 방법.
  23. DRM 상호 호환 시스템에서의 콘텐트 전송 시스템에 있어서,
    다수의 콘텐트 핸들러; 및
    클라이언트로부터 다수의 콘텐트 식별자가 포함된 특정 목적지로의 콘텐트 전송 요청 메시지가 수신되면, 상기 다수의 콘텐트 식별자에 대응하는 다수의 콘텐트를 상기 목적지로 전송하기 위한 적어도 두 개의 콘텐트 핸들러를 상기 다수의 콘텐트 핸들러 중에서 결정하고, 상기 다수의 콘텐트가 단일 세션을 통해 중립 콘텐트 형태로 상기 목적지까지 전송될 수 있도록 상기 결정된 적어도 2개의 콘텐트 핸들러를 제어하는 제어 개체를 포함하며,
    상기 적어도 두 개의 콘텐트 핸들러 중 적어도 어느 하나는 상기 목적지까지 전송되는 각각의 상기 콘텐트의 전송 상태를 나타내는 이벤트 메시지를 상기 제어 개체로 전송하는 것을 특징으로 하는 콘텐트 전송 시스템.
KR1020087016814A 2006-03-06 2007-03-06 데이터 전송 제어 방법, 콘텐트 전송 제어 방법, 콘텐트처리 정보 획득 방법 및 콘텐트 전송 시스템 KR101038124B1 (ko)

Applications Claiming Priority (26)

Application Number Priority Date Filing Date Title
US77892806P 2006-03-06 2006-03-06
US60/778,928 2006-03-06
US74341706P 2006-03-07 2006-03-07
US60/743,417 2006-03-07
US74432206P 2006-04-05 2006-04-05
US60/744,322 2006-04-05
US74481106P 2006-04-13 2006-04-13
US60/744,811 2006-04-13
US79941106P 2006-05-09 2006-05-09
US60/799,411 2006-05-09
US80294306P 2006-05-23 2006-05-23
US60/802,943 2006-05-23
US80383406P 2006-06-02 2006-06-02
US60/803,834 2006-06-02
US81497706P 2006-06-19 2006-06-19
US60/814,977 2006-06-19
US83251406P 2006-07-20 2006-07-20
US60/832,514 2006-07-20
US82470006P 2006-09-06 2006-09-06
US60/824,700 2006-09-06
US86268406P 2006-10-24 2006-10-24
US60/862,684 2006-10-24
US86280806P 2006-10-25 2006-10-25
US60/862,808 2006-10-25
US86552006P 2006-11-13 2006-11-13
US60/865,520 2006-11-13

Publications (2)

Publication Number Publication Date
KR20080094776A true KR20080094776A (ko) 2008-10-24
KR101038124B1 KR101038124B1 (ko) 2011-05-31

Family

ID=38475096

Family Applications (7)

Application Number Title Priority Date Filing Date
KR1020087016816A KR101004218B1 (ko) 2006-03-06 2007-03-06 데이터 전송 방법
KR1020087016818A KR101038153B1 (ko) 2006-03-06 2007-03-06 레거시 디바이스 등록 방법, 데이터 전송 방법 및 레거시디바이스 인증 방법
KR1020087016815A KR101004197B1 (ko) 2006-03-06 2007-03-06 데이터 전송 방법 및 콘텐트 전송 방법
KR1020087016817A KR101038173B1 (ko) 2006-03-06 2007-03-06 도메인 운용 방법, 도메인 확장 방법 및 레퍼런스 포인트컨트롤러 선출 방법
KR1020087016820A KR101038135B1 (ko) 2006-03-06 2007-03-06 Drm 상호 호환 시스템
KR1020087016819A KR100960784B1 (ko) 2006-03-06 2007-03-06 데이터 전송 방법
KR1020087016814A KR101038124B1 (ko) 2006-03-06 2007-03-06 데이터 전송 제어 방법, 콘텐트 전송 제어 방법, 콘텐트처리 정보 획득 방법 및 콘텐트 전송 시스템

Family Applications Before (6)

Application Number Title Priority Date Filing Date
KR1020087016816A KR101004218B1 (ko) 2006-03-06 2007-03-06 데이터 전송 방법
KR1020087016818A KR101038153B1 (ko) 2006-03-06 2007-03-06 레거시 디바이스 등록 방법, 데이터 전송 방법 및 레거시디바이스 인증 방법
KR1020087016815A KR101004197B1 (ko) 2006-03-06 2007-03-06 데이터 전송 방법 및 콘텐트 전송 방법
KR1020087016817A KR101038173B1 (ko) 2006-03-06 2007-03-06 도메인 운용 방법, 도메인 확장 방법 및 레퍼런스 포인트컨트롤러 선출 방법
KR1020087016820A KR101038135B1 (ko) 2006-03-06 2007-03-06 Drm 상호 호환 시스템
KR1020087016819A KR100960784B1 (ko) 2006-03-06 2007-03-06 데이터 전송 방법

Country Status (6)

Country Link
US (10) US20090133129A1 (ko)
EP (6) EP1997030A4 (ko)
JP (7) JP5065305B2 (ko)
KR (7) KR101004218B1 (ko)
MX (1) MX2008009419A (ko)
WO (6) WO2007102698A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019221501A1 (ko) * 2018-05-17 2019-11-21 주식회사 엔터플 디지털 콘텐트 전달 추적 방법 및 장치

Families Citing this family (85)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2290973A3 (en) * 2002-12-17 2012-06-20 Sony Pictures Entertaining Inc. Method and apparatus for access control in an overlapping multiserver network environment
US8843413B2 (en) * 2004-02-13 2014-09-23 Microsoft Corporation Binding content to a domain
US8413155B2 (en) 2004-03-13 2013-04-02 Adaptive Computing Enterprises, Inc. System and method for a self-optimizing reservation in time of compute resources
US8782654B2 (en) 2004-03-13 2014-07-15 Adaptive Computing Enterprises, Inc. Co-allocating a reservation spanning different compute resources types
US20070266388A1 (en) 2004-06-18 2007-11-15 Cluster Resources, Inc. System and method for providing advanced reservations in a compute environment
US8176490B1 (en) 2004-08-20 2012-05-08 Adaptive Computing Enterprises, Inc. System and method of interfacing a workload manager and scheduler with an identity manager
WO2006053093A2 (en) 2004-11-08 2006-05-18 Cluster Resources, Inc. System and method of providing system jobs within a compute environment
US8863143B2 (en) 2006-03-16 2014-10-14 Adaptive Computing Enterprises, Inc. System and method for managing a hybrid compute environment
US9231886B2 (en) 2005-03-16 2016-01-05 Adaptive Computing Enterprises, Inc. Simple integration of an on-demand compute environment
WO2006107531A2 (en) 2005-03-16 2006-10-12 Cluster Resources, Inc. Simple integration of an on-demand compute environment
JP4760101B2 (ja) * 2005-04-07 2011-08-31 ソニー株式会社 コンテンツ提供システム,コンテンツ再生装置,プログラム,およびコンテンツ再生方法
CA2603577A1 (en) 2005-04-07 2006-10-12 Cluster Resources, Inc. On-demand access to compute resources
US20060265333A1 (en) * 2005-05-03 2006-11-23 Interdigital Technology Corporation Mesh network with digital rights management interoperability
US8429300B2 (en) 2006-03-06 2013-04-23 Lg Electronics Inc. Data transferring method
CN101395595B (zh) 2006-03-06 2012-11-21 Lg电子株式会社 数据传送方法和内容传送方法
US20090133129A1 (en) * 2006-03-06 2009-05-21 Lg Electronics Inc. Data transferring method
KR20080019362A (ko) * 2006-08-28 2008-03-04 삼성전자주식회사 대체 가능한 지역 도메인 관리 시스템 및 방법
KR20080022476A (ko) 2006-09-06 2008-03-11 엘지전자 주식회사 논컴플라이언트 컨텐츠 처리 방법 및 디알엠 상호 호환시스템
US8918508B2 (en) 2007-01-05 2014-12-23 Lg Electronics Inc. Method for transferring resource and method for providing information
JP2010507864A (ja) 2007-02-16 2010-03-11 エルジー エレクトロニクス インコーポレイティド ドメイン管理方法及びドメインデバイス並びにプログラム
KR100923456B1 (ko) * 2007-02-23 2009-11-09 삼성전자주식회사 휴대용 단말기에서 디지털 저작권 관리 컨텐츠 관리 방법 및 장치
US8626951B2 (en) * 2007-04-23 2014-01-07 4Dk Technologies, Inc. Interoperability of network applications in a communications environment
US7886318B2 (en) * 2007-06-22 2011-02-08 Morega Systems Inc. Set top box with digital rights management for multiple devices and methods for use therewith
US8041773B2 (en) 2007-09-24 2011-10-18 The Research Foundation Of State University Of New York Automatic clustering for self-organizing grids
US8175236B2 (en) * 2007-11-16 2012-05-08 At&T Mobility Ii Llc IMS and SMS interworking
KR100941756B1 (ko) * 2007-12-07 2010-02-11 한국전자통신연구원 디지털 컨텐츠 제공 장치 및 그 방법과, 이를 위한 사용자단말기 및 그의 방법
US8856861B2 (en) * 2007-12-20 2014-10-07 Samsung Electronics Co., Ltd. Generic rights token and DRM-related service pointers in a common protected content file
KR20090094736A (ko) 2008-03-03 2009-09-08 엘지전자 주식회사 레거시 시스템을 지원하기 위한 정보전송방법
US8095518B2 (en) 2008-06-04 2012-01-10 Microsoft Corporation Translating DRM system requirements
US8863303B2 (en) * 2008-08-12 2014-10-14 Disney Enterprises, Inc. Trust based digital rights management systems
KR101614945B1 (ko) * 2008-08-20 2016-04-25 삼성전자주식회사 홈 네트워크에서의 개인정보 보호 방법 및 장치
US9100223B2 (en) * 2008-12-01 2015-08-04 Google Inc. Selecting format for content distribution
KR101029333B1 (ko) * 2008-12-01 2011-04-13 한국전자통신연구원 워터마크 자동처리 시스템 및 방법
US20100146064A1 (en) * 2008-12-08 2010-06-10 Electronics And Telecommunications Research Institute Source apparatus, sink apparatus and method for sharing information thereof
US8959232B2 (en) * 2008-12-30 2015-02-17 At&T Mobility Ii Llc IMS and MMS interworking
US9003512B2 (en) * 2009-01-16 2015-04-07 Cox Communications, Inc. Content protection management system
US8150974B2 (en) * 2009-03-17 2012-04-03 Kindsight, Inc. Character differentiation system generating session fingerprint using events associated with subscriber ID and session ID
WO2011011854A1 (en) * 2009-07-31 2011-02-03 Bce Inc. Controlling media conveyance at a customer receiver
US20110103391A1 (en) 2009-10-30 2011-05-05 Smooth-Stone, Inc. C/O Barry Evans System and method for high-performance, low-power data center interconnect fabric
US8599863B2 (en) 2009-10-30 2013-12-03 Calxeda, Inc. System and method for using a multi-protocol fabric module across a distributed server interconnect fabric
US20130107444A1 (en) 2011-10-28 2013-05-02 Calxeda, Inc. System and method for flexible storage and networking provisioning in large scalable processor installations
US9054990B2 (en) 2009-10-30 2015-06-09 Iii Holdings 2, Llc System and method for data center security enhancements leveraging server SOCs or server fabrics
US9876735B2 (en) 2009-10-30 2018-01-23 Iii Holdings 2, Llc Performance and power optimized computer system architectures and methods leveraging power optimized tree fabric interconnect
US9069929B2 (en) 2011-10-31 2015-06-30 Iii Holdings 2, Llc Arbitrating usage of serial port in node card of scalable and modular servers
US9465771B2 (en) 2009-09-24 2016-10-11 Iii Holdings 2, Llc Server on a chip and node cards comprising one or more of same
US9077654B2 (en) 2009-10-30 2015-07-07 Iii Holdings 2, Llc System and method for data center security enhancements leveraging managed server SOCs
US8381266B2 (en) * 2009-10-27 2013-02-19 Computer Associates Think, Inc. Method and system for machine identification
US9311269B2 (en) 2009-10-30 2016-04-12 Iii Holdings 2, Llc Network proxy for high-performance, low-power data center interconnect fabric
US10877695B2 (en) 2009-10-30 2020-12-29 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US9648102B1 (en) 2012-12-27 2017-05-09 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
KR20110047764A (ko) * 2009-10-30 2011-05-09 삼성전자주식회사 이동 단말을 이용하여 홈 네트워크 시스템을 제어하기 위한 방법 및 장치
US11720290B2 (en) 2009-10-30 2023-08-08 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US9680770B2 (en) 2009-10-30 2017-06-13 Iii Holdings 2, Llc System and method for using a multi-protocol fabric module across a distributed server interconnect fabric
US9066143B2 (en) * 2009-11-25 2015-06-23 At&T Intellectual Property I, L.P. Method and apparatus for distributed display monitoring
US8892598B2 (en) * 2010-06-22 2014-11-18 Cleversafe, Inc. Coordinated retrieval of data from a dispersed storage network
KR101091777B1 (ko) * 2010-07-16 2011-12-08 주식회사 파수닷컴 Drm 환경에서의 악성 코드 실시간 검사 장치 및 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체
JP5729994B2 (ja) * 2010-12-08 2015-06-03 キヤノン株式会社 送信装置、送信システム、送信方法、およびプログラム
US8738754B2 (en) 2011-04-07 2014-05-27 International Business Machines Corporation Systems and methods for managing computing systems utilizing augmented reality
US9529417B2 (en) 2011-04-28 2016-12-27 Facebook, Inc. Performing selected operations using low power-consuming processors on user devices
US8825842B2 (en) * 2011-04-28 2014-09-02 Facebook, Inc. Managing notifications pushed to user devices
MX346489B (es) * 2011-05-12 2017-03-22 Sysorex Usa Manejo de interaccion de red para dispositivos.
US9524378B2 (en) 2011-05-31 2016-12-20 Qualcomm Incorporated Apparatus and method of in-application licensing
US20120311656A1 (en) * 2011-05-31 2012-12-06 Hohlfeld Matthew W Apparatus and method of layered licensing
GB2493129B (en) * 2011-07-11 2018-07-04 Metaswitch Networks Ltd Method and system for managing a sip server
JP2013025647A (ja) * 2011-07-22 2013-02-04 Canon Inc 情報処理装置、情報処理方法、およびプログラム
JP5974432B2 (ja) * 2011-07-28 2016-08-23 ソニー株式会社 情報処理装置、入力端末選択方法、プログラムおよびシステム
US9131013B2 (en) 2011-07-29 2015-09-08 International Business Machines Corporation Tailoring content to be delivered to mobile device based upon features of mobile device
KR101340323B1 (ko) * 2011-10-31 2013-12-11 한국과학기술정보연구원 분산 지향 데이터 접근 시스템 및 그 방법
KR101329243B1 (ko) * 2012-02-23 2013-11-14 한국과학기술정보연구원 분산 데이터 상호 운용을 위한 메시지 전송 시스템 및 그 방법
US10311513B2 (en) 2012-03-14 2019-06-04 Nasdaq Technology Ab Method and system for facilitating access to recorded data
US8898764B2 (en) * 2012-04-19 2014-11-25 Microsoft Corporation Authenticating user through web extension using token based authentication scheme
US9177158B2 (en) * 2012-11-07 2015-11-03 Theplatform, Llc Methods and systems for processing content rights
US9191402B2 (en) * 2013-01-25 2015-11-17 Opendns, Inc. Domain classification based on client request behavior
US9117073B1 (en) * 2013-02-08 2015-08-25 Mantech Advanced Systems International, Inc. Secure, controlled, and autonomous network path generation
WO2014150753A2 (en) * 2013-03-15 2014-09-25 Openpeak Inc. Method and system for restricting the operation of applications to authorized domains
US9450840B2 (en) 2013-07-10 2016-09-20 Cisco Technology, Inc. Domain classification using domain co-occurrence information
WO2016019358A1 (en) * 2014-08-01 2016-02-04 Sony Corporation Content format conversion verification
CN105487984B (zh) * 2014-09-17 2020-04-03 中兴通讯股份有限公司 一种主机系统对虚拟机磁盘数据的动态压缩方法及装置
KR20160091663A (ko) * 2015-01-26 2016-08-03 삼성전자주식회사 멀티 플랫폼 기반의 어플리케이션 실행 방법 및 장치
US9979748B2 (en) 2015-05-27 2018-05-22 Cisco Technology, Inc. Domain classification and routing using lexical and semantic processing
US9552278B1 (en) * 2016-01-04 2017-01-24 International Business Machines Corporation Configurable code fingerprint
US9424012B1 (en) 2016-01-04 2016-08-23 International Business Machines Corporation Programmable code fingerprint
KR102057570B1 (ko) * 2019-09-16 2020-01-23 (주) 모로보기 블록체인 네트워크
CN111343002B (zh) * 2020-02-10 2021-10-15 腾讯科技(深圳)有限公司 服务器扩容部署的方法、装置及服务器
US12032569B2 (en) 2022-09-06 2024-07-09 Bank Of America Corporation System and method for script-based querying and aggregation of endpoint data via a directory access protocol

Family Cites Families (232)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020091850A1 (en) * 1992-10-23 2002-07-11 Cybex Corporation System and method for remote monitoring and operation of personal computers
JP3696181B2 (ja) * 1994-05-24 2005-09-14 株式会社東芝 通信機器及びその通信方法
US5903566A (en) * 1994-06-24 1999-05-11 Metricom, Inc. Method for distributing program code to intelligent nodes in a wireless mesh data communication network
US6044075A (en) * 1994-12-15 2000-03-28 International Business Machines Corporation Apparatus and method for routing a communication in a network
JPH08202568A (ja) 1995-01-30 1996-08-09 Hitachi Ltd 通信管理方式
US5774668A (en) * 1995-06-07 1998-06-30 Microsoft Corporation System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing
JPH09149435A (ja) * 1995-11-21 1997-06-06 Oki Electric Ind Co Ltd 加入者回路
US5708812A (en) * 1996-01-18 1998-01-13 Microsoft Corporation Method and apparatus for Migrating from a source domain network controller to a target domain network controller
US5862348A (en) * 1996-02-09 1999-01-19 Citrix Systems, Inc. Method and apparatus for connecting a client node to a server node based on load levels
US5991876A (en) * 1996-04-01 1999-11-23 Copyright Clearance Center, Inc. Electronic rights management and authorization system
US5778197A (en) * 1996-04-26 1998-07-07 International Business Machines Corp. Method for allocating system resources in a hierarchical bus structure
GB2313524A (en) * 1996-05-24 1997-11-26 Ibm Providing communications links in a computer network
US6006332A (en) * 1996-10-21 1999-12-21 Case Western Reserve University Rights management system for digital media
EP0947085B1 (en) 1996-11-29 2004-09-15 Nortel Networks Limited Universal compatibility software system for services in communications and information processing networks
US6460058B2 (en) * 1996-12-06 2002-10-01 Microsoft Corporation Object-oriented framework for hyperlink navigation
US6516416B2 (en) * 1997-06-11 2003-02-04 Prism Resources Subscription access system for use with an untrusted network
US6434620B1 (en) * 1998-08-27 2002-08-13 Alacritech, Inc. TCP/IP offload network interface device
US7076568B2 (en) * 1997-10-14 2006-07-11 Alacritech, Inc. Data communication apparatus for computer intelligent network interface card which transfers data between a network and a storage device according designated uniform datagram protocol socket
US6807581B1 (en) * 2000-09-29 2004-10-19 Alacritech, Inc. Intelligent network storage interface system
US7185113B1 (en) 1997-12-31 2007-02-27 Mci Communications Corporation System and method for establishing a virtual circuit in an ATM network
US6519656B2 (en) * 1998-03-17 2003-02-11 Matsushita Electric Industrial Co., Ltd. Method for data transmission with a list of auxiliary information by appending a corresponding ID codes with respective auxiliary information
DE69933637T2 (de) * 1998-04-22 2007-08-23 Koninklijke Philips Electronics N.V. Funktionalitätsverwaltung für ein system der unterhaltungselektronik
US6167405A (en) * 1998-04-27 2000-12-26 Bull Hn Information Systems Inc. Method and apparatus for automatically populating a data warehouse system
EP1084576B1 (en) * 1998-05-07 2005-07-27 Samsung Electronics Co., Ltd. Method and apparatus for universally accessible command and control information in a network
US6580721B1 (en) * 1998-08-11 2003-06-17 Nortel Networks Limited Routing and rate control in a universal transfer mode network
US6226618B1 (en) * 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
US6230281B1 (en) * 1998-08-26 2001-05-08 Lucent Technologies, Inc. Geographic redundancy protection method and apparatus for a communications network
US6363416B1 (en) * 1998-08-28 2002-03-26 3Com Corporation System and method for automatic election of a representative node within a communications network with built-in redundancy
US7664883B2 (en) 1998-08-28 2010-02-16 Alacritech, Inc. Network interface device that fast-path processes solicited session layer read commands
US6816934B2 (en) * 2000-12-22 2004-11-09 Hewlett-Packard Development Company, L.P. Computer system with registered peripheral component interconnect device for processing extended commands and attributes according to a registered peripheral component interconnect protocol
EP0993163A1 (en) * 1998-10-05 2000-04-12 Backweb Technologies Ltd. Distributed client-based data caching system and method
WO2000044119A1 (en) * 1999-01-26 2000-07-27 Infolio, Inc. Universal mobile id system and method for digital rights management
US7184988B1 (en) 1999-01-28 2007-02-27 Certco, Inc. Methods for operating infrastructure and applications for cryptographically-supported services
JP2000276424A (ja) * 1999-03-23 2000-10-06 Toshiba Corp 伝送データ変換装置及びプログラムを記憶したコンピュータ読み取り可能な記憶媒体
US6640278B1 (en) * 1999-03-25 2003-10-28 Dell Products L.P. Method for configuration and management of storage resources in a storage network
JP3471654B2 (ja) 1999-04-06 2003-12-02 富士通株式会社 ライセンスサーバ、著作権者システム、利用者システム、システム、記録媒体およびコンテンツ利用制御方法
US7116310B1 (en) * 1999-04-06 2006-10-03 Microsoft Corporation Application programming interface that maps input device controls to software actions
US6553423B1 (en) * 1999-05-27 2003-04-22 Cisco Technology, Inc. Method and apparatus for dynamic exchange of capabilities between adjacent/neighboring networks nodes
US6549937B1 (en) * 1999-07-21 2003-04-15 Microsoft Corporation System and method for multi-protocol communication in a computer network
CN1296846C (zh) 1999-08-27 2007-01-24 索尼公司 信息发送系统、发送装置和发送方法与信息接收系统、接收装置和接收方法
US6744775B1 (en) * 1999-09-27 2004-06-01 Nortel Networks Limited State information and routing table updates in large scale data networks
US6484221B1 (en) * 1999-10-01 2002-11-19 Storz Endoskop Gmbh Bus extension for multiple masters
JP2001117809A (ja) 1999-10-14 2001-04-27 Fujitsu Ltd メディア変換方法及び記憶媒体
US7054892B1 (en) 1999-12-23 2006-05-30 Emc Corporation Method and apparatus for managing information related to storage activities of data storage systems
TW454127B (en) * 2000-01-06 2001-09-11 Global On Line Corp Mailing method and apparatus of electronic mail (e-mail)
US7177841B2 (en) 2000-01-28 2007-02-13 Canon Kabushiki Kaisha Digital contents distribution system, digital contents distribution method, roaming server, information processor, and information processing method
JP4156770B2 (ja) 2000-03-30 2008-09-24 株式会社東芝 通信装置およびその通信方法
US6993587B1 (en) * 2000-04-07 2006-01-31 Network Appliance Inc. Method and apparatus for election of group leaders in a distributed network
US6799220B1 (en) * 2000-04-13 2004-09-28 Intel Corporation Tunneling management messages over a channel architecture network
US7062541B1 (en) * 2000-04-27 2006-06-13 International Business Machines Corporation System and method for transferring related data objects in a distributed data storage environment
US20030041138A1 (en) * 2000-05-02 2003-02-27 Sun Microsystems, Inc. Cluster membership monitor
US7020781B1 (en) 2000-05-03 2006-03-28 Hewlett-Packard Development Company, L.P. Digital content distribution systems
EP1287474B1 (en) 2000-06-05 2016-02-03 Sealedmedia Limited Digital rights management
US6895589B2 (en) * 2000-06-12 2005-05-17 Microsoft Corporation Manager component for managing input from existing serial devices and added serial and non-serial devices in a similar manner
AU2001271704A1 (en) 2000-06-29 2002-01-14 Cachestream Corporation Digital rights management
JP2002033724A (ja) 2000-07-18 2002-01-31 Nippon Telegraph & Telephone East Corp コンテンツ配信システム
US6665521B1 (en) * 2000-08-17 2003-12-16 Motorola, Inc. Method and apparatus for cooperative diversity
US7743259B2 (en) * 2000-08-28 2010-06-22 Contentguard Holdings, Inc. System and method for digital rights management using a standard rendering engine
JP2002099451A (ja) * 2000-09-26 2002-04-05 Kawaju Techno Service Corp データ連携システム及びデータ連携方法
JP2002152301A (ja) 2000-11-10 2002-05-24 Sony Corp データ通信システム、データ受信装置、データ通信方法、並びにプログラム記憶媒体
GB2371636A (en) 2000-12-21 2002-07-31 Nokia Oyj Content Distribution System
US7242324B2 (en) * 2000-12-22 2007-07-10 Sony Corporation Distributed on-demand media transcoding system and method
AU2002234258A1 (en) * 2001-01-22 2002-07-30 Sun Microsystems, Inc. Peer-to-peer network computing platform
US7200575B2 (en) * 2001-02-27 2007-04-03 Hewlett-Packard Development Company, L.P. Managing access to digital content
US6954436B1 (en) * 2001-02-28 2005-10-11 Extreme Networks, Inc. Method and apparatus for selecting redundant routers using tracking
US20020129159A1 (en) 2001-03-09 2002-09-12 Michael Luby Multi-output packet server with independent streams
US20020144108A1 (en) * 2001-03-29 2002-10-03 International Business Machines Corporation Method and system for public-key-based secure authentication to distributed legacy applications
US8185938B2 (en) * 2001-03-29 2012-05-22 International Business Machines Corporation Method and system for network single-sign-on using a public key certificate and an associated attribute certificate
US20020157002A1 (en) 2001-04-18 2002-10-24 Messerges Thomas S. System and method for secure and convenient management of digital electronic content
EP1479016A2 (en) * 2001-05-29 2004-11-24 Matsushita Electric Industrial Co., Ltd. Rights management unit
US8275709B2 (en) * 2001-05-31 2012-09-25 Contentguard Holdings, Inc. Digital rights management of content when content is a future live event
WO2002101490A2 (en) * 2001-06-07 2002-12-19 Contentguard Holdings, Inc. Cryptographic trust zones in digital rights management
US7016963B1 (en) * 2001-06-29 2006-03-21 Glow Designs, Llc Content management and transformation system for digital content
US7367020B2 (en) * 2001-07-27 2008-04-29 Raytheon Company Executable radio software system and method
US6678791B1 (en) * 2001-08-04 2004-01-13 Sun Microsystems, Inc. System and method for session-aware caching
US7266616B1 (en) 2001-08-08 2007-09-04 Pasternak Solutions Llc Method and system for digital rendering over a network
US7032003B1 (en) * 2001-08-13 2006-04-18 Union Gold Holdings, Ltd. Hybrid replication scheme with data and actions for wireless devices
US6807542B2 (en) * 2001-08-14 2004-10-19 International Business Machines Corporation Method and apparatus for selective and quantitative rights management
US20030046586A1 (en) * 2001-09-05 2003-03-06 Satyam Bheemarasetti Secure remote access to data between peers
WO2003034313A2 (en) 2001-10-18 2003-04-24 Macrovision Corporation Systems and methods for providing digital rights management compatibility
US20030079133A1 (en) 2001-10-18 2003-04-24 International Business Machines Corporation Method and system for digital rights management in content distribution application
US7281128B2 (en) * 2001-10-22 2007-10-09 Extended Systems, Inc. One pass security
US7975016B2 (en) * 2001-10-29 2011-07-05 Oracle America, Inc. Method to manage high availability equipments
CA2361861A1 (en) 2001-11-13 2003-05-13 Ibm Canada Limited-Ibm Canada Limitee Wireless messaging services using publish/subscribe systems
JP3633546B2 (ja) 2001-11-19 2005-03-30 日本電気株式会社 シグナリング中継システムおよびシグナリング中継方法
US7254614B2 (en) * 2001-11-20 2007-08-07 Nokia Corporation Web services push gateway
JP4477822B2 (ja) 2001-11-30 2010-06-09 パナソニック株式会社 情報変換装置
JP3777327B2 (ja) 2001-12-03 2006-05-24 日本電信電話株式会社 ストリーミング配信制御方法及び配信サーバ並びにクライアント端末
JP4518719B2 (ja) * 2001-12-10 2010-08-04 ソニー株式会社 データ処理システム、情報処理装置、および方法、並びにコンピュータ・プログラム
US20030126086A1 (en) 2001-12-31 2003-07-03 General Instrument Corporation Methods and apparatus for digital rights management
JP4040886B2 (ja) 2002-02-15 2008-01-30 三菱電機株式会社 コンテンツ管理システムおよびコンテンツ管理方法
US7213269B2 (en) 2002-02-21 2007-05-01 Adobe Systems Incorporated Application rights enabling
FR2836608A1 (fr) * 2002-02-25 2003-08-29 Thomson Licensing Sa Dispositif de traitement et procede de transmission de donnees chiffrees pour un premier domaine dans un reseau appartenant a un second domaine
US7805371B2 (en) * 2002-03-14 2010-09-28 Contentguard Holdings, Inc. Rights expression profile system and method
JP4625695B2 (ja) 2002-05-22 2011-02-02 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ デジタル著作権の管理方法およびシステム
US20030221014A1 (en) * 2002-05-24 2003-11-27 David Kosiba Method for guaranteed delivery of multimedia content based on terminal capabilities
JP4382659B2 (ja) * 2002-06-13 2009-12-16 ヴォウダフォン・グループ・ピーエルシー ネットワークセキュリティ
JP2004023327A (ja) 2002-06-14 2004-01-22 Matsushita Electric Ind Co Ltd ネットワーク装置
US20070208574A1 (en) 2002-06-27 2007-09-06 Zhiyu Zheng System and method for managing master data information in an enterprise system
US7891007B2 (en) * 2002-06-28 2011-02-15 Microsoft Corporation Systems and methods for issuing usage licenses for digital content and services
US7353402B2 (en) * 2002-06-28 2008-04-01 Microsoft Corporation Obtaining a signed rights label (SRL) for digital content and obtaining a digital license corresponding to the content based on the SRL in a digital rights management system
CN1212716C (zh) 2002-07-16 2005-07-27 北京创原天地科技有限公司 因特网上不同应用系统间用户认证信息共享的方法
JP4445229B2 (ja) 2002-08-28 2010-04-07 パナソニック株式会社 コンテンツ複製管理装置、コンテンツ複製管理方法、コンテンツ再生装置、コンテンツ再生方法、コンテンツ複製管理システム、及びプログラム
JP4414172B2 (ja) 2002-08-28 2010-02-10 パナソニック株式会社 コンテンツ複製管理システム及びネットワーク機器
JP4027189B2 (ja) * 2002-09-05 2007-12-26 キヤノン株式会社 情報処理システム、情報処理装置、情報処理方法、プログラム及び記憶媒体
US20050144468A1 (en) * 2003-01-13 2005-06-30 Northcutt J. D. Method and apparatus for content protection in a personal digital network environment
US20040064620A1 (en) * 2002-09-30 2004-04-01 Kaushik Shivnandan D. Device representation apparatus and methods
KR100502580B1 (ko) 2002-10-21 2005-07-22 한국전자통신연구원 보안성이 향상된 디지털 컨텐츠 유통 방법
JP2004171544A (ja) 2002-10-31 2004-06-17 Oki Electric Ind Co Ltd 時刻制限付コンテンツ閲覧システム
US7266838B2 (en) * 2002-10-31 2007-09-04 Hewlett-Packard Development Company, L.P. Secure resource
US7733860B2 (en) * 2002-11-01 2010-06-08 Alcatel-Lucent Canada Inc. Method for advertising reachable address information in a network
US20040088541A1 (en) * 2002-11-01 2004-05-06 Thomas Messerges Digital-rights management system
GB2396034B (en) * 2002-11-18 2006-03-08 Advanced Risc Mach Ltd Technique for accessing memory in a data processing apparatus
US7899187B2 (en) * 2002-11-27 2011-03-01 Motorola Mobility, Inc. Domain-based digital-rights management system with easy and secure device enrollment
US8343235B2 (en) * 2002-12-11 2013-01-01 Broadcom Corporation Theft prevention of media peripherals in a media exchange network
US7139279B2 (en) * 2002-12-12 2006-11-21 Dilithium Networks Pty Ltd. Methods and system for fast session establishment between equipment using H.324 and related telecommunications protocols
EP2290973A3 (en) 2002-12-17 2012-06-20 Sony Pictures Entertaining Inc. Method and apparatus for access control in an overlapping multiserver network environment
US20040128345A1 (en) * 2002-12-27 2004-07-01 Robinson Scott H. Dynamic service registry
US7219154B2 (en) 2002-12-31 2007-05-15 International Business Machines Corporation Method and system for consolidated sign-off in a heterogeneous federated environment
US7327701B2 (en) * 2003-01-22 2008-02-05 Ricoh Company, Ltd. System, computer program product and method for accessing a local network of electronic devices
KR100513297B1 (ko) * 2003-01-24 2005-09-09 삼성전자주식회사 인트라넷에서의 멀티미디어 컨텐츠 관리 시스템 및 방법
US20040158731A1 (en) * 2003-02-11 2004-08-12 Microsoft Corporation Publishing digital content within a defined universe such as an organization in accordance with a digital rights management (DRM) system
US7577999B2 (en) 2003-02-11 2009-08-18 Microsoft Corporation Publishing digital content within a defined universe such as an organization in accordance with a digital rights management (DRM) system
US7827156B2 (en) * 2003-02-26 2010-11-02 Microsoft Corporation Issuing a digital rights management (DRM) license for content based on cross-forest directory information
US7543140B2 (en) * 2003-02-26 2009-06-02 Microsoft Corporation Revocation of a certificate and exclusion of other principals in a digital rights management (DRM) system based on a revocation list from a delegated revocation authority
US7318236B2 (en) * 2003-02-27 2008-01-08 Microsoft Corporation Tying a digital license to a user and tying the user to multiple computing devices in a digital rights management (DRM) system
ATE362294T1 (de) 2003-03-28 2007-06-15 Alcatel Lucent Kommunikationsverfahren für ein drahtloses netz
US7845014B2 (en) 2003-03-28 2010-11-30 Sony Corporation Method and apparatus for implementing digital rights management
JP2004302817A (ja) 2003-03-31 2004-10-28 Matsushita Electric Ind Co Ltd ライセンス管理システム
US20040199649A1 (en) * 2003-03-31 2004-10-07 Teemu Tarnanen System and method to provide interoperability between session initiation protocol and other messaging services
US20040230982A1 (en) * 2003-05-12 2004-11-18 Wookey Michael J. Assembly of business process using intellectual capital processing
AU2003230086A1 (en) 2003-05-15 2004-12-03 Nokia Corporation Transferring content between digital rights management systems
US20040242216A1 (en) * 2003-06-02 2004-12-02 Nokia Corporation Systems and methods for transferring data between mobile stations
US7194235B2 (en) * 2003-06-03 2007-03-20 Nokia Corporation System, method, and apparatus for facilitating media content channels
US9553879B2 (en) * 2003-06-06 2017-01-24 Core Wireless Licensing S.A.R.L. Method and apparatus to represent and use rights for content/media adaptation/transformation
KR100953160B1 (ko) * 2003-06-26 2010-04-20 삼성전자주식회사 네트워크 장치 및 이를 이용하는 상이한 저작권 관리방식을 갖는 네트워크 장치간의 컨텐츠 호환성 제공 방법
US7549062B2 (en) 2003-06-27 2009-06-16 Microsoft Corporation Organization-based content rights management and systems, structures, and methods therefor
US7421578B1 (en) 2003-07-22 2008-09-02 Cisco Technology, Inc. Method and apparatus for electing a leader node in a computer network
EP1557762A1 (en) * 2003-07-25 2005-07-27 Matsushita Electric Industrial Co., Ltd. Data processing apparatus
JPWO2005010763A1 (ja) * 2003-07-25 2006-09-14 松下電器産業株式会社 データ処理装置及びデータ配信装置
JP4218451B2 (ja) * 2003-08-05 2009-02-04 株式会社日立製作所 ライセンス管理システム、サーバ装置および端末装置
JP4259427B2 (ja) 2003-08-11 2009-04-30 株式会社日立製作所 サービス処理システムおよびその処理方法並びにその処理プログラム
JP3793213B2 (ja) 2003-09-01 2006-07-05 株式会社ソニー・コンピュータエンタテインメント ネットワークゲーム端末、ゲームサーバ、ネットワークゲーム端末で実行される方法及び記録媒体
KR100579234B1 (ko) * 2003-09-09 2006-05-11 현대자동차주식회사 내연기관의 토크 제어 방법
KR100493904B1 (ko) * 2003-09-18 2005-06-10 삼성전자주식회사 다수의 기기를 지원하는 drm 라이센스 방법
JP4246025B2 (ja) 2003-09-24 2009-04-02 エヌ・ティ・ティ・コムウェア株式会社 コミュニケーションシステムおよびコミュニケーションシステムの形成方法
KR100533678B1 (ko) 2003-10-02 2005-12-05 삼성전자주식회사 공개 키 기반 구조의 도메인을 형성하여 UPnP를통하여 구현하는 방법
US20070106892A1 (en) 2003-10-08 2007-05-10 Engberg Stephan J Method and system for establishing a communication using privacy enhancing techniques
JP4217579B2 (ja) 2003-10-14 2009-02-04 日本電信電話株式会社 シームレスデバイス制御方法とそのシステム、ゲートウェイ装置、端末及びドメインコントローラ装置
KR100689469B1 (ko) 2003-10-14 2007-03-08 삼성전자주식회사 이더넷 네트워크에서의 실시간 멀티미디어 데이터 전송 방법
DE602004015823D1 (de) 2003-10-22 2008-09-25 Nxp Bv Verwaltungseinheit für digitale rechte für ein verwaltungssystem für digitale rechte
EP1667046A1 (en) 2003-10-22 2006-06-07 Samsung Electronics Co., Ltd. Method for managing digital rights using portable storage device
KR100567827B1 (ko) * 2003-10-22 2006-04-05 삼성전자주식회사 휴대용 저장 장치를 사용하여 디지털 저작권을 관리하는방법 및 장치
DE10350083A1 (de) 2003-10-27 2005-06-23 Siemens Ag Verfahren zum Übertragen von verschlüsselten Nutzdatenobjekten
US20050102513A1 (en) * 2003-11-10 2005-05-12 Nokia Corporation Enforcing authorized domains with domain membership vouchers
KR20060121920A (ko) * 2003-11-11 2006-11-29 마쯔시다덴기산교 가부시키가이샤 정보 이용 가부 판정 방법 및 그 방법을 이용한 콘텐츠분배 시스템
US7721111B2 (en) 2003-12-14 2010-05-18 Realnetworks, Inc. Auto-negotiation of content output formats using a secure component model
JP4479231B2 (ja) 2003-12-16 2010-06-09 沖電気工業株式会社 通信端末装置、アドホックネットワーク及び認証管理方法
KR100556755B1 (ko) 2004-01-28 2006-03-10 엘지전자 주식회사 유피엔피(UPnP) 미디어 서버로의 변경 장치 및 방법
US20050198150A1 (en) * 2004-01-29 2005-09-08 Werner Carl E. Instant message mass update generated from website entry
US7546641B2 (en) 2004-02-13 2009-06-09 Microsoft Corporation Conditional access to digital rights management conversion
US8843413B2 (en) 2004-02-13 2014-09-23 Microsoft Corporation Binding content to a domain
US7403744B2 (en) * 2004-03-11 2008-07-22 Symbol Technologies, Inc. Self-associating wireless personal area network
JP4466148B2 (ja) 2004-03-25 2010-05-26 株式会社日立製作所 ネットワーク転送対応コンテンツ利用管理方法、及びプログラム、コンテンツ転送システム
US7565438B1 (en) 2004-03-30 2009-07-21 Sprint Communications Company L.P. Digital rights management integrated service solution
US7571488B2 (en) 2004-03-31 2009-08-04 Panasonic Corporation Rights management terminal, server apparatus and usage information collection system
CN1943223A (zh) 2004-04-16 2007-04-04 皇家飞利浦电子股份有限公司 授权域中的分布式管理
KR101134638B1 (ko) * 2004-04-20 2012-04-09 삼성전자주식회사 홈 네트워크 하에서의 drm 시스템을 구성하기 위한방법 및 장치
US7484058B2 (en) 2004-04-28 2009-01-27 Emc Corporation Reactive deadlock management in storage area networks
KR100585840B1 (ko) * 2004-04-28 2006-06-01 에스케이 텔레콤주식회사 Drm 컨텐츠 서비스 사용자 인증 방법
US7477749B2 (en) 2004-05-12 2009-01-13 Nokia Corporation Integrity protection of streamed content
US20050268343A1 (en) * 2004-05-14 2005-12-01 Onoda Sen Ichi Application management device and its method
KR100818992B1 (ko) * 2004-05-31 2008-04-03 삼성전자주식회사 디바이스와 휴대형 저장장치간에 디지털 권리객체의형식을 변환하여 주고받는 장치 및 방법
US20060010245A1 (en) 2004-06-01 2006-01-12 Telestream, Inc. Internet protocol for the delivery of complex digital media content
US7761863B2 (en) 2004-06-08 2010-07-20 Covia Labs, Inc. Method system and data structure for content renditioning adaptation and interoperability segmentation model
JP2005351994A (ja) * 2004-06-08 2005-12-22 Sony Corp コンテンツ配信サーバ,コンテンツ配信方法,プログラム
US20050276572A1 (en) 2004-06-14 2005-12-15 Rok Productions Limited Providing audio-visual content
US7624072B2 (en) 2004-06-15 2009-11-24 Lipsky Scott E Method and system for securely distributing content
EP1619898A1 (en) 2004-07-19 2006-01-25 Sony Deutschland GmbH Method for operating in a home network
US7317918B2 (en) * 2004-07-19 2008-01-08 Motorola, Inc. Method for domain name service (DNS) in a wireless ad hoc network
KR100636169B1 (ko) * 2004-07-29 2006-10-18 삼성전자주식회사 서로 다른 drm이 적용된 콘텐츠의 전송 및 재생 방법
KR100677344B1 (ko) * 2004-07-29 2007-02-02 엘지전자 주식회사 권리객체 처리를 위한 메시지 및 이를 이용한 권리객체 처리 방법 및 시스템
WO2006011768A1 (en) 2004-07-29 2006-02-02 Samsung Electronics Co., Ltd. Method of transmitting and reproducing content processed by various drm systems
US20060047775A1 (en) * 2004-08-27 2006-03-02 Timo Bruck Method and apparatus for downloading content
US7512973B1 (en) * 2004-09-08 2009-03-31 Sprint Spectrum L.P. Wireless-access-provider intermediation to facilliate digital rights management for third party hosted content
KR20070055590A (ko) 2004-09-13 2007-05-30 코닌클리케 필립스 일렉트로닉스 엔.브이. 분산된 저장 시스템을 관리하는 방법
CN1997953B (zh) 2004-09-23 2011-11-16 诺基亚公司 用于保护移动应用中数字内容的方法和设备
US20060190403A1 (en) 2004-09-25 2006-08-24 Vix Technologies Inc. Method and Apparatus for Content Protection and Copyright Management in Digital Video Distribution
KR100694064B1 (ko) 2004-10-08 2007-03-12 삼성전자주식회사 Drm 변환 방법 및 장치
KR100601706B1 (ko) * 2004-10-15 2006-07-18 삼성전자주식회사 Drm 시스템에 있어서 시스템 키를 공유하고 생성하는방법 및 장치
EP1817687B1 (en) 2004-10-20 2016-08-31 Inka Entworks, Inc Apparatus and method for supporting content exchange between different drm domains
KR100628655B1 (ko) * 2004-10-20 2006-09-26 한국전자통신연구원 상이한 디지털 저작권 관리 도메인간의 콘텐츠 교환을 위한방법 및 시스템
US7657018B2 (en) * 2004-10-22 2010-02-02 Smith David M Method and system for combining a conversion between time-division multiplexed digital signals and packetized digital signals with a switching system interface
US7461130B1 (en) 2004-11-24 2008-12-02 Sun Microsystems, Inc. Method and apparatus for self-organizing node groups on a network
KR100667333B1 (ko) * 2004-12-16 2007-01-12 삼성전자주식회사 홈 네트워크에서 디바이스 및 사용자 인증 시스템 및 방법
FI20041634A0 (fi) 2004-12-20 2004-12-20 Nokia Corp Tarjontaistunnon muodostaminen kommunikaatiojärjestelmässä
US20060143133A1 (en) * 2004-12-23 2006-06-29 Alexander Medvinsky Flexible pricing model for persistent content
US7500269B2 (en) 2005-01-07 2009-03-03 Cisco Technology, Inc. Remote access to local content using transcryption of digital rights management schemes
JP4239987B2 (ja) 2005-02-24 2009-03-18 ブラザー工業株式会社 ネットワークシステム、デバイス、およびプログラム
US7818350B2 (en) * 2005-02-28 2010-10-19 Yahoo! Inc. System and method for creating a collaborative playlist
JP4563450B2 (ja) 2005-02-28 2010-10-13 三菱電機株式会社 コンテンツ配信システム
CN1832440A (zh) * 2005-03-10 2006-09-13 朗迅科技公司 使用既有设备的ims网络接入
US7624290B2 (en) 2005-03-22 2009-11-24 Sony Corporation Power-save control for network master device
JP4856169B2 (ja) 2005-04-08 2012-01-18 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュート ユーザ及びデバイス基盤のドメインシステムを示すドメインコンテキスト及びその管理方法
KR100708162B1 (ko) * 2005-04-25 2007-04-16 삼성전자주식회사 도메인 관리 방법 및 그를 위한 장치
US20060282391A1 (en) * 2005-06-08 2006-12-14 General Instrument Corporation Method and apparatus for transferring protected content between digital rights management systems
US7747763B2 (en) 2005-07-26 2010-06-29 Novell, Inc. System and method for ensuring a device uses the correct instance of a network service
EP1929685A4 (en) 2005-09-29 2011-12-21 Contentguard Holdings Inc DIGITAL RIGHTS MANAGEMENT SYSTEM AND METHOD USING ADVANCED COPY HAVING TRANSMIT RIGHTS AND MANAGED COPY CUTTERS
US7496695B2 (en) 2005-09-29 2009-02-24 P.A. Semi, Inc. Unified DMA
JP5172681B2 (ja) 2005-09-30 2013-03-27 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 改善されたdrmシステム
US8117342B2 (en) * 2005-10-04 2012-02-14 Microsoft Corporation Media exchange protocol supporting format conversion of media items
US20070083610A1 (en) 2005-10-07 2007-04-12 Treder Terry N Method and a system for accessing a plurality of files comprising an application program
EA200901153A1 (ru) 2005-10-18 2010-04-30 Интертраст Текнолоджиз Корпорейшн Системы и способы на основе механизма управления цифровыми правами
US7720767B2 (en) * 2005-10-24 2010-05-18 Contentguard Holdings, Inc. Method and system to support dynamic rights and resources sharing
US7660587B2 (en) 2005-10-26 2010-02-09 Nokia Corporation Communications from hypertext documents
KR100924777B1 (ko) 2006-01-03 2009-11-03 삼성전자주식회사 라이센스를 생성하는 방법 및 장치
KR100788692B1 (ko) 2006-01-03 2007-12-26 삼성전자주식회사 콘텐트의 보호를 위한 도메인 정보 및 도메인 관련데이터를 획득하는 방법 및 장치
US20070174429A1 (en) 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
US20070220302A1 (en) 2006-02-28 2007-09-20 Cline Brian G Session failover management in a high-availability server cluster environment
US7555464B2 (en) 2006-03-01 2009-06-30 Sony Corporation Multiple DRM management
FR2898230A1 (fr) 2006-03-03 2007-09-07 France Telecom Procede d'organisation de noeuds d'un reseau en groupements de noeuds, programme d'ordinateur pour la mise en oeuvre d'un tel procede, et dispositif de communication formant noeud d'un reseau de noeuds
US20090133129A1 (en) 2006-03-06 2009-05-21 Lg Electronics Inc. Data transferring method
KR101215343B1 (ko) * 2006-03-29 2012-12-26 삼성전자주식회사 지역 도메인 관리 모듈을 가진 장치를 이용하여 도메인을 지역적으로 관리하는 장치 및 방법
US20070255659A1 (en) 2006-05-01 2007-11-01 Wei Yen System and method for DRM translation
US20070269044A1 (en) 2006-05-16 2007-11-22 Bruestle Michael A Digital library system with rights-managed access
JP2007312328A (ja) * 2006-05-22 2007-11-29 Sharp Corp 著作権管理システム変換装置、通信システム、プログラムおよび記録媒体
CN101535537B (zh) * 2006-11-10 2011-01-26 欧瑞康纺织有限及两合公司 用于熔融纺制和冷却合成单丝的方法及装置
US7921189B2 (en) 2006-11-20 2011-04-05 Microsoft Corporation Single virtual client for multiple client access and equivalency
US7898937B2 (en) 2006-12-06 2011-03-01 Cisco Technology, Inc. Voting to establish a new network master device after a network failover
US8526325B2 (en) * 2007-01-31 2013-09-03 Hewlett-Packard Development Company, L.P. Detecting and identifying connectivity in a network
US7873821B2 (en) * 2007-04-11 2011-01-18 American Megatrends, Inc. BIOS configuration and management
US7756975B1 (en) 2007-12-05 2010-07-13 Symantec Corporation Methods and systems for automatically discovering information about a domain of a computing device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019221501A1 (ko) * 2018-05-17 2019-11-21 주식회사 엔터플 디지털 콘텐트 전달 추적 방법 및 장치
KR20190131683A (ko) * 2018-05-17 2019-11-27 주식회사 엔터플 디지털 콘텐트 전달 추적 방법 및 장치
US11816091B2 (en) 2018-05-17 2023-11-14 N-Tuple. Co. Ltd. Method and apparatus for tracking digital content transfer

Also Published As

Publication number Publication date
US20090248848A1 (en) 2009-10-01
EP1997028A1 (en) 2008-12-03
WO2007102697A1 (en) 2007-09-13
US20100268805A1 (en) 2010-10-21
KR101004197B1 (ko) 2010-12-24
KR101038124B1 (ko) 2011-05-31
KR20080094665A (ko) 2008-10-23
EP1997031A4 (en) 2015-01-14
JP2009529180A (ja) 2009-08-13
WO2007102698A1 (en) 2007-09-13
US20090144384A1 (en) 2009-06-04
US8291057B2 (en) 2012-10-16
WO2007102699A1 (en) 2007-09-13
US8180936B2 (en) 2012-05-15
KR100960784B1 (ko) 2010-06-01
US8082350B2 (en) 2011-12-20
MX2008009419A (es) 2008-10-17
US8301785B2 (en) 2012-10-30
US20090222893A1 (en) 2009-09-03
JP5001307B2 (ja) 2012-08-15
KR20080095849A (ko) 2008-10-29
WO2007102696A1 (en) 2007-09-13
KR101004218B1 (ko) 2010-12-27
US8997182B2 (en) 2015-03-31
EP1997029A1 (en) 2008-12-03
US20090228988A1 (en) 2009-09-10
EP1997027A1 (en) 2008-12-03
US8676878B2 (en) 2014-03-18
EP1997032A4 (en) 2015-01-21
US8667108B2 (en) 2014-03-04
KR20080095851A (ko) 2008-10-29
JP2009529179A (ja) 2009-08-13
JP2009529175A (ja) 2009-08-13
KR20080097179A (ko) 2008-11-04
US20090177770A1 (en) 2009-07-09
EP1997028A4 (en) 2015-01-07
KR101038135B1 (ko) 2011-06-01
KR20080095848A (ko) 2008-10-29
JP2009529178A (ja) 2009-08-13
WO2007102695A1 (en) 2007-09-13
JP2009529284A (ja) 2009-08-13
WO2007102694A1 (en) 2007-09-13
JP2009529176A (ja) 2009-08-13
EP1997027A4 (en) 2015-01-07
EP1997030A4 (en) 2015-01-21
EP1997029B1 (en) 2016-01-13
US8667107B2 (en) 2014-03-04
EP1997029A4 (en) 2013-10-09
KR101038153B1 (ko) 2011-05-31
KR20080095850A (ko) 2008-10-29
JP2009529177A (ja) 2009-08-13
US20090144407A1 (en) 2009-06-04
JP4787334B2 (ja) 2011-10-05
KR101038173B1 (ko) 2011-06-01
US20090307387A1 (en) 2009-12-10
US20090313502A1 (en) 2009-12-17
EP1997030A1 (en) 2008-12-03
US20090133129A1 (en) 2009-05-21
EP1997031A1 (en) 2008-12-03
JP4891351B2 (ja) 2012-03-07
JP5065305B2 (ja) 2012-10-31
EP1997032A1 (en) 2008-12-03

Similar Documents

Publication Publication Date Title
KR101038124B1 (ko) 데이터 전송 제어 방법, 콘텐트 전송 제어 방법, 콘텐트처리 정보 획득 방법 및 콘텐트 전송 시스템
CA2636002C (en) Data transfer controlling method, content transfer controlling method, content processing information acquisition method and content transfer system
US8429300B2 (en) Data transferring method
BRPI0707350A2 (pt) método para controle de transferência de dados, método para controle de transferência de conteúdo, método para aquisição de informação de processamento de conteúdo e sistemas de transferência de conteúdo

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140424

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150424

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160422

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170414

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee