KR101124561B1 - 복수의 UPnP 디바이스들이 공유하는 정보를 동기화하는방법 및 이를 위한 장치 - Google Patents
복수의 UPnP 디바이스들이 공유하는 정보를 동기화하는방법 및 이를 위한 장치 Download PDFInfo
- Publication number
- KR101124561B1 KR101124561B1 KR1020070064617A KR20070064617A KR101124561B1 KR 101124561 B1 KR101124561 B1 KR 101124561B1 KR 1020070064617 A KR1020070064617 A KR 1020070064617A KR 20070064617 A KR20070064617 A KR 20070064617A KR 101124561 B1 KR101124561 B1 KR 101124561B1
- Authority
- KR
- South Korea
- Prior art keywords
- information
- changed
- synchronized
- shared
- version information
- Prior art date
Links
Images
Classifications
-
- 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
- H04L7/00—Arrangements for synchronising receiver with transmitter
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 복수 개의 UPnP 디바이스들 간에 동기화하여 공유한 정보를 효율적으로 관리하는 방법에 관한 것으로, 본 발명에 의하면 최초 동기화시에 모든 디바이스들이 서로의 버전 정보를 교환하고, 일부 디바이스에 저장된 공유 정보가 변경되면, 공유 정보를 변경한 디바이스가 새로운 버전 정보를 이벤트 메시지를 통해 다른 디바이스들에게 전송함으로써 모든 디바이스가 공유 정보를 최신의 것으로 유지할 수 있다. 또한, 공유 정보의 부분별로 업데이트 상태를 나타내는 카운터를 둠으로써 복수 개의 디바이스들에 의해 공유 정보가 변경된 경우, 부분별 최신 정보가 어떤 것인지 쉽게 알 수 있다.
Description
도 1은 본 발명에 따라 UPnP 디바이스가 공유 정보를 동기화하는 과정을 나타낸 순서도,
도 2는 본 발명에 따라 UPnP 디바이스가 공유 정보를 업데이트하는 과정을 나타낸 순서도,
도 3은 사용자에 의해 공유 정보가 변경된 경우, 본 발명에 따른 UPnP 디바이스의 동작 과정을 나타낸 순서도,
도 4는 본 발명에 따른 UPnP 디바이스들의 구조를 나타낸 도면,
도 5는 본 발명의 일실시예에 따라 UPnP 디바이스들이 공유 정보를 동기화하는 방법을 설명하기 위한 흐름도,
도 6a 내지 도 6b는 본 발명의 다른 실시예에 따라 UPnP 디바이스들이 공유정보를 동기화하는 방법을 설명하기 위한 도면이다.
본 발명은 UPnP(Universal Plug and Play) 디바이스에 관한 것으로, 더욱 상세하게는 복수 개의 UPnP 디바이스들 간에 정보를 공유하는 방법에 관한 것이다.
UPnP(Universal Plug and Play)는 네트워크에 연결된 디바이스 간에 복잡한 설정 절차 없이도 통신을 가능하게 해 주는 기술로서, 한 디바이스가 가진 서비스를 다른 디바이스가 자동으로 찾을 수 있도록 해 준다. UPnP네트워크에서는 사용자가 단지 디바이스를 네트워크에 연결만 시켜주면 기존에 네트워크에 연결된 기기들이 자동으로 새로 추가된 디바이스를 발견하게 되어 사용자는 네트워크에 연결된 다른 디바이스에서 제공하는 서비스를 쉽게 이용할 수 있다.
이러한 UPnP 환경에서, 디바이스에 저장되는 정보들은 해당 디바이스에 의존적인, 다시 말해 해당 디바이스에서만 유효한 경우가 많다. 예를 들어, UPnP Media Server의 서비스 중의 하나인 Content Directory Service에는 Local Storage에 저장되어 있는 미디어 정보를 위한 데이터베이스가 있으며 이러한 데이터베이스는 해당 Media Server에만 유효하다. 하지만 여러 개의 디바이스들이 서로 협력하여 어떤 작업을 수행하는 경우에는 디바이스들이 서로 공통된 정보를 공유하는 경우가 발생할 수 있다. 이러한 공유 정보가 각 디바이스들에 의해 개별적으로 변경될 수 있는 경우, 현재에는 UPnP 디바이스들 간에 공유된 정보를 동기화 하는 방법이 존재 하지 않는다.
또한, 기존의 UPnP에서는 디바이스 내의 어떤 정보가 변경이 되었을 때 이를 다른 컨트롤 포인트(Control Point)에게 알릴 수 있도록 이벤팅(Eventing)을 제공하고 있다. 즉, 디바이스 내의 어떤 정보가 변경되면, 해당 디바이스는 자신에게 이벤팅을 구독(subscribe)한 다른 디바이스에게 이벤트 메시지를 통해 정보가 변경되었음을 통지하고, 이벤트 메시지를 수신한 디바이스는 변경된 정보를 UPnP Action을 통해 가져온다. 즉, 기존의 UPnP에서는 이벤팅을 구독한 디바이스에게 정보가 변경되었다는 사실만을 통지하며, 이벤트 메시지를 수신한 디바이스는 변경된 정보 전체를 분석하여 자신의 정보와 다른 부분을 파악한다. 이러한 종래 기술에 따르면, 복수의 UPnP 디바이스들이 공유하는 정보가 각 디바이스들에 의해 개별적으로 변경된 경우, 공유 정보의 변경된 부분들 중 어떠한 것이 최신의 것인지 알 수 없어 공유 정보를 가진 디바이스들 간에 공유 정보를 동기화하는 것이 어려운 문제가 있다.
본 발명은 복수 개의 UPnP 디바이스들 간에 정보를 공유하고, 공유된 정보를동기화하여 관리할 수 있도록 하는 장치 및 방법을 제공하는데 그 목적이 있다.
이러한 목적을 달성하기 위한 본 발명은, UPnP(Universal Plug and Play) 네트워크에서 일디바이스가 적어도 하나의 다른 디바이스와 동기화한 공유 정보를 관리하는 방법에 있어서, 상기 다른 디바이스의 상기 동기화된 공유 정보에 대한 버전 정보를 저장하는 단계; 상기 다른 디바이스로부터 수신한 이벤트(Event) 메시지에 포함된 버전 정보를 상기 저장된 버전 정보와 비교하는 단계; 및 상기 비교 결과에 기초하여 상기 일디바이스의 동기화된 공유 정보를 선택적으로 업데이트하는 단계를 포함하며, 상기 동기화된 공유 정보는 디바이스별로 변경 가능한 부분이 미 리 정해져 있는 것을 특징으로 한다.
상기 업데이트하는 단계는, 상기 다른 디바이스 중 상기 동기화된 공유 정보를 변경한 디바이스의 변경된 공유 정보 및 상기 변경된 공유 정보에 대한 버전 정보를 수신하는 단계; 상기 수신된 공유 정보와 동일하게 상기 일디바이스의 동기화된 공유 정보를 변경하는 단계; 및 상기 저장된 버전 정보 중 상기 수신된 공유 정보에 대응되는 버전 정보를 상기 수신된 버전 정보로 변경하는 단계를 포함하는 것이 바람직하다.
상기 동기화된 공유 정보는 각 부분별로 상기 각 부분이 변경될 때마다 증가하는 카운터 값들을 포함하며, 상기 변경하는 단계는, 상기 동기화된 공유 정보를 변경한 다른 디바이스가 복수 개일 경우,상기 카운터 값들을 참조하여 상기 일디바이스의 동기화된 공유 정보를 부분별로 변경하는 것이 바람직하다.
상기 저장되는 버전 정보는 이벤트 메시지를 통해 상기 다른 디바이스들로부터 수신되는 것이 바람직하다.
상기 공유 정보를 관리하는 방법은, 상기 다른 디바이스에 저장된 상기 동기화된 공유 정보에 대한 버전 정보의 이벤팅을 구독(subscribe)하는 단계를 더 포함하는 것이 바람직하다.
상기 다른 디바이스의 상기 동기화된 공유 정보에 대한 버전 정보는상기 동기화가 수행된 때의 상기 다른 디바이스의 CDS(Content Directory Service)가 관리하는 System Update ID이며, 상기 이벤트 메시지에 포함된 버전 정보는 상기 다른 디바이스가 상기 동기화된 공유 정보를 변경했을 때의 System Update ID인 것이 바람 직하다.
또한, 본 발명은 상기 공유 정보를 관리하는 방법을 실행하는 컴퓨터 프로그램을 기록한 기록 매체를 제공한다.
또한, 본 발명은 UPnP(Universal Plug and Play) 네트워크에서 일디바이스가 적어도 하나의 다른 디바이스와 동기화한 공유 정보를 관리하는 장치에 있어서, 상기 다른 디바이스들의 상기 동기화된 공유 정보에 대한 버전 정보를 저장하는 저장부; 상기 다른 디바이스들로부터 수신한 이벤트(Event) 메시지에 포함된 버전 정보를 상기 저장된 버전 정보와 비교하는 비교부; 및 상기 비교 결과에 기초하여 상기 일디바이스의 공유 정보를 선택적으로 업데이트하는 동기화부를 포함하며, 상기 동기화된 공유 정보는 디바이스별로 변경 가능한 부분이 미리 정해져 있는 것을 특징으로 한다.
또한, 본 발명은 UPnP 네트워크에서 일디바이스가 적어도 하나의 다른 디바이스들와 동기화한 공유 정보를 관리하는 방법에 있어서, 상기 일디바이스의 동기화된 공유 정보에 대한 버전 정보를 이벤트 메시지를 통해 상기 다른 디바이스에게 전송하는 단계; 사용자의 입력에 의해 상기 일디바이스의 상기 동기화된 공유 정보가 변경되면, 상기 버전 정보도 변경하는 단계; 및 상기 변경된 버전 정보를 이벤트 메시지를 통해 상기 다른 디바이스에게 전송하는 단계를 포함하며, 상기 동기화된 공유 정보는 디바이스별로 변경 가능한 부분이 미리 정해져 있는 것을 특징으로 한다.
상기 동기화된 공유 정보는 각 부분별로 상기 각 부분이 변경될 때마다 증가 하는 카운터 값들을 포함하는 것이 바람직하다.
또한, 본 발명은 상기 공유 정보를 관리하는 방법을 실행하는 컴퓨터 프로그램을 기록한 기록 매체를 제공한다.
또한, 본 발명은 UPnP 네트워크에서 일디바이스가 적어도 하나의 다른 디바이스와 동기화한 공유 정보를 관리하는 장치에 있어서, 사용자의 입력에 의해 상기 일디바이스의 상기 동기화된 공유 정보가 변경되면, 상기 버전 정보도 변경하는 변경부; 및 상기 일디바이스의 상기 동기화된 공유 정보에 대한 버전 정보를 이벤트 메시지를 통해 상기 다른 디바이스에게 전송하고, 상기 변경부에 의해 상기 버전 정보가 변경되면 상기 변경된 버전 정보를 이벤트 메시지를 통해 상기 다른 디바이스에게 전송하는 이벤팅부를 포함하며, 상기 동기화된 공유 정보는 디바이스별로 변경 가능한 부분이 미리 정해져 있는 것을 특징으로 한다.
이하에서 첨부된 도면을 참조하여, 본 발명의 바람직한 실시예를 상세히 설명하며, 편의상 UPnP 디바이스는 단순히 디바이스라 칭하기로 한다.
또한, 본 발명에서 복수의 UPnP 디바이스들이 동기화하는 공유 정보는 디바이스별로 변경할 수 있는 부분이 미리 정해져 있는 것으로 가정한다. 이러한 경우는 홈 네트워크에서 자주 발생할 수 있다. 예를 들어, 공유 정보가 디바이스의 하드웨어 정보라면, 각 디바이스에서 변경될 수 있는 부분은 디바이스 자신에 관한 하드웨어 정보 뿐이며, 다른 디바이스의 하드웨어 정보를 변경할 수는 없다.
도 1은 본 발명에 따라 UPnP 디바이스가 공유 정보를 동기화하는 과정을 나타낸 순서도이다. 이하에서는, 도 1 및 도 2의 단계들을 수행하는 디바이스를 A 디 바이스로, A와 동일한 정보를 공유하는 디바이스들을 다른 디바이스들이라 칭하기로 한다.
단계 110에서, A 디바이스는 다른 디바이스들과 공유하는 공유 정보를 동기화한다. 처음으로 공유 정보를 생성하는 과정도 이 과정에 해당된다.
단계 120에서, A 디바이스는 다른 디바이스들의 버전 정보를 저장한다. 버전 정보는 공유 버전의 업데이트 상태를 나타내는 정보이며, 디바이스들의 버전 정보는 디바이스들 각각이 독자적으로 관리한다. 다른 디바이스들뿐 아니라 A 디바이스 역시 자신의 공유 정보에 대한 버전 정보를 관리한다.
이 때, 버전 정보로 System Update ID가 사용될 수 있다. System Update ID는 CDS(Content Directory Service)가 관리하는 정보로서, CDS 관련 정보가 변경될 때마다 증가되는 값이다. 즉, 다른 디바이스들은 공유 정보가 동기화되었을 때의 System Update ID를 동기화된 공유 정보에 대한 버전 정보로 설정한다.
단계 125에서, A 디바이스는 다른 디바이스들에게 공유 정보의 버전 정보에 대한 이벤팅(Eventing)을 구독(subscribe)한다. 따라서, A 디바이스는 다른 디바이스들의 버전 정보를 이벤트 메시지를 통해 수신할수 있다. 즉, 다른 디바이스들은 버전 정보가 변경될 때마다 변경된 버전 정보를 이벤트 메시지를 통해 A 디바이스에게 전송한다.
한편, A 디바이스 역시 자신의 버전 정보가 변경되면 이를 다른 디바이스들에게 이벤트 메시지를 통해 전송해야 한다. 다시 말하면, 본 발명에서 공유 정보를 동기화하는 모든 디바이스들은 서로의 공유 정보에 대한 버전 정보를 이벤트 메시 지를 통해 교환해야 하므로, 공유 정보를 동기화하는 모든 디바이스들은 서로의 공유 정보의 버전 정보에 대해 이벤팅(Eventing)을 구독(subscribe)해야 한다.
단계 130에서, A 디바이스는 다른 디바이스들 중 적어도 하나로부터 이벤트 메시지를 수신한다. 이 때 수신된 이벤트 메시지는 공유 정보를 변경한 다른 디바이스들이 변경된 공유 정보에 대한 버전 정보를 알리기 위해 사용된 것이다.
단계 140에서, A 디바이스는 이벤트 메시지에 포함된 버전 정보를 단계 120에서 저장한 버전 정보, 즉 최근에 다른 디바이스들과 공유 정보를 동기화했을 때의 다른 디바이스들에 저장된 공유 정보에 대한 버전 정보와 비교한다.
단계 150에서, 비교 결과 동일하지 않으면 A 디바이스에 저장된 공유 정보를업데이트한다. 단계 140에서 저장된 버전 정보와 단계 130에서 수신된 이벤트 메시지에 포함된 버전 정보가 다르다는 것은 다른 디바이스들 중 적어도 하나에 저장된 공유 정보가 변경되었다는 것을 의미하므로, A 디바이스는 자신의 공유 정보를 다른 디바이스의 최신 공유 정보와 동일하게 변경함으로써 동기화를 수행하는 것이다. 단계 150에 대한 보다 상세한 설명은 도 2를 참조하여 후술한다.
단계 160에서, A 디바이스는 저장된 다른 디바이스들의 버전 정보를 업데이트한다. 즉, 단계 120에서 저장한 B 디바이스의 버전 정보가 105였는데, 단계 130에서 B 디바이스로부터 수신된 이벤트 메시지에 포함된 버전 정보가 200이면, 저장된 B 디바이스의 버전 정보를 200으로 업데이트한다.
단계 170에서, A 디바이스는 자신의 업데이트된 공유 정보에 대한 버전 정보를 이벤트 메시지를 이용하여 다른 디바이스들에게 전송한다. 이 때, 변경된 공유 정보에 대한 버전 정보는, 단계 150에서 A 디바이스의 공유 정보가 업데이트 되었을 때의 디바이스 A의 System Update ID가 될 수 있다.
도 2는 본 발명에 따라 UPnP 디바이스가 공유 정보를 업데이트하는 과정을 나타낸 순서도이다. 여기에서, 편의상 공유 정보를 변경한 다른 디바이스들은 복수 개라고 가정한다.
이러한 경우, 공유 정보의 동일한 부분에 대해 어느 디바이스의 것이 최신의것인지 알 수 없으므로, 본 발명에서는 공유 정보가 각 부분별로 버전 정보를 나타내기 위한 카운터 값을 포함하도록 한다. 각 부분별 카운터 값은 해당 부분이 변경될 때마다 증가하며, A 디바이스는 다른 디바이스들로부터 부분별로 변경된 공유 정보를 수신하였을 때, 각 부분에 대해 어떤 것이 최신의 것인지를 카운터 값을 참조하여 알 수 있다. 이러한 카운터 값은 공유 정보에 포함되므로, A 디바이스가 다른 디바이스들과 공유 정보를 동기화하게 되면 모든 디바이스들의 공유 정보에 포함된 카운터 값들은 동일하게 된다.
단계 210에서, A 디바이스는 공유 정보를 변경한 다른 디바이스들에게 변경된 공유 정보를 요청한다. 이러한 요청을 위해 다른 디바이스들의 서비스가 제공하는 UPnP 액션이 이용될 수 있다.
단계 220에서, A 디바이스는 다른 디바이스들로부터 변경된 공유 정보를 수신한다.
단계 230에서, A 디바이스는 변경된 공유 정보에 포함된 카운터 값들을 참조하여 자신의 공유 정보 중 업데이트해야 할 부분을 결정한다. A 디바이스는 B 디바 이스로부터 수신된 공유 정보와 C 디바이스로부터 수신된 공유 정보에서 각 부분별 카운터 값들을 참조하여, 자신의 공유 정보 중 어느 부분을 어떻게 업데이트해야 하는지 결정할 수 있다. 예를 들어, A 디바이스는 공유 정보의 x 부분에 대한 자신의 카운터 값이 B 디바이스의 카운터 값보다 낮으면, 자신의 공유 정보 중 x 부분을 B 디바이스가 변경한 공유 정보와 동일하게 업데이트해야 한다. 그러나, 만약 x 부분에 대한 C 디바이스의 카운터 값이 B 디바이스의 카운터 값보다 높으면, A 디바이스는 자신의 공유 정보 중 x 부분을 C 디바이스의 공유 정보와 동일하게 업데이트해야 한다.
단계 240에서, A 디바이스는 자신의 공유 정보를 업데이트 한다.
단계 250에서, A 디바이스의 공유 정보가 업데이트되면, 업데이트된 부분의 카운터 값 역시 업데이트된다. 예를 들어, A 디바이스의 공유 정보의 x 부분이 B 디바이스의 공유 정보와 동일하게 변경되면, A 디바이스의 x 부분에 대한 카운터 값은 증가하여 B 디바이스의 x 부분에 대한 카운터 값과 동일하게 된다.
도 3은 사용자에 의해 공유 정보가 변경된 경우, 본 발명에 따른 UPnP 디바이스의 동작 과정을 나타낸 순서도이다. 이하에서는, 도 3에서의 각 단계들을 수행하는 UPnP 디바이스를 A 디바이스라 칭하기로 한다.
단계 310에서, A 디바이스는 다른 디바이스들과 공유 정보를 동기화한다.
단계 320에서, A 디바이스는 동기화된 공유 정보에 대한 버전 정보를 이벤트 메시지를 통해 다른 디바이스들에게 전송한다. 전술한 바와 같이, 이 때 버전 정보로는 공유 정보가 동기화 되었을 때의 A 디바이스의 System Update ID가 사용될 수 있다.
단계 330에서, A 디바이스에 저장된 공유 정보는 사용자의 입력에 의해 변경된다. 일반적으로, 이 과정에서 A 디바이스의 embedded CP(Control Point)가 사용될 것이다.
단계 340에서, A 디바이스는 자신의 공유 정보에 대한 버전 정보를 변경한다. 변경된 공유 정보에 대한 버전 정보는 공유 정보가 변경되었을 때의 A 디바이스의 System Update ID가 사용될 수 있다.
단계 350에서, A 디바이스는 변경된 버전 정보를 다른 디바이스들에게 이벤트 메시지를 통해 전송한다.
도 4는 본 발명에 따른 UPnP 디바이스들의 구조를 나타낸 도면이다.
왼쪽에 도시한 디바이스(400)를 A 디바이스라 칭하고, 오른쪽에 도시한 디바이스(450)를 B 디바이스라 칭하기로 한다. 여기서는 B 디바이스의 공유 정보가 사용자에 의해 변경되고, 이에 따라 A 디바이스가 자신의 공유 정보를 동기화하는 경우를 설명한다. 도 4에는 편의상 A 디바이스와 B 디바이스의 구성 요소가 다르게 도시되었으나, 본 발명에 따라 공유 정보를 동기화하는 UPnP 디바이스가 A 디바이스의 구성 요소 및 B 디바이스의 구성 요소를 모두 포함할 수 있음은 당업자에게 자명할 것이다.
A 디바이스(400)는 동기화 장치(410)를 포함하며, 동기화 장치(410)는 저장부(411), 비교부(412), 동기화부(413) 및 이벤팅부(414)를 포함한다.
저장부(411)는 B 디바이스(450)의 공유 정보에 대한 버전 정보 및 A 디바이 스(400)의 공유 정보를 저장한다. B 디바이스(450)의 공유 정보에 대한 버전 정보는 이벤트 메시지를 통해 B 디바이스(450)로부터 수신된다. 이벤팅부(414)는 공유 정보의 버전 정보에 대한 이벤팅 구독을 B 디바이스(450)에게 신청하고 B 디바이스(450)로부터 이벤트 메시지를 수신하며, 또한 B 디바이스(450)에게 이벤트 메시지를 전송한다.
B 디바이스(450)의 공유 정보가 변경되어 이벤팅부(414)가 B 디바이스(450)로부터 변경된 버전 정보를 포함하는 이벤트 메시지를 수신하면, 비교부(412)는 저장부(411)에 저장된 B 디바이스(450)의 공유 정보에 대한 버전 정보를 이벤트 메시지에 포함된 버전 정보와 비교하여 A 디바이스(400)의 공유 정보를 업데이트해야 하는지를 결정한다.
동기화부(413)는 비교부(412)의 판단 결과 A 디바이스(400)의 공유 정보를 업데이트해야 하는 경우, 저장부(411)에 저장된 A 디바이스(400)의 공유 정보를 B 디바이스의 공유 정보에 기초하여 업데이트한다.
전술한 바와 같이, 공유 정보를 변경한 디바이스가 둘 이상인 경우를 위해 본 발명에서는 공유 정보의 각 부분에 대해 업데이트 상태를 나타내는 카운터를 설정한다. 따라서, 이러한 경우 동기화부(413)는 다른 디바이스들에 의해 변경된 공유 정보들의 각 부분별로 어느 것이 최신의 것인지 찾아낼 수 있으며, 최신의 것을 기준으로 하여 A 디바이스(400)의 공유 정보를 업데이트한다.
한편, B 디바이스(450)의 동기화 장치(460)는 이벤팅부(461), 변경부(462) 및 저장부(463)를 포함한다.
저장부(463)는 B 디바이스(400)의 공유 정보를 저장한다.
사용자의 입력에 의해 B 디바이스(400)의 공유 정보가 변경되면, 변경부(462)는 B 디바이스(450)의 공유 정보에 대한 버전 정보를 변경한다. 변경된 버전 정보는 B 디바이스(450)의 공유 정보가 변경되었을 때의 B 디바이스(450)의 CDS가 관리하는 System Update ID가 될 수 있다.
이벤팅부(461)는 공유 정보의 버전 정보에 대한 이벤팅 구독을 A 디바이스(400)에게 신청하고 A 디바이스(400)로부터 이벤트 메시지를 수신한다. 또한 B 디바이스(450)의 공유 정보가 변경되면, 변경된 공유 정보에 대한 버전 정보를 이벤트 메시지를 통해 A 디바이스(400)에게 전송한다.
도 5는 본 발명의 일실시예에 따라 UPnP 디바이스들이 공유 정보를 동기화하는 방법을 설명하기 위한 흐름도이다.
여기서는, 디바이스 A, B, C가 공유 정보를 가지며, A의 공유 정보가 사용자 입력에 의해 변경되는 경우를 설명한다.
단계 501에서, 디바이스 A, B, C는 동일한 공유 정보를 생성한다. 물론, 이 때 생성된 공유 정보의 각 부분들에 포함된 카운터 값은 세 디바이스들 간에 모두 동일하다.
단계 502에서, 세 디바이스들은 이벤트 메시지를 통해 동기화된 공유 정보의 버전 정보를 교환한다. 버전 정보는 디바이스들이 각자 독자적으로 관리하는 것이므로, 공유 정보가 동기화되었다고 해서 공유 정보의 버전 정보들까지 동일할 필요는 없다. 전술한 바와 같이, 버전 정보로 디바이스의 CDS가 관리하는 Sytem Update ID가 사용될 수 있는데, 공유 정보가 동기화 되었을 때, 예를 들면 디바이스 A의 Sytem Update ID는 100이고, 디바이스 A의 Sytem Update ID는 200일 수도 있을 것이다.
단계 503에서, 세 디바이스들은 각자 다른 디바이스들의 동기화된 공유 정보에 대한 버전 정보를 저장한다. 즉, 디바이스 A는 디바이스 B, C의 버전 정보를, 디바이스 B는 디바이스 A, C의 버전 정보를, 디바이스 C는 디바이스 A, B의 버전 정보를 저장한다.
단계 504에서, 사용자가 디바이스 A의 embedded CP를 이용하여 디바이스 A의 공유 정보를 변경한다. 도시하지는 않았으나, 공유 정보가 변경되면 디바이스 A는 당연히 자신의 공유 정보에 대한 버전 정보를 변경한다.
단계 505에서, 디바이스 A는 디바이스 B, C에게 이벤트 메시지를 통해 변경된 버전 정보를 전송한다.
단계 506에서, 디바이스 B, C는 각자 저장하고 있었던 디바이스 A의 공유 정보에 대한 버전 정보를 단계 505에서 수신된 버전 정보와 비교한다.
단계 507에서, 디바이스 B, C는 버전 정보의 비교 결과, 디바이스 A의 공유 정보가 변경되었음을 인지하고, 디바이스 A에게 변경된 공유 정보를 요청한다.
단계 508에서, 디바이스 A는 디바이스 B, C에게 변경된 공유 정보를 전송한다.
단계 509에서, 디바이스 B, C는 카운터값을 참조하여 각자의 공유 정보를 업데이트한다. 즉, 디바이스 B는 디바이스 A로부터 수신한 공유 정보의 각 부분들 중 디바이스 A에 의해 변경된 부분을 참조하여 자신의 공유 정보를 업데이트한다. 디바이스 A로부터 수신한 공유 정보의 각 부분들의 카운터 값들 중 디바이스 C에 의해 변경될 수 있는 부분에 대한 카운터 값은 기존의 디바이스 B의 공유 정보의 해당 부분의 카운터 값과 동일할 것이므로 업데이트 할 필요가 없다.
단계 510에서, 디바이스 B, C는 공유 정보가 변경되었음을 알리는 이벤트 메시지를 디바이스 A에게 전송한다. 도시하지는 않았으나, 공유 정보가 변경됨에 따라 그에 대한 버전 정보도 변경되었으므로, 이벤트 메시지에는 변경된 버전 정보가 포함된다.
단계 520에서, 디바이스 A는 디바이스 B, C로부터 수신한 버전 정보를 이용하여 이미 저장되어 있던 디바이스 B, C의 공유 정보에 대한 버전 정보를 업데이트한다.
도 6a 내지 도 6b는 본 발명의 다른 실시예에 따라 UPnP 디바이스들이 공유정보를 동기화하는 방법을 설명하기 위한 도면이다.
본 실시예에서, 디바이스 1, 2, 3은 UPnP AV 아키텍쳐의 미디어 서버이며, 공유 정보는 CDS의 동기화를 위해 미리 동기화 정책, 파트너 디바이스 등을 명시해 놓은 동기화 관계 정보(Sync Relationship)이다.
동기화 관계 정보는 동기화 관계 정보에서 지정한 복수 개의 UPnP 디바이스에 의해 동기화된 상태로 공유되어야 한다. 그러나, 이 동기화 관계 정보 중 일부는 동기화 관계 정보를 공유하는 모든 디바이스가 아니라 일부 디바이스들 간에만 변경될 소지가 있다. 예를 들어, 동기화 관계 정보에는 여러 개의 Partnership이라 는 것이 존재 하는데, 각각의 Partnership에 연루된 디바이스들은 파트너쉽에 따라 다르므로, 각 파트너쉽은 일부 디바이스들에서만 변경될 가능성이 있다.
예를 들어, 도 6a에 도시된 동기화 관계 정보에서는 Partnership id가 P1인 정보가 device 1과 device 2 에서만 변경이 되고, partnership id가 P2인 정보는 device1과 device3 사이에서만 변경이 될 수 있다.
예를 들어, 디바이스 1과 디바이스 2가 partnership ID=1인 정보를 변경할 때, 디바이스 3의 전원이 꺼져있는 경우, 디바이스 3의 동기화 관계 정보는 디바이스 1, 2의 그것과 달라질 수 있는 것이다.
그러나, 도 6a에 도시된 바와 같이 본 실시예에서는 동기화 관계 정보에 System Update ID를 버전 정보로 이용한다. 위의 예에서, 디바이스 3의 전원이 켜지면 디바이스 3은 디바이스 1, 2에게 이벤팅을 구독하고, 이벤트 메시지를 수신한다. 디바이스 1에 저장된, 변경된 동기화 관계 정보가 도 6a에 도시된 것이라면, 그 후 네트워크에 들어온 디바이스 3에게 디바이스 1이 전송하는 이벤트 메시지는 도 6b와 같은 구조를 가질 수 있다. 도 6b를 참조하면, 이 이벤트 메시지에는 디바이스 1이 저장하고 있는 동기화 관계 정보의 버전 정보, 즉 여기서는 System Update ID가 포함된다. 디바이스 3은 이전에 저장하고 있던 디바이스 1의 동기화 관계 정보에 대한 버전 정보(예를 들면, 190)가 이벤트 메시지에 포함된 버전 정보(201)보다 낮으므로, 자신의 동기화 관계 정보를 업데이트 해야 함을 알 수 있다. 물론, 이는 디바이스 2로부터 수신된 이벤트 메시지를 통해서도 알 수 있을 것이다.
또한, 도 6a에 도시된 바와 같이, 동기화 관계 정보의 각 부분, 즉 각 partnership에는 각 부분의 업데이트 상태를 나타내는 카운터, 즉 update ID를 두고 있다. 공유 정보가 모든 디바이스들 간에 동일하게 생성되었을 때 모든 디바이스들의 동기화 관계 정보에는 모두 동일한 update ID가 기록되어 있을 것이다(예를 들면, UpdateID=0).
이후 디바이스 1과 디바이스 2가 partnership ID = P1인 부분을 변경하고 각자의 동기화 관계 정보에서 해당 부분의 updateID를 1로 변경한다. 그러면 디바이스 1과 디바이스 2는 동일한 정보를 공유하고 있지만 디바이스 3은 이 두 디바이스들과는 부분적으로 다른 정보를 가지고 있게 된다.
그러나, 디바이스 3은 추후 디바이스 1, 2의 동기화 관계 정보를 수신하여 자신이 가지고 있는 정보를 최신의 정보로 업데이트 할 수 있다. 즉, 디바이스 3은 자신이 partnership ID P = 1인 부분에 대하여 updateID가 0이지만 디바이스1, 2는 updateID가 1이므로, 자신의 동기화 관계 정보 중 partnership ID P = 1인 부분이 업데이트 되어야 함을 인지한다. 따라서, 디바이스 3은 partnership ID P = 1인 부분을 디바이스 1, 2가 가진 정보와 동일하게 변경한다. 그리고 해당 부분에 대한 자신의 updateID를 디바이스 1, 2와 동일하게 변경한다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
본 발명에 따르면, 복수 개의 UPnP 디바이스들이 공유하는 정보가 UPnP 디바이스들 각각에 의해 부분적으로 변경되더라도 모든 해당 UPnP 디바이스들은 자신의 공유 정보를 최신의 것으로 업데이트할 수 있다.
Claims (22)
- UPnP(Universal Plug and Play) 네트워크에서 일디바이스가 적어도 하나의 다른 디바이스와 동기화한 공유 정보를 관리하는 방법에 있어서,상기 다른 디바이스의 상기 동기화된 공유 정보에 대한 버전 정보를 저장하는 단계;상기 다른 디바이스로부터 수신한 버전 정보를 상기 저장된 버전 정보와 비교하는 단계; 및상기 비교 결과에 기초하여 상기 일디바이스의 동기화된 공유 정보를 업데이트하는 단계를 포함하며,상기 동기화된 공유 정보는 상기 일디바이스와 상기 다른 디바이스가 독자적으로 변경할 수 있고, 디바이스별로 변경 가능한 부분이 미리 정해져 있는 것을 특징으로 하는 공유 정보 관리 방법.
- 제 1항에 있어서,상기 업데이트하는 단계는,상기 다른 디바이스 중 상기 동기화된 공유 정보를 변경한 디바이스의 변경된 공유 정보 및 상기 변경된 공유 정보에 대한 버전 정보를 수신하는 단계;상기 수신된 공유 정보와 동일하게 상기 일디바이스의 동기화된 공유 정보를 변경하는 단계; 및상기 저장된 버전 정보 중 상기 수신된 공유 정보에 대응되는 버전 정보를 상기 수신된 버전 정보로 변경하는 단계를 포함하는 것을 특징으로 하는 공유 정보 관리 방법.
- 제 2항에 있어서,상기 동기화된 공유 정보는 각 부분별로 상기 각 부분이 변경될 때마다 증가하는 카운터 값들을 포함하며,상기 변경하는 단계는,상기 동기화된 공유 정보를 변경한 다른 디바이스가 복수 개일 경우,상기 카운터 값들을 참조하여 상기 일디바이스의 동기화된 공유 정보를 부분별로 변경하는 것을 특징으로 하는 공유 정보 관리 방법.
- 제 1항에 있어서,상기 저장되는 버전 정보는 이벤트 메시지를 통해 상기 다른 디바이스로부터 수신되는 것을 특징으로 하는 공유 정보 관리 방법.
- 제 1항에 있어서,상기 다른 디바이스에 저장된 상기 동기화된 공유 정보에 대한 버전 정보의 이벤팅을 구독(subscribe)하는 단계를 더 포함하는 것을 특징으로 하는 공유 정보 관리 방법.
- 제 4항에 있어서,상기 다른 디바이스의 상기 동기화된 공유 정보에 대한 버전 정보는 동기화가 수행된 때의 상기 다른 디바이스의 CDS(Content Directory Service)가 관리하는 System Update ID이며, 상기 이벤트 메시지에 포함된 버전 정보는 상기 다른 디바이스가 상기 동기화된 공유 정보를 변경했을 때의 System Update ID인 것을 특징으로 하는 공유 정보 관리 방법.
- 제 1항 내지 제 6항 중 어느 한 항에 의한 공유 정보 관리 방법을 실행하는 컴퓨터 프로그램을 기록한 기록 매체.
- UPnP(Universal Plug and Play) 네트워크에서 일디바이스가 적어도 하나의 다른 디바이스와 동기화한 공유 정보를 관리하는 장치에 있어서,상기 다른 디바이스의 상기 동기화된 공유 정보에 대한 버전 정보를 저장하는 저장부;상기 다른 디바이스로부터 수신한 버전 정보를 상기 저장된 버전 정보와 비교하는 비교부; 및상기 비교 결과에 기초하여 상기 일디바이스의 공유 정보를 업데이트하는 동기화부를 포함하며,상기 동기화된 공유 정보는 상기 일디바이스와 상기 다른 디바이스가 독자적으로 변경할 수 있고, 디바이스별로 변경 가능한 부분이 미리 정해져 있는 것을 특징으로 하는 공유 정보 관리 장치.
- 제 8항에 있어서,상기 동기화부는,상기 동기화된 공유 정보를 변경한 다른 디바이스의 공유 정보 및 상기 변경된 공유 정보에 대한 버전 정보를 수신하고, 상기 수신된 공유 정보에 기초하여 상기 일디바이스의 공유 정보를 변경하며, 상기 저장된 버전 정보 중 상기 수신된 공유 정보에 대응되는 버전 정보를 상기 수신된 버전 정보로 변경하는 것을 특징으로 하는 공유 정보 관리 장치.
- 제 9항에 있어서,상기 동기화된 공유 정보는 각 부분별로 상기 각 부분이 변경될 때마다 증가하는 카운터 값들을 포함하며,상기 동기화부는,상기 동기화된 공유 정보를 변경한 다른 디바이스가 복수 개일 경우, 상기 카운터 값들을 참조하여 상기 일디바이스의 동기화된 공유 정보를 부분별로 변경하는 것을 특징으로 하는 공유 정보 관리 장치.
- 제 8항에 있어서,상기 저장되는 버전 정보는 이벤트 메시지를 통해 상기 다른 디바이스로부터 수신되는 것을 특징으로 하는 공유 정보 관리 장치.
- 제 8항에 있어서,상기 다른 디바이스의 상기 동기화된 공유 정보에 대한 버전 정보의 이벤팅을 구독(subscribe)하는 이벤팅부를 더 포함하는 것을 특징으로 하는 공유 정보 관리 장치.
- 제 11항에 있어서,상기 다른 디바이스의 상기 동기화된 공유 정보에 대한 버전 정보는상기 동기화가 수행된 때의 상기 다른 디바이스의 CDS(Content Directory Service)가 관리하는 System Update ID이며, 상기 이벤트 메시지에 포함된 버전 정보는 상기 다른 디바이스가 상기 동기화된 공유 정보를 변경했을 때의 System Update ID인 것을 특징으로 하는 공유 정보 관리 장치.
- UPnP 네트워크에서 일디바이스가 적어도 하나의 다른 디바이스와 동기화한 공유 정보를 관리하는 방법에 있어서,상기 일디바이스의 동기화된 공유 정보에 대한 버전 정보를 이벤트 메시지를 통해 상기 다른 디바이스에게 전송하는 단계;사용자의 입력에 의해 상기 일디바이스의 상기 동기화된 공유 정보가 변경되면, 상기 버전 정보도 변경하는 단계; 및상기 변경된 버전 정보를 이벤트 메시지를 통해 상기 다른 디바이스에게 전송하는 단계를 포함하며,상기 동기화된 공유 정보는 상기 일디바이스와 상기 다른 디바이스가 독자적으로 변경할 수 있고, 디바이스별로 변경 가능한 부분이 미리 정해져 있는 것을 특징으로 하는 공유 정보 관리 방법.
- 제 14항에 있어서,상기 동기화된 공유 정보는 각 부분별로 상기 각 부분이 변경될 때마다 증가하는 카운터 값들을 포함하는 것을 특징으로 하는 공유 정보 관리 방법.
- 제 14항에 있어서,상기 동기화된 공유 정보의 버전 정보는 동기화가 수행된 때의 상기 일디바이스의 CDS(Content Directory Service)가 관리하는 System Update ID이며, 상기 변경된 버전 정보는 상기 동기화된 공유 정보가 변경되었을 때의 상기 CDS가 관리하는 System Update ID인 것을 특징으로 하는 공유 정보 관리 방법.
- 제 14항 내지 제 16항 중 어느 한 항에 의한 공유 정보 관리 방법을 실행하는 컴퓨터 프로그램을 기록한 기록 매체.
- UPnP 네트워크에서 일디바이스가 적어도 하나의 다른 디바이스와 동기화한 공유 정보를 관리하는 장치에 있어서,사용자의 입력에 의해 상기 일디바이스의 상기 동기화된 공유 정보가 변경되면, 상기 공유 정보의 버전 정보도 변경하는 변경부; 및상기 일디바이스의 상기 동기화된 공유 정보에 대한 버전 정보를 이벤트 메시지를 통해 상기 다른 디바이스에게 전송하고, 상기 변경부에 의해 상기 버전 정보가 변경되면 상기 변경된 버전 정보를 이벤트 메시지를 통해 상기 다른 디바이스에게 전송하는 이벤팅부를 포함하며,상기 동기화된 공유 정보는 상기 일디바이스와 상기 다른 디바이스가 독자적으로 변경할 수 있고, 디바이스별로 변경 가능한 부분이 미리 정해져 있는 것을 특징으로 하는 공유 정보 관리 장치.
- 제 18항에 있어서,상기 동기화된 공유 정보는 각 부분별로 상기 각 부분이 변경될 때마다 증가하는 카운터 값들을 포함하는 것을 특징으로 하는 공유 정보 관리 장치.
- 제 18항에 있어서,상기 동기화된 공유 정보의 버전 정보는 동기화가 수행된 때의 상기 일디바이스의 CDS(Content Directory Service)가 관리하는 System Update ID이며, 상기 변경된 버전 정보는 상기 동기화된 공유 정보가 변경되었을 때의 상기 CDS가 관리하는 System Update ID인 것을 특징으로 하는 공유 정보 관리 장치.
- 제 1항에 있어서,상기 다른 디바이스로부터 수신한 버전 정보는 이벤트(Event) 메시지를 통해 수신되는 것을 특징으로 하는 공유 정보 관리 방법.
- 제 8항에 있어서,상기 다른 디바이스들로부터 수신된 버전 정보는 이벤트(Event) 메시지를 통해 수신되는 것을 특징으로 하는 공유 정보 관리 장치.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/925,009 US7801870B2 (en) | 2006-10-26 | 2007-10-26 | Method of synchronizing information shared between a plurality of universal plug and play devices and apparatus therefor |
PCT/KR2007/005325 WO2008051052A1 (en) | 2006-10-26 | 2007-10-26 | Method of synchronizing information shared between a plurality of universal plug and play devices and apparatus therefor |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US85444006P | 2006-10-26 | 2006-10-26 | |
US60/854,440 | 2006-10-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080037506A KR20080037506A (ko) | 2008-04-30 |
KR101124561B1 true KR101124561B1 (ko) | 2012-03-15 |
Family
ID=39575489
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070064617A KR101124561B1 (ko) | 2006-10-26 | 2007-06-28 | 복수의 UPnP 디바이스들이 공유하는 정보를 동기화하는방법 및 이를 위한 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101124561B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101274566B1 (ko) * | 2010-10-05 | 2013-06-13 | 주식회사 케이티 | UPnP 네트워크 기반의 자율 컴퓨팅 공유 방법 및 시스템 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030035194A (ko) * | 2001-10-30 | 2003-05-09 | 포디홈네트 | 홈 네트워크 시스템의 데이터베이스 자동 관리 방법 |
-
2007
- 2007-06-28 KR KR1020070064617A patent/KR101124561B1/ko not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030035194A (ko) * | 2001-10-30 | 2003-05-09 | 포디홈네트 | 홈 네트워크 시스템의 데이터베이스 자동 관리 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20080037506A (ko) | 2008-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7801870B2 (en) | Method of synchronizing information shared between a plurality of universal plug and play devices and apparatus therefor | |
KR101017365B1 (ko) | 복수의 컨텐츠 디렉토리 서비스 장치를 동기화하는 방법,컨텐츠 디렉토리 서비스 장치 및 시스템 | |
KR100823273B1 (ko) | UPnP 컨텐트 디렉토리 서비스를 동기화하는 방법 및장치 | |
JP4664323B2 (ja) | 複数のコンテンツディレクトリサービス装置に対する同期化支援方法、前記同期化支援方法に用いられるコンテンツディレクトリサービス装置、およびそれを含むシステム | |
US8582469B2 (en) | Peer-to-peer network including routing protocol enhancement | |
JP5094840B2 (ja) | ホームネットワークデバイスのコンテンツを同期化する方法及び装置 | |
EP2237490B1 (en) | Upnp (universal plug and play) ras (remote access server) device for supporting multiple remote access and method for same | |
CN110598444A (zh) | 具有多个服务器节点的物理安全系统 | |
KR20090078717A (ko) | UPnP 네트워크에 다중으로 원격 접속 서비스를제공하는 UPnP 장치 및 그 방법 | |
CN107404509B (zh) | 分布式服务配置系统及信息管理方法 | |
US11743099B2 (en) | Systems, methods and devices for networked media distribution | |
US20130305393A1 (en) | Method for configuring access rights, control point, device and communication system | |
CN101860558B (zh) | 跨区域对等网络流媒体点播方法及系统 | |
JP2008059578A (ja) | ホームネットワークでデバイスのサービスを管理する方法及び装置 | |
KR101124561B1 (ko) | 복수의 UPnP 디바이스들이 공유하는 정보를 동기화하는방법 및 이를 위한 장치 | |
EP1805946A1 (en) | Maintaining a view of a cluster's membership | |
CN114363357A (zh) | 一种基于Gossip的分布式数据库网络连接管理方法 | |
JP5359728B2 (ja) | カラオケシステム、カラオケ装置、ノード装置、カラオケプログラム、ノードプログラム、及びカラオケデータ送信方法 | |
JP2010032976A (ja) | 通信カラオケシステム | |
EP1862919B1 (en) | Method and apparatus for synchronizing device providing content directory service with device not providing content directory service | |
JP2007128165A (ja) | 情報管理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
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: 20160128 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20170125 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20180130 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |