SyncML
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
SyncML은 장치 간 데이터 동기화를 위한 개방형 표준 프로토콜로, 명령 교환을 통해 작동한다. 주요 명령어로는 Alert, Sync, Status 등이 있으며, XML 형식의 메시지를 사용한다. SyncML 클라이언트는 윈도우, 안드로이드, iOS 등 다양한 운영체제를 지원하며, 서버 역시 여러 종류가 존재한다. 한국에서는 Gemalto, Funambol, 노키아 등 다양한 클라이언트와 서버가 활용되고 있다.
더 읽어볼만한 페이지
- 컴퓨터 표준 - 포트란
포트란은 1950년대 IBM에서 개발되어 과학 및 공학 계산에 주로 사용되는 프로그래밍 언어이며, '수식 번역 시스템'에서 유래하여 객체 지향 프로그래밍, 병렬 처리 등의 기능이 추가되며 현대적인 언어로 발전해왔다. - 컴퓨터 표준 - PCI 익스프레스
PCI 익스프레스(PCIe)는 고속 직렬 통신을 사용하는 컴퓨터 확장 카드 인터페이스 규격으로, 점대점 연결 방식과 패킷 기반 데이터 전송, 그리고 다양한 레인 구성과 지속적인 발전을 특징으로 한다. - 데이터 동기화 - 아이클라우드
아이클라우드는 애플의 클라우드 컴퓨팅 서비스로, 다양한 데이터를 저장 및 동기화하며 여러 기기에서 접근 가능하고, 추가 기능과 저장 공간 확장을 제공하지만 보안 및 개인 정보 보호에 대한 논란도 있다. - 데이터 동기화 - 원드라이브
원드라이브는 마이크로소프트에서 제공하는 클라우드 기반 파일 저장 및 공유 서비스로, 다양한 운영체제와 장치에서 파일 동기화 및 공유 기능을 제공하며 개인 및 기업 사용자 모두를 지원하고, 다른 마이크로소프트 서비스와의 연동을 지원하지만 저장 공간 축소, 개인 정보 보호, 보안 취약점 등 논란과 비판에 직면하기도 했다. - 오픈 포맷 - HTML
HTML은 웹 페이지 제작을 위한 표준 마크업 언어로서, 팀 버너스리가 제안하고 구현한 후 인터넷 발전과 함께 널리 사용되며, SGML에 기반하여 하이퍼텍스트 기능으로 다양한 콘텐츠를 표현하고 연결하며, W3C와 WHATWG에서 표준화를 진행하고 최신 버전은 HTML Living Standard이다. - 오픈 포맷 - 오픈 소스
오픈 소스는 제품 설계 및 재배포를 장려하는 모델로, 소프트웨어 개발에서 시작하여 개방형 협업을 장려하며 다양한 분야에서 활용되고 있고 오픈 소스 이니셔티브와 같은 단체가 운동을 지원한다.
2. 내부 동작
SyncML은 장치 간 데이터 동기화를 위해 요청과 응답 형태의 명령을 교환하는 방식으로 작동한다. 예를 들어, 휴대폰이 동기화를 시작하기 위해 Alert 명령을 보내면, 컴퓨터는 이를 수락하는 Status 명령으로 응답하는 식이다. 데이터 전송은 주로 Sync 명령을 통해 이루어진다.
이러한 명령들은 XML 형식의 메시지로 그룹화된다. 각 메시지는 통신 세션 정보, 송수신자 정보 등을 담은 헤더(SyncHdr)와 실제 명령 및 데이터를 담은 본문(SyncBody)으로 구성된다. 메시지(MsgID)와 명령(CmdID)에는 각각 고유 식별자가 부여되어 통신 과정을 추적하고 관리하며, 응답 메시지에는 원본 요청을 가리키는 참조 식별자(MsgRef, CmdRef)가 포함된다.
SyncML은 다양한 동기화 유형을 지원한다. 예를 들어, 한쪽 장치의 데이터를 다른 쪽으로 완전히 덮어쓰는 '새로 고침 동기화'나, 마지막 동기화 이후 변경된 내용만 서로 교환하는 '양방향 동기화' 등이 있다. 어떤 유형의 동기화를 수행할지는 초기 Alert 명령에 포함된 코드를 통해 결정된다.
또한, 동기화 과정의 무결성을 보장하고 데이터 손실을 감지하기 위해 '앵커(Anchor)'라는 메커니즘을 사용한다. 앵커는 주로 마지막 동기화 시점(Last)과 현재 동기화 시점(Next)을 기록하는 태그로 구성되며, 이 값들을 비교하여 동기화가 누락되었는지 확인할 수 있다. 동기화 손실이 감지되면, 장치들은 모든 데이터를 다시 보내는 등의 방식으로 재동기화를 시도할 수 있다. 일반적인 동기화 상황에서는 마지막 동기화 이후 변경된 내용에 대한 로그를 기반으로 데이터를 교환한다.
2. 1. 주요 명령어
```
이에 대한 컴퓨터의 응답은 다음과 같은 XML 문서 형태가 될 수 있다.
```xml
200
200
```
이후 트랜잭션은 휴대폰에서
Sync 명령을 포함하는 메시지를 보내는 식으로 계속 진행된다.위 예시는 휴대폰이 모든 데이터를 컴퓨터로 보내고, 컴퓨터에서는 데이터를 받기만 하는 새로 고침(refresh) 동기화 방식이다. 초기
Alert 명령에 다른 종류의 코드(Data 요소 값)를 사용하면 다른 동기화 방식을 시작할 수 있다. 예를 들어, "양방향 동기화"에서는 각 장치가 마지막 동기화 이후 변경된 내용만을 서로에게 전송한다.메시지 내
Meta 정보에 포함될 수 있는 Anchor 요소의 Last와 Next 태그는 동기화 상태를 추적하고 동기화가 중간에 누락되었는지(동기화 손실) 감지하는 데 사용된다.Last: 각 장치가 기록하고 있는 마지막 동기화 시점을 나타낸다. 장치마다 표현 방식이 다를 수 있다 (예: 순차적 숫자1, 2, 3...또는 타임스탬프 문자열20140112T213401Z).Next: 현재 동기화 시점을 나타내며,Last와 동일한 형식으로 표현된다.
다음 동기화 시, 이전에 저장된
Next 값(이제 Last로 사용됨)과 현재 장치의 마지막 동기화 시점(Last)을 비교하여 차이가 발생하면 동기화 손실이 있었음을 의미한다. 이 경우, 모든 데이터를 다시 보내는 등의 방식으로 장치를 다시 동기화 상태로 복구할 수 있다.앵커(Anchor)는 동기화 손실 감지 목적으로만 사용되며, 어떤 데이터를 전송해야 하는지를 직접 지정하지는 않는다. 동기화 손실 상황이 아닌 일반적인 동기화(새로 고침 제외)에서는 각 장치가 마지막 동기화 이후 변경된 로그를 전송한다.
2. 2. 메시지 구조
```
이에 대한 컴퓨터의 응답 메시지 예시는 다음과 같다.
```xml
200
200
```
이후 트랜잭션은 휴대폰에서
Sync 명령을 포함하는 메시지를 보내는 식으로 계속 진행된다.위 예시는 휴대폰이 모든 데이터를 컴퓨터로 보내고, 반대 방향으로는 데이터를 보내지 않는 새로 고침 동기화 방식이다. 초기
Alert 명령에 다른 코드를 사용하면 다른 종류의 동기화(예: 양방향 동기화)를 시작할 수 있다. 양방향 동기화에서는 각 장치가 마지막 동기화 이후 변경된 내용만 상대방에게 전송한다.메시지 내
<Anchor> 요소의 Last와 Next 태그는 동기화가 중간에 누락되거나 실패했는지(동기화 손실) 추적하는 데 사용된다. Last는 각 장치가 마지막으로 성공한 동기화 시점을 나타내는 값이고, Next는 현재 동기화 시점을 나타내는 값이다. 각 장치는 자신만의 방식으로 이 시점을 기록할 수 있다 (예: 순차 번호, 타임스탬프 문자열). 다음 동기화 시에 저장된 Last 값과 현재 계산된 Last 값이 일치하지 않으면 동기화 손실이 발생했다고 판단하고, 모든 데이터를 다시 보내는 등 장치를 재동기화하기 위한 적절한 조치를 취할 수 있다.앵커(Anchor)는 동기화 손실 감지에만 사용될 뿐, 어떤 데이터를 전송해야 하는지를 직접 나타내지는 않는다. 동기화 손실 상황이 아닌 일반적인 동기화(새로 고침 제외)에서는 각 장치가 마지막 동기화 이후의 변경 로그를 기반으로 변경된 데이터만 전송한다.
2. 3. 동기화 과정 예시
컴퓨터의 응답은 다음과 같은 XML 문서일 수 있다.
200
200
그런 다음 트랜잭션은
Sync 명령을 포함하는 휴대폰의 메시지 등으로 진행된다.이 예는 휴대폰이 모든 데이터를 컴퓨터로 전송하고 그 반대 방향으로는 아무것도 전송하지 않는 새로 고침 동기화(코드
203)이다. 초기 Alert 명령의 다른 코드는 다른 종류의 동기화를 시작하는 데 사용할 수 있다. 예를 들어, "양방향 동기화"에서는 마지막 동기화 이후의 변경 사항만 컴퓨터로 전송되고 컴퓨터도 동일한 작업을 수행한다.Last 및 Next 앵커 태그는 동기화 손실을 추적하는 데 사용된다. Last는 각 장치에서 측정한 마지막 동기화 작업 시간을 나타낸다. 예를 들어, 휴대폰은 시간 표현에 1, 2, 3과 같은 순차적 숫자를 사용할 수 있고, 컴퓨터는 "20140112T213401Z"와 같은 문자열을 사용한다. Next는 동일한 표현의 현재 시간이다. 이 Next 데이터는 저장되었다가 다음 동기화에서 Last와 비교된다. 차이가 있으면 동기화 손실을 나타낸다. 이 경우, 모든 데이터를 다시 보내는 등 적절한 작업을 수행하여 장치를 다시 동기화할 수 있다.앵커는 동기화 손실을 감지하는 데만 사용되며, 전송할 데이터를 나타내지는 않는다. 동기화 손실 상황 외에 정상적인(새로 고침이 아닌) 동기화에서 각 장치는 마지막 동기화 이후의 변경 로그를 보낸다.
2. 4. 앵커 (Anchor)
이에 대한 컴퓨터의 응답 메시지 예시에서는
Status 명령 내에 다음 동기화를 위한 앵커 정보(Next)와 이전 동기화 정보(Last)가 포함될 수 있다. 아래 예시에서는 Next와 Last 값이 모두 '0'으로 설정되어 있다.200
200
3. SyncML 클라이언트 및 서버
SyncML 기술을 활용하여 데이터를 동기화하기 위해서는 데이터를 보내거나 받는 장치 또는 애플리케이션에 설치되는 클라이언트 소프트웨어와, 중앙에서 데이터를 관리하고 동기화 요청을 처리하는 서버 소프트웨어가 필요하다.
다양한 운영체제(Windows, 리눅스, macOS, iOS, 안드로이드, 심비안 등)와 특정 애플리케이션(Microsoft Outlook, Mozilla Thunderbird, 웹 브라우저 등) 환경에 맞춰 수많은 종류의 SyncML 클라이언트와 서버가 개발되어 왔다. 이 중에는 오픈 소스 라이선스로 배포되어 누구나 자유롭게 사용하거나 개발에 참여할 수 있는 소프트웨어도 있으며, 특정 기능 강화나 전문적인 기술 지원을 제공하는 상용 소프트웨어도 존재한다.
일부 서버는 푸시 기술의 일종인 서버 알림(Server Alert Notification, SAN) 기능을 지원하기도 한다. 이 기술은 서버에 저장된 데이터에 변경 사항이 생겼을 때, 서버가 먼저 클라이언트에게 변경 사실을 알리고 동기화를 시작하도록 요청하는 방식이다.
아래 하위 섹션에서는 주요 SyncML 클라이언트 및 서버 소프트웨어의 목록과 각각의 지원 플랫폼, 동기화 가능한 데이터 종류 등의 상세 정보를 확인할 수 있다.
3. 1. 클라이언트
wikitext
3. 2. 서버
1SAN = 서버 알림(Server Alert Notification). 이 SyncML 푸시 기술은 OMA(Open Mobile Alliance)의 정의를 기반으로 하며, 서버에서 동기화를 시작하는 방식을 제공하여 기존 SyncML 프로토콜 사양을 확장한다.
3. 3. 지원 현황 (표)
wikitext1SAN = 서버 알림. 이 SyncML 푸시 기술은 Open Mobile Alliance의 정의를 기반으로 하며 서버 시작 동기화 방식을 제공하여 기존 SyncML 프로토콜 사양을 확장한다.
{| class="sortable wikitable"
|-
! 제공자 이름
! 대상 시장
! 가격
! 연락처
! 캘린더
! 메모
! 할 일
! 즐겨찾기
! 이메일
! 이메일-SMS
! SMS
! MMS
! WebDAV
! CalDAV
! 노트
|-
| Access NetFront Sync
| 기업 동기화 솔루션
| 상용
| 예
| 예
| 예
| 예
| 예
| 예
|
| 예
| 예
|
|
| SyncML 표준 동기화 서버, 일본 KDDI, 중국 차이나 텔레콤에 배포됨
|-
| ''AOL Sync Service (중단됨)''
| ''소비자''
| ''무료''
| ''예''
| ''예''
| ''아니요''
| ''아니요''
|
| ''예''
|
|
|
|
|
| ''SyncML 표준 동기화 서버''
|-
| basota.com
| 소비자
| €10/년
| 예
| 예
| 예
| 예
| 예
| 아니요
| 아니요
| 아니요
| 아니요
| 아니요
| 아니요
|
|-
| ComEase
| 휴대폰 백업
|
|
|
|
|
|
|
|
|
|
|
|
|
|-
| CompanionLink
| 연결 해제된 애플리케이션의 데이터 동기화
| 상용
| 예
| 예
| 예
| 예
|
|
|
|
|
|
|
|
|-
| Compelson
| 데모
| 무료
| 예
| 예
| 예
| 예
|
|
|
|
|
|
|
|
|-
| Contails
| 연락처 관리를 위한 단일 주소록 솔루션을 제공. 휴대폰 및 메일, 인스턴트 메신저와 같은 여러 다른 서비스를 통해 동기화를 지원.
| 무료
| 예
|
|
|
|
|
|
|
|
|
|
| SyncMl 기반 동기화, 웹메일 동기화
|-
| GooSync
| 베타
| 유료
| 예
| 예
|
| 예
|
|
|
|
|
|
|
| Google Calendar Synchronisation(구글 캘린더 동기화)
|-
| GSMSync
|
| 무료 / 유료
| 예
| 예
| 예
| 예
| 예
|
|
| 예
|
|
|
|
|-
| hotpim
| 서비스 제공업체, 장치 제조업체, 기업
| 무료
| 예
| 예
| 예
| 예
|
|
|
| 예
|
|
|
| 자체 클라이언트, 전체 텍스트 검색 엔진, 중국어 버전만 지원하는 미디어 파일 지원
|-
| MemoToo
| 소비자 및 비즈니스
| 무료 / 유료
| 예
| 예
| 예
| 예
| 예*
| 아니요
|
| 예
|
| 예
| 예
| 모든 범주에 대해 최대 100개의 항목 저장으로 제한된 무료 서비스 - OTA 구성, 연락처용 사진, 범주 지원, 정렬 가능한 작업
|-
| MightyPhone
| Brew 휴대폰 소유자
|
| 예
| 예
| 아니요
| 아니요
|
|
|
|
|
|
|
| 제한된 클라이언트 지원
|-
| Keep
|
| 무료
| 예
| 아니요
| 아니요
| 아니요
| 아니요
| 아니요
| 아니요
| 아니요
| 아니요
| 아니요
| 아니요
| 이전: Everdroid
|-
| Mobilesynchro
| 휴대폰 백업
| 무료 / 유료
| 예
| 예
| 예
| 예
|
|
|
| 예
|
|
|
| SyncML 기반 SMS 동기화, OMA/OTA 구성
|-
| myFunambol
| 소비자
| 데모
| 예
| 예
| 예
| 예
| 아니요
| 예
|
| 아니요
| 아니요
| 아니요
| 아니요
| 할 일 및 노트는 온라인에서 보거나 편집할 수 없음.
|-
| MyTT
| 베타
| 무료
| 예
| 예
| 예
| 예
|
|
|
| 예
| 예
|
|
| 자체 클라이언트, 전체 텍스트 검색 엔진, 중국어 버전만 지원하는 미디어 파일 지원
|-
| O3SIS.com
| 통신사 및 서비스 제공업체, 기업, 소매, 장치 제조업체, 파트너
| 상용
| 예
| 예
| 예
| 예
|
| 예
| 예
| 예
| 아니요
| 아니요
| 아니요
| OTA 구성기, 다운로드 가능한 클라이언트 사용 가능
|-
| O-Sync
| 소비자
| 무료
| 예
| 예
| 예
| 예
|
|
|
| 예
|
|
|
| 연락처 자체 업데이트 기능
|-
| PhoneCopy
| 소비자, 커뮤니티
| 무료/유료
| 예
| 예
| 예
| 예
| 예
| 아니요
|
| 예
| 예
| 아니요
| 아니요
| 모든 데이터는 온라인에서 보고, 편집하거나 삭제할 수 있음. 모든 플랫폼(Android, BlackBerry, Apple, Windows Phone, ActiveSync, Symbian, SyncML 등)을 지원.
|-
| picoBeat
| 소비자 및 SOHO
| 개발이 중단되었으며 새로운 사용자는 받아들여지지 않음. 기존 사용자는 여전히 계정을 사용할 수 있음.
| 예
| 예
| 예
| 예
|
|
|
|
|
|
|
| 온라인에서 요소 편집 가능
|-
| PhoneBackup
| 소비자
| 유료
| 예
| 예
|
|
| 아니요
|
|
| 아니요
| 아니요
|
|
| OTA 구성
|-
| ScheduleWorld
| 소비자
| 유료 (2010년 11월 30일에 서비스 종료)
| 예
| 예
| 예
| 예
| 아니요
| 예
| 아니요
| 아니요
| 아니요
| 예
| 아니요
| 캘린더 공유, 여러 캘린더, Google 캘린더, IMAP/SMTP에서 제공하는 OTA(Over The Air)를 통한 이메일
|-
| Soocial
| 연락처 관리를 위한 단일 주소록 솔루션을 제공. Gmail과 같은 여러 다른 서비스를 통해 휴대폰을 통한 동기화를 지원.
| 서비스 종료
| 예
| 아니요
| 아니요
| 아니요
| 아니요
| 아니요
| 아니요
| 아니요
| 아니요
| 아니요
| 아니요
| SyncML 기반 연락처 동기화. Outlook 클라이언트, OTA 구성 및 다운로드 가능한 클라이언트.
|-
참조
[1]
웹사이트
Lightcast
https://lightcast.io[...]
2024-09-15
[2]
웹사이트
SyncML Delivers Tomorrow´s Technology Today
http://www.syncml.or[...]
SyncML.org
2000-12-07
[3]
웹사이트
SyncML Turns Two, Releases Specifications v1.1 for Mobile Data Sync
http://www.syncml.or[...]
SyncML.org
2002-02-26
[4]
웹사이트
SyncML Delivers Tomorrow´s Technology Today
http://www.syncml.or[...]
SyncML.org
2000-12-07
[5]
웹사이트
SyncML Turns Two, Releases Specifications v1.1 for Mobile Data Sync
http://www.syncml.or[...]
SyncML.org
2002-02-26
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com
