KR100678921B1 - 다중 서버 환경에 적합한 디바이스를 클라이언트로 하여동기화를 수행하는 방법 및 장치 - Google Patents

다중 서버 환경에 적합한 디바이스를 클라이언트로 하여동기화를 수행하는 방법 및 장치 Download PDF

Info

Publication number
KR100678921B1
KR100678921B1 KR1020050098161A KR20050098161A KR100678921B1 KR 100678921 B1 KR100678921 B1 KR 100678921B1 KR 1020050098161 A KR1020050098161 A KR 1020050098161A KR 20050098161 A KR20050098161 A KR 20050098161A KR 100678921 B1 KR100678921 B1 KR 100678921B1
Authority
KR
South Korea
Prior art keywords
synchronization
client
content
server
log information
Prior art date
Application number
KR1020050098161A
Other languages
English (en)
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 KR1020050098161A priority Critical patent/KR100678921B1/ko
Priority to US11/543,944 priority patent/US8005789B2/en
Priority to JP2006278855A priority patent/JP4571929B2/ja
Priority to EP06122449A priority patent/EP1777914A1/en
Priority to CN201310470127.5A priority patent/CN103634291A/zh
Priority to CNA2006101355459A priority patent/CN1972195A/zh
Application granted granted Critical
Publication of KR100678921B1 publication Critical patent/KR100678921B1/ko

Links

Images

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/10Flow control between communication endpoints
    • H04W28/14Flow control between communication endpoints using intermediate storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/14Backbone network devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 다중 서버 환경에 적합한 디바이스를 클라이언트로 하여 동기화를 수행하는 방법 및 장치에 관한 발명으로서, 본 발명의 일 실시예에 따른 서버는 연결된 클라이언트와 멀티미디어 컨텐츠 또는 멀티미디어 컨텐츠의 메타 데이터의 동기화를 수행하는데 필요한 동기화 정책을 상기 클라이언트의 식별자로 검색하여 획득하는 동기화 정책 관리부, 상기 클라이언트와 종래에 수행한 동기화 작업 및 이후 발생한 변경에 대한 로그 정보를 상기 클라이언트로부터 수집하는 동기화 정보 수집부, 상기 획득한 로그 정보에 따라 상기 클라이언트와 동기화를 수행하는 동기화 처리부, 상기 클라이언트와 수행한 동기화의 작업 결과를 상기 로그 정보에 저장하는 변경 로그 관리부, 상기 작업 결과를 상기 클라이언트의 로그 정보에 저장하도록 상기 로그 정보를 전송하는 인터페이스부, 및 상기 멀티미디어 컨텐츠와 상기 멀티미디어 컨텐츠의 메타 데이터를 저장하는 저장부를 포함한다.
동기화(Synchronization), 서버, 포터블 디바이스, 로그

Description

다중 서버 환경에 적합한 디바이스를 클라이언트로 하여 동기화를 수행하는 방법 및 장치{Method and apparatus for synchronizing multimedia contents with device which supports plural server environment}
도 1은 종래의 단일 컨텐츠 동기화 서버와 포터블 디바이스의 연결을 보여주는 도면이다.
도 2는 본 발명의 일 실시예로 포터블 디바이스와 컨텐츠 동기화 서버간의 결합을 보여주는 도면이다.
도 3은 본 발명의 일 실시예에 따른 컨텐츠 동기화 서버의 구성을 보여주는 도면이다.
도 4는 본 발명의 일 실시예에 따른 포터블 디바이스의 구성을 보여주는 도면이다.
도 5는 본 발명의 일 실시예에 따른 변경 로그의 구성을 보여주는 도면이다.
도 6은 본 발명의 일 실시예에 따른 동기화 앵커의 구성을 보여주는 도면이다.
도 7은 본 발명의 일 실시예에 따른 컨텐츠 동기화 서버의 동기화 동작을 보여주는 순서도이다.
<도면의 주요 부분에 대한 부호의 설명>
100: 컨텐츠 동기화 서버 120: 동기화 정책 관리부
130: 동기화 목록 관리부 140: 동기화 처리부
160: 변경 로그 관리부 176: 동기화 앵커
178: 변경 로그 200: 포터블 디바이스
본 발명은 멀티미디어 서버와 클라이언트 사이의 동기화에 관한 것으로, 보다 상세하게는 다중 서버 환경에 적합한 디바이스를 클라이언트로 하여 동기화를 수행하는 방법 및 장치에 관한 것이다.
서버로부터 멀티미디어 파일과 같은 컨텐츠를 다운받아서 휴대용 기기에 저장하여 사용할 경우에 서버와 동기화를 수행하는 것이 필요하다. 특히 최근에 DRM(Digital Rights Management, 디지털 저작권 관리)의 중요성이 부각되면서, 서버에 저장된 컨텐츠와 휴대용 기기에 저장된 컨텐츠간에 동기화(싱크, Synchronization)를 유지하는 연구가 진행되고 있다. 종래에 컨텐츠 동기화는 동기화 대상이 되는 클라이언트인 포터블 디바이스와 USB, IEEE1394 등과 같은 인터페이스를 통해서 1:1로 연결된다.
도 1은 종래의 단일 컨텐츠 동기화 서버와 포터블 디바이스의 연결을 보여주는 도면이다.
컨텐츠 동기화 서버(10)와 포터블 디바이스(20)는 유, 무선으로 연결되어 동 기화를 시작한다. 종래의 컨텐츠 동기화 서버(10)는 USB, IEEE1394 등과 같은 인터페이스(30)를 통해서 동기화 대상이 되는 클라이언트인 포터블 디바이스(20)의 연결을 감지한다. 연결이 감지된 디바이스의 부가 정보를 바탕으로 동기화 대상 디바이스인지 여부를 확인한다. 동기화 대상 디바이스임이 확인되면, 동기화 목록 관리부(13)을 통해서 해당 디바이스의 동기화 목록을 획득한다.
동기화 대상 컨텐츠 수집부(15)는 컨텐츠 동기화 서버측에 저장되어 있는 컨텐츠들 가운데 동기화 목록으로 설정된 컨텐츠들을 수집하고, 포터블 디바이스의 로컬 저장소에 존재하는 모든 컨텐츠들을 수집하여 동기화와 관련된 모든 데이터를 확보한다. 동기화 처리부(16)는 컨텐츠 동기화 서버(10)측의 동기화 목록에 해당하는 컨텐츠와 포터블 디바이스(20)에 존재하는 모든 컨텐츠를 서로 비교하여 특정 컨텐츠를 포터블 디바이스(20)으로 다운로드하거나 컨텐츠 동기화 서버(10)로 업로드하는 작업을 반복 수행하여 동기화를 진행한다.
이때, 특정 컨텐츠에서 충돌이 발생하면, 이를 정해진 정책에 의해 처리한다. 일반적으로 기존 컨텐츠 동기화 서버의 경우, 컨텐츠 동기화 서버상에 존재하는 컨텐츠의 데이터를 우선하여 이를 포터블 디바이스에 반영하는 정책을 취한다. 모든 컨텐츠에 대해서 처리가 완료되면 동기화를 종료한다. 동기화가 완료되면, 포터블 디바이스(20)에는 컨텐츠 동기화 서버(10)에 설정된 해당 포터블 디바이스(20)의 동기화 목록과 동일한 컨텐츠로 채워진다.
도 1과 같은 종래의 컨텐츠 동기화 서버(10)의 동기화 방식에는 다음과 같은 문제점을 가지고 있다.
첫번째로, 다중 서버 환경에 부적합하다. 기존 컨텐츠 동기화 서버(10)의 동기화 방식은 하나의 컨텐츠 동기화 서버(10)에 하나 이상의 포터블 디바이스(20)가 연결되는 환경만을 대상으로 한다. 즉, 특정 컨텐츠 동기화 서버(10) A와의 자동 동기화에 참여하는 특정 포터블 디바이스(20) B는 동시에 다른 컨텐츠 동기화 서버 C 와의 자동 동기화에 참여할 수 없다.
다음으로, 기존 컨텐츠 동기화 서버(10)는 자동 동기화시 서버 우선의 단방향 정책만을 지원한다. 이는 다중 서버 환경에서의 사용자의 다양한 요구를 만족시킬 수 없다.
또한 기존 컨텐츠 동기화 서버(10)는 변경 여부에 관계 없이 전체 컨텐츠를 대상으로 서버와 클라이언트의 컨텐츠를 전체 비교하여 동기화를 수행하므로, 대상 컨텐츠 수가 많을 경우, 그 변경의 정도와 관계없이 느려서 비효율적이다.
포터블 디바이스에서 발생하는 파일에 대한 변경의 대부분은 재생 횟수나 마지막 재생 시간과 같은 컨텐츠에 대한 메타데이터의 변경이 대부분을 차지한다. 하지만 기존 컨텐츠 동기화 서버(10)는 컨텐츠 파일 중심의 동기화를 수행하여 메타데이터의 변경으로 인한 파일의 변경에 대해서 전체 파일을 교체하는 방식의 동기화를 수행하여 비효율적이다.
따라서 다수의 컨텐츠 서버에서 동기화가 이루어지며, 또한 멀티미디어 컨텐츠의 속성에 알맞게 동기화를 수행하는 방법 및 장치가 필요하다.
본 발명은 상기한 문제점을 개선하기 위해 안출된 것으로, 본 발명은 대량의 컨텐츠의 동기화에도 빠른 성능을 보장할 수 있을 뿐만 아니라 사용자의 다양한 정책 요구를 만족시킴과 동시에 다중 서버 환경에서도 자동 동기화가 가능한 동기화 기법을 제공하는데 목적이 있다.
본 발명의 또다른 목적은 다중 서버 환경을 고려하여 사용자의 다양한 동기화 정책 요구를 수용할 수 있도록 컨텐츠 리스트, 컨텐츠 메타데이터, 컨텐츠 파일 각각에 분할 적용이 가능한 동기화 정책 모델을 정의하였다. 뿐만 아니라 이들 각각에 대해서 발생할 수 있는 변경 사항에 대해서 변경 로그를 기반으로 변경이 발생한 컨텐츠만을 대상으로 동기화를 수행하는 빠른 동기화 동작 방법을 제공하는 것이다.
본 발명의 목적들은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 일 실시예에 따른 서버는 연결된 클라이언트와 멀티미디어 컨텐츠 또는 멀티미디어 컨텐츠의 메타 데이터의 동기화를 수행하는데 필요한 동기화 정책을 상기 클라이언트의 식별자로 검색하여 획득하는 동기화 정책 관리부, 상기 클라이언트와 종래에 수행한 동기화 작업 및 이후 발생한 변경에 대한 로그 정보를 상기 클라이언트로부터 수집하는 동기화 정보 수집부, 상기 획득한 로그 정보에 따라 상기 클라이언트와 동기화를 수행하는 동기화 처리부, 상기 클라이언트와 수행한 동기화의 작업 결과를 상기 로그 정보에 저장하는 변경 로그 관리부, 상기 작업 결과를 상기 클라이언트의 로그 정보에 저장하도록 상기 로그 정보를 전송하는 인터페이스부, 및 상기 멀티미디어 컨텐츠와 상기 멀티미디어 컨텐츠의 메타 데이터를 저장하는 저장부를 포함한다.
본 발명의 일 실시예에 따른 클라이언트 디바이스는 멀티미디어 컨텐츠의 동기화를 수행할 수 있는 서버들의 목록이 저장된 동기화 서버 목록, 상기 서버와 동기화를 수행한 결과를 저장하는 변경 로그 관리부, 상기 서버와 데이터를 송수신하는 인터페이스부, 및 상기 멀티미디어 컨텐츠 또는 상기 동기화를 수행한 작업 결과를 저장하는 저장부를 포함한다.
본 발명의 일 실시예에 따른 다중 서버 환경에 적합한 디바이스를 클라이언트로 하여 동기화를 수행하는 방법은 연결된 클라이언트와 동기화를 수행하는데 필요한 동기화 정책을 상기 클라이언트의 식별자로 검색하여 획득하는 단계, 상기 클라이언트와 종래에 수행한 동기화 작업의 로그 정보를 상기 클라이언트로부터 수집하는 단계, 상기 획득한 로그 정보에 따라 상기 클라이언트와 동기화를 수행하는 단계, 상기 클라이언트와 수행한 동기화를 수행한 작업 결과를 상기 로그 정보에 저장하는 단계, 및 상기 작업 결과를 상기 클라이언트의 로그 정보에 저장하는 단계를 포함한다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발 명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다
이하, 본 발명의 실시예들에 의하여 다중 서버 환경에 적합한 디바이스를 클라이언트로 하여 동기화를 수행하는 방법 및 장치를 설명하기 위한 블록도 또는 처리 흐름도에 대한 도면들을 참고하여 본 발명에 대해 설명하도록 한다. 이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑제되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
도 2는 본 발명의 일 실시예로 포터블 디바이스와 컨텐츠 동기화 서버간의 결합을 보여주는 도면이다.
본 명세서에서는 컨텐츠 동기화 서버와 결합하는 디바이스의 실시예로 포터블 디바이스로 하고 있으니, 이는 일 실시예이다. 포터블이 아닌 고정된 디바이스의 경우에도 다수의 컨텐츠 동기화 서버와 동작할 수 있다.
포터블 디바이스(200)는 장치의 특성상 이동이 자유롭기 때문에 이전의 동기화에 사용된 컨텐츠 동기화 서버(101)와는 다른 컨텐츠 동기화 서버(102)에 연결될 수 있다. 예를 들어, MP3 플레이어에 음악 파일을 다운로드 받기 위해서 집에 있는 PC와 동기화를 할 수 있고, 상기 MP3 플레이어를 가지고 사무실로 와서, 사무실의 PC와도 동기화를 수행하는 경우가 발생한다.
기존 기술에서는 이전의 홈 컨텐츠 동기화 서버(101)와의 자동 동기화와 관계된 정보는 모두 유효하지 않게 되고, 새로운 오피스 컨텐츠 동기화 서버(103)와의 자동 동기화 관계만 유효해진다. 본 명세서에서는 도 2와 같이 동일한 포터블 디바이스(200)를 복수개의 컨텐츠 동기화 서버(101, 102)에 연결하더라도 모두와 자동 동기화가 가능하도록 해주는 다중 서버 동기화 방식을 이용한다.
본 실시예에서 사용되는 '~부'라는 용어, 즉 '~모듈' 또는 '~테이블' 등은 소프트웨어, FPGA(Field Programmable Gate Array) 또는 주문형 반도체(Application Specific Integrated Circuit, ASIC)와 같은 하드웨어 구성요소를 의미하며, 모듈은 어떤 기능들을 수행한다. 그렇지만 모듈은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. 모듈은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 모듈은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 모듈들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 모듈들로 결합되거나 추가적인 구성요소들과 모듈들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 모듈들은 디바이스 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.
도 3은 본 발명의 일 실시예에 따른 컨텐츠 동기화 서버의 구성을 보여주는 도면이다. 컨텐츠 동기화 서버(100)는 컴퓨터, DVD, 홈 네트워크 서버, UPNP 서버 등과 같이 멀티미디어 컨텐츠를 저장하는 서버를 포함한다. 특정 사용자가 집과 사무실에 멀티미디어 컨텐츠 서버를 두고 MP3 플레이어와 같은 포터블 디바이스를 소유한 경우 집의 컨텐츠 서버와 사무실의 컨텐츠 서버 두 군데에서 멀티미디어 파일을 다운 받을 수 있으며 포터블 디바이스 내의 멀티미디어 파일을 재생할 수 있다. 이 경우, 집에 있는 컨텐츠 서버와 포터블 디바이스, 또는 사무실에 있는 컨텐츠 서버와 포터블 디바이스 사이에 동기화가 이루어지지 않을 수 있다.
예를 들어, 한 멀티미디어 파일에 대해 복사 기능이 5회로 한정된 경우에, 집에 있는 컨텐츠 서버에서 포터블 디바이스로 1회 복사한 후에, 포터블 디바이스에서 사무실에 있는 컨텐츠 서버로 1회 복사한다면, 집에 있는 컨텐츠 서버의 멀티미디어 파일의 정보가 수정될 필요가 있다.
이 경우, 컨텐츠 서버(컨텐츠 동기화 서버, 101)와 포터블 디바이스(200)가 동기화를 수행하고, 또다른 컨텐츠 서버(컨텐츠 동기화 서버, 102)와 포터블 디바이스(200)가 다시 동기화를 수행할 수 있다. 포터블 디바이스(200)에는 두 서버와 실시한 동기화 결과가 저장되어 있으며 다시 상기 서버들과 동기화를 수행할 경우, 변경 정보를 참조할 수 있다.
이러한 DRM의 적용 외에도 멀티미디어 파일들 간의 동기화를 위해, 도 2와 같이 하나의 포터블 디바이스가 다수의 컨텐츠 서버와 동기화를 수행할 수 있다. 그리고 변경된 파일 또는 변경된 정보만을 다른 서버와 동기화를 수행시 적용시킬 수 있다.
동기화 관리 애플리케이션(112)은 동기화와 관련된 여러 가지 설정 등을 위해 사용자와 상호 작용하는 애플리케이션이다. 동기화 관리 애플리케이션(112)는 디바이스 관리부(110)와 상호 작용을 통해 동기화 대상 디바이스를 등록하는 작업을 수행하며, 동기화 정책 관리부(120)를 통해서 동기화 정책(122)을 조절한다.
또한 동기화 관리 애플리케이션(112)은 동기화 목록 관리부(130)를 통해서 동기화 목록(132)을 편집하며, 동기화 처리부(140)를 통해서 동기화를 수행시키는 역할을 담당한다.
디바이스 관리부(110)는 포터블 디바이스가 USB, IEEE1394 등과 같은 인터페이스를 통해서 연결이 되었는지를 감지하고, 연결이 감지된 디바이스를 검사하여 동기화 대상으로 등록된 디바이스인지를 확인하는 역할을 수행한다. 만약 동기화가 가능한 대상 디바이스이지만, 아직 등록되지 않은 디바이스라면, 동기화 관리 애플리케이션(112)에게 등록 여부를 질의할 수 있다.
동기화 정책 관리부(120)는 등록된 특정 클라이언트 포터블 디바이스와의 동기화를 위해 설정되어 있는 동기화 정책(122)을 수정 및 관리하는 모듈이다.
동기화 정책(122)이란 등록된 특정 클라이언트 포터블 디바이스와의 동기화를 위해 설정되어 있는 동기화 정책 파일을 의미한다. 동기화 정책(122)에 대해서는 후술하고자 한다.
동기화 목록 관리부(130)는 클라이언트 포터블 디바이스에 대해서 동기화 관리 애플리케이션(112)을 통해서 등록된 동기화 목록에 해당하는 컨텐츠의 목록을 저장 및 관리하는 역할을 수행한다.
동기화 목록(132)이란 특정 포터블 디바이스와 동기화하기 위해 설정되어 있는 컨텐츠들의 목록을 말한다. 동기화 목록에 대해서는 후술하고자 한다.
동기화 처리부(140)는 실제 동기화를 담당하는 부분으로, 동기화 정보 수집부(150)로부터 클라이언트의 동기화 관련 정보와 동기화 서버의 관련 정보를 획득하여 동기화를 수행한다. 이 때 충돌이 발생할 경우 충돌 처리부(145)를 통해서 이를 해결한다.
충돌 처리부(145)는 동기화 과정에서 충돌이 발생하는 경우, 예를 들어, 컨텐츠 동기화 서버와 클라이언트에 존재하는 동일 컨텐츠 가운데 상이한 데이터를 포함하고 있는 경우에 충돌을 처리한다. 이때 컨텐츠 동기화 서버 측에 맞춰서 클라이언트를 수정할 것인지 혹은 클라이언트에 맞춰서 컨텐츠 동기화 서버를 수정할 것인지를 결정하고 이를 수행하는 과정을 충돌 처리라 한다. 충돌 처리는 사용자에 의해 선정된 동기화 정책에 따라 수행된다.
동기화 정보 수집부(150)는 동기화 처리부(140)에서 필요로 하는 동기화와 관련된 정보를 수집한다. 동기화 서버측의 동기화 관련 정보를 수집하기 위해서 동기화 목록 관리부(130)를 통해 해당 동기화 목록을 획득하고, 변경 로그 기반의 동기화를 수행하기 위해서 변경 로그 관리부(160)를 통해 변경 로그(178) 및 앵커 정보(176)을 획득한다. 또한 클라이언트 측의 동기화 관련 정보를 획득하기 위해서 디바이스 통신 인터페이스(114)와 상호 작용을 하며, 이를 통해서 포터블 디바이스 내에 저장하고 있는 변경 로그(178)와 동기화 앵커(176)를 획득한다. 또한 클라이 언트의 컨텐츠 메타데이터 DB(172), 컨텐츠 목록 DB(174) 및 로컬 컨텐츠 파일(170)에서도 관련 정보를 획득하는 역할을 담당한다.
변경 로그 관리부(160)는 동기화 서버에 저장된 로컬 컨텐츠 파일(170), 컨텐츠 메타데이터 DB(172) 및 컨텐츠 목록 DB(174)에서 발생한 변경을 기록한 변경 로그(178)를 저장 관리 하는 모듈이다.
동기화 앵커(176)는 이전 동기화와의 유효성을 판단하고, 이전 동기화 시 마지막으로 처리한 변경 로그가 무엇인가에 대한 정보를 저장하고 있는 파일이다. 동기화 앵커에 대해서는 후술하고자 한다.
변경 로그(178)는 변경 로그 관리부(160)가 동기화 서버에 저장된 로컬 컨텐츠 파일(170) 및 컨텐츠 메타데이터 DB(172), 컨텐츠 목록 DB(174)에서 발생한 변경을 기록한 파일이다.
컨텐츠 메타데이터 DB(172)는 동기화 서버에 저장된 로컬 컨텐츠 파일(170)에 대한 메타데이터를 모아놓은 데이터 베이스이다. 컨텐츠 목록 DB(174)는 컨텐츠 메타데이터 DB(172)에 등록되어 있는 개별 컨텐츠에 대한 묶음 정보이다.
로컬 컨텐츠 파일(170)은 동기화 서버상에 저장하고 있는 실제 멀티미디어 파일로, 동기화 과정에서 포터블 디바이스로 다운로드되거나 포터블 디바이스에서 업로드된다.
도 4는 본 발명의 일 실시예에 따른 포터블 디바이스의 구성을 보여주는 도면이다. 포터블 디바이스의 일 실시예로 MP3 플레이어, PMP(personal Media Player), DSC(Digital Still Camera), PDA(Personal Digital Assistant), 카메라폰 과 같은 컨텐츠를 저장 사용할 수 있는 장치가 될 수 있다. 또한 포터블이 아닌 고정된 디바이스라도 도 4의 구성을 갖추고 동기화 클라이언트의 기능을 제공할 수 있다.
디바이스 관리부(210)는 상기 포터블 디바이스의 디바이스 정보(226)와 동기화 서버 목록(228)를 동기화 서버에 제공하기 위한 모듈이다.
디바이스 정보(226)는 동기화 서버가 상기 포터블 디바이스를 인증할 수 있도록 제공되는 부가 정보를 담고 있는 파일이며, 동기화 서버 목록(228)은 상기 포터블 디바이스와 동기화에 참여하는 전체 동기화 서버 목록을 저장하고 있는 파일이다.
변경 로그 관리부(260)는 동기화 서버에 저장된 로컬 컨텐츠 파일(270), 컨텐츠 메타데이터 DB(272) 및 컨텐츠 목록 DB(274)에서 발생한 변경을 기록한 변경 로그(278)를 저장하고 관리한다.
동기화 앵커(276)는 이전 동기화와의 유효성을 판단하고, 이전 동기화 시 마지막으로 처리한 변경 로그가 무엇인가에 대한 정보를 저장하고 있는 파일이다. 
변경 로그(278)는 변경 로그 관리부(260)가 포터블 디바이스에 저장된 로컬 컨텐츠 파일(270) 및 컨텐츠 메타데이터 DB(272), 컨텐츠 목록 DB(274)에서 발생한 변경을 기록한 파일이다.
컨텐츠 메타데이터 DB(272)는 포터블 디바이스에 저장된 로컬 컨텐츠 파일(270)에 대한 메타데이터를 모아놓은 데이터 베이스이며, 컨텐츠 목록 DB(274)는 컨텐츠 메타데이터 DB(272)에 등록되어 있는 개별 컨텐츠에 대한 묶음 정보이다.
로컬 컨텐츠 파일(270)은 포터블 디바이스에 저장하고 있는 실제 멀티미디어 파일로, 동기화 과정에서 포터블 디바이스로 다운로드되거나 포터블 디바이스에서 업로드된다.
사용자 애플리케이션(212)은 포터블 디바이스에 탑재된 사용자 애플리케이션이다.
컨텐츠 서버와 포터블 디바이스 사이에 동기화를 수행시 동기화 정책을 적용할 수 있다. 동기화 정책(Synchronization Policy)이란, 동기화를 수행함에 있어 동기화 서버와 클라이언트가 불일치 하는 경우 어느 쪽을 기준으로 어떻게 일치화 시킬 것인가에 대한 정책을 의미한다. 동기화 정책은 컨텐츠 동기화 서버와 클라이언트 양측의 컨텐츠 목록 및 메타데이터를 변경하는 방식이나 방향성, 충돌된 항목에 대한 결정 등의 기준으로 사용되며, 다음과 같은 정책 모델을 따른다.
정책 적용 대상(Policy Target)으로, 동기화 정책은 각 디바이스마다 개별적으로 정의되며, 컨텐츠 목록, 컨텐츠 파일, 메타데이터 각각에 대해서 개별적으로 적용이 가능하다. 각각의 정책 적용 대상에 대해서 동기화의 방향성(Synchronizing Direction)은 다음과 같이 세 방식으로 정의될 수 있다.
첫번째로는 동기화 서버에서 클라이언트로의 단방향 동기화로, 동기화 서버의 변경 정보를 바탕으로 클라이언트를 변경한다.
다음은 클라이언트에서 동기화 서버로의 단방향 동기화로, 클라이언트의 변경 정보를 바탕으로 동기화 서버를 변경한다.
세번째로 방식으로 동기화 서버 및 클라이언트의 양방향 동기화가 있는데, 이는 동기화 서버 및 클라이언트 양측의 변경 사항을 바탕으로 서로를 변경한다.
위와 같이 동기화 적용 대상 및 방향성과 함께 동기화 정책을 구성하는 요소로 동기화 타입(Synchronization Type)이 있다. 동기화 타입이란 실제 충돌이 발생하였을 때 어떤 것을 선택할 것인가에 대한 기준이 되는 동기화 정책의 핵심으로, 다음과 같이 정의될 수 있다.
클라이언트 우선(Client Win) 방식은 충돌이 발생하였을 때, 클라이언트를 우선하여 적용한다. 동기화 서버 우선(Server Win) 방식은 충돌이 발생하였을 때, 동기화 서버를 우선하여 적용한다. 존재 병합(Existence Merge) 방식은 동기화 서버와 클라이언트의 변경 사항 가운데 새롭게 생성되어 추가되는 내용에 대해서만 동기화를 실시하는 방식이다. 동기화 서버와 클라이언트가 존재 병합을 실시하게 되면, 동기화 서버 혹은 클라이언트에 존재하는 대상의 합집합이 생성되게 된다. 최신 변경 우선(Up-to-Date) 방식은 충돌이 발생하였을 경우 최신 변경 사항이 우선하는 타입을 의미한다.
앞서 설명한 동기화 적용 대상과 동기화 방향성 및 동기화 타입은 서로 조합을 통해서 다양한 경우의 동기화 정책을 생성하게 된다.
한편 컨텐츠 동기화 서버와 포터블 디바이스의 컨텐츠 메타데이터 DB의 구성을 살펴보면 다음과 같다.
ID3 메타데이터를 포함하고 있는 MP3 파일처럼, 일반적으로 멀티미디어 컨텐츠 파일은 해당 컨텐츠에 대한 정보가 기록된 메타데이터를 포함하고 있다. 포터블 디바이스에서 발생하는 파일에 대한 변경의 대부분은 재생 횟수나 마지막 재생 시 간과 같은 컨텐츠 메타데이터의 변경이 대부분을 차지한다. 이러한 메타데이터의 변경은 컨텐츠 파일에 포함된 메타데이터의 변경을 의미하기 때문에 파일의 변경을 발생시킨다. 이는 동기화 시 파일의 불일치를 야기하며, 기존 방식에서는 이 경우 전체 컨텐츠 파일을 교체한다.
하지만 본 명세서에서는 컨텐츠 파일과 함께 그에 대한 컨텐츠 메타데이터 DB를 컨텐츠 동기화 서버와 클라이언트 포터블 디바이스에 유지함으로써 메타데이터의 변경이 발생했을 때 컨텐츠 메타데이터 DB의 변경만으로 동기화의 효과를 얻을 수 있게 한다.
컨텐츠 메타데이터 DB는 응용에서 필요로 하는 어떠한 메타데이터 항목으로도 확장 가능하지만, 다중 서버 환경에서 개별적으로 추가되는 컨텐츠의 유일성을 보장할 수 있게 하기 위해서 컨텐츠 파일의 해시 값(MD4, MD5 등)을 컨텐츠 ID로 하여 컨텐츠 메타데이터 DB의 키(Primary Key)로 활용한다.
컨텐츠 동기화 서버와 포터블 디바이스의 컨텐츠 목록 DB의 구성을 살펴보면 다음과 같다.
대부분의 멀티미디어 컨텐츠 브라우저들은 논리적인 컨텐츠의 묶음 개념을 사용한다. 동영상 및 사진 컨텐츠 파일의 묶음인 앨범, 음악 컨텐츠 파일의 묶음인 재생목록 등이 그것이다. 다중 동기화 서버 환경에서는 여러 개의 동기화 서버 사이에서 이러한 컨텐츠의 논리적 묶임인 컨텐츠 목록의 공유가 필요하다. 이를 위해서 본 명세서에서는 컨텐츠 목록에 대해서도 앞선 컨텐츠 메타데이터 DB와 마찬가지로 해시 값을 컨텐츠 묶임 ID로 하는 컨텐츠 목록 DB를 지닌다. 이로서 동기화를 통해 홈 컨텐츠 동기화 서버 H 상에 만들어진 "자주 듣는 곡"이라는 재생 목록은 동기화 관계로 연결된 오피스 컨텐츠 동기화 서버 K 의 동일한 컨텐츠 목록 ID를 지니는 "자주 듣는 곡"과 같은 것으로 공유되어 서로 동기화 될 수 있게 된다.
동기화 목록이란, 특정 클라이언트 포터블 디바이스와의 동기화 대상을 지정하기 위한 목적으로 만들어진 일련의 컨텐츠 모음을 의미한다.
동기화 목록은 컨텐츠 목록 단위로 추가/삭제가 가능하고, 개별 컨텐츠 단위로도 추가/삭제가 가능하다. 하지만 내부적으로 동기화 목록은 컨텐츠 목록의 묶음으로 관리되며, 개별적으로 추가/삭제된 컨텐츠들은 기본 컨텐츠 목록의 형태로 관리된다.
동일한 포터블 디바이스를 복수개의 컨텐츠 동기화 서버에 연결하더라도 각각의 서버와 자동 동기화가 가능하다. 이를 위해서 컨텐츠 동기화 서버와 포터블 디바이스에 각각 대상 동기화 디바이스를 관리하는 디바이스 관리부를 두었으며 동기화 관련 정보를 모두 디바이스 단위로 나눠서 저장하였다. 복수개의 서버와 다중 동기화가 가능하므로 사용자는 MP3 플레이어와 같은 포터블 디바이스를 어느 PC 혹은 노트북에 연결하더라도 이전의 자동 동기화 설정을 유지하면서 새로운 자동 동기화 설정을 추가할 수 있어 자동 동기화 이용의 제약을 극복할 수 있다.
동기화 정책을 사용할 경우, 다양한 수준의 동기화 정책을 적용할 수 있게 하여 다중 서버 동기화 환경에서도 사용자의 다양한 요구에 맞는 동기화를 가능하게 한다. 예를 들어, 홈 컨텐츠 동기화 서버에서 포터블 디바이스로의 동기화 방향을 정책으로 설정한 후, 다시 동일한 포터블 디바이스에 대해서 포터블 디바이스에 서 오피스 컨텐츠 동기화 서버로의 자동 동기화 방향을 정책으로 지정하게 되면 사용자는 홈 컨텐츠 동기화 서버와 오피스 컨텐츠 동기화 서버에 반복적으로 포터블 디바이스를 연결하여 자동 동기화하는 과정을 통해 홈 컨텐츠 동기화 서버의 컨텐츠를 오피스 컨텐츠 동기화 서버와 동기화 시키는 효과를 얻을 수 있다. 이는 컨텐츠 동기화 서버와 클라이언트 포터블 디바이스 사이에 각기 다른 동기화 정책을 부여하였기 때문에 가능한 결과이다.
 한편 변경 로그를 기반으로 동기화를 하게 될 경우, 변경된 컨텐츠만을 대상으로 동기화 작업을 수행하여 좀 더 빠르고 효율적인 동기화가 가능하다. 또한 메타데이터의 변경이 발생했을 때 컨텐츠 메타데이터 DB의 변경만으로 동기화의 효과를 얻을 수 있게 한다.
컨텐츠 목록 DB를 이용하여 다수의 서버 사이에 컨텐츠 목록 DB를 공유할 수 있다. 다중 동기화 서버 환경에서는 여러 개의 동기화 서버 사이에서 컨텐츠의 논리적 묶임인 컨텐츠 목록의 공유가 필요하다. 일 실시예로 컨텐츠 목록에 대해서도 컨텐츠 메타데이터 DB와 마찬가지로 해시 값을 컨텐츠 목록 ID로 하는 컨텐츠 목록 DB를 생성하여 이를 동기화함으로써 다중 서버 사이의 컨텐츠 목록의 공유를 가능하게 한다.
예를 들어 홈 컨텐츠 서버에 "운동하면서 듣기 좋은 곡"이라는 이름으로 만든 컨텐츠 목록은 앞서 예를 들어 설명한 정책으로 포터블 디바이스와 동기화하고 다시 오피스 컨텐츠 동기화 서버와 동기화한다면, 컨텐츠 동기화 서버 상에서 동일한 ID를 가지는 "운동하면서 듣기 좋은 곡"이라는 컨텐츠 목록의 공유가 가능해지 며, 이는 컨텐츠 목록의 분산 관리 효과를 얻을 수 있게 된다.
도 5는 본 발명의 일 실시예에 따른 변경 로그의 구성을 보여주는 도면이다. 변경 로그(400)란, 이전 동기화 이후에 발생한 컨텐츠 메타데이터 DB의 변경 사항에 대한 기록을 의미한다. 변경 로그의 목적은 클라이언트와 컨텐츠 서버의 동기화를 수행함에 있어서 전체 컨텐츠를 검색하지 않고, 이전 동기화 이후의 변경 사항에 대한 정보만을 기반으로 변경 컨텐츠를 대상으로 동기화를 수행하여 동기화의 효율성을 높이는 것이라 할 수 있다.
변경 순차 번호(CSN : Change Log Sequence Number, 410)는 변경 로그에 붙여진 일련 번호로 변경 로그의 식별자 역할을 수행한다. 이 번호를 생성하는 일 실시예로 오직 증가만 하도록 생성하여, 동기화 시 CSN 순으로 처리되어 마지막 처리한 CSN을 기록하고 있으면, 이미 처리한 변경 로그와 그렇지 않은 변경 로그를 구분할 수 있다.
변경 시각(420)은 변경로그가 발생한 시각을 기록한다. 변경 순차 번호를 통해서 해당 디바이스의 변경 사항의 발생 순서는 알 수 있지만, 동기화 시 컨텐츠 동기화 서버와 클라이언트의 변경 로그를 수집하여 처리할 때에는 어느 변경 사항이 먼저 발생한 것인지에 대한 구분이 필요하고 이를 위해서 변경 로그의 생성 시각을 기록해야 한다.
변경 로그는 사용자의 작업으로 인해서 생성될 수 있고, 동기화의 결과로 생성될 수 있다. 변경 원인(430)은 동기화 결과 생성된 변경 로그는 다음 번 동기화 시 무시될 수 있으므로, 해당 변경 로그의 생성 원인이 무엇인지에 대해 기록하여 이용할 수 있다. 변경 내역 정보(440)에서는 실제 일어난 변경에 대한 내용을 기록한다.
컨텐츠 동기화 서버와 클라이언트 포터블 디바이스가 다대다(多對多)로 연결 가능한 다중 서버 환경을 고려하여 컨텐츠 동기화 서버의 변경 로그는 개별 클라이언트 별로 구분하여 기록한다. 컨텐츠 동기화 서버에 개별 클라이언트 포터블 디바이스를 위해 변경 로그를 기록하는 함수의 예는 다음과 같다.
AddContentList(ContentListID)는 특정 포터블 디바이스의 동기화 목록에 추가된 컨텐츠 목록의 ID를 기록한다. RemoveContentList(ContentListID)는 특정 포터블 디바이스의 동기화 목록에서 제거된 컨텐츠 목록의 ID를 기록한다. AddContent(ContentListID, ContentID)는 특정 포터블 디바이스의 동기화 목록에 컨텐츠가 추가됨을 기록한다. 동기화 목록은 컨텐츠 목록으로 구성되므로, 추가되는 컨텐츠 ID와 함께 해당 컨텐츠가 추가되는 컨텐츠 목록 ID도 함께 기록한다.
RemoveContent(ContentListID, ContentID)는 특정 포터블 디바이스의 동기화 목록에서 컨텐츠가 제거됨을 기록한다. 동기화 목록은 컨텐츠 목록으로 구성되므로, 제거되는 컨텐츠 ID와 함께 해당 컨텐츠가 제거되는 컨텐츠 목록 ID도 함께 기록한다.
ModifyMetadata(ContentID, MetadataField)는 포터블 디바이스의 동기화를 위해서 해당 디바이스의 동기화 목록에 포함된 컨텐츠를 대상으로 메타데이터 변경이 발생할 경우 변경이 발생한 컨텐츠 ID와 해당 메타데이터 항목명을 기록한다.
포터블 디바이스에 기록되는 변경 로그는 다중 서버 환경에서는 복수개의 컨 텐츠 동기화 서버가 사용하게 된다. 따라서 아직 해당 변경 로그를 반영하지 않은 컨텐츠 동기화 서버가 존재한다면 그에 대한 변경 로그를 함부로 삭제하게 될 때 문제가 발생한다. 따라서 포터블 디바이스는 도 4에서 보는 바와 같이 동기화 서버 목록(228)를 유지하며, 상기 포터블 디바이스와 동기화에 참여하는 전체 컨텐츠 동기화 서버의 목록을 바탕으로 판단하게 된다. 특히 특정 컨텐츠 동기화 서버가 어느 변경 로그까지 처리한 상태인가에 대한 정보를 알기 위해서는 개별 동기화 앵커(276)의 서버 변경 순차 번호를 통해 알게 된다. 동기화 작업이 전원의 차단등의 문제로 중단이 된 후에 다시 재개할 때, 앵커의 변경 순차 번호를 통해 동기화가 진행될 시점을 알 수 있다.
포터블 디바이스에 기록되는 변경 로그에 수행되는 함수의 종류로는 다음과 같다.
RegisterContent(ContentID)는 포터블 디바이스의 컨텐츠 메타데이터 DB에 새롭게 등록된 컨텐츠의 컨텐츠 ID를 기록한다. 이 변경 로그는 실제 컨텐츠의 리소스가 복사될 때 생성된다. UnregisterContent(ContentID)는 포터블 디바이스의 컨텐츠 메타데이터 DB에 등록되어 있던 컨텐츠를 삭제할 경우 발생하며, 해당 컨텐츠의 컨텐츠 ID를 기록한다. 이 변경 로그는 실제 컨텐츠의 리소스가 삭제될 때 생성된다.
ModifyMetadata(ContentID, MetadataField)는 포터블 디바이스의 컨텐츠 메타데이터 DB에 등록되어 있는 컨텐츠의 메타데이터가 변경될 때 발생하며, 해당 컨텐츠의 컨텐츠ID와 변경되는 메타데이터 항목 명을 기록한다.
RegisterContentList(ContentListID)는 포터블 디바이스에 새롭게 컨텐츠 목록이 등록될 때 생성되며, 해당 컨텐츠 목록 ID를 기록한다. UnRegisterContentList(ContentListID)는 포터블 디바이스에 등록되어 있던 컨텐츠 목록이 제거될 때 생성되며, 해당 컨텐츠 목록 ID를 기록한다.
AddContent(ContentListID, ContentID)는 포터블 디바이스에 등록되어 있는 컨텐츠 목록에 컨텐츠가 추가될 때 생성되며, 해당 컨텐츠 목록ID, 추가되는 컨텐츠 ID가 함께 기록된다. RemoveConent(ContentListID, ContentID)는 포터블 디바이스에 등록되어 있는 컨텐츠 목록에서 컨텐츠가 제거될 때 생성되며, 해당 컨텐츠 목록 ID, 제거되는 컨텐츠 ID가 함께 기록된다.
도 6은 본 발명의 일 실시예에 따른 동기화 앵커의 구성을 보여주는 도면이다. 앵커(500)란, 변경 로그와 이전 동기화와의 유효성을 판별하기 위한 정보를 의미한다. 동기화 시 컨텐츠 동기화 서버와 클라이언트는 서로 과거의 동기화 작업을 수행하며 교환한 앵커 값을 확인함으로써 변경 로그를 기반으로 동기화를 수행하는 것이 유효한지 아닌지를 판별할 수 있게 된다. 즉, 앵커는 동기화 완료 시점 및 수행한 동기화 작업과 변경 기록과의 상관 관계에 대한 기록이다.
앵커는 컨텐츠 동기화 서버와 클라이언트 포터블 디바이스에 모두 저장된다. 다대다 동기화를 실시하는 다중 컨텐츠 동기화 서버 환경에서 작동하기 위해서는 컨텐츠 동기화 서버는 자신과 동기화에 참여하는 모든 포터블 디바이스와의 앵커(176)를 유지해야 하고, 마찬가지로 클라이언트 포터블 디바이스는 자신과 동기화에 참여하는 모든 컨텐츠 동기화 서버와의 앵커(276)를 유지해야 한다.
앵커의 구성을 살펴보면 다음과 같다.
먼저 앵커 종류(510)는 앵커의 유형을 나타낸다. 다양한 유형의 동기화를 동시에 지원할 경우를 대비해서 앵커의 확장을 위한 요소이다. 앵커 교환 시각(520)은 앵커를 교환한 시각에 대한 기록이다.
대상 디바이스 ID(530)는 클라이언트의 경우는 대상 서버의 식별자를, 서버의 경우에는 대상 클라이언트의 식별자를 나타낸다.
서버 변경 순차 번호(540)는 앵커 교환 시점까지 완료한 서버 측의 변경 로그에 대한 변경 순차 번호을 기록한다. 클라이언트 변경 순차 번호(550)는 앵커 교환 시점까지 완료한 클라이언트 측의 변경 로그에 대한 변경 순차 번호를 기록한다. 각각의 변경 순차 번호는 변경 로그(400)내의 변경 순차 번호(410)를 의미한다.
도 7은 본 발명의 일 실시예에 따른 컨텐츠 동기화 서버의 동기화 동작을 보여주는 순서도이다.
이는 서버측에서 디바이스와 결합할 경우의 순서도이다. 서버는 디바이스와 연결한다(S610). 디바이스는 mp3 플레이어와 같은 휴대용 디바이스 또는 PVR(Personal Video Recorder)와 같은 고정 디바이스가 될 수 있다. 포터블 디바이스의 경우에는 USB를 비롯한 통신 인터페이스를 통해서 연결 가능하다. 컨텐츠 동기화 서버는 USB, IEEE1394 등 디바이스 통신 인터페이스를 감시하여 동기화 대상 포터블 디바이스가 연결되는지를 검사한다. 포터블 디바이스가 지원하는 디바이스 통신 인터페이스를 통해 연결되면, 컨텐츠 동기화 서버는 이를 인식하여 디바이스 가 어떤 디바이스인지 확인한다(S612). 확인 방법으로는 인증과 같은 과정을 통해 대상 디바이스가 동기화 대상 디바이스인지 여부를 판단하고, 동기화 대상 디바이스일 경우, 상기 포터블 디바이스에서 서버가 필요로 하는 동기화 관련 정보를 획득해야 한다.
또는 연결이 감지된 포터블 디바이스로부터 디바이스 정보(도 4의 226)를 수집하여 상기 포터블 디바이스가 동기화 대상 디바이스인지 여부를 확인한다
이를 위해서 포터블 디바이스는 포터블 디바이스와 동기화 하는 모든 컨텐츠 동기화 서버의 목록을 유지하면서, 각 컨텐츠 동기화 서버별로 개별적으로 필요로 하는 정보를 보유하고 있어야 한다. 또한 컨텐츠 동기화 서버는 해당 포터블 디바이스와의 동기화를 위해 개별적으로 설정된 동기화 목록과 포터블 디바이스에서 수집된 정보를 바탕으로 동기화를 수행한다.
상기 과정이 완료하면 동기화 정책을 획득한다(S614). 서버는 자신과 동기화하는 여러 포터블 디바이스 가운데 현재 연결된 포터블 디바이스에게 설정되어 있는 동기화 정책을 획득한다.
컨텐츠 동기화 서버는 연결된 포터블 디바이스와의 동기화 방식을 결정하기 위해서 클라이언트의 메타데이터 DB의 존재 여부를 확인한다(S620). 만약 존재하지 않을 경우, 서버측의 동기화 처리부는 포터블 디바이스(클라이언트)의 로컬 컨텐츠 파일을 탐색하여 컨텐츠 동기화 서버 상에 클라이언트 컨텐츠 메타데이터 DB를 생성한다(S622). 그리고 S624 단계부터 시작하는 느린 동기화 과정을 수행한다. 한편, 포터블 디바이스(클라이언트)에 메타데이터 DB가 존재한다면, S640 단계부터 시작하는 변경 로그 기반 동기화를 수행한다.
느린 동기화는 클라이언트 포터블 디바이스상에 컨텐츠 메타데이터 DB가 존재하지 않을 경우 혹은 변경 로그 기반 동기화를 수행할 때 이전 동기화와의 유효성이 보장되지 않을 때 수행하는 방식이다.
서버는 해당 디바이스의 동기화 목록을 획득한다(S624). 동기화 대상 디바이스의 연결을 확인한 컨텐츠 동기화 서버는 자신과 동기화하는 여러 포터블 디바이스 가운데 현재 연결된 포터블 디바이스에게 설정되어 있는 동기화 목록을 획득한다.
그리고 동기화 목록의 컨텐츠 메타데이터 DB 획득한다(S626). 컨텐츠 동기화 서버의 동기화 처리부은 컨텐츠 동기화 서버 상에 존재하는 전체 컨텐츠의 컨텐츠 메타데이터 DB에서 동기화 목록에 기록되어 있는 컨텐츠를 추출하여 동기화 목록 컨텐츠 메타데이터 DB를 생성한다.
컨텐츠 메타데이터 DB를 기반으로하여 동기화를 수행한다(S628). 전술한 과정을 통해 생성된 동기화 목록 컨텐츠 메타데이터 DB와 포터블 디바이스 컨텐츠 메타데이터 DB를 놓고 컨텐츠 메타데이터 DB 기반 동기화를 수행한다. 양 DB를 위에서부터 하나 하나 탐색하면서 미리 획득한 동기화 정책에 맞게 동기화를 수행한다. 이때 충돌이 발생할 경우(S650), 충돌 처리부에 의해서 동기화 정책에 맞게 충돌 사항을 처리한다(S652).
그리고 동기화에 따른 과정을 완료하면 앵커 및 동기화 완료 정보 교환한다(S654). 컨텐츠 메타데이터 DB기반 동기화가 양쪽 DB에 존재하는 모든 컨텐츠에 대 해서 수행 완료되면 동기화를 종료하기 위해서 동기화 완료 정보를 교환한다. 동기화 완료 정보는 처음 동기화를 한 경우, 포터블 디바이스의 동기화 서버 목록에 상기 컨텐츠 동기화 서버를 추가하고, 현재 동기화에 대한 앵커를 생성하고 이를 포터블 디바이스 측의 동기화 앵커와 컨텐츠 동기화 서버 상의 동기화 앵커에 기록한다.
한편, S620 단계에서 클라이언트의 메타데이터 DB가 존재하는 경우, 변경 로그 기반 동기화를 수행한다. 이는 컨텐츠 동기화 서버에 기록된 변경 로그와 클라이언트 포터블 디바이스에 기록된 변경 로그를 이용하여 이전 동기화 이후의 변경 정보를 기반으로 동기화를 수행하는 방법이다.
변경 로그 및 앵커를 확인한다(S640). 변경 로그 기반 동기화를 수행하기 위해서는 이전 동기화와 변경 로그의 유효성을 판단해야 한다. 이를 위해서 컨텐츠 동기화 서버의 동기화 처리부는 컨텐츠 동기화 서버에 기록된 해당 포터블 디바이스와의 동기화 앵커를 획득한다. 그리고 포터블 디바이스로부터 해당 컨텐츠 동기화 서버와의 동기화 앵커를 획득한다. 그리고 두 앵커 값을 비교하여 일치하는지 여부를 확인한다. 만약 일치하지 않은 경우 더 이상 변경 로그 기반 동기화를 수행하지 못하고 S624 단계를 수행한다.
이전 동기화 이후의 변경 로그를 수집한다(S642). 이전 단계에서 확인한 앵커에서 서버 변경 순차 번호와 클라이언트 변경 순차 번호를 획득한다. 변경 로그 관리부는 컨텐츠 동기화 서버에 저장된 변경 로그 가운데 해당 포터블 디바이스에 대해 저장된 변경 로그를 획득하고 서버 변경 순차 번호보다 큰 번호의 변경 로그 를 추출한다. 또한 동기화 정보 수집부를 통해서 포터블 디바이스에 저장되어 있는 변경 로그 가운데 클라이언트 변경 순차 번호보다 큰 변경 순차 번호를 갖는 변경 로그를 획득한다.
그리고 변경 로그를 정렬시킨다(S644). 컨텐츠 동기화 서버 및 클라이언트 포터블 디바이스의 변경 로그를 변경 시각 순으로 정렬한다.
컨텐츠 동기화 서버의 동기화 처리부는 정렬된 변경 로그를 오래된 순으로 하나 하나 처리하여 동기화를 수행한다(S646). 이때 이후에 존재하는 변경 로그를 모두 검사해서 충돌 여부를 확인하고, 충돌이 발생할 경우 충돌 처리부는 이전 단계에서 획득한 동기화 정책을 바탕으로 처리한다.
마지막으로 앵커를 교환한다(S654) 모든 변경 로그에 대해서 앞선 순차 처리 과정이 완료되면 동기화를 종료하기 위해서 앵커를 만든다. 이때 마지막으로 처리한 컨텐츠 동기화 서버의 변경 로그의 변경 순차 번호와 클라이언트 포터블 디바이스의 변경 순차 번호를 바탕으로 앵커를 만든다. 생성한 앵커를 포터블 디바이스 측의 동기화 앵커에 기록하고, 동시에 동일한 앵커를 컨텐츠 동기화 서버 상의 동기화 앵커에 기록한다.
본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구의 범위에 의하여 나타내어지며, 특허청구 의 범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
본 발명을 구현함으로써 다수의 서버와 연결하는 디바이스의 동기화를 수행할 수 있다.
본 발명을 구현함으로써 메타데이터만 변경된 경우 동기화 시 메타데이터만 동기화를 수행하여 시간을 절약할 수 있다.

Claims (22)

  1. 연결된 클라이언트와 멀티미디어 컨텐츠 또는 멀티미디어 컨텐츠의 메타 데이터의 동기화를 수행하는데 필요한 동기화 정책을 상기 클라이언트의 식별자로 검색하여 획득하는 동기화 정책 관리부;
    상기 클라이언트와 종래에 수행한 동기화 작업 및 이후 발생한 변경에 대한 로그 정보를 상기 클라이언트로부터 수집하는 동기화 정보 수집부;
    상기 획득한 로그 정보에 따라 상기 클라이언트와 동기화를 수행하는 동기화 처리부;
    상기 클라이언트와 수행한 동기화의 작업 결과를 상기 로그 정보에 저장하는 변경 로그 관리부;
    상기 작업 결과를 상기 클라이언트의 로그 정보에 저장하도록 상기 로그 정보를 전송하는 인터페이스부; 및
    상기 멀티미디어 컨텐츠와 상기 멀티미디어 컨텐츠의 메타 데이터를 저장하는 저장부를 포함하는, 서버.
  2. 제 1항에 있어서,
    상기 동기화 정책은 상기 클라이언트와 동기화를 수행하는 방향성에 대한 정책을 포함하는, 서버.
  3. 제 1항에 있어서,
    상기 동기화 정책은 상기 클라이언트와 동기화를 수행 중 충돌이 발생할 경우 우선적으로 적용할 장치에 대한 정보를 포함하는, 서버.
  4. 제 1항에 있어서,
    상기 클라이언트와 상기 서버에 저장되는 앵커 정보는 동일한 앵커 정보인, 서버.
  5. 제 1항에 있어서,
    상기 로그 정보는 멀티미디어 컨텐츠에 대해 일어난 변경 사항을 저장하는 변경 로그를 포함하는, 서버.
  6. 제 1항에 있어서,
    상기 로그 정보는 상기 동기화가 완료된 결과를 저장하는 앵커를 포함하는, 서버.
  7. 제 1항에 있어서,
    상기 동기화 처리부는 멀티미디어 컨텐츠 파일의 메타 데이터에 대해 동기화를 수행하는, 서버.
  8. 제 1항에 있어서,
    상기 동기화 처리부는 상기 클라이언트와 상기 서버에 저장된 로그 정보를 비교하여, 비교 결과 로그 정보가 동일하지 않거나 변경된 경우, 상기 동일하지 않거나 변경된 사항에 대해서 동기화를 수행하는, 서버.
  9. 제 1항에 있어서,
    상기 클라이언트에 로그 정보가 존재하지 않는 경우,
    상기 동기화 처리부는 상기 클라이언트에 저장된 멀티미디어 컨텐츠 각각에 대해 동기화를 수행하는, 서버.
  10. 멀티미디어 컨텐츠의 동기화를 수행할 수 있는 서버들의 목록이 저장된 동기화 서버 목록;
    상기 서버와 동기화를 수행한 결과를 저장하는 변경 로그 관리부;
    상기 서버와 데이터를 송수신하는 인터페이스부; 및
    상기 멀티미디어 컨텐츠 또는 상기 동기화를 수행한 작업 결과를 저장하는 저장부를 포함하는, 클라이언트 디바이스.
  11. 제 10항에 있어서,
    상기 저장부는 멀티미디어 컨텐츠에 대해 일어난 변경 사항을 저장하는 클라이언트 디바이스.
  12. 제 10항에 있어서,
    상기 저장부는 상기 동기화가 완료된 결과를 저장하는 앵커를 포함하는, 클라이언트 디바이스.
  13. (a) 연결된 클라이언트와 동기화를 수행하는데 필요한 동기화 정책을 상기 클라이언트의 식별자로 검색하여 획득하는 단계;
    (b) 상기 클라이언트와 종래에 수행한 동기화 작업의 로그 정보를 상기 클라이언트로부터 수집하는 단계;
    (c) 상기 획득한 로그 정보에 따라 상기 클라이언트와 동기화를 수행하는 단계;
    (d) 상기 클라이언트와 수행한 동기화를 수행한 작업 결과를 상기 로그 정보에 저장하는 단계; 및
    (e) 상기 작업 결과를 상기 클라이언트의 로그 정보에 저장하는 단계를 포함하는, 다중 서버 환경에 적합한 디바이스를 클라이언트로 하여 동기화를 수행하는 방법.
  14. 제 13항에 있어서,
    상기 동기화 정책은 상기 클라이언트와 동기화를 수행하는 방향성에 대한 정책을 포함하는, 다중 서버 환경에 적합한 디바이스를 클라이언트로 하여 동기화를 수행하는 방법.
  15. 제 13항에 있어서,
    상기 동기화 정책은 상기 클라이언트와 동기화를 수행 중 충돌이 발생할 경우 우선적으로 적용할 장치에 대한 정보를 포함하는, 다중 서버 환경에 적합한 디바이스를 클라이언트로 하여 동기화를 수행하는 방법.
  16. 제 13항에 있어서,
    상기 로그 정보는 상기 클라이언트와 수행한 동기화에 대한 작업 결과를 포함하는, 다중 서버 환경에 적합한 디바이스를 클라이언트로 하여 동기화를 수행하는 방법.
  17. 제 13항에 있어서,
    상기 클라이언트와 상기 서버에 저장되는 앵커 정보는 동일한 앵커 정보인, 다중 서버 환경에 적합한 디바이스를 클라이언트로 하여 동기화를 수행하는 방법.
  18. 제 13항에 있어서,
    상기 로그 정보는 멀티미디어 컨텐츠에 대해 일어난 변경 사항을 저장하는 변경 로그를 포함하는, 다중 서버 환경에 적합한 디바이스를 클라이언트로 하여 동기화를 수행하는 방법.
  19. 제 13항에 있어서,
    상기 로그 정보는 상기 동기화가 완료된 결과를 저장하는 앵커를 포함하는, 다중 서버 환경에 적합한 디바이스를 클라이언트로 하여 동기화를 수행하는 방법.
  20. 제 13항에 있어서,
    상기 (c) 단계는 멀티미디어 컨텐츠 파일의 메타 데이터에 대해 동기화를 수행하는 단계인, 다중 서버 환경에 적합한 디바이스를 클라이언트로 하여 동기화를 수행하는 방법.
  21. 제 13항에 있어서,
    상기 (c) 단계는
    클라이언트와 서버에 저장된 로그 정보를 비교하는 단계; 및
    상기 비교 결과 로그 정보가 동일하지 않거나 변경된 경우, 상기 동일하지 않거나 변경된 사항에 대해서 동기화를 수행하는 단계를 포함하는, 다중 서버 환경에 적합한 디바이스를 클라이언트로 하여 동기화를 수행하는 방법.
  22. 제 13항에 있어서,
    상기 (b) 단계에서 상기 클라이언트에 로그 정보가 존재하지 않는 경우,
    상기 (c) 단계는 상기 클라이언트에 저장된 멀티미디어 컨텐츠 각각에 대해 동기화 를 수행하는 단계를 포함하는, 다중 서버 환경에 적합한 디바이스를 클라이언트로 하여 동기화를 수행하는 방법.
KR1020050098161A 2005-10-18 2005-10-18 다중 서버 환경에 적합한 디바이스를 클라이언트로 하여동기화를 수행하는 방법 및 장치 KR100678921B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020050098161A KR100678921B1 (ko) 2005-10-18 2005-10-18 다중 서버 환경에 적합한 디바이스를 클라이언트로 하여동기화를 수행하는 방법 및 장치
US11/543,944 US8005789B2 (en) 2005-10-18 2006-10-06 Method and apparatus for synchronizing multimedia content with device which supports multi-server environment
JP2006278855A JP4571929B2 (ja) 2005-10-18 2006-10-12 多重サーバ環境に適したデバイスをクライアントをして同期化を行わせる方法及び装置
EP06122449A EP1777914A1 (en) 2005-10-18 2006-10-17 Method and apparatus for synchronising multimedia content with device which supports multi-server environment
CN201310470127.5A CN103634291A (zh) 2005-10-18 2006-10-18 使多媒体内容与装置同步的方法和设备
CNA2006101355459A CN1972195A (zh) 2005-10-18 2006-10-18 使多媒体内容与装置同步的方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050098161A KR100678921B1 (ko) 2005-10-18 2005-10-18 다중 서버 환경에 적합한 디바이스를 클라이언트로 하여동기화를 수행하는 방법 및 장치

Publications (1)

Publication Number Publication Date
KR100678921B1 true KR100678921B1 (ko) 2007-02-05

Family

ID=37401016

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050098161A KR100678921B1 (ko) 2005-10-18 2005-10-18 다중 서버 환경에 적합한 디바이스를 클라이언트로 하여동기화를 수행하는 방법 및 장치

Country Status (5)

Country Link
US (1) US8005789B2 (ko)
EP (1) EP1777914A1 (ko)
JP (1) JP4571929B2 (ko)
KR (1) KR100678921B1 (ko)
CN (2) CN1972195A (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011025342A2 (en) * 2009-08-31 2011-03-03 Samsung Electronics Co., Ltd. System and device for data management, and method thereof
KR20130080181A (ko) * 2012-01-04 2013-07-12 삼성전자주식회사 클라우드 시스템을 이용하는 단말기의 장치 및 방법
KR101346731B1 (ko) 2007-03-12 2014-01-03 삼성전자주식회사 피드 정보를 동기화하는 방법 및 장치
KR101511682B1 (ko) 2007-06-05 2015-04-17 삼성전자주식회사 컨텐트 디렉토리 서비스와 제어 포인트간의 컨텐트를동기화하는 방법
KR20200093561A (ko) * 2017-12-28 2020-08-05 드롭박스, 인크. 클라이언트 동기화 서비스를 위한 원격 트리 업데이트
WO2023224284A1 (ko) * 2022-05-16 2023-11-23 주식회사 컬러버스 복수 서버를 이용한 3차원 컨텐츠 제공 시스템 및 방법

Families Citing this family (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030167318A1 (en) * 2001-10-22 2003-09-04 Apple Computer, Inc. Intelligent synchronization of media player with host computer
JP4204977B2 (ja) * 2001-10-22 2009-01-07 アップル インコーポレイテッド メディアプレーヤーのためのインテリジェントなシンクロ操作
US20080086494A1 (en) * 2006-09-11 2008-04-10 Apple Computer, Inc. Transfer and synchronization of media data
US8150937B2 (en) 2004-10-25 2012-04-03 Apple Inc. Wireless synchronization between media player and host device
US10972536B2 (en) 2004-06-04 2021-04-06 Apple Inc. System and method for synchronizing media presentation at multiple recipients
US8443038B2 (en) 2004-06-04 2013-05-14 Apple Inc. Network media device
US20070110074A1 (en) 2004-06-04 2007-05-17 Bob Bradley System and Method for Synchronizing Media Presentation at Multiple Recipients
US8797926B2 (en) 2004-06-04 2014-08-05 Apple Inc. Networked media station
US11314378B2 (en) 2005-01-07 2022-04-26 Apple Inc. Persistent group of media items for a media device
JP4508028B2 (ja) * 2005-08-01 2010-07-21 ソニー株式会社 情報処理装置,情報処理方法およびコンピュータプログラム
US8024290B2 (en) * 2005-11-14 2011-09-20 Yahoo! Inc. Data synchronization and device handling
KR101112736B1 (ko) * 2006-11-03 2012-03-13 삼성전자주식회사 휴대용 콘텐츠 재생 장치와 콘텐츠 저장 장치 간 콘텐츠상태 목록의 동기화 방법, 휴대용 콘텐츠 재생 장치,콘텐츠 저장 장치
US20080168525A1 (en) * 2007-01-07 2008-07-10 David Heller Background Data Transmission between Media Device and Host Device
US8850140B2 (en) * 2007-01-07 2014-09-30 Apple Inc. Data backup for mobile device
US8631088B2 (en) 2007-01-07 2014-01-14 Apple Inc. Prioritized data synchronization with host device
US20080168185A1 (en) * 2007-01-07 2008-07-10 Robbin Jeffrey L Data Synchronization with Host Device in Accordance with Synchronization Preferences
US10083184B2 (en) * 2007-01-07 2018-09-25 Apple Inc. Widget synchronization in accordance with synchronization preferences
JP5145719B2 (ja) * 2007-01-30 2013-02-20 ソニー株式会社 メタデータ収集システム、コンテンツ管理サーバ、メタデータ収集装置、メタデータ収集方法およびプログラム
US20080271112A1 (en) * 2007-04-30 2008-10-30 Waker Philip M Automatic file transfer
JP5327497B2 (ja) * 2007-07-11 2013-10-30 日立オートモティブシステムズ株式会社 地図データ配信システム及び地図データ更新方法
KR20090028010A (ko) 2007-09-13 2009-03-18 삼성전자주식회사 휴대용 미디어 재생 장치의 데이터를 업데이트하는 방법 및이를 위한 장치
US8090685B2 (en) * 2007-09-14 2012-01-03 Microsoft Corporation Knowledge based synchronization of subsets of data with no move condition
US7925625B2 (en) * 2007-09-20 2011-04-12 Microsoft Corporation Synchronizing data between business applications
CN101459503A (zh) * 2007-12-12 2009-06-17 华为技术有限公司 一种实现数据同步的方法和装置
US8185495B2 (en) * 2008-02-01 2012-05-22 Microsoft Corporation Representation of qualitative object changes in a knowledge based framework for a multi-master synchronization environment
US10248398B2 (en) 2008-04-07 2019-04-02 Blackberry Limited Method for virtualizing software applications
US8706690B2 (en) 2008-05-12 2014-04-22 Blackberry Limited Systems and methods for space management in file systems
US8086651B2 (en) 2008-05-12 2011-12-27 Research In Motion Limited Managing media files using metadata injection
US10552384B2 (en) 2008-05-12 2020-02-04 Blackberry Limited Synchronizing media files available from multiple sources
US20090282078A1 (en) * 2008-05-12 2009-11-12 Motion Limited Unified media file architecture
DE202009019135U1 (de) * 2008-10-21 2017-01-15 Google Inc. Stets bereite Client/Server-Datensynchronisierung
US8965954B2 (en) 2008-10-21 2015-02-24 Google Inc. Always ready client/server data synchronization
DE202009019140U1 (de) 2008-10-21 2017-01-20 Google Inc. Suchbasierte Spezifikation für Datensynchronisation
US8209353B2 (en) * 2009-03-31 2012-06-26 Oracle International Corporation Storing hierarchical data to enable paging
US8914731B2 (en) * 2009-03-31 2014-12-16 Oracle International Corporation Analyzing user behavior to enhance data display
CN101711064B (zh) * 2009-11-25 2014-03-12 中兴通讯股份有限公司 修改信息的管理方法及终端
JP5110541B2 (ja) * 2009-12-01 2012-12-26 Necビッグローブ株式会社 コンテンツ選択システム、提供装置、転送装置、コンテンツ選択方法、およびコンテンツ選択プログラム
CN101751473A (zh) * 2009-12-31 2010-06-23 中兴通讯股份有限公司 一种修改记录项的查找、更新和同步方法及数据同步设备
JP5204155B2 (ja) * 2010-06-21 2013-06-05 株式会社スクウェア・エニックス ビデオゲームシステム
JP5634178B2 (ja) * 2010-09-09 2014-12-03 Kii株式会社 データ同期システムおよびデータ同期方法
CN102681884A (zh) * 2011-03-17 2012-09-19 新奥特(北京)视频技术有限公司 一种媒资元数据读写访问冲突的解决方法
US8819471B2 (en) 2011-06-03 2014-08-26 Apple Inc. Methods and apparatus for power state based backup
US9465696B2 (en) 2011-06-03 2016-10-11 Apple Inc. Methods and apparatus for multi-phase multi-source backup
US9411687B2 (en) 2011-06-03 2016-08-09 Apple Inc. Methods and apparatus for interface in multi-phase restore
US8868859B2 (en) 2011-06-03 2014-10-21 Apple Inc. Methods and apparatus for multi-source restore
US20130036087A1 (en) * 2011-08-05 2013-02-07 Microsoft Corporation Visibility and management of project data
CN102404338B (zh) * 2011-12-13 2014-08-20 华为技术有限公司 一种文件同步方法和装置
US9116971B2 (en) 2012-05-08 2015-08-25 Softframe, Inc. Data synchronization using a composite change clock
KR101994163B1 (ko) * 2012-08-24 2019-09-30 삼성전자 주식회사 압축 컨텐츠 파일의 자동 동기화 방법 및 장치 그리고 동기화 시스템
US9542423B2 (en) 2012-12-31 2017-01-10 Apple Inc. Backup user interface
US9678978B2 (en) * 2012-12-31 2017-06-13 Carbonite, Inc. Systems and methods for automatic synchronization of recently modified data
JP5586719B2 (ja) * 2013-02-14 2014-09-10 株式会社スクウェア・エニックス ビデオゲームシステム、サーバシステム、及びビデオゲーム処理方法
US9693117B2 (en) * 2013-03-15 2017-06-27 The Nielsen Company (Us), Llc Systems, methods, and apparatus to identify linear and non-linear media presentations
US20140317055A1 (en) * 2013-04-11 2014-10-23 Nec Laboratories America, Inc. Version Vector Scheme for Data Synchronization on Resource-Constrained Networks
CN104426644A (zh) * 2013-08-21 2015-03-18 华为技术有限公司 一种设备时间同步方法及设备
US9210204B2 (en) 2013-10-31 2015-12-08 At&T Intellectual Property I, Lp Synchronizing media presentation at multiple devices
CN105850103A (zh) * 2013-12-19 2016-08-10 汤姆逊许可公司 用于管理具有家庭网关和多个设备的家庭媒体网络中的流的方法和***
JP6084590B2 (ja) * 2014-07-18 2017-02-22 株式会社スクウェア・エニックス サーバ、ビデオゲーム処理プログラム、及びビデオゲーム処理方法
US10185775B2 (en) * 2014-12-19 2019-01-22 Qualcomm Technologies, Inc. Scalable 3D mapping system
US11140045B2 (en) * 2015-07-31 2021-10-05 Microsoft Technology Licensing, Llc Changelog transformation and correlation in a multi-tenant cloud service
US10437506B2 (en) * 2015-08-17 2019-10-08 Microsoft Technology Licensing Llc Optimal storage and workload placement, and high resiliency, in geo-distributed cluster systems
JP6727775B2 (ja) * 2015-08-31 2020-07-22 キヤノン株式会社 サーバ装置、制御システム、制御方法、及び、プログラム
US9743139B2 (en) * 2015-12-23 2017-08-22 Rovi Guides, Inc. Methods and systems for detecting overlaps between calendar appointments and media asset transmission times
CN107025152B (zh) * 2017-05-19 2020-09-18 北京电子工程总体研究所 基于任务级的双冗余热备份设备的数据同步方法
US10993274B2 (en) 2018-03-30 2021-04-27 Apple Inc. Pairing devices by proxy
US10783929B2 (en) 2018-03-30 2020-09-22 Apple Inc. Managing playback groups
US11297369B2 (en) 2018-03-30 2022-04-05 Apple Inc. Remotely controlling playback devices
US10614857B2 (en) 2018-07-02 2020-04-07 Apple Inc. Calibrating media playback channels for synchronized presentation
JP7373314B2 (ja) * 2019-07-01 2023-11-02 キヤノンメディカルシステムズ株式会社 通信制御装置および通信制御方法
US11663098B2 (en) * 2021-07-15 2023-05-30 Vmware, Inc. Maintaining durability of a data object using unplanned delta components during transient failures

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000082007A (ja) 1998-09-04 2000-03-21 Hitachi Ltd 携帯情報機器と情報機器の接続装置
US6625621B2 (en) 2000-01-04 2003-09-23 Starfish Software, Inc. System and methods for a fast and scalable synchronization server
KR20020014888A (ko) 2000-08-19 2002-02-27 조정남 이동통신 단말기와 개인정보 서버와의 주소록 동기화 방법
US20020078075A1 (en) * 2000-12-15 2002-06-20 Colson James C. System, method, and program product for prioritizing synchronizable data
US6829622B2 (en) 2001-07-27 2004-12-07 Siemens Information And Communication Networks, Inc. Apparatus and method for mobile device synchronization
US7155521B2 (en) 2001-10-09 2006-12-26 Nokia Corporation Starting a session in a synchronization system
US20030167318A1 (en) 2001-10-22 2003-09-04 Apple Computer, Inc. Intelligent synchronization of media player with host computer
US20030078987A1 (en) * 2001-10-24 2003-04-24 Oleg Serebrennikov Navigating network communications resources based on telephone-number metadata
JP4142866B2 (ja) * 2001-11-07 2008-09-03 カシオソフト株式会社 データベース同期化装置及びプログラム
US6976038B2 (en) * 2002-10-17 2005-12-13 International Business Machines Corporation Method and apparatus for real time creation and modification of a change log for multi-server synchronization
US7636776B2 (en) * 2003-07-31 2009-12-22 Microsoft Corporation Systems and methods for synchronizing with multiple data stores
JP2005122379A (ja) * 2003-10-15 2005-05-12 Digitalian Net Kk 情報管理サーバ、情報管理サーバシステムおよび情報管理方法、並びに情報管理サーバプログラムおよびこの情報管理サーバプログラムを記録したコンピュータ読み取り可能な記録媒体

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101346731B1 (ko) 2007-03-12 2014-01-03 삼성전자주식회사 피드 정보를 동기화하는 방법 및 장치
KR101511682B1 (ko) 2007-06-05 2015-04-17 삼성전자주식회사 컨텐트 디렉토리 서비스와 제어 포인트간의 컨텐트를동기화하는 방법
WO2011025342A2 (en) * 2009-08-31 2011-03-03 Samsung Electronics Co., Ltd. System and device for data management, and method thereof
WO2011025342A3 (en) * 2009-08-31 2011-07-07 Samsung Electronics Co., Ltd. System and device for data management, and method thereof
GB2488441A (en) * 2009-08-31 2012-08-29 Samsung Electronics Co Ltd System and device for data management and method thereof
US8838537B2 (en) 2009-08-31 2014-09-16 Samsung Electronics Co., Ltd System and device for data management, and method thereof
GB2488441B (en) * 2009-08-31 2016-02-03 Samsung Electronics Co Ltd System and device for data management, and method thereof
KR20130080181A (ko) * 2012-01-04 2013-07-12 삼성전자주식회사 클라우드 시스템을 이용하는 단말기의 장치 및 방법
KR101944403B1 (ko) * 2012-01-04 2019-02-01 삼성전자주식회사 클라우드 시스템을 이용하는 단말기의 장치 및 방법
US11429634B2 (en) 2017-12-28 2022-08-30 Dropbox, Inc. Storage interface for synchronizing content
US11514078B2 (en) 2017-12-28 2022-11-29 Dropbox, Inc. File journal interface for synchronizing content
US11314774B2 (en) 2017-12-28 2022-04-26 Dropbox, Inc. Cursor with last observed access state
US11386116B2 (en) 2017-12-28 2022-07-12 Dropbox, Inc. Prevention of loss of unsynchronized content
US11423048B2 (en) 2017-12-28 2022-08-23 Dropbox, Inc. Content management client synchronization service
KR20200093561A (ko) * 2017-12-28 2020-08-05 드롭박스, 인크. 클라이언트 동기화 서비스를 위한 원격 트리 업데이트
KR102444729B1 (ko) * 2017-12-28 2022-09-16 드롭박스, 인크. 클라이언트 동기화 서비스를 위한 원격 트리 업데이트
US11461365B2 (en) 2017-12-28 2022-10-04 Dropbox, Inc. Atomic moves with lamport clocks in a content management system
US11475041B2 (en) 2017-12-28 2022-10-18 Dropbox, Inc. Resynchronizing metadata in a content management system
US11500899B2 (en) 2017-12-28 2022-11-15 Dropbox, Inc. Efficient management of client synchronization updates
US11500897B2 (en) 2017-12-28 2022-11-15 Dropbox, Inc. Allocation and reassignment of unique identifiers for synchronization of content items
US11308118B2 (en) 2017-12-28 2022-04-19 Dropbox, Inc. File system warnings
US11593394B2 (en) 2017-12-28 2023-02-28 Dropbox, Inc. File system warnings application programing interface (API)
US11630841B2 (en) 2017-12-28 2023-04-18 Dropbox, Inc. Traversal rights
US11657067B2 (en) 2017-12-28 2023-05-23 Dropbox Inc. Updating a remote tree for a client synchronization service
US11669544B2 (en) 2017-12-28 2023-06-06 Dropbox, Inc. Allocation and reassignment of unique identifiers for synchronization of content items
US11704336B2 (en) 2017-12-28 2023-07-18 Dropbox, Inc. Efficient filename storage and retrieval
US11755616B2 (en) 2017-12-28 2023-09-12 Dropbox, Inc. Synchronized organization directory with team member folders
US11782949B2 (en) 2017-12-28 2023-10-10 Dropbox, Inc. Violation resolution in client synchronization
US11880384B2 (en) 2017-12-28 2024-01-23 Dropbox, Inc. Forced mount points / duplicate mounts
US11836151B2 (en) 2017-12-28 2023-12-05 Dropbox, Inc. Synchronizing symbolic links
WO2023224284A1 (ko) * 2022-05-16 2023-11-23 주식회사 컬러버스 복수 서버를 이용한 3차원 컨텐츠 제공 시스템 및 방법

Also Published As

Publication number Publication date
CN103634291A (zh) 2014-03-12
JP2007115247A (ja) 2007-05-10
JP4571929B2 (ja) 2010-10-27
US20070088764A1 (en) 2007-04-19
CN1972195A (zh) 2007-05-30
US8005789B2 (en) 2011-08-23
EP1777914A1 (en) 2007-04-25

Similar Documents

Publication Publication Date Title
KR100678921B1 (ko) 다중 서버 환경에 적합한 디바이스를 클라이언트로 하여동기화를 수행하는 방법 및 장치
KR101346731B1 (ko) 피드 정보를 동기화하는 방법 및 장치
JP5005726B2 (ja) 複数の供給源からのメディアファイルの管理
CN101398850B (zh) 主机和媒体设备间的多种媒体类型同步
EP1743247B1 (en) System and method for optimized property retrieval of stored objects
US7636509B2 (en) Media data representation and management
US8090606B2 (en) Embedded media recommendations
KR100718613B1 (ko) 호스트 컴퓨터와 미디어 플레이어의 미디어 내용 동기화 방법
US20090327288A1 (en) Content enumeration techniques for portable devices
JP5180360B2 (ja) 同期順序の割り込み優先順位を用いた同期を有するメディアシステム
US20140310241A1 (en) Virtual file system for automated data replication and review
US8634947B1 (en) System and method for identifying digital files
US20120203932A1 (en) Multi-master media metadata synchronization
US20140074783A1 (en) Synchronizing metadata across devices
JP2016040724A (ja) データ同期化
US20150026257A1 (en) Music box
WO2010045879A1 (zh) 一种实现内容共享的方法和装置
US20140282796A1 (en) Media system with canonical architecture for integrating media productions from different content providers
US20100223436A1 (en) Content acquisition apparatus, program, content acquisition method and content acquisition system
US11003711B2 (en) Accessing audio files from an online content management system
WO2012119539A1 (zh) 文件同步方法、文件同步装置及电子设备
JP2014197398A (ja) ネットワーク・メディア・デバイス上の求められているコンテンツ項目にマーク付けするためのシステム、方法及びコンピュータ・プログラム
CN103747032A (zh) 一种文件传输方法、设备和***
WO2009052311A1 (en) Method and apparatus for identifying a piece of content
US20090240719A1 (en) Accumulating star knowledge in replicated data protocol

Legal Events

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

Payment date: 20121210

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131217

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20141224

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20151217

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20161220

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20181218

Year of fee payment: 13