[go: up one dir, main page]

KR20050096077A - Server alerted synchronization method for clients capable of connecting a network - Google Patents

Server alerted synchronization method for clients capable of connecting a network Download PDF

Info

Publication number
KR20050096077A
KR20050096077A KR20040021345A KR20040021345A KR20050096077A KR 20050096077 A KR20050096077 A KR 20050096077A KR 20040021345 A KR20040021345 A KR 20040021345A KR 20040021345 A KR20040021345 A KR 20040021345A KR 20050096077 A KR20050096077 A KR 20050096077A
Authority
KR
South Korea
Prior art keywords
server
client terminal
syncml
client
presence information
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
KR20040021345A
Other languages
Korean (ko)
Other versions
KR100630072B1 (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 KR20040021345A priority Critical patent/KR100630072B1/en
Publication of KR20050096077A publication Critical patent/KR20050096077A/en
Application granted granted Critical
Publication of KR100630072B1 publication Critical patent/KR100630072B1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

SyncML(Synchronization Markup Language) 서버 및 메신저 서버에 접속 가능한 클라이언트 단말기들 사이에 데이터를 공유하는 방법에 관한 것이다. 상기 방법은, 공유 데이터가 생성된 제1클라이언트 단말기에서 SyncML 서버에 동기화 요청을 하는 과정과, SyncML 서버가 상기 공유 데이터를 업데이트한 다음, 상기 메신저 서버에 상기 제1클라이언트 단말기의 컨텍리스트와 상기 컨텍리스트에 포함된 적어도 하나 이상의 제2클라이언트의 프레전스 정보를 요청하는 과정과, 상기 메신저 서버가 상기 제2클라이언트의 프레전스 정보를 생성하여 상기 제1클라이언트 단말기의 컨텍리스트와 함께 상기 SyncML 서버에 전송하는 과정과, 상기 SyncML 서버가 상기 프레전스 정보로부터 각 사용자들의 온/오프 상태를 확인하고 온 상태인 제2클라이언트 단말기에게 동기화 요청을 하는 과정과, 상기 제2클라이언트 단말기가 상기 SyncML 서버의 동기화 요청을 수락하고 상기 SyncML 서버가 송신하는 공유 데이터를 수신하여 업데이트하는 과정을 포함함을 특징으로 한다. The present invention relates to a method of sharing data between client terminals that can connect to a SyncML (Synchronization Markup Language) server and a messenger server. The method may include: performing a synchronization request from a first client terminal having shared data generated to a SyncML server; updating the shared data by a SyncML server; and then connecting the contact list and the contact list of the first client terminal to the messenger server. Requesting presence information of at least one second client included in a list, and generating the presence information of the second client by the messenger server and transmitting the presence information of the second client to the SyncML server together with the contact list of the first client terminal; And checking, by the SyncML server, an on / off state of each user from the presence information and making a request for synchronization to a second client terminal in an on state, and by the second client terminal, requesting a synchronization of the SyncML server. Accept and receive shared data sent by the SyncML server. It characterized in that it comprises the step of updating.

Description

서버 주도형 클라이언트 동기화 방법{SERVER ALERTED SYNCHRONIZATION METHOD FOR CLIENTS CAPABLE OF CONNECTING A NETWORK} SERVER ALERTED SYNCHRONIZATION METHOD FOR CLIENTS CAPABLE OF CONNECTING A NETWORK}

본 발명은 유무선 네트워크를 통해 연결되는 SyncML(Synchronization Markup Language) 서버 및 메신저 서버에 연결되는 클라이언트 단말기들 사이의 동기화 방법에 관한 것으로, 특히 서버 주도형 클라이언트 동기화 방법에 관한 것이다.The present invention relates to a synchronization method between a SyncML (Synchronization Markup Language) server connected through a wired / wireless network and a client terminal connected to a messenger server, and more particularly, to a server-driven client synchronization method.

SyncML은 임의의 네트워크에 속하는 장치들과 어플리케이션(application)들 사이의 데이터 동기화를 제공해주기 위해 제정된 표준 언어이다. 여기서 데이터 동기화란 클라이언트 단말기들과 서버에 존재하는 데이터의 내용을 일치시키는 것을 말한다. 또한 상기 데이터란 예를 들면, 이메일(e-mail), 스케줄(vCalendar), 명함(vCard) 등과 같은 형태의 개인 정보를 포함한다. SyncML is a standard language designed to provide data synchronization between devices and applications belonging to any network. Here, data synchronization refers to matching the contents of data existing in the client terminals and the server. In addition, the data includes personal information in the form of, for example, an e-mail, a schedule (vCalendar), a business card (vCard), or the like.

여러 개의 휴대 단말기를 가지는 사용자가 자신의 한 휴대 단말기를 이용하여 어떤 정보를 생성하고 이를 SyncML 서버(도시하지 않음.)에 등록해놓으면, 다른 휴대 단말기를 이용할 때에도 상기 정보를 이용할 수 있다. 즉, 데이터 동기화가 가능하다. If a user having a plurality of portable terminals generates some information using one portable terminal and registers it with a SyncML server (not shown), the information can be used even when using another portable terminal. That is, data synchronization is possible.

도 1은 종래의 SyncML 서비스를 설명하기 위한 도면이다. 1 is a diagram illustrating a conventional SyncML service.

SyncML 클라이언트 기능을 수행하는 휴대 단말기와 SyncML 서버 기능을 수행하는 서버 사이의 데이터 동기화를 나타낸 것이다. SyncML 클라이언트가 먼저 서버에게 갱신된 데이터를 포함한 메시지를 전송하면, SyncML 서버는 클라이언트가 요청한 동기화 타입에 의해 서버측 데이터 동기화 작업을 수행한 후 다시 클라이언트에게 작업 결과를 송신한다. It illustrates data synchronization between a mobile terminal performing a SyncML client function and a server performing a SyncML server function. When the SyncML client first sends a message containing the updated data to the server, the SyncML server performs the server-side data synchronization operation according to the synchronization type requested by the client, and then sends the operation result back to the client.

메신저 서비스는 컨텍리스트(contact list)에 등록된 구성원들의 현재 상태를 공유하는 프레전스(presence) 기능과, 구성원들 사이의 메시지를 전송하는 기능을 가지고 있다. 휴대폰, 개인 휴대 단말기(Personal Digital Assistant: PDA), 무선 개인용 컴퓨터(mobile Personal Computer) 등과 같은 휴대 단말기들의 보급으로 많은 사람들이 그룹을 이루게 되고, 메신저 서비스는 이러한 그룹에게 제공되는 유용한 서비스들 중 하나이다. The messenger service has a presence function for sharing the current state of members registered in a contact list and a function for transmitting messages between members. With the spread of mobile terminals such as mobile phones, personal digital assistants (PDAs), mobile personal computers, and the like, many people form a group, and messenger services are one of the useful services provided to such groups.

도 2는 종래의 SyncML 서비스 과정을 나타낸 흐름도이다. 2 is a flowchart illustrating a conventional SyncML service process.

휴대 단말기(클라이언트)가 SyncML 서버에 동기화 요청을 하면, 3a단계에서 SyncML 서버가 상기 동기화 요청을 수신한다. 그리고 3b단계에서 SyncML 서버는 상기 휴대 단말기가 SyncML 서비스에 가입된 단말기인지 체크하여 가입된 것으로 판단되면 인증한다. 상기 인증이 끝나면, 3c단계에서 SyncML 서버는 휴대 단말기에 동기화 메시지(공유 데이터)를 송신한다. When the mobile terminal (client) makes a synchronization request to the SyncML server, the SyncML server receives the synchronization request in step 3a. In step 3b, the SyncML server checks whether the mobile terminal is a subscribed terminal to the SyncML service and authenticates the mobile terminal if it is determined to be subscribed. After the authentication is completed, in step 3c, the SyncML server transmits a synchronization message (shared data) to the mobile terminal.

상술한 바와 같이 현재의 SyncML 서버는 클라이언트의 요청에 의해서 동기화를 진행한다. 즉, SyncML 서버의 정보가 변경되어도 클라이언트가 먼저 동기화를 요청하지 않으면 SyncML 서버가 변경된 정보를 알릴 수 있는 방법이 없다.As described above, the current SyncML server performs synchronization at the request of the client. That is, even if the information of the SyncML server is changed, there is no way for the SyncML server to notify the changed information unless the client first requests synchronization.

따라서 본 발명의 목적은 유무선 네트워크를 통해 SyncML 서버 및 메신저 연결되는 클라이언트 단말기들 사이의 데이터 동기화가, 클라이언트의 요구 없이도, 서버 주도로 이루어지게 하는 방법을 제공함에 있다. Accordingly, an object of the present invention is to provide a method for synchronizing data between a client terminal connected to a SyncML server and a messenger through a wired / wireless network, without a client's request.

상기한 목적을 달성하기 위한 본 제1발명은 SyncML 서버 및 메신저 서버에 접속 가능한 클라이언트 단말기들 사이에 데이터를 공유하는 방법에 있어서, 공유 데이터가 생성된 제1클라이언트 단말기에서 SyncML 서버에 동기화 요청을 하는 과정과, SyncML 서버가 상기 공유 데이터를 업데이트한 다음, 상기 메신저 서버에 상기 제1클라이언트 단말기의 컨텍리스트와 상기 컨텍리스트에 포함된 적어도 하나 이상의 제2클라이언트의 프레전스 정보를 요청하는 과정과, 상기 메신저 서버가 상기 제2클라이언트의 프레전스 정보를 생성하여 상기 제1클라이언트 단말기의 컨텍리스트와 함께 상기 SyncML 서버에 전송하는 과정과, 상기 SyncML 서버가 상기 프레전스 정보로부터 각 사용자들의 온/오프 상태를 확인하고 온 상태인 제2클라이언트 단말기에게 동기화 요청을 하는 과정과, 상기 제2클라이언트 단말기가 상기 SyncML 서버의 동기화 요청을 수락하고 상기 SyncML 서버가 송신하는 공유 데이터를 수신하여 업데이트하는 과정을 포함함을 특징으로 한다. In order to achieve the above object, the present invention provides a method for sharing data between a SyncML server and a client terminal that can be connected to a messenger server. And updating, by the SyncML server, the shared data, requesting the messenger server for the presence information of the first client terminal and the presence information of at least one second client included in the contact list. A messenger server generating the presence information of the second client and transmitting the presence information of the second client together with the contact list of the first client terminal to the SyncML server, and the SyncML server displays the on / off state of each user from the presence information. Check and send a synchronization request to the second client terminal that is on Is characterized in that the process and, the second client terminal to accept the synchronization request from the SyncML server, including the step of updating the receive shared data to be transmitted is the SyncML server.

상기한 목적을 달성하기 위한 본 제2발명은 프레전스 상태를 변경한 클라이언트 단말기가 메신저 서버에 상태 변경 요청을 하는 과정과, 상기 메신저 서버가 상기 클라이언트 단말기의 프레전스 정보 변경을 실시하는 과정과, 상기 메신저서버가 상기 클라이언트 단말기의 프레전스 정보를 상기 SyncML 서버에 전송하는 과정과, 상기 SyncML 서버가 상기 프레전스 정보로부터 상기 클라이언트 단말기가 동기화 대상이 되었음을 감지하고 상기 클라이언트 단말기로 동기화 요청을 하는 과정과, 상기 클라이언트 단말기가 상기 SyncML 서버의 동기화 요청을 수락하고 공유 데이터를 업데이트 하는 과정을 포함함을 특징으로 한다. According to the second aspect of the present invention, a process of requesting a state change request to a messenger server by a client terminal having changed a presence state, a process of changing a presence information of the client terminal by the messenger server, Transmitting, by the messenger server, the presence information of the client terminal to the SyncML server, and detecting, by the SyncML server, that the client terminal is to be synchronized from the presence information; And accepting, by the client terminal, a synchronization request of the SyncML server, and updating shared data.

이하 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 하기 설명에서는 프레전스 정보의 구체적인 내용 등과 같은 특정(特定) 사항들이 나타나고 있는데, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐 이러한 특정 사항들 없이도 본 발명이 실시될 수 있음은 이 기술 분야에서 통상의 지식을 가진 자에게는 자명하다 할 것이다. 그리고 본 발명을 설명함에 있어, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description, specific matters such as specific contents of the presence information are shown, which are provided to help a more general understanding of the present invention, and the present invention may be practiced without these specific matters. It will be self-evident to those of ordinary knowledge. In the following description of the present invention, if it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted.

본 발명은 SyncML 서비스를 함에 있어서 메신저 서버의 컨텍리스트를 참조하여 동기화 대상인 클라이언트를 선정하고, 메신저 서버로부터 제공되는 프레전스 정보를 이용하여 언제 동기화를 진행할지를 결정할 수 있다. In the SyncML service, the present invention selects a client to be synchronized with reference to a contact list of a messenger server, and determines when to proceed with synchronization using the presence information provided from the messenger server.

도 3은 본 발명에 이용되는, 메신저 서버에서 수행하는 메신저 서비스를 설명하기 위한 도면이다. 3 is a diagram illustrating a messenger service performed by a messenger server used in the present invention.

휴대 단말기 사용자가 메신저 서버에 로그인을 요청하여 접속이 허가되면 온라인 상태, 주소 등과 같은 프레전스 정보를 제공받을 수 있음을 보여준다. If the mobile terminal user requests login to the messenger server and the connection is granted, the user can receive the presence information such as the online status and address.

도 4는 본 발명에 이용되는, 메신저 서버에서 컨텍리스트를 관리하는 과정을 나타낸 흐름도이다. 4 is a flowchart illustrating a process of managing a contact list in a messenger server used in the present invention.

휴대 단말기(클라이언트)가 메신저 서버에 로그인 요청을 하면, 4a단계에서 메신저 서버는 상기 로그인 요청을 수신한다. 이때 만일 로그인 되어 휴대 단말기가 메신저 서버에 컨텍리스트 변경을 요청하면, 4b단계에서 메신저 서버가 상기 컨텍리스트 변경 요청을 수신한다. 그리고 4c단계에서 메신저 서버는 컨텍리스트를 변경한다. When the mobile terminal (client) makes a login request to the messenger server, in step 4a, the messenger server receives the login request. In this case, if the mobile terminal requests to change the contact list to the messenger server, the messenger server receives the contact change request in step 4b. In step 4c, the messenger server changes the contact list.

도 5a는 본 발명의 실시예에 따른 시스템 구성도이다.5A is a system configuration diagram according to an embodiment of the present invention.

유/무선 네트워크 550에 접속 가능한 클라이언트 단말기들 510 ~ 540은 네트워크 인터페이스 570을 통해 SyncML 서버 580 혹은 메신저 서버 590으로부터 SyncML 서비스 혹은 메신저 서비스를 제공받는다. SyncML 서버 580에는 SyncML 데이터베이스 600이 연결되고 메신저 서버 590에는 메신저 데이터베이스 610이 연결된다. 도시된 예는 클라이언트 단말기들이 4가지이고, 이들이 각각 PDA 510, 휴대폰 520, 랩톱(laptop) 530, 개인용 컴퓨터 540이라고 가정한 것이다. Client terminals 510 to 540 that can access the wired / wireless network 550 receive a SyncML service or a messenger service from the SyncML server 580 or the messenger server 590 through the network interface 570. The SyncML server 580 is connected to the SyncML database 600, and the messenger server 590 is connected to the messenger database 610. The example shown assumes four client terminals, each of which is a PDA 510, a mobile phone 520, a laptop 530, and a personal computer 540, respectively.

도 5b는 본 발명에 이용되는 프레전스 정보의 구성 예를 나타낸 도면이다. 5B is a diagram showing an example of the configuration of the presence information used in the present invention.

메신저 서버 590은 생성 혹은 갱신(update)된 데이터를 공유하기 위해 일종의 배포 목록인 컨텍리스트와 클라이언트의 현재 상태(프레전스 상태)를 알려준다. 도 5a에 도시된 메신저 데이터베이스 610에는 도 5b에 도시된 프레전스 정보가 저장되어 있다. 도 5b를 참조하면, 프레전스 정보에는 각 클라이언트마다 클라이언트ID(identification), URI(Uniform Resource Identifier)를 기재할 영역, 프레전스 상태(온 라인 혹은 오프 라인)를 기재할 영역, 기타 이메일 주소나 스케줄 혹은 명함 등과 같은 정보를 기재할 영역을 가진다. The messenger server 590 informs the current state (presence state) of a client and a list of distribution lists to share data generated or updated. In the messenger database 610 illustrated in FIG. 5A, the presence information illustrated in FIG. 5B is stored. Referring to FIG. 5B, the presence information includes an area for describing a client ID, a Uniform Resource Identifier (URI), an area for describing a presence state (online or offline), and other email addresses or schedules for each client. Or has an area to write information such as a business card.

메신저 서버 590이 제공하는 상기와 같은 프레전스 정보를 이용하면, 클라이언트의 요청 없이도, SyncML 서버 580의 공유 데이터가 변경되었을 경우, 푸쉬(push) 서비스를 통해, 변경된 공유 데이터를 배포 받을 대상이 되는 클라이언트들의 현재 상태를 조사하여 온라인 되어 있는 경우에는 곧바로 동기화를 수행할 수 있다. By using the presence information provided by the messenger server 590, a client to be distributed with the changed shared data through a push service when the shared data of the SyncML server 580 is changed without a client's request. You can check their current status and synchronize immediately if you are online.

도 5c는 본 발명에 이용되는 컨텍리스트의 구성 예를 나타낸 도면이다. 5C is a diagram showing an example of the configuration of a contact list used in the present invention.

도 5a에 도시된 메신저 데이터베이스 610에는 도 5c에 도시된 컨텍리스트가 저장되어 있다. 도 5c를 참조하면, 예를 들어 클라이언트ID가 user2인 한 클라이언트의 컨텍리스트에는 클라이언트ID가 user2, user7인 클라이언트들이 포함된다. The contact list illustrated in FIG. 5C is stored in the messenger database 610 illustrated in FIG. 5A. Referring to FIG. 5C, for example, a contact list of a client having a client ID of user2 includes clients having client IDs of user2 and user7.

한 클라이언트에 의해 생성 혹은 수정된 데이터는 상기 클라이언트의 컨텍리스트에 기재된 다른 클라이언트들에게 배포된다. Data generated or modified by one client is distributed to other clients listed in the client's contact list.

도 6은 본 발명의 실시예에 따른 한 클라이언트 단말기의 공유 데이터 생성에 따른 다른 클라이언트 단말기의 동기화 방법을 나타낸 레더(ladder) 다이어그램이다. FIG. 6 is a ladder diagram illustrating a synchronization method of another client terminal according to generation of shared data of one client terminal according to an embodiment of the present invention.

제1 및 제2클라이언트 단말기가 현재 온라인 상태라고 가정한다. 또한 제1클라이언트 단말기가 공유 데이터를 생성하고, 제2클라이언트 단말기가 제1클라이언트 단말기의 컨텍리스트에 포함되어 있는 동기화 대상 단말기라고 가정한다. Assume that the first and second client terminals are currently online. In addition, it is assumed that the first client terminal generates shared data, and the second client terminal is a synchronization target terminal included in the contact list of the first client terminal.

제1클라이언트 단말기 사용자가 공유 데이터 생성을 위한 입력을 행하면, 6a단계에서 제1클라이언트 단말기에 공유 데이터가 생성된다. 6b단계에서 제1클라이언트 단말기 사용자가 동기화 요청의사를 표현하면(예: 특정 키를 입력하면), 6c단계에서 제1클라이언트 단말기는 SyncML 서버 580에 동기화 요청을 한다. 상기 동기화 요청을 수신한 SyncML 서버 580는 6d단계에서 상기 제1클라이언트 단말기의 인증 및 상기 동기화 요청을 수락한다. 상기 인증된 제1클라이언트 단말기는 6e단계에서 공유 데이터를 SyncML 서버 580에 송신한다. 상기 공유 데이터를 수신한 SyncML 서버 580는 6f단계에서 공유 데이터 업데이트(동기화)를 수행한 다음, 6g단계에서 상기 제1클라이언트 단말기에 그 처리 결과를 전송한다. When the user of the first client terminal makes an input for generating shared data, the shared data is generated in the first client terminal in step 6a. When the first client terminal user expresses a synchronization request intention in step 6b (eg, when a specific key is input), in step 6c, the first client terminal makes a synchronization request to the SyncML server 580. The SyncML server 580 receiving the synchronization request accepts the authentication and the synchronization request of the first client terminal in step 6d. In step 6e, the authenticated first client terminal transmits the shared data to the SyncML server 580. After receiving the shared data, the SyncML server 580 performs a shared data update (synchronization) in step 6f, and then transmits the processing result to the first client terminal in step 6g.

한편, SyncML 서버 580는 공유 데이터 업데이트를 수행한 다음, 6h단계에서 클라이언트의 사용자 ID(identification)를 이용하여 메신저 서버 590에 상기 제1클라이언트 단말기 사용자의 컨텍리스트 및 프레전스 정보를 요청한다. 6i단계에서 메신저 서버 590가 SyncML 서버 580를 인증하고, 6j단계에서 상기 제1클라이언트 단말기 사용자의 컨텍리스트에 포함된 다른 사용자들의 프레전스 정보를 생성한다. 그리고 6k단계에서 컨텍리스트와 함께 상기 생성된 프레전스 정보를 SyncML 서버 580에 송신한다. 6l단계에서 컨텍리스트와 프레전스 정보를 수신한 SyncML 서버 580은 상기 프레전스 정보를 통해 각 사용자들의 온/오프 상태를 확인하고, 6m단계에서 온 상태인 제2클라이언트 단말기에게 동기화 요청을 실시한다. 편의상 제2클라이언트 단말기를 하나만 도시하였으나, 프레전스 상태를 참조할 때 동기화 대상이 되는 단말기는 다수 존재 가능함을 밝혀둔다. On the other hand, after updating the shared data, the SyncML server 580 requests contact list and presence information of the first client terminal user to the messenger server 590 using the user ID of the client in step 6h. In step 6i, the messenger server 590 authenticates the SyncML server 580, and in step 6j, generates presence information of other users included in the contact list of the first client terminal user. In step 6k, the generated presence information is transmitted to the SyncML server 580 together with the contact list. The SyncML server 580 which has received the contact list and the presence information in step 6l checks the on / off state of each user through the presence information and makes a synchronization request to the second client terminal that is in the on state in step 6m. Although only one second client terminal is shown for convenience, it will be apparent that a plurality of terminals to be synchronized can exist when referring to the presence state.

6n단계에서 제2클라이언트 단말기가 상기 SyncML 서버 580의 동기화 요청을 수락하면, 6o단계에서 SyncML 서버 580가 제2클라이언트 단말기에게 공유 데이터를 송신한다. 6p단계에서 제2클라이언트 단말기는 수신된 공유 데이터를 업데이트한다. 그리고 6q-1단계에서 그 처리 결과를 상기 SyncML 서버 580에 전송한다. 또한 상기 처리 결과는 6q-2단계에서 제1클라이언트 단말기에게 전달될 수도 있다. If the second client terminal accepts the synchronization request of the SyncML server 580 in step 6n, the SyncML server 580 transmits the shared data to the second client terminal in step 6o. In step 6p, the second client terminal updates the received shared data. In step 6q-1, the processing result is transmitted to the SyncML server 580. In addition, the processing result may be delivered to the first client terminal in step 6q-2.

도 7은 본 발명의 실시예에 따른 클라이언트 단말기의 프레전스 상태 변경에 따른 공유 데이터 동기화 방법을 나타낸 레더 다이어그램이다. 7 is a ladder diagram illustrating a method of synchronizing shared data according to a presence state change of a client terminal according to an exemplary embodiment of the present invention.

편의상, 도 7의 클라이언트 단말기를 전술한 도 6과 구분하기 위해 제3클라이언트 단말기라고 칭하기로 한다. 또한 전술한 도 6에서 제1 및 제2클라이언트 단말기가 온라인 상태일 때 오프라인 상태였다고 가정한다. 또한 제3클라이언트 단말기는 상기 제1클라이언트 단말기의 컨텍리스트에 포함된 단말기라고 가정한다. For convenience, the client terminal of FIG. 7 will be referred to as a third client terminal to distinguish it from FIG. 6 described above. In addition, in FIG. 6, it is assumed that the first and second client terminals are offline when they are online. In addition, it is assumed that the third client terminal is a terminal included in the contact list of the first client terminal.

7a단계에서 제3클라이언트 단말기가 오프 상태에서 온 상태로 바뀌면(프레전스 상태가 변경되면), 7b단계에서 메신저 서버 590에 상태 변경 요청을 한다. 7c단계에서 메신저 서버 590가 제3클라이언트 단말기를 인증한 다음, 7d단계에서 자신의 데이터베이스에서 제3클라이언트 단말기 프레전스 정보를 변경한다. 그리고 7e단계에서 그 처리 결과를 제3클라이언트 단말기에 송신한다.If the third client terminal is changed from the off state to the on state in step 7a (when the presence state is changed), in step 7b, a request for a state change is made to the messenger server 590. In step 7c, the messenger server 590 authenticates the third client terminal, and then, in step 7d, the messenger server 590 changes the third client terminal presence information in its database. In step 7e, the processing result is transmitted to the third client terminal.

위와 같이 제3클라이언트 단말기의 프레전스 정보가 변경되었으므로, 7f단계에서 메신저 서버 590는 제3클라이언트 단말기의 프레전스 정보를 SyncML 서버 580에 송신한다. 상기 프레전스 정보를 수신한 SyncML 서버 580는 7g단계에서 상기 메신저 서버 590를 인증한 다음, 7h단계에서 상기 프레전스 정보를 통해 상기 제3클라이언트 단말기를 동기화 대상 클라이언트로 선정한다. 다시 말해서, 제3클라이언트 단말기의 프레전스 정보를 참조하면 제3클라이언트 단말기가 오프 상태에서 온 상태로 변경되었음을 알 수 있으므로, 동기화가 필요함을 인식할 수 있다. Since the presence information of the third client terminal has been changed as described above, in step 7f, the messenger server 590 transmits the presence information of the third client terminal to the SyncML server 580. After receiving the presence information, the SyncML server 580 authenticates the messenger server 590 in step 7g, and then selects the third client terminal as a synchronization target client through the presence information in step 7h. In other words, referring to the presence information of the third client terminal, it can be seen that the third client terminal has been changed from the off state to the on state, and thus it may be recognized that synchronization is required.

7i단계에서 SyncML 서버 580는 제3클라이언트 단말기에 동기화를 요청하고, 7j단계에서 제3클라이언트 단말기가 상기 동기화 요청을 수락하면, 7k단계에서 상기 SyncML 서버 580가 공유 데이터를 제3클라이언트 단말기에 송신한다. 제3클라이언트 단말기는 상기 공유 데이터를 업데이트한 다음, 그 처리 결과를 SyncML 서버 580에 송신한다. 여기서 상기 공유 데이터는 전술한 도 6에서 제1클라이언트 단말기가 생성한 것인데, 그 당시에는 제3클라이언트 단말기가 오프 상태였기 때문에 동기화하지 못했으므로 현재 제3클라이언트 단말기가 온 상태로 변환됨과 동시에 자동으로 동기화가 진행되는 것이다. In step 7i, the SyncML server 580 requests synchronization with the third client terminal. If the third client terminal accepts the synchronization request in step 7j, the SyncML server 580 transmits the shared data to the third client terminal in step 7k. . The third client terminal updates the shared data and then transmits the processing result to the SyncML server 580. Here, the shared data is generated by the first client terminal in FIG. 6 described above. At that time, since the third client terminal was not in synchronization, the shared data was not automatically synchronized. Is going on.

한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구의 범위뿐 만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.Meanwhile, in the detailed description of the present invention, specific embodiments have been described, but various modifications are possible without departing from the scope of the present invention. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be defined not only by the scope of the following claims, but also by the equivalents of the claims.

상술한 바와 같이 본 발명은 클라이언트의 요청에 의해서만 이루어지던 현재의 SyncML 기능을 확장하여 서버 주도형 동기화(server alerted synchronization)가 가능하도록 한 장점이 있다. 구체적으로, 온 라인 상태인 다수의 클라이언트 디바이스에 대한 동기화가 자동으로 실시되므로 데이터 공유가 용이하다. 또한 로그인 시점에 자동으로 동기화가 실시되므로 데이터 공유가 용이하다. 즉, 오프 라인 상태였던 클라이언트 디바이스가 메신저 서버에 로그인 하면 그 사실을 SyncML 서버로 전송하여 자동으로 동기화가 실시되게 한다.As described above, the present invention extends the current SyncML function that was performed only by the request of a client, thereby enabling server alerted synchronization. Specifically, data sharing is facilitated because synchronization is automatically performed for multiple client devices that are online. In addition, synchronization is automatically performed at the time of login, so data sharing is easy. That is, when a client device that is offline logs in to a messenger server, the fact is transmitted to the SyncML server to automatically perform synchronization.

도 1은 종래의 SyncML 서비스를 설명하기 위한 도면 1 is a view for explaining a conventional SyncML service

도 2는 종래의 SyncML 서비스 과정을 나타낸 흐름도 2 is a flowchart illustrating a conventional SyncML service process

도 3은 본 발명에 이용되는, 메신저 서버에서 수행하는 메신저 서비스를 설명하기 위한 도면3 is a diagram illustrating a messenger service performed by a messenger server used in the present invention.

도 4는 본 발명에 이용되는, 메신저 서버에서 컨텍리스트를 관리하는 과정을 나타낸 흐름도4 is a flowchart illustrating a process of managing a contact list in a messenger server used in the present invention.

도 5a는 본 발명의 실시예에 따른 시스템 구성도5A is a system configuration diagram according to an embodiment of the present invention.

도 5b는 본 발명에 이용되는 프레전스 정보의 구성 예를 나타낸 도면5B is a diagram showing an example of the configuration of presence information used in the present invention.

도 5c는 본 발명에 이용되는 컨텍리스트의 구성 예를 나타낸 도면5C is a diagram showing an example of the configuration of a contact list used in the present invention.

도 6은 본 발명의 실시예에 따른 한 클라이언트 단말기의 공유 데이터 생성에 따른 다른 클라이언트 단말기의 동기화 방법을 나타낸 레더 다이어그램6 is a ladder diagram illustrating a synchronization method of another client terminal according to generation of shared data of one client terminal according to an embodiment of the present invention.

도 7은 본 발명의 실시예에 따른 클라이언트 단말기의 프레전스 상태 변경에 따른 공유 데이터 동기화 방법을 나타낸 레더 다이어그램7 is a ladder diagram illustrating a method of synchronizing shared data according to a change of a presence state of a client terminal according to an exemplary embodiment of the present invention.

Claims (12)

SyncML 서버 및 메신저 서버에 접속 가능한 클라이언트 단말기들 사이에 데이터를 공유하는 방법에 있어서, A method of sharing data between client terminals accessible to a SyncML server and a messenger server, 공유 데이터가 생성된 제1클라이언트 단말기에서 SyncML 서버에 동기화 요청을 하는 과정과, Making a request for synchronization to a SyncML server by a first client terminal on which shared data is generated; SyncML 서버가 상기 공유 데이터를 업데이트한 다음, 상기 메신저 서버에 상기 제1클라이언트 단말기의 컨텍리스트와 상기 컨텍리스트에 포함된 적어도 하나 이상의 제2클라이언트의 프레전스 정보를 요청하는 과정과, Requesting, by the SyncML server, the presence data of the contact list of the first client terminal and at least one or more second clients included in the contact list to the messenger server; 상기 메신저 서버가 상기 제2클라이언트의 프레전스 정보를 생성하여 상기 제1클라이언트 단말기의 컨텍리스트와 함께 상기 SyncML 서버에 전송하는 과정과, Generating, by the messenger server, the presence information of the second client and transmitting the presence information of the second client to the SyncML server together with the contact list of the first client terminal; 상기 SyncML 서버가 상기 프레전스 정보로부터 각 사용자들의 온/오프 상태를 확인하고 온 상태인 제2클라이언트 단말기에게 동기화 요청을 하는 과정과, Checking, by the SyncML server, the on / off state of each user from the presence information and making a synchronization request to the second client terminal in the on state; 상기 제2클라이언트 단말기가 상기 SyncML 서버의 동기화 요청을 수락하고 상기 SyncML 서버가 송신하는 공유 데이터를 수신하여 업데이트하는 과정을 포함함을 특징으로 하는 방법.And the second client terminal accepts the synchronization request of the SyncML server, and receives and updates the shared data transmitted by the SyncML server. 제1항에 있어서,The method of claim 1, 상기 SyncML 서버가 상기 공유 데이터 업데이트 수행 전, 상기 제1클라이언트 단말기에 대한 인증 및 동기화 요청 수락을 실시함을 특징으로 하는 방법.And the SyncML server accepts the authentication and synchronization request for the first client terminal before performing the shared data update. 제1항에 있어서,The method of claim 1, 상기 메신저 서버가 상기 프레전스 정보를 송신하기 전, 상기 SyncML 서버에 대한 인증을 실시함을 특징으로 하는 방법.And authenticating the SyncML server before the messenger server transmits the presence information. 제1항에 있어서,The method of claim 1, 상기 SyncML 서버가 상기 제1클라이언트 단말기에 상기 공유 데이터 업데이트 처리 결과를 송신하는 과정을 더 포함함을 특징으로 하는 방법.And transmitting, by the SyncML server, the shared data update processing result to the first client terminal. 제1항에 있어서,The method of claim 1, 상기 제2클라이언트 단말기가 상기 공유 데이터 업데이트 처리 결과를 상기 SyncML 서버에 송신하는 과정을 더 포함함을 특징으로 하는 방법.And transmitting, by the second client terminal, the shared data update processing result to the SyncML server. 제5항에 있어서,The method of claim 5, 상기 SyncML 서버가 상기 제2클라이언트 단말기의 공유 데이터 업데이트 처리 결과를 상기 제1클라이언트 단말기에 전달하는 과정을 더 포함함을 특징으로 하는 방법.And transmitting, by the SyncML server, the shared data update processing result of the second client terminal to the first client terminal. SyncML 서버 및 메신저 서버에 접속 가능한 클라이언트 단말기들 사이에 데이터를 공유하는 방법에 있어서, A method of sharing data between client terminals accessible to a SyncML server and a messenger server, 프레전스 상태를 변경한 클라이언트 단말기가 메신저 서버에 상태 변경 요청을 하는 과정과, A process of requesting a state change request from a messenger server by a client terminal which has changed its presence state; 상기 메신저 서버가 상기 클라이언트 단말기의 프레전스 정보 변경을 실시하는 과정과, The messenger server changing the presence information of the client terminal; 상기 메신저서버가 상기 클라이언트 단말기의 프레전스 정보를 상기 SyncML 서버에 전송하는 과정과, Transmitting, by the messenger server, the presence information of the client terminal to the SyncML server; 상기 SyncML 서버가 상기 프레전스 정보로부터 상기 클라이언트 단말기가 동기화 대상이 되었음을 감지하고 상기 클라이언트 단말기로 동기화 요청을 하는 과정과, The SyncML server detecting from the presence information that the client terminal has been synchronized and requesting a synchronization request from the client terminal; 상기 클라이언트 단말기가 상기 SyncML 서버의 동기화 요청을 수락하고 공유 데이터를 업데이트 하는 과정을 포함함을 특징으로 하는 방법.The client terminal accepting a synchronization request of the SyncML server and updating shared data. 제7항에 있어서,The method of claim 7, wherein 상기 메신저 서버가 상기 프레전스 정보 변경을 실시하기 전, 상기 클라이언트 단말기에 대한 인증을 실시함을 특징으로 하는 방법.And before the messenger server changes the presence information, authenticate the client terminal. 제7항에 있어서,The method of claim 7, wherein 상기 SyncML 서버가 상기 클라이언트 단말기가 동기화 대상이 되었음을 감지하기 전, 상기 메신저 서버에 대한 인증을 실시함을 특징으로 하는 방법.And the SyncML server authenticates the messenger server before detecting that the client terminal has been synchronized. 제7항에 있어서,The method of claim 7, wherein 상기 클라이언트 단말기가 상기 공유 데이터 업데이트를 수행하기 전, 상기 SyncML 서버의 동기화 요청을 수락함을 특징으로 하는 방법.And before the client terminal performs the update of the shared data, accepting a synchronization request from the SyncML server. 제7항에 있어서,The method of claim 7, wherein 상기 메신저 서버가 상기 클라이언트 단말기에 상기 프레전스 정보 변경 처리 결과를 전송하는 과정을 더 포함함을 특징으로 하는 방법.And transmitting, by the messenger server, the presence information change processing result to the client terminal. 제7항에 있어서,The method of claim 7, wherein 상기 클라이언트 단말기가 상기 공유 데이터 업데이트 처리 결과를 상기 SyncML 서버에 전송하는 과정을 더 포함함을 특징으로 하는 방법.And transmitting, by the client terminal, the result of the shared data update processing to the SyncML server.
KR20040021345A 2004-03-29 2004-03-29 Server-Driven Client Synchronization Method Expired - Fee Related KR100630072B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20040021345A KR100630072B1 (en) 2004-03-29 2004-03-29 Server-Driven Client Synchronization Method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20040021345A KR100630072B1 (en) 2004-03-29 2004-03-29 Server-Driven Client Synchronization Method

Publications (2)

Publication Number Publication Date
KR20050096077A true KR20050096077A (en) 2005-10-05
KR100630072B1 KR100630072B1 (en) 2006-09-27

Family

ID=37276302

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20040021345A Expired - Fee Related KR100630072B1 (en) 2004-03-29 2004-03-29 Server-Driven Client Synchronization Method

Country Status (1)

Country Link
KR (1) KR100630072B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100663497B1 (en) * 2005-10-07 2007-01-02 삼성전자주식회사 Service Information Notification Method on Mobile Terminal
KR100772879B1 (en) * 2006-04-19 2007-11-02 삼성전자주식회사 Apparatus, system and method for executing discovery in network
KR100799921B1 (en) * 2006-01-25 2008-01-31 (주) 엘지텔레콤 Mobile communication system and content sharing method
KR101140394B1 (en) * 2008-07-30 2012-05-03 에스케이플래닛 주식회사 Method for providing presence service, server and computer readable recording medium therefor

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105592116A (en) * 2014-10-23 2016-05-18 中兴通讯股份有限公司 Method, terminal and system for synchronously browsing shared resources

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100663497B1 (en) * 2005-10-07 2007-01-02 삼성전자주식회사 Service Information Notification Method on Mobile Terminal
KR100799921B1 (en) * 2006-01-25 2008-01-31 (주) 엘지텔레콤 Mobile communication system and content sharing method
KR100772879B1 (en) * 2006-04-19 2007-11-02 삼성전자주식회사 Apparatus, system and method for executing discovery in network
US8521911B2 (en) 2006-04-19 2013-08-27 Samsung Electronics Co., Ltd. Apparatus, system and method for executing discovery in network
KR101140394B1 (en) * 2008-07-30 2012-05-03 에스케이플래닛 주식회사 Method for providing presence service, server and computer readable recording medium therefor

Also Published As

Publication number Publication date
KR100630072B1 (en) 2006-09-27

Similar Documents

Publication Publication Date Title
US20220247637A1 (en) Methods, apparatuses, and computer program products for facilitating synchronization of setting configurations
US11269833B2 (en) Data storage architecture for an enterprise communication system
US11315054B2 (en) Communication system, communication method, and information processing apparatus
CN1855832B (en) Conference system and terminal apparatus
US9432381B2 (en) Managed dissemination of location data
CN100533440C (en) Provide services based on access to shared data
US8600360B1 (en) Method and system for connecting people in a social network
US7693999B2 (en) System and method for session reestablishment between client terminal and server
KR102079892B1 (en) Management of multiple profiles for a single account in an asynchronous messaging system
US8566109B2 (en) Common interest community service via presence messaging
US20070008987A1 (en) Capturing contacts via people near me
US11849053B2 (en) Automation of user identity using network protocol providing secure granting or revocation of secured access rights
US20080005119A1 (en) Remotely updating a user status on a presence server
US20050246396A1 (en) System and method for synchronizing between a file system and presence of contacts on a network
JP6120650B2 (en) Content management apparatus, content management method and program
AU2010258776A1 (en) Integrating updates into a social-networking service
CN103167031A (en) Communication between Web applications
JP2016018507A (en) Data synchronization system, control method thereof, authorization server, and program thereof
KR102561557B1 (en) Method, apparatus, and computer program product for creating externally shared communication channels
US20050246544A1 (en) System and method for identity confirmation of a contact published on a network
US8275365B1 (en) Method and system for providing presence information
US10798047B2 (en) Systems, devices and methods for text message communication
KR100630072B1 (en) Server-Driven Client Synchronization Method
JP4205608B2 (en) Service management method and service system
KR100640512B1 (en) Method and system for synchronizing data between server and terminal using messenger service system

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

PN2301 Change of applicant

St.27 status event code: A-3-3-R10-R13-asn-PN2301

St.27 status event code: A-3-3-R10-R11-asn-PN2301

PN2301 Change of applicant

St.27 status event code: A-3-3-R10-R13-asn-PN2301

St.27 status event code: A-3-3-R10-R11-asn-PN2301

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

T11-X000 Administrative time limit extension requested

St.27 status event code: U-3-3-T10-T11-oth-X000

T11-X000 Administrative time limit extension requested

St.27 status event code: U-3-3-T10-T11-oth-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20090923

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20090923

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000