KR20050098342A - 서버와 클라이언트간에 데이터 동기화 시 비정상 종료된경우 데이터 전송 방법 및 그 시스템. - Google Patents

서버와 클라이언트간에 데이터 동기화 시 비정상 종료된경우 데이터 전송 방법 및 그 시스템. Download PDF

Info

Publication number
KR20050098342A
KR20050098342A KR1020040023348A KR20040023348A KR20050098342A KR 20050098342 A KR20050098342 A KR 20050098342A KR 1020040023348 A KR1020040023348 A KR 1020040023348A KR 20040023348 A KR20040023348 A KR 20040023348A KR 20050098342 A KR20050098342 A KR 20050098342A
Authority
KR
South Korea
Prior art keywords
data
client
server
synchronization
transmitted
Prior art date
Application number
KR1020040023348A
Other languages
English (en)
Other versions
KR100557192B1 (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 KR1020040023348A priority Critical patent/KR100557192B1/ko
Priority to US11/007,497 priority patent/US20050235019A1/en
Priority to EP05002427A priority patent/EP1592184A3/en
Priority to CNA2005100516162A priority patent/CN1681248A/zh
Publication of KR20050098342A publication Critical patent/KR20050098342A/ko
Application granted granted Critical
Publication of KR100557192B1 publication Critical patent/KR100557192B1/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/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
    • EFIXED CONSTRUCTIONS
    • E06DOORS, WINDOWS, SHUTTERS, OR ROLLER BLINDS IN GENERAL; LADDERS
    • E06CLADDERS
    • E06C9/00Ladders characterised by being permanently attached to fixed structures, e.g. fire escapes
    • E06C9/02Ladders characterised by being permanently attached to fixed structures, e.g. fire escapes rigidly mounted
    • EFIXED CONSTRUCTIONS
    • E06DOORS, WINDOWS, SHUTTERS, OR ROLLER BLINDS IN GENERAL; LADDERS
    • E06CLADDERS
    • E06C7/00Component parts, supporting parts, or accessories
    • E06C7/08Special construction of longitudinal members, or rungs or other treads
    • E06C7/081Rungs or other treads comprising anti-slip features
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F21LIGHTING
    • F21VFUNCTIONAL FEATURES OR DETAILS OF LIGHTING DEVICES OR SYSTEMS THEREOF; STRUCTURAL COMBINATIONS OF LIGHTING DEVICES WITH OTHER ARTICLES, NOT OTHERWISE PROVIDED FOR
    • F21V33/00Structural combinations of lighting devices with other articles, not otherwise provided for
    • F21V33/006General building constructions or finishing work for buildings, e.g. roofs, gutters, stairs or floors; Garden equipment; Sunshades or parasols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05BELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
    • H05B3/00Ohmic-resistance heating
    • H05B3/40Heating elements having the shape of rods or tubes
    • H05B3/54Heating elements having the shape of rods or tubes flexible
    • H05B3/56Heating cables
    • EFIXED CONSTRUCTIONS
    • E06DOORS, WINDOWS, SHUTTERS, OR ROLLER BLINDS IN GENERAL; LADDERS
    • E06CLADDERS
    • E06C7/00Component parts, supporting parts, or accessories
    • E06C7/003Indicating devices, e.g. user warnings or inclinators

Abstract

본 발명에 따른 서버와 클라이언트간에 데이터 전송 방법에 있어서, 좁은 밴드영역(bandwidth) 및 외부 환경에 영향을 많이 받아 의도하지 않게 무선망에서의 데이터 동기화 세션이 끊어질 경우 전송이 중단된 시점의 데이터부터 전송을 시작할 수 있도록 한다. 이를 위해 본 발명은 비정상 종료된 시점의 데이터에 관한 정보를 저장하여 클라이언트에서 동기화를 재시도할 경우 데이터에 관한 정보를 이용하여 전송이 중단된 시점의 데이터부터 이어서 전송을 시작할 수 있도록 한다. 따라서, 본 발명에 따른 클라이언트와 서버는 상대가 받지 못한 데이터만 전송함으로써, 데이터 동기화에 걸리는 시간이 단축될 뿐만 아니라 대용량의 데이터를 동기화시킬 때 불필요한 트랜젝션(transaction)의 낭비를 줄일 수 있는 이점이 있다.

Description

서버와 클라이언트간에 데이터 동기화 시 비정상 종료된 경우 데이터 전송 방법 및 그 시스템.{METHOD FOR SENDING DATA IN CASE OF IRREGULARITY COMPLETION IN DATA SYNCHRONIZATION BETWEEN SERVER AND CLIENT AND SYSTEM THEREFOR}
본 발명은 서버와 클라이언트간의 데이터 동기화 방법에 관한 것으로서, 특히 서버와 클라이언트간에 데이터 동기화 도중 내외부적인 요인에 의해 데이터 전송이 중단된 경우 중단된 시점의 데이터부터 전송을 시작할 수 있도록 하는 서버와 클라이언트간의 데이터 동기화 방법에 관한 것이다.
통상적으로 이동 통신 단말기 사용자들은 주소록, 스케줄 정보 등과 같이 개인적으로 필요한 정보들을 이동 통신 단말기 내에 저장하여 사용한다. 또한 이동 통신 단말기의 교체 및 분실 등의 이유로 새로운 이동 통신 단말기를 사용하게 된 경우 이전 이동 통신 단말기에 저장된 각종 정보들을 새로운 이동 통신 단말기에 그대로 저장하여 사용할 수 있도록 하기 위해 이동 통신 단말기에 저장된 정보들을 별도의 데이터 저장 서버에 저장하여 관리한다. 이 때 이동 통신 단말기에 저장된 정보와 그 데이터 저장 서버에 저장된 데이터를 동일하게 유지하기 위해 이동 통신 단말기 또는 그 데이터 저장 서버에 저장된 데이터가 변경된 경우 이들간에 데이터 동기화를 수행하여야 한다.
통상적으로 전술한 바와 같은 이동 통신 단말기와 데이터 저장 서버간의 데이터 동기화 작업은 이동 통신 단말기 사용자의 동기화 요구에 의해 수행된다. 이러한 이동 통신 단말기와 데이터 저장 서버간의 데이터 동기화 과정을 도 1을 참조하여 설명한다. 도 1은 종래의 서버와 클라이언트의 데이터 동기화 방법에 대한 처리 흐름도이다. 도 1에서 서버는 기설명된 데이터를 저장하고 있는 SyncML 서버이고, 클라이언트는 SyncML 클라이언트 기능을 수행하는 이동 통신 단말기이다.
도 1을 참조하면, 종래의 데이터 동기화 방법은 다음과 같다. 먼저 클라이언트(100)가 서버(110)에게 동기화를 요구함으로써 동기화 세션(synchronization session)이 시작된다. 이에 대해 서버(110)는 접속이 가능한 클라이언트인지를 확인하기 위해 인증절차를 수행한다. 인증이 완료되면 클라이언트(100)는 (120)단계에서 클라이언트 내에 동기화될 목적 데이터로서, 이전의 동기화 이후로 변경된 데이터에 대한 정보를 포함하는 SyncML 메시지(클라이언트 수정 데이터, Client Modified data)를 전송한다. 이 때 전체 전송될 데이터의 개수도 포함되어 전송된다.
이후 서버(110)는 데이터를 동기화하는데, 서버(110)측 데이터와 클라이언트(100)측의 데이터에 어떤 수정이 가해졌는지 분석하여 두 데이터를 동일하도록 만드는 동기화 작업을 수행한다. 즉, 필요한 수정, 갱신 및 삭제를 행한다. 이러한 데이터 동기화 이후에, 서버(110)는 (130)단계에서 서버(110)측에 가해진 수정 사항을 포함하는 SyncML 응답 메시지(서버 수정 데이터, Server Modified data)를 클라이언트(100)에 반환한다. 즉, 서버(110)에서 변화된 데이터와 함께 그 데이터의 개수도 함께 클라이언트(100)측에 전송된다. 또한 필요에 따라 Map operation을 클라이언트(100)에서 서버(110)로 전송한다. 그러면 서버(110)는 Map Operation이 전송될 경우 이의 처리 결과를 클라이언트(100)로 전송한다.
전술한 바에서는 일련의 데이터 동기화 과정(120, 130)이 정상적으로 수행된 경우를 설명하였지만 무선 네트워크의 트래픽이나 다른 외적인 이유에 의해 동기화 세션이 비정상 종료될 수도 있다. 이와 같이 동기화 세션이 비정상 종료된 후의 동기화 과정은 도 2를 참조하여 설명한다. 도 2는 종래의 서버와 클라이언트간의 동기화 세션의 비정상 종료시 데이터 동기화 방법에 대한 처리 흐름도이다.
먼저, 클라이언트(100)로부터의 동기화 요청에 대응하여 서버(110)는 (200)단계에서 접속이 가능한 클라이언트(100)인지의 여부를 확인하기 위해 인증절차 수행한다. 그러면 서버(110)는 (210)단계에서 클라이언트(100)측에 이전에 처리된 동기화 세션이 정상종료되지 않았기 때문에 클라이언트(100)가 가지고 있는 모든 데이터를 보내 줄 것을 요청한다.
이에 대해 클라이언트(100)는 (220)단계에서 클라이언트(100)측에 구비된 데이터베이스내의 서버(110)측으로 전달하고자 하는 데이터(전체 데이터 또는 변경된 데이터)를 서버(110)로 전송한다. 이 때 서버(110)측으로 전달하고자 하는 데이터는 전송이 완료된 데이터와 전송되지 않고 남은 데이터 및 이미 동기화가 완료된 데이터 등이 모두 포함된 데이터이다. 그러면 서버(110)는 (230)단계에서 수신한 클라이언트 수정 데이터(Client Modified data)의 처리 결과와 서버(110)측에 가해진 수정 사항을 포함하는 서버 수정 데이터(Server Modified data)를 클라이언트(100)에 반환한다.
이 때 클라이언트의 전체 데이터를 전달함으로써 클라이언트(100)와 서버(110)의 동기화를 수행하는 방법을 슬로우 싱크(slow sync)라 한다. 슬로우 싱크는 전술한 바와 같이 서버(110) 또는 클라이언트(100)가 자신의 변경 내역(change log)을 잃었을 경우 네트워크에 과부하가 걸렸을 경우 등의 여러 이유에 의해 수행된다. 슬로우 싱크는 클라이언트(100)가 자신의 데이터를 서버(110)에게 모두 보내면 서버(110)가 자신의 데이터와 클라이언트(100)로부터 전달된 데이터를 필드 대 필드(field by field)로 비교하여 수정된 내용을 다시 클라이언트(100)로 전송하고 그 클라이언트(100)가 전송된 내용을 바탕으로 데이터의 동기를 맞추게 됨으로써 이루어진다.
상술한 바와 같이 종래의 동기화 방법의 경우 서버(110) 및 클라이언트(100)가 데이터 동기화를 수행할 때 동기화 세션이 비정상 종료된 경우 전체 데이터를 교환하는 슬로우 싱크를 수행하여야 한다.
상술한 바와 같이 종래에는 동기화 세션이 비정상 종료된 경우에 있어서 슬로우 싱크는 전체 데이터를 다시 전송해야만 하므로 처리 속도가 느리다. 뿐만 아니라 슬로우 싱크가 자주 발생할 경우 서버와 클라이언트간에 동기화 지연이 발생되는 요인이 된다.
또한 전체 데이터뿐만 아니라 변경된 데이터만을 전달하는 경우에도 네트워크의 과부하 등 외적인 요인에 의해 동기화 세션이 비정상 종료가 되었을 때, 이후 진행되는 동기화 과정에서는 그 전에 이미 클라이언트와 서버간의 동기화가 이미 완료된 데이터까지 모두 재전송을 해야했다. 따라서 서버와 클라이언트간에 동기화 시간이 길어질뿐만 아니라 불필요한 트랜젝션(transaction) 및 또 다른 네트워크 과부하의 원인이 될 수도 있다.
따라서 본 발명의 목적은 동기화 세션의 비정상 종료시 이후 진행되는 동기화에서는 서버와 클라이언트간에 전송 및 수신하지 못한 데이터만을 전송함으로써 불필요한 트랜젝션의 방지 및 네트워크의 과부하를 막아 동기화 속도를 빠르게 하는 방법을 제공함에 있다.
상술한 목적을 달성하기 위한 본 발명은 서버와 클라이언트간에 데이터 동기화 시 비정상 종료된 경우 데이터 전송 방법에 있어서, 상기 비정상 종료가 상기 클라이언트에서 상기 서버로 데이터가 전송되는 상태에서 발생한 경우 상기 클라이언트가 비정상 종료된 시점의 데이터에 관한 정보를 저장한 후 동기화 세션을 종료하는 과정과, 상기 동기화 세션 종료 이후 상기 클라이언트가 동기화를 재시도할 때 재개시(resumed) 동기화 세션임을 상기 서버에 알리는 과정과, 상기 클라이언트가 상기 데이터에 관한 정보를 이용하여 전송이 중단된 시점의 데이터부터 이어서 전송을 시작하는 과정과, 상기 서버가 전송받은 데이터를 기저장된 데이터에 순차적으로 업데이트하여 동기화하는 과정을 포함함을 특징으로 한다.
또한 본 발명은 서버와 클라이언트간에 데이터 동기화 시 비정상 종료된 경우 데이터 전송 시스템에 있어서, 데이터 동기화 도중 비정상 종료된 경우 상기 비정상 종료된 시점의 데이터에 관한 정보를 저장한 후 동기화 세션을 종료하고, 상기 동기화 세션 종료 이후 동기화를 재시도할 때 재개시(resumed) 동기화 세션임을 알리는 클라이언트와, 상기 클라이언트에 의해 동기화가 재시도되는 경우 동기화가 완료된 데이터의 정보를 교환하여 전송하는 서버와, 상기 클라이언트는 상기 데이터에 관한 정보를 이용하여 전송할 데이터를 결정하여 전송이 중단된 시점의 데이터부터 이어서 상기 서버로 전송함을 특징으로 한다.
이하 본 발명의 바람직한 실시 예들을 첨부한 도면을 참조하여 상세히 설명한다. 도면들 중 동일한 구성 요소들은 가능한 한 어느 곳에서든지 동일한 부호들로 나타내고 있음에 유의해야 한다. 또한 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략한다.
본 발명은 동기화를 표준 프로토콜인 SyncML을 이용하여 사용자 정보 동기화 수행 도중에 무선 네트워크의 트래픽이나 다른 요인에 의해 동기화 세션이 비정상 종료된 경우 서버와 클라이언트의 데이터 동기화 방법에 관한 것이다. 이러한 동기화 세션이 비정상 종료된 후 서버와 클라이언트간의 동기화는 상대측에서 받지 못한 데이터만을 전송함으로써 이루어진다. 즉, 본 발명에 따른 동기화는 비정상 종료된 후 서버와 클라이언트간에 동기화가 완료된 데이터를 제외한 나머지 데이터를 이어서 전송함으로써 이루어진다.
본 발명의 실시 예에 따른 시스템 구성도(도시되지 않음)는 사용자 데이터의 동기화 서비스를 위한 구성으로 휴대폰, PDA 등의 클라이언트는 무선 인터넷망과 네트워크 인터페이스를 통해 SyncML 서버와 접속되고 , 개인용 컴퓨터(PC), 핸드헬드(handheld) PC 등의 클라이언트는 유선인터넷망과 네트워크 인터페이스를 통해 SyncML 서버와 접속되도록 구성된다. 다시 말하면 클라이언트는 유/무선 상에서 SyncML 서버(이하 서버)와 접속할 수 있다.
또한, 서버는 공유하고자 하는 정보 제공 및 동기화 서비스를 제공한다. 여기서 공유하고자 하는 정보의 예로는 파일(File), 노트(Note), 이-메일(e-mail), 스케줄(vCalendar), 명함(vCard)등 클라이언트상에서 수정 가능한 각종 정보를 들 수 있다. 또한 동기화는 제공된 정보가 클라이언트 사용자에 의해 수정, 삭제된 경우에 서버에도 똑같이 반영되도록 함으로써 이루어진다.
이하, 본 발명의 실시 예에 따른 클라이언트와 서버간의 데이터 전송 방법을 도 3을 참조하여 설명한다. 도 3은 본 발명의 실시 예에 따른 클라이언트와 서버간에 데이터 전송이 중단된 경우 데이터 이어받기의 방법을 보인 신호 흐름도이다.
그러면, 이제 도 3을 참조하여 하나의 클라이언트(200)를 통해 생성 또는 수정된 정보를 서버로 전송하여 동기화하는 과정을 살펴보도록 한다. 우선, 클라이언트(200)는 (S300)단계에서 사용자에 의해 생성 및 변경된 공유하고자 하는 데이터를 보관하고, (S305)단계에서 공유할 데이터를 서버(210)로 전송하기 시작한다. 이 때, 데이터 전송 개시가 이루어지려면 클라이언트(200)와 서버(210)간의 인증 과정이 먼저 수행되어야 한다.
전술한 바를 상세히 설명하면 클라이언트(200)측에서 생성/변경된 새로운 데이터가 입력되고 동기화 요청이 있으면 이에 대응하여 서버(210)는 (S310)단계에서 공유된 데이터를 업데이트/등록한다. 이 때, 클라이언트(200)측에서 생성/변경된 새로운 정보가 입력된 경우 그 클라이언트(200)는 변동된 데이터를 클라이언트(200)와 서버(210)간에 식별가능한 소정의 포맷을 갖는 동기화데이터로 변환한다.
그리고나서 클라이언트(200)는 변동된 데이터에 해당하는 동기화데이터를 서버(210)로 전송하고, 서버(210)는 수신된 동기화데이터를 그 포맷에 기초하여 판독함으로써 변동된 데이터를 추출한다. 그러면 서버(210)는 추출된 데이터를 이용하여 기저장된 데이터를 업데이트/추가하여 저장한다.
이와 같이 사용자에 의해 클라이언트(200)에서 공유할 정보와 서버(210)와의 동기화 요구를 위한 입력이 있으면 SyncML 프로토콜을 이용하여 서버(210)와의 동기화를 수행한다. 즉, 클라이언트(200)가 서버(210)에게 동기화를 요구함으로써 동기화 세션(SyncML session)이 시작되면 그 클라이언트(200)는 서버(210)와의 동기화를 수행한다. 이후, 동기화 완료는 서버(210)가 클라이언트(200)로부터의 동기화 요청 시 전송받은 전체 데이터의 개수와 동기화 완료된 데이터의 개수가 일치할 경우에 이루어진다.
상술한 바와 같이 데이터 전송 중 (S315)단계에서 외부 또는 내부 환경요인(네트워크 단절이나 혼선, 시스템 이상 등)으로 데이터 전송이 중단 될 경우, 서버(210)는 그 때까지 전송받은 데이터 및 그 데이터에 관한 정보를 내부의 저장공간에 저장한다. 특히 그 데이터에 관한 정보는 전체 받을 데이터 개수만큼 다받지 못했을 경우 재접속 이후 동기화 완료된 데이터 개수, 이어받을 데이터 개수 등에 관한 정보를 말한다. 그리고 클라이언트(200)는 (S320)단계에서 데이터 전송 도중 비정상 종료되었음을 알리는 정보를 저장한 후 동기화 세션을 종료한다.
이 후, 클라이언트(200)로부터 서버(210)에 재접속하여 동기화 요구를 위한 입력이 있으면 서버(210)와의 동기화를 수행한다. 이 때 클라이언트(200)는 (S325)단계에서 재개시 동기화임을 알리는 메시지를 포함한 동기화 데이터를 서버(210)로 전송하여 동기화를 요청한다. 그러면 서버(210)는 (S330)단계에서 전송받은 동기화 데이터를 판독하여 이에 대응하는 이어 보내기 요청 메시지를 클라이언트(200)로 전송한다. 이에 대응하여 클라이언트(200)는 전송받은 이어 보내기 요청 메시지로부터 전송할 데이터의 위치 정보를 판독하여 (S335)단계에서 이어 보낼 데이터를 결정한다.
이어 보낼 데이터가 결정되면 클라이언트(200)는 (S340)단계에서 이어보내기를 수행한다. 그러면 서버(210)는 (S345)단계에서 수신된 동기화데이터를 그 포맷에 기초하여 판독함으로써 변동된 데이터를 추출한다. 그러면 서버(210)는 추출된 데이터를 이용하여 기저장된 데이터에 이어서 업데이트/추가하여 저장한다.
이하, 본 발명의 실시 예에 따라 서버와 클라이언트간에 데이터 동기화 시 비정상 종료된 경우 데이터 이어받기 과정을 설명한다.
특히 본 발명의 실시 예에서는 데이터 동기화 시 비정상 종료된 경우를 크게 서버로 데이터가 전송되는 상태에서 비정상 종료된 경우와 데이터 수신에 따른 서버로부터의 응답 메시지가 클라이언트로 전송되는 상태에서 비정상 종료되는 경우로 나누어 설명한다.
여기서 본 발명의 실시 예에 따라 데이터 전송 도중 비정상 종료된 경우 데이터를 이어서 전송하기 위해 임의의 변수를 지정해둔다. 예컨대, 클라이언트는 서버로 동기화 요청 시 공유할 데이터에 관한 정보를 포함시켜 전송한다. 동기화 요청시 서버로 전송되는 데이터에 관한 정보에는 전체 전송할 데이터의 개수 등이 포함된다. 이후 클라이언트는 데이터 전송을 수행하면서 서버로 그 데이터에 관한 상태 정보를 포함시켜 전송한다. 데이터 동기화 도중에 비정상 종료된 이후에 전송되는 데이터에 관한 상태 정보는 얼마만큼의 데이터가 전송되었는지, 어디서부터 다시 전송을 해주어야 하는지에 관한 정보를 포함한다.
이와 같이 데이터에 관한 상태 정보는 데이터의 크기 정보 이외에도, 처음부터 전송하는 데이터의 일정 비트를 임의로 정의된 순번 정보를 부여한다. 이렇게 함으로써 클라이언트측에서는 비정상 종료 이후 서버로 전송 완료된 다음 순번부터 데이터를 이어 전송할 수 있도록 하고 서버측에서는 다음번에 수신해야 하는 데이터 순번 정보를 알 수 있도록 한다. 이러한 상태 정보를 통해 데이터 전송 상태를 체크할 수 있도록 할 수 있다.
전술한 데이터 전송 상태를 체크하여 본 발명의 실시 예에 따라 데이터 전송 도중 비정상 종료된 경우 데이터를 이어서 전송하기 위해 임의로 지정된 변수는 후술하는 바와 같다. 이하, 데이터를 이어서 전송하기 위해 동기 내역(syncLog), 진행 내역(continueLog), 변경 내역(changeLog)등이 정의된다.
먼저, 동기 내역은 클라이언트와 서버간에 동기화가 완료된 데이터의 개수를 저장하며, 클라이언트 및 서버내에 정의되어 있다. 이 때, 클라이언트에서의 동기 내역값은 클라이언트의 변경 내역이 클리어(clear)되거나 서버 수정 데이터(Server Modified data )의 개수와 같아지면 리셋(reset)된다. 반면, 서버의 동기 내역은 서버의 변경 내역이 클리어되거나 클라이언트 수정 데이터(Client Modified data)의 개수와 같아지면 리셋된다.
한편, 진행 내역은 상대측으로 전송은 되었으나 상대방으로부터 응답 메시지를 받지 않은 데이터의 순번 정보를 저장하며, 클라이언트와 서버에 모두 존재한다. 이러한 진행 내역은 상대측으로부터 응답 메시지를 수신한 이후 클리어된다.
또한편, 변경 내역은 SyncML 프로토콜에 정의된 모듈로써, 서버 수정 데이터 및 클라이언트 수정 데이터가 저장되며, 데이터 전송에 따른 응답 메시지를 받은 후 해당 데이터는 클리어된다.
이하, 상술한 변수를 이용하여 본 발명의 실시 예에 따라 서버와 클라이언트간에 데이터 동기화 시 서버로 데이터가 전송되는 상태에서 비정상 종료된 경우를 도 4a 및 도 4b를 참조하여 설명한다. 도 4a는 본 발명의 일실시 예에 따른 서버로 데이터 전송이 이루어지지 않은 상태에서 비정상 종료된 경우를 도시한 신호 흐름도이며, 도 4b는 도 4a의 경우에서 데이터 이어받는 과정을 도시한 신호흐름도이다.
먼저, 클라이언트(200)에서 사용자에 의해 클라이언트 수정 데이터를 예컨대, 10개의 데이터를 서버(210)로 전송하는 도중에 비정상 종료가 되는 경우를 도 4a를 참조하여 설명한다. 이 때 10개의 클라이언트 수정 데이터를 편의상 Item1 ~ Item10라고 한다. 여기서 그 클라이언트 수정 데이터에는 각 데이터를 순차적으로 전송하기 위해 1 ~ 10이라는 순번 정보가 포함된다. 또한, 전송 용량의 한계로 한번에 전송하기 어렵기 때문에 예컨대, 4, 4, 2개씩 임의로 세 번에 나누어 10개의 데이터를 전송하는 경우를 예로 들어 설명한다.
우선, 클라이언트(200)가 동기화 요청을 하면 서버(210)는 접속이 가능한 클라이언트(200)인지의 여부를 체크하기 위해 인증절차를 수행한다. 인증절차가 완료되면 클라이언트(200)는 사용자에 의해 생성 및 변경된 공유할 데이터 즉, 클라이언트 수정 데이터를 서버(210)로 전송한다. 이 때 클라이언트(200)는 (300)단계에서 이러한 클라이언트 수정 데이터와 함께 전송할 전체 데이터의 개수를 서버(210)로 전송한다.
예를 들어, 도 4a에 도시된 바와 같이 클라이언트(200)가 (304)단계에서 전체 전송할 클라이언트 수정 데이터인 Item1 ~ Item10에서 4개의 데이터 즉, Item1 ~ Item4를 서버(210)로 전송한다. 이 때, (302)에 나타난 바와 같이 변경 내역은 아직 서버(210)로부터 데이터 전송에 따른 응답이 없으므로 Item1 ~ Item10의 그대로 유지되는 데이터 갯수를 나타내며, 진행 내역은 서버(210)로 전송되었으나 이에 따른 응답 메시지를 받지 않은 Item1 ~ Item4의 순번 정보를 나타내며, 동기 내역은 동기화가 완료된 데이터가 없으므로 0개이다.
한편, 서버(210)는 Item1 ~ Item4의 데이터를 수신하여 (306)단계에서 데이터를 업데이트하고 (308)에 나타난 바와 같이 동기화가 완료된 데이터의 개수가 4개이므로 동기 내역값은 4가 된다. 그리고나서 서버(210)는 (310)단계에서 Item1 ~ Item4의 데이터에 대한 응답 메시지를 클라이언트(200)로 전송한다. 그러면 클라이언트(200)에서 (312)에 나타난 바와 같이 변경 내역은 응답 메시지에 따른 해당 데이터 즉, Item1 ~ Item4가 지워지므로 Item5 ~ Item10이 남고, 진행 내역은 응답 메시지에 따라 전송한 Item1 ~ Item4의 순번 정보를 지워서 클리어되며, 동기 내역은 Item1 ~ Item4의 데이터가 동기화가 완료되었으므로 그 값은 4가 된다.
그리고나서 클라이언트(200)는 (315)단계에서 다음 순번의 데이터 즉, Item5 ~ Item8의 데이터 전송 도중 서버(210)가 그 데이터를 받기 전에 외부 또는 내부 요인에 의해 비정상적인 상황이 발생할 수 있다. 그러면 클라이언트(200)는 비정상 종료되었음을 저장한 후 동기화 세션을 종료한다. 이 때, (314)에 나타난 바와 같이 변경 내역에는 Item5 ~ Item10의 데이터가 저장되며, 진행 내역에는 서버(210)로 전송한 데이터 순번 정보인 5 ~ 8이 저장되며, 동기 내역에는 그대로 4값이 유지된다.
이어, 본 발명의 실시 예에 따라 데이터 동기화 시 데이터를 이어서 전송하기 위한 데이터 전송 과정은 도 4b를 참조하여 설명한다.
데이터 동기화가 비정상 종료된 이후, 클라이언트(200)가 동기화를 다시 시도할 때 (318)단계에서 재개시(resumed) 동기화 세션임을 서버(210)에 알린다. 이 때, 클라이언트(200)에서의 동기 내역값이 함께 전송된다. 그리고 (316)에 나타난 바는 (314)에 나타난 바와 동일하다. 또한 (320)에 나타난 바와 같이 서버(210)에서의 동기 내역도 (308)에 나타난 바와 동일하다. 그러면 서버(210)는 (322)단계에서 그 동기 내역값을 클라이언트(200)로 전송한다.
이에 대해 클라이언트(200)는 (324)단계에서 각 동기 내역값에 따른 판단을 하기 위해 클라이언트(200)에서의 동기 내역값과 서버(210)로부터 전송받은 동기 내역값을 비교한다. 비교 결과 두 개의 동기 내역값이 4로 동일하므로 클라이언트(200)는 서버(210)가 4개의 데이터만 받았다는 것을 인지한다. 따라서 클라이언트(200)는 (328)단계에서 비정상 종료된 이후의 데이터 즉, Item5 ~ Item8의 데이터를 서버(210)로 전송한다. 그러면 (326)에 나타난 바와 같이 클라이언트(200)측에서의 변경 내역에는 비정상 종료 이전 데이터 전송에 따른 해당 데이터를 제외한 나머지 Item5 ~ Item10의 데이터가 저장되며, 진행 내역에는 전송된 데이터의 순번 정보인 5 ~ 8이 저장되며, 동기 내역값은 동기화가 완료된 데이터의 개수가 4이므로 4가 유지된다.
한편, 서버(210)는 Item5 ~ Item8의 데이터 전송에 대응하여 (330)단계에서 데이터를 이어서 업데이트하고 동기화가 완료된 데이터의 개수가 8이므로 (332)에 나타난 바와 같이 동기 내역값은 8이 된다. 그리고나서 서버(210)는 (334)단계에서 전송받은 Item5 ~ Item8의 데이터에 대한 응답 메시지를 클라이언트(200)로 전송한다. 그러면 클라이언트(200)는 그 응답 메시지에 대응하여 Item5 ~ Item8의 데이터및 순번 정보를 삭제하고 동기화가 완료된 데이터의 개수를 판단한다. 따라서 (336)에 나타난 바와 같이 변경 내역은 Item9 ~ Item10이 되고, 진행 내역은 클리어되고, 동기 내역값은 8이 된다.
이에 따라 클라이언트(200)는 전송할 다음 순번의 데이터를 추출하여 (340)단계에서 Item9 ~ Item10의 데이터를 전송한다. 그러면 서버(210)는 이에 대응하여 (342)단계에서 기저장된 데이터에 이어서 업데이트하고, (344)에 나타난 바와 같이 동기화가 완료된 데이터의 개수가 10개이므로 동기 내역값이 10이 된다. 이 때 서버(210)는 미리 전송받은 클라이언트 수정 데이터의 전체 데이터 개수와 비교하여 그 값이 같아지면 동기 내역값을 리셋시킨다. 그리고나서 서버(210)는 (346)단계에서 Item9 ~ Item10의 데이터 전송에 따른 응답 메시지를 전송한다.
그러면 클라이언트(200)가 응답 메시지 수신하면 이에 대응하여 Item9 ~ Item10의 데이터 및 순번 정보는 지워지므로 (348)에 나타난 바와 같이 변경 내역과 진행 내역은 클리어되고, 동기 내역은 동기화가 완료된 데이터의 개수가 10개이므로 그 값이 10이 되고, 이 후 클라이언트(200)의 변경 내역이 클리어되므로 그 동기 내역값은 리셋된다.
이하, 데이터 수신에 따른 서버로부터의 응답 메시지가 클라이언트로 전송되는 상태에서 비정상 종료되는 경우를 도 5a 및 도 5b를 참조하여 설명한다. 도 5a는 본 발명의 다른 실시 예에 따른 서버부터의 데이터 전송에 따른 응답이 클라이언트로 전송이 이루어지지 않은 상태에서 비정상 종료된 경우를 도시한 신호 흐름도이고, 도 5b는 도 5a의 경우에서 데이터 이어받는 과정을 도시한 신호 흐름도이다.
이하, 클라이언트(200)에서 사용자에 의해 클라이언트 수정 데이터를 예컨대, 10개의 데이터를 서버(210)로 전송하고 난 후 서버(210)로부터 이에 대응하는 응답 메시지 전송 도중에 비정상 종료가 되는 경우를 도 5a를 참조하여 설명한다. 여기서 서버(210)로 전송되는 데이터는 도 4a의 경우와 동일한다.
우선, 인증 절차 시 동기화 요청과 함께 전송할 전체 데이터의 개수가 서버(210)로 전송된다. 인증 절차 완료 이후 클라이언트(200)는 (404)단계에서 Item1 ~ Item4의 데이터를 전송한다. 이와 같이 (402) 내지 (414)단계는 도 4a의 (302) 내지 (314)단계와 동일하다.
그리고나서 클라이언트(200)는 (416)단계에서 다음 순번의 데이터 즉, Item5 ~ Item8의 데이터 전송한다. 이에 대응하여 서버(210)가 그 데이터를 전송받아 (418)단계에서 데이터를 업데이트하고 (420)에 나타난 바와 같이 동기화 완료된 데이터의 개수는 8개 이므로 동기 내역은 8이 된다. 이 후 서버(210)가 (422)단계에서 Item5 ~ Item8의 데이터에 대한 응답 메시지를 전송하는 도중에 외부 또는 내부 요인에 의해 비정상적인 상황이 발생할 수 있다. 그러면 클라이언트(200)는 비정상 종료되었음을 저장한 후 동기화 세션을 종료한다.
이어, 본 발명의 실시 예에 따라 데이터 동기화 시 데이터를 이어서 전송하기 위한 데이터 전송 과정은 도 5b를 참조하여 설명한다.
데이터 동기화가 비정상 종료된 이후, 클라이언트(200)가 동기화를 다시 시도할 때 (426)단계에서 재개시(resumed) 동기화 세션임을 서버(210)에 알린다. 이 때, 클라이언트(200)에서의 동기 내역값이 함께 전송된다. 이에 대응하여 서버(210)는 (430)단계에서 저장되어 있는 동기 내역값을 클라이언트(200)로 전송한다. 이 때, 서버(210)에서의 동기 내역값과 클라이언트(200)의 동기 내역값이 같을 경우, 서버(210)가 진행 내역과 동일한 순번 정보를 가지는 데이터를 수신하여 (432) 내지 (444)단계는 도 4b를 참조하여 설명한 바와 동일한 과정으로 이루어진다. 여기서 클라이언트(200)에서의 동기 내역값은 존재하지만 서버(210)에서의 동기 내역값이 리셋된 경우는 서버(210)가 클라이언트(200)로부터 클라이언트 수정 데이터를 모두 전송받아 처리한 경우를 뜻한다.
이와 같이 클라이언트 수정 데이터의 전송이 완료되면 서버 수정 데이터의 전송 과정이 전술한 바와 같은 방법으로 수행되며, 필요에 따라 예컨대, 서버측에서 데이터가 추가된 경우 맵 오퍼레이션(Map operation)이 전송된다.
상술한 바와 같이 본 발명에 따른 서버와 클라이언트간에 데이터 전송 방법에 있어서, 좁은 밴드영역(bandwidth) 및 외부 환경에 영향을 많이 받아 의도하지 않게 무선망에서의 데이터 동기화 세션이 끊어질 경우 전송이 중단된 시점의 데이터부터 전송을 시작할 수 있도록 함으로써, 서버와 클라이언트간에 데이터 전송 효율성과 편의성을 증진시킬 수 있는 효과가 있다. 그리고 본 발명에 따른 클라이언트와 서버는 상대가 받지 못한 데이터만 전송함으로써, 데이터 동기화에 걸리는 시간이 단축될 뿐만 아니라 대용량의 데이터를 동기화시킬 때 불필요한 트랜젝션(transaction)의 낭비를 줄일 수 있는 이점이 있다.
도 1은 종래의 서버와 클라이언트의 데이터 동기화 방법에 대한 처리 흐름도
도 2는 종래의 서버와 클라이언트간의 동기화 세션의 비정상 종료시 데이터 동기화 방법에 대한 처리 흐름도,
도 3은 본 발명의 실시 예에 따른 클라이언트와 서버간에 데이터 전송이 중단된 경우 데이터 이어받기의 방법을 보인 신호 흐름도,
도 4a는 본 발명의 일실시 예에 따른 서버로 데이터 전송이 이루어지지 않은 상태에서 비정상 종료된 경우를 도시한 신호 흐름도,
도 4b는 도 4a의 경우에서 데이터 이어받는 과정을 도시한 신호흐름도,
도 5a는 본 발명의 다른 실시 예에 따른 서버부터의 데이터 전송에 따른 응답이 클라이언트로 전송이 이루어지지 않은 상태에서 비정상 종료된 경우를 도시한 신호 흐름도,
도 5b는 도 5a의 경우에서 데이터 이어받는 과정을 도시한 신호흐름도,

Claims (10)

  1. 서버와 클라이언트간에 데이터 동기화 시 비정상 종료된 경우 데이터 전송 방법에 있어서,
    상기 비정상 종료가 상기 클라이언트에서 상기 서버로 데이터가 전송되는 상태에서 발생한 경우 상기 클라이언트가 비정상 종료된 시점의 데이터에 관한 정보를 저장한 후 동기화 세션을 종료하는 과정과,
    상기 동기화 세션 종료 이후 상기 클라이언트가 동기화를 재시도할 때 재개시(resumed) 동기화 세션임을 상기 서버에 알리는 과정과,
    상기 클라이언트가 상기 데이터에 관한 정보를 이용하여 전송이 중단된 시점의 데이터부터 이어서 전송을 시작하는 과정과,
    상기 서버가 전송받은 데이터를 기저장된 데이터에 순차적으로 업데이트하여 동기화하는 과정을 포함함을 특징으로 하는 방법.
  2. 제 1항에 있어서, 상기 비정상 종료가 상기 서버로부터의 전송된 데이터에 대한 응답 메시지가 상기 클라이언트로 전송되는 상태에서 발생한 경우
    상기 클라이언트가 비정상 종료된 시점의 데이터에 관한 정보를 저장한 후 동기화 세션을 종료하는 과정과,
    상기 동기화 세션 종료 이후 상기 클라이언트가 동기화를 재시도할 때 재개시(resumed) 동기화 세션임을 상기 서버에 알리며 동기화가 완료된 데이터의 정보를 서로 교환하여 전송하는 과정과,
    상기 클라이언트가 상기 데이터에 관한 정보 중 데이터 전송에 대한 응답 메시지를 받지 못한 데이터의 정보와 상기 동기화가 완료된 데이터의 정보를 이용하여 전송할 데이터를 결정하는 과정과,
    상기 전송할 데이터 결정에 따라 상기 클라이언트가 전송이 중단된 시점의 데이터부터 이어서 전송을 시작하는 과정을 포함함을 특징으로 하는 방법.
  3. 제 1항에 있어서, 상기 데이터에 관한 정보는 동기 내역(syncLog), 진행 내역(continueLog), 변경 내역(changeLog)을 포함함을 특징으로 하는 방법.
  4. 제 3항에 있어서, 상기 동기 내역은
    상기 클라이언트와 상기 서버간에 동기화가 완료된 데이터의 개수를 나타내며, 상기 클라이언트 및 상기 서버내에 정의됨을 특징으로 하는 방법.
  5. 제 3항에 있어서, 상기 진행 내역은
    상대측으로 전송은 되었으나 상대방으로부터 응답 메시지를 받지 않은 데이터의 순번 정보를 나타냄을 특징으로 하는 방법.
  6. 제 3항에 있어서, 상기 변경 내역은
    서버 수정 데이터(Server Modified data ) 및 클라이언트 수정 데이터 (Client Modified data)를 나타냄을 특징으로 하는 방법.
  7. 제 3항에 있어서,
    상기 동기 내역은 상기 클라이언트에서는 상기 클라이언트의 변경 내역이 클리어(clear)되거나 서버 수정 데이터(Server Modified data )의 개수와 같아질 경우 리셋(reset)되며 상기 서버에서는 상기 서버의 변경 내역이 클리어되거나 상기 클라이언트 수정 데이터의 개수와 같아질 경우 리셋되고,
    상기 진행 내역은 상대측으로부터 전송한 데이터에 대한 응답 메시지에 따라 해당 순번 정보가 클리어되고,
    상기 변경 내역은 전송한 데이터에 대한 응답 메시지에 따라 해당 데이터가 클리어됨을 특징으로 하는 방법.
  8. 제 7항에 있어서,
    상기 클라이언트가 동기화 요청 시 상기 클라이언트 수정 데이터와 함께 전송할 전체 데이터의 개수를 상기 서버로 전송하는 과정과,
    상기 클라이언트가 상기 클라이언트 수정 데이터 중 일부를 상기 서버로 전송할 경우 상기 클라이언트는 상기 변경 내역, 상기 진행 내역, 상기 동기 내역을 산출하여 저장하는 과정과,
    상기 서버가 상기 데이터 수신에 대응하여 데이터를 업데이트하고 상기 서버에서의 동기 내역을 산출하여 저장한 후 수신된 데이터에 대한 응답 메시지를 상기 클라이언트로 전송하는 과정과,
    상기 클라이언트가 상기 응답 메시지 분석을 통해 상기 서버의 동기 내역과 상기 클라이언트의 동기 내역을 비교하여 전송할 데이터를 결정하는 과정과,
    상기 클라이언트가 상기 결정된 데이터를 상기 서버로 전송하는 과정을 더 포함함을 특징으로 하는 방법.
  9. 제 8항에 있어서, 상기 데이터를 이어서 전송하는 도중에 데이터 동기화가 비정상 종료되고 난 이후 상기 클라이언트가 동기화를 재시도할 경우
    상기 클라이언트와 상기 서버간에 동기 내역을 교환하여 전송하는 과정과,
    상기 클라이언트는 수신된 동기 내역과 기저장된 동기 내역, 변경 내역, 진행 내역을 이용하여 이어서 전송할 데이터를 결정하여 데이터 전송이 중단된 시점의 데이터를 전송하는 과정을 더 포함함을 특징으로 하는 방법.
  10. 서버와 클라이언트간에 데이터 동기화 시 비정상 종료된 경우 데이터 전송 시스템에 있어서,
    데이터 동기화 도중 비정상 종료된 경우 상기 비정상 종료된 시점의 데이터에 관한 정보를 저장한 후 동기화 세션을 종료하고, 상기 동기화 세션 종료 이후 동기화를 재시도할 때 재개시(resumed) 동기화 세션임을 알리는 클라이언트와,
    상기 클라이언트에 의해 동기화가 재시도되는 경우 동기화가 완료된 데이터의 정보를 교환하여 전송하는 서버와,
    상기 클라이언트는 상기 데이터에 관한 정보를 이용하여 전송할 데이터를 결정하여 전송이 중단된 시점의 데이터부터 이어서 상기 서버로 전송함을 특징으로 하는 데이터 전송 시스템.
KR1020040023348A 2004-04-06 2004-04-06 서버와 클라이언트간에 데이터 동기화 시 비정상 종료된경우 데이터 전송 방법 및 그 시스템. KR100557192B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020040023348A KR100557192B1 (ko) 2004-04-06 2004-04-06 서버와 클라이언트간에 데이터 동기화 시 비정상 종료된경우 데이터 전송 방법 및 그 시스템.
US11/007,497 US20050235019A1 (en) 2004-04-06 2004-12-08 Method and system for transmitting data for data synchronization between server and client when data synchronization session was abnormally terminated
EP05002427A EP1592184A3 (en) 2004-04-06 2005-02-04 Method and system for transmitting data for data synchronization between server and client when data synchronization session was abnormally terminated
CNA2005100516162A CN1681248A (zh) 2004-04-06 2005-02-08 服务器与客户端间传送用于数据同步的数据的方法与系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040023348A KR100557192B1 (ko) 2004-04-06 2004-04-06 서버와 클라이언트간에 데이터 동기화 시 비정상 종료된경우 데이터 전송 방법 및 그 시스템.

Publications (2)

Publication Number Publication Date
KR20050098342A true KR20050098342A (ko) 2005-10-12
KR100557192B1 KR100557192B1 (ko) 2006-03-03

Family

ID=34933601

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040023348A KR100557192B1 (ko) 2004-04-06 2004-04-06 서버와 클라이언트간에 데이터 동기화 시 비정상 종료된경우 데이터 전송 방법 및 그 시스템.

Country Status (4)

Country Link
US (1) US20050235019A1 (ko)
EP (1) EP1592184A3 (ko)
KR (1) KR100557192B1 (ko)
CN (1) CN1681248A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100922002B1 (ko) * 2007-09-14 2009-10-14 주식회사 케이티 비구조형 부가서비스 데이터 프로토콜을 이용한 대화형서비스 제공 방법, 이를 구현하는 이동통신 단말기 및대화형 서비스 제공 장치
KR101146307B1 (ko) * 2008-12-04 2012-05-21 한국전자통신연구원 데이터 동기화 시스템 및 그 방법

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6772338B1 (en) * 1999-10-26 2004-08-03 Ricoh Co., Ltd. Device for transfering data between an unconscious capture device and another device
US7756825B2 (en) * 2003-07-31 2010-07-13 Microsoft Corporation Synchronization peer participant model
US7440985B2 (en) * 2003-07-31 2008-10-21 Microsoft Corporation Filtered replication of data stores
US8086569B2 (en) * 2005-03-30 2011-12-27 Emc Corporation Asynchronous detection of local event based point-in-time state of local-copy in the remote-copy in a delta-set asynchronous remote replication
CN1852309A (zh) * 2005-11-16 2006-10-25 华为技术有限公司 数据同步处理方法及其客户端
CN101047707A (zh) * 2006-03-30 2007-10-03 华为技术有限公司 发起设备能力信息协商的方法及系统
US7571268B2 (en) * 2006-04-06 2009-08-04 International Business Machines Corporation Consistent updates across storage subsystems coupled to a plurality of primary and secondary units at selected times
US7890646B2 (en) * 2006-04-27 2011-02-15 Microsoft Corporation Synchronization orchestration
US7792792B2 (en) * 2006-05-22 2010-09-07 Microsoft Corporation Synchronizing structured web site contents
CN101132395B (zh) * 2006-08-22 2010-09-08 阿里巴巴集团控股有限公司 一种实现服务器之间的数据同步的方法及系统
US8484167B2 (en) * 2006-08-31 2013-07-09 Sap Ag Data verification systems and methods based on messaging data
US8315988B2 (en) * 2006-08-31 2012-11-20 Sap Ag Systems and methods for verifying a data communication process
US20080133775A1 (en) * 2006-11-30 2008-06-05 Intellisync Corporation Method, Apparatus and Computer Program Product for Providing Intelligent Synchronization
US7827192B2 (en) * 2006-12-29 2010-11-02 Network Appliance, Inc. Method and system for caching metadata of a storage system
CN101374144B (zh) * 2007-08-21 2012-04-25 华为技术有限公司 控制会话的数据同步的方法、装置和系统
JP5063280B2 (ja) * 2007-09-28 2012-10-31 株式会社日立製作所 ファイル転送システム、クライアント、サーバ
US8392591B2 (en) * 2007-12-28 2013-03-05 Cellspinsoft Inc. Automatic multimedia upload for publishing data and multimedia content
CN101227379B (zh) * 2008-01-25 2012-07-04 中兴通讯股份有限公司 一种实现数据同步的系统和方法
US20100268784A1 (en) * 2009-04-17 2010-10-21 Marc Henness Data synchronization system and method
EP2732351B1 (en) 2011-07-12 2015-09-02 Bell Helicopter Textron Inc. Pilot cyclic control margin display
US9106584B2 (en) * 2011-09-26 2015-08-11 At&T Intellectual Property I, L.P. Cloud infrastructure services
US9131370B2 (en) 2011-12-29 2015-09-08 Mcafee, Inc. Simplified mobile communication device
US8819445B2 (en) 2012-04-09 2014-08-26 Mcafee, Inc. Wireless token authentication
US9547761B2 (en) 2012-04-09 2017-01-17 Mcafee, Inc. Wireless token device
US20130268687A1 (en) 2012-04-09 2013-10-10 Mcafee, Inc. Wireless token device
US9262592B2 (en) * 2012-04-09 2016-02-16 Mcafee, Inc. Wireless storage device
US9614918B2 (en) 2013-03-14 2017-04-04 International Business Machines Corporation Migration of network connection under mobility
CN103338144B (zh) * 2013-05-30 2016-06-22 华为软件技术有限公司 一种会话数据同步方法和装置
CN103347005B (zh) * 2013-06-19 2016-08-10 北京奇虎科技有限公司 一种控制数据上报的方法以及客户端设备和服务器设备
KR101460554B1 (ko) 2013-06-24 2014-11-11 청주대학교 산학협력단 닷넷리모팅 기술을 적용한 클라우드db 동기화방법 및 클라우드기반 pos시스템
US9992258B2 (en) * 2015-01-13 2018-06-05 Whatsapp Inc. Techniques for managing a remote web client from an application on a mobile device
US10977273B2 (en) * 2016-08-02 2021-04-13 Blackberry Limited Electronic device and method of managing data transfer
US11341100B2 (en) * 2016-12-12 2022-05-24 Egnyte, Inc. System and method for eliminating full rescan synchronizations on service restarts
US10521344B1 (en) * 2017-03-10 2019-12-31 Pure Storage, Inc. Servicing input/output (‘I/O’) operations directed to a dataset that is synchronized across a plurality of storage systems
CN108846045B (zh) * 2018-05-30 2022-10-18 杭州吉吉知识产权运营有限公司 一种智能水杯饮水数据的存储方法及系统
US11860897B2 (en) 2019-06-07 2024-01-02 Samsung Electronics Co., Ltd. Method for using catch-up logging to time-synchronize object stores during maintenance or recovery operations
CN110888790B (zh) * 2019-11-29 2024-02-27 杭州迪普科技股份有限公司 日志管理方法及装置、电子设备、存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2861851B2 (ja) * 1995-02-07 1999-02-24 日本電信電話株式会社 データ通信再送方法
US6731625B1 (en) * 1997-02-10 2004-05-04 Mci Communications Corporation System, method and article of manufacture for a call back architecture in a hybrid network with support for internet telephony
US6963923B1 (en) * 1997-02-10 2005-11-08 International Business Machines Corporation Method for file transfer restarts using standard internet protocol
US6049892C1 (en) * 1997-02-24 2002-06-04 Ethos Software Corp Process and apparatus for downloading data from a server computer to a client computer
US6526447B1 (en) * 1999-12-14 2003-02-25 International Business Machines Corporation Apparatus for restarting interrupted data transfer and method therefor
US6795868B1 (en) * 2000-08-31 2004-09-21 Data Junction Corp. System and method for event-driven data transformation
KR100780155B1 (ko) * 2001-12-20 2007-11-27 엘지노텔 주식회사 제어국과 기지국간 전달 채널에 대한 동기 유지 방법
TW580812B (en) * 2002-06-24 2004-03-21 Culture Com Technology Macao L File-downloading system and method
US7117386B2 (en) * 2002-08-21 2006-10-03 Emc Corporation SAR restart and going home procedures
US20040044799A1 (en) * 2002-09-03 2004-03-04 Nokia Corporation Method, device and system for synchronizing of data providing for the handling of an interrupted synchronization process

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100922002B1 (ko) * 2007-09-14 2009-10-14 주식회사 케이티 비구조형 부가서비스 데이터 프로토콜을 이용한 대화형서비스 제공 방법, 이를 구현하는 이동통신 단말기 및대화형 서비스 제공 장치
KR101146307B1 (ko) * 2008-12-04 2012-05-21 한국전자통신연구원 데이터 동기화 시스템 및 그 방법

Also Published As

Publication number Publication date
US20050235019A1 (en) 2005-10-20
KR100557192B1 (ko) 2006-03-03
CN1681248A (zh) 2005-10-12
EP1592184A3 (en) 2012-11-28
EP1592184A2 (en) 2005-11-02

Similar Documents

Publication Publication Date Title
KR100557192B1 (ko) 서버와 클라이언트간에 데이터 동기화 시 비정상 종료된경우 데이터 전송 방법 및 그 시스템.
EP1227396B1 (en) A method, system and computer program product for synchronizing data represented by different data structures by using update notifications
KR100937163B1 (ko) 데이터베이스 데이터의 동기화
US7228321B2 (en) Method and system for using a sync key
US8539107B2 (en) Personal information management data synchronization
JP4829316B2 (ja) 中断された同期プロセスに対処してデータを同期させる方法、装置、システム
JP4122341B2 (ja) クライアント端末装置とサーバーとの間のセッション再設定のためのシステム及び方法
JP5585062B2 (ja) 情報処理装置、情報処理方法、データ管理サーバおよびデータ同期システム
US8037207B2 (en) Apparatus and method for synchronizing presence attribute data between terminal and server
US20100077024A1 (en) Method for transmitting data transmitted incompletely between server and client
JP4494970B2 (ja) 中断された同期プロセスに対処してデータを同期させる方法、装置、システム
TW201234183A (en) Access control method, access control apparatus, and access control program
KR100640401B1 (ko) 모바일 이메일 서버와 클라이언트 단말 간 동기 유지방법과 시스템 및 그 단말
CN1859425B (zh) 一种实现通信协议自动选择的系统和方法
JP2003157190A (ja) 同期メッセージ処理方法
CN106714294B (zh) 应用于智能电网的多通道tcp/ip头压缩的同步方法
US6965570B2 (en) Communication controller and computer product
CN101883419A (zh) 客户端信息的同步方法和系统
KR100844361B1 (ko) 자료 동기화 게이트웨이 시스템 및 방법
JP4038406B2 (ja) イベント共有システム、ホスト、イベント共有方法及びイベント共有プログラム
EP1253517A1 (en) Stateless server
JP2017168896A (ja) 通信装置、履歴情報管理方法及び履歴情報管理プログラム
KR20040050104A (ko) 파일 다운로딩 시스템 및 방법
KR20070071599A (ko) 다수의 클라이언트 단말기간 단문 메시지를 이용한 데이터동기화 방법
JP2002169741A (ja) 端末入力関連情報提供装置、及び端末入力関連情報提供プログラムを記録した記録媒体

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: 20130130

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140128

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee