Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

OMA DATA SYNC Filip Jarończyk, Mateusz Klimek. Co to jest OMA Data Sync: Protokół używający wiadomości zapisanych w SyncML Cele: Synchronizacja danych.

Podobne prezentacje


Prezentacja na temat: "OMA DATA SYNC Filip Jarończyk, Mateusz Klimek. Co to jest OMA Data Sync: Protokół używający wiadomości zapisanych w SyncML Cele: Synchronizacja danych."— Zapis prezentacji:

1 OMA DATA SYNC Filip Jarończyk, Mateusz Klimek

2 Co to jest OMA Data Sync: Protokół używający wiadomości zapisanych w SyncML Cele: Synchronizacja danych sieciowych z dowolnym urządzeniem mobilnym i odwrotnie Cechy: może używać dowolnego protokołu komunikacji, i sieci można wymieniać dane dowolnego typu niezależny od aplikacji i ich danych musi działać na urządzeniach z ograniczoną ilością pamięci musi być w stanie zsynchronizować dowolne urządzenia

3 SyncML SyncML SyncML (ang. Synchronization Markup Language) Definicja z wikipedi: Protokół synchronizacji danych stworzony przez organizację Open Mobile Alliance (OMA). Wiadomości SyncML przesyłane są w formacie XML.

4 Podstawy Protokołu

5 Logi ● Protokół wymaga aby klient i serwer pamiętały w logach: ● jakie zmiany zaszły pomiędzy synchronizacjami z każdym urządzeniem ● Dodanie nowych danych ● Modyfikacja danych ● Usunięcie danych ● Log zmiany zawiera tez unikatowy identyfikator obiektu danych ●

6 Podstawy SyncML Wiadomości SyncML są prośbami o wykonanie jakiejś czynności: -synchronizacji danych -sprawdzenia danych - uaktualnienia stanu -obsługi błędów powstałych przy wykonywaniu czynności czy wysyłaniu wiadomości (zagubienie wiadomości )

7 Sync Anchors ● Pozwalają na sprawdzanie poprawności synchronizacji ● Dwa rodzaje Sync Anchor: ● Last sync anchor opisuje ostatnie wydarzenie synchronizacji np. czas synchronizacji. ● Next sync anchor opisuje obecne zdarzenie synchronizacji ● Serwer i klient wysyłają sobie nawzajem oba sync anchors i porównują czy poprzedni przysłany next sync anchor jest identyczny z nowoprzysłanym last sync anchor

8

9 SyncML Wiadomość Sync Header ( ) ● Zawiera Meta dane takie jak docelowa oraz źródłowa baza danych (, ) ● Informacja wymagane do uwierzytelnienia ( ) ● ID sesji ● ID Wiadomości ● SyncML wersje Ciało ● Zwiera dane dotyczące żądania

10 SyncML mapowanie ● SyncML klient przyznaje każdemu obiektowi unikalny identyfikator (LUID) ● SyncML Serwer przyznaje każdemu obiektowi unikalny identyfikator (GUID) ● LUID jest zawsze nadawany przez klienta i wysyłany do serwera ● Serwer może nadać tymczasowy LUID kiedy wysyła coś nowego do klienta ● Serwer wysyłając wiadomości do klienta używa LUID

11

12 Cache operacji mapowania ● Kiedy klient otrzymuje nowe dane od serwera, tworzy nowe LUID-y ● Klient zazwyczaj natychmiast informuje serwer jakie są nowe LUID-y ● Jeśli serwer wcześniej informował że nie wymaga odpowiedzi na na jego sync to klient może wysłać nowo stworzone LUID-y na początku następnej synchronizacji

13 Rozwiązywanie konfliktów ● Konflikty powstają kiedy te same dane na kliencie i serwerze zostaną zmodyfikowane ● Zazwyczaj serwer rozwiązuje konflikty i informuje o tym klienta ● Konflikt może być rozwiązany na kilka sposobów: ● Połączenie danych ● Dane klienta „wygrały” ● Stworzenie kopi danych

14 Adresowanie ● Adresowanie urządzenia lub serwisu w nagłówku jest zrobione przy pomocy URI ● Urządzenia które są połączone tymczasowo mogą się adresować w inny sposób np. IMEI: ● Adresowanie na poziomie warstwy transportu (np. http) jest niezależne od adresowanie użytego w SyncML

15 Adresowanie baz danych Jak poprzednio adresowanie używa URI np:..../calendar/james_bond...

16 Adresowanie danych Adresowanie odbywa się przez używanie LUIDS

17 Wymiana informacji o możliwościach urządzeń ● Klient wysyła informacje o swoich możliwościach: ● Podczas pierwszej synchronizacji ● Kiedy jego możliwości się zmieniły ● Kiedy serwer poprosi o to ● Serwer wysyła informacje kiedy klient prosi oto ● Serwer musi wykorzystywać informacje o możliwościach klienta np. podczas tworzenia tymczasowego LUID

18 Zarządzanie pamięcią urządzenia ● Rozmiar wolnej pamięci może być wysyłany podczas każdej synchronizacji zarówno przez klienta oraz serwera. ● Serwer musi używać informacji o wolnej pamięci klienta podczas komunikacji

19 Przykład wiadomości z informacją o pamięci 1./calendar/james_bond./dev-calendar 8100

Podobne prezentacje


Reklamy Google