Data Synchronization in Mobile Computing Systems Lesson 10 SyncML Protocols

Similar documents
Data Synchronization in Mobile Computing Systems Lesson 08 SyncML Language Features

SyncML Implementation Conformance Statement Proforma. SyncML DataSync V1.1.1

SyncML Implementation Conformance Statement Proforma. SyncML DataSync V1.1.1

OMA Device Management Protocol

Client Profile of OMA Device Management v1.3

SyncML Device Management Protocol. Version 1.1

SyncML Implementation Conformance Statement

Data Synchronization in Mobile Computing Systems Lesson 12 Synchronized Multimedia Markup Language (SMIL)

1.2. Terminal Configuration Use-Cases SyncML Device Management

Enabler Test Specification for Device Management

isync SyncML Guide

SyncML Implementation Conformance Statement

WAP/ WML : Wireless Protocol wireless protocol

[MS-MDM]: Mobile Device Management Protocol. Intellectual Property Rights Notice for Open Specifications Documentation

Enabler Test Specification for Device Management

Enabler Test Specification for Device Management

SyncML Sync Protocol, version 1.0

Enabler Test Specification for Device Management

SyncML Representation Protocol, Data Synchronization Usage

Continues the Technical Activities Originated in the SyncML Initiative

SyncML Overview. Noel Poore, Psion Computers PLC

ETSI TS V5.0.0 ( )

Synchronization. Kari Pihkala HUT, Telecommunications Software and Multimedia Laboratory. Abstract

Data Synchronization in Mobile Computing Systems Lesson 05 Synchronization Engine and Mobile Agent for Synchronization

Cipher Suite Configuration Mode Commands

Deployment of software components: Application to Wireless System

Message Authentication and Hash function 2

Version 1.0.1

Lesson 1 Key-Terms Meanings: Web Connectivity of Devices and Devices Network

OMA Device Management Security

Mobile Devices: Server and Management Lesson 07 Mobile File Systems and CODA

Lesson 9 Programming Arduino Hash, Encryption and Decryption Functions Usages (Examples 9.8 and 9.9)

OMA Device Management Security

SyncML OBEX Binding. Candidate Version Apr Open Mobile Alliance OMA-TS-SyncML_OBEXBinding-V1_ C

SonicWALL Addendum. A Supplement to the SonicWALL Internet Security Appliance User's Guide

Level 3 Media Portal API Guide

Content Synchronization

IPSec. Slides by Vitaly Shmatikov UT Austin. slide 1

UNIT - IV Cryptographic Hash Function 31.1

Data Synchronization in Mobile Computing Systems Lesson 03 Domain dependent Specific Rules and Conflict resolution Strategies

In this chapter we have described DM Configuration both in Policy Builder and Control Center.

MS-FSSHTTP. Simon Clarke, SharePoint/OneDrive

Configuring the Cisco APIC-EM Settings

win Grey Matter India - An Idhasoft Company Idhasoft is a global world-class

Citrix Analytics Data Governance Collection, storage, and retention of logs generated in connection with Citrix Analytics service.

Criptext s end-to-end encryption system. Technical white paper

Project Title REPRESENTATION OF ELECTRICAL NETWORK USING GOOGLE MAP API. Submitted by: Submitted to: SEMANTA RAJ NEUPANE, Research Assistant,

FIPS Non-Proprietary Security Policy

Office Co-Authoring Chalk Talk (MS-FSSHTTP)

IPSec. Overview. Overview. Levente Buttyán

SIP Compliance APPENDIX

Sophos Mobile Control Technical guide

Transport Level Security

In this chapter we have described DM Configuration both in Policy Builder and Control Center.

OMA Device Management Tree and Description Serialization

WAP-Sync-Spec. Data Synchronisation Specification Version 30-May Wireless Application Protocol WAP-234-SYNC a

Configuring a VPN Using Easy VPN and an IPSec Tunnel, page 1

Communication in Broadband Wireless Networks. Jaydip Sen Convergence Innovation Lab Tata Consultancy Services Ltd. Kolkata, INDIA

Configuring 802.1X Settings on the WAP351

StorageGRID Webscale 10.2

Introduction to Cisco TV CDS Software APIs

OMA Device Management Standardized Objects

CryptoAuthentication Firmware Protection

CSE 3461/5461: Introduction to Computer Networking and Internet Technologies. Network Security. Presentation L

StorageGRID Webscale 10.0

VPN Ports and LAN-to-LAN Tunnels

By FaaDoOEngineers.com

IPSec Transform Set Configuration Mode Commands

ComponentSpace SAML v2.0 Configuration Guide

Lecture 9a: Secure Sockets Layer (SSL) March, 2004

CSC 6575: Internet Security Fall 2017

COSC 301 Network Management. Lecture 15: SSL/TLS and HTTPS

IPSec Site-to-Site VPN (SVTI)

Lesson 5 Nimbits. Chapter-6 L05: "Internet of Things ", Raj Kamal, Publs.: McGraw-Hill Education

Lesson 5 Case Study: Connected RFIDs Supply Chain Monitoring Project. Chapter-12 L05: "Internet of Things ", Raj Kamal, Publs.: McGraw-Hill Education

Slides by Kent Seamons and Tim van der Horst Last Updated: Oct 7, 2013

Example: Setting Up Basic Bridging and a VLAN for an EX Series Switch

Management Tools. Management Tools. About the Management GUI. About the CLI. This chapter contains the following sections:

Presented By: Niharjyoti Sarangi

Cryptography and Network Security

Device Management Implementation Guide for IoT Solutions

INTEGRATED SECURITY SYSTEM FOR E-GOVERNMENT BASED ON SAML STANDARD

USER S GUIDE FOR NOKIA PC SUITE 6.2. Copyright Nokia. All rights reserved. 1/20

Data-at-Rest Encryption

Stream Control Transmission Protocol (SCTP)

Session Capabilities in OBEX

Application Notes for Configuring SIP Trunking between the Skype SIP Service and an Avaya IP Office Telephony Solution Issue 1.0

IPSec Transform Set Configuration Mode Commands

IPv6 Support for LDAP

IP Security. Have a range of application specific security mechanisms

Auditing TPM Commands

Structure of Management Information

ComponentSpace SAML v2.0 Configuration Guide

Overview. SSL Cryptography Overview CHAPTER 1

Native SyncClient API 1.1 Programming Guide. Sync4j

JVA-563. Developing RESTful Services in Java

4.2. Authenticating to REST Services. Q u i c k R e f e r e n c e G u i d e. 1. IdentityX 4.2 Updates

Device Management Implementation Guide for IoT Solutions

Integrating VMware Horizon Workspace and VMware Horizon View TECHNICAL WHITE PAPER

Course Outline. Developing Data Access Solutions with Microsoft Visual Studio 2010 Course 10265A: 5 days Instructor Led

Transcription:

Data Synchronization in Mobile Computing Systems Lesson 10 SyncML Protocols Oxford University Press 2007. All rights reserved. 1

SyncML provisions for an open standard Representation protocol Synchronization protocol Ways of formatting the document Ways of description of architecture for synchronization Ways for binding an application with the well known transport protocols Oxford University Press 2007. All rights reserved. 2

Ways of binding SyncML codes bind the WAP, Bluetooth, or IrDA protocols and a mobile application run for synchronization and synchronize with Bluetooth, WAP 2.0, or IrDA level 5 connection using a SyncML client and engine Oxford University Press 2007. All rights reserved. 3

SyncML provisions for an open standard Interfaces for binding the programming languages which are very common, for example, Java, C, and C++. Prototype implementation for using the SyncML Oxford University Press 2007. All rights reserved. 4

SyncML programming Based on two protocols the SyncML representation protocol and the SyncML synchronization protocol The SyncML representation protocol defines the representation format of SyncML messages which are in XML It gives details about the inner working of the SyncML framework Oxford University Press 2007. All rights reserved. 5

SyncML Message SyncML protocol specifies that a message has SyncHdr and SyncBody, with meta info as well as device info present within SyncHdr Meta info is placed between the start and end tags <MetInf> and </MetInf> and device info between <DevInfo> and </DevInfo> Oxford University Press 2007. All rights reserved. 6

Universal Resource Identifier (URI) A full path specification for a device resource Assume a PIM data structured like a tree Oxford University Press 2007. All rights reserved. 7

Universal Resource Identifier (URI) The parent PIM data object is the root object At the branches of the root object, there are objects called daughter data record copies, these are calendar, address_book, and tasks_to_do Oxford University Press 2007. All rights reserved. 8

Address_book object Has the branches having the contacts. Each of the contacts object has branches and daughter objects which may be leaves The leaves are name, office, home, mobile and fax numbers, home and office addresses, web addresses, and email IDs Oxford University Press 2007. All rights reserved. 9

Root object of device PIM data dev_pim_data Assume that the root object of device PIM data dev_pim_data Server PIM data PIM_data The root PIM_data hierarchy at the server PIM_data address_book contacts Raj Kamal telnum_rk Oxford University Press 2007. All rights reserved. 10

PIM data object address_book branches Further has the object Contacts Contacts has the object Raj Kamal Raj Kamal object has a leaf, the resource telephone number, telnum_rk Oxford University Press 2007. All rights reserved. 11

PIM data object address_book telnum_rk contains the telephone number data in digits, where resource refers to an entity used in the computations or for synchronization For an API, the resource is at the leaf during computations using the telnum_rk Oxford University Press 2007. All rights reserved. 12

Protocol specification of the URI Used to identify any resource at the object PIM_data/address_book/contacts/Raj Kamal is URI for identifying a resource at the Contacts at the server PIM_data/address_book/contacts/Raj Kamal/telNumRK is URI for the resource at the leaf telnum_rk Oxford University Press 2007. All rights reserved. 13

Protocol specification of the URI If the object Raj Kamal has two branches, telnum_rk and address_rk, then the URI for the leaf object address_rk will be PIM_data/contacts/Raj Kamal/address_RK, where address_rk has the text of address Oxford University Press 2007. All rights reserved. 14

Commands Create, Delete, Add, Update, Sync, Alert, Atomic, Search, Read, Get, Exec, Put, Copy, Results, Map, and Status Refer Table 9.1 for the meaning of the commands Alert command is a special SyncML feature by which the server alerts the client Oxford University Press 2007. All rights reserved. 15

Sample Code <SyncBody> <Status> <Cmd>SyncHdr</Cmd> <CmdRef>0</CmdRef> <MsgRef>1</MsgRef> <TargetRef> IMEI:49 800</TargetRef> <SourceRef> http://www.syncml.org/sync-server </SourceRef> <Data>212</Data> </Status> Oxford University Press 2007. All rights reserved. 16

Sample Code <Status> <Cmd>Alert</Cmd> <CmdRef>1</CmdRef> <MsgRef>1</MsgRef> <!- - Assume that Device contact data object at the device is dev_contacts, which was the target defined at the header and assume that new contact added at the server is URI./contacts/Raj Kamal and Alert is sent to client device - - > Oxford University Press 2007. All rights reserved. 17

Sample Code <TargetRef>./dev_contacts</TargetRef> <SourceRef>./contacts/ Raj Kamal </SourceRef> <Data>200</Data> </Status> </SyncBody> Oxford University Press 2007. All rights reserved. 18

Security For secure synchronization of messages between source and destination, a message M sent from a source to destination needs verification of its integrity and authenticity of the source Oxford University Press 2007. All rights reserved. 19

keyed hash message authentication code (HMAC) HMAC source of message M sent along with M Generated after computations at the source At the destination, the HMAC dest is regenerated Oxford University Press 2007. All rights reserved. 20

Keyed hash message authentication code (HMAC) If the HMAC dest computed at the destination matches with the received HMAC source, the integrity of M stands verified Oxford University Press 2007. All rights reserved. 21

Computations for HMAC Done using M, a secret key S and an iterative hash function Iterative function is a function repeatedly operated on the operand Two of the several iterative hash functions can be used SHA-1 (secure hash algorithm-1) and MD-5 (message digest algorithm-5) Oxford University Press 2007. All rights reserved. 22

Handling Large Objects Using <MoreData> tag Wireless transmission, there are interruptions Therefore, a large data object should be broken into many chunks <MoreData> tag for transmitting large object data in chunks Oxford University Press 2007. All rights reserved. 23

Handling Large Objects Using <MoreData> tag Using <MoreData> tag, a large object can be exchanged by dividing it into data chunks. Each chunk has a start tag <MoreData> and an end tag </Moredata> Oxford University Press 2007. All rights reserved. 24

Handling Large Objects Using <MoreData> tag This indicates that next chunk expected in next session The receiving objects join the chucks to recreate a large object Oxford University Press 2007. All rights reserved. 25

Use of status codes in case of Errors SyncML protocol defines error codes in the event of data conflict, incomplete document, and other errors that occur during synchronization Status codes between 500 and 599 are received for response from the receiver For example,code 511 which implies server failure Oxford University Press 2007. All rights reserved. 26

Example of status codes For example, assume that a status code sent by the receiver of SyncML message is error code 501 This implies that the command could not be implemented at the receiver because the SyncML client or server did not support it for any of the resources Oxford University Press 2007. All rights reserved. 27

Setup and Synchronization phases SyncML DM protocol specifies a standard method for set up and synchronization Device management one-way synchronization of the device from the server Oxford University Press 2007. All rights reserved. 28

Setup and Synchronization phases The server sets and updates the data on the client device It also requests for the device data, for example, data for enabling device authentication by it Oxford University Press 2007. All rights reserved. 29

Setup and Synchronization phases Data exchange occurs in phases using packages 0 4 A package is a SyncML message containing XML document Phases of data exchanges in packages 0 2 are called setup phases Phases of data exchanges in packages 3 and 4 are called synchronization or management phases Oxford University Press 2007. All rights reserved. 30

Setup and Synchronization phases Oxford University Press 2007. All rights reserved. 31

Summary Representation protocol Synchronization protocol Ways of formatting the document Ways of description of architecture for synchronization Interfaces for Binding Prototype implementation Oxford University Press 2007. All rights reserved. 32

Summary Universal resource Identifier by full path from root to leaf Commands for message exchanges for synchronization and client-server exchanges HMAC security Oxford University Press 2007. All rights reserved. 33

Summary <MoreData> for handling large objects Four phases for set-up and synchronization Oxford University Press 2007. All rights reserved. 34

End of Lesson 10 SyncML Protocol Oxford University Press 2007. All rights reserved. 35