Xavier Lawrence March 2005. X. Lawrence - Synchronization of Calendars with a Calendar Server - 2 / 20 Presentation Overview Introduction Project Objectives.

Slides:



Advertisements
Similar presentations
© OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi Tech Spec Overview: Introduction OSGi R3 and Remote Management Ertico/OSGi meeting Jan.
Advertisements

Transfer Content to a Website What is FTP? File Transfer Protocol FTP is a protocol – a set of rules Designed to allow files to be transferred across.
DIGIDOC A web based tool to Manage Documents. System Overview DigiDoc is a web-based customizable, integrated solution for Business Process Management.
Mobile Agents Mouse House Creative Technologies Mike OBrien.
General introduction to Web services and an implementation example
UWCalendar 2 1 Communication & Collaboration Technologies Rensselaer Polytechnic Institute June 21, 2004 Rensselaer and UWCalendar2 an institute-wide open-source.
1 Communications & Middleware Technologies Rensselaer Polytechnic Institute December 5, 2005 Bedework 3.0 (a.k.a. UWCalendar) an institute-wide open-source.
UNDERSTANDING JAVA APIS FOR MOBILE DEVICES v0.01.
Notes to the presenter. I would like to thank Jim Waldo, Jon Bostrom, and Dennis Govoni. They helped me put this presentation together for the field.
J2ME Web Services Specification.  With the promise to ease interoperability and allow for large scale software collaboration over the Internet by offering.
PROGRESS project: Internet-enabled monitoring and control of embedded systems (EES.5413)  Introduction Networked devices make their capabilities known.
CHA1 Mobile Commerce Digital Meeting Support System Presented by Hung Lau Yung, Simon Ip Tak Shun, Alan Siu Po Wa Power Advised by Prof. Samuel T. Chanson.
A Distributed Proxy Server for Wireless Mobile Web Service Kisup Kim, Hyukjoon Lee, and Kwangsue Chung Information Network 2001, 15 th Conference.
Chapter 2: Application layer  2.1 Web and HTTP  2.2 FTP 2-1 Lecture 5 Application Layer.
Copyright © 2002 Sean C. Sullivan XML case study: SyncML Sean C. Sullivan at.
Data Networking Fundamentals Unit 7 7/2/ Modified by: Brierley.
Multi-Party XML Synchronization over Limited Bandwidth Thomas Wilczak Prof. James Riely SE 696 Research Project Initial Presentation 5th May, 2004.
Wireless Application Protocol (WAP) Reference: Chapter 12, section 2, Wireless Communications and Networks, by William Stallings, Prentice Hall.
Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department.
Introduction 1 Lecture 7 Application Layer (FTP, ) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science & Engineering.
Copyright © 2001 Sean C. Sullivan* Third party trademarks are property of their respective owners Data Synchronization with SyncML * and sync4j Sean C.
Query Processing in Mobile Databases
Understanding and Managing WebSphere V5
Overview SAP Basis Functions. SAP Technical Overview Learning Objectives What the Basis system is How does SAP handle a transaction request Differentiating.
Introduction 1-1 Chapter 2 FTP & Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 IC322 Fall.
Introduction SOAP History Technical Architecture SOAP in Industry Summary References.
Android Introduction Platform Overview.
1 Remote Management of Wireless Gateway Student Name: Dinesh D N (BITS ID: 2004HZ12158) MphasiS Technologies Ltd, Bangalore March 2006.
Patrick Ohly © Copyright, 2009 Intel. Project Overview © Copyright, 2009 Intel2.
Patrick Ohly © Copyright, 2009 Intel SyncEvolution – The Missing Link.
IT 424 Networks2 IT 424 Networks2 Ack.: Slides are adapted from the slides of the book: “Computer Networking” – J. Kurose, K. Ross Chapter 2: Application.
Fall 2005 By: H. Veisi Computer networks course Olum-fonoon Babol Chapter 7 The Application Layer.
MCSE Guide to Microsoft Exchange Server 2003 Administration Chapter Four Configuring Outlook and Outlook Web Access.
Data Management Kelly Clynes Caitlin Minteer. Agenda Globus Toolkit Basic Data Management Systems Overview of Data Management Data Movement Grid FTP Reliable.
Bluetooth POP3 Relay Project Benjamin Kennedy April 30 th, 2002.
M i SMob i S Mob i Store - Mobile i nternet File Storage Platform Chetna Kaur.
Small Devices on DBGlobe System George Samaras Chara Skouteli.
MMS DresdenGermany – Dresden - Slide N°1Adolf Liepelt Final Project Review Newcastle upon Tyne, April 19, 2004 AESOP Platform.
WIRELESS APPLICATION PROTOCOL Definition It is universal, open standard developed by the WAP Forum to provide mobile users of wireless phones and other.
An application architecture specifies the technologies to be used to implement one or more (and possibly all) information systems in terms of DATA, PROCESS,
1. 2 WIRELESS APPLICATION PROTOCOL (WAP) 3 Wireless Application Protocol Introduction Evolution WAP Architecture Working Uses Conclusion.
Calendaring and Scheduling (C & S) Branch Hendrix Sr. Principal Technology Specialist Central Region - US Microsoft Corporation.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
CS 3830 Day 9 Introduction 1-1. Announcements r Quiz #2 this Friday r Demo prog1 and prog2 together starting this Wednesday 2: Application Layer 2.
ICalendar Compatible Collaborative Calendar- Server (CCS) Web Services Ahmet Fatih Mustacoglu Indiana University Computer Science Department Community.
EGEE User Forum Data Management session Development of gLite Web Service Based Security Components for the ATLAS Metadata Interface Thomas Doherty GridPP.
GLOBAL EDGE SOFTWERE LTD1 R EMOTE F ILE S HARING - Ardhanareesh Aradhyamath.
MSG331 Exchange Server 2000/2003 Software Development Kit Susan Hill Lead Programmer Writer Microsoft Corporation.
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
Web Services Using Visual.NET By Kevin Tse. Agenda What are Web Services and Why are they Useful ? SOAP vs CORBA Goals of the Web Service Project Proposed.
Presentation Title 1 1/27/2016 Lucent Technologies - Proprietary Voice Interface On Wireless Applications Protocol A PDA Implementation Sherif Abdou Qiru.
Meeting Scheduling System Capstone Project - Team#5 Fall2007.
Alex Chee Daniel LaBare Mike Oster John Spann Bryan Unbangluang Collaborative Document Sharing In Conjunction With.
Web Services. Web Service: Simple definition : “ Service Offered On the Web “ Technically : “ A Web Service is a programmable application component that.
Sharepoint-Biztalk Integration with Multiple Transport protocols Jin Thakur
SOAP, Web Service, WSDL Week 14 Web site:
Exploring Networked Data and Data Stores Lesson 3.
Session # Copyright 2002 Sean C. Sullivan Data Synchronization with SyncML and Sync4j Sean C. Sullivan Software Architect Sync4j project.
Redmond Protocols Plugfest 2016 Andrew Davidoff Exchange 2016 Protocol Overview Senior Software Engineer.
1 Seminar: Pervasive Computing 2004 Automatic mobile device configuration: Status & open challenges Stefan Hoferer Supervisor: Andreas Fasbender.
Bedework Communications & Middleware Technologies Rensselaer Polytechnic Institute October 26, 2005 Bedework 3.0 (a.k.a.UWCalendar) an institute-wide.
BOF-1147, JavaTM Technology and WebDAV: Standardizing Content Management Java and WebDAV Juergen Pill Team Leader Software AG Remy Maucherat Software Engineer.
Application Sharing Bhavesh Amin Casey Miller Casey Miller Ajay Patel Ajay Patel Bhavesh Thakker Bhavesh Thakker.
Bedework 3.0 (a.k.a.UWCalendar)
CMPE419 Mobile Application Development
Chapter 10: Application Layer
Chapter 3: Windows7 Part 4.
Week 05 Node.js Week 05
CMPE419 Mobile Application Development
Presentation transcript:

Xavier Lawrence March 2005

X. Lawrence - Synchronization of Calendars with a Calendar Server - 2 / 20 Presentation Overview Introduction Project Objectives Standards & Specifications used Open-Source Components (UwCal & Sync4j) Data Synchronization in General Our Synchronization Framework

X. Lawrence - Synchronization of Calendars with a Calendar Server - 3 / 20 Presentation Overview (2) Architecture of the System Implementation Possible Improvements Conclusion

X. Lawrence - Synchronization of Calendars with a Calendar Server - 4 / 20 Introduction Without a Calendar Server  Decentralized System  Calendars can be anywhere  User struggles to make his/her timetable Personal CalendarSports CalendarAcademic CalendarConference Calendar

X. Lawrence - Synchronization of Calendars with a Calendar Server - 5 / 20 Introduction (2) With a Calendar Server  Centralized System  Distinction: Personal – Public Calendars  Need Synchronization Support Calendar ServerClient Applications

X. Lawrence - Synchronization of Calendars with a Calendar Server - 6 / 20 Project Objectives Study and find an open-source calendar server that meets all requirements Study data synchronization and existing synchronization frameworks Design and implement a little framework defining how the calendar server and synchronization layer should communicate Develop Portlets allowing the user to access his or her calendar from the webPortlets

X. Lawrence - Synchronization of Calendars with a Calendar Server - 7 / 20 Standards & Specifications used Internet Calendaring and Scheduling Core Object Specification or iCalendar (RFC- 2445) SyncML Portlet API (JSR-168) Apache Struts Framework JMS

X. Lawrence - Synchronization of Calendars with a Calendar Server - 8 / 20 ICalendar (RFC-2445) Sample BEGIN:VCALENDAR PRODID:-//Jahia Solutions//iCalendar SyncClient 1.0 MIMEDIR//EN VERSION:2.0 METHOD:PUBLISH BEGIN:VEVENT CATEGORIES:Sports CLASS:PUBLIC DESCRIPTION:Champions League 8th final Inter Milan – FC Porto DTEND: T DTSTART: T LOCATION:San Siro, Milan ORGANIZER:caladmin SUMMARY:CL Inter Milan – FC Porto END:VEVENT END:VCALENDAR

X. Lawrence - Synchronization of Calendars with a Calendar Server - 9 / 20 SyncML The Synchronization Markup Language enables smooth, efficient synchronization of remote data and personal information across devices, platforms, and multiple networks. Language and platform independent Widely used in the industry

X. Lawrence - Synchronization of Calendars with a Calendar Server - 10 / 20 SyncML (2) Server Sync Engine Sync Server Agent Client Agent SyncML I/F SyncML I/F Adapter SyncML Framework SyncML XML Objects HTTP / WSP / OBEX / SMTP WSP: Wireless Session Protocol OBEX: Bluetooth, IrDA

X. Lawrence - Synchronization of Calendars with a Calendar Server - 11 / 20 SyncML (3) Requires a change log Security Device capabilities detection 1.0 SyncML/ IMEI: syncml:auth-basic QnJ1Y2UyOk9oQmVoYXZl...

X. Lawrence - Synchronization of Calendars with a Calendar Server - 12 / 20 UwCal ( Calendar server implementing RFC-2445 Built around a service interface

X. Lawrence - Synchronization of Calendars with a Calendar Server - 13 / 20 Sync4j ( Sync4j is a synchronization platform based on SyncML It contains:  A Synchronization Server  An API for implementing SyncML synchronization clients  Synchronization clients for existing products such as MS-Outlook, Palms or Pocket PCs

X. Lawrence - Synchronization of Calendars with a Calendar Server - 14 / 20 Data Synchronization Process of putting 2 sets of data in the same state Generally based on:  ID handling (GUID – LUID mapping)  A change detection mechanism (change log + item state)  A modification exchange protocol (Add, Modify & Delete command)  A conflict resolution policy (“Server wins”)

X. Lawrence - Synchronization of Calendars with a Calendar Server - 15 / 20 Our Synchronization Framework Make the calendar server and the synchronization engine independent:  Possible to re-use existing servers  Improve performance (minimize network latency, calendar cache)  Avoid incompatible license problems Framework Calendar Server Sync Server

X. Lawrence - Synchronization of Calendars with a Calendar Server - 16 / 20 Our Synchronization Framework (2) Framework architecture Storable Sync Manager Transport Receiver Calendar Manager Transport Sender Calendar Server Sync Server Network Behaves as a cache Connection to the Calendar Server Isolates events being synchronized (Transaction Manager) 1. Calendar Manager fetches the calendar to synchronize 2. SyncManager asks Storable instance to get the calendar 3. SyncManager locks all events of the calendar 4. SyncManager sends calendar 5. Sync Server uses Calendar copy of the Calendar 6. Calendar Manager sends back the updated calendar 7. Storable instance stores the modified calendar 8. SyncManager unlocks the events

X. Lawrence - Synchronization of Calendars with a Calendar Server - 17 / 20 Architecture of the System Calendar Server (uwCal) Client (MS- Outlook) Client (PDA) Client (Cell phone) Synchronization Server (Sync4j) Data Base Data Base WEB Browser Client (Palm) SyncML Sync Framework Jetspeed2 Portlet Container

X. Lawrence - Synchronization of Calendars with a Calendar Server - 18 / 20 Implementation Implementation of the Synchronization Framework:  Calendar server & Synchronization server  Transport layer: JMS Implementation of a synchronization client able to synchronize any iCalendar file  Parses the calendar file, extracts the events and synchronizes them

X. Lawrence - Synchronization of Calendars with a Calendar Server - 19 / 20 Possible Improvements No recurrence rule support Support of more device applications /SMS notification Produce a production release

X. Lawrence - Synchronization of Calendars with a Calendar Server - 20 / 20 Conclusion Objectives accomplished Gained experience in data synchronization, calendar representation, Portlets & Java programming Interesting and concrete project Valuable work experience