KR20050096078A - SyncML 서비스를 이용하여 사용자 데이터를 서로다른 클라이언트에 제공하기 위한 동기화 방법 및 그 시스템 - Google Patents

SyncML 서비스를 이용하여 사용자 데이터를 서로다른 클라이언트에 제공하기 위한 동기화 방법 및 그 시스템 Download PDF

Info

Publication number
KR20050096078A
KR20050096078A KR1020040021346A KR20040021346A KR20050096078A KR 20050096078 A KR20050096078 A KR 20050096078A KR 1020040021346 A KR1020040021346 A KR 1020040021346A KR 20040021346 A KR20040021346 A KR 20040021346A KR 20050096078 A KR20050096078 A KR 20050096078A
Authority
KR
South Korea
Prior art keywords
client
syncml
synchronization
user data
database
Prior art date
Application number
KR1020040021346A
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 KR1020040021346A priority Critical patent/KR20050096078A/ko
Publication of KR20050096078A publication Critical patent/KR20050096078A/ko

Links

Classifications

    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

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

본 발명은 인터넷 등의 수단을 통해 웹브라우저 상에서 서버와 서로 다른 클라이언트 사이의 데이터 동기화 방법에 관한 것이다. 이를 위해 본 발명에서는 다수의 클라이언트를 하나의 그룹으로 설정하여 그룹내에 속한 클라이언트간에 동일한 사용자 데이터의 공유가 가능하도록 한다. 또한, 본 발명은 사용자 데이터의 공유를 위해 SyncML 서비스를 이용하여 북마크, 인증서, 웹 페이지 정보 등의 사용자가 인터넷 웹 브라우저를 사용하면서 축적되는 정보를 다수의 클라이언트에서 동기화하여 상호 송수신할 수 있도록 한다. 또한, 본 발명은 SyncML 데이터베이스를 이용하여 다수의 클라이언트와 서버간에 동일한 사용자 데이터를 실시간으로 공유할 수 있도록 한다. 이로 인해 사용자는 적어도 하나 이상의 클라이언트에서 웹 브라우저를 사용하면서 생성/변경된 사용자 데이터를 다른 클라이언트측에서 번거로운 갱신하는 작업 없이도 항상 사용자 데이터를 갱신함으로써 사용자 데이터의 관리가 용이하게 된다.

Description

SyncML 서비스를 이용하여 사용자 데이터를 서로 다른 클라이언트에 제공하기 위한 동기화 방법 및 그 시스템{SYNCRONIZATION METHOD FOR PROVIDING USER DATA TO EACH OF CLIENTS BY SYNCML SERVICE AND SYSTEM THEREFOR}
본 발명은 서버와 클라이언트의 데이터 동기화 방법에 관한 것으로, 특히 인터넷 등의 수단을 통해 웹브라우저 상에서 서버와 서로 다른 클라이언트 사이의 데이터 동기화 방법에 관한 것이다.
최근 들어 높은 PC 보급율과 초고속 통신망의 발달로 인해 인터넷은 현대인들에게 생활의 한 부분이 되어가고 있다. 이에 따라, 컴퓨터를 사용하여 정보를 검색하고 활용하는 사용자의 수가 폭발적으로 증가하고 있고, 또한 정보를 제공하는 정보 제공업자들도 급격히 증가하고 있는 실정이다. 이러한 시점에서 사용자는 자신에게 필요한 정보를 검색하는데 많은 시간을 할애하고 있고 또한 이를 효율적으로 관리하는데 많은 어려움을 겪고 있다.
따라서 이와 같은 어려움을 극복하기 위한 방법의 개발이 요청되어 왔으며, 그 결과로 포탈 사이트가 등장하게 되었다. 대부분의 사용자는 포탈 사이트를 통해검색을 하여 원하는 정보를 얻고 이를 관리하고 있다. 하지만 이와 같은 경우에 있어서도 검색된 많은 정보 중에서 사용자에게 꼭 필요한 정보를 다시 추출하여야 하고, 추출한 정보를 저장하거나 관리하는 일 또한 많은 노력이 필요한 작업이다.
이를 위해 웹브라우저에서는 이같은 정보들을 손쉽게 관리할 수 있도록 예컨대, 즐겨찾기 또는 북마크와 같은 기능을 웹브라우저 상에 추가하여 사용자가 자신이 방문했던 웹사이트 중에서 관심이 있거나 차후에 다시 방문하고자 하는 사이트를 손쉽게 관리할 수 있도록 도움을 주고 있다. 또한 도 1을 참조하여 설명하면 유,무선 인터넷의 사용을 위한 기본적인 클라이언트 측의 어플리케이션인 인터넷 웹 브라우저(100)는 사용자에 의해 생성된 정보, 즉, 북마크(110) 이외에도 웹 페이지 정보(120), 쿠키 및 인증서(130) 등을 포함한다. 하지만, 이러한 기능은 폐쇄적이기 때문에 현재 웹 브라우저(100)를 열어놓은 자신의 컴퓨터에서만 쓸 수 있고, 다른 클라이언트에서는 이러한 기능에 대한 정보를 공유할 수 없다는 단점이 있다.
하지만, 최근에는 이동 통신 분야에서 이동 통신 단말기 또는 사용되는 어플리케이션에 관계없이 데이터를 획득 및 갱신하는 것은 매우 중요한 일 중의 하나가 되었다. 또한, 무선 이동 통신 환경이 다양해지면서 이를 이용할 수 있는 이동 통신 단말기의 종류가 다양해지고, 개인당 보유하고 있는 이동 통신 단말기의 수도 늘어나고 있는 추세이다. 이러한 추세에 대응하여 다수의 이동 통신 단말기에 분산되어 있는 동일한 데이터들에 대한 가장 최신값으로 일치시키는 것, 즉 데이터 동기화의 필요성이 대두되고 있다. 이러한 데이터 동기화의 목적은 분산되어 있는 여러 유무선 단말 내의 공통된 데이터들을 서로 일치시키도록 하는데 있다. 이를 위해 임의의 네트워크 환경 하에서, 서로 다른 이동 통신 단말기와 서비스의 종류에 구애받지 않는 'SyncML'이라는 언어가 어플리케이션 데이터 동기화를 개선하기 위하여 제공되어 왔다.
이러한 'SyncML'(Synchronization Markup Language) 동기화 프로토콜은 PC와 이동 통신 단말기 사이에서만 수행되던 데이터 동기화를 웹서버라는 제 3의 개체로 연장시킨 개념으로서, SyncML 서버와 SyncML 단말기 간에 데이터를 추가, 삭제, 변경하기 위해서 동기화 메시지가 교환되는 방법과 실제 동기화를 위해서 동작하는 방법 및 동기화 타입을 정의한다.
도 1을 참조하면, 통상적인 SyncML 클라이언트 기능을 수행하는 이동 통신 단말기( 이하 'SyncML 클라이언트')와 SyncML 서버 기능을 수행하는 서버(이하 'SyncML' 서버)간의 데이터 동기화 수행을 위한 시스템 구성을 도시하고 있다. 먼저 SyncML 클라이언트(200)가 (220)단계에서 SyncML 서버(210)에 갱신된 데이터를 포함하는 메시지를 전송하면, SyncML 서버(210)는 그 요청한 동기화 차입에 의해 서버측 데이터와 동기화 작업을 수행한 후 (230)단계에서 SyncML 클라이언트(200)로 응답메시지를 전송한다.
전술한 바와 같이 SyncML 서비스가 개발됨으로써 SyncML 클라이언트(200) 사용자는 자신의 정보를 예컨대, 단말기에서 생성하고, SyncML 서버(210)에 이를 저장하여, 다수의 이동 통신 단말기를 사용할 경우에도 SyncML(210)의 정보를 동기화함으로써 항상 최신의 사용자 데이터를 사용할 수 있다.
상술한 바와 같이 종래에는 SyncML 방식은 어떠한 네트워크된 단말기들 간의 어플리케이션 내의 데이터 동기화도 가능한다. 하지만 현재의 인터넷 웹브라우저에서는 북마크, 웹 페이지 정보, 쿠키, 인증서 등과 같은 사용자에 의해 생성한 정보를 단일 클라이언트에서만 사용하도록 한다. 이에 따라 현재는 사용자에 의해 생성한 정보를 다른 클라이언트에서 동일하게 공유하여 사용하기 위한 서비스가 제공하고 있지 않다.
따라서, 예컨대 컴퓨터의 이상이나 고장 등으로 사용자가 브라우저를 사용하면서 축적된 정보가 손실된 경우 사용자는 다시 원상태로 복구하는데 상당한 시간과 노력을 들여야한다. 뿐만 아니라 사용자의 조작 미숙 등의 원인으로 소프트웨어 상의 오류가 빈번하게 발생할 수 있다. 이러한 소프트웨어 상의 오류가 발생한 경우 대부분의 사용자는 적절한 해결 방안(trouble shooting)을 찾지 못하여 컴퓨터 뿐만 아니라 예컨대 이동 통신 단말기와 같은 클라이언트를 사용하지 못하는 사태에 이를 수 있다는 문제점이 있다.
또한 다양한 클라이언트 중 최근들어 업무용으로 다양하게 활용되는 이동 통신 단말기는 그 기기의 특성상 외부에서의 사용이 많다. 하지만 이동 통신 단말기에 저장되어 있는 중요한 데이터는 사용자의 조작 미숙 또는 이동 통신 단말기의 배터리 방전으로 인하여 예컨대 자신의 PC와 동기화하지 못한채 손실될 우려가 있다는 문제점이 있다.
따라서 본 발명은 전술한 문제점을 해결하고자 안출된 것으로서, 서버와 클라이언트의 데이터 동기화 방법에 있어서 사용자에 의해 웹브라우저에서 생성된 정보를 동기화 서버에 저장함으로써 그 정보를 다양한 클라이언트에서 공유하여 사용할 수 있도록 하는 SyncML(Synchronization Markup Language) 서비스를 이용하여 사용자 데이터를 서로 다른 클라이언트에 제공하기 위한 동기화 방법 및 그 시스템을 제공한다.
상술한 목적들을 달성하기 위해 본 발명에서 SyncML(Synchronization Markup Language) 서비스를 이용하여 사용자 데이터를 서로 다른 클라이언트에 제공하기 위한 동기화 시스템은, 하나의 그룹에 속한 클라이언트들의 정보를 가지는 적어도 하나의 클라이언트 ID 리스트를 저장하는 SyncML 데이터베이스와, 웹 브라우저 사용시 사용자 데이터 변동이 발생한 경우 변동된 사용자 데이터를 소정 포맷을 갖는 동기화데이터로 변환하여 이를 다른 클라이언트들과 공유하기 위한 동기화를 요청하는 상기 클라이언트 중 제 1클라이언트와, 상기 제 1클라이언트로부터의 동기화 요청에 대응하여 수신된 동기화데이터를 상기 SyncML 데이터베이스에 저장하고, 상기 클라이언트 중 제 2클라이언트로부터 동기화 요청이 있으면 이에 대응하여 상기 SyncML 데이터베이스로부터 사용자 데이터를 추출하여 상기 제 2클라이언트로 전송하여 동기화시키는 SyncML 서버를 포함함을 특징으로 한다.
또한 본 발명에서 SyncML(Synchronization Markup Language) 서비스를 이용하여 사용자 데이터를 서로 다른 클라이언트에 제공하기 위한 동기화 방법은, 하나의 그룹에 속한 클라이언트들의 정보를 가지는 적어도 하나의 클라이언트 ID 리스트를 저장하는 SyncML 데이터베이스를 구비하는 과정과, 상기 클라이언트들 중 제 1클라이언트가 웹 브라우저 사용시 사용자 데이터 변동이 발생한 경우 변동된 사용자 데이터를 소정 포맷을 갖는 동기화데이터로 변환하여 이를 다른 클라이언트들과 공유하기 위한 동기화를 요청하는 과정과, 상기 요청에 대응하여 SyncML 서버가 사용자 인증을 수행한 후 상기 사용자 데이터를 SyncML 데이터베이스에 저장하는 과정과, 상기 클라이언트 중 제 2클라이언트로부터 동기화 요청이 있는 경우 SyncML 서버가 상기 사용자 데이터를 SyncML 데이터베이스로부터 추출하여 상기 사용자 데이터를 상기 제 2클라이언트로 전송하여 동기화시키는 과정을 포함함을 특징으로 한다.
이하 본 발명의 바람직한 실시 예들을 첨부한 도면을 참조하여 상세히 설명한다. 도면들 중 동일한 구성 요소들은 가능한 한 어느 곳에서든지 동일한 부호들로 나타내고 있음에 유의해야 한다. 또한 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략한다.
그러면, 이제 도 3을 참조하여 인터넷 웹 브라우저 상에서 하나의 클라이언트를 통해 생성 또는 수정된 정보를 서로 다른 클라이언트간에 공유하기 위해 동기화 서비스를 제공하는 시스템에 관하여 살펴보도록 한다. 도 3은 본 발명의 실시 예에 따라 공유 정보 제공 및 동기화 절차를 수행하기 위한 시스템 구성도이다.
우선, 본 발명은 다양한 클라이언트에서 유/무선으로 인터넷 웹 서비스를 제공받기 위해 웹 브라우저 기능이 제공되고, 사용자는 이러한 클라이언트를 적어도 한가지 이상 사용함을 전제로 한다. 예를 들어, 사용자는 평상시 이동 통신 단말기를 항상 휴대하며 회사에서는 노트북 또는 PDA를 사용하며 집에서는 개인용 PC 등의 다양한 클라이언트를 사용할 수 있다. 여기서 사용자는 하나의 클라이언트에서 생성 및 변경한 정보 예컨대, 북마크, 페이지정보, 인증서, 쿠키 등을 SyncML 서버에 등록한 후 다른 클라이언트에서 SyncML 서비스를 이용하여 동기화하여 동일한 사용자 데이터를 사용할 수 있다.
본 발명의 실시 예에 따른 시스템 구성도는 인터넷 웹 브라우저에서 사용자 데이터의 동기화 서비스를 위한 구성으로 휴대폰, PDA 등의 제 1클라이언트(300)는 무선 인터넷망(310)과 네트워크 인터페이스(320)를 통해 SyncML 서버(330)와 접속되고 , 개인용 컴퓨터(PC), 핸드헬드(handheld) PC 등의 제 2클라이언트(360)는 유선인터넷망(350)과 네트워크 인터페이스(320)를 통해 SyncML 서버(330)와 접속되도록 구성된다. 다시 말하면 제 1클라이언트(300) 및 제 2클라이언트(360)는 인터넷을 통해 유/무선 상에서 SyncML 데이터베이스(DB : Database)(340)과 연결된 SyncML 서버(330)와 접속할 수 있다.
또한, SyncML 서버(330)는 공유하고자 하는 정보 제공 및 동기화 서비스를 제공한다. 특히 여기서 공유하고자 하는 정보의 예로는 북마크, 페이지정보, 인증서, 쿠키 등 웹 브라우저 상에서 생성 또는 변경되는 각종 사용자 데이터를 들 수 있다. 그리고 위와 같은 정보의 제공은 SyncML 서버(330)를 통해 미리 등록된 클라이언트 사용자에 의해 생성된 정보가 등록된 다른 클라이언트로 전달됨으로써 이루어진다. 이 때, SyncML 서버(330)는 예컨대, 사용자가 동일한 서로 다른 클라이언트에 대한 식별번호에 해당하는 클라이언트 ID 리스트를 SyncML 데이터베이스(340)에 저장하여 등록된 클라이언트간에 동일한 사용자 데이터 제공이 가능하도록 한다. 즉, SyncML 데이터베이스(340)는 하나의 그룹에 속한 클라이언트들의 정보를 가지는 적어도 하나의 클라이언트 ID 리스트를 저장한다
그리고 동기화는 제공된 정보가 다른 클라이언트 사용자에 의해 수정, 삭제된 경우에 나머지 클라이언트에게도 똑같이 반영되도록 함으로써 이루어진다. 이러한 정보 제공 및 동기화 서비스를 위해서 SyncML 서버(330)를 통해 SyncML 데이터베이스(340)로부터 클라이언트 사용자의 클라이언트 ID 리스트를 제공받아 이를 이용하여 클라이언트를 인증하고, 동기화를 수행하여야 한다.
우선, 도 3의 제 1클라이언트(300)는 공유할 정보를 생성 및 변경하는 단말기이고, 제 2클라이언트(360)는 공유 정보를 제공받는 단말기임을 가정한다. 즉, 도 3을 참조하면, 이동 통신 단말기가 SyncML 클라이언트 단말기로서의 기능을 수행하고 네트워크 서버가 SyncML 서버로서의 기능을 수행하는 동기화의 일 예를 도시한다.
가입자에 의해 제 1클라이언트(300)에서 공유할 정보와 SyncML 서버(330)와의 동기화 요구를 위한 입력이 있으면 SyncML 프로토콜을 이용하여 SyncML 서버(330)와의 동기화를 수행한다. 즉, 즉, 제 1클라이언트(300)가 SyncML 서버(330)에게 동기화를 요구함으로써 동기화 세션(SyncML session)이 시작되면 제1 클라이언트(300)는 SyncML 서버(330)와의 동기화를 수행한다.
이후 제 2클라이언트(360)가 SyncML 서버(330)와의 동기화를 수행 할 경우 SyncML 서버(330)는 SyncML 데이터베이스(340)에 클라이언트 ID 리스트를 요청하여 공유 정보를 제공할 그룹을 구분한다. 즉, SyncML 서버(330)는 제 2클라이언트(360)의 그룹 가입 여부를 SyncML 데이터베이스(340)를 통해 제공받은 클라이언트 ID 리스트를 통해 인증한 후에 공유할 정보를 제 2클라이언트(360)에게 제공한다.
전술한 바를 상세히 설명하면 제 1클라이언트(300)측에서 생성/변경된 새로운 정보가 입력되고 동기화 요청이 있으면 SyncML 서버(330)측에 접속되어 있는 SyncML 데이터베이스(340)에 공유된 정보가 갱신/등록되게 된다. 이 때, 제 1클라이언트(300)측에서 웹 브라우저 사용시의 사용자 데이터에 변동이 발생한 경우 즉, 생성/변경된 새로운 정보가 입력된 경우 그 클라이언트(300)는 변동된 사용자 데이터를 클라이언트와 SyncML 서버(330)간에 식별가능한 소정의 포맷을 갖는 동기화데이터로 변환한다.
그리고나서 제 1클라이언트(300)는 변동된 사용자 데이터에 해당하는 동기화데이터를 SyncML 서버(330)로 전송하고, SyncML 서버(330)는 수신된 동기화데이터를 그 포맷에 기초하여 판독함으로써 변동된 사용자 데이터를 추출한다. 그러면 SyncML 데이터베이스(340)와 접속되어 있는 SyncML 서버(330)는 추출된 사용자 데이터를 이용하여 SyncML 데이터베이스(340)내에 기저장된 사용자 데이터를 갱신/추가하여 저장하도록 한다.
한편, 제 1클라이언트(300)와 SyncML 서버(330)간에 동기화가 수행되고 난 후 제 2클라이언트(360)측으로부터 동기화 요청이 있는 경우 SyncML 서버(330)와 제 2클라이언트(360)간에도 동기화가 이루어지게 된다. 다시 말하면, 다수의 클라이언트 중 제 2클라이언트(360)로부터 동기화 요청이 있는 경우 SyncML 서버(330)가 SyncML 데이터베이스(340)로부터 제 2클라이언트(360) 사용자의 클라이언트 ID 리스트를 제공받아 제 2클라이언트(360)가 제 1클라이언트(300)와 동일한 그룹에 속하는 지 판단한다.
판단 결과 제 2클라이언트(360)가 제 1클라이언트(300)와 동일한 그룹에 속한 경우 사용자 데이터를 SyncML 데이터베이스(340)로부터 추출하여 사용자 데이터를 제 2클라이언트(360)로 전송함으로써 동기화가 이루어지게 된다. 이에 따라 제 2클라이언트(360)측에서는 SyncML 데이터베이스(340)로부터 추출된 공유 정보를 전송받아 소정 메모리 영역에 저장되어 있는 공유 정보를 갱신하거나 소정 메모리 영역에 새로 등록시킨다.
그러면, 이제 도 3과 같이 구성되는 시스템에서 하나의 그룹으로 구성되는 서로 다른 클라이언트간에 공유하고자 하는 정보를 제공하기 위해 서로 다른 클라이언크간의 동기화 서비스를 설명한다. 전술한 클라이언트(300, 360)와 SyncML 서버(330)간의 데이터 동기화 과정을 좀 더 상세히 살펴보도록 한다.
SyncML 동기화 서비스에서, 우선 동기화 세션(synchronization session)이 초기화되는데, 즉, 예를 들어 동기화될 데이터베이스가 선택된다. SyncML 클라이언트 단말기(300)는 싱크 클라이언트 에이전트(SyncML Client Agent)를 포함하며, 이동 통신 단말기 내에 동기화될 목적 데이터로서, 이전의 동기화 이후로 변경된 데이터에 대한 정보를 적어도 포함하는 SyncML 메시지(클라이언트 수정, Client Modifications)를 전송한다. 그리고 SyncML 서버(330)는 동기화를 제어하는 싱크 서버 에이전트(SyncML Server Agent) 및 싱크 엔진(SyncML Engine)을 포함하며 일반적으로 동기화를 위해 SyncML 클라이언트(300)가 시동될 것을 대기한다.
SyncML 서버(330)는 데이터를 동기화하는데, 다시 말하면, SyncML 데이터베이스(340) 및 클라이언트 단말기(300)의 데이터에 어떤 수정이 가해졌는지 분석하여 두 데이터를 동일하도록 만든다. 즉, 필요한 수정, 갱신 및 삭제를 행한다. 이러한 데이터 동기화 이후에, SyncML 서버(330)는 SyncML 데이터베이스(340)에 가해진 수정 사항을 포함하는 SyncML 메시지(서버 수정, Server Modifications)를 SyncML 클라이언트(360)에 반환한다.
이어, 클라이언트(300, 360)와 SyncML 서버(330)간에 동작 흐름에 대하여 살펴보도록 한다. 도 4는 본 발명의 실시 예에 따라 클라이언트의 정보 생성 및 변경에 따라 동기화 서버와의 데이터 동기화 과정을 수행하기 위한 신호 흐름도이다.
도 4를 참조하면, 제 1클라이언트(300)는 (400)단계에서 공유하고자 하는 정보입력과 SyncML 서버(330)와 동기화를 위한 입력이 있으면 (402)단계에서 SyncML 서버(330)로 SyncML 프로토콜을 이용하여 동기화 요청 메시지를 전송한다. 이 때 동기화를 요청하기 위한 메시지는 사용자가 인터넷을 통해 웹 브라우저를 사용하면서 생성 및 변경된 정보를 포함한다.
이후, SyncML 서버(330)는 제 1클라이언트(300)로부터 동기화 요청 메시지를 수신하면 (404)단계에서 메시지를 전송한 클라이언트에 대한 인증과정을 수행하고, (406)단계로 진행한다. (406)단계에서 SyncML 서버(330)는 제 1클라이언트(300)에 대한 동기화를 수행하고, (408)단계로 진행하여 SyncML 데이터베이스를 갱신한다.즉, SyncML 서버(330)는 사용자 데이터를 동기화하는데, SyncML 데이터베이스(340) 및 제 1클라이언트 단말기(300)의 데이터에 어떤 수정이 가해졌는지 분석하여 두 데이터를 동일하도록 만든다. 즉, 필요한 수정, 갱신 및 삭제를 행한다. 이러한 데이터 동기화 이후에, SyncML 서버(330)는 (410)단계에서 SyncML 데이터베이스(340)에 가해진 수정 사항을 포함하는 SyncML 응답 메시지를 제 1클라이언트(300)에 전송한다.
이 때 SyncML 데이터베이스(340)에 생성 및 변경된 정보 데이터가 저장되는 구조는 도 6과 같다. 즉, 공유하고자 하는 클라이언트 ID와 사용자 데이터가 저장되는 것이다. 도 6은 도 3의 SyncML 데이터베이스(340)를 더욱 구체적으로 나타내고 있다. 도 6은 본 발명의 실시 예에 따른 동기화 데이터베이스에 저장되는 사용자 데이터 리스트를 도시하는 도면이다.
우선, SyncML 데이터베이스(340)는 본 발명의 실시 예에 따라 인터넷 웹 브라우저를 사용하는 사용자가 클라이언트를 통해 SyncML 서버(330)에 접속하기 위한 등록된 클라이언트임을 알리는 클라이언트 ID(도시하지 않음), 필드이름(600), 최근 동기화 시간 정보(610), 사용자 데이터(620) 등의 공유하고자 하는 정보를 저장하고 있다. 이 때 사용자 데이터란 북마크, 웹 페이지 정보, 쿠키, 인증서 등의 웹 브라우저 사용시 사용자에 의해 생성/변경된 데이터를 뜻한다. 그리고 SyncML 데이터베이스(340)는 SyncML 서버(330)에 의해 공유 정보가 판독, 갱신, 등록 또는 삭제된다.
다시 말하면, SyncML 서버(330)는 도 6에 도시된 바와 같은 필드 구조를 갖는 SyncML 데이터베이스(340)에 의해 소정 데이터들(예컨대, 북마크, 웹 페이지 정보, 쿠키, 인증서 등)을 저장/관리하므로, SyncML 서버(330)는 SyncML 데이터베이스(340)의 공유 정보를 판독하여 최근 동기화 이후에 변경된 데이터의 동기화 시간 정보에 따라 공유 정보를 갱신, 등록 또는 삭제한다.
그러면 이제 상기한 도 4와 같이 제 1클라이언트(300)에 의해 동일한 그룹에 속한 다른 클라이언트들과 공유하고자 하는 정보로 SyncML 서버(330)와 동기화 과정 수행 후, 그룹에 속한 다른 클라이언트측에서 SyncML 서버(330)와 동기화 과정 수행 시 SyncML 서버(330)가 제 1클라이언트(300)에 의한 생성 및 변경된 정보를 제공하는 과정에 대하여 도 5를 참조하여 설명한다. 도 5는 본 발명의 실시 예에 따라 다른 클라이언트와 SyncML 서버간의 데이터 동기화 절차를 수행하기 위한 신호 흐름도이다.
먼저, 제 2클라이언트(360)는 (500)단계에서 동기화 요청 메시지를 SyncML 서버(330)로 전송한다. 이를 수신한 SyncML 서버(330)는 제 2클라이언트(360) 사용자의 클라이언트 ID 리스트를 SyncML 데이터베이스(340)로부터 독출한다. 독출한 클라이언트 ID 리스트를 통해 SyncML 서버(330)는 (502)단계에서 클라이언트에 대한 인증과정을 수행한다. 그리고나서 SyncML 서버(330)는 (504)단계에서 SyncML 데이터베이스(340)로부터 공유하고자 하는 정보를 독출한다. 그리고 SyncML 서버(330)는 (506)단계에서 독출된 정보 즉, 사용자 데이터를 이용하여 동기화를 수행한다. 그러면 SyncML 서버(330)는 (508)단계에서 사용자 데이터와 함께 동기화가 정상적으로 수행되었음을 알리는 동기화 상태 정보를 이용하여 동기화 응답 메시지를 제 2클라이언트(360)로 전송한다.
이 후 제 2클라이언트(360)는 (510)단계에서 SyncML 서버(330)로부터 전송받은 SyncML 메시지를 판독하여 생성/변경된 사용자 데이터를 추출하고 이러한 사용자 데이터를 제 2클라이언트(360)의 메모리에 갱신/등록하여 저장하는 동기화 처리 과정을 수행한다.
이러한 상기에서 설명한 바와 같이, 본 발명에서는 하나의 그룹으로 등록된 다수의 클라이언트 중 하나의 클라이언트에서 사용자에 의해 인터넷 웹 브라우저를 통해 생성/변경되는 공유하고자 하는 정보로 동기화 한 후, 하나의 그룹으로 등록된 다수의 클라이언트 중 다른 하나의 클라이언트측에서 동기화를 요청할 경우 그 클라이언트측에서도 같은 사용자 데이터를 가지도록 함으로써 동기화가 이루어지게 된다. 여기서 다른 클라이언트측에서 SyncML 서버(330)에 동기화를 요청할 경우 SyncML 서버(330)는 그 클라이언트의 그룹 가입여부를 SyncML 데이터베이스(340)를 통해 인증한 후에 공유할 정보를 제공할 수 있도록 한다. 이를 위해 SyncML 데이터베이스(340)는 생성 또는 변경된 정보인 공유 정보를 제공할 그룹을 구분하기 위해 클라이언트 ID 리스트를 저장하여 SyncML 서버(330)측에 제공할 수 있도록 한다.
상술한 바와 같이 본 발명은 SyncML 서비스를 이용하여 북마크, 인증서, 웹 페이지 정보 등의 사용자가 인터넷 웹 브라우저를 사용하면서 축적되는 정보를 다수의 클라이언트에서 동기화하여 상호 송수신할 수 있는 이점이 있다. 또한, 본 발명은 SyncML 데이터베이스를 이용하여 다수의 클라이언트와 서버간에 동일한 사용자 데이터를 실시간으로 공유할 수 있도록 하는 이점이 있다. 따라서, 사용자는 적어도 하나 이상의 클라이언트에서 생성/변경된 사용자 데이터를 다른 클라이언트측에서 번거로운 갱신하는 작업 없이도 항상 사용자 데이터를 갱신함으로써 사용자 데이터의 관리가 용이하게 된다.
도 1은 웹 브라우저 상에서 생성 또는 수정되는 사용자 데이터를 도시한 도면,
도 2는 종래의 클라이언트와 동기화(SyncML) 서버간의 데이터 동기화를 수행하기 위한 시스템 구성도,
도 3은 본 발명의 실시 예에 따라 공유 정보 제공 및 동기화 절차를 수행하기 위한 시스템 구성도,
도 4는 본 발명의 실시 예에 따라 클라이언트의 정보 생성 및 변경에 따라 SyncML 서버와의 데이터 동기화 과정을 수행하기 위한 신호 흐름도,
도 5는 본 발명의 실시 예에 따라 다른 클라이언트와 SyncML 서버간의 데이터 동기화 절차를 수행하기 위한 신호 흐름도,
도 6은 본 발명의 실시 예에 따른 SyncML 데이터베이스에 저장되는 사용자 데이터 리스트를 도시하는 도면.

Claims (13)

  1. SyncML(Synchronization Markup Language) 서비스를 이용하여 사용자 데이터를 서로 다른 클라이언트에 제공하기 위한 동기화 시스템은,
    하나의 그룹에 속한 클라이언트들의 정보를 가지는 적어도 하나의 클라이언트 ID 리스트를 저장하는 SyncML 데이터베이스와,
    웹 브라우저 사용시 사용자 데이터 변동이 발생한 경우 변동된 사용자 데이터를 소정 포맷을 갖는 동기화데이터로 변환하여 이를 다른 클라이언트들과 공유하기 위한 동기화를 요청하는 상기 클라이언트 중 제 1클라이언트와,
    상기 제 1클라이언트로부터의 동기화 요청에 대응하여 수신된 동기화데이터를 상기 SyncML 데이터베이스에 저장하고, 상기 클라이언트 중 제 2클라이언트로부터 동기화 요청이 있으면 이에 대응하여 상기 SyncML 데이터베이스로부터 사용자 데이터를 추출하여 상기 제 2클라이언트로 전송하여 동기화시키는 SyncML 서버를 포함함을 특징으로 하는 동기화 시스템.
  2. 제 1항에 있어서, 상기 SyncML 서버는 상기 수신된 동기화데이터를 상기 SyncML 데이터베이스에 저장 시
    상기 수신된 동기화데이터를 소정 포맷에 기초하여 판독하고, 판독 결과 변동된 사용자 데이터를 추출하여 SyncML 데이터베이스에 기저장된 사용자 데이터를 갱신 및 추가하여 저장함을 특징으로 하는 동기화 시스템.
  3. 제 1항에 있어서, 상기 SyncML 서버는 상기 클라이언트 중 제 1클라이언트로부터 동기화 요청이 있는 경우
    상기 SyncML 데이터베이스로부터 상기 제 1클라이언트 사용자의 클라이언트 ID 리스트를 제공받아 이를 이용하여 상기 제 1클라이언트를 인증하고,
    상기 SyncML 데이터베이스에 가해진 수정 사항을 포함하는 응답메시지를 상기 제 1클라이언트로 전송하여 동기화를 수행함을 특징으로 하는 동기화 시스템.
  4. 제 1항에 있어서, 상기 SyncML 서버는 상기 클라이언트 중 제 2클라이언트로부터 동기화 요청이 있는 경우
    상기 SyncML 데이터베이스로부터 상기 제 2클라이언트 사용자의 클라이언트 ID 리스트를 제공받아 상기 제 2클라이언트가 상기 제 1클라이언트와 동일한 그룹에 속한 경우 상기 SyncML 데이터베이스로부터 추출된 사용자 데이터로 동기화시킴을 특징으로 하는 동기화 시스템.
  5. 제 1항에 있어서, 상기 사용자 데이터는
    웹 브라우저 사용시 사용자에 의해 생성/변경된 데이터임을 특징으로 하는 동기화 시스템.
  6. 제 1항에 있어서, 상기 사용자 데이터는
    북마크, 웹 페이지 정보, 쿠키, 인증서들 중 어느 하나임을 특징으로 하는 동기화 시스템.
  7. 제 1항에 있어서, 상기 SyncML 서버가 상기 제 2클라이언트로의 동기화 수행은 상기 제 1클라이언트로부터 생성 또는 변경 또는 삭제된 사용자 데이터를 제공하는 것임을 특징으로 하는 동기화 시스템.
  8. SyncML(Synchronization Markup Language) 서비스를 이용하여 사용자 데이터를 서로 다른 클라이언트에 제공하기 위한 동기화 방법은,
    하나의 그룹에 속한 클라이언트들의 정보를 가지는 적어도 하나의 클라이언트 ID 리스트를 저장하는 SyncML 데이터베이스를 구비하는 과정과,
    상기 클라이언트들 중 제 1클라이언트가 웹 브라우저 사용시 사용자 데이터 변동이 발생한 경우 변동된 사용자 데이터를 소정 포맷을 갖는 동기화데이터로 변환하여 이를 다른 클라이언트들과 공유하기 위한 동기화를 요청하는 과정과,
    상기 요청에 대응하여 SyncML 서버가 사용자 인증을 수행한 후 상기 사용자 데이터를 SyncML 데이터베이스에 저장하는 과정과,
    상기 클라이언트 중 제 2클라이언트로부터 동기화 요청이 있는 경우 SyncML 서버가 상기 사용자 데이터를 SyncML 데이터베이스로부터 추출하여 상기 사용자 데이터를 상기 제 2클라이언트로 전송하여 동기화시키는 과정을 포함함을 특징으로 하는 방법.
  9. 제 8항에 있어서, 상기 사용자 데이터는
    웹 브라우저 사용시 사용자에 의해 생성/변경된 데이터임을 특징으로 하는 방법.
  10. 제 8항에 있어서, 상기 사용자 데이터는
    북마크, 웹 페이지 정보, 쿠키, 인증서들 중 어느 하나임을 특징으로 하는 방법.
  11. 제 8항에 있어서, 상기 동기화시키는 과정은
    클라이언트 중 제 2클라이언트로부터 동기화 요청이 있는 경우 상기 SyncML 서버가 상기 SyncML 데이터베이스로부터 상기 제 2클라이언트 사용자의 클라이언트 ID 리스트를 제공받아 상기 제 2클라이언트가 상기 제 1클라이언트와 동일한 그룹에 속하는지 판단하는 과정과,
    상기 제 2클라이언트가 제 1클라이언트와 동일한 그룹에 속한 경우 상기 사용자 데이터를 SyncML 데이터베이스로부터 추출하여 상기 사용자 데이터를 상기 제 2클라이언트로 전송하여 동기화시키는 과정을 포함함을 특징으로 하는 방법.
  12. 제 8항에 있어서, 상기 사용자 인증 수행 과정은
    상기 SyncML 서버가 상기 제 1클라이언트로부터의 동기화 데이터 전송에 대응하여 상기 SyncML 데이터베이스로부터 상기 제 1클라이언트 사용자의 클라이언트 ID 리스트를 제공받아 이를 이용하여 상기 제 1클라이언트를 인증하는 과정과,
    상기 사용자 인증 후 상기 제 1클라이언트가 상기 SyncML 서버로부터 동기화 응답 메시지를 전송받는 과정을 포함함을 특징으로 하는 방법.
  13. 제 8항에 있어서, 상기 저장하는 과정은
    상기 SyncML 서버가 상기 제 1클라이언트로부터의 동기화 요청에 대응하여 수신된 동기화데이터를 판독하여 상기 SyncML 데이터베이스에 기저장된 사용자 데이터를 갱신 또는 추가하여 저장하는 과정임을 특징으로 하는 방법.
KR1020040021346A 2004-03-29 2004-03-29 SyncML 서비스를 이용하여 사용자 데이터를 서로다른 클라이언트에 제공하기 위한 동기화 방법 및 그 시스템 KR20050096078A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040021346A KR20050096078A (ko) 2004-03-29 2004-03-29 SyncML 서비스를 이용하여 사용자 데이터를 서로다른 클라이언트에 제공하기 위한 동기화 방법 및 그 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040021346A KR20050096078A (ko) 2004-03-29 2004-03-29 SyncML 서비스를 이용하여 사용자 데이터를 서로다른 클라이언트에 제공하기 위한 동기화 방법 및 그 시스템

Publications (1)

Publication Number Publication Date
KR20050096078A true KR20050096078A (ko) 2005-10-05

Family

ID=37276304

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040021346A KR20050096078A (ko) 2004-03-29 2004-03-29 SyncML 서비스를 이용하여 사용자 데이터를 서로다른 클라이언트에 제공하기 위한 동기화 방법 및 그 시스템

Country Status (1)

Country Link
KR (1) KR20050096078A (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100028163A (ko) * 2008-09-04 2010-03-12 주식회사 케이티테크 휴대용 단말기를 이용한 컨텐츠 제공 방법
WO2012024819A1 (zh) * 2010-08-26 2012-03-01 广州客多软件科技有限公司 客户端共享用户信息的方法和系统
KR101250240B1 (ko) * 2006-08-16 2013-04-04 엘지전자 주식회사 정보공유 휴대단말기
CN103533036A (zh) * 2013-09-29 2014-01-22 方正国际软件有限公司 异步队列返回的数据应答系统和方法
KR101353941B1 (ko) * 2012-02-16 2014-01-24 (주)시터스 분산환경에서의 게이트웨이 변경저장소를 이용한 공간데이터 동기화 시스템 및 동기화 방법
KR101402286B1 (ko) * 2012-06-14 2014-06-02 (주)아이비즈소프트웨어 정보 동기화 방법, 시스템 및 장치

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101250240B1 (ko) * 2006-08-16 2013-04-04 엘지전자 주식회사 정보공유 휴대단말기
KR20100028163A (ko) * 2008-09-04 2010-03-12 주식회사 케이티테크 휴대용 단말기를 이용한 컨텐츠 제공 방법
WO2012024819A1 (zh) * 2010-08-26 2012-03-01 广州客多软件科技有限公司 客户端共享用户信息的方法和系统
KR101353941B1 (ko) * 2012-02-16 2014-01-24 (주)시터스 분산환경에서의 게이트웨이 변경저장소를 이용한 공간데이터 동기화 시스템 및 동기화 방법
KR101402286B1 (ko) * 2012-06-14 2014-06-02 (주)아이비즈소프트웨어 정보 동기화 방법, 시스템 및 장치
CN103533036A (zh) * 2013-09-29 2014-01-22 方正国际软件有限公司 异步队列返回的数据应答系统和方法

Similar Documents

Publication Publication Date Title
Hofmann et al. Content networking: architecture, protocols, and practice
CN110635911B (zh) 针对移动应用的本机单点登录(sso)的方法、设备和介质
KR100976429B1 (ko) 서비스 포털 간 데이터 동기화를 위한 시스템 및 방법과이러한 동기화 시스템을 이용한 서비스 액세스 플랫폼
CN102333092B (zh) 一种网络用户识别的方法及其应用服务器
US20020078180A1 (en) Information collection server, information collection method, and recording medium
US20070112739A1 (en) Intelligent mobile search client
US20070157304A1 (en) Method, apparatus and computer program product for automatic cookie synchronization between distinct web browsers
US20010037407A1 (en) System and method for managing user-specific data
EP2207305A1 (en) A method and a system for address book processing
US20130246504A1 (en) Method for subscribing to notification, apparatus and system
CN103051663A (zh) 图片共享对等网络中用于改进访客图像查看性能的代理高速缓存技术
JP2003331045A (ja) ポータルサイトサーバシステム、ポータルサイト方法、およびポータルサイトプログラム
WO2015000320A1 (zh) 一种移动终端跨浏览器登陆的方法和装置
JP4897503B2 (ja) アカウントリンキングシステム、アカウントリンキング方法、連携サーバ装置
KR20200002680A (ko) 멀티 도메인 서비스들을 위한 단일 인증 방법 그리고 이를 구현한 시스템
JP2016212656A (ja) 情報処理装置、端末、情報処理装置と端末を有するシステム、情報処理方法及びプログラム
KR100974472B1 (ko) 레가시 디바이스의 원격 제어를 위한 동적 ui 시스템 및그 실행 방법
JP2001209611A (ja) 代行管理方法及びエージェント装置
JP4989935B2 (ja) セッション管理方法、それに用いられるサーバ、セッション管理プログラム、プログラムを記録した記録媒体
KR20050096078A (ko) SyncML 서비스를 이용하여 사용자 데이터를 서로다른 클라이언트에 제공하기 위한 동기화 방법 및 그 시스템
JP5215362B2 (ja) Webコンテンツ共有システム及びWebコンテンツ共有方法
KR100640512B1 (ko) 메신저 서비스 시스템을 이용한 서버와 사용자 단말기간에 데이터 동기화 방법 및 그 시스템
KR100452834B1 (ko) 유무선 인터넷 연동 서비스를 위한 통합 세션 관리 시스템및 방법
KR100426099B1 (ko) 피투피/피투지 서비스 제공 방법 및 이를 위한 시스템
KR100545744B1 (ko) 클러스터링 환경에서의 모바일 비즈니스 응용 서버간 콘텐츠 캐시 동기화 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application