KR100772879B1 - 네트워크에서 디스커버리를 수행하는 장치, 시스템 및 그방법 - Google Patents

네트워크에서 디스커버리를 수행하는 장치, 시스템 및 그방법 Download PDF

Info

Publication number
KR100772879B1
KR100772879B1 KR1020060119306A KR20060119306A KR100772879B1 KR 100772879 B1 KR100772879 B1 KR 100772879B1 KR 1020060119306 A KR1020060119306 A KR 1020060119306A KR 20060119306 A KR20060119306 A KR 20060119306A KR 100772879 B1 KR100772879 B1 KR 100772879B1
Authority
KR
South Korea
Prior art keywords
syncml
description
server
client
message
Prior art date
Application number
KR1020060119306A
Other languages
English (en)
Other versions
KR20070103668A (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 US11/727,252 priority Critical patent/US8521911B2/en
Priority to CN2007800139559A priority patent/CN101427519B/zh
Priority to JP2009506407A priority patent/JP4886027B2/ja
Priority to EP07745954A priority patent/EP2014022B1/en
Priority to PCT/KR2007/001791 priority patent/WO2007119968A1/en
Publication of KR20070103668A publication Critical patent/KR20070103668A/ko
Application granted granted Critical
Publication of KR100772879B1 publication Critical patent/KR100772879B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer And Data Communications (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 네트워크에서 디스커버리를 수행하는 장치, 시스템 및 그 방법에 관한 것으로서, 더욱 상세하게는 SyncML 기반의 장치에서 디스커버리 과정을 통해 특정 장치에 대한 검색 및 자신의 존재를 알리는 장치 및 방법에 관한 것이다.
본 발명의 일 실시예에 따른 네트워크에서 디스커버리를 수행하는 시스템은, SyncML 서버 및 SyncML 클라이언트로 구성된 시스템에 있어서, 상기 SyncML 클라이언트로 멀티캐스트 서치 메시지를 전송하여 네트워크 상에 존재하는 SyncML 클라이언트를 검색하고, 상기 검색된 SyncML 클라이언트와 데이터 동기화를 수행하는 SyncML 서버와, 상기 SyncML 서버에 통지 메시지를 전송하여 네트워크 상에 존재함을 알리고, 상기 SyncML 서버와 동기화를 수행하는 SyncML 클라이언트를 포함한다.
SyncML 서버, SyncML 클라이언트, 디스커버리 에이전트, 동기화

Description

네트워크에서 디스커버리를 수행하는 장치, 시스템 및 그 방법{Apparatus, system and method for executing discovery in network}
도 1은 일반적인 SyncML 기반의 장치에서 동기화를 수행하는 과정을 나타낸 도면.
도 2는 본 발명의 일 실시예에 따른 네트워크에서 디스커버리를 수행하는 시스템을 나타낸 도면.
도 3은 본 발명의 일 실시예에 따른 네트워크에서 디스커버리를 수행하는 장치에서 디스커버리 에이전트의 상세 블록도를 나타낸 도면.
도 4는 본 발명의 일 실시예에 따른 네트워크에서 디스커버리를 수행하는 장치의 디스크립션 정보를 나타낸 도면.
도 5는 본 발명의 일 실시예에 따른 네트워크에서 디스커버리를 수행하는 방법 중 SyncML 서버가 SyncML 클라이언트들과 디스커버리 및 동기화를 수행하는 과정을 나타낸 흐름도.
도 6은 본 발명의 일 실시예에 따른 네트워크에서 디스커버리를 수행하는 방법 중 SyncML 클라이언트의 접속 시 SyncML 서버와 디스커버리 및 동기화를 수행하는 과정을 나타낸 흐름도.
<도면의 주요 부분에 관한 부호의 설명>
120 : 디스커버리 에이전트 121, 221 : 메시지 수신부
122, 222 : 메시지 전송부 123, 223: 어플리케이션 관리부
124, 224 : 디스커버리 메시지 처리부 125, 225 : 디스크립션 저장부
본 발명은 네트워크에서 디스커버리를 수행하는 장치, 시스템 및 그 방법에 관한 것으로서, 더욱 상세하게는 SyncML 기반의 장치에서 디스커버리 과정을 통해 특정 장치에 대한 검색 및 자신의 존재를 알리는 장치 및 방법에 관한 것이다.
일반적으로, 장치 간 데이터 동기화 방법에 있어 USB 등와 같이 별도의 케이블을 이용하거나 디스커버리(Discovery) 방법이 포함되어 있는 프로토콜(예 UPnP)의 경우는 별도의 디스커버리 메커니즘이 필요 없으나, 상기와 같은 디스커버리 과정을 SyncML(Synchronization Makrup Language) 장치에 적용하는 경우, 제조업체 측면에서는 라이센스 또는 개발 비용의 부담으로 이어지기 때문에, 기존의 Legacy SyncML 장치들에 적용 가능한 형태의 디스커버리 방법을 제공해야 할 필요성이 대두 되고 있다. 여기서, SyncML(Synchronization Makrup Language)은 데이터 간의 동기화에 대한 표준화 필요성이 대두됨에 따라 이동 단말기 제조 업체 중심으로 공통된 데이터 동기화 프로토콜에 대한 산업계 표준을 제정한 것을 말한다.
도 1은 일반적인 SyncML 기반의 장치에서 동기화를 수행하는 과정을 나타낸 도면이다.
SyncML 기반의 장치가 어플리케이션(Application)들이 관리하는 특정 위치의 데이터를 교환하여 동기화 하고자 하는 경우, 동기화 대상이 되는 2개의 장치는 SyncML 서버(Server)와 SyncML 클라이언트(Client)로 구분된다.
SyncML에서의 동기화 방법은 SyncML 서버가 SyncML 클라이언트로 알림 패킷(Alert package)을 Pkg #0에 담아 전송하면서 시작되거나, 다른 방법으로는 SyncML 클라이언트가 SyncML 서버에 동기화를 요청하는 방법으로 Pkg #1에 해당하는 동기화 요청 메시지를 SyncML 서버에 전송하여 동기화를 수행하는 것이다.
따라서, 동기화를 위해서는 동기화 이전에 SyncML 서버 및 SyncML 클라이언트는 동기화의 대상이 되는 SyncML 클라이언트를 검색하여 동기화할 대상이 네트워크에서 사용 가능한지를 확인해야 한다.
예를 들어, DHCP나 Auto-IP 등과 같이 장치의 접속 시점에 따라 할당받는 IP가 변경 가능한 환경 하에서는 SyncML 서버와 SyncML 클라이언트 사이의 장치 디스커버리(Device Discovery)를 위해서 별도의 장치 발견 방법이 사용되어야만 한다.
그 다음, 동기화가 시작되면 동기화 방법에 따라 초기화 패킷((Initialization package) 즉, Pkg #1,2))를 상대방(즉, SyncML 서버 및 SyncML 클라이언트)에게 전송하고, 실제 동기화할 데이터를 Pkg #3,4에 담아 상호 교환한다. 그 다음, 동기화할 데이터가 교환되면, SyncML 클라이언트는 데이터를 업데이트한 후 동기화 처리 결과를 Pkg #5에 담아 SyncML 서버로 전송하고, 이에 SyncML 서버는 전송된 동기화 처리 결과를 확인한 후, 최종 확답(Final Acknowledgement)인 Pkg #6을 SyncML 클라이언트로 보내면서 동기화를 종료한다.
그러나, SyncML 서버 및 SyncML 클라이언트의 IP가 변경되는 경우, 동기화 수행 시 필요한 장치 정보를 별도의 방법을 통해 업데이트(Update)를 수행해야 하는 문제점이 있다. 즉, 동기화 시점 이전에 장치 발견을 위해 사용자의 개입을 필요로 한다는 것이다.
예를 들어, 모바일 장치와 같이 사용자의 위치에 따라 특정 네트워크에 연결되거나 또는 네트워크로부터 제거되는 장치들을 동기화하기 위해서는, 사용자가 먼저 각 장치에 대한 존재 여부를 확인하고, IP주소 등과 같은 장치 정보를 얻기 위한 과정을 거쳐야 하는데, 이는 동기화 시 사용자의 편의성을 저하시키는 원인이 된다.
또한, SyncML 클라이언트가 SyncML 서버와 동기화하기를 원하는 경우, SyncML 클라이언트는 SyncML 서버가 언제 네트워크에 연결될지 알 수 없기 때문에 주기적으로 폴링(Polling)을 수행하여 SyncML 서버의 연결 여부를 확인하거나, SyncML 서버 및 SyncML 클라이언트 간에 특화된 방식의 장치 발견 방법을 사용해야 한다. 따라서, SyncML 서버로부터 Pkg #0(알림 패킷)이 오기 전까지는 추가적인 검색 없이 SyncML 클라이언트가 SyncML 서버의 존재 여부를 알 수 없다는 문제점이 있다.
따라서, SyncML 기반 동기화 메커니즘을 갖는 장치들에 적용할 수 있는 디스커버리 방법의 개발이 요구된다.
본 발명의 기술적 과제는, SyncML을 기반으로 동기화하는 장치들 사이에서 특정 SyncML 장치들을 검색하고, 자신의 존재를 다른 SyncML 장치에게 알리도록 하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 네트워크에서 디스커버리를 수행하는 서버는 소정 데이터의 동기화를 위한 데이터 동기화 프로토콜을 구현하는 SyncML 서버와, 상기 SyncML 서버를 관리하고 SyncML 클라이언트 어플리케이션과 데이터 동기화를 통신하는 SyncML 서버 에이전트와, 상기 데이터 동기화를 수행하기 전에 동기화할 SyncML 클라이언트를 검색하는 디스커버리 에이전트를 포함한다.
또한, 본 발명의 일 실시예에 따른 네트워크에서 디스커버리를 수행하는 클라이언트는 SyncML 서버 어플리케이션과 데이터 동기화를 통신하는 SyncML 클라이언트 에이전트와, 상기 SyncML 서버와 데이터 동기화를 수행하기 위해 상기 SyncML 서버를 검색하는 디스커버리 에이전트를 포함한다.
또한, 본 발명의 일 실시예에 따른 네트워크에서 디스커버리를 수행하는 시스템은, SyncML 서버 및 SyncML 클라이언트로 구성된 시스템에 있어서, 상기 SyncML 클라이언트로 멀티캐스트 서치 메시지를 전송하여 네트워크 상에 존재하는 SyncML 클라이언트를 검색하고, 상기 검색된 SyncML 클라이언트와 데이터 동기화를 수행하는 SyncML 서버와, 상기 SyncML 서버에 통지 메시지를 전송하여 네트워크 상에 존재함을 알리고, 상기 SyncML 서버와 동기화를 수행하는 SyncML 클라이언트를 포함한다.
또한, 본 발명의 일 실시예에 따른 네트워크에서 디스커버리를 수행하는 방법은, 멀티캐스트 서치 메시지를 전송하여 네트워크 상에 존재하는 SyncML 클라이언트를 검색하는 단계와, 상기 검색된 SyncML 클라이언트에게 디스크립션을 요청하는 단계와, 상기 요청에 따라 수신된 디스크립션을 기초로 동기화할 SyncML 클라이언트를 추출하는 단계와, 상기 추출된 SyncML 클라이언트와 동기화를 수행하는 단계를 포함한다.
또한, 본 발명의 일 실시예에 따른 네트워크에서 디스커버리를 수행하는 방법은, 상기 SyncML 서버로 통지 메시지를 전송하여 자신이 네트워크 상에 존재함을 알리는 단계와, 상기 SyncML 서버에게 디스크립션을 전송하는 단계와, 상기 SyncML 서버와 동기화를 수행하는 단계를 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.
도 2는 본 발명의 일 실시예에 따른 네트워크에서 디스커버리를 수행하는 시스템을 나타낸 도면이다.
도시된 바와 같이, 디스커버리를 수행하는 시스템(10)은 SyncML 서버(100) 및 SyncML 클라이언트(200)로 구성된다.
SyncML 기반의 장치가 어플리케이션(Application)들이 관리하는 특정 위치의 데이터를 교환하여 동기화 하고자 하는 경우, 동기화 대상이 되는 2개의 장치는 SyncML 서버(100)와 SyncML 클라이언트(200)로 구분된다. 여기서, SyncML 서버(100)는 어플리케이션1(110), 디스커버리 에이전트(120), SyncML 서버(130) 및 SyncML 서버 에이전트(140)를 포함하여 구성되며, SyncML 클라이언트(200)는 어플리케이션2(210), 디스커버리 에이전트(220) 및 SyncML 클라이언트 에이전트(230)를 포함하여 구성된다.
어플리케이션1(110) 및 어플리케이션2(210)는 데이터 동기화를 제공하는 서비스들이며, HTTP, WSP 및 OBEX 와 같은 네트워크 트랜스포트를 통해 연결되어 있다. 또한, SyncML 서버(130)는 데이터 동기화 프로토콜을 구현하며, SyncML 서버 에이전트(140)는 네트워크로 접근하는 SyncML 서버(130)를 관리하고 클라이언트 어플리케이션과 데이터 동기화를 통신한다. 한편, 클라이언트 에이전트(230)는 어플 리케이션2(210)가 네트워크와 접속할 수 있도록 한다.
또한, 네트워크 상에 존재하는 기기를 찾기 위해 SSDP 및 HTTPMU와 같은 프로토콜이 이용된다. 디스커버리 에이전트(120,220)는 특정 SyncML 장치들을 검색하고, 자신의 존재를 다른 SyncML 장치에게 알릴 수 있는 메시지를 전송한다. 여기서, SSDP는 크게 2가지로 구분할 수 있는데, SyncML 서버(100)가 자신이 원하는 SyncML 클라이언트(200)를 검색하기 위해 사용하는 멀티캐스트 서치(M-Search) 메시지와 SyncML 클라이언트(200)가 자신의 상태에 대해 알리기 위해 사용하는 통지(Notify Alive) 메시지이다(즉, 어드버타이징(Advertising)).
도 3은 본 발명의 일 실시예에 따른 네트워크에서 디스커버리를 수행하는 장치에서 디스커버리 에이전트의 상세 블록도를 나타낸 도면이다. 본 발명에서 디스커버리 에이전트는 SyncML 서버(100) 및 SyncML 클라이언트(200)에 동일하게 존재한다.
먼저, SyncML 서버(100)에 구비된 디스커버리 에이전트(120)에 대해 설명한다.
도시된 바와 같이, 디스커버리 에이전트(120)는 메시지 수신부(121), 메시지 전송부(122), SyncML 어플리케이션 관리부(123), 디스커버리 메시지 처리부(124) 및 디스트립션 저장부(125)를 포함하여 구성된다.
메시지 수신부(121)는 멀티캐스트 메시지를 수신하거나, 유니캐스트(Unicast)로 요청된 메시지를 디스커버리 메시지 처리부(124)로 전송한다.
메시지 전송부(122)는 멀티캐스트 메시지를 네트워크로 보내거나 SyncML 어 플리케이션 관리부(123) 및 디스커버리 메시지 처리부(124)가 생성한 UDP(User Datagram Protocol) 응답 메시지를 특정 SyncML 클라이언트로 전송한다.
SyncML 어플리케이션 관리부(123)는 SyncML 어플리케이션과 통신하기 위해 사용되는 것으로써, 어플리케이션이 디스커버리 에이전트(120)에 요청하는 정보를 디스커버리 메시지 처리부(124)로 포워딩(Forwarding)하여 원하는 정보를 디스트립션(Description) 저장부(125)로부터 추출하여 어플리케이션으로 제공한다.
또한, SyncML 어플리케이션 관리부(123)는 디스커버리 메시지 처리부(124)를 통해 추출한 디스크립션을 기초로 하여 메시지 전송부(122)를 통해 다른 SyncML 장치에 검색(Search) 메시지를 전송하도록 한다.
디스커버리 메시지 처리부(124)는 디스트립션 저장부(125)의 정보를 관리하는 것으로서, 메시지 수신부(121)로부터 수신된 장치 디스크립션을 디스트립션 저장부(125)에 저장하거나, 디스트립션 저장부(125)에 저장된 특정 디스크립션을 삭제한다.
또한, 디스커버리 메시지 처리부(124)는 SyncML 어플리케이션 관리부(123)로부터 요청된 장치 디스크립션을 추출하여 제공하거나 디스크립션의 삭제 요청을 처리한다.
디스트립션 저장부(125)는 자신의 장치 디스크립션 뿐만 아니라, 디스커버리 에어전트(120)에 의해 수집된 다른 SyncML 장치의 디스크립션들을 저장한다. 여기서, 디스트립션 저장부(125)는 DB나 간단한 파일 시스템(File System)에 이르기까지 다양한 저장 공간의 형태로 구현될 수 있다.
한편, SyncML 클라이언트(200)에 구비된 디스커버리 에이전트(220)에 대해 설명한다.
도시된 바와 같이, 디스커버리 에이전트(210)는 메시지 수신부(211), 메시지 전송부(222), SyncML 어플리케이션 관리부(223), 디스커버리 메시지 처리부(224) 및 저장부(225)를 포함하여 구성된다.
여기서, 메시지 수신부(211), 메시지 전송부(222), 디스커버리 메시지 처리부(224) 및 저장부(225)는 상기 SyncML 서버(100)에 구비된 메시지 수신부(111), 메시지 전송부(122), 디스커버리 메시지 처리부(124) 및 저장부(125)와 동일한 기능을 수행하며, 이에 상세한 설명은 생략한다.
SyncML 어플리케이션 관리부(223)는 SyncML 어플리케이션과 통신하기 위해 사용되는 것으로서, 어플리케이션이 디스커버리 에이전트(120)에 요청하는 정보를 디스커버리 메시지 처리부(224)로 포워딩(Forwarding)하여 원하는 정보를 디스트립션(Description) 저장부(225)로부터 추출하여 어플리케이션으로 제공한다.
또한, SyncML 어플리케이션 관리부(223)는 디스커버리 메시지 처리부(224)를 통해 추출한 디스크립션을 기초로 하여 메시지 전송부(222)를 통해 다른 SyncML 장치에 어드버타이징(Advertisement) 메시지를 전송하도록 한다.
이 때, 본 실시예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로 세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다.
도 4는 본 발명의 일 실시예에 따른 네트워크에서 디스커버리를 수행하는 장치의 디스크립션 정보를 나타낸 도면이다.
도시된 바와 같이, SyncML 클라이언트들은 XML 형태의 디스크립션을 디스크립션 저장부(225)에 저장 하고 있다가, 통지(Notify Alive) 메시지를 통해 네트워크 내에 존재하는 다른 SyncML 장치들에게 자신의 존재를 알리거나, 디스크립션을 요청하는 경우 저장된 디스크립션을 추출하여 메시지에 포함시켜 네트워크로 전송한다.
또한, 디스크립션의 <device type>에 표준화 단체 정보(410) 및 장치의 버전 정보(420) 등을 포함시킴으로써, SyncML 서버(100)는 현재 동기화 가능한 SyncML 클라이언트들을 체크 할 수 있고, 동기화를 원하는 특정 SyncML 클라이언트를 선택할 수도 있다.
도 5는 본 발명의 일 실시예에 따른 네트워크에서 디스커버리를 수행하는 방법 중 SyncML 서버가 SyncML 클라이언트들과 디스커버리 및 동기화를 수행하는 과 정을 나타낸 흐름도이다. 여기서는, 네트워크 상에 하나의 SyncML 서버(100)와 복수개의 SyncML 클라이언트1,2 및 3(21, 22 및 23)가 존재한다고 가정하며, SyncML 서버(100)가 네트워크에 존재하는 SyncML 클라이언트들을 검색하는 예를 설명한다.
먼저, SyncML 서버(100)는 메시지 전송부(122)를 통해 멀티캐스트 서치 메시지를 네트워크로 전송한다(S510). 이에, 수신 가능한 모든 SyncML 클라이언트들(21, 22 및 23)이 멀티캐스트 서치 메시지에 대한 응답 메시지를 생성하여 응답한다(S520).
그 다음, SyncML 서버(100)는 메시지 수신부(121)을 통해 응답 메시지를 수신하고, SyncML 클라이언트2(22) 및 SyncML 클라이언트3(23)에게 디스크립션을 요청한다(S530). 이에, SyncML 클라이언트2(22) 및 SyncML 클라이언트3(23)의 SyncML 어플리케이션 관리부(223)는 SyncML 서버(100)의 요청에 따라 자신들의 디스크립션 정보를 추출하여 전송한다(S540). 여기서, SyncML 서버(100)는 전송된 SyncML 클라이언트들(22,23)의 디스크립션 정보를 통해 현재 동기화 가능한 SyncML 클라이언트를 알 수 있으며, 이를 기반으로 동기화를 원하는 SyncML 클라이언트를 선택할 수도 있다. 또한, SyncML 서버(100)는 동기화를 원하는 SyncML 클라이언트를 1개 이상 선택할 수도 있다.
그 다음, SyncML 서버(100)의 디스커버리 메시지 처리부(124)는 전송된 디스크립션 정보를 디스크립션 저장부(125)에 저장하고, SyncML 서버(100)는 저장된 디스크립션 정보를 기초로 동기화할 SyncML 클라이언트 리스트를 추출한다(S550). 그 다음, 추출된 리스트를 기초로 첫번째로 동기화할 SyncML 클라이언트를 선정한 다.
그 다음, 선정된 동기화할 SyncML 클라이언트2(22)를 위한 Pkg #0(알림 패킷)을 생성하고(S560), 생성된 Pkg #0을 SyncML 클라이언트2(22)로 전송한다(S570). 이에, SyncML 서버(100)와 SyncML 클라이언트2(22)는 동기화할 데이터를 교환함으로써 동기화를 수행한다(S580).
그 다음, SyncML 클라이언트2(22)와 동기화가 완료되면, SyncML 서버(100)는 리스트를 기초로 두번째로 동기화할 SyncML 클라이언트를 선정하고, 선정된 SyncML 클라이언트3(23)를 위한 Pkg #0을 생성한 후(S590), 생성된 Pkg #0을 SyncML 클라이언트3(23)로 전송한다(S600). 그 다음, SyncML 서버(100)와 SyncML 클라이언트3(23)은 동기화할 데이터를 교환함으로써 동기화를 수행한다(S610).
도 6은 본 발명의 일 실시예에 따른 네트워크에서 디스커버리를 수행하는 방법 중 SyncML 클라이언트의 접속 시 SyncML 서버와 디스커버리 및 동기화를 수행하는 과정을 나타낸 흐름도이다. 여기서는, 네트워크 상에 하나의 SyncML 서버(100)와 복수개의 SyncML 클라이언트1 및 2(21, 22)가 존재한다고 가정하며, 네트워크에 접속하는 SyncML 클라이언트가 SyncML 서버(100)에게 자신의 존재를 알리는 예를 설명한다.
먼저, SyncML 서버(100)는 동기화를 원하는 SyncML 클라이언트1,2(21,22)에 대한 스케쥴링을 완료한 후, 유휴(Idle) 상태이다(S710). 이 후 SyncML 클라이언트1(21)이 네트워크에 접속하여 SyncML 서버(100)에게 통지(Notify Alive) 메시지를 전송한다(S720, S730).
그 다음, SyncML 서버(100)는 메시지 수신부(121)을 통해 SyncML 클라이언트1(21)로부터 전송된 통지 메시지를 수신한다. 여기서, SyncML 서버(100)는 수신된 통지 메시지를 통해 SyncML 클라이언트1(21)가 네트워크에 사용 가능한 상태임을 알 수 있게 된다.
그 다음, SyncML 클라이언트1(21)에게 디스크립션을 요청하고, 이에 SyncML 클라이언트1(21)의 SyncML 어플리케이션 관리부(223)는 SyncML 서버(100)의 요청에 따라 자신의 디스크립션 정보를 디스크립션 저장부(225)에서 추출하여 전송한다(S740).
그 다음, SyncML 서버(100)의 디스커버리 메시지 처리부(124)는 전송된 디스크립션 정보를 디스크립션 저장부(125)에 저장하고, SyncML 클라이언트1(21)을 위한 Pkg #0을 생성한다(S750).
그 다음, 생성된 Pkg #0을 SyncML 클라이언트1(21)로 전송하고(S760). 이후 SyncML 서버(100)와 SyncML 클라이언트1(21)은 동기화할 데이터를 교환함으로 동기화를 수행한다(S770).
그 다음, 동기화를 마친 SyncML 서버(100)는 SyncML 클라이언트2(22)가 통지 메시지를 보내주는 시점까지 유휴 상태로 대기한다.
이 후, SyncML 클라이언트2(22)가 네트워크에 접속하여 SyncML 서버(100)에게 통지(Notify Alive) 메시지를 전송하면(S780), SyncML 서버(100)는 메시지 수신부(121)을 통해 SyncML 클라이언트1(21)로부터 전송된 통지 메시지를 수신한다. 여기서, SyncML 서버(100)는 수신된 통지 메시지를 통해 SyncML 클라이언트2(22)가 네트워크에 사용 가능한 상태임을 알 수 있게 된다.
그 다음, SyncML 서버(100)는 SyncML 클라이언트2(22)에게 디스크립션을 요청하고, 이에 SyncML 클라이언트2(22)의 SyncML 어플리케이션 관리부(223)는 SyncML 서버(100)의 요청에 따라 자신의 디스크립션 정보를 디스크립션 저장부(225)에서 추출하여 전송한다(S800).
그 다음, SyncML 서버(100)의 디스커버리 메시지 처리부(124)는 전송된 디스크립션 정보를 디스크립션 저장부(125)에 저장하고, SyncML 클라이언트2(22)를 위한 Pkg #0을 생성한다(S810).
그 다음, 생성된 Pkg #0을 SyncML 클라이언트2(22)로 전송하고(S820). 이후 SyncML 서버(100)와 SyncML 클라이언트2(22)는 동기화할 데이터를 교환함으로써 동기화를 수행한다(S830).
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
상기한 바와 같은 본 발명의 네트워크에서 디스커버리를 수행하는 장치, 시스템 및 그 방법에 따르면 다음과 같은 효과가 하나 혹은 그 이상 있다.
SyncML을 기반으로 동기화하는 장치들이 상대방에 대한 디스커버리 과정을 처리하는데 있어, 사용자의 개입 없이 동기화 절차 상의 장치 발견 과정의 효율성을 극대화하는 장점이 있다.
또한, 특정 네트워크에 연결 되어 있는 임의의 동기화 대상 장치들의 IP가 변경되더라도, 사용자의 개입 없이 장치들 사이의 디스커버리 과정을 통해 장치를 발견할 수 있는 장점이 있다.
또한, SyncML 서버의 알림 메시지(Pkg #0) 없이, SyncML 클라이언트가 SyncML 서버의 존재를 먼저 인식하여 동기화 요청을 수행할 수 있는 장점이 있다.

Claims (14)

  1. 소정 데이터의 동기화를 위한 데이터 동기화 프로토콜을 구현하는 SyncML 서버;
    상기 SyncML 서버를 관리하고 SyncML 클라이언트 어플리케이션과 데이터 동기화를 통신하는 SyncML 서버 에이전트; 및
    상기 데이터 동기화를 수행하기 전에 동기화할 SyncML 클라이언트를 검색하는 디스커버리 에이전트를 포함하는, 네트워크에서 디스커버리를 수행하는 서버.
  2. 제 1항에 있어서,
    상기 디스커버리 에이전트는,
    상기 SyncML 클라이언트로부터 전송된 통지 메시지 및 디스크립션을 수신하는 메시지 수신부;
    상기 SyncML 클라이언트로 멀티캐스트 서치 메시지를 전송하는 메시지 전송부;
    상기 수신된 SyncML 디스크립션을 어플리케이션에 제공하는 SyncML 어플리케이션 관리부; 및
    상기 SyncML 클라이언트로부터 전송된 디스크립션을 저장하는 디스크립션 저장부를 포함하는, 네트워크에서 디스커버리를 수행하는 서버.
  3. 제 1항에 있어서,
    상기 디스크립션에는 동기화 정보가 기록된, 네트워크에서 디스커버리를 수행하는 서버.
  4. SyncML 서버 어플리케이션과 데이터 동기화를 통신하는 SyncML 클라이언트 에이전트; 및
    상기 SyncML 서버와 데이터 동기화를 수행하기 위해 상기 SyncML 서버를 검색하는 디스커버리 에이전트를 포함하는, 네트워크에서 디스커버리를 수행하는 클라이언트.
  5. 제 4항에 있어서,
    상기 디스커버리 에이전트는,
    상기 SyncML 서버로부터 전송된 멀티캐스트 서치 메시지 및 디스크립션 요청 메시지를 수신하는 메시지 수신부;
    상기 SyncML 서버로 통지 메시지를 전송하는 메시지 전송부;
    상기 디스크립션 요청에 따라 디스크립션을 추출하여 어플리케이션에 제공하는 SyncML 어플리케이션 관리부; 및
    자신의 디스크립션을 저장하는 디스크립션 저장부를 포함하는, 네트워크에서 디스커버리를 수행하는 클라이언트.
  6. 제 4항에 있어서,
    상기 디스크립션에는 동기화 정보가 기록된, 네트워크에서 디스커버리를 수행하는 클라이언트.
  7. SyncML 서버 및 SyncML 클라이언트로 구성된 시스템에 있어서,
    상기 SyncML 클라이언트로 멀티캐스트 서치 메시지를 전송하여 네트워크 상에 존재하는 SyncML 클라이언트를 검색하고, 상기 검색된 SyncML 클라이언트와 데이터 동기화를 수행하는 SyncML 서버; 및
    상기 SyncML 서버에 통지 메시지를 전송하여 네트워크 상에 존재함을 알리고, 상기 SyncML 서버와 동기화를 수행하는 SyncML 클라이언트를 포함하는, 네트워크에서 디스커버리를 수행하는 시스템.
  8. 제 7항에 있어서,
    상기 SyncML 서버는,
    상기 SyncML 클라이언트로부터 전송된 통지 메시지 및 디스크립션을 수신하는 메시지 수신부;
    상기 SyncML 클라이언트로 멀티캐스트 서치 메시지를 전송하는 메시지 전송부;
    상기 수신된 SyncML 디스크립션을 어플리케이션에 제공하는 SyncML 어플리케이션 관리부; 및
    상기 SyncML 클라이언트로부터 전송된 디스크립션을 저장하는 디스크립션 저장부로 구성된 디스커버리 에이전트를 포함하는, 네트워크에서 디스커버리를 수행하는 시스템.
  9. 제 8항에 있어서,
    상기 디스크립션에는 동기화 정보가 기록된, 네트워크에서 디스커버리를 수행하는 시스템.
  10. 제 7항에 있어서,
    상기 SyncML 클라이언트는,
    상기 SyncML 서버로부터 전송된 멀티캐스트 서치 메시지 및 디스크립션 요청 메시지를 수신하는 메시지 수신부;
    상기 SyncML 서버로 통지 메시지를 전송하는 메시지 전송부;
    상기 디스크립션 요청에 따라 디스크립션을 추출하여 어플리케이션에 제공하는 SyncML 어플리케이션 관리부; 및
    자신의 디스크립션을 저장하는 디스크립션 저장부로 구성된 디스커버리 에이전트를 포함하는, 네트워크에서 디스커버리를 수행하는 시스템.
  11. SyncML 서버가 SyncML 클라이언트를 검색 및 동기화하는 방법에 있어서,
    멀티캐스트 서치 메시지를 전송하여 네트워크 상에 존재하는 SyncML 클라이 언트를 검색하는 단계;
    상기 검색된 SyncML 클라이언트에게 디스크립션을 요청하는 단계;
    상기 요청에 따라 수신된 디스크립션을 기초로 동기화할 SyncML 클라이언트를 추출하는 단계; 및
    상기 추출된 SyncML 클라이언트와 동기화를 수행하는 단계를 포함하는, 네트워크에서 디스커버리를 수행하는 방법.
  12. 제 11항에 있어서,
    상기 디스크립션에는 동기화 정보가 기록된, 네트워크에서 디스커버리를 수행하는 방법.
  13. SyncML 클라이언트가 SyncML 서버에게 자신의 존재를 알리는 방법에 있어서,
    상기 SyncML 서버로 통지 메시지를 전송하여 자신이 네트워크 상에 존재함을 알리는 단계;
    상기 SyncML 서버에게 디스크립션을 전송하는 단계; 및
    상기 SyncML 서버와 동기화를 수행하는 단계를 포함하는, 네트워크에서 디스커버리를 수행하는 방법.
  14. 제 13항에 있어서,
    상기 디스크립션에는 동기화 정보가 기록된, 네트워크에서 디스커버리를 수 행하는 방법.
KR1020060119306A 2006-04-19 2006-11-29 네트워크에서 디스커버리를 수행하는 장치, 시스템 및 그방법 KR100772879B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US11/727,252 US8521911B2 (en) 2006-04-19 2007-03-26 Apparatus, system and method for executing discovery in network
CN2007800139559A CN101427519B (zh) 2006-04-19 2007-04-13 用于在网络中执行发现的设备、系统和方法
JP2009506407A JP4886027B2 (ja) 2006-04-19 2007-04-13 ネットワークでディスカバリーを実行する装置、システムおよびその方法
EP07745954A EP2014022B1 (en) 2006-04-19 2007-04-13 Apparatus, system and method for executing discovery in network
PCT/KR2007/001791 WO2007119968A1 (en) 2006-04-19 2007-04-13 Apparatus, system and method for executing discovery in network

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US79297406P 2006-04-19 2006-04-19
US60/792,974 2006-04-19

Publications (2)

Publication Number Publication Date
KR20070103668A KR20070103668A (ko) 2007-10-24
KR100772879B1 true KR100772879B1 (ko) 2007-11-02

Family

ID=38817969

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060119306A KR100772879B1 (ko) 2006-04-19 2006-11-29 네트워크에서 디스커버리를 수행하는 장치, 시스템 및 그방법

Country Status (6)

Country Link
US (1) US8521911B2 (ko)
EP (1) EP2014022B1 (ko)
JP (1) JP4886027B2 (ko)
KR (1) KR100772879B1 (ko)
CN (1) CN101427519B (ko)
WO (1) WO2007119968A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070180127A1 (en) 2003-11-11 2007-08-02 Nokia Corporation Preconfigured syncml profile categories
WO2010057514A1 (en) * 2008-11-24 2010-05-27 Nokia Siemens Networks Oy Backup-safe multi-device communication
KR101547552B1 (ko) 2008-11-26 2015-08-26 삼성전자주식회사 이동단말과 인터넷전화기 간의 데이터 동기화 방법 및 시스템
KR101698274B1 (ko) 2015-09-03 2017-02-01 엘에스산전 주식회사 에너지 관리 시스템 및 그의 데이터 동기화 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030068237A (ko) * 2002-02-14 2003-08-21 삼성전자주식회사 클라이언트/서버 시스템의 클라이언트간의 동기화 방법
US20030212826A1 (en) 2002-04-15 2003-11-13 Nokia Corporation Method and device for handling synchronization related information
US20040205263A1 (en) 2002-09-03 2004-10-14 Nokia Corporation Method, device and system for synchronizing of data providing for the handling of an interrupted synchronization process
US20050125459A1 (en) 2001-04-25 2005-06-09 Ari Sutinen Synchronization of database data
US20050165947A1 (en) 2003-12-29 2005-07-28 Auriemma Stephen T. System and method for optimizing synchronization
KR20050096077A (ko) * 2004-03-29 2005-10-05 삼성전자주식회사 서버 주도형 클라이언트 동기화 방법

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6977917B2 (en) * 2000-03-10 2005-12-20 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for mapping an IP address to an MSISDN number within a service network
FI113129B (fi) * 2001-03-26 2004-02-27 Nokia Corp Sovellusdatan synkronointi tietoliikennejärjestelmässä
JP2003099341A (ja) * 2001-09-20 2003-04-04 Canon Inc ネットワークデバイス管理装置、管理システム及び管理方法、並びにネットワークデバイス
US6920486B2 (en) * 2002-05-20 2005-07-19 Nokia Corporation Method and apparatus for enabling synchronizing data in different devices having different capabilities and unmatched data fields
US20040075675A1 (en) * 2002-10-17 2004-04-22 Tommi Raivisto Apparatus and method for accessing services via a mobile terminal
FI114245B (fi) * 2002-11-13 2004-09-15 Nokia Corp Synkronointi-istunnon järjestäminen
US20040139180A1 (en) * 2003-01-10 2004-07-15 Sony Corporation Automobile media synchronization
US7768234B2 (en) * 2004-02-28 2010-08-03 Janik Craig M System and method for automatically synchronizing and acquiring content for battery powered devices
US7685288B2 (en) * 2003-06-30 2010-03-23 Microsoft Corporation Ad-hoc service discovery protocol
US20050055352A1 (en) * 2003-09-08 2005-03-10 Sony Corporation Content directory and synchronization bridge
US7689713B2 (en) * 2006-01-23 2010-03-30 Funambol, Inc. System operator independent server alerted synchronization system and methods

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050125459A1 (en) 2001-04-25 2005-06-09 Ari Sutinen Synchronization of database data
KR20030068237A (ko) * 2002-02-14 2003-08-21 삼성전자주식회사 클라이언트/서버 시스템의 클라이언트간의 동기화 방법
US20030212826A1 (en) 2002-04-15 2003-11-13 Nokia Corporation Method and device for handling synchronization related information
US20040205263A1 (en) 2002-09-03 2004-10-14 Nokia Corporation Method, device and system for synchronizing of data providing for the handling of an interrupted synchronization process
US20050165947A1 (en) 2003-12-29 2005-07-28 Auriemma Stephen T. System and method for optimizing synchronization
KR20050096077A (ko) * 2004-03-29 2005-10-05 삼성전자주식회사 서버 주도형 클라이언트 동기화 방법

Also Published As

Publication number Publication date
JP2009533994A (ja) 2009-09-17
US20070250607A1 (en) 2007-10-25
WO2007119968A1 (en) 2007-10-25
CN101427519A (zh) 2009-05-06
EP2014022A1 (en) 2009-01-14
KR20070103668A (ko) 2007-10-24
EP2014022A4 (en) 2009-11-04
EP2014022B1 (en) 2011-06-22
US8521911B2 (en) 2013-08-27
JP4886027B2 (ja) 2012-02-29
CN101427519B (zh) 2012-04-18

Similar Documents

Publication Publication Date Title
JP6751094B2 (ja) 無線通信をサポートする方法、機器およびシステム
EP2151095B1 (en) Method and apparatus for discovering universal plug and play device using resource information
CN111405042B (zh) 一种电子设备的发现方法、装置、存储介质和电子装置
JP2004362594A (ja) 外部ネットワークデバイスを自動的に発見および構成する方法
US9893909B2 (en) Method and system for allowing remote access device to access remote access target device within home network
KR101531532B1 (ko) 원격 접속에 기초해 홈 네트워크 디바이스의 서비스를 이용하는 방법 및 장치
US20150052235A1 (en) Information processing apparatus and method for controlling the same
KR100772879B1 (ko) 네트워크에서 디스커버리를 수행하는 장치, 시스템 및 그방법
KR20050040166A (ko) 홈 네트워크의 장치를 제어하는 프록시 장치 및 그 방법
CN113079156A (zh) 一种内外网信息交互系统
JP2009151560A (ja) リソースの管理方法、情報処理システム、情報処理装置、及びプログラム
JP2004320741A (ja) 個別に独立して存在するネットワークを接続する装置及び方法
US20090240815A1 (en) Upnp apparatus and method for providing remote access service
WO2021237527A1 (zh) 信息处理方法及装置、设备、计算机存储介质
KR100597405B1 (ko) 소켓 어플리케이션 프로그램을 이용한 데이터 중계 시스템및 데이터 중계 방법
US20100049804A1 (en) Instant Messaging
US20110208851A1 (en) System and method for data storage, such as discovery and marking ownership of network storage devices
JP2013123126A (ja) Dlna対応機器およびその探索方法
KR100654464B1 (ko) 네트워크 상에 존재하는 호스트들 간의 정보를 공유하는장치 및 그 방법
KR20050046998A (ko) 홈 네트워크 내의 디바이스 원격 제어 방법 및 시스템
KR101189805B1 (ko) 무선 주파수 식별 태그 리더의 인식 방법 및 그 장치
CN103973460A (zh) 用于实现网络意图的方法及装置
KR20040110942A (ko) 홈 네트워크 식별 정보 관리 방법 및 시스템
JP2008226039A (ja) インターネットストレージネームサービス(iSNS)方法及びサーバ及びプログラム
JP2012018488A (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: 20120927

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130927

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140929

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150925

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160929

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170927

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180921

Year of fee payment: 12