KR101623990B1 - Dlna 기반의 동기화 수행 방법 - Google Patents

Dlna 기반의 동기화 수행 방법 Download PDF

Info

Publication number
KR101623990B1
KR101623990B1 KR1020100016632A KR20100016632A KR101623990B1 KR 101623990 B1 KR101623990 B1 KR 101623990B1 KR 1020100016632 A KR1020100016632 A KR 1020100016632A KR 20100016632 A KR20100016632 A KR 20100016632A KR 101623990 B1 KR101623990 B1 KR 101623990B1
Authority
KR
South Korea
Prior art keywords
item
dms
terminal
local storage
synchronized
Prior art date
Application number
KR1020100016632A
Other languages
English (en)
Other versions
KR20110097024A (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 삼성전자주식회사
Priority to KR1020100016632A priority Critical patent/KR101623990B1/ko
Publication of KR20110097024A publication Critical patent/KR20110097024A/ko
Application granted granted Critical
Publication of KR101623990B1 publication Critical patent/KR101623990B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명에 따른 DLNA 기반의 동기화 수행방법은 로컬 스토리지를 구비한 제1단말과 DMS를 구비한 제2단말을 포함하는 DLNA시스템에서, 상기 제1단말이 상기 제2단말과의 동기화를 수행하는 방법에 있어서, 이전에 동기화가 완료된 DMS 식별자를 포함하는 디바이스 변경 로그(Device change log)를 사용하여 상기 제2단말과의 동기화 이력을 확인하는 과정과, 아이템 변경 로그(item change log)를 확인하여, 상기 로컬 스토리지에 동기화할 아이템의 존재 여부를 확인하는 과정과, 상기 DMS에 상기 동기화할 아이템의 존재여부를 확인하는 과정과, 상기 로컬 스토리지에 구비된 동기화할 아이템을 상기 DMS로 전송하는 과정을 포함한다.

Description

DLNA 기반의 동기화 수행 방법{METHOD FOR PROCESSING DATA SYNCHRONIZATION BASED ON DIGITAL LIVING NETWORK ALLIANCE}
본 발명은 데이터 통신에 관한 것으로써, 특히 DLNA 기반의 데이터 동기화에 관한 것이다.
일반적으로 가정에서는 PC(Personal Computer)등의 정보기기, 전화 등의 통신 기기, TV 등의 방송 기기, DVD(Digital Video Disc)플레이어나 디지털 카메라 등을 포함한 AV(Audio and Video)기기 등과 같은 각종 기기들이 사용되고 있으며, 이러한 기기들을 자동으로 제어하기 위해 홈-오토메이션(home-automation)이 제안되어 현재 상용화되고 있다.
상기 홈-오토메이션은 초기에 전화 또는 적외선을 이용하여 상기 가전 기기들을 별도로 제어하는 수준이었다. 즉, 초기의 홈-오토메이션은 각 가전기기들 간에 연계가 이루어지지 않았다.
하지만 최근에는 통신 기술의 발달로 인하여 가전 기기들 간에 네트워크를 구축하고 이 네트워크를 제어하는 제어기를 두어 통합/관리하도록 하는 방법이 이용되고 있다. 이러한 방법에 대한 표준화가 진행 중이며, 특히 가정 내 정보 가전기기들(예컨대, TV, VTR, 디지털 카메라 및 오디오 시스템 등)을 제어하기 위한 표준안인 'DLNA(Digital Living Network Alliance)'가 대두 되고 있다.
DLNA는 일반적으로 UPnP 프로토콜을 기반으로 하며, DLNA 네트워크에 접속되어 UPnP 프로토콜에 기초한 포맷으로 통신을 수행하고, DLNA 네트워크에 접속된 기기를 IP(Internet Protocol) 기반으로 연결한다.
상기 DLNA 네트워크는 디지털 미디어 서버(Digital Media Server, 이하 'DMS'라고 함.), 디지털 미디어 플레이어(Digital Media Player, 이하 'DMP'라고 함.), 디지털 미디어 랜더러(Digital Media Renderer, 이하 'DMR'라고 함), 및 디지털 미디어 컨트롤(Digital Media Control, 이하 'DMC'라고 함)를 포함하여 구성될 수 있다. 상기 DMS는 디지털 방송을 수신하기 위한 방송 수신 장치와 방송 미들웨어를 탑재하고 있으며, VCR, CD 플레이어, DVD 플레이어, MP3 플레이어, 셋탑박스(STB), TV 튜너, PC 등을 포함한다. 이와 같이 상기 DMS는 자신의 디지털 미디어 컨텐츠 아이템을 검색하여 DLNA 네트워크 사용자가 상기 컨텐츠를 디스플레이하거나, 분배할 수 있도록 한다. 상기 DMR은 선택된 미디어를 실행시키는 역할을 담당하며, 상기 DMP는 DMC를 통해 DMS로부터 제공되는 미디어 컨텐츠의 선택, 제어 및 선택된 미디어 컨텐츠를 실행시키는 역할을 한다. 이와 같이, DLNA 가이드 라인에 따라 설계된 DMS, DMP, DMR 및 DMC 디바이스들은 음악, 사진, 비디오 등의 미디어 컨텐츠를 DLNA 네트워크에 따라 서로 자유롭게 공유할 수 있다.
이러한 기술에 기반하여, DLNA는 다양한 기기에 적용가능 한 형태의 동기화 방법을 제안해 왔다. 그러나, DLNA에서 제안하는 동기화 시나리오는 동기화 대상이 되는 아이템의 변화 추적, 디바이스 관리 등에 대해서는 고려하고 있지 않으므로, 현재 DLNA에서 제안하는 동기화 시나리오만으로 실질적으로 동기화를 구현하는 것이 불가능하다. 따라서, DLNA 시스템 내에서의 실질적인 동기화 구현 방법의 연구가 요구된다.
본 발명은 전술한 점을 고려하여 안출된 것으로써, 동기화가 진행되는 로컬스토리지와 DMS의 변화를 모두 추적하여, 동기화를 수행하는 방법을 제공하는데 그 목적이 있다.
상기한 목적을 달성하기 위하여 본 발명의 일 측면에 따른 DLNA 기반의 동기화 수행방법은 로컬 스토리지(Local Storage)를 구비한 제1단말과 DMS(Digital Media Server)를 구비한 제2단말을 포함하는 DLNA(Digital Living Network Alliance) 시스템에서, 상기 제1단말이 상기 제2단말과의 동기화를 수행하는 방법에 있어서, 이전에 동기화가 완료된 DMS 식별자를 포함하는 디바이스 변경 로그(Device change log)를 사용하여 상기 제2단말과의 동기화 이력을 확인하는 과정과, 아이템 변경 로그(item change log)를 확인하여, 상기 로컬 스토리지에 동기화할 아이템의 존재 여부를 확인하는 과정과, 상기 DMS에 상기 동기화할 아이템의 존재여부를 확인하는 과정과, 상기 로컬 스토리지에 구비된 동기화할 아이템을 상기 DMS로 전송하는 과정을 포함한다.
상기한 목적을 달성하기 위하여 본 발명의 다른 측면에 따른 DLNA 기반의 동기화 수행방법은 로컬 스토리지(Local Storage)를 구비한 제1단말과 DMS(Digital Media Server)를 구비한 제2단말을 포함하는 DLNA(Digital Living Network Alliance) 시스템에서, 상기 제1단말이 상기 제2단말과의 동기화를 수행하는 방법에 있어서, 이전에 동기화가 완료된 DMS 식별자를 포함하는 디바이스 변경 로그(Device change log)를 사용하여 상기 제2단말과의 동기화 이력을 확인하는 과정과, 아이템 변경 로그(item change log)를 확인하여, 상기 제2단말의 DMS에 저장된 아이템이 상기 로컬 스토리지에 존재 여부를 확인하는 과정과, 상기 DMS에 저장된 아이템의 변경이력를 확인하는 과정과, 상기 DMS에 저장된 아이템을 상기 로컬 스토리지로 수신 및 저장하는 과정을 포함한다.
본 발명에 따르면, 동기화가 진행되는 로컬 스토리지와 DMS의 변화를 모두 추적하여 동기화할 수 있다
또한, 로컬 스토리지와 DMS의 변화를 모두 추적하여 동기화함으로써, 동기화를 위해 로컬 스토리지 또는 DMS에 저장된 모든 아이템을 전송하지 않고, 변경된 아이템만을 전송하여, 효율적인 동기화를 실현할 수 있다.
도 1은 일반적인 DLNA 시스템의 구성을 예시하는 블록도,
도 2는 본 발명의 실시예에 따른 DLNA 동기화 방법이 적용되는 DLNA 시스템의 블록도,
도 3은 도 2의 디바이스 변경 로그 관리부에 의해 관리되는 디바이스 변경 로그 파일의 일 예시도,
도 4는 도 2의 아이템 변경 로그 관리부에 의해 관리되는 아이템 변경 로그 파일의 일 예시도,
도 5는 본 발명의 일 실시예에 따른 DLNA 기반의 업로드 동기화 방법의 순서를 도시하는 흐름도,
도 6은 본 발명의 일 실시예에 따른 DLNA 기반의 동기화 방법의 업로드 과정의 상세 순서를 도시하는 흐름도,
도 7a는 본 발명이 적용되는 DLNA 시스템에서 최초 동기화의 수행 과정을 예시하는 개념도,
도 7b는 아이템 변경 로그(Item change log)의 일 예시도,
도 7c는 디바이스 변경 로그(Device change log)의 일 예시도,
도 8a는 본 발명이 적용되는 DLNA 시스템에서 네트워크 연결 종료 및 아이템의 변경을 예시하는 개념도,
도 8b는 아이템 변경 로그(Item change log)의 일 예시도,
도 8c는 디바이스 변경 로그(Device change log)의 일 예시도,
도 9a는 본 발명이 적용되는 DLNA 시스템에서 재 동기화를 예시하는 개념도,
도 9b는 아이템 변경 로그(Item change log)의 일 예시도,
도 9c는 디바이스 변경 로그(Device change log)의 일 예시도,
도 10a는 본 발명이 적용되는 DLNA 시스템에서 아이템A의 업로드 과정을 예시하는 개념도,
도 10b는 아이템 변경 로그(Item change log)의 일 예시도,
도 10c는 디바이스 변경 로그(Device change log)의 일 예시도,
도 11a는 본 발명이 적용되는 DLNA 시스템에서 아이템B의 업로드 과정을 예시하는 개념도,
도 11b는 아이템 변경 로그(Item change log)의 일 예시도,
도 11c는 디바이스 변경 로그(Device change log)의 일 예시도,
도 12a는 본 발명이 적용되는 DLNA 시스템에서 아이템C의 업로드 과정을 예시하는 개념도,
도 12b는 아이템 변경 로그(Item change log)의 일 예시도,
도 12c는 디바이스 변경 로그(Device change log)의 일 예시도,
도 13a는 본 발명이 적용되는 DLNA 시스템에서 아이템D의 업로드 과정을 예시하는 개념도,
도 13b는 아이템 변경 로그(Item change log)의 일 예시도,
도 13c는 디바이스 변경 로그(Device change log)의 일 예시도,
도 14a는 본 발명이 적용되는 DLNA 시스템에서 시스템 갱신 식별자의 갱신 과정을 예시하는 개념도,
도 14b는 아이템 변경 로그(Item change log)의 일 예시도,
도 14c는 디바이스 변경 로그(Device change log)의 일 예시도,
도 15는 본 발명의 다른 실시예에 따른 DLNA 기반의 다운로드 동기화 방법의 순서를 도시하는 흐름도,
도 16은 본 발명의 다른 실시예에 따른 DLNA 기반의 동기화 방법의 다운로드 과정의 상세 순서를 도시하는 흐름도,
도 17a는 본 발명이 적용되는 DLNA 시스템에서 최초 동기화의 수행 과정을 예시하는 개념도,
도 17b는 아이템 변경 로그(Item change log)의 일 예시도,
도 17c는 디바이스 변경 로그(Device change log)의 일 예시도,
도 18a는 본 발명이 적용되는 DLNA 시스템에서 네트워크 연결 종료 및 아이템의 변경을 예시하는 개념도,
도 18b는 아이템 변경 로그(Item change log)의 일 예시도,
도 18c는 디바이스 변경 로그(Device change log)의 일 예시도,
도 19a는 본 발명이 적용되는 DLNA 시스템에서 재 동기화를 예시하는 개념도,
도 19b는 아이템 변경 로그(Item change log)의 일 예시도,
도 19c는 디바이스 변경 로그(Device change log)의 일 예시도,
도 20a는 본 발명이 적용되는 DLNA 시스템에서 아이템A의 다운로드 과정을 예시하는 개념도,
도 20b는 아이템 변경 로그(Item change log)의 일 예시도,
도 20c는 디바이스 변경 로그(Device change log)의 일 예시도,
도 21a는 본 발명이 적용되는 DLNA 시스템에서 아이템D의 다운로드 과정을 예시하는 개념도,
도 21b는 아이템 변경 로그(Item change log)의 일 예시도,
도 21c는 디바이스 변경 로그(Device change log)의 일 예시도,
도 22a는 본 발명이 적용되는 DLNA 시스템에서 아이템B의 다운로드 과정을 예시하는 개념도,
도 22b는 아이템 변경 로그(Item change log)의 일 예시도,
도 22c는 디바이스 변경 로그(Device change log)의 일 예시도,
도 23a는 본 발명이 적용되는 DLNA 시스템에서 아이템C의 다운로드 과정을 예시하는 개념도,
도 23b는 아이템 변경 로그(Item change log)의 일 예시도,
도 23c는 디바이스 변경 로그(Device change log)의 일 예시도,
도 24a는 본 발명이 적용되는 DLNA 시스템에서 시스템 갱신 식별자의 갱신 과정을 예시하는 개념도,
도 24b는 아이템 변경 로그(Item change log)의 일 예시도,
도 24c는 디바이스 변경 로그(Device change log)의 일 예시도.
이하 본 발명에 따른 바람직한 실시예를 첨부한 도면을 참조하여 상세히 설명한다. 하기 설명에서는 구체적인 특정 사항들이 나타나고 있는데 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐 이러한 특정 사항들이 본 발명의 범위 내에서 소정의 변형이나 혹은 변경이 이루어질 수 있음은 이 기술분야에서 통상의 지식을 가진 자에게는 자명하다 할 것이다.
도 1은 일반적인 DLNA(Digital Living Network Alliance) 시스템의 구성을 예시하는 블록도이다. 도 1을 참조하면, DLNA 시스템은 사용자 인터페이스를 통해 사용자로부터 동기화 대상을 선택받는 제1단말(110) 및 DMS(Digital Media Server)(170)를 구비한 제2단말(150)을 포함한다.
DLNA 시스템은 제2단말(150)의 DMS(170)에 저장된 컨텐츠를 다운받는 다운로드 기반의 동기화와, 제1단말(110)의 로컬 스토리지(Local Storage)(130)에 저장된 컨텐츠를 DMS(170)로 업로드하는 업로드 기반의 동기화를 수행할 수 있다.
다운로드 기반의 동기화를 수행하는 경우, 제1단말(110)의 동기화 제어부(120)는 UPnP Action을 통해서 DMS(170)에 저장된 컨텐츠의 변화를 확인한다. 그리고, 상기 동기화 제어부(120)는 DMS(170)로부터 DMS(170)에 저장된 컨텐츠의 변화 내역을 수신하고, 로컬 스토리지(130)에 저장된 컨텐츠의 변화 내역과, DMS(170)에 저장된 컨텐츠의 변화 내역을 서로 비교한다. 다음으로, 상기 동기화 제어부(120)는 DMS(170)로부터 컨텐츠의 주소(예컨대, URL)를 제공받는다. 그리고, 최종적으로 미디어 전송 클라이언트(140)는 미디어 전송 서버(180)로부터 컨텐츠를 다운받는다.
업로드 기반의 동기화를 수행하는 경우, 제1단말(110)의 동기화 제어부(120)는 로컬 스토리지(130)에 저장된 컨텐츠의 변화를 확인한다. 그리고, 상기 동기화 제어부(120)는 UPnP Action을 통해서 DMS(170)에 저장된 컨텐츠의 변화 내역을 호출하고, 제2단말(150)의 DMS(170)로부터 DMS(170)에 저장된 컨텐츠 변화의 내역을 수신한다. 그리고, 로컬 스토리지(130)에 저장된 컨텐츠의 변화 내역과, DMS(170)에 저장된 컨텐츠 변화의 내역을 서로 비교한다. 다음으로, 상기 동기화 제어부(120)는 OCM Action을 통해서 DMS(170)로, 컨텐츠의 변화 내역을 업데이트 하고, 최종적으로 미디어 전송 클라이언트(140)는 미디어 전송 서버(180)로 컨텐츠를 업로드한다.
이와 같이, DLNA 기반의 동기화가 정의되어 있기는 하지만, 시나리오의 프로세스만 기술하고 있을 뿐, 실제적인 사용이나, 변화 추적, 변화 판단, 디바이스의 관리 등에 대해서는 정의하고 있지 않다. 따라서, 현재 정의되어 있는 DLNA 기반의 동기화만으로 DLNA 시스템 내에서 컨텐츠의 동기화에 대한 구현이 불가능하며, DLNA 기반의 동기화를 실현하기 위한 구체적인 연구가 요구된다.
본 발명은 DLNA 기반의 동기화를 실현하기 위한 구체적인 방법 및 장치를 제안한다.
도 2는 본 발명의 일 실시예에 따른 DLNA 동기화 방법이 적용되는 DLNA 시스템의 블록도이다. 도 2를 참조하면, 본 발명에 따른 DLNA 시스템은 제1단말(210) 및 제2단말(250)을 포함한다. 제1단말(210)은 동기화를 제공하는 대상이며, 제2단말(250)은 동기화가 이루어지는 대상임을 예시한다. 본 발명에 따른 DLNA 시스템은 업로드 기반의 동기화 모델을 예시하며, 제1단말(210)에 저장된 컨텐츠가 제2단말(250)로 덮어쓰게 되는 단방향 동기화 모델을 예시한다.
우선, 제2단말(250)은 제1단말(210)과 연결되어 동기화에 필요한 정보를 제공하고, 제1단말(210)로부터 수신한 제어 명령에 따라 동기화를 제어하고, 아이템을 저장하는 DMS(270), 및 아이템의 송수신을 관리하는 미디어 전송 서버(280)를 포함한다.
특히, DMS(270)는 상기 DMS(270) 내부에 저장되는 아이템을 관리하기 위한 시스템 ID 관리부(275)를 구비한다. 시스템 ID 관리부(275)는 DMS(270)를 식별하기 위한 식별자(예컨대, UUID)를 관리한다. 상기 DMS(270)를 식별하기 위한 식별자는 각 DMS 별로 다르게 설정되며, 서로 다른 DMS를 구별하기 위해 사용된다. 상기 시스템 ID 관리부(275)는 DMS(270) 내에 저장되는 각각의 아이템을 식별할 수 있는 아이템 갱신 식별자(예컨대, Objectupdate ID)를 생성 및 관리한다. 구체적으로, 시스템 ID 관리부(275)는 DMS(270) 내에 새로운 아이템이 저장되면, 상기 아이템에 대한 아이템 갱신 식별자(예컨대, Objectupdate ID)를 생성하고, DMS(270) 내에서 상기 아이템이 변경되거나 삭제되는 이벤트가 발생할 때마다 상기 아이템 갱신 식별자의 값을 증가시킨다. 또한, 상기 시스템 ID 관리부(275)는 DMS(270) 내에 포함된 전체 아이템들 중 적어도 하나의 아이템에 대한 변화가 존재하는지를 확인할 수 있도록, 시스템 갱신 식별자(예컨대, Systemupdate ID)를 생성 및 관리한다. 상기 시스템 갱신 식별자(예컨대, Systemupdate ID)는 아이템 갱신 식별자들 중 가장 큰 값으로 설정된다.
한편, 상기 제1단말(210)은 동기화 제어부(220), 로컬 스토리지(local stroage)(230), 및 미디어 전송 클라이언트(240)를 구비한다.
동기화 제어부(220)는 제2단말(250)에 구비된 DMS(270)와 연결되어 동기화에 요구되는 정보를 요청하는 MSCP(221)을 구비한다. 그리고, 동기화 제어부(220)는 동기화의 대상이 되는 제2단말(250)의 시스템 ID 관리부(275)로부터 DMS(270)를 식별하기 위한 DMS 식별자(예컨대, UUID) 및 시스템 갱신 식별자(예컨대, Systemupdate ID)를 수신하고, 수신된 정보(UUID 및 Systemupdate ID)를 디바이스 변경 로그(Device change log) 관리부(223)를 통해 저장 및 관리한다.
상기 제1단말(210)은 복수의 제2단말(250)과 동기화를 수행할 수 있으며, 이에 따라 디바이스 변경 로그 관리부(223)는 복수의 동기화 대상 각각에 대한 디바이스 변경 로그 파일을 생성 및 관리한다. 디바이스 변경 로그 파일은 도 3과 같이 구성될 수 있다. <cs:LastSyncLog>는 동기화 제어부(220)에서 동기화하는 DMS(270) 의 수 만큼 추가된다. 이를 통해 동기화 제어부(220)는 여러 개의 DMS(270)를 관리할 수 있다. ChangeLogFileName은 DMS(270)가 동기화하는 순서를 명시하는 것으로, 각 DMS(270) 마다 하나의 Item Change Log를 가질 수 있다. 예컨대, 순차적으로 1.xml, 2.xml, 3.xml의 파일 이름을 가질 수 있다.
동기화 제어부(220)는 로컬 스토리지(230) 내에 저장된 아이템의 변화를 추적하고, DMS(270)에 저장된 아이템의 변경 또는 삭제 등의 상태를 고려하여, 로컬 스토리지(230) 내에 저장된 아이템을 DMS(270)와 동기화한다. 이를 위해, 동기화 제어부(220)는 로컬 스토리지(230) 및 DMS(270)에 저장된 각 아이템 고유의 속성을 바탕으로 서로 간의 관계를 아이템 변경 로그(item change log) 관리부(225)를 통해 관리한다.
아이템 변경 로그 관리부(225)는 로컬 스토리지(230) 내에 아이템이 생성되면, 상기 아이템에 대한 정보, 예컨대 파일명, 파일 저장 경로, 파일 크기, 파일 생성 시간을 수록한 아이템 변경 로그를 생성 및 저장한다. 그리고, 로컬 스토리지(230) 내에 생성된 아이템이 DMS(270)와 동기화됨에 따라, 상기 아이템 변경 로그 관리부(225)는 상기 동기화된 DMS(270)의 식별정보 즉, 동기화된 DMS(270)의 식별자(예컨대, syncTaker ID) 및 상기 DMS(270)에 동기화된 아이템의 아이템 갱신 식별자(예컨대, remoteObject ID)를 저장 및 관리한다. 상기 DMS(270)에 동기화된 아이템의 아이템 갱신 식별자(예컨대, remoteObject ID)는 상기 제2단말(250)로부터 수신한 아이템 갱신 식별자(예컨대, Objectupdate ID)로 설정될 수 있다.
예컨대, 아이템 변경 로그 관리부(225)는 도 4에 도시된 아이템 변경 로그파일을 통해 아이템 변경 로그를 관리한다.
이하, 전술한 DLNA 시스템의 구성을 참조하여, 본 발명의 일 실시예에 따른 DLNA 기반의 동기화 방법의 구체적인 동작 과정을 설명한다.
도 5는 본 발명의 일 실시예에 따른 DLNA 기반의 업로드 동기화 방법의 순서를 도시하는 흐름도이다.
우선, 510단계에서, DLNA 시스템에 구비된 동기화를 제공하는 단말(예컨대, 제1단말(210)(기버; Giver))이 동기화의 대상이 되는 단말(예컨대, 제2단말(250)(테이커; Taker))과 동기화를 수행한 이력이 존재하는지 확인하고, 520단계에서 동기화 수행 이력에 대응하여 525단계 또는 530단계를 진행한다. 구체적으로, 제1단말(210)의 MSCP(221)가 DLNA 제2단말(250)과의 초기화를 수행하고, 동기화 제어부(220)가 디바이스 변경 로그 관리부(223)에 저장된 디바이스 변경 로그를 확인하여 디바이스 변경 로그 파일이 존재하는지 확인한다. 그리고, 디바이스 변경 로그 파일이 존재하는 경우, 동기화 제어부(220)는 동기화 가능한 DMS 리스트를 제공받고, 사용자에 의해 동기화되도록 선택된 DMS의 식별자(예컨대, UUID)가, 디바이스 변경 로그에 존재하는지를 확인한다. 상기 선택된 DMS의 식별자가, 상기 디바이스 변경 로그에 존재하는 경우, 530단계를 진행하고, 상기 선택된 DMS의 식별자가 상기 디바이스 변경 로그에 존재하지 않는 경우 525단계를 진행한다.
530단계에서 사용자에 의해 로컬 스토리지(230) 내에서 동기화할 영역(예컨대, 폴더 또는 라이브러리)를 선택받고, 540단계에서 상기 선택된 폴더 내에 포함된 동기화할 아이템의 동기화 이력이 존재하는지 확인하여, 상기 선택된 아이템의 동기화 이력이 존재하는 경우 550단계를 진행하고, 상기 선택된 아이템의 동기화 이력이 존재하지 않는 경우 545단계를 진행한다. 구체적으로, 540단계에서 동기화 제어부(220)는 사용자에 의해 선택된 폴더 내에 포함된 아이템에 대응하는 아이템 변경 로그가, 아이템 변경 로그 관리부(225)에 저장되어 있는 지를 확인하여, 상기 아이템의 동기화 이력이 존재하는지 여부를 확인한다.
550단계에서, 동기화 제어부(220)의 MSCP(221)는 아이템 변경 로그 관리부(225)에 저장된 동기화된 DMS의 식별자(예컨대, syncTaker ID) 및 상기 아이템 갱신 식별자(예컨대, remoteObject ID)를 확인한다. 그리고, 동기화 제어부(220)의 MSCP(221)는 상기 동기화된 DMS의 식별자에 대응하는 제2단말(250)로, 상기 아이템이 해당 DMS(270)에 존재하는지 확인을 요청한다. 이에 대응하여 상기 제2단말(250)의 DMS(270)는 시스템 ID 관리부(275)를 통해, 상기 아이템이 DMS(270)에 존재하는지 확인하고, 그 결과를 제1단말(210)의 MSCP(221)로 전송한다. 동기화 제어부(220)는 제2단말(250)로부터 수신한 결과를 이용하여 DMS(270)에 상기 아이템이 존재하는지를 확인하게 된다. DMS(270)에 상기 아이템이 존재하면 560단계를 진행하고, DMS(270)에 상기 아이템이 존재하지 않으면 545단계를 진행한다.
한편, 상기 아이템이 DMS(270) 내에서 변경 또는 삭제되는 경우, 시스템 ID관리부(275)는 아이템 갱신 식별자(Objectupdate ID)의 값을 증가시킨다. 상기 아이템이 DMS(270) 내에서 변경 또는 삭제되었는지를 확인하기 위하여, 550단계에서, DMS(270)에 상기 아이템의 존재 여부를 요청할 때, 해당 아이템의 아이템 갱신 식별자(예컨대, Objectupdate ID)의 값도 함께 요청하여 수신한다.
다음으로, 560단계에서, 동기화 제어부(220)는 상기 로컬 스토리지(230)의 선택된 영역에 포함된 아이템의 변경 또는 삭제 여부를 확인하고, 상기 아이템이 변경 또는 삭제되지 않은 경우 565단계를 진행하고, 아이템이 변경 또는 삭제된 경우 580단계를 진행한다. 구체적으로 아이템 변경 로그 관리부(225)는 상기 로컬 스토리지(230)의 선택된 영역에 포함된 아이템에 대한 아이템 변경 로그(item change log)를 확인하여, 아이템 변경 로그에 존재하는 아이템 정보와 상기 로컬 스토리지(230)의 선택된 영역에 포함된 아이템 정보(예컨대, 파일명, 파일 저장 경로, 파일 크기, 파일 생성 시간 등)가 동일한지 여부를 확인한다.
565단계에서, 상기 동기화 제어부(220)는 제2단말(250)의 시스템 ID관리부(275)로부터 수신한 상기 아이템 갱신 식별자(예컨대, Objectupdate ID)의 값(a)과, 아이템 변경 로그에 포함된 상기 아이템 갱신 식별자의 값(b)을 서로 비교하여, 상기 DMS(270)에 저장된 아이템의 변경 여부를 확인한다. 상기 DMS(270)에 저장된 아이템이 변경되었을 경우, 즉 수신한 상기 아이템 갱신 식별자의 값(a)과, 아이템 변경 로그에 포함된 상기 아이템 갱신 식별자의 값(b)이 동일하지 않을 경우, 570단계를 진행하고, 상기 DMS(270)에 저장된 아이템이 변경되지 않았을 경우, 즉 수신한 상기 아이템 갱신 식별자의 값(a)과, 아이템 변경 로그에 포함된 상기 아이템 갱신 식별자의 값(b)이 동일할 경우, 동기화를 종료한다.
한편, 570단계에서, 상기 동기화 제어부(220)는 MSCP(221)를 통해 제2단말(250)로, 상기 로컬 스토리지(230)에서 변경 또는 삭제된 상기 아이템의 삭제를 요청하고, 제2단말(250)의 DMS(270)는 해당 아이템을 삭제 처리한다.
다음으로, 580단계에서, 상기 아이템 변경 로그 관리부(225)는 상기 아이템의 변경 또는 삭제를 확인한다. 상기 아이템이 변경된 경우 변경된 아이템을 업로드 하는 545단계를 진행하고, 삭제된 경우 삭제된 아이템에 대한 아이템 변경 로그를 삭제하는 590단계를 진행한다.
한편, 525단계에서는 DMS(270)를 초기화한다. 구체적으로, 동기화 제어부(220)는 동기화를 위해 연결되는 제2단말(250)의 DMS 리스트를 획득하고, 사용자에 의해 동기화할 DMS의 식별자(예컨대, UUID)를 선택받는다. 그리고, 동기화 제어부(220)는 MSCP(221)을 사용하여 선택된 상기 DMS에 저장된 모든 Item에 대한 정보를 제공받고, 상기 DMS에 저장된 모든 Item의 삭제를 요청한다.
527단계에서, 동기화 제어부(220)는 사용자로부터, 사용자에 의해 로컬 스토리지(230) 내에서 동기화할 영역(예컨대, 폴더 또는 라이브러리)를 선택받고, 상기 동기화할 영역에 포함된 아이템에 대한 파일 이름과 저장 경로를 포함하는 아이템 정보를 입력받는다.
545단계에서, 동기화 제어부(220)는 미디어 전송 클라이언트(240)를 제어하여, 530단계 또는 527단계에서 사용자로부터 입력받은 상기 아이템 정보에 대응하는 아이템을 상기 제2단말(250)의 DMS(270)로 업로드한다.
도 6은 본 발명의 일 실시예에 따른 DLNA 기반의 동기화 방법의 업로드 과정의 상세 순서를 도시하는 흐름도이다.
도 6을 참조하면, 우선 611단계에서, 동기화 제어부(220)는 미디어 전송 클라이언트(240)를 제어하여, 업로드할 아이템을 상기 제2단말(250)의 미디어 전송 서버(280)를 통해 DMS(270)로 전송한다.
612단계에서, 동기화 제어부(220)는 DMS(270)로부터 아이템 전송 성공 이벤트를 수신하여 상기 아이템의 전송이 성공적으로 이루어졌는지를 확인하고, 아이템의 전송이 성공적으로 이루어지지 않았으면 613단계를 진행하고, 아이템의 전송이 성공적으로 이루어졌으면 614단계를 진행한다.
613단계에서, 동기화 제어부(220)는 아이템의 전송을 재시도할 것인지 여부를 확인하여, 611단계를 통해 아이템을 상기 제2단말(250)의 미디어 전송 서버(280)를 통해 DMS(270)로 재전송하거나, 아이템의 전송을 더 이상 실행하지 않고 아이템 업로드 과정을 종료한다. 예컨대, 동기화 제어부(220)는 아이템 재전송을 제한할 횟수를 미리 정의하고, 상기 미리 정의된 횟수 범위 내에서 아이템의 재전송을 실행하고, 아이템이 재전송된 횟수가 상기 미리 정의된 횟수를 초과할 경우 더 이상 아이템 업로드를 실행하지 않고 종료한다.
한편, 614단계에서, 제2단말(250)의 시스템 ID관리부(275)는 상기 아이템이 DMS(270)로 전송 및 저장됨에 따라, 상기 아이템에 대한 아이템 갱신 식별자(예컨대, Objectupdate ID)를 생성하여 저장한다.
그리고, 615단계에서, 동기화 제어부(220)의 아이템 변경 로그 관리부(225)는 DMS(270)로 전송된 아이템에 대한 아이템 정보(예컨대, "item filename", "filepath", "filesize", "filecreattime")를 이용하여 아이템 변경 로그(즉, Itemchangelog.xml)를 생성(또는 갱신)하여 저장한다. 그리고, 상기 아이템 변경 로그 관리부(225)는 동기화된 제2단말(250)로 동기화 대상 정보(예컨대, DMS(270)의 UUID 및 상기 아이템의 아이템 갱신 식별자(Objectupdate ID))를 요청하여, 상기 동기화 대상 정보(예컨대, DMS(270)의 UUID 및 상기 아이템의 아이템 갱신 식별자(Objectupdate ID))를 아이템 변경 로그(즉, Itemchangelog.xml)에 함께 저장한다.
616단계에서, 동기화 제어부(220)는 사용자에 의해 선택된 동기화할 영역에 동기화할 아이템이 존재하는 지를 확인하고, 동기화할 아이템이 존재하는 경우 611 내지 615단계를 다시 실행하고, 동기화할 아이템이 존재하지 않는 경우 617단계를 진행한다.
617단계에서, 제1단말(210)의 동기화 제어부(220)는 MSCP(221)를 통해 제2단말(250)로 시스템 갱신 식별자(Systemupdate ID)를 요청하고, 제2단말(250)은 시스템 ID 관리부(275)로부터 시스템 갱신 식별자(Systemupdate ID)의 값을 확인하여 상기 제1단말(210)의 MSCP(221)로 제공한다. 그리고, 동기화 제어부(220)는 상기 수신한 시스템 갱신 식별자(Systemupdate ID)의 값을 디바이스 변경 로그 관리부(223)로 제공하여 시스템 갱신 식별자(Systemupdate ID)의 값을 포함하는 디바이스 변경 로그를 생성(또는 변경)한다.
이하, 도 7(a~c) 내지 14(a~c)를 통해, 본 발명의 일 실시예에 따른 DLNA 기반의 업로드 동기화를 수행하는 구체적인 방법을 예시한다.
도 7a는 본 발명이 적용되는 DLNA 시스템에서 최초 동기화의 수행 과정을 예시하는 개념도이고, 도 7b는 DLNA 시스템의 제1단말에 구비된 아이템 변경 관리부에 의해 관리되는 아이템 변경 로그(Item change log)를 예시하는 도면이고, 도 7c는 DLNA 시스템의 제1단말에 구비된 디바이스 변경 관리부에 의해 관리되는 디바이스 변경 로그(Device change log)를 예시하는 도면이다.
우선, 도 7a를 참조하면, 로컬 스토리지는 아이템A, 아이템B, 및 아이템C를 저장하고, DMS는 아이템을 저장하고 있지 않은 상태를 예시한다. DMS가 아이템을 저장하고 있지 않으므로, 도 5의 설명에서 기술한 510, 520, 525, 527, 및 545단계와, 도 6의 설명에서 기술한 611, 612, 614, 615, 616, 및 617단계를 통해 최초 동기화를 수행한다. 이에 따라, 도 6의 615단계에서 아이템 변경 로그 관리부(도 2의 225)에 의해 생성되는 아이템 변경 로그(즉, Item Change Log)는 도 7b와 같이 구성되고, 도 6의 617단계에서 디바이스 변경 로그 관리부(도 2의 223)에 의해 생성되는 디바이스 변경 로그(즉, Devicechangelog)는 도 7c와 같이 구성된다. 아이템 변경 로그(즉, Item Change Log)는 각 아이템A, B, C에 대한 아이템 정보("item filename", "filepath", "filesize", "filecreattime"), 동기화 대상인 DMS의 식별자("pair syncTaker ID"), 및 시스템 갱신 식별자("remoteObjID")에 대한 값을 수록한다. 그리고, 디바이스 변경 로그(즉, Devicechangelog)는 최근 동기화된 DMS의 식별자(LastSyncLog syncTakerID") 및 시스템 갱신 식별자("systemUpdate ID")의 값을 포함하여 수록한다. 특히, 시스템 갱신 식별자(Systemupdate ID)의 값은 "4"로 설정된다.
도 8a는 본 발명이 적용되는 DLNA 시스템에서 네트워크 연결 종료 및 아이템의 변경을 예시하는 개념도이고, 도 8b는 DLNA 시스템의 제1단말에 구비된 아이템 변경 관리부에 의해 관리되는 아이템 변경 로그(Item change log)를 예시하는 도면이고, 도 8c는 DLNA 시스템의 제1단말에 구비된 디바이스 변경 관리부에 의해 관리되는 디바이스 변경 로그(Device change log)를 예시하는 도면이다.
도 8a는, 동기화가 종료된 상태에서 로컬 스토리지에는 아이템A가 아이템A@로 변경되고, 추가적으로 아이템D가 생성된 상태를 예시한다. 동기화가 이루어진 상태가 아니며, 단순히 로컬 스토리지 및 DMS에 저장된 아이템들의 변경된 상태이므로, 제1단말의 아이템 변경 로그 관리부(225)에 의해 관리되는 아이템 변경 로그(즉, Itemchangelog)(도 8b) 및 디바이스 변경 로그 관리부(223)에 의해 관리되는 디바이스 변경 로그(즉, Devicechangelog)(도 8c)는 변경되지 않으며, 도 7c의 디바이스 변경 로그(즉, Devicechangelog) 및 도 7b의 아이템 변경 로그(즉, Itemchangelog)와 동일하게 구성된다.
한편, 도 8a에서, DMS에는 아이템B가 아이템B!로 변경되고, 아이템C가 삭제된 상태를 예시한다. 이에 따라, 시스템 ID 관리부(도 2의 275)는 시스템 갱신 식별자(systemUpdate ID)의 값을 "4"에서 "6"으로 변경하여 저장한다.
도 9a는 본 발명이 적용되는 DLNA 시스템에서 재 동기화를 예시하는 개념도이고, 도 9b는 DLNA 시스템의 제1단말에 구비된 아이템 변경 관리부에 의해 관리되는 아이템 변경 로그(Item change log)를 예시하는 도면이고, 도 9c는 DLNA 시스템의 제1단말에 구비된 디바이스 변경 관리부에 의해 관리되는 디바이스 변경 로그(Device change log)를 예시하는 도면이다.
도 9a는, 로컬 스토리지를 구비한 제1단말(도 2의 210)과 DMS를 구비한 제2단말(도 2의 250)이 다시 연결되어 동기화를 수행하는 상태를 예시한다. 로컬 스토리지와 DMS가 동기화한 이력이 존재하므로, 도 5의 설명에서 기술한 510, 520, 530, 540, 550, 560, 및 565단계를 통해 로컬 스토리지에 포함된 아이템들의 변경과 존재 유무를 확인하고, DMS로부터 시스템 갱신 식별자(systemUpdate ID)를 수신하여 DMS에 저장된 아이템의 존재 여부 및 상기 아이템들의 변경 유무를 확인한다. 구체적으로, 560단계를 통해, 아이템 변경 로그 관리부(도 2의 225)는 아이템 변경 로그에 존재하는 아이템 정보와 상기 로컬 스토리지의 선택된 영역에 포함된 아이템 정보를 확인하여, 아이템A의 변경 및 아이템D의 추가를 확인한다. 그리고, 550단계를 통해 획득한 아이템 갱신 식별자(Objectupdate ID)의 값을 확인하여, 상기 동기화 제어부(도 2의 220)는 제2단말(도 2의 250)의 시스템 ID 관리부(275)로부터 수신한 상기 아이템 갱신 식별자(예컨대, Objectupdate ID)의 값("6")이, 아이템 변경 로그에 포함된 상기 아이템 갱신 식별자의 값("4")보다 상대적으로 더 큰값임을 확인하여, 상기 DMS(270)에 저장된 아이템의 변경을 확인한다.
도 10a는 본 발명이 적용되는 DLNA 시스템에서 아이템A의 업로드 과정을 예시하는 개념도이고, 도 10b는 DLNA 시스템의 제1단말에 구비된 아이템 변경 관리부에 의해 관리되는 아이템 변경 로그(Item change log)를 예시하는 도면이고, 도 10c는 DLNA 시스템의 제1단말에 구비된 디바이스 변경 관리부에 의해 관리되는 디바이스 변경 로그(Device change log)를 예시하는 도면이다.
도 10a는, 아이템A를 DMS(270)로 업로드 하는 상태를 예시한다. 도 5의 550단계를 통해 아이템A가 DMS(270)에 존재하는 것을 확인하였으므로, 도 5의 설명에서 기술한 611, 612, 614, 및 615 단계를 통해 아이템A를 DMS(270)로 전송 및 저장한다. 특히, 615단계를 통해, 동기화 제어부(220)의 아이템 변경 로그 관리부(225)는 DMS(270)로 전송된 아이템에 대한 아이템 정보("item filename", "filepath", "filesize", "filecreattime")를 이용하여 변경된 아아템A의 아이템 변경 로그를 갱신하여 저장한다.
도 11a는 본 발명이 적용되는 DLNA 시스템에서 아이템B의 업로드 과정을 예시하는 개념도이고, 도 11b는 DLNA 시스템의 제1단말에 구비된 아이템 변경 관리부에 의해 관리되는 아이템 변경 로그(Item change log)를 예시하는 도면이고, 도 11c는 DLNA 시스템의 제1단말에 구비된 디바이스 변경 관리부에 의해 관리되는 디바이스 변경 로그(Device change log)를 예시하는 도면이다.
도 11a는, 아이템B를 DMS(270)로 업로드 하는 상태를 예시한다. 도 5의 550단계를 통해 아이템B!가 DMS(270)에 존재하는 것을 확인하고, 565단계를 통해 아이템B가 B!로 변경되었음을 확인한다. 따라서, 570단계를 통해 동기화 제어부(220)는 DMS(270)에서 변경된 아이템B!를 삭제하고, 611, 612, 614, 및 615 단계를 통해 로컬 스토리지(230)에 저장된 아이템B를 DMS(270)로 전송 및 저장한다.
도 12a는 본 발명이 적용되는 DLNA 시스템에서 아이템C의 업로드 과정을 예시하는 개념도이고, 도 12b는 DLNA 시스템의 제1단말에 구비된 아이템 변경 관리부에 의해 관리되는 아이템 변경 로그(Item change log)를 예시하는 도면이고, 도 12c는 DLNA 시스템의 제1단말에 구비된 디바이스 변경 관리부에 의해 관리되는 디바이스 변경 로그(Device change log)를 예시하는 도면이다.
도 12a는, 아이템C를 DMS(270)로 업로드 하는 상태를 예시한다. 도 5의 550단계를 통해 아이템C가 DMS(270)에 존재하지 않는 것을 확인한다. 따라서, 도 6의 611, 612, 614, 및 615 단계를 통해 로컬 스토리지(230)에 저장된 아이템C를 DMS(270)로 전송 및 저장한다. 특히, 614단계를 통해 제2단말(250)의 시스템 ID관리부(275)는 DMS(270)에 저장된 상기 아이템C에 대한 아이템 갱신 식별자(예컨대, Objectupdate ID)를 생성하여 저장한다.
도 13a는 본 발명이 적용되는 DLNA 시스템에서 아이템D의 업로드 과정을 예시하는 개념도이고, 도 13b는 DLNA 시스템의 제1단말에 구비된 아이템 변경 관리부에 의해 관리되는 아이템 변경 로그(Item change log)를 예시하는 도면이고, 도 13c는 DLNA 시스템의 제1단말에 구비된 디바이스 변경 관리부에 의해 관리되는 디바이스 변경 로그(Device change log)를 예시하는 도면이다.
도 13a는, 아이템D를 DMS(270)로 업로드 하는 상태를 예시한다. 도 5의 550단계를 통해 아이템D가 DMS(270)에 존재하지 않는 것을 확인한다. 따라서, 도 6의 611, 612, 614, 및 615 단계를 통해 로컬 스토리지(230)에 저장된 아이템D를 DMS(270)로 전송 및 저장한다. 특히, 614단계를 통해 제2단말(250)의 시스템 ID관리부(275)는 DMS(270)에 저장된 상기 아이템D에 대한 아이템 갱신 식별자(예컨대, Objectupdate ID)를 생성하여 저장한다.
도 14a는 본 발명이 적용되는 DLNA 시스템에서 시스템 갱신 식별자의 갱신 과정을 예시하는 개념도이고, 도 14b는 DLNA 시스템의 제1단말에 구비된 아이템 변경 관리부에 의해 관리되는 아이템 변경 로그(Item change log)를 예시하는 도면이고, 도 14c는 DLNA 시스템의 제1단말에 구비된 디바이스 변경 관리부에 의해 관리되는 디바이스 변경 로그(Device change log)를 예시하는 도면이다.
도 14a는, 시스템 갱신 식별자를 갱신하는 상태를 예시한다. 도 6의 611, 612, 614, 및 615 단계를 통해 로컬 스토리지(230)에 저장된 아이템A, B, C, 및 D를 모두 DMS(270)로 전송한 후, 동기화 제어부(220)는 617단계를 통해 제2단말(250)의 DMS(270)로 시스템 갱신 식별자를 요청한다. 그리고, 상기 DMS(270)는 시스템 ID관리부(275)로부터 시스템 갱신 식별자의 값을 획득하여 제1단말(210)의 동기화 제어부(220)로 제공한다. 이에 따라, 동기화 제어부(220)는 획득한 상기 시스템 갱신 식별자의 값("6")을 이용하여 디바이스 변경 로그(Device change log)를 갱신한다.
이하, 전술한 DLNA 시스템의 구성을 참조하여, 본 발명의 일 실시예에 따른 DLNA 기반의 동기화 방법의 구체적인 동작 과정을 설명한다.
도 15는 본 발명의 다른 실시예에 따른 DLNA 기반의 다운로드 동기화 방법의 순서를 도시하는 흐름도이다.
우선, 1501단계에서, DLNA 시스템에서 동기화를 수행함과 동시에 동기화의 대상이 되는 단말(예컨대, 제1단말(210)(테이커; Taker))이 동기화의 기준이 되는 단말(예컨대, 제2단말(250)(기버; Giver))과 동기화를 수행한 이력이 존재하는지 확인하고, 1502단계에서 동기화 수행 이력에 대응하여 1503단계 또는 1504단계를 진행한다. 구체적으로, 제1단말(210)의 MSCP(221)가 DLNA 제2단말(250)과의 초기화를 수행하고, 동기화 제어부(220)가 디바이스 변경 로그 관리부(223)에 저장된 디바이스 변경 로그를 확인하여 디바이스 변경 로그 파일이 존재하는지 확인한다. 그리고, 디바이스 변경 로그 파일이 존재하는 경우, 동기화 제어부(220)는 동기화 가능한 DMS 리스트를 제공받고, 사용자에 의해 동기화의 기준이 되는 DMS를 선택받는다. 그리고, 선택된 DMS의 식별자(예컨대, UUID)가, 디바이스 변경 로그에 존재하는지를 확인한다. 상기 선택된 DMS의 식별자가, 상기 디바이스 변경 로그에 존재하는 경우, 1507단계를 진행하고, 상기 선택된 DMS의 식별자가 상기 디바이스 변경 로그에 존재하지 않는 경우 1505단계를 진행한다.
1507단계에서 상기 선택된 DMS(270) 내의 아이템이 로컬 스토리지(230)에 존재하는지 확인하여, 상기 선택된 DMS(270) 내의 아이템이 로컬 스토리지(230)에 존재하는 경우 1508단계를 진행하고, 상기 선택된 DMS(270) 내의 아이템이 로컬 스토리지(230)에 존재하지 않는 경우 1520단계를 진행한다. 구체적으로, 1507단계에서 동기화 제어부(220)는 사용자에 의해 DMS(270) 내의 아이템에 대응하는 아이템 변경 로그가, 아이템 변경 로그 관리부(225)에 저장되어 있는 지를 확인하여, 상기 아이템의 동기화 이력이 존재하는지 여부를 확인한다.
다음으로, 1508단계에서, 동기화 제어부(220)는 상기 로컬 스토리지(230)에 저장된 아이템의 변경(삭제, 또는 추가) 여부를 확인하고, 상기 아이템이 변경(삭제, 또는 추가)되지 않은 경우 1509단계를 진행하고, 아이템이 변경(삭제, 또는 추가)된 경우 1511단계를 진행한다. 구체적으로 아이템 변경 로그 관리부(225)는 상기 로컬 스토리지(230)에 포함된 아이템에 대한 아이템 변경 로그(item change log)를 확인하여, 아이템 변경 로그에 존재하는 아이템 정보와 상기 로컬 스토리지(230)에 포함된 아이템 정보(예컨대, 파일명, 파일 저장 경로, 파일 크기, 파일 생성 시간 등)가 동일한지 여부를 확인한다. 아이템 변경 로그에 존재하는 아이템 정보와 상기 로컬 스토리지(230)에 포함된 아이템 정보(예컨대, 파일명, 파일 저장 경로, 파일 크기, 파일 생성 시간 등)가 동일하면 동기화 이후 아이템이 변경되지 않은 것으로 확인하고, 상기 로컬 스토리지(230)에 포함된 아이템이 아이템 변경 로그에 존재하지 않으면 상기 아이템은 동기화 이후 새롭게 추가된 아이템인 것으로 확인하고, 아이템 정보와 상기 로컬 스토리지(230)에 포함된 아이템 정보(예컨대, 파일명, 파일 저장 경로, 파일 크기, 파일 생성 시간 등)가 서로 동일하지 않으면 동기화 이후 아이템이 변경된 것으로 확인한다.
1509단계에서, 동기화 제어부(220)는 MSCP(221)를 통해 제2단말(250)로 아이템 갱신 식별자를 요청 및 수신한다. 그리고, 동기화 제어부(220)는 상기 수신된 아이템 갱신 식별자(Objectupdate ID)와 아이템 변경 로그에 수록된 아이템 갱신 식별자(remoteObj ID)를 비교하여 상기 로컬 스토리지(230)에 저장된 아이템이 DMS(270)에 존재하는지를 확인한다. 상기 로컬 스토리지(230)에 저장된 아이템이 DMS(270)에 존재하는 경우 1520단계를 진행하고, 상기 로컬 스토리지(230)에 저장된 아이템이 DMS(270)에 존재하지 않는 경우 1510단계를 통해 상기 아이템을 로컬 스토리지(230)로부터 삭제하고 동기화 과정을 종료한다.
한편, 1511단계에서, 동기화 제어부(220)는 1508단계를 통해 확인된 결과를 바탕으로, 로컬 스토리지(230)에 이전 동기화 후 새롭게 추가된 아이템을 삭제한다.
1512단계에서, 동기화 제어부(220)는 DMS(270)에 포함된 아이템의 변경 여부를 확인하고, DMS(270)에 포함된 아이템들의 변경이 존재하는 경우 1513단계를 진행하고, DMS(270)에 포함된 아이템들의 변경이 존재하지 않는 경우 1520단계를 진행한다. 구체적으로 동기화 제어부(220)는 MSCP(221)를 통해 제2단말(250)로 시스템 갱신 식별자를 요청한다. 그러면, 제2단말(250)의 DMS(270)는 시스템 ID 관리부(275)로부터 시스템 갱신 식별자를 확인하고, 그 결과를 MSCP(221)를 통해 제1단말(210)로 제공한다. 동기화 제어부(220)는 수신된 시스템 갱신 식별자의 값과 디바이스 변경 관리부(223)에 저장 관리되는 시스템 갱신 식별자를 서로 비교하여 DMS(270)에 포함된 아이템들의 변경 여부를 확인한다.
1513단계에서, 동기화 제어부(220)는 DMS(270)에 포함된 아이템이 DMS(270)에서 삭제, 변경 또는 추가되었는 지를 확인한다. DMS(270)에 포함된 아이템이 이전 동기화 이후 DMS(270)에서 삭제된 경우 DMS(270)에서 삭제된 아이템을 로컬 스토리지(230)에서 삭제하는 1514단계 및 상기 삭제된 아이템의 아이템 변경 로그를 삭제하는 1515단계를 진행한다. 그리고, DMS(270)에 포함된 아이템이 이전 동기화 이후 변경된 경우 DMS(270)에서 변경된 아이템을 로컬 스토리지(230)에서 삭제하는 1516단계 및 상기 아이템을 DMS(270)에서 로컬 스토리지(230)로 다운로드 하는 1520단계를 진행한다. 그리고, DMS(270)에 포함된 아이템이 이전 동기화 이후 새롭게 추가된 아이템인 경우 상기 아이템을 로컬 스토리지(230)로 다운로드 하는 1520단계를 진행한다.
한편, 1504단계에서 동기화 제어부(220)는 동기화할 로컬 스토리지(230)를 초기화한다. 그리고, 1505단계에서, 동기화 제어부(220)는 동기화 가능한 DMS(270)들의 리스트를 확인하여 사용자에게 제공하고, 사용자로부터 동기화할 적어도 하나의 DMS(270)를 선택받는다. 그리고, 상기 선택된 DMS(270)에 포함된 모든 아이템들에 대한 정보를 획득한다.
1520단계에서, 동기화 제어부(220)는 미디어 전송 클라이언트(240)를 제어하여, 상기 DMS(270)에 포함된 모든 아이템들을 로컬 스토리지(230)로 다운로드 한다.
도 16은 본 발명의 다른 실시예에 따른 DLNA 기반의 동기화 방법의 다운로드 과정의 상세 순서를 도시하는 흐름도이다.
도 16을 참조하면, 우선 1611단계에서, 동기화 제어부(220)는 DMS(270)로 아이템의 전송을 요청하고, 미디어 전송 클라이언트(240)를 제어하여, 다운로드할 아이템을 상기 제2단말(250)의 미디어 전송 서버(280)를 통해 DMS(270)로부터 수신한다.
1612단계에서, 동기화 제어부(220)는 미디어 전송 클라이언트(240)가 아이템 을 성공적으로 수신하였는지를 확인하고, 아이템의 수신이 성공적으로 이루어지지 않았으면 1613단계를 진행하고, 아이템의 수신이 성공적으로 이루어졌으면 1614단계를 진행한다.
1613단계에서, 동기화 제어부(220)는 아이템의 수신을 재시도할 것인지 여부를 확인하여, 1611단계를 통해 아이템을 상기 제2단말(250)의 미디어 전송 서버(280)를 통해 DMS(270)로부터 재수신하거나, 아이템의 수신을 더 이상 요청하지 않고 아이템 다운로드 과정을 종료한다. 예컨대, 동기화 제어부(220)는 아이템 재전송 요청을 제한할 횟수를 미리 정의하고, 상기 미리 정의된 횟수 범위 내에서 아이템의 재전송을 요청하고, 아이템이 재전송된 횟수가 상기 미리 정의된 횟수를 초과할 경우 더 이상 아이템 다운로드를 실행하지 않고 종료한다.
한편, 1614단계에서, 상기 아이템의 수신이 성공함에 따라, 동기화 제어부(220)의 MSCP(221)는 상기 아이템에 대한 아이템 갱신 식별자(예컨대, Objectupdate ID)를 상기 제2단말(250)로 요청하여 수신한다. 그리고, 615단계에서, 동기화 제어부(220)의 아이템 변경 로그 관리부(225)는 DMS(270)로부터 수신된 아이템에 대한 아이템 정보를 이용하여 아이템 변경 로그(즉, Itemchangelog.xml)를 생성(또는 갱신)하여 저장한다. 그리고, 상기 아이템 변경 로그 관리부(225)는 동기화된 제2단말(250)로부터 수신한 상기 아이템 갱신 식별자를 아이템 변경 로그(즉, Itemchangelog.xml)에 함께 저장한다.
1616단계에서, 동기화 제어부(220)는 사용자에 의해 선택된 DMS(270)에 동기화할 아이템이 존재하는 지를 확인하고, 동기화할 아이템이 존재하는 경우 611 내지 615단계를 다시 실행하고, 동기화할 아이템이 존재하지 않는 경우 617단계를 진행한다.
617단계에서, 제1단말(210)의 동기화 제어부(220)는 MSCP(221)를 통해 제2단말(250)로 시스템 갱신 식별자(Systemupdate ID)를 요청하고, 제2단말(250)은 시스템 ID 관리부(275)로부터 시스템 갱신 식별자(Systemupdate ID)의 값을 확인하여 상기 제1단말(210)의 MSCP(221)로 제공한다. 그리고, 동기화 제어부(220)는 상기 수신한 시스템 갱신 식별자(Systemupdate ID)의 값을 디바이스 변경 로그 관리부(223)로 제공하여 시스템 갱신 식별자(Systemupdate ID)의 값을 포함하는 디바이스 변경 로그를 생성(또는 변경)한다.
이하, 도 17(a~c) 내지 24(a~c)를 통해, 본 발명의 다른 실시예에 따른 DLNA 기반의 다운로드 동기화를 수행하는 구체적인 방법을 예시한다.
도 17a는 본 발명이 적용되는 DLNA 시스템에서 최초 동기화의 수행 과정을 예시하는 개념도이고, 도 17b는 DLNA 시스템의 제1단말에 구비된 아이템 변경 관리부에 의해 관리되는 아이템 변경 로그(Item change log)를 예시하는 도면이고, 도 17c는 DLNA 시스템의 제1단말에 구비된 디바이스 변경 관리부에 의해 관리되는 디바이스 변경 로그(Device change log)를 예시하는 도면이다.
우선, 도 17a를 참조하면, DMS는 아이템A, 아이템B, 및 아이템C를 저장하고, 로컬 스토리지는 아이템을 저장하고 있지 않은 상태를 예시한다. 로컬 스토리지가 아이템을 저장하고 있지 않고 초기 동기화상태이므로, 도 15의 설명에서 기술한 1501, 1502, 1504, 1505, 및 1520단계와, 도 6의 설명에서 기술한 1611, 1612, 1614, 1615, 1616, 및 1617단계를 통해 최초 동기화를 수행한다. 이에 따라, 도 16의 1615단계에서 아이템 변경 로그 관리부(도 2의 225)에 의해 생성되는 아이템 변경 로그(즉, Item Change Log)는 도 17b와 같이 구성되고, 도 16의 1617단계에서 디바이스 변경 로그 관리부(도 2의 223)에 의해 생성되는 디바이스 변경 로그(즉, Devicechangelog)는 도 17c와 같이 구성된다. 아이템 변경 로그(즉, Item Change Log)는 각 아이템A, B, C에 대한 아이템 정보("item filename", "filepath", "filesize", "filecreattime"), 동기화의 기준이 되는 DMS의 식별자("pair syncTaker ID"), 및 아아템 갱신 식별자("remoteObjID")에 대한 값을 수록한다. 그리고, 디바이스 변경 로그(즉, Devicechangelog)는 최근 동기화된 DMS의 식별자(LastSyncLog syncTakerID") 및 시스템 갱신 식별자("systemUpdate ID")의 값을 포함하여 수록한다. 특히, 시스템 갱신 식별자(Systemupdate ID)의 값은 "4"로 설정된다.
도 18a는 본 발명이 적용되는 DLNA 시스템에서 네트워크 연결 종료 및 아이템의 변경을 예시하는 개념도이고, 도 18b는 DLNA 시스템의 제1단말에 구비된 아이템 변경 관리부에 의해 관리되는 아이템 변경 로그(Item change log)를 예시하는 도면이고, 도 18c는 DLNA 시스템의 제1단말에 구비된 디바이스 변경 관리부에 의해 관리되는 디바이스 변경 로그(Device change log)를 예시하는 도면이다.
도 18a는, 동기화가 종료된 상태에서 DMS에는 아이템A가 아이템A@로 변경되고, 추가적으로 아이템D가 생성된 상태를 예시한다. 이에 따라, 시스템 ID 관리부(도 2의 261)는 시스템 갱신 식별자(systemUpdate ID)의 값을 "4"에서 "6"으로 변경하여 저장한다. 그리고, 로컬 스토리지에는 아이템B가 아이템B!로 변경되고, 아이템C가 삭제된 상태를 예시한다. 또한, 동기화가 이루어진 상태가 아니며, 단순히 로컬 스토리지 및 DMS에 저장된 아이템들의 변경된 상태이므로, 제1단말의 아이템 변경 로그 관리부(225)에 의해 관리되는 아이템 변경 로그(즉, Itemchangelog)(도 18b) 및 디바이스 변경 로그 관리부(223)에 의해 관리되는 디바이스 변경 로그(즉, Devicechangelog)(도 18c)는 변경되지 않으며, 도 17c의 디바이스 변경 로그(즉, Devicechangelog) 및 도 17b의 아이템 변경 로그(즉, Itemchangelog)와 동일하게 구성된다.
도 19a는 본 발명이 적용되는 DLNA 시스템에서 재 동기화를 예시하는 개념도이고, 도 19b는 DLNA 시스템의 제1단말에 구비된 아이템 변경 관리부에 의해 관리되는 아이템 변경 로그(Item change log)를 예시하는 도면이고, 도 19c는 DLNA 시스템의 제1단말에 구비된 디바이스 변경 관리부에 의해 관리되는 디바이스 변경 로그(Device change log)를 예시하는 도면이다.
도 19a는, 로컬 스토리지를 구비한 제1단말(도 2의 210)과 DMS를 구비한 제2단말(도 2의 250)이 다시 연결되어 동기화를 수행하는 상태를 예시한다. 로컬 스토리지와 DMS가 동기화한 이력이 존재하므로, 도 5의 설명에서 기술한 1501, 1502, 1503, 1506, 1507, 1508, 1511 및 1512단계를 통해 DMS에 포함된 아이템들의 변경과 존재 유무를 확인하고, DMS로부터 시스템 갱신 식별자(systemUpdate ID)를 수신하여 DMS에 저장된 아이템의 삭제, 변경 또는 추가를 확인한다. 구체적으로, 1508단계를 통해, 아이템 변경 로그 관리부(도 2의 225)는 아이템 변경 로그에 존재하는 아이템 정보와 상기 로컬 스토리지의 선택된 영역에 포함된 아이템 정보를 확인하여, 아이템A의 변경 및 아이템B의 추가를 확인한다. 그리고, 1512단계를 통해, 상기 동기화 제어부(220)는 제2단말(250)의 시스템 ID 관리부(275)로부터 수신한 상기 아이템 갱신 식별자(예컨대, systemtupdate ID)의 값("6")이, 아이템 변경 로그에 포함된 상기 아이템 갱신 식별자의 값("4")보다 상대적으로 더 큰 값임을 확인하여, 상기 DMS에 저장된 아이템의 변경이 있음을 확인한다. 또한, 동기화 제어부(220)는 제2단말(250)의 시스템 ID 관리부(275)로부터 수신한 상기 아이템 갱신 식별자(objectupdateID)를, 아이템 변경 로그에 포함된 아이템 갱신 식별자(remoteObjID)와 비교하여, DMS에 저장된 아이템의 아이템A가 아이템A@로 변경되었고, 아이템D가 추가 생성되었음을 확인한다.
도 20a는 본 발명이 적용되는 DLNA 시스템에서 아이템A의 다운로드 과정을 예시하는 개념도이고, 도 20b는 DLNA 시스템의 제1단말에 구비된 아이템 변경 관리부에 의해 관리되는 아이템 변경 로그(Item change log)를 예시하는 도면이고, 도 20c는 DLNA 시스템의 제1단말에 구비된 디바이스 변경 관리부에 의해 관리되는 디바이스 변경 로그(Device change log)를 예시하는 도면이다.
도 20a는, 아이템A를 DMS로부터 다운로드 하는 상태를 예시한다. 도 15의 1507단계를 통해 아이템A가 로컬 스토리지에 존재하는 것을 확인하였으므로, 도 16의 설명에서 기술한 1611, 1612, 1614, 및 1615 단계를 통해 아이템A@를 DMS로부터 수신하여 로컬 스토리지에 저장한다. 특히, 1615단계를 통해, 동기화 제어부(220)의 아이템 변경 로그 관리부(225)는 DMS로부터 전송된 아이템에 대한 아이템 정보("item filename", "filepath", "filesize", "filecreattime")를 이용하여 변경된 아이템A의 아이템 변경 로그를 갱신하여 저장한다.
도 21a는 본 발명이 적용되는 DLNA 시스템에서 아이템D의 다운로드 과정을 예시하는 개념도이고, 도 21b는 DLNA 시스템의 제1단말에 구비된 아이템 변경 관리부에 의해 관리되는 아이템 변경 로그(Item change log)를 예시하는 도면이고, 도 21c는 DLNA 시스템의 제1단말에 구비된 디바이스 변경 관리부에 의해 관리되는 디바이스 변경 로그(Device change log)를 예시하는 도면이다.
도 21a는, 아이템D를 DMS로부터 다운로드 하는 상태를 예시한다. 도 15의 1513단계를 통해 아이템D가 DMS에 새롭게 추가되었음을 확인하고, 565단계를 통해 아이템B가 B!로 변경되었음을 확인한다. 따라서, 1611단계를 통해 DMS에 새롭게 추가된 아이템D를 수신하고, 1612, 1614, 및 1615 단계를 통해 상기 아이템D에 대한 아이템 변경 로그를 생성한다.
도 22a는 본 발명이 적용되는 DLNA 시스템에서 아이템B의 다운로드 과정을 예시하는 개념도이고, 도 22b는 DLNA 시스템의 제1단말에 구비된 아이템 변경 관리부에 의해 관리되는 아이템 변경 로그(Item change log)를 예시하는 도면이고, 도 22c는 DLNA 시스템의 제1단말에 구비된 디바이스 변경 관리부에 의해 관리되는 디바이스 변경 로그(Device change log)를 예시하는 도면이다.
도 22a는, 아이템B를 DMS로부터 다운로드 하는 상태를 예시한다. 도 15의 1507단계를 통해 아이템B!가 로컬 스토리지에 존재하는 것을 확인하고, 1508단계를 통해 아이템B가 B!로 변경되었음을 확인한다. 따라서, 1511단계를 통해 동기화 제어부(220)는 로컬 스토리지에서 변경된 아이템B!를 삭제한다. 그리고, 1512단계를 통해 로컬 DMS에 저장된 아이템이 변경되지 않았음을 확인하고, 도 6의 1611단계를 통해 DMS에 저장된 아이템B를 수신하고, 1612, 1614, 및 1615 단계를 통해 상기 아이템B에 대한 아이템 변경 로그를 갱신한다.
도 23a는 본 발명이 적용되는 DLNA 시스템에서 아이템C의 다운로드 과정을 예시하는 개념도이고, 도 23b는 DLNA 시스템의 제1단말에 구비된 아이템 변경 관리부에 의해 관리되는 아이템 변경 로그(Item change log)를 예시하는 도면이고, 도 23c는 DLNA 시스템의 제1단말에 구비된 디바이스 변경 관리부에 의해 관리되는 디바이스 변경 로그(Device change log)를 예시하는 도면이다.
도 23a는, 아이템C를 DMS로부터 다운로드 하는 상태를 예시한다. 도 15의 1507단계를 통해 아이템C가 로컬 스토리지에 존재하지 않는 것을 확인하고, 1520단계를 통해 상기 아이템C의 다운로드 과정을 진행한다. 구체적으로, 도 16의 1611단계를 통해 DMS에 저장된 아이템C를 수신하고, 1612, 1614, 및 1615 단계를 통해 상기 아이템C에 대한 아이템 변경 로그를 갱신한다.
도 24a는 본 발명이 적용되는 DLNA 시스템에서 시스템 갱신 식별자의 갱신 과정을 예시하는 개념도이고, 도 24b는 DLNA 시스템의 제1단말에 구비된 아이템 변경 관리부에 의해 관리되는 아이템 변경 로그(Item change log)를 예시하는 도면이고, 도 24c는 DLNA 시스템의 제1단말에 구비된 디바이스 변경 관리부에 의해 관리되는 디바이스 변경 로그(Device change log)를 예시하는 도면이다.
도 24a는, 시스템 갱신 식별자를 갱신하는 상태를 예시한다. 도 16의 1611, 1612, 1614, 및 1615 단계를 통해 DMS로부터 아이템A@, B, C, 및 D를 모두 수신한 후, 동기화 제어부(220)는 1617단계를 통해 제2단말(250)로 시스템 갱신 식별자를 요청한다. 그리고, 상기 제2단말(250)은 시스템 ID관리부(275)로부터 시스템 갱신 식별자의 값을 획득하여 제1단말(210)의 동기화 제어부(220)로 제공한다. 이에 따라, 동기화 제어부(220)는 획득한 상기 시스템 갱신 식별자의 값("6")을 이용하여 디바이스 변경 로그(Device change log)를 갱신한다.
이상에서 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 이것에 의해 한정되지 않으며 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 수정 및 변형이 가능함은 물론이다.

Claims (30)

  1. 로컬 스토리지(Local Storage)를 구비한 제1단말과 DMS(Digital Media Server)를 구비한 제2단말을 포함하는 DLNA(Digital Living Network Alliance) 시스템에서, 상기 제1단말이 상기 제2단말과의 동기화를 수행하는 방법에 있어서,
    이전에 동기화가 완료된 DMS 식별자를 포함하는 디바이스 변경 로그(Device change log)를 사용하여 상기 제2단말과의 동기화 이력을 확인하는 과정과,
    아이템 변경 로그(item change log)를 확인하여, 상기 로컬 스토리지에 동기화할 아이템의 존재 여부를 확인하는 과정과,
    상기 DMS에 상기 동기화할 아이템의 존재여부를 확인하는 과정과,
    상기 로컬 스토리지에 구비된 동기화할 아이템을 상기 DMS로 전송하는 과정을 포함함을 특징으로 하는 DLNA 기반의 동기화 수행방법.
  2. 제1항에 있어서,
    상기 로컬 스토리지에 구비된 동기화할 아이템을 상기 DMS로 전송하는 과정은,
    상기 제2단말이 전송 완료된 상기 동기화할 아이템을 DMS에 저장하고, 상기 저장된 아이템에 대한 아이템 갱신 식별자를 생성하는 과정과,
    상기 제1단말이 상기 DMS에 저장된 아이템에 대한 아이템 변경 로그를 생성 또는 갱신하는 과정을 포함함을 특징으로 하는 DLNA 기반의 동기화 수행방법.
  3. 제2항에 있어서, 상기 아이템 변경 로그는,
    파일명, 파일 저장 경로, 파일 크기, 및 파일 생성 시간을 포함하는 아이템 정보, 동기화된 DMS의 식별자 및 상기 DMS에 저장된 아이템의 식별자를 포함함을 특징으로 하는 DLNA 기반의 동기화 수행방법.
  4. 제2항에 있어서,
    상기 로컬 스토리지에 구비된 동기화할 아이템을 상기 DMS로 전송하는 과정은,
    상기 제2단말이 시스템 갱신 식별자를 생성 또는 갱신하는 과정과,
    상기 제1단말이 동기화된 상기 제2단말에 대한 디바이스 변경 로그를 생성 또는 갱신하는 과정을 포함함을 특징으로 하는 DLNA 기반의 동기화 수행방법.
  5. 제4항에 있어서, 상기 디바이스 변경 로그는,
    상기 시스템 갱신 식별자를 포함함을 특징으로 하는 DLNA 기반의 동기화 수행방법.
  6. 제4항에 있어서, 상기 제2단말과의 동기화 이력을 확인하는 과정은,
    상기 디바이스 변경 로그(Device change log)에 동기화할 상기 제2단말의 상기 시스템 갱신 식별자의 존재 여부를 확인하는 과정임을 특징으로 하는 DLNA 기반의 동기화 수행방법.
  7. 제3항에 있어서, 상기 로컬 스토리지에 동기화할 아이템의 존재 여부를 확인하는 과정은,
    아이템 변경 로그(item change log)에 상기 동기화할 아이템에 대한 상기 아이템 정보의 존재 여부를 확인하는 과정임을 특징으로 하는 DLNA 기반의 동기화 수행방법.
  8. 제3항에 있어서, 상기 DMS에 상기 동기화할 아이템의 존재 여부를 확인하는 과정은,
    아이템 변경 로그(item change log)에 상기 동기화할 아이템과 대응되는 동기화된 DMS의 식별자 및 상기 DMS에 저장된 아이템의 식별자의 존재 여부를 확인하는 과정임을 특징으로 하는 DLNA 기반의 동기화 수행방법.
  9. 제1항에 있어서, 상기 동기화할 아이템에 대한 상기 로컬 스토리지 내에서의 변경 이력을 확인하는 과정을 더 포함하는 것을 특징으로 하는 DLNA 기반의 동기화 수행방법.
  10. 제9항에 있어서, 상기 로컬 스토리지 내에서의 변경 이력을 확인하는 과정은,
    상기 로컬 스토리지 내에 저장된 아이템의 아이템 정보 및 아이템 변경 로그(item change log)에 수록된 아이템 정보와의 일치 여부를 확인하는 것임을 특징으로 하는 DLNA 기반의 동기화 수행방법.
  11. 제9항에 있어서, 상기 동기화할 아이템에 대한 상기 로컬 스토리지 내에서의 변경 이력이 존재함에 대응하여, 상기 DMS로 상기 동기화할 아이템의 삭제를 요청하는 과정을 포함함을 특징으로 하는 DLNA 기반의 동기화 수행방법.
  12. 제9항에 있어서, 상기 동기화할 아이템에 대한 상기 로컬 스토리지 내에서의 삭제 이력이 존재함에 대응하여, 상기 DMS로 상기 동기화할 아이템의 삭제를 요청하는 과정과,
    아이템 변경 로그(item change log)로부터 상기 동기화할 아이템에 대한 아이템 변경 로그를 삭제하는 과정을 포함함을 특징으로 하는 DLNA 기반의 동기화 수행방법.
  13. 제9항에 있어서, 상기 동기화할 아이템에 대한 상기 로컬 스토리지 내에서의 변경 이력이 존재하지 않음에 대응하여, 상기 DMS에서 상기 동기화할 아이템의 변경 이력을 확인하는 과정을 더 포함하는 것을 특징으로 하는 DLNA 기반의 동기화 수행방법.
  14. 제13항에 있어서, 상기 DMS에서 상기 동기화할 아이템의 변경 이력을 확인하는 과정은,
    상기 아이템 변경 로그(item change log)에 수록된 상기 DMS에 저장된 아이템의 식별자와, 상기 제2단말로부터 수신한 아이템 갱신 식별자의 일치 여부를 확인하는 것임을 특징으로 하는 DLNA 기반의 동기화 수행방법.
  15. 제14항에 있어서, 상기 DMS에서 상기 동기화할 아이템의 변경 이력이 존재함에 대응하여, 상기 DMS에서 상기 동기화할 아이템을 삭제하는 과정을 포함함을 특징으로 하는 DLNA 기반의 동기화 수행방법.
  16. 제1항에 있어서,
    상기 제2단말과의 동기화 이력이 존재하지 않음에 대응하여, 상기 DMS를 초기화하는 과정과,
    상기 로컬 스토리지에서 동기화할 아이템을 선택받는 과정을 포함함을 특징으로 하는 DLNA 기반의 동기화 수행방법.
  17. 로컬 스토리지(Local Storage)를 구비한 제1단말과 DMS(Digital Media Server)를 구비한 제2단말을 포함하는 DLNA(Digital Living Network Alliance) 시스템에서, 상기 제1단말이 상기 제2단말과의 동기화를 수행하는 방법에 있어서,
    이전에 동기화가 완료된 DMS 식별자를 포함하는 디바이스 변경 로그(Device change log)를 사용하여 상기 제2단말과의 동기화 이력을 확인하는 과정과,
    아이템 변경 로그(item change log)를 확인하여, 상기 제2단말의 DMS에 저장된 아이템이 상기 로컬 스토리지에 존재 여부를 확인하는 과정과,
    상기 DMS에 저장된 아이템의 변경이력를 확인하는 과정과,
    상기 DMS에 저장된 아이템을 상기 로컬 스토리지로 수신 및 저장하는 과정을 포함함을 특징으로 하는 DLNA 기반의 동기화 수행방법.
  18. 제17항에 있어서,
    상기 DMS에 저장된 아이템을 상기 로컬 스토리지로 수신 및 저장하는 과정은,
    상기 제1단말이 상기 DMS에 저장된 아이템을 수신하여 로컬 스토리지에 저장하는 과정,
    상기 수신된 아이템에 대응하는 상기 DMS의 아이템 갱신 식별자를 요청 및 수신하는 과정과,
    상기 로컬 스토리지에 저장된 아이템에 대한 아이템 변경 로그를 생성 또는 갱신하는 과정을 포함함을 특징으로 하는 DLNA 기반의 동기화 수행방법.
  19. 제18항에 있어서, 상기 아이템 변경 로그는,
    파일명, 파일 저장 경로, 파일 크기, 및 파일 생성 시간을 포함하는 아이템 정보, 동기화된 DMS의 식별자 및 상기 DMS의 아이템 갱신 식별자를 포함함을 특징으로 하는 DLNA 기반의 동기화 수행방법.
  20. 제18항에 있어서,
    상기 DMS에 저장된 아이템을 상기 로컬 스토리지로 수신 및 저장하는 과정은,
    상기 제2단말이 시스템 갱신 식별자를 생성 또는 갱신하는 과정과,
    상기 제1단말이 동기화된 상기 제2단말에 대한 디바이스 변경 로그를 생성 또는 갱신하는 과정을 포함함을 특징으로 하는 DLNA 기반의 동기화 수행방법.
  21. 제20항에 있어서, 상기 디바이스 변경 로그는, 상기 시스템 갱신 식별자를 포함함을 특징으로 하는 DLNA 기반의 동기화 수행방법.
  22. 제20항에 있어서, 상기 제2단말과의 동기화 이력을 확인하는 과정은,
    상기 디바이스 변경 로그(Device change log)에 동기화할 상기 제2단말의 상기 시스템 갱신 식별자의 존재 여부를 확인하는 과정임을 특징으로 하는 DLNA 기반의 동기화 수행방법.
  23. 제19항에 있어서, 상기 DMS에 저장된 아이템의 상기 로컬 스토리지 내에 존재 여부를 확인하는 과정은,
    아이템 변경 로그(item change log)에 상기 DMS에 저장된 아이템에 대한 상기 아이템 정보의 존재 여부를 확인하는 과정임을 특징으로 하는 DLNA 기반의 동기화 수행방법.
  24. 제19항에 있어서, 상기 로컬 스토리지에 저장된 아이템에 대한 상기 로컬 스토리지 내에서의 변경 이력을 확인하는 과정을 더 포함하는 것을 특징으로 하는 DLNA 기반의 동기화 수행방법.
  25. 제24항에 있어서, 상기 로컬 스토리지 내에서의 변경 이력을 확인하는 과정은,
    아이템 변경 로그(item change log)에 수록된 아이템 정보 및 제2단말로부터 수신한 아이템 정보와의 일치 여부를 확인하는 것임을 특징으로 하는 DLNA 기반의 동기화 수행방법.
  26. 제24항에 있어서, 상기 로컬 스토리지에 저장된 아이템에 대한 상기 로컬 스토리지 내에서의 추가 이력이 존재함에 대응하여, 상기 추가된 아이템을 상기 로컬 스토리지로부터 삭제하는 과정을 포함함을 특징으로 하는 DLNA 기반의 동기화 수행방법.
  27. 제26항에 있어서, 상기 DMS에 저장된 아이템의 변경 이력을 확인하고, 상기 DMS에서 상기 로컬 스토리지에 저장된 아이템의 변경, 추가 또는 삭제 여부를 확인하는 과정을 더 포함하는 것을 특징으로 하는 DLNA 기반의 동기화 수행방법.
  28. 제27항에 있어서, 상기 DMS에서 상기 로컬 스토리지에 저장된 아이템의 변경 이력을 확인하는 과정은,
    상기 아이템 변경 로그(item change log)에 수록된 상기 DMS에 저장된 아이템의 식별자와, 상기 제2단말로부터 수신한 아이템 갱신 식별자의 비교하여, 상기 DMS에서 상기 동기화할 아이템의 변경, 추가 또는 삭제 여부를 확인하는 것임을 특징으로 하는 DLNA 기반의 동기화 수행방법.
  29. 제28항에 있어서, 상기 DMS에서 상기 로컬 스토리지에 저장된 아이템의 삭제 이력이 존재함에 대응하여, 상기 DMS에서 삭제된 상기 아이템을 상기 로컬 스토리지로부터 삭제하는 과정과,
    상기 삭제된 아이템의 아이템 변경 로그를 삭제하는 과정을 포함함을 특징으로 하는 DLNA 기반의 동기화 수행방법.
  30. 제28항에 있어서, 상기 DMS에서 상기 로컬 스토리지에 저장된 아이템의 변경 이력이 존재함에 대응하여, 상기 DMS에서 변경된 상기 아이템을 상기 로컬 스토리지로부터 삭제하는 과정을 포함함을 특징으로 하는 DLNA 기반의 동기화 수행방법.
KR1020100016632A 2010-02-24 2010-02-24 Dlna 기반의 동기화 수행 방법 KR101623990B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100016632A KR101623990B1 (ko) 2010-02-24 2010-02-24 Dlna 기반의 동기화 수행 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100016632A KR101623990B1 (ko) 2010-02-24 2010-02-24 Dlna 기반의 동기화 수행 방법

Publications (2)

Publication Number Publication Date
KR20110097024A KR20110097024A (ko) 2011-08-31
KR101623990B1 true KR101623990B1 (ko) 2016-06-07

Family

ID=44932106

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100016632A KR101623990B1 (ko) 2010-02-24 2010-02-24 Dlna 기반의 동기화 수행 방법

Country Status (1)

Country Link
KR (1) KR101623990B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100724940B1 (ko) * 2005-12-05 2007-06-04 삼성전자주식회사 Dlna 시스템에서의 dms의 컨텐츠 업데이트 방법
US20070226312A1 (en) * 2006-03-24 2007-09-27 Nokia Corporation System and method for using web syndication feeds as a change log for synchronization in a UPnP audio/video environment
JP2008165328A (ja) * 2006-12-27 2008-07-17 Brother Ind Ltd データ同期システム、取得端末、提供端末、取得プログラム及び提供プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100724940B1 (ko) * 2005-12-05 2007-06-04 삼성전자주식회사 Dlna 시스템에서의 dms의 컨텐츠 업데이트 방법
US20070226312A1 (en) * 2006-03-24 2007-09-27 Nokia Corporation System and method for using web syndication feeds as a change log for synchronization in a UPnP audio/video environment
JP2008165328A (ja) * 2006-12-27 2008-07-17 Brother Ind Ltd データ同期システム、取得端末、提供端末、取得プログラム及び提供プログラム

Also Published As

Publication number Publication date
KR20110097024A (ko) 2011-08-31

Similar Documents

Publication Publication Date Title
US9883251B2 (en) Method and apparatus for managing connection between broadcast receiving device and another device connected by network
US10122785B2 (en) Method of synchronizing a plurality of content directory device (CDS) devices, CDS device, and system
KR100915876B1 (ko) 네트워크상에서 멀티미디어 데이터의 디스포지션을제어하기 위한 캐싱 디렉토리 서버 데이터
US8078732B2 (en) System and method for plug and play between host and client
US9229937B2 (en) Apparatus and method for managing digital contents distributed over network
US7890628B2 (en) Method for controlling services
US10554745B2 (en) Method and apparatus for managing connection between broadcasting reception device and another device which are connected through network
JP5270608B2 (ja) コンテンツ再生制御システム、コンテンツ再生制御方法、コンテンツサーバ、携帯端末及びプログラム
EP1868324A2 (en) System and method for representing an infrared pass-through protocol in a home network
EP1707007A1 (en) Method and system for filtering home-network content
US7849222B2 (en) Method of synchronizing multiple content directory services, and content directory service devices and a system thereof
WO2009123849A1 (en) Method and apparatus for synchronizing metadata and media based on upnp protocol
JP2007158854A (ja) Avサーバ装置、クライアント機器、及びファイル転送システム
EP3160101B1 (en) Multi-media resource management method, cloud server and electronic device
JP2006165650A (ja) メタデータ管理装置
US20070260652A1 (en) Storage capacity query for UPnP AV media server CDS
US20090216854A1 (en) Controlled device, control system, and management device
US20070180473A1 (en) Method and apparatus for recording broadcast programs by tracking change of broadcasting time
US10165082B2 (en) Method and apparatus for managing connection between plurality of devices over network
KR101623990B1 (ko) Dlna 기반의 동기화 수행 방법
KR101210359B1 (ko) Dlna 네트워크에서 디지털 컨텐츠 매니지먼트 기능을이용한 컨텐츠 분류 방법 및 장치
US20110307595A1 (en) Method and apparatus for determining object updates in a home network
JP2008177841A (ja) 録画再生装置、通信方法およびプログラム
KR20110103681A (ko) 홈 네트워크 환경에서 미디어 콘텐츠 관리방법

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
LAPS Lapse due to unpaid annual fee