KR20050098342A - 서버와 클라이언트간에 데이터 동기화 시 비정상 종료된경우 데이터 전송 방법 및 그 시스템. - Google Patents
서버와 클라이언트간에 데이터 동기화 시 비정상 종료된경우 데이터 전송 방법 및 그 시스템. Download PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- E—FIXED CONSTRUCTIONS
- E06—DOORS, WINDOWS, SHUTTERS, OR ROLLER BLINDS IN GENERAL; LADDERS
- E06C—LADDERS
- E06C9/00—Ladders characterised by being permanently attached to fixed structures, e.g. fire escapes
- E06C9/02—Ladders characterised by being permanently attached to fixed structures, e.g. fire escapes rigidly mounted
-
- E—FIXED CONSTRUCTIONS
- E06—DOORS, WINDOWS, SHUTTERS, OR ROLLER BLINDS IN GENERAL; LADDERS
- E06C—LADDERS
- E06C7/00—Component parts, supporting parts, or accessories
- E06C7/08—Special construction of longitudinal members, or rungs or other treads
- E06C7/081—Rungs or other treads comprising anti-slip features
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F21—LIGHTING
- F21V—FUNCTIONAL FEATURES OR DETAILS OF LIGHTING DEVICES OR SYSTEMS THEREOF; STRUCTURAL COMBINATIONS OF LIGHTING DEVICES WITH OTHER ARTICLES, NOT OTHERWISE PROVIDED FOR
- F21V33/00—Structural combinations of lighting devices with other articles, not otherwise provided for
- F21V33/006—General building constructions or finishing work for buildings, e.g. roofs, gutters, stairs or floors; Garden equipment; Sunshades or parasols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05B—ELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
- H05B3/00—Ohmic-resistance heating
- H05B3/40—Heating elements having the shape of rods or tubes
- H05B3/54—Heating elements having the shape of rods or tubes flexible
- H05B3/56—Heating cables
-
- E—FIXED CONSTRUCTIONS
- E06—DOORS, WINDOWS, SHUTTERS, OR ROLLER BLINDS IN GENERAL; LADDERS
- E06C—LADDERS
- E06C7/00—Component parts, supporting parts, or accessories
- E06C7/003—Indicating devices, e.g. user warnings or inclinators
Abstract
본 발명에 따른 서버와 클라이언트간에 데이터 전송 방법에 있어서, 좁은 밴드영역(bandwidth) 및 외부 환경에 영향을 많이 받아 의도하지 않게 무선망에서의 데이터 동기화 세션이 끊어질 경우 전송이 중단된 시점의 데이터부터 전송을 시작할 수 있도록 한다. 이를 위해 본 발명은 비정상 종료된 시점의 데이터에 관한 정보를 저장하여 클라이언트에서 동기화를 재시도할 경우 데이터에 관한 정보를 이용하여 전송이 중단된 시점의 데이터부터 이어서 전송을 시작할 수 있도록 한다. 따라서, 본 발명에 따른 클라이언트와 서버는 상대가 받지 못한 데이터만 전송함으로써, 데이터 동기화에 걸리는 시간이 단축될 뿐만 아니라 대용량의 데이터를 동기화시킬 때 불필요한 트랜젝션(transaction)의 낭비를 줄일 수 있는 이점이 있다.
Description
본 발명은 서버와 클라이언트간의 데이터 동기화 방법에 관한 것으로서, 특히 서버와 클라이언트간에 데이터 동기화 도중 내외부적인 요인에 의해 데이터 전송이 중단된 경우 중단된 시점의 데이터부터 전송을 시작할 수 있도록 하는 서버와 클라이언트간의 데이터 동기화 방법에 관한 것이다.
통상적으로 이동 통신 단말기 사용자들은 주소록, 스케줄 정보 등과 같이 개인적으로 필요한 정보들을 이동 통신 단말기 내에 저장하여 사용한다. 또한 이동 통신 단말기의 교체 및 분실 등의 이유로 새로운 이동 통신 단말기를 사용하게 된 경우 이전 이동 통신 단말기에 저장된 각종 정보들을 새로운 이동 통신 단말기에 그대로 저장하여 사용할 수 있도록 하기 위해 이동 통신 단말기에 저장된 정보들을 별도의 데이터 저장 서버에 저장하여 관리한다. 이 때 이동 통신 단말기에 저장된 정보와 그 데이터 저장 서버에 저장된 데이터를 동일하게 유지하기 위해 이동 통신 단말기 또는 그 데이터 저장 서버에 저장된 데이터가 변경된 경우 이들간에 데이터 동기화를 수행하여야 한다.
통상적으로 전술한 바와 같은 이동 통신 단말기와 데이터 저장 서버간의 데이터 동기화 작업은 이동 통신 단말기 사용자의 동기화 요구에 의해 수행된다. 이러한 이동 통신 단말기와 데이터 저장 서버간의 데이터 동기화 과정을 도 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)
- 서버와 클라이언트간에 데이터 동기화 시 비정상 종료된 경우 데이터 전송 방법에 있어서,상기 비정상 종료가 상기 클라이언트에서 상기 서버로 데이터가 전송되는 상태에서 발생한 경우 상기 클라이언트가 비정상 종료된 시점의 데이터에 관한 정보를 저장한 후 동기화 세션을 종료하는 과정과,상기 동기화 세션 종료 이후 상기 클라이언트가 동기화를 재시도할 때 재개시(resumed) 동기화 세션임을 상기 서버에 알리는 과정과,상기 클라이언트가 상기 데이터에 관한 정보를 이용하여 전송이 중단된 시점의 데이터부터 이어서 전송을 시작하는 과정과,상기 서버가 전송받은 데이터를 기저장된 데이터에 순차적으로 업데이트하여 동기화하는 과정을 포함함을 특징으로 하는 방법.
- 제 1항에 있어서, 상기 비정상 종료가 상기 서버로부터의 전송된 데이터에 대한 응답 메시지가 상기 클라이언트로 전송되는 상태에서 발생한 경우상기 클라이언트가 비정상 종료된 시점의 데이터에 관한 정보를 저장한 후 동기화 세션을 종료하는 과정과,상기 동기화 세션 종료 이후 상기 클라이언트가 동기화를 재시도할 때 재개시(resumed) 동기화 세션임을 상기 서버에 알리며 동기화가 완료된 데이터의 정보를 서로 교환하여 전송하는 과정과,상기 클라이언트가 상기 데이터에 관한 정보 중 데이터 전송에 대한 응답 메시지를 받지 못한 데이터의 정보와 상기 동기화가 완료된 데이터의 정보를 이용하여 전송할 데이터를 결정하는 과정과,상기 전송할 데이터 결정에 따라 상기 클라이언트가 전송이 중단된 시점의 데이터부터 이어서 전송을 시작하는 과정을 포함함을 특징으로 하는 방법.
- 제 1항에 있어서, 상기 데이터에 관한 정보는 동기 내역(syncLog), 진행 내역(continueLog), 변경 내역(changeLog)을 포함함을 특징으로 하는 방법.
- 제 3항에 있어서, 상기 동기 내역은상기 클라이언트와 상기 서버간에 동기화가 완료된 데이터의 개수를 나타내며, 상기 클라이언트 및 상기 서버내에 정의됨을 특징으로 하는 방법.
- 제 3항에 있어서, 상기 진행 내역은상대측으로 전송은 되었으나 상대방으로부터 응답 메시지를 받지 않은 데이터의 순번 정보를 나타냄을 특징으로 하는 방법.
- 제 3항에 있어서, 상기 변경 내역은서버 수정 데이터(Server Modified data ) 및 클라이언트 수정 데이터 (Client Modified data)를 나타냄을 특징으로 하는 방법.
- 제 3항에 있어서,상기 동기 내역은 상기 클라이언트에서는 상기 클라이언트의 변경 내역이 클리어(clear)되거나 서버 수정 데이터(Server Modified data )의 개수와 같아질 경우 리셋(reset)되며 상기 서버에서는 상기 서버의 변경 내역이 클리어되거나 상기 클라이언트 수정 데이터의 개수와 같아질 경우 리셋되고,상기 진행 내역은 상대측으로부터 전송한 데이터에 대한 응답 메시지에 따라 해당 순번 정보가 클리어되고,상기 변경 내역은 전송한 데이터에 대한 응답 메시지에 따라 해당 데이터가 클리어됨을 특징으로 하는 방법.
- 제 7항에 있어서,상기 클라이언트가 동기화 요청 시 상기 클라이언트 수정 데이터와 함께 전송할 전체 데이터의 개수를 상기 서버로 전송하는 과정과,상기 클라이언트가 상기 클라이언트 수정 데이터 중 일부를 상기 서버로 전송할 경우 상기 클라이언트는 상기 변경 내역, 상기 진행 내역, 상기 동기 내역을 산출하여 저장하는 과정과,상기 서버가 상기 데이터 수신에 대응하여 데이터를 업데이트하고 상기 서버에서의 동기 내역을 산출하여 저장한 후 수신된 데이터에 대한 응답 메시지를 상기 클라이언트로 전송하는 과정과,상기 클라이언트가 상기 응답 메시지 분석을 통해 상기 서버의 동기 내역과 상기 클라이언트의 동기 내역을 비교하여 전송할 데이터를 결정하는 과정과,상기 클라이언트가 상기 결정된 데이터를 상기 서버로 전송하는 과정을 더 포함함을 특징으로 하는 방법.
- 제 8항에 있어서, 상기 데이터를 이어서 전송하는 도중에 데이터 동기화가 비정상 종료되고 난 이후 상기 클라이언트가 동기화를 재시도할 경우상기 클라이언트와 상기 서버간에 동기 내역을 교환하여 전송하는 과정과,상기 클라이언트는 수신된 동기 내역과 기저장된 동기 내역, 변경 내역, 진행 내역을 이용하여 이어서 전송할 데이터를 결정하여 데이터 전송이 중단된 시점의 데이터를 전송하는 과정을 더 포함함을 특징으로 하는 방법.
- 서버와 클라이언트간에 데이터 동기화 시 비정상 종료된 경우 데이터 전송 시스템에 있어서,데이터 동기화 도중 비정상 종료된 경우 상기 비정상 종료된 시점의 데이터에 관한 정보를 저장한 후 동기화 세션을 종료하고, 상기 동기화 세션 종료 이후 동기화를 재시도할 때 재개시(resumed) 동기화 세션임을 알리는 클라이언트와,상기 클라이언트에 의해 동기화가 재시도되는 경우 동기화가 완료된 데이터의 정보를 교환하여 전송하는 서버와,상기 클라이언트는 상기 데이터에 관한 정보를 이용하여 전송할 데이터를 결정하여 전송이 중단된 시점의 데이터부터 이어서 상기 서버로 전송함을 특징으로 하는 데이터 전송 시스템.
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)
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)
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)
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 |
-
2004
- 2004-04-06 KR KR1020040023348A patent/KR100557192B1/ko not_active IP Right Cessation
- 2004-12-08 US US11/007,497 patent/US20050235019A1/en not_active Abandoned
-
2005
- 2005-02-04 EP EP05002427A patent/EP1592184A3/en not_active Withdrawn
- 2005-02-08 CN CNA2005100516162A patent/CN1681248A/zh active Pending
Cited By (2)
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 |