이번 시간에는 ...

17
한한한한한한한한한 한한한 한한한한 한한 한한 한한한 한한한 한한한 한한한 31. 한한한 한한 한한한한 - III SyncML 이이 이이이이 ... 이이 이이이이 이이이 이이 이이이이이 이이이 이이이이 , VoIP 이이이 이이 이 이이 이 H.323 이이 이이이이이 SIP 이 이이 , SIP 이이 이이 , SIP 이이 이 이이이 , 이이이 SIP 이 이이이 이이이이 이이 이이이이이이이 . 이이 이이이이 이이이 이이 이이이이 , 이 이이이 이이이이 SyncML 이 이이이 이이이 이이이 이이이이이 .

description

이번 시간에는. 지난 시간에는 모바일 응용 프로토콜의 두번째 시간으로 , VoIP 정의와 특징 및 구성 및 H.323 표준 프로토콜과 SIP 의 특징 , SIP 통신 방식 , SIP 구성 및 플로우 , 그리고 SIP 로 가능한 서비스에 대해 알아보았습니다 . 이번 시간에는 모바일 응용 프로토콜 , 그 세번째 시간으로 SyncML 에 대하여 학습해 보도록 하겠습니다. 학습 목표. 31 회차 강의에서 다루게 되는 내용은 다음과 같습니다. 모바일 응용 프로토콜 – III SyncML. - PowerPoint PPT Presentation

Transcript of 이번 시간에는 ...

Page 1: 이번 시간에는 ...

한국산업기술대학교 온라인 기술교육 교재 개발

차세대 모바일 디지털 컨텐츠31. 모바일 응용 프로토콜 - III

SyncML 이번 시간에는 ...

지난 시간에는 모바일 응용 프로토콜의 두번째 시간으로 , VoIP 정의와 특징 및 구성 및 H.323

표준 프로토콜과 SIP 의 특징 , SIP 통신 방식 , SIP 구성 및 플로우 , 그리고 SIP 로 가능한

서비스에 대해 알아보았습니다 .

이번 시간에는 모바일 응용 프로토콜 , 그 세번째 시간으로 SyncML 에 대하여 학습해 보도록

하겠습니다 .

Page 2: 이번 시간에는 ...

한국산업기술대학교 온라인 기술교육 교재 개발

차세대 모바일 디지털 컨텐츠31. 모바일 응용 프로토콜 - III

SyncML 학습 목표

1) 데이터 동기화 및 SyncML 동기화 프로토콜에 대해 알 수 있다 .

2) SyncML 의 동기화에 사용하는 메시지 구조 상호 운용 방식인 XML Representatio

n 에 대해 알 수 있다 .

3) SyncML 의 동기화에 사용하는 프로세서 상호 운용 방식인 SynML Sync

프로토콜에 대해 알 수 있다 .

4) SyncML 의 서버와 클라이언트 구성 예에 대해 알 수 있다 .

이번 장의 학습 목표

31 회차 강의에서 다루게 되는 내용은 다음과 같습니다 .

모바일 응용 프로토콜 – IIISyncML

Page 3: 이번 시간에는 ...

한국산업기술대학교 온라인 기술교육 교재 개발

차세대 모바일 디지털 컨텐츠31. 모바일 응용 프로토콜 - III

SyncML 데이터 동기화 데이터 동기화 란 ?

네트워크에 존재하는 둘 이상의 논리적 장치간 특정 데이터를 일치시켜주는 기술 Local : 시리얼 포트 , USB, IrDA( 적외선 ), SISC, Fibre Channel 등

Remote : HTTP, TCP/IP, WSP, NAS( 분산 스토리지 표준 ) 등

데이터 동기화 필드 활용 PDA OS : Active Sync (MS), Hot Sync (Plam)

DB : DB2 Anywhere (IBM), Oracle Lite (Oracle)

Device 제조사 : DataSync2000 ( 삼성 )

Web 포탈 : 각종 PIMS Service ( 한미르 , 라이코스 , MSDN 등 )

Enterprise Data : DR 시스템 , 자동 프로그램 배포프로그램

동기화 대상이 되는 데이터 PIMS : Mobile Device 의 개인정보로 대표되는 일정 , 주소록 , 메일 , 쪽지등

핸드폰 /PDA : 각종 설치파일 , 이모티콘등

DB : Table, DML, User 권한

백업과의 차이점 백업 : 한쪽에 존재하는 블록 데이터를 목적지 장치에 일괄 복사 ( 덮어쓰기 미러링 )

동기화 : 동기화 모드에 따라 원시 데이터와 목적 데이타간의 데이터 일치

Two-way : 서로간 변경된 데이터를 상대방 데이터에 반영

One-way : 백업과 같은 방식 , 한쪽의 데이터 변경을 다른 한쪽에 반영하는 방식

관련기술 데이터 핸들링기술 (File, DBMS, Memory 등 )

네트워킹 핸들링 기술 (Socket, Send/Receive Stream, 3(4)-Tier 핸들링 )

메시지 핸들링 기술 ( 메시지 ENC/DEC)

장애및 오류제어 기술 ( 분산환경에러 , DB 핸들링에러 – Rollback, re-Try, Log save)

데이터 일치성보장 기술

Page 4: 이번 시간에는 ...

한국산업기술대학교 온라인 기술교육 교재 개발

차세대 모바일 디지털 컨텐츠31. 모바일 응용 프로토콜 - III

SyncML 데이터 동기화 모바일 업계의 SyncML 등장

데이터 동기화 – 모바일 디바이스에 쏟아지는 관심

일반 개인 사용자의 PDA 보유율이 높음

이동성 / 휴대성이 높은 PDA 를 기업에서 활발히 도입 ( 기업용 모바일 오피스 )

휴대폰의 컴퓨팅 기능 발전 핸드폰이 일정 정도 데이터 리소스 보유 디바이스로 변신

다중 장치간 데이터 동기화 요구 폭증

개인 PC/PDA/ 핸드폰 / 웹 PIMS 서비스 간 동기화 요구

특히 활용도가 높은 PIMS 정보를 중심으로 벤더사 개발 툴킷 발표

Active Sync SDK, HotSync Coduit SDK, 심비안 SDK 등

대부분의 모바일 벤더가 ‘자사표준’의 스펙으로 구현

벤더 표준 동기화 문제점 발생

타사 동기화 엔진과는 호환이 안됨

PIMS 서비스 업체 입장에서는 자사 동기화 엔진을 모바일 디바이스에 설치해야 하는 부담

대부분 Local 네트워크 동기화 방식 (PC 와 PDA/ 휴대폰간 동기화 ) 에 의존

PIMS 이외의 애플리케이션에 활용 불가능

기존 벤더 표준의 토양 위에서 새로운 ‘상호 운용성이 보장되는 동기화 표준’ 요구

자사표준 산업계표준

SyncML.org

Page 5: 이번 시간에는 ...

한국산업기술대학교 온라인 기술교육 교재 개발

차세대 모바일 디지털 컨텐츠31. 모바일 응용 프로토콜 - III

SyncML

- 1 개의 스팩으로 구성- 데이터 동기화에 대한 기본 규칙 ( 처리 프로세서 ) 을 정의 동기모드별 교환 Command 명시 (7 가지 타입 ) 에러발생시 처리개념 , 인증 처리 명시 Anchor, Changelog, Map Table 개념 명시 라우팅 (Device, DB) 개념 설명- 최소한의 동기화 운영 규칙 상호운영성 확보

- 3 개의 스팩으로 구성 (HTTP, WSP, OBEX)- 프로토콜 스트럭쳐의 세팅값 설명- 프로토콜 스트럭쳐의 처리를 위한 프로세서 설명- 메시지 수신 및 송신을 위한 상호운용성 확보

- XML base 3 개의 스팩으로 구성 SyncML Representation, Meta Info, Device Info- SyncML 메시지의 Elements 설명 Command, 컨테이너 / 컨테인드 설명 각 엘리먼트 값의 의미 설명 MetaInfo : Data String 을 인식하기 위한 방법을 표준화 , Anchor Device Info : 리소스정보 , DB 메타정보- 동기화 메시지의 상호운용성 확보

PIMS

DB

File

- 동기화 데이터 인식 ( 고민의 원천 !!!) 을 위해 존재- SyncML 은 기본적으로 PIMS 데이터의 상호운용성을 확보해줌 vCard, vCalandar 등의 외부 스팩을 통해 공통 데이터 ENC/DEC 이외의 다른 데이터 포멧은 <Meta> 엘리먼트를 이용해 기술 ( 단지 기술일뿐 상대방인 인식 (!) 할수 있다는 보장은 없음 )

Transport Binding

SyncML Protocol

XML Representation

Content

SyncML 스펙카테고리

SyncML 스펙카테고리

SyncML 동기화 프로토콜 SyncML 스팩 Review

SyncML 동기화 마크업 언어 (Synchronization Makrup Language)

Page 6: 이번 시간에는 ...

한국산업기술대학교 온라인 기술교육 교재 개발

차세대 모바일 디지털 컨텐츠31. 모바일 응용 프로토콜 - III

SyncML SyncML 동기화 프로토콜 SyncML Architecture

SyncML 구조 상호 운용성 점검

모바일 기기에 SyncML 클라이언트 Module 과 SyncML 애플리케이션 서버간 통신

일반 Transport Layer ( 예 : WAP 의 WSP, 유선 웹의 HTTP) 위에 SyncML 프로토콜 스택 구현

SyncML

Protocol

Transport Binding

XMLRepresentation

Page 7: 이번 시간에는 ...

한국산업기술대학교 온라인 기술교육 교재 개발

차세대 모바일 디지털 컨텐츠31. 모바일 응용 프로토콜 - III

SyncML 메시지 구조 상호운용성 – XML Representation

SyncML Representation Protocol Spec.

SyncML 메시지 자체의 구조와 각 요소가 가지는 값의 의미를 설명

SyncML 메시지 구성요소

메시지와 패키지로 구성 하나의 SyncML 세션은 다수의 패키지로 이루어지고 하나의 패키지는 하나 이상의 메시지로 존재

SyncML Header 동기화 상대방의 Device 정보 (Device 라우팅 정보 ) 를 담고 있음 : 인증에 관련된 정보와 SyncML 버전 정보 , Session 및 Message ID 에 대한 정보

SyncML Body 각 패키지 마다 다수의 Command 를 담는 컨테이너

SyncML Command

데이터 조작의 단위가 되는 Command 단일 Command 안에는 다수의 Item 이 존재해 다수의 레코드 처리가 가능

중요 Command

라우팅 정보의 역활

어느 장치 ?

SyncHeader/locURI 주소록어떤 데이터 ?

Sync/locURI Pkey:3어떤레코드 ?

Item/locURI

Page 8: 이번 시간에는 ...

한국산업기술대학교 온라인 기술교육 교재 개발

차세대 모바일 디지털 컨텐츠31. 모바일 응용 프로토콜 - III

SyncML 메시지 구조 상호운용성 – XML Representation SyncML Meta Information Spec.

동기화 메시지가 아닌 동기화에 사용되는 ‘ Data’ 에 관심

SyncML Message 의 개별 요소로 사용 , 해당 ‘ Data’ 를 식별 (!) 할수 있는 공통의 스트럭쳐를 포함

SyncML 동기화 데이터 예

동기화 데이터는 Item 엘리먼트에 String 으로 캡슐화<Item><Source>…<Data>PIMS 데이터들 </Data></Item>----------------------------------------------------SyncML 메시지 실 예<Item> <Source>1</Source> <Data> 한국싱크엠엘 3456-7890 서울시 서초구… </Data></Item>

한국 싱크엠엘 솔루션 3456-7890 서울시 서초구 …1 …

데이터Pkey

스트링으로 Formatting 한 결과

한국 , 싱크엠엘 , 솔루션 ,3460-0772, 서울시 서초한국 / 싱크엠엘 / 솔루션 /3460-0772/ 서울시 서초<name> 한국 </name><company name> 싱크엠엘</name>; 한국 ,companyname; 싱크엠엘…

다양한 포맷이 존재( 서로 다른 포맷을 적용한

Application 간의 동기화 불가능 )

String 으로 만들 때 Formatting 에 사용된 메타 데이터 (DTD) 식별 필요String 으로 만들 때 Formatting 에 사용된 메타 데이터 (DTD) 식별 필요

Meta Information SpecMeta Information Spec 의 메타 데이터 식별 기능의 메타 데이터 식별 기능

Page 9: 이번 시간에는 ...

한국산업기술대학교 온라인 기술교육 교재 개발

차세대 모바일 디지털 컨텐츠31. 모바일 응용 프로토콜 - III

SyncML 메시지 구조 상호운용성 – XML Representation

SyncML Device Information Spec.

동기화에 참여하는 서로간 장치 정보의 교환

Man, Mod, OEM, DevType 등

예 : <Man>HIS, Ltd.</Man><FwV>2.1a</FwV><DevTyp>PDA Type A</DevTyp>..

데이터 Formatting 방식 결정

DataStore, RX, TX 등

예 <DataStore>..<CTType>text/x-vard</CTType><VerCT>2.1</VerCT>.. </DataStore>

메타 데이터 필드 결정

장치와 리소스 제한에 따라 vCard (DTD) 를 구성하는 모든 엘리먼트를 사용하지 않음

현실적으로도 각 벤더사 마다 서로 다른 Table 구조를 가지고 있음

비슷하기는 하지만 동일 (!) 한 것은 아님 .

Client 가 Server 측 장치로 동기화에 사용되는 Formatting 필드를 명시해서 전달

이름 회사명 전화번호 1 전화번호 2 FAX 번호1 …

Server 측 스키마Pkey

고객명 직장명 핸드폰번호1

Client 측 스키마

각 장치간 메타데이터가

다름 vCard( 데이터 포멧 스키마 ) 필드

전화번호 1 FAX 번호 …

Page 10: 이번 시간에는 ...

한국산업기술대학교 온라인 기술교육 교재 개발

차세대 모바일 디지털 컨텐츠31. 모바일 응용 프로토콜 - III

SyncML 메시지 프로세서 상호운용성 – SyncML Sync Protocol SyncML Sync Protocol Spec.

SyncML 내부 동작을 위해 사용되는 정보 , 인증 , 동기화 방법에 대한 표준

Sync Client / Sync Server 로 구성되며 클라이언트 서버간 ChangeLog, Anchor, Map Table 을 이용하여 동기화 최초 동기화 메시지를 보내는 쪽이 Sync Client (Pkg#1)

ChangeLog

ChangeLog 은 데이터의 변경에 대한 사항을 기록 향후 동기화 할 때 동기화된 데이터인지 아직 하지 않아서 이번에 동기화 해야 할 데이터인지를 판단하는 판단 근거

구현 방법

Dirty bits : 변경된 데이터에 더티 비트 세팅 , 동기화 이후 Clear

N:M 싱크 불가능 , 단일 장치와 동기화 할 경우 사용

Change time : 데이터 변경 시간을 기록 , 동기화 시간 이후 변경된 데이터만을 동기화

컴퓨터의 시간을 변경하는 경우 데이터 정합성 보장 못함

Change Counter : 변경시마다 변경 카운터를 1 씩 증가 , 동기화 카운터 이후 변경된 데이터만을 동기화

카운터를 얻기 위한 카운터 분배기 /Data Lock 개념 구현 어려움

UID Data ChangeTime

1 Mis. Ha 20000521T081812Z

2 Mr. Kim 20000521T121300Z

3 'deleted' 20000522T093232Z

4 Mr. Lee 20000522T131212Z

UID Data

1 Mis. Ha

2 Mr. Kim

3 'deleted'

4 Mr. Lee

UID Type Change Counter

1 U 12

2 U 13

3 D 14

4 U 15

Dirty bits Change Time Change Counter

Page 11: 이번 시간에는 ...

한국산업기술대학교 온라인 기술교육 교재 개발

차세대 모바일 디지털 컨텐츠31. 모바일 응용 프로토콜 - III

SyncML

동기화 전 / 후

update

Insert

SyncML Sync Protocol Spec. Anchor SyncML 동기화 때 처음 오가는 메시지 (Alert Command) 에 Anchor 정보 탑재하여 교환 Anch

or 를 쉽게 표현하여 ‘암호 맞추기’

Map Table 동기화할 데이터의 식별자가 동일하지 않을 경우 필요 , 서버 쪽에 존재하여 서버 (GUID)와 클라이언트 (LUID) 간 식별자를 매핑시켜주는 매핑 테이블

SyncML Sync 동기화 시나리오

메시지 프로세서 상호운용성 – SyncML Sync Protocol

Page 12: 이번 시간에는 ...

한국산업기술대학교 온라인 기술교육 교재 개발

차세대 모바일 디지털 컨텐츠31. 모바일 응용 프로토콜 - III

SyncML

SyncML Sync Protocol Spec. 동기화 타입 Two-Way Sync

자신의 데이터 변경을 상대방에게 적용하는 타입

클라이언트 , 서버가 서로의 데이터 사항을 메시지로 전송

충돌 문제 발생

서버와 클라이언트가 동일한 데이터의 추가 / 변경을 요구하는 경우 발생하며 , 정책 설정을 통한 ‘ Win 정책’ 필요

가장 일반적이며 다른 동기화 타입 (One-Way from ** Only) 은 Two-way Sync 의 서브셋

Slow Sync

Two-Way Sync 시 Achor 불일치 , 기타 내부정보의 손상으로 동기화 초기화가 필요할때 발생

클라이언트의 모든 정보를 서버쪽에서 ‘ Field-by-Field’ 검토하여 동일하지 않은 부분을 검토 따라서 엄청난 시간과 자원이 소모

오류시 일어나는 다른 동기화 타입 (Refresh Sync From ** Only) 은 Slow Sync 의 서브셋

One-Way Sync from Server/Client Only

단방향 동기화

Refresh Sync from Server/Client Only

One-Way Sync from Server/Client Only 시 Achor 불일치 , 기타 내부정보의 손상으로 동기화 , 초기화가 필요할때 발생

Server Alerted Sync

7 가지 동기화 타입중 Server 가 Client 에게 최초 메시지를 보내는 동기화 타입

서버가 클라이언트에게 ‘어떤 정보’를 알람

사용 예 : 서버가 자신과 관련된 모든 클라이언트에게 특정 동기화 타입으로 동기화 하자고 할 때

메시지 프로세서 상호운용성 – SyncML Sync Protocol

Page 13: 이번 시간에는 ...

한국산업기술대학교 온라인 기술교육 교재 개발

차세대 모바일 디지털 컨텐츠31. 모바일 응용 프로토콜 - III

SyncML

SyncML Impl.SyncML Impl.

RDBMS

Server

SyncML Impl.SyncML Impl.

Client 1

SyncML Impl.SyncML Impl.

Client 2

Two-Way 싱크 (HTTP)

DesktopPC

임베디드DB

PDA 핸드폰

RMS

Two-Way 싱크 (TCP/IP.. 아직 스펙 없음 )

SyncML 구현 예 SyncML 시스템 구성

HTTP 를 이용한 Two-Way 싱크 및 TCP/IP 방식 싱크 구현 가능

Page 14: 이번 시간에는 ...

한국산업기술대학교 온라인 기술교육 교재 개발

차세대 모바일 디지털 컨텐츠31. 모바일 응용 프로토콜 - III

SyncML SyncML 구현 예 SyncML 소프트웨어 구성

휴대폰 단말기 내 , VM 애플리케이션으로 구현 가능

Page 15: 이번 시간에는 ...

한국산업기술대학교 온라인 기술교육 교재 개발

차세대 모바일 디지털 컨텐츠31. 모바일 응용 프로토콜 - III

SyncML 요약 정리

1) 데이터 동기화 및 SyncML 동기화 프로토콜에 대해 알아보았습니다 .

2) SyncML 의 동기화에 사용하는 메시지 구조 상호 운용 방식인 XML Representatio

n 에 대해 알아보았습니다 .

3) SyncML 의 동기화에 사용하는 프로세서 상호 운용 방식인 SynML Sync

프로토콜에 대해 알아보았습니다 .

4) SyncML 의 서버와 클라이언트 구성에 대해 알아보았습니다 .

이번 시간에 소개했던 내용을 정리해 봅시다 .

다음 시간에는 모바일 보안 기술에 대하여 학습하시게 될 것입니다 .

Page 16: 이번 시간에는 ...

한국산업기술대학교 온라인 기술교육 교재 개발

차세대 모바일 디지털 컨텐츠31. 모바일 응용 프로토콜 - III

SyncML 평가 하기

문제 1 SyncML 데이터 동기화에 대해 말해 보시오

정답은 다음과 같습니다 .

네트워크 상에 존재하는 다른 두개 이상의 기기간 특정 데이터 일치를 위한 Markup 언어 기반 모바일 동기화 기술

해설내용 : SyncML 은 네트워크 상에 존재하는 둘 이상의 기기에 저장된 특정 데이터를 일치시켜주는 기술로 , Synchronization Markup Language 입니다 .

정답은 다음과 같습니다 .

네트워크 상에 존재하는 다른 두개 이상의 기기간 특정 데이터 일치를 위한 Markup 언어 기반 모바일 동기화 기술

해설내용 : SyncML 은 네트워크 상에 존재하는 둘 이상의 기기에 저장된 특정 데이터를 일치시켜주는 기술로 , Synchronization Markup Language 입니다 .

문제 2 SyncML 을 구성하는 세가지 컴포넌트는 무엇입니까 ?

정답은 다음과 같습니다 .

SyncML Protocol, XML Representation, Transport Binding XML Representation

해설내용 : SyncML 의 구조는 상호 운용성 점검을 위한 SyncML Protocol, Transport Binding, XML Representation 컴포넌트로 구성됩니다 .

정답은 다음과 같습니다 .

SyncML Protocol, XML Representation, Transport Binding XML Representation

해설내용 : SyncML 의 구조는 상호 운용성 점검을 위한 SyncML Protocol, Transport Binding, XML Representation 컴포넌트로 구성됩니다 .

Page 17: 이번 시간에는 ...

한국산업기술대학교 온라인 기술교육 교재 개발

차세대 모바일 디지털 컨텐츠31. 모바일 응용 프로토콜 - III

SyncML 평가 하기

문제 3 SyncML 로 수행할 수 있는 동기화 타입을 말해 보시오

정답은 다음과 같습니다 .

Two-Way Sync, Slow Sync, One-Way Sync from Server/Client Only, Refresh Sync from Server/Client Only, One-Way Sync from Server/Client Only, Server Alerted Sync

해설내용 : SyncML 동기화 타입에는 클라이언트 서버간 데이터 변경 사항에 대한 동기화를 맞추는 Two-Way 동기화 ,

내부 정보 손상으로 동기화 초기화가 필요할 때 사용하는 Slow 동기화 , 클라이언트 서버간 동기화를 수행할 한쪽의 데이터를 무시하고 다른 한쪽의 데이터로만 업데이트하는 One-Way 동기화 ,

데이터 초기화를 위한 Refresh 동기화 , 그리고 Alerted Sync 가 있습니다 .

정답은 다음과 같습니다 .

Two-Way Sync, Slow Sync, One-Way Sync from Server/Client Only, Refresh Sync from Server/Client Only, One-Way Sync from Server/Client Only, Server Alerted Sync

해설내용 : SyncML 동기화 타입에는 클라이언트 서버간 데이터 변경 사항에 대한 동기화를 맞추는 Two-Way 동기화 ,

내부 정보 손상으로 동기화 초기화가 필요할 때 사용하는 Slow 동기화 , 클라이언트 서버간 동기화를 수행할 한쪽의 데이터를 무시하고 다른 한쪽의 데이터로만 업데이트하는 One-Way 동기화 ,

데이터 초기화를 위한 Refresh 동기화 , 그리고 Alerted Sync 가 있습니다 .