KR20080050371A - UPnP 미디어서버들의 CDS 오브젝트들을 동기화하는방법 및 장치 - Google Patents
UPnP 미디어서버들의 CDS 오브젝트들을 동기화하는방법 및 장치 Download PDFInfo
- Publication number
- KR20080050371A KR20080050371A KR1020080045109A KR20080045109A KR20080050371A KR 20080050371 A KR20080050371 A KR 20080050371A KR 1020080045109 A KR1020080045109 A KR 1020080045109A KR 20080045109 A KR20080045109 A KR 20080045109A KR 20080050371 A KR20080050371 A KR 20080050371A
- Authority
- KR
- South Korea
- Prior art keywords
- synchronization
- information
- objects
- policy information
- relationship information
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/04—Speed or phase control by synchronisation signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
- H04L12/2807—Exchanging configuration information on appliance services in a home automation network
- H04L12/2812—Exchanging configuration information on appliance services in a home automation network describing content present in a home automation network, e.g. audio video content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Automation & Control Theory (AREA)
- Multimedia (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
본 발명은 UPnP 미디어 서버들의 CDS 오브젝트들을 동기화하는 방법에 관한 것으로, 본 발명에 따르면 UPnP 미디어 서버가 동기화 대상 오브젝트들에 관한 정보 및 동기화 정책에 관한 정보를 직접 보관하므로, 동기화의 수행에 컨트롤 포인트의 개입이 최소화되어 동기화의 속도가 빨라진다.
Description
본 발명은 UPnP 네트워크에 관한 것으로, 더욱 상세하게는 UPnP 미디어 서버들의 CDS 오브젝트들을 동기화하는 방법에 관한 것이다.
UPnP(Universal Plug and Play)는 네트워크에 연결된 전자제품(Electric Appliance)들을 발견하고 제어할 수 있는 프로토콜의 일종이며, 홈 네트워킹(Home Networking)의 표준 기술로서 그 효용성을 인정받고 있다. UPnP AV(Audio/Video)는 UPnP 기술을 바탕으로 오디오/비디오 등과 같은 멀티미디어 컨텐츠를 네트워크를 통해 이용하기 위한 기술이다.
UPnP AV 아키텍쳐는 미디어 서버(Media Server)와 미디어 렌더러(Media Renderer) 및 이들을 제어하는 컨트롤 포인트(Control Point)로 구성된다. 미디어 서버는 컨텐트 디렉토리 서비스(Content Directory Service)를 통해 멀티미디어 파일을 제공하는 기기이며, 미디어 렌더러는 제공되는 멀티미디어 파일을 재생하는 기기이다. 컨트롤 포인트는 미디어 서버 및 미디어 렌더러가 상호 작용을 통해 동작 할 수 있도록 이들을 제어하는 역할을 한다. 이러한 UPnP AV가 구축되면, 하나 의 홈 네트워크에 복수 개의 미디어 서버들이 존재할 수 있으며, 이러한 미디어 서버들은 서로 다른 컨텐츠(Contents)를 보유할 수 있다. 이러한 환경에서 UPnP AV의 사용자 측면에서는 서로 다른 CDS에 산재해 있는 컨텐츠들을 쉽게 동기화할 수 있는 요구 사항이 발생한다. 예를 들어, 사용자는 자신의 MP3 플레이어에 저장되어 있는 음악 컨텐츠를 집 안의 Hi-Fi 기기를 통해 고음량으로 즐기기 위해 MP3 플레이어를 홈 미디어 센터(Home Media Center)와 동기화하기를 원할 수 있다.
도 1은 UPnP 미디어 서버들의 CDS 오브젝트들을 동기화하는 방법을 간략히 설명하기 위한 블록도이다. 사용자는 컨트롤 포인트(100)를 이용하여 동기화를 수행하기 원하는 디바이스들을 선택하고, 그 디바이스들이 각각 제공하는 컨텐트 디렉토리 서비스들(101, 102)를 제어하여 디바이스들간 리소스를 전송하게 함으로써 동기화를 수행한다.
도 2는 도 1의 방법을 상세히 설명하기 위한 흐름도이다. 여기서는 두 개의 UPnP 디바이스, 미디어 서버들을 가정한다. 또한, 각각의 컨텐트 디렉토리 서비스는 별개의 UPnP 디바이스에 의해 제공되는 것으로 가정하며, 이하 동일하다.
컨트롤 포인트는, 동기화하기 원하는 디바이스들을 선택하고, 단계 201에서 각각의 디바이스들이 제공하는 컨텐트 디렉토리 서비스의 Browse() 액션을 호출하여 컨텐츠의 목록을 획득하고, 단계 202에서는 양 디바이스들의 컨텐츠 목록을 비교하여 어느 디바이스에 어떠한 CDS 오브젝트를 추가, 삭제 또는 변경할지를 결정한다. 여기서, CDS 오브젝트란 browse() 액션 또는 search() 액션을 호출한 결과 컨텐트 디렉토리 서비스가 반환할 수 있는 모든 종류의 데이터 엔티티를 포괄하는 의미이다. 따라서, 오브젝트는 컨텐츠의 메타데이터 및 컨텐츠 자체를 나타내는 리소스 바이너리(resource binary)를 함께 지칭하기 위해 사용될 수 있다. 이하에서는 CDS 오브젝트를 편의상 오브젝트라고 칭하기로 한다.
단계 203 및 단계 204에서, 컨트롤 포인트는 각 디바이스의 컨텐트 디렉토리 서비스가 제공하는 액션들을 이용하여 오브젝트를 삭제하거나 추가한다. 이러한 과정을 더욱 자세히 살펴보면, 컨트롤 포인트는 새로운 오브젝트를 추가해야 할 컨텐트 디렉토리 서비스의 CreateObject() 액션 및 ImportResource() 액션을 호출하여 미디어 서버가 동기화를 수행하도록 제어한다.
한편, 오브젝트를 삭제하는 경우에는 DestroyObject() 액션 및 DeleteResource() 액션을 이용하고, 오브젝트의 메타 데이터를 변경할 경우에는 UpdateObject() 액션을 이용한다.
이와 같이, 종래의 UPnP 기술을 사용하여 동기화를 수행할 경우, 컨트롤 포인트는 동기화가 필요한 오브젝트를 선정하는 작업을 위해 양단의 CDS를 컨텐츠 목록을 모두 알아내야 하고, 또한 각 동기화 작업에 대한 동기화 정책을 관리해야 하므로, 컨텐츠의 양이 많을 경우 컨트롤 포인트의 메모리나 CPU 등에 상당한 부하가 발생하는 문제가 있다.
또한, 동기화가 필요한 오브젝트의 수가 많아지면 그에 따라 컨텐트 디렉토리 서비스의 액션이 반복하여 호출되므로 많은 양의 네트워크 부하(Traffic)가 발생하여 동기화의 속도가 느려지는 문제가 있다.
본 발명은 미디어 서버들이 컨트롤 포인트의 개입 없이 미리 정해진 동기화정책에 따라 오브젝트의 동기화를 수행할 수 있도록 하는 장치 및 방법을 제공하는데 그 목적이 있다.
이러한 목적을 달성하기 위한 본 발명은, UPnP(Universal Plug and Play) 네트워크에서 제1미디어서버가 제2미디어서버와 CDS(Content Directory Service) 오브젝트를 동기화하는 방법에 있어서, 임의의 컨트롤포인트로부터 동기화 대상 오브젝트들에 관한 정보 및 동기화 정책(policy) 정보를 포함하는 동기화 관계 정보를 수신하는 단계; 임의의 컨트롤 포인트로부터 상기 수신된 동기화 관계 정보에 따른 동기화를 수행할 것을 요청받는 단계; 및 상기 요청에 따라 상기 동기화 대상 오브젝트들을 상기 동기화 정책 정보에 따라 동기화하는 단계를 포함하는 것을 특징으로 한다.
상기 동기화를 요청받는 단계는, 상기 제1미디어서버의 CDS가 제공하는 소정의 동기화 액션에 대한 호출 메시지를 수신하는 단계이며, 상기 호출 메시지는 상기 제1미디어서버의 CDS가 관리하는 동기화 관계 정보들 중 상기 동기화 관계 정보를 식별시키는 파라미터를 포함하는 것이 바람직하다.
상기 동기화 정책 정보는, 상기 동기화 대상 오브젝트들 중 하나를 기준으로 하여 동기화를 수행할 것인지 복수의 동기화 대상 오브젝트들을 기준으로 동기화를 수행할 것인지를 나타내는 정보를 포함하는 것이 바람직하다.
또한, 상기 동기화 정책 정보는, 상기 복수의 동기화 대상 오브젝트들을 기준으로 동기화를 수행하는 경우 변경해야 할 부분의 충돌이 생기면 어느 오브젝트가 우선권(precedence)을 가지는지를 나타내는 정보를 더 포함하는 것이 바람직하다.
상기 동기화 정책 정보는, 상기 동기화 관계 정보에 따라 동기화하면 상기 동기화 대상 오브젝트들 중 적어도 하나가 삭제되어야 할 경우라도 삭제하지 않도록 하는 삭제 보호 정보를 포함하는 것이 바람직하다.
상기 동기화 단계는, 상기 동기화 대상 오브젝트들 중 메타 데이터에 상기 동기화 관계 정보와 다른 동기화 정책 정보를 포함하는 오브젝트에 대하여는 상기 메타 데이터에 포함된 동기화 정책 정보를 우선적으로 적용하는 것이 바람직하다.
또한, 본 발명은 상기 동기화 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.
또한, 본 발명은 UPnP 네트워크에서 미디어서버들의 CDS 오브젝트들을 동기화하는 장치에 있어서, 임의의 컨트롤포인트로부터 동기화 대상 오브젝트들에 관한 정보 및 동기화 정책(policy) 정보를 포함하는 동기화 관계 정보를 수신하는 동기화관계정보수신부; 임의의 컨트롤 포인트로부터 상기 수신된 동기화 관계 정보에 따른 동기화를 수행할 것을 요청받는 동기화요청수신부; 및 상기 요청에 따라 상기 동기화 대상 오브젝트들을 상기 동기화 정책 정보에 따라 동기화하는 동기화수행부를 포함하는 것을 특징으로 한다
본 발명에 따르면, UPnP 미디어 서버가 동기화 대상 오브젝트들 및 동기화 정책에 대한 정보를 직접 관리하므로, 컨트롤 포인트의 정보 관리에 대한 부담이 덜어지고, 동기화 수행 과정에서 컨트롤 포인트가 CDS의 액션을 호출하는 빈도가 줄어들게 되므로 동기화 속도가 향상된다.
이하에서 첨부된 도면을 참조하여, 본 발명의 바람직한 실시예를 상세히 설명한다.
도 3은 본 발명에 따른 동기화 방법을 간략히 설명하기 위한 블록도이다.
우선, 컨트롤 포인트는 두 미디어 서버들의 컨텐트 디렉토리 서비스가 관리하는 오브젝트들을 동기화하기 위해 동기화 셋업을 수행하는데, 여기서 동기화 셋업이란 컨트롤 포인트가 두 미디어 서버들에게 동기화 관계 정보(synchronization relationship information)를 제공하는 과정을 말한다. 동기화 관계 정보는 미디어 서버가 다른 미디어 서버와 오브젝트를 동기화하기 위해 필요한 정보이며, 여기에는 동기화에 대한 상대 디바이스(syncronization partner device)에 대한 정보, 동기화 대상인 오브젝트들에 관한 정보, 동기화 정책에 관한 정보 등이 포함된다.
또한, 일반적으로 하나의 컨텐트 디렉토리 서비스는 복수 개의 동기화 관계 정보를 관리할 것이므로, 각 동기화 관계 정보는 동기화 관계 정보 ID를 가지는 것이 바람직하다. 오브젝트들의 메타 데이터에 해당 오브젝트가 속하는 동기화 관계 정보 ID가 포함되도록 하면, 컨트롤 포인트가 동기화 관계 정보 ID만 특정해주어도 컨텐트 디렉토리 서비스가 어떠한 오브젝트들에 대하여 어떠한 방식의 동기화를 수행해야 할지 알 수 있다. 컨텐트 디렉토리 서비스가 관리하는 오브젝트의 메타 데이터는 해당 메타 데이터가 속하는 동기화 관계 정보ID 및 상대 디바이스의 동기화 대상 오브젝트에 관한 정보를 포함하기 때문이다.
동기화 셋업이 완료되었으면, 컨트롤 포인트는 첫번째 미디어 서버의 컨텐트디렉토리 서비스가 제공하는 동기화 액션을 호출하여 동기화를 트리거(trigger)시킨다. 이 때, 동기화 액션을 호출하는 제어 메시지는 첫번째 미디어 서버가 관리하는 동기화 관계 정보들 중 하나를 특정하기 위한 동기화 관계 정보 ID를 아규먼트(argument)로서 포함한다. 동기화 액션이 호출되면, 첫번째 미디어 서버의 컨텐트 디렉토리 서비스는 해당 동기화 관계 정보에 따라 두번째 미디어 서버와 서로 업데이트 정보를 교환한 후, 동기화를 수행하게 된다.
이와 같은 동기화 과정에서, 구체적으로 어떠한 방식으로 동기화를 수행할 것인지를 나타내는 동기화 정책 정보는 이미 동기화 관계 정보에 포함되어 있으므로, 컨트롤 포인트가 일일이 지시할 필요가 없게 된다. 이러한 동기화 정책 정보는 동기화 셋업 과정이 완료된 후라도 사용자가 컨트롤 포인트를 이용하여 변경할 수 있을 것이다.
한편, 동기화 정책 정보는 동기화 관계 정보에 포함될 수도 있으나, 개별적으로 오브젝트들의 메타 데이터에 포함될 수도 있다. 동기화 관계 정보에 포함된 동기화 정책 정보는 동기화 작업 전체에 적용되는 규칙을 나타내며, 오브젝트들의 메타 데이터에 포함된 동기화 정책 정보는 해당 오브젝트에 대하여 예외적으로 적 용된다. 따라서, 동기화 관계 정보에 포함된 동기화 정책 정보와 오브젝트의 메타 데이터에 포함된 동기화 정책 정보가 서로 모순될 경우, 오브젝트의 메타 데이터에 포함된 동기화 정책 정보가 우선적으로 적용된다.
도 4는 본 발명에 따라 미디어 서버가 오브젝트를 다른 미디어 서버의 오브젝트와 동기화하는 과정을 나타낸 순서도이다.
단계 410에서, 미디어 서버는 동기화 셋업을 수행하여 컨트롤 포인트로부터동기화 관계 정보를 수신한다. 이러한 과정은 컨트롤 포인트가 컨텐트 디렉토리 서비스의 소정 액션을 호출하는 과정이다. 전술한 바와 같이, 동기화 관계 정보에는 상대 디바이스에 관한 정보와 동기화 대상 오브젝트에 관한 정보 및 동기화 정책 정보가 포함된다. 도시하지는 않았으나, 오브젝트에 대한 개별적인 동기화 정보도 동기화 셋업 과정에서 미디어 서버에게 전달될 수 있다.
단계 420에서, 미디어 서버는 컨트롤 포인트로부터 동기화 정책 변경 정보를 수신한다. 즉, 사용자는 언제라도 컨트롤 포인트를 이용하여 동기화 정책을 변경할 수 있다.
단계 430에서, 미디어 서버는 동기화 정책 변경 정보를 참조하여 동기화 관계 정보 및/또는 오브젝트 메타 데이터에 새로운 동기화 정책 정보를 삽입한다.
본 실시예에서는 동기화 정책 정보를 변경하는 단계 420 및 단계 430을 포함하여 설명하였으나, 이러한 단계들은 경우에 따라 생략될 수 있을 것이다.
단계 440에서, 미디어 서버는 컨트롤 포인트로부터 컨텐트 디렉토리 서비스의 동기화 액션을 호출하는 제어 메시지를 수신한다. 이 제어 메시지는 특정 동기 화 관계 정보에 대한 동기화 관계 정보 ID를 포함한다.
단계 450에서, 컨텐트 디렉토리 서비스는 제어 메시지에 포함된 동기화 관계정보 ID를 참조하여 해당 동기화 관계 정보를 찾아내고, 찾아낸 동기화 관계 정보에 포함된 동기화 정책에 따라 동기화를 수행한다. 다만, 동기화 대상 오브젝트가 동기화 관계 정보에 포함된 동기화 정책 정보와 다른 동기화 정책 정보를 메타 데이터에 포함하고 있는 경우, 메타 데이터에 포함된 동기화 정책 정보를 우선적으로 적용한다.
도 5는 본 발명에 따른 동기화 정책 정보의 구조를 나타낸 도면이다.
도 5에 도시된 바와 같이, 여기서는 XML 형식으로 동기화 정책 정보의 구조를 표현하였다. 우선, 동기화 정책 정보는 삭제 보호 정보를 포함할 수 있다. 도 5에서, <delProtection> 태그 내에 true 또는 false의 값을 설정함으로써 동기화에 의해 오브젝트가 삭제되는 것을 방지한다.
동기화 대상 오브젝트들 중 어떠한 오브젝트를 동기화의 기준으로 할 것인가에 대하여는 크게 두 가지가 있을 수 있다. 이들은 대체(replace) 방식과 병합(merge) 방식인데, 대체 방식은 어느 한쪽의 오브젝트를 기준으로 하여 동기화를 수행하는 것이고, 병합 방식은 동기화 대상 오브젝트들 모두를 기준으로 하여 동기화를 수행하는 것이다. 즉, 대체 방식에서는 어느 한쪽의 오브젝트에 생긴 변경 사항만을 반영하지만, 병합 방식에서는 동기화 오브젝트들에 생긴 변경 사항을 모두 반영하여 동기화를 수행한다.
이러한 병합 방식에 따라 동기화 오브젝트들에 생긴 변경 사항을 반영할 때, 충돌(conflict)가 생기는 경우가 있다. 예를 들면, 동일한 요소(element)에 대한 변경이 두 오브젝트들에서 모두 발생한 경우이다. 이러한 어느 오브젝트를 기준으로 삼아야 할 것인지 결정해야 하므로, 동기화 방식이 병합 방식인 경우, 동기화 정책 정보는 우선권(precedence) 정보를 포함하는 것이 바람직하다.
도 5에서는 이러한 동기화 방식을 세 가지 방식으로 표현할 수 있음을 도시하고 있다. 설명의 편의상, 도 5에 도시된 동기화 정책 정보를 가진 미디어 서버를 제1디바이스라 하고, 상대 디바이스를 제2디바이스라고 칭하기로 한다.
우선, 첫번째 표현 방법에서는 <type> 태그에 동기화 방식을 명시하고, <role> 태그에 제1디바이스의 역할을 나타내고 있다. 도 5에서는 첫번째 표현 방법에서도 두 가지의 실시예를 도시하고 있는데, 첫번째 실시예에서는 대체 방식으로 동기화를 수행하며, 이 때 제1디바이스는 소스 디바이스로서 동작함을 알 수 있다. 즉, 제2디바이스는 싱크(sink) 디바이스로 동작하게 되므로, 제1디바이스의 오브젝트가 제2디바이스의 오브젝트를 대체한다.
첫번째 표현 방법의 두번째 실시예에서는 병합 방식으로 동기화를 수행함을 알 수 있고, 제1디바이스가 가지는 우선권의 값은 1임을 알 수 있다. 즉, 충돌이 생긴 경우, <precedence>태그의 값을 비교하여 어느 오브젝트의 우선권이 높은지 결정할 수 있다.
다음으로, 두번째 표현 방법을 보면 하나의 라인으로 동기화 방식을 표현하였으며, <role> 태그 내에 동기화 방식을 특정하기 위한 모든 정보가 포함되어 있다. 소스 또는 싱크는 대체 방식에서만 사용되는 용어이므로 이들 중 어느 하나의 정보만 있더라도 동기화 방식 및 제1디바이스의 역할을 모두 알 수 있다. 또한, 태그값이 "precedence_partner"인 경우는 동기화 방식이 병합 방식이고 제1디바이스는 충돌시 우선권을 가진다는 것을 나타내며, 태그값이 "partner"인 경우는 동기화 방식이 병합 방식이고 제2디바이스가 충돌시 우선권을 가진다는 것을 나타낸다.
세 번째 표현 방법에서도 두 가지의 실시예를 보이고 있는데, 도시된 바와 같이, 동기화 방식에 따라 태그의 종류가 결정된다. 동기화 방식이 대체 방식인 경우 태그 값으로는 "source" 또는 "sink"가 사용되며, 병합 방식인 경우 "precedence" 또는 "no_precedence"가 사용된다.
도 6a 내지 도 6b는 본 발명에 따른 동기화 방법의 제1실시예를 설명하기 위한 도면이다.
도 6a에서는 동기화 정책 정보를 나타내었는데, 도시된 바와 같이 동기화 정책 정보에는 삭제 보호 정보가 포함되어 있으며, 대체 방식에 따라 동기화를 수행한다.
도 6b에는 도 6a의 동기화 정책 정보에 따라 소스 디바이스의 A1 오브젝트와 싱크 디바이스의 B1 오브젝트를 동기화하는 방법을 도시하였다. 도 6b에 도시된 바와 같이, 첫번째 동기화에 의해 싱크 디바이스에는 소스 디바이스의 A1 오브젝트에 대응되는 B1이라는 오브젝트가 생성되었다. A1 오브젝트의 <element2>의 값인 DEF가 삭제된 후, 두번째 동기화가 수행되면 A1의 변경사항은 그대로 싱크 디바이스의 오브젝트인 B1에 반영되어 B1의 <element2>의 값도 삭제된다.
도 7a 내지 도 7b는 본 발명에 따른 동기화 방법의 제2실시예를 설명하기 위 한 도면이다.
도 6a에서는 동기화 정책 정보를 나타내었는데, 도시된 바와 같이 동기화 정책 정보에는 삭제 보호 정보가 포함되어 있으며, 병합 방식에 따라 동기화를 수행한다.
도 7b에는 도 7a의 동기화 정책 정보에 따라 소스 디바이스의 A1 오브젝트와 싱크 디바이스의 B1 오브젝트를 동기화하는 방법을 도시하였다. 이전의 동기화가 수행된 이후 A1 오브젝트의 <element1>과 <element3>이 변경되었으며, B1 오브젝트의 <element2>와 <element3>이 변경되었다. 동기화 방식은 병합 방식이므로, A1 오브젝트의 <element2> 값은 B1 오브젝트의 <element2> 값과 동일하게 되고, B1 오브젝트의 <element1>값은 A1 오브젝트의 <element1> 값과 동일하게 된다.
그런데, <element1>은 A1 및 B1 모두에서 변경되었으므로, 충돌이 발생하였다. 도 7a의 동기화 정책 정보를 참조하면, A1에게 우선권이 있으므로 결국 B1 오브젝트의 <element3>값은 A1 오브젝트의 <element3> 값과 동일하게 된다.
도 8은 본 발명에 따른 동기화 방법의 제3실시예를 설명하기 위한 도면이다. 도 8에 도시된 바와 같이, A1 과 B1은 동기화 대상 오브젝트들인데, 병합 방식에 따라 동기화를 수행한다. A1에서는 아무런 변경도 발생하지 않고, B1 오브젝트는 삭제된 경우, 동기화를 수행하면 삭제도 B1 오브젝트의 변경 사항이고, 동기화 정책 정보의 <delProtection>값도 "false"이므로, A1도 B1의 변경을 동일하게 적용받아 삭제된다.
그런데, 만약 A1에서도 변경이 가해진 경우에는 충돌이 발생하므로 A1은 삭 제되지 않는다. 이 경우에는 A1 및 B1 모두에 변경이 발생하였으며, 동기화 정책 정보를 참조하면 A1 오브젝트에 우선권이 있으므로 A1은 삭제되지 않는 것이다.
도 9는 본 발명에 따른 동기화 방법을 수행하는 장치의 구조를 나타낸 도면이다.
도 9에 도시된 바와 같이, 본 발명에 따른 동기화 장치(900)는 동기화관계정보수신부(910), 동기화요청수신부(920), 동기화수행부(930) 및 저장부(940)를 포함한다.
동기화관계정보수신부(910)는 동기화 셋업을 수행하는 모듈이다. 즉, 컨트롤포인트로부터 동기화에 필요한 모든 정보를 수신하여 관리하는데, 동기화 대상 오브젝트들에 관한 정보 및 동기화 정책 정보는 동기화 관계 정보에 포함될 수 있다. 이는 동기화 관계 정보만 특정되면 어떠한 오브젝트들을 어떠한 동기화 정책에 따라 동기화할 것인지를 결정할 수 있다는 의미이다.
동기화요청수신부(920)는 컨트롤 포인트로부터 CDS의 동기화 액션을 호출하기 위한 제어 메시지를 수신한다. 이 제어 메시지에는 동기화 관계 정보 ID가 포함된다.
동기화수행부(930)는 수신된 동기화 관계 정보 ID에 해당하는 동기화 관계 정보를 참조하여 동기화 대상 오브젝트들을 동기화한다. 구체적으로는, 동기화 관계 정보 ID를 메타 데이터로 가지는 오브젝트를 동기화 대상 오브젝트로 결정하고, 결정된 동기화 대상 오브젝트의 메타 데이터를 참조하여 상대 디바이스의 동기화 대상 오브젝트를 결정한다. 동기화 관계 정보에 포함된 동기화 정책 정보에 따라 동기화를 수행하는 것이 원칙이나, 동기화 대상 오브젝트의 메타 데이터에도 동기화 정책 정보가 포함되어 있으면, 메타 데이터에 포함된 동기화 정책 정보를 우선적으로 적용한다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
도 1은 종래 기술에 따라 UPnP CDS 오브젝트를 동기화하는 방법을 설명하기 위한 블록도,
도 2는 종래 기술에 따른 동기화 방법을 상세히 설명하기 위한 흐름도,
도 3은 본 발명에 따른 동기화 방법을 간략히 설명하기 위한 블록도,
도 4는 본 발명에 따라 미디어 서버들의 CDS 오브젝트들을 동기화하는 과정을 나타낸 순서도,
도 5는 본 발명에 따른 동기화 정책 정보의 구조를 나타낸 도면,
도 6a 내지 도 6b는 본 발명에 따른 동기화 방법의 제1실시예를 설명하기 위한 도면,
도 7a 내지 도 7b는 본 발명에 따른 동기화 방법의 제2실시예를 설명하기 위한 도면,
도 8은 본 발명에 따른 동기화 방법의 제3실시예를 설명하기 위한 도면,
도 9는 본 발명에 따른 동기화 방법을 수행하는 장치의 구조를 나타낸 도면이다.
Claims (15)
- UPnP(Universal Plug and Play) 네트워크에서 제1디바이스가 제2디바이스와 CDS(Content Directory Service) 오브젝트를 동기화하는 방법에 있어서,제 1 디바이스가 컨트롤포인트로부터 동기화 대상 오브젝트들에 관한 정보 및 동기화 정책(policy) 정보를 포함하는 동기화 관계 정보를 수신하는 단계;컨트롤 포인트로부터 상기 수신된 동기화 관계 정보에 따른 동기화를 수행할 것을 요청받는 단계; 및상기 요청에 따라 상기 동기화 대상 오브젝트들을 상기 동기화 정책 정보에 따라 동기화하는 단계를 포함하는 것을 특징으로 하는 방법.
- 제 1항에 있어서,상기 동기화를 요청받는 단계는,상기 제1디바이스의 CDS가 제공하는 소정의 동기화 액션에 대한 호출 메시지를 수신하는 단계이며, 상기 호출 메시지는 상기 제1디바이스의 CDS가 관리하는 동기화 관계 정보들 중 상기 동기화 관계 정보를 식별시키는 파라미터를 포함하는 것을 특징으로 하는 방법.
- 제 1항에 있어서,상기 동기화 정책 정보는,상기 동기화 대상 오브젝트들 중 하나를 기준으로 하여 동기화를 수행할 것인지 복수의 동기화 대상 오브젝트들을 기준으로 동기화를 수행할 것인지를 나타내는 정보를 포함하는 것을 특징으로 하는 방법.
- 제 3항에 있어서,상기 동기화 정책 정보는,상기 복수의 동기화 대상 오브젝트들을 기준으로 동기화를 수행하는 경우 변경해야 할 부분의 충돌이 생기면 어느 오브젝트가 우선권(precedence)을 가지는지를 나타내는 정보를 더 포함하는 것을 특징으로 하는 방법.
- 제 1항에 있어서,상기 동기화 정책 정보는,상기 동기화 관계 정보에 따라 동기화하면 상기 동기화 대상 오브젝트들 중 적어도 하나가 삭제되어야 할 경우라도 삭제하지 않도록 하는 삭제 보호 정보를 포함하는 것을 특징으로 하는 방법.
- 제 1항에 있어서,상기 동기화 단계는,상기 동기화 대상 오브젝트들 중 메타 데이터에 상기 동기화 관계 정보와 다른 동기화 정책 정보를 포함하는 오브젝트에 대하여는 상기 메타 데이터에 포함된 동기화 정책 정보를 우선적으로 적용하는 것을 특징으로 하는 방법.
- 제 1항 내지 제 6항 중 어느 한 항에 의한 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
- UPnP 네트워크에서 제1디바이스가 제2디바이스와 CDS 오브젝트들을 동기화하도록 하는 장치에 있어서,컨트롤포인트로부터 동기화 대상 오브젝트들에 관한 정보 및 동기화 정책(policy) 정보를 포함하는 동기화 관계 정보를 수신하는 동기화관계정보수신부;컨트롤 포인트로부터 상기 수신된 동기화 관계 정보에 따른 동기화를 수행할 것을 요청받는 동기화요청수신부; 및상기 요청에 따라 상기 동기화 대상 오브젝트들을 상기 동기화 정책 정보에 따라 동기화하는 동기화수행부를 포함하는 것을 특징으로 하는 장치.
- 제 8항에 있어서,상기 동기화요청수신부는,상기 제1디바이스의 CDS가 제공하는 소정의 동기화 액션에 대한 호출 메시지를 수신하며, 상기 호출 메시지는 상기 제1미디어서버의 CDS가 관리하는 동기화 관계 정보들 중 상기 동기화 관계 정보를 식별시키는 파라미터를 포함하는 것을 특징으로 하는 장치.
- 제 8항에 있어서,상기 동기화 정책 정보는,상기 동기화 대상 오브젝트들 중 하나를 기준으로 하여 동기화를 수행할 것인지 복수의 동기화 대상 오브젝트들을 기준으로 하여 동기화를 수행할 것인지를 나타내는 정보를 포함하는 것을 특징으로 하는 장치.
- 제 10항에 있어서,상기 동기화 정책 정보는,상기 복수의 동기화 대상 오브젝트들을 기준으로 동기화를 수행하는 경우 변경해야 할 부분의 충돌이 생기면 어느 오브젝트가 우선권(precedence)을 가지는지를 나타내는 정보를 더 포함하는 것을 특징으로 하는 장치.
- 제 8항에 있어서,상기 동기화 정책 정보는,상기 동기화 관계 정보에 따라 동기화하면 상기 동기화 대상 오브젝트들 중 적어도 하나가 삭제되어야 할 경우라도 삭제하지 않도록 하는 삭제 보호 정보를 포함하는 것을 특징으로 하는 장치.
- 제 8항에 있어서,상기 동기화수행부는,상기 동기화 대상 오브젝트들 중 메타 데이터에 상기 동기화 관계 정보와 다른 동기화 정책 정보를 포함하는 오브젝트에 대하여는 상기 메타 데이터에 포함된 동기화 정책 정보를 우선적으로 적용하는 것을 특징으로 하는 장치.
- 제 1항에 있어서,상기 제1디바이스 및 제2디바이스는 UPnP 미디어서버인 것을 특징으로 하는 방법.
- 제 8항에 있어서,제1디바이스 및 제2디바이스는 UPnP 미디어서버인 것을 특징으로 하는 장치.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US84610606P | 2006-09-21 | 2006-09-21 | |
US60/846,106 | 2006-09-21 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060120068A Division KR100902505B1 (ko) | 2006-09-21 | 2006-11-30 | UPnP 미디어서버들의 CDS 오브젝트들을 동기화하는방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20080050371A true KR20080050371A (ko) | 2008-06-05 |
Family
ID=39414278
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060120068A KR100902505B1 (ko) | 2006-09-21 | 2006-11-30 | UPnP 미디어서버들의 CDS 오브젝트들을 동기화하는방법 및 장치 |
KR1020080045109A KR20080050371A (ko) | 2006-09-21 | 2008-05-15 | UPnP 미디어서버들의 CDS 오브젝트들을 동기화하는방법 및 장치 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060120068A KR100902505B1 (ko) | 2006-09-21 | 2006-11-30 | UPnP 미디어서버들의 CDS 오브젝트들을 동기화하는방법 및 장치 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9843634B2 (ko) |
EP (1) | EP2064827B1 (ko) |
JP (1) | JP2010503938A (ko) |
KR (2) | KR100902505B1 (ko) |
CN (1) | CN101517957B (ko) |
WO (1) | WO2008035944A1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8756303B2 (en) | 2010-06-14 | 2014-06-17 | Samsung Electronics Co., Ltd | Method and apparatus for determining object updates in a home network |
KR101442260B1 (ko) * | 2008-12-10 | 2014-09-23 | 주식회사 케이티 | 정책관리시스템에서의 정책정보 동기화 방법 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100902505B1 (ko) | 2006-09-21 | 2009-06-15 | 삼성전자주식회사 | UPnP 미디어서버들의 CDS 오브젝트들을 동기화하는방법 및 장치 |
CN101682550B (zh) * | 2007-06-13 | 2013-11-20 | 皇家飞利浦电子股份有限公司 | 同步协议 |
TWI361361B (en) * | 2008-05-13 | 2012-04-01 | Ind Tech Res Inst | Distributed audio video system, and content directory management system and method thereof |
CN103401848A (zh) * | 2013-07-18 | 2013-11-20 | 哈尔滨融智达网络科技有限公司 | 一种用于多种设备间的通讯方法 |
CN105850103A (zh) * | 2013-12-19 | 2016-08-10 | 汤姆逊许可公司 | 用于管理具有家庭网关和多个设备的家庭媒体网络中的流的方法和系统 |
WO2015139179A1 (zh) | 2014-03-17 | 2015-09-24 | 华为终端有限公司 | 一种终端间同步内容的方法和终端 |
Family Cites Families (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US77668A (en) * | 1868-05-05 | smith | ||
US6125369A (en) * | 1997-10-02 | 2000-09-26 | Microsoft Corporation | Continuous object sychronization between object stores on different computers |
US6725281B1 (en) * | 1999-06-11 | 2004-04-20 | Microsoft Corporation | Synchronization of controlled device state using state table and eventing in data-driven remote device control model |
US6928467B2 (en) * | 2000-02-02 | 2005-08-09 | Inno Path Software, Inc. | Apparatus and methods for providing data synchronization by facilitating data synchronization system design |
JP2001346144A (ja) | 2000-06-06 | 2001-12-14 | Nec Corp | 宅内網同期型伝送方式 |
US7136881B2 (en) * | 2000-12-15 | 2006-11-14 | International Business Machines Corporation | Method and system for processing directory events |
KR20030035194A (ko) * | 2001-10-30 | 2003-05-09 | 포디홈네트 | 홈 네트워크 시스템의 데이터베이스 자동 관리 방법 |
KR100440583B1 (ko) * | 2002-05-16 | 2004-07-19 | 한국전자통신연구원 | 외부 인터넷에 의한 댁내망의 UPnP장치 관리제어 장치및 방법 |
KR20030095897A (ko) | 2002-06-15 | 2003-12-24 | 엘지전자 주식회사 | UPnP 기반 네트워크의 동기화 방법 |
AU2002950202A0 (en) * | 2002-07-11 | 2002-09-12 | University Of Wollongong | Methods for standard mechanisms for digital item manipulation and handling |
KR100498284B1 (ko) | 2002-08-06 | 2005-07-01 | 엘지전자 주식회사 | UPnP 기반 네트워크의 동기화 시스템 및 방법 |
KR20040055446A (ko) * | 2002-12-21 | 2004-06-26 | 엘지전자 주식회사 | 컨트롤 포인트 및 컨트롤 포인트 간의 인식 방법 |
US20040139180A1 (en) * | 2003-01-10 | 2004-07-15 | Sony Corporation | Automobile media synchronization |
CN1757033A (zh) * | 2003-02-28 | 2006-04-05 | 皇家飞利浦电子股份有限公司 | 在网络中的用户站之间共享文件的方法 |
US7768234B2 (en) * | 2004-02-28 | 2010-08-03 | Janik Craig M | System and method for automatically synchronizing and acquiring content for battery powered devices |
US20040193609A1 (en) * | 2003-03-26 | 2004-09-30 | Sony Corporation | Master content directory service server for providing a consolidated network-wide content directory |
EP1614052A1 (en) | 2003-04-07 | 2006-01-11 | Koninklijke Philips Electronics N.V. | Content directory service import container |
KR100541636B1 (ko) * | 2003-04-17 | 2006-01-10 | 삼성전자주식회사 | 컨텐츠 동기화 방법 및 데이터 포맷 |
US20040221007A1 (en) * | 2003-05-01 | 2004-11-04 | Roe Bryan Y. | Smart control points |
US7636776B2 (en) * | 2003-07-31 | 2009-12-22 | Microsoft Corporation | Systems and methods for synchronizing with multiple data stores |
US20050055352A1 (en) * | 2003-09-08 | 2005-03-10 | Sony Corporation | Content directory and synchronization bridge |
GB0322797D0 (en) | 2003-09-30 | 2003-10-29 | Koninkl Philips Electronics Nv | Query caching in a system with a content directory service |
GB0325673D0 (en) | 2003-11-04 | 2003-12-10 | Koninkl Philips Electronics Nv | Virtual content directory service |
KR100562907B1 (ko) * | 2003-12-18 | 2006-03-21 | 삼성전자주식회사 | 미디어 컨텐츠의 통합 관리 장치 및 그 방법 |
KR100601670B1 (ko) * | 2004-05-03 | 2006-07-14 | 삼성전자주식회사 | 네트워크를 통한 컨텐츠의 제어 방법, 미디어 랜더러 장치및 미디어 소오스 장치 |
JP2006018378A (ja) * | 2004-06-30 | 2006-01-19 | Toshiba Corp | サーバ装置 |
US7925698B2 (en) * | 2004-08-18 | 2011-04-12 | Siemens Enterprise Communications, Inc. | Apparatus and method for a synchronized mobile communication client |
US20060041596A1 (en) * | 2004-08-19 | 2006-02-23 | Vlad Stirbu | Caching directory server data for controlling the disposition of multimedia data on a network |
US20060041924A1 (en) | 2004-08-20 | 2006-02-23 | Matsushita Electric Industrial Co., Ltd. | Digital television middleware service for home networking domains |
WO2006066052A2 (en) | 2004-12-16 | 2006-06-22 | Sonic Solutions | Methods and systems for use in network management of content |
RU2421800C2 (ru) * | 2005-08-01 | 2011-06-20 | Конинклейке Филипс Электроникс Н.В. | Организация контента при помощи динамического профиля |
JP4906315B2 (ja) * | 2005-10-31 | 2012-03-28 | キヤノン株式会社 | 通信制御装置、コンピュータの制御方法および制御プログラム |
CN100414993C (zh) * | 2005-12-22 | 2008-08-27 | 海信集团有限公司 | 一种igrs av服务器设备的实现方法 |
KR100748259B1 (ko) * | 2005-12-28 | 2007-08-10 | 성균관대학교산학협력단 | 애드-혹 상에서 우선순위 기반 적응적 디스커버리 시스템및 그 방법 |
EP1862919B1 (en) | 2006-05-03 | 2017-03-08 | Samsung Electronics Co., Ltd. | Method and apparatus for synchronizing device providing content directory service with device not providing content directory service |
US7725431B2 (en) * | 2006-06-30 | 2010-05-25 | Nokia Corporation | Method and apparatus for the synchronization and storage of metadata |
US7739411B2 (en) * | 2006-08-11 | 2010-06-15 | Samsung Electronics Co., Ltd. | Method and system for content synchronization and detecting synchronization recursion in networks |
KR100902505B1 (ko) | 2006-09-21 | 2009-06-15 | 삼성전자주식회사 | UPnP 미디어서버들의 CDS 오브젝트들을 동기화하는방법 및 장치 |
-
2006
- 2006-11-30 KR KR1020060120068A patent/KR100902505B1/ko active IP Right Grant
-
2007
- 2007-06-06 US US11/758,896 patent/US9843634B2/en active Active
- 2007-09-21 EP EP07808408.4A patent/EP2064827B1/en not_active Ceased
- 2007-09-21 JP JP2009529126A patent/JP2010503938A/ja active Pending
- 2007-09-21 WO PCT/KR2007/004630 patent/WO2008035944A1/en active Application Filing
- 2007-09-21 CN CN200780035284.6A patent/CN101517957B/zh not_active Expired - Fee Related
-
2008
- 2008-05-15 KR KR1020080045109A patent/KR20080050371A/ko not_active Application Discontinuation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101442260B1 (ko) * | 2008-12-10 | 2014-09-23 | 주식회사 케이티 | 정책관리시스템에서의 정책정보 동기화 방법 |
US8756303B2 (en) | 2010-06-14 | 2014-06-17 | Samsung Electronics Co., Ltd | Method and apparatus for determining object updates in a home network |
Also Published As
Publication number | Publication date |
---|---|
KR100902505B1 (ko) | 2009-06-15 |
EP2064827A1 (en) | 2009-06-03 |
WO2008035944A1 (en) | 2008-03-27 |
US20080077668A1 (en) | 2008-03-27 |
CN101517957B (zh) | 2015-03-25 |
KR20080027100A (ko) | 2008-03-26 |
CN101517957A (zh) | 2009-08-26 |
EP2064827A4 (en) | 2013-11-20 |
EP2064827B1 (en) | 2018-05-09 |
US9843634B2 (en) | 2017-12-12 |
JP2010503938A (ja) | 2010-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100782858B1 (ko) | 홈 네트워크 디바이스들의 컨텐츠를 동기화하는 방법 및장치 | |
KR100823273B1 (ko) | UPnP 컨텐트 디렉토리 서비스를 동기화하는 방법 및장치 | |
KR100902505B1 (ko) | UPnP 미디어서버들의 CDS 오브젝트들을 동기화하는방법 및 장치 | |
KR101017365B1 (ko) | 복수의 컨텐츠 디렉토리 서비스 장치를 동기화하는 방법,컨텐츠 디렉토리 서비스 장치 및 시스템 | |
KR20080107308A (ko) | 컨텐트 디렉토리 서비스와 제어 포인트간의 컨텐트를동기화하는 방법 | |
US7849222B2 (en) | Method of synchronizing multiple content directory services, and content directory service devices and a system thereof | |
JP4828636B2 (ja) | リソースの重複保存を防止するための方法、装置及び記憶媒体 | |
KR101310223B1 (ko) | 컨텐트 디렉토리 서비스를 제공하는 장치와 제공하지 않는장치 간의 동기화 방법 및 이를 수행하는 장치 | |
KR100717059B1 (ko) | 홈 네트워크에서 하나의 컨텐츠를 복수의 디바이스에분할하여 저장하기 위한 방법 및 장치 | |
US8756303B2 (en) | Method and apparatus for determining object updates in a home network | |
JP5226243B2 (ja) | 同期化方法及び同期化装置 | |
JP2011164875A (ja) | ファイル同期装置、ファイル同期管理装置、ファイル同期方法、およびファイル同期管理方法 | |
KR100723747B1 (ko) | 미디어 서버에서의 데이터베이스 생성 방법 | |
KR20070102118A (ko) | 홈 네트워크에서 컨텐츠를 특성에 따라 상호 연결시키는방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
E601 | Decision to refuse application |