1746729

iCloud: So funktioniert Apples Web-Service

05.04.2013 | 12:52 Uhr |

Es liegt in Apples Genen, komplexe Mechanismen einfach zu verpacken. iCloud macht hier keine Ausnahme. Wir blicken hinter die Kulissen des Mobile-Me-Nachfolgers und zeigen, welche Rädchen ineinander greifen, damit Ihre Daten überall synchronisiert sind

Kaum ist OS X gestartet, warten auch schon die zuletzt auf iOS-Geräten oder anderen Macs erstellten und bearbeiteten Daten in der iCloud. Dazu müssen im Hintergrund Dienste laufen und die Daten verarbeiten. Hier ein Blick darauf, was diese Dienste leisten und wo sie arbeiten.

iCloud ist Apples Markenbegriff für Internetdienste, deren Client-Server-Prinzip seit Jahrzehnten bewährt ist. An einem Standort steht ein Server, mit dem der heimische Mac kommuniziert. An diesem Server können sich verschiedene Geräte anmelden und Daten anfordern.

Zu Beginn als Beispiel das Einschalten des Computers. Sobald OS X gestartet ist, wird ein Prozess in Gang gesetzt, der die Daten vom Server holt und umgekehrt dort auch ablegt. Dieses Hintergrundprogramm trägt den Namen „ubd“ ( Ubiquity Daemon ). OS X bietet keine Konfigurationsmöglichkeiten für den Daemon, zudem warnt Apple in den Man-Pages zu „ubd" vor dem manuellen Start. Der Dienst ist so konfiguriert, dass er ohne jegliche Hilfe des Nutzers im Hintergrund läuft und seine Aufgaben verrichtet. Dabei schreibt er Log-Dateien und speichert sie im Ordner ~/Library/Logs/Ubiquity/[benutzername]/ubiquity.log.

Alle für iCloud relevanten Daten lagern im Ordner „Mobile Documents“ unter dem Pfad ~/Library/Mobile Documents. Alle Anwendungen, die die Daten über iCloud synchronisieren, speichern dort ihre Dokumente. Beim Sichern werden die Daten zuerst in den jeweiligen Ordner im iCloud-Verzeichnis gesichert und anschließend von „ubd“ auf die entfernten Server geladen.

Wenn Sie zum Ordner "Mobile Documents" navigiert haben, erscheint in der Kopfzeile das iCloud-Symbol. Innerhalb dieses Ordners liegen nun alle Dateien zum jeweiligen Programm welches Dateien via der iCloud synchronisiert. Änderungen von Hand machen sich dadurch auch in der jeweiligen App selbst bemerkbar.
Vergrößern Wenn Sie zum Ordner "Mobile Documents" navigiert haben, erscheint in der Kopfzeile das iCloud-Symbol. Innerhalb dieses Ordners liegen nun alle Dateien zum jeweiligen Programm welches Dateien via der iCloud synchronisiert. Änderungen von Hand machen sich dadurch auch in der jeweiligen App selbst bemerkbar.

Wie jede Anwendung muss auch „ubd“ auf definierte Protokolle zugreifen. Mobile Me setzte noch auf das Protokoll WebDAV, über das sich eine Festplatte mit den im Web gespeicherten Daten mounten ließ. iCloud kommuniziert jedoch nur noch via HTTPS (Hypertext Transfer Protocol Secure). Zudem kommt Amazon an dieser Stelle ins Spiel, denn die iCloud-Daten werden zu großen Teilen auf Amazon-S3-Servern gelagert. Wie groß der Anteil von Amazon am Storage noch ist und wann Apple gedenkt, die Daten in den eigenen Rechenzentren zu speichern, sagt der Anbieter nicht.

Speichert man ein Dokument beispielsweise via Textedit ab, so passiert folgendes im Hintergrund:

  • POST Anfrage an https://p**-ubiquity.icloud.com/ub/**********/rwsync/********

  • POST Anfrage an https://p**-content.icloud.com/*********/authorizePut

  • PUT Anfrage an Amazon S3

  • POST Anfrage an https://p**-content.icloud.com/*******/putComplete

  • POST Anfrage an https://p**-ubiquity.icloud.com/ub/*******/rwsync/********

  • POST Anfrage an https://p**-ubiquity.icloud.com/ub/*******/rosync/********

Die Sternchen *** stehen für die jeweilige Apple ID.

Dateien gelangen via Apps in diesen Ordner und von dort aus auf die Server, wo sie dann auf andere Geräte verteilt werden. Dies hat zur Folge, dass App-Entwickler entscheiden, ob Sie Daten über die iCloud speichern wollen oder eben nicht.

Apple bietet also nur die Schnittstellen zu ihren Web-Services (Programme, die auf Servern laufen) an. Alles was dahinter liegt, bleibt geheim. Die wichtigsten Schnittstellen sind:

  • Key Value Storage (für Konfigurationsdateien)

  • Documents (für einfache Dokumente)

  • Core Data (für Datenbanken)

Die "einfache" Funktionsweise der iCloud. Das App-Symbol im unteren Bereich symbolisiert ein x-beliebiges Programm, welches über die Schnittstellen "Dokuments", "Key Value Storage" oder "Core Data" mit Apples Servern kommuniziert.
Vergrößern Die "einfache" Funktionsweise der iCloud. Das App-Symbol im unteren Bereich symbolisiert ein x-beliebiges Programm, welches über die Schnittstellen "Dokuments", "Key Value Storage" oder "Core Data" mit Apples Servern kommuniziert.

In den Medien werden seit Wochen Probleme geschildert, die Entwickler mit der Schnittstelle „Core Data“ haben. Dies ist die komplexeste der drei Varianten und Apple scheint damit noch erhebliche Probleme zu haben.

Mit der Vereinfachung der Datenhaltung ist es eben nicht getan, indem nur Ordner und Festplatten wegrationalisiert werden. Für größere Anwendungen sind Datenbanken seit jeher das beste Mittel der Datenhaltung. Apple selbst verwendet für Pages, Keynote und Co die „Documents“-Variante. Anwendungen wie 1Password oder OutBank benötigen aber komplexere Strukturen als einfache Dateien und stoßen so auf immense Probleme. Ob diese Probleme behoben werden, wissen wir wahrscheinlich Mitte Juni, wenn die jährliche Entwicklerkonferenz WWDC stattfindet und Apple vielleicht Updates oder Fehlerbehebungen bekannt gibt.

0 Kommentare zu diesem Artikel
1746729