특허권

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

상품번호 2019071503540427
IPC 한국(KO) 등록
출원번호 1020060119306
공개번호 10-2007-0103668
등록번호 1007728790000
출원인 삼성전자주식회사
판매가 0원
 

꼭 읽어보세요!

기술거래는 양방향 경매방식으로 이루어집니다.

기술을 매수한 당사자는 거래금액의 전부 혹은 10퍼센트(%)를 당일 본원에 입금하여야 하며, 10% 나머지 잔금은 거래일로부터 2일 이내(거래일 익일)에 납부하여야 합니다. 만약 위 지정 기간내에 매수자가 입금하지 않으면 거래는 무효가 되며, 잔금도 기한내에 입금되지 않으면 매도자로 귀속됩니다. 이는 매도자의 기한의 이익상실을 보장함 입니다.

기술거래의 수수료는 기술의 이전 및 사업화 촉진에 관한 법률 시행규칙 산업통상자원부령 제48호 의거 기술이전 금액의 13퍼센트∼기술이전 금액의 17.5퍼센트로 되어있지만, 본 거래사이트에서는 매도‧매수인 각각 10%로 합니다.
이때 매수인의 매수금액(당사로 입금되는 금액)에서 수수료 각각10% 인 20%를 공제한 후 매도인에게 계좌이체를 하여야 합니다.
또한 권리이전(특허)비용은 기술양수인(매수자)부담이며 그 비용은 별도입니다.

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

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

등록된 상품문의

  • 상품문의가 없습니다.

등록된 사용후기

  • 사용후기가 없습니다.