Title:
System und Verfahren zur automatischen cloudbasierten Volldatensicherung und Wiederherstellung auf mobilen Geräten
Kind Code:
T5


Abstract:

Ein Verfahren zum Speichern von Drittanbieter-Anwendungsdaten in Cloudspeichern ist hier beschrieben. Das Verfahren beinhaltet das Ermitteln zum Hochladen von Daten, die der Drittanbieter-Anwendung zugewiesen sind, wobei diese Anwendung auf einem Clientgerät zum Cloudspeicherserver gespeichert wird. Drittanbieter-Anwendung zugewiesene Daten beinhalten sowohl Binär- als auch Metadaten. Verfahren beinhaltet des Weiteren Speichern der Binärdaten der Drittanbieter-Anwendung in einer ersten Cloudspeicherposition. Erste Cloudspeicherposition hat eine Speicheradresse, die Metadaten werden aktualisiert und beinhalten die Speicheradresse. Verfahren beinhaltet demnach das Speichern von aktualisierten Metadaten in einer zweiten Cloudspeicherposition, die sich von der ersten Cloudspeicherposition unterscheidet.




Inventors:
Procopio, Michael Jeffrey, Calif. (Mountain View, US)
Prins, Christiaan, Calif. (Mountain View, US)
Nagarajan, Ramesh (Sydney NSW, Pyrmont, AU)
Kode, Ushasree, Calif. (Mountain View, US)
Tate, Christopher, Calif. (Mountain View, US)
Wu, Di, Calif. (Mountain View, US)
Kan, Reuben (Sydney NSW, Pyrmont, AU)
Herdon, John, Calif. (Mountain View, US)
Application Number:
DE112016002365T
Publication Date:
02/15/2018
Filing Date:
05/17/2016
Assignee:
GOOGLE INC. (Calif., Mountain View, US)
International Classes:



Attorney, Agent or Firm:
Maikowski & Ninnemann Patentanwälte Partnerschaft mbB, 10707, Berlin, DE
Claims:
1. Verfahren zum Hochladen von Drittanbieter-Anwendungsdaten in Cloudspeichern, umfassend:
das Ermitteln, ob vom Clientgerät die der Drittanbieter-Anwendung zugewiesenen Daten hochzuladen sind, worin Drittanbieter-Anwendung zugewiesene Daten Binär- und Metadaten beinhalten;
das Übermitteln der Binärdaten der Drittanbieter-Anwendung und der Metadaten der Drittanbieter-Anwendung zum Cloudspeicher, worin:
die Binärdaten in der ersten Cloudspeicherposition mit einer Speicheradresse gespeichert werden;
den Metadaten die Speicheradresse angehängt wird, um aktualisierte Metadaten zu erhalten; und
die aktualisierten Metadaten in der zweiten Cloudspeicherposition gespeichert werden, die sich von der ersten Cloudspeicherposition unterscheidet.

2. Verfahren nach Anspruch 1, worin die Binärdaten der Drittanbieter-Anwendung alle Daten für die Drittanbieter-Anwendung beinhalten.

3. Verfahren nach irgendeinem der Ansprüche 1–2, worin das Ermitteln, ob die der Drittanbieter-Anwendung zugewiesenen Daten hochzuladen sind, Folgendes umfasst:
das Identifizieren der gespeicherten Binärdaten, die der Drittanbieter-Anwendung zugewiesenen sind, die auf dem Clientgerät gespeichert ist;
das Identifizieren der zuvor hochgeladenen Binärdaten, die der Drittanbieter-Anwendung zugewiesenen sind;
das Berechnen einer Differenz zwischen den gespeicherten Binärdaten und den zuvor hochgeladenen Binärdaten; und
das Vergleichen der Differenz mit einem Schwellenwert.

4. Verfahren nach Anspruch 3, worin das Clientgerät das Hochladen von Daten, die der Drittanbieter-Anwendung zugewiesen sind, ermittelt, wenn die Differenz dem Schwellenwert gleicht oder diesen überschreitet.

5. Verfahren nach irgendeinem der Ansprüche 1–4, worin das Clientgerät eine Vielzahl von Daten, die der Drittanbieter-Anwendungen zugewiesen sind, speichert, wobei jeder Drittanbieter- Anwendung in der Vielzahl von Drittanbieter-Anwendungen die zugehörigen Binär- und die zugehörigen Metadaten zugewiesen sind, und die zugehörigen Binärdaten und die zugehörigen Metadaten für jede Drittanbieter-Anwendung in einem einzigen Hochladevorgang vom Clientgerät hochgeladen werden.

6. Verfahren nach irgendeinem der Ansprüche 1–5, worin die Daten, die der Drittpartei- Anwendung zugewiesen sind vor dem Übermitteln auf das Clientgerät nicht vollständig dupliziert werden.

7. Verfahren nach irgendeinem der Ansprüche 1–6, worin das Clientgerät das Hochladen der Daten, die der Drittanbieter-Anwendung zugewiesen sind, basierend auf einem vorgegebenen Hochladezeitplan ermittelt.

8. Verfahren nach irgendeinem der Ansprüche 1–7, worin das Clientgerät das Hochladen der Daten, die dem Drittanbieter-Anwendung zugewiesen sind, basierend auf dem Erkennen von Änderungen an der Drittanbieter-Anwendung, die von der Drittanbieter-Anwendung gemeldet werden, ermittelt.

9. Verfahren nach irgendeinem der Ansprüche 1–8, worin das Clientgerät das Hochladen der Daten, die der Drittanbieter-Anwendung zugewiesen sind, ermittelt, wenn das Clientgerät die Sicherungsanforderung vom Clientgerät-Benutzer erhält.

10. Verfahren nach irgendeinem der Ansprüche 1–9, worin das Übermitteln von Binär- und Metadaten Folgendes umfasst:
das Aggregieren der Binär- und der Metadaten der Drittanbieter-Anwendung in eine Einzeldatei; und
das Übermitteln der Datei an einen Hochladeserver im Cloudspeicher, worin der Hochladeserver so konfiguriert ist, dass:
die Binärdaten von den Metadaten getrennt werden;
die Binärdaten zum Speichern in der ersten Cloudspeicherposition übermittelt werden;
die Speicheradresse der ersten Cloudspeicherposition an die Metadaten angehängt wird, um aktualisierte Metadaten zu erhalten; und
aktualisierte Metadaten zum Speichern in der zweiten Cloudspeicherposition übermittelt werden.

11. Verfahren nach Anspruch 10, worin die Einzeldatei den Dateityp .tar hat.

12. Verfahren nach irgendeinem der Ansprüche 1–11, worin die Daten, die der Drittanbieter- Anwendung zugewiesen sind, Anwendungsdaten, Benutzerpräferenzen und Anwendungsinhalte beinhalten.

13. Verfahren nach irgendeinem der Ansprüche 1–12, des Weiteren umfassend das Empfangen einer Referenz zur zweiten Cloudspeicherposition am Clientgerät.

14. Verfahren nach irgendeinem der Ansprüche 1–13, worin zuvor hochgeladene Binärdaten für die Drittanbieter-Anwendung überschrieben werden, wenn die Binärdaten in der ersten Cloudspeicherposition gespeichert werden, und zuvor hochgeladene Metadaten für die Drittanbieter-Anwendung überschrieben werden, wenn aktualisierte Metadaten in der zweiten Cloudspeicherposition gespeichert werden.

15. Verfahren nach irgendeinem der Ansprüche 1–14, worin übermittelte Binär- und Metadaten für einen Benutzer über die Benutzeroberfläche mit Zugriff auf den Cloudspeicher zugänglich sind.

16. Verfahren nach irgendeinem der Ansprüche 1–15, worin das Clientgerät ein erstes Clientgerät ist, und Binärdaten und aktualisierte Metadaten derart auf das zweite Clientgerät heruntergeladen werden, dass Drittanbieter-Anwendungsdaten auf dem ersten Clientgerät mit Drittanbieter-Anwendungsdaten auf dem zweiten Gerät synchronisiert werden.

17. Verfahren nach irgendeinem der Ansprüche 1–16, worin die Binär- und Metadaten an den Hochladeserver im Cloudspeicher übermittelt werden, und worin der Hochladeserver Binärdaten in die erste Cloudspeicherposition schreibt und aktualisierte Metadaten zum Schreiben an die zweite Cloudspeicherposition übermittelt.

18. Verfahren nach Anspruch 17, worin der Hochladeserver aktualisierte Metadaten an den Cloudspeicherdienst übermittelt, der so konfiguriert ist, dass aktualisierte Metadaten aus der zweiten Cloudspeicherposition gelesen und aktualisierte Metadaten in die zweite Cloudspeicherposition geschrieben werden.

19. Verfahren nach irgendeinem der Ansprüche 1–18, worin beim Übermitteln von Binärdaten keine Schlüsselwertpaare verwendet werden.

20. Verfahren nach irgendeinem der Ansprüche 1–19, des Weiteren umfassend:
das Ermitteln, ob ein der Drittanbieter-Anwendung zugewiesenes Verzeichnis anzeigt, dass die Daten, die der Drittanbieter-Anwendung zugewiesen sind, durch Nutzen eines Voll- oder Teil-Datensicherungsprozesses zu übermitteln sind; und
das Übermitteln eines Teils der Metadaten zum Cloudspeicher, wenn das Nutzen eines Teildatensicherungsprozesses ohne Übermitteln irgendwelcher Binärdaten zum Cloudspeicher ermittelt wird.

21. Verfahren nach Anspruch 20, worin das Übermitteln eines Metadatenteils an den Cloudspeicher das Nutzen von Schlüsselwertpaaren umfasst.

22. System zum Durchführen irgendeines der Verfahren der Ansprüche 1–21.

23. Verfahren zum Speichern von Drittanbieter-Anwendungsdaten in Cloudspeichern, umfassend:
das Ermitteln des Herunterladens auf einen Cloudspeicherserver von Daten, die einer Drittanbieter-Anwendung zugewiesenen sind, welche auf einem Clientgerät gespeichert ist, worin die Daten, die der Drittanbieter-Anwendung zugewiesen sind, Binär- und Metadaten beinhalten;
das Speichern der Binärdaten der Drittanbieter-Anwendung in einer ersten Cloudspeicherposition mit Speicheradresse, worin die Metadaten aktualisiert werden, um die Speicheradresse zu beinhalten; und
das Speichern der aktualisierten Metadaten in einer zweiten Cloudspeicherposition, die sich von der ersten Cloudspeicherposition unterscheidet.

24. Verfahren nach Anspruch 23, worin die Binärdaten von der Drittanbieter-Anwendung alle Daten für die Drittanbieter-Anwendung beinhalten.

25. Verfahren nach irgendeinem der Ansprüche 23–24, worin das Clientgerät ermittelt, ob die Daten hochzuladen sind, durch:
das Identifizieren der gespeicherten Binärdaten, die der Drittanbieter-Anwendung zugewiesenen sind, die auf dem Clientgerät gespeichert ist;
das Identifizieren der zuvor hochgeladenen Binärdaten, die der Drittanbieter-Anwendung zugewiesenen sind;
das Berechnen einer Differenz zwischen den gespeicherten Binärdaten und den zuvor hochgeladenen Binärdaten; und
das Vergleichen der Differenz mit einem Schwellenwert.

26. Verfahren nach Anspruch 25, worin das Clientgerät das Hochladen der Daten, die der Drittanbieter-Anwendung zugewiesen sind, ermittelt, wenn die Differenz dem Schwellenwert gleicht oder diesen überschreitet.

27. Verfahren nach irgendeinem der Ansprüche 23–26, worin das Clientgerät Daten speichert, die einer Vielzahl von Drittanbieter-Anwendungen zugewiesen sind, wobei jede Drittanbieter-Anwendung in der Vielzahl von Drittanbieter-Anwendungen den zugehörigen Binär- und den zugehörigen Metadaten zugewiesen ist, und wobei die zugehörigen Binärdaten und zugehörigen Metadaten für jede Drittanbieter-Anwendung vom Clientgerät in einem einzelnen Hochladevorgang hochgeladen werden.

28. Verfahren nach irgendeinem der Ansprüche 23–27, worin die Daten, die der Drittpartei- Anwendung zugewiesen sind, vor dem Herunterladen auf das Clientgerät nicht vollständig dupliziert werden.

29. Verfahren nach irgendeinem der Ansprüche 23–28, worin das Clientgerät das Hochladen der Daten, die der Drittanbieter-Anwendung zugewiesen sind, basierend auf einem vorgegebenen Hochladezeitplan ermittelt.

30. Verfahren nach irgendeinem der Ansprüche 23–29, worin das Clientgerät das Hochladen der Daten, die der Drittanbieter-Anwendung zugewiesen sind, basierend auf dem Erkennen von Änderungen an der Drittanbieter-Anwendung, die von der Drittanbieter-Anwendung gemeldet werden.

31. Verfahren nach irgendeinem der Ansprüche 23–30, worin das Clientgerät das Hochladen der Daten, die der Drittanbieter-Anwendung zugewiesen sind, ermittelt, wenn das Clientgerät eine Sicherungsanforderung vom Benutzer eines Clientgeräts erhält.

32. Verfahren nach irgendeinem der Ansprüche 23–31, worin:
das Clientgerät so konfiguriert ist, dass:
die Binär- und Metadaten von der Drittanbieter-Anwendung in einer Einzeldatei aggregiert werden; und
die Datei an einen Hochladeserver im Cloudspeicher übermittelt werden; und der Hochladeserver so konfiguriert ist, dass:
die Binärdaten von den Metadaten getrennt werden;
die Binärdaten zum Speichern in der ersten Cloudspeicherposition übermittelt werden;
die Speicheradresse der ersten Cloudspeicherposition an die Metadaten angehängt wird, um aktualisierte Metadaten zu erhalten; und
die aktualisierten Metadaten zum Speichern in der zweiten Cloudspeicherposition übermittelt werden.

33. Verfahren nach Anspruch 32, worin die Einzeldatei einen Datentyp .tar hat.

34. Verfahren nach irgendeinem der Ansprüche 23–33, worin die Daten, die der Drittanbieter-Anwendung zugewiesen sind, Benutzerpräferenzen und Anwendungsinhalte beinhalten.

35. Verfahren nach irgendeinem der Ansprüche 23–34, des Weiteren umfassend das Übermitteln einer Referenz zur zweiten Cloudspeicherposition an das Clientgerät.

36. Verfahren nach irgendeinem der Ansprüche 23–35, worin die zuvor hochgeladenen Binärdaten für die Drittanbieter-Anwendung überschrieben werden, wenn die Binärdaten in der ersten Cloudspeicherposition gespeichert werden, und die zuvor hochgeladenen Metadaten für die Drittanbieter-Anwendung überschrieben werden, wenn die aktualisierte Metadaten in der zweiten Cloudspeicherposition gespeichert werden.

37. Verfahren nach irgendeinem der Ansprüche 23–36, worin die übermittelten Binär- und Metadaten für einen Benutzer über die Benutzeroberfläche mit Zugriff auf den Cloudspeicher zugänglich sind.

38. Verfahren nach irgendeinem der Ansprüche 23–37, worin das Clientgerät ein erstes Clientgerät ist, das Verfahren des Weiteren umfassend das Übermitteln der Binärdaten und der aktualisierten Metadaten an ein zweites Clientgerät, derart, dass die Drittanbieter-Anwendungsdaten auf dem ersten Clientgerät mit den Drittanbieter-Anwendungsdaten auf dem zweiten Gerät synchronisiert werden.

39. Verfahren nach irgendeinem der Ansprüche 23–38, worin die Binär- und Metadaten an den Hochladeserver im Cloudspeicher übermittelt werden, und worin der Hochladeserver die Binärdaten in die erste Cloudspeicherposition schreibt und die aktualisierten Metadaten zum Schreiben an die zweite Cloudspeicherposition übermittelt.

40. Verfahren nach Anspruch 39, worin der Hochladeserver aktualisierte Metadaten an den Cloudspeicherdienst übermittelt, der so konfiguriert ist, dass die aktualisierten Metadaten aus der zweiten Cloudspeicherposition gelesen und die aktualisierten Metadaten in die zweite Cloudspeicherposition geschrieben werden.

41. Verfahren nach irgendeinem der Ansprüche 23–40, worin beim Speichern von Binärdaten keine Schlüsselwertpaare verwendet werden.

42. Verfahren nach irgendeinem der Ansprüche 23–41, worin das Clientgerät so konfiguriert ist, dass:
das Ermitteln, ob ein Verzeichnis, das der Drittanbieter-Anwendung zugewiesen ist, anzeigt, dass die Daten, die der Drittanbieter-Anwendung zugewiesen sind, durch Nutzen eines Voll- oder Teil-Datensicherungsprozesses zu übermitteln sind; und
wenn ermittelt wird, dass ein Teildatensicherungsprozess genutzt werden soll, das Übertragen eines Teils der Metadaten an den Cloudspeicher, ohne das Übertragen irgendwelcher Binärdaten an den Cloudspeicher.

43. Verfahren nach Anspruch 42, worin der Metadatenteil durch Nutzen von Schlüsselwertpaaren an den Cloudspeicher übermittelt wird.

44. System zum Durchführen irgendeines der Verfahren der Ansprüche 23–43.

45. Verfahren zum Wiederherstellen von Drittanbieter-Anwendungsdaten für das Clientgerät, umfassend:
das Ermitteln, ob die Daten, die der Drittanbieter-Anwendung zugewiesen sind, heruntergeladen werden sollen, worin die Daten, die der Drittanbieter-Anwendung zugewiesen sind, Binärdaten beinhalten, die in einer ersten Cloudspeicherposition gespeichert werden, mit einer Speicheradresse, sowie Metadaten, die in einer zweiten Cloudspeicherposition gespeichert werden;
das Verwenden der Metadaten zum Ermitteln der Speicheradresse der ersten Cloudspeicherposition; und
das Herunterladen der Binärdaten aus der ersten Cloudspeicherposition auf das Clientgerät.

46. Verfahren nach Anspruch 45, worin die Binärdaten der Drittanbieter-Anwendung alle Daten für die Drittanbieter-Anwendung beinhalten.

47. Verfahren nach irgendeinem der Ansprüche 45–46, worin das Clientgerät Daten speichert, die einer Vielzahl von Drittanbieter-Anwendungen zugewiesen sind, wobei jede Drittanbieter-Anwendung in der Vielzahl von Drittanbieter-Anwendungen zugehörigen Binär- und zugehörigen Metadaten zugewiesen ist, und wobei die zugehörigen Binärdaten für jede Drittanbieter-Anwendung vom Clientgerät in einem einzigen Herunterladevorgang heruntergeladen werden.

48. Verfahren nach irgendeinem der Ansprüche 45–47, worin das Clientgerät das Herunterladen von Daten, die der Drittanbieter-Anwendung zugewiesen sind, ermittelt, wenn das Clientgerät die Wiederherstellungsanforderung vom Clientgerät-Benutzer erhält.

49. Verfahren nach irgendeinem der Ansprüche 45–48, worin die Daten, die der Drittanbieter-Anwendung zugewiesen sind, Anwendungsdaten, Benutzerpräferenzen und Anwendungsinhalte beinhalten.

50. Verfahren nach irgendeinem der Ansprüche 45–49, worin das Clientgerät ein erstes Clientgerät ist, und die Binärdaten und die aktualisierten Metadaten derart auf das zweite Clientgerät heruntergeladen werden, dass Drittanbieter-Anwendungsdaten auf dem ersten Clientgerät mit den Drittanbieter-Anwendungsdaten auf dem zweitem Gerät synchronisiert werden.

51. Verfahren nach irgendeinem der Ansprüche 45–50, worin die Binär- und die Metadaten an den Downloadserver im Cloudspeicher übermittelt werden, und worin der Download-Server zuvor die Binärdaten in die erste Cloudspeicherposition schrieb und zuvor die Metadaten zum Schreiben an die zweite Cloudspeicherposition übermittelte.

52. Verfahren nach Anspruch 51, worin Download-Server zuvor die Metadaten an den Cloudspeicherdienst übermittelte, der so konfiguriert ist, dass die aktualisierten Metadaten aus der zweiten Cloudspeicherposition gelesen werden, und die aktualisierten Metadaten in die zweite Cloudspeicherposition geschrieben werden.

53. Verfahren nach irgendeinem der Ansprüche 45–52, worin die Daten, die einer anderen Drittanbieter Anwendung zugewiesen sind, Metadaten, die in einer Drittanbieter- Cloudspeicherposition gespeichert sind, und keine Binärdaten beinhalten.

54. Verfahren nach Anspruch 53, des Weiteren Folgendes umfassend:
das Ermitteln, ob die Daten, die der anderen Drittanbieter-Anwendung zugewiesen sind, auf das Clientgerät heruntergeladen werden sollen;
das Identifizieren der Metadaten, die der anderen Drittanbieter-Anwendung als ein aus in der Drittanbieter-Cloudspeicherposition gespeichertes Schlüsselwertpaar-Set zugewiesen sind; und
das Herunterladen des Schlüsselwertpaarsets auf das Clientgerät.

55. System zum Durchführen irgendeines der Verfahren der Ansprüche 45–54.

56. Verfahren zum Wiederherstellen von Drittanbieter-Anwendungsdaten für ein Clientgerät, umfassend:
das Ermitteln, ob die einer Drittanbieter-Anwendung zugewiesene Daten auf das Clientgerät heruntergeladen werden sollen, worin die Daten, die einer Drittanbieter-Anwendung zugewiesen sind, Binärdaten beinhalten, die in einer ersten Cloudspeicherposition gespeichert sind und eine Speicheradresse aufweisen, und Metadaten, die in einer zweiten Cloudspeicherposition gespeichert sind;
das Verwenden der Metadaten zum Ermitteln der Speicheradresse der ersten Cloudspeicherposition; und
das Bereitstellen der Binärdaten von der ersten Cloudspeicherposition zum Clientgerät.

57. Verfahren nach Anspruch 56, worin die Binärdaten der Drittanbieter-Anwendung alle Daten für die Drittanbieter-Anwendung beinhalten.

58. Verfahren nach irgendeinem der Ansprüche 56–57, worin das Clientgerät die Daten, die einer Vielzahl von Drittanbieter-Anwendungen zugewiesen sind, speichert, worin jeder Drittanbieter-Anwendung in der Vielzahl von Drittanbieter-Anwendungen die zugehörigen Binär- und die zugehörigen Metadaten zugewiesen sind, und worin die zugehörigen Binärdaten für jede Drittanbieter-Anwendung vom Clientgerät in einem einzelnen Herunterladevorgang heruntergeladen werden.

59. Verfahren nach irgendeinem der Ansprüche 56–58, worin das Clientgerät das Herunterladen von Daten, die der Drittanbieter-Anwendung zugewiesen sind, ermittelt, wenn das Clientgerät die Wiederherstellungsanforderung vom Clientgerät-Benutzer erhält.

60. Verfahren nach irgendeinem der Ansprüche 56–59, worin die Daten, die der Drittanbieter-Anwendung zugewiesen sind, Benutzerpräferenzen und Anwendungsinhalte beinhalten.

61. Verfahren nach irgendeinem der Ansprüche 56–60, worin das Clientgerät ein erstes Clientgerät ist, und die Binärdaten und aktualisierten Metadaten derart auf das zweite Clientgerät heruntergeladen werden, dass die Drittanbieter-Anwendungsdaten auf dem ersten Clientgerät mit den Drittanbieter-Anwendungsdaten auf dem zweiten Gerät synchronisiert werden.

62. Verfahren nach irgendeinem der Ansprüche 56–61, worin die Binär- und Metadaten an den Downloadserver im Cloudspeicher übermittelt werden, und worin der Download-Server zuvor Binärdaten in die erste Cloudspeicherposition schrieb und zuvor Metadaten zum Schreiben an zweite Cloudspeicherposition übermittelte.

63. Verfahren nach Anspruch 62, worin der Download-Server zuvor Metadaten an den Cloudspeicherdienst übermittelte, der so konfiguriert ist, dass aktualisierte Metadaten aus der zweiten Cloudspeicherposition gelesen und aktualisierte Metadaten in die zweite Cloudspeicherposition geschrieben werden.

64. Verfahren nach irgendeinem der Ansprüche 56–63, worin Daten, die einer anderen Drittanbieter-Anwendung zugewiesen sind, in der Drittanbieter-Cloudspeicherposition gespeicherte Metadaten und keine Binärdaten beinhalten.

65. Verfahren nach Anspruch 64, des Weiteren Folgendes umfassend:
das Ermitteln, ob dem Clientgerät die der anderen Drittanbieter-Anwendung zugewiesenen Daten bereitzustellen sind;
das Identifizieren der Metadaten, die der anderen Drittanbieter-Anwendung zugewiesen sind, als ein aus in der Drittanbieter-Cloudspeicherposition gespeichertes Schlüsselwertpaar-Set; und
das Bereitstellen des Schlüsselwertpaar-Sets an das Clientgerät.

66. System zum Durchführen irgendeines der Verfahren der Ansprüche 56–65.

Description:
Querverweis auf zugehörige Anmeldungen

Für diese Anwendung besteht ein Patentanspruch in den USA. Vorläufige Anwendungsnummer 62/167.148, eingereicht am 27. Mai 2015 und bezogen auf die USA. Gebrauchsanmeldung Nr. 15/156.539, eingereicht am 17. Mai 2016, die jede in ihrer Gesamtheit hier enthalten ist.

Gebiet der Erfindung

Im Allgemeinen bezieht sich diese Offenbarung auf Systeme und Verfahren zum Datensichern in Cloudspeichern und zum Wiederherstellen von Daten bei mobilen Geräten von Cloudspeichern.

Hintergrund

Der Einsatz von mobilen Geräten nimmt zu, denn globales Verbraucherverhalten verändert sich in Richtung Nutzung von Inhalten, Gestaltung und Verwaltung von mobilen Geräten. Allerdings sind mobile Geräte eine schlechte Plattform für einen Datenerhalt. Sie können leicht beschädigt oder funktionsunfähig gemacht werden, was oft zu Verlust von lokal gespeicherten Inhalten oder Daten führt. Unzugängliche Daten und Inhalte infolge von Störungen an mobilen Geräten können auf technische Gründe zurückgeführt werden, die unzureichende oder technisch ineffiziente Datensicherungsfunktionen beinhalten können.

Außerdem aktualisieren Benutzer von mobilen Geräten ihre Geräte häufig. Beim Einrichten eines neuen Geräts wird die Benutzererfahrung wegen Verlust von Anwendungsdaten und zugewiesenen Einstellungen oft beeinträchtigt. Dies kann vom Nutzer das Einstellen eines neuen Geräts von Grund auf erfordern, was eine große Anzahl an Benutzereingaben erfordern und die Belastung auf den Benutzeroberflächen-Komponenten des neuen Geräts erhöhen kann. Außerdem kann das Erfordernis, dass der Benutzer das neue Gerät von Grund auf neu einstellen muss, zum Verlust von wichtigen Drittanbieter-Anwendungen zugewiesenen Daten führen, beispielsweise Textnachrichten, Fotos, Anwendungspräferenzen, Sicherheitseinstellungen oder irgendwelche geeignete Drittanbieter-Anwendungsdaten. Bestehende Sicherungstechnologien greifen oft auf das Nutzen von Schlüsselwertpaaren zurück, die nur bestimmte Aspekte von Drittanbieter-Anwendungsdaten sichern. Verwendung von Schlüsselwertpaaren zum Wiederherstellen einer Drittanbieter-Anwendung für ein Clientgerät kann Anwendungseinstellungen wiederherstellen, kann aber nicht zusätzliche Inhalte der Drittanbieter-Anwendung wiederherstellen. Dadurch kann eine Drittanbieter-Anwendung mit gesicherten Einstellungen und als Schlüsselwertpaare gespeichert zum Wiederherstellen eines Drittanbieter-Anwendungsumfelds gemäß den Benutzereinstellungen führen, jedoch zum Verlust des durch den Benutzer generierten oder gespeicherten Drittanbieter-Anwendungs-Inhalts in der Drittanbieter-Anwendung. Außerdem können bestehende Systeme von den Entwicklern von Drittanbieter-Anwendungen fordern, die Drittanbieter-Anwendungen speziell zu konfigurieren, um Sicherungen zu ermöglichen, oder vom Benutzer erfordern, zur Sicherung auszuweichen oder die Sicherung manuell auszulösen.

Kurzdarstellung

Systeme und Verfahren sind hier zur Volldatensicherung von Anwendungsdaten in Cloudspeichern für jede einzelne Anwendung offenbart, um die Datensicherung und die Wiederherstellung von Drittanbieter-Anwendungen zugewiesenen Daten effizienter und verlässlicher zu machen. Volldatensicherung beinhaltet alle einer Drittanbieter-Anwendung zugewiesenen Daten, einschließlich aller Einstellungen zugewiesenen Binär- und Metadaten, beispielsweise Sicherheitseinstellungen, Umfeld, Anwendungshistorie, Benutzerpräferenzen und Anwendungsinhalt, sowie irgendwelche der Drittanbieter-Anwendung zugewiesenen Daten die zur Ausführung der Drittanbieter-Anwendung oder Gestaltung des Drittanbieter-Anwendungsumfelds angewandt werden. Folglich ist ein Beispiel einer effizient verbesserten Volldatensicherung die Verringerung der erforderlichen Anzahl an Benutzereingaben, die zur Sicherung und Wiederherstellung aller geforderten Daten erforderlich sind, was die Belastung der Benutzeroberflächen-Komponenten des Geräts reduziert. Durch die Anzeige des mobilen Geräts genutzter Strom kann einen erheblichen Teil des gesamten Energieverbrauchs des mobilen Geräts ausmachen und somit kann die reduzierte Zeit des aktiven Displays zu einem verminderten Stromverbrauch führen, was insbesondere bei mobilen Geräten vorteilhaft sein kann, wo ein möglichst geringer Verbrauch von Batteriestrom von Bedeutung ist. Datensicherungen können durch das Clientgerät-Sicherungs-Framework regelmäßig eingeleitet werden, wenn ermittelt wurde, dass eine Sicherung erfolgen sollte. Drittanbieter-Anwendungsdaten werden für jede Anwendung an eine Cloudspeicherposition hochgeladen. Insbesondere können die Drittanbieter-Anwendungsdaten zwei Formen von Daten beinhalten: Binär- und Metadaten. In diesem Fall können die Binärdaten getrennt von den Metadaten gespeichert werden. Kennung, die die Speicherposition der Binärdaten beinhaltet, kann derart an die Metadaten angehängt werden, dass die angehängten Metadaten eine Referenz zur Cloudspeicher-Adresse der Binärdaten beinhalten. Binär- und Metadaten weisen verschiedene Merkmale auf und können verschiedene optimale Speicherlösungen aufweisen. Binäre Datenspeicherung kann beispielsweise ein Mittel zur Speicherung von großen Datenmengen und schnellen sequentiellen Lesezugriff von Bytes erfordern. Binärspeicher kann oder kann nicht durchsuchbar oder anderweitig indiziert werden. Metadaten-Speicher kann Fähigkeiten im Zusammenhang mit einer schnellen Speicherung von nichtbinären Daten aufweisen, einhergehend mit der Gestaltung von hierarchischen Beziehungen und Verbreitung von Metadaten, beispielsweise Daten zu Eigentumsrechten über verbundene Ordner und Dateien. Metadaten-Speicher beinhaltet auch Mittel zur Suche von gespeicherten Metadaten und ist zur schnellen Bewältigung von diesen Suchen ausgestattet, um erwartete Benutzeroberflächen-Reaktionszeiten zu unterstützen.

Wenn ein Benutzer Drittanbieter-Anwendungsdaten für ein Clientgerät wiederherstellen möchte, kann der Benutzer einen Geräte-Wiederherstellungsprozess einleiten, der die Drittanbieter-Anwendungsdaten vom Cloud-Speicher zum Clientgerät wiederherstellt. Da Drittanbieter-Anwendungsdaten von Volldatensicherungen wiederhergestellt werden, die sowohl Einstellungen als auch Inhalte beinhalten, wird der Datenverlust vermindert. Drittanbieter-Anwendung, Anwendungsumfeld und Drittanbieter-Anwendungsinhalte werden aus der Sicherung wiederhergestellt, sodass ein nahtloser Übergang zum neuen Gerät erreicht wird. Wiederherstellung aus der im Cloudspeicher gespeicherten Volldatensicherung ermöglicht dem Benutzer die Wiederherstellung eines Geräts in den exakten Status des vorhergehenden Geräts, was installierte Apps, Einstellungen und wahlweise zusätzliche Inhalte beinhaltet, beispielsweise Fotos, Texte und Audio- oder Videodateien.

In einem Aspekt beinhaltet ein Verfahren zur Speicherung von Drittanbieter-Anwendungsdaten in Cloudspeichern das Ermitteln zum Hochladen von einer Drittanbieter-Anwendung zugewiesenen Daten, wobei diese Anwendung auf einem Clientgerät an einen Cloudspeicherserver gespeichert wird. Drittanbieter-Anwendung zugewiesene Daten beinhalten sowohl Binär- als auch Metadaten. Verfahren beinhaltet des Weiteren Speichern der Binärdaten der Drittanbieter-Anwendung in einer ersten Cloudspeicherposition. Erste Cloudspeicherposition hat eine Speicheradresse, die Metadaten werden aktualisiert und beinhalten die Speicheradresse. Verfahren beinhaltet demnach das Speichern von aktualisierten Metadaten in einer zweiten Cloudspeicherposition, die sich von der ersten Cloudspeicherposition unterscheidet.

In einigen Implementierungen beinhalten die Binärdaten der Drittanbieter-Anwendung alle Daten für die Drittanbieter-Anwendung. In einigen Implementierungen ermittelt das Clientgerät, ob es die Daten durch Identifizierung der gespeicherten der auf dem Clientgerät gespeicherten Drittanbieter-Anwendung zugewiesenen Binärdaten hochladen soll. In einigen Implementierungen identifiziert das Clientgerät auch die zuvor hochgeladenen der Drittanbieter-Anwendung zugewiesenen Binärdaten und berechnet die Differenz zwischen den gespeicherten Binärdaten und den zuvor hochgeladenen Binärdaten. Clientgerät vergleicht die Differenz mit einem Schwellenwert. Wenn die Differenz dem Schwellenwert gleicht oder diesen überschreitet, ermittelt das Clientgerät das Hochladen der Drittanbieter-Anwendung zugewiesenen Daten.

In einigen Implementierungen speichert das Clientgerät einer Vielzahl von Drittanbieter-Anwendungen zugewiesene Daten, wobei jede Drittanbieter-Anwendung in der Vielzahl von Drittanbieter-Anwendungen den zugehörigen Binärdaten und zugehörigen Metadaten zugewiesen ist. Zugehörige Binärdaten und zugehörige Metadaten für jede Drittanbieter-Anwendung werden vom Clientgerät in einer einzelnen Hochladung hochgeladen. In einigen Implementierungen werden der Drittanbieter-Anwendung zugewiesene Daten vor dem Herunterladen der Daten nicht vollständig auf dem Clientgerät dupliziert. In einigen Implementierungen ermittelt das Clientgerät das Hochladen der Daten, die der Drittanbieter-Anwendung zugewiesen sind, aufgrund eines vorgegebenen Hochladezeitplans. In einigen Implementierungen ermittelt das Clientgerät das Hochladen der Daten, die der Drittanbieter-Anwendung zugewiesen sind, gestützt auf dem Erkennen von Änderungen der Drittanbieter-Anwendung, die von der Drittanbieter-Anwendung gemeldet wird. In einigen Implementierungen ermittelt das Clientgerät das Hochladen der Daten, die der Drittanbieter-Anwendung zugewiesen sind, wenn das Clientgerät eine Sicherungsanforderung vom Benutzer eines Clientgeräts erhält.

In einigen Implementierungen ist das Clientgerät zur Aggregation der Binärdaten und der Metadaten der Drittanbieter-Anwendung in eine Einzeldatei sowie zum Übermitteln der Datei an einen Hochladeserver im Cloudspeicher konfiguriert. Hochladeserver ist so konfiguriert, dass dieser die Binärdaten von den Metadaten trennt, die Binärdaten zur Speicherung in die erste Cloudspeicherposition übermittelt, die Speicheradresse der ersten Cloudspeicherposition an die Metadaten anhängt, die aktualisierten Metadaten erhält und die aktualisierten Metadaten zur Speicherung in die zweite Cloudspeicherposition übermittelt.

In einem anderen Aspekt beinhaltet ein Verfahren zum Wiederherstellen von Drittanbieter-Anwendungsdaten für ein Clientgerät das Ermitteln, ob es einer Drittanbieter-Anwendung zugewiesene Daten zum Clientgerät bereitstellen soll. Drittanbieter-Anwendungen zugewiesene Daten beinhalten Binärdaten, die in einer ersten Cloudspeicherposition gespeichert sind und eine Speicheradresse aufweisen, und Metadaten, die in einer zweiten Cloudspeicherposition gespeichert sind. Verfahren beinhaltet des Weiteren Nutzen der Metadaten, um die Speicheradresse der ersten Cloudspeicherposition zu ermitteln, und die Bereitstellung der Binärdaten von der ersten Cloudspeicherposition zum Clientgerät.

In einigen Implementierungen beinhalten die Binärdaten der Drittanbieter-Anwendung alle Daten für die Drittanbieter-Anwendung. In einigen Implementierungen speichert das Clientgerät Daten, die einer Vielzahl von Drittanbieter-Anwendungen zugewiesen sind. Jede Drittanbieter-Anwendung in der Vielzahl von Drittanbieter-Anwendungen ist den zugehörigen Binär- und den zugehörigen Metadaten zugewiesen, und die zugehörigen Binärdaten werden für jede Drittanbieter-Anwendung zum Clientgerät in einem einzelnen Herunterladevorgang heruntergeladen. In einigen Implementierungen ermittelt das Clientgerät das Herunterladen von Drittanbieter-Anwendungen zugewiesenen Daten, wenn das Clientgerät eine Wiederherstellungsanforderung vom Benutzer eines Clientgeräts erhält. In einigen Implementierungen beinhalten die den Drittanbieter-Anwendungen zugewiesenen Daten Anwendungsdaten, Benutzerpräferenzen und Anwendungsinhalte. In einigen Implementierungen ist das Clientgerät das erste Clientgerät, und die Binärdaten und die aktualisierten Metadaten werden derart auf ein zweites Clientgerät heruntergeladen, dass die Drittanbieter-Anwendungsdaten auf dem ersten Clientgerät mit Drittanbieter-Anwendungsdaten auf dem zweiten Gerät synchronisiert sind.

In einigen Implementierungen werden die Binär- und Metadaten an einen Downloadserver im Cloudspeicher übermittelt, worin der Downloadserver zuvor die Binärdaten an die erste Cloudspeicherposition schrieb und zuvor die Metadaten zum Schreiben an die zweite Cloudspeicherposition übertrug. In einigen Implementierungen überträgt der Downloadserver zuvor die Metadaten an einen Cloudspeicherdienst, der so konfiguriert ist, dass die aktualisierten Metadaten von der zweiten Cloudspeicherposition gelesen und die aktualisierten Metadaten an die zweite Cloudspeicherposition geschrieben werden. In einigen Implementierungen beinhalten Daten, die einer anderen Drittanbieter-Anwendung zugewiesen sind, Metadaten, die in einer Drittanbieter-Cloudspeicherposition gespeichert sind, sie beinhalten aber keine Binärdaten. In einigen Implementierungen beinhaltet das Verfahren zum Wiederherstellen von Drittanbieter-Anwendungsdaten für ein Clientgerät auch das Ermitteln, ob die der anderen Drittanbieter-Anwendung zugewiesenen Daten dem Clientgerät bereitzustellen sind, und das Identifizieren der der anderen Drittanbieter-Anwendung zugewiesenen Metadaten als ein aus in der Drittanbieter-Cloudspeicherposition gespeicherten Schlüsselwertpaar-Set sowie das Bereitstellen des Schlüsselwertpaar-Sets an das Clientgerät.

Kurze Beschreibung der Zeichnungen

Oben dargelegte und andere Merkmale der vorliegenden Offenbarung, einschließlich deren Wesensart und deren unterschiedlichen Vorteile, sind unter Berücksichtigung der folgenden näheren Beschreibung erkennbarer, in Verbindung mit den dazugehörigen Zeichnungen, in denen:

1 ein Blockdiagramm eines Systems zum Hochladen von Daten an einen Cloudspeicherdienst nach der illustrativen Ausführungsform ist;

2 ein Blockdiagramm eines Clientgeräts und eines Servers ist, die so konfiguriert sind, dass durch das Zusammenwirken ein Daten-Hochladeprozess nach der illustrativen Ausführungsform durchgeführt wird;

3 ein Blockdiagramm ist, das ein illustratives Verfahren zum Hochladen von Drittanbieter-Anwendungsdaten nach der illustrativen Ausführungsform darstellt; und

4 ein Blockdiagramm ist, das ein illustratives Verfahren zum Wiederherstellen von Drittanbieter-Anwendungsdaten aus dem Cloudspeichersystem an ein Gerät nach der illustrativen Ausführungsform darstellt;

5 ein Ablaufdiagramm eines Verfahrens zur Speicherung von Drittanbieter-Anwendungsdaten in Cloudspeichern nach der illustrativen Ausführungsform darstellt; und

6 ein Ablaufdiagramm eines Verfahrens zum Wiederherstellen von Drittanbieter-Anwendungsdaten für ein Clientgerät nach der illustrativen Ausführungsform darstellt.

Ausführliche Beschreibung

Um ein ganzheitliches Verständnis der hier beschriebenen Systeme und Verfahren bereitzustellen, werden nun bestimmte Ausführungsformen beschrieben, einschließlich eines Systems zur Sicherung und Wiederherstellung von Drittanbieter-Anwendungsdaten an einem Clientgerät. Allerdings wird ein regulär geschulter Benutzer sehen, dass die hier beschriebenen Systeme und Methoden entsprechend abgeändert und angepasst werden können, um der jeweiligen Anwendung zu genügen, und ebenfalls, dass die hier beschriebenen Systeme und Methoden auch in anderen geeigneten Anwendungen eingesetzt werden können und dass diese Zusätze und Änderungen nicht aus deren Ausmaß abweichen. Im Allgemeinen können die hier beschriebenen computerisierten Systeme eine oder mehrere Treiber umfassen, die einen Prozessor oder Rechner, wie einen Computer, ein Logikgerät oder ein anderes Gerät oder einen Prozessor umfassen, der mit Hardware, Firmware und Software bestückt ist, um eine oder mehrere der hier beschriebenen computerisierten Methoden durchzuführen.

Wie hier beschrieben, stellt die gegenständliche Offenbarung ein System und Verfahren bereit, die eine Vollsicherung von einer Drittanbieter-Anwendung zugewiesenen Daten durchführen. Anstatt Drittanbieter-Anwendungs-Einstellungen zugewiesener Schlüsselwertpaare werden alle der Drittanbieter-Anwendung zugewiesenen Daten, einschließlich Einstellungen, Historie und Inhalt, im Cloudspeicher hochgeladen. Sowohl Binär- als auch Metadaten, die Drittanbieter-Anwendungen zugewiesen sind, werden durch Hochladen in Cloudspeichern gesichert. Metadaten für eine Drittanbieter-Anwendung können Dateiname, Größe, Zugangscode oder Identifizierungsnummer beinhalten, Dateihistorie, Beschreibung, aktuelle Version des Betriebssystems, wofür die Drittanbieter-Anwendung konzipiert ist, und sonstige statische Metadaten. Andere Dateien und Daten neben den für die Drittanbieter-Anwendung spezifischen Daten können auch durch Anwendung eines ähnlichen Verfahrens gesichert werden. Diese Daten können eine Speicherkarte, eine SD-Karte, Download-Ordner oder andere nicht mit Daten von einzelnen Apps zugewiesene Datenbestände beinhalten. Zusätzlich können diese und andere im Cloudspeicher gesicherte Dateien und Daten einem Benutzer in einer cloudbasierten Dateispeichersystem-Benutzeroberfläche als voll funktionsfähige und sichtbare Dateien verfügbar sein.

Sicherung von Drittanbieter-Anwendungsdaten kann gemäß einem vorgegebenen Zeitplan erfolgen oder bei Änderungen von Drittanbieter-Anwendungsdaten. Vorgegebener Zeitplan kann beispielsweise eine Sicherung von Drittanbieter-Anwendungsdaten jedes festgelegte Intervall, beispielsweise einmal pro Tag, einmal pro Woche, einmal pro Monat oder irgendeine geeignete Frequenz, erfordern. Als anderes Beispiel kann Sicherung automatisch eingeleitet werden, wenn ermittelt ist, dass mindestens eine Schwellenwertmenge an Änderungen an den Drittanbieter-Anwendungsdaten durchgeführt wurde. Insbesondere können Änderungen an Drittanbieter-Anwendungsdaten Änderungen an internen Drittanbieter-Anwendungs-Datenbanken oder Einstellungen beinhalten. In einigen Ausführungsformen werden Änderungen an Drittanbieter-Anwendungen in einem der Anwendung zugewiesenen Ordner erfasst. Auf diese Änderungen kann durch das Clientgerät-Sicherungs-Framework zugegriffen werden, um zu ermitteln, ob ein Hochladen erforderlich ist.

In einigen Ausführungsformen kann das Clientgerät derart konfiguriert sein, dass es dem Benutzer benutzerdefinierte Einstellungen in Bezug auf die Sicherung ermöglicht. Wenn das Clientgerät beispielsweise ein Mobiltelefon ist, kann es für das Mobiltelefon unerwünscht sein, Drittanbieter-Anwendungsdaten in Cloudspeichern hochzuladen, wenn das Mobiltelefon mit einem Mobilfunknetz verbunden ist, denn dies würde den Verbrauch von Daten im Benutzer-Datenplan nach sich ziehen. In diesem Fall kann das Clientgerät derart konfiguriert werden, dass es die Sicherung durchführt, wenn das mobile Gerät mit einem schnellen, verlässlichen und/oder billigen Netz, beispielsweise einem WLAN-Netzwerk, verbunden ist. Alternativ kann der Benutzer eine oder mehrere Optionen zur Aktivierung einer Sicherung über ein Mobilfunknetz auswählen. Sicherung kann derart konfiguriert sein, dass geforderte für mehrere Drittanbieter-Anwendungen ermittelte Sicherungen gruppiert werden und alle Hochladungen für jene mehrere Drittanbieter-Anwendungen eine nach der anderen während eines Hochladevorgangs ausgeführt werden. Mehrere erforderliche Sicherungen für mehr als eine der Drittanbieter-Anwendungen können auch kontinuierlich erfolgen, sobald Änderungen an Drittanbieter-Anwendungsdaten durchgeführt werden. Sicherungen können auch so konfiguriert werden, dass diese nur beim Erfüllen von spezifischen Geräteanforderungen erfolgen, beispielsweise wenn ein mobiles Gerät ans Stromnetz angeschlossen wird oder während Leerstunden oder zu Zeiten, wenn die wenigsten Zugriffe auf die Datenbank erfolgen, beispielsweise nachts.

1 zeigt ein Blockdiagramm eines Systems 100 zum Hochladen von Daten an einen Cloudspeicherdienst. System beinhaltet ein Clientgerät 101, Anwendungen 102a und 102b (im Allgemeinen Anwendung 102), einen Cloudspeicher 103, eine erste Cloudspeicherposition 104 und eine zweite Cloudspeicherposition 106. Clientgerät 101 beinhaltet Drittanbieter-Anwendungen 102, die dazugehörige Daten beinhalten. Daten können sowohl Binär- als auch Metadaten beinhalten. Clientgerät ermittelt, dass ein Hochladen erfolgen sollte. Ermittlung, dass ein Hochladen erfolgen sollte, kann durch eine Benutzeraktion, eine zeitlich festgelegte Hochladung oder eine Hochladung aufgrund von Änderungen an den Drittanbieter-Anwendungen und Anwendungsdaten ausgelöst werden, die durch den Benutzer oder auf eine andere Weise eingeleitet werden können. Clientgerät 101 überträgt Binär- und Metadaten der Drittanbieter-Anwendung an Cloudspeicher 103. Binärdaten der Drittanbieter-Anwendung werden in einer ersten Cloudspeicherposition 104 und die Metadaten der Drittanbieter-Anwendung in der zweiten Cloudspeicherposition 106 innerhalb des Cloudspeichers 103 gespeichert.

DATEN HOCHLADEN

2 ist ein Blockdiagramm eines Systems 200, das so konfiguriert ist, dass es zur Ausführung eines Daten-Hochladeprozesses kooperiert. System 200 beinhaltet ein Sicherungs-Framework 208, ein Backup-Transport 210 und Drittanbieter-Anwendungen 202a, 202b, 202c auf einem Clientgerät 201 (z. B. auf der „Clientseite“) sowie einen Sicherungsserver 218, einen Hochladeserver 224, den Cloudspeicherdienst 203 und den Metadaten-Speicher 226 auf einem Server 216 (z. B. auf der „Serverseite“). Clientgerät 201 kann ein mobiles Gerät, beispielsweise ein Telefon oder ein Tablet, beinhalten. Während das Clientgerät 201 hier oft als mobiles Gerät beschrieben ist, wird ein Fachmann aufgrund des aktuellen Stands der Technik verstehen, dass die Systeme und Verfahren der vorliegenden Offenbarung auch beim Durchführen der Sicherung und Wiederherstellen von Anwendungsdaten an irgendeiner Anzahl von Computergeräten anwendbar sind, was Desktop-Computer, Laptops oder irgendein geeignetes Computergerät beinhaltet. Clientgerät 201 speichert Drittanbieter-Anwendungen 202a, 202b, 202c zugewiesene Daten, die mit dem Sicherungs-Framework 208 kommunizieren, das ein binäres Sicherungsmodul 209 enthält. Sicherungs-Framework 208 kommuniziert mit einem Backup-Transport 210. Sicherungs-Framework 208 besteht im Gerätespeicher und ist so konfiguriert, dass es ermittelt, ob die Drittanbieter-Anwendungen 202a, 202b, 202c eine Sicherung erfordern, entweder durch Referenz zum vorgegebenen Zeitplan oder als Reaktion auf Erkennung von Änderungen an den Anwendungsdaten. Sicherungs-Framework 208 ist so konfiguriert, dass es einen Vergleich von binären Anwendungsdaten mit den vorhergehenden Sicherungen von Drittanbieter-Anwendungsdaten zulässt, um zu ermitteln, ob es eine Änderung an den Daten gibt. Dies kann durch eine Prüfsummenberechnung oder durch Ermittlung durchgeführt werden, wenn dort irgendwelche Anwendungsänderungen im Anwendungsänderungs-Ordner erfasst werden.

Nachdem das Clientgerät 201 ermittelt, dass ein Bedarf nach einer Sicherung besteht, archiviert das binäre Backupmodul 209 die Anwendungsdaten zum Hochladen in eine einzelne Datei und sendet die Datei an den Backup-Transport 210. Backup-Transport 210 in 2 beinhaltet zwei verschiedene Datentypen, die von unterschiedlichen Backup-Verfahren benutzt werden können. Insbesondere beinhaltet der Backup-Transport, wie in 2 dargestellt, einen Schlüsselwertpaar-Abschnitt 213 und einen Volldatensicherungsabschnitt 212, der Binärdaten beinhaltet. Im Allgemeinen können andere geeignete Datentypen verwendet werden, ohne vom Umfang der vorliegenden Offenbarung abzuweichen. Nachdem die Anwendungsdaten von dem Sicherungs-Framework 208 an den Backup-Transport 210 gesendet wurden, ruft das Clientgerät 201 den Server 216 auf, um den Hochladeprozess zu starten.

Wie in 2 abgebildet, beinhaltet der Server 216 einen Hochladeserver 224, einen Sicherungsserver 218, der einen Schlüsselwertpaar-Speicher 220 und einen Geschäftslogikagenten 222 enthält, einen Cloudspeicherdienst 203 und eine Metadaten-Speichereinheit 226. Hochladeserver 224 bearbeitet die hochgeladenen Binärdaten und ist so konfiguriert, dass er einen Geschäftslogikagenten 222 in dem Sicherungsserver 218 abruft, der die Speicherung von zugewiesenen Metadaten und die Gestaltung von Positionsreferenzen einleitet, die zum Abrufen der Daten während einer künftigen Wiederherstellungsanforderung verwendet werden können. Sicherungsserver 218 erhält Anforderungen vom Hochladeserver 224 und übermittelt diese Anforderungen zum Cloudspeicherdienst 203, der Metadaten zur Speicherung im Metadaten-Speicher 226 vorbereitet. Zusätzlich können strukturierte Daten in Bezug auf Sicherungen vom Clientgerät im Schlüsselwertpaar-Speicher 220 gespeichert werden. Strukturierte Daten können die Geräte-ID beinhalten, die Drittanbieter-Anwendungs-ID und Referenzen zu den Speicherpositionen von im Cloudspeicher gespeicherten Drittanbieter-Anwendungsdaten, die als Teil des Hochladevorgangs eingingen. Sie können zusätzliche Information beinhalten, einschließlich Clientgerät-Typ und Herstellungsdatum, Zeitstempel im Zusammenhang mit kürzlichen Sicherungen und Informationen im Zusammenhang mit Versionen des Sicherungs-Frameworks 208 auf dem Clientgerät 201.

In einigen Ausführungsformen wird das Hochladen von Drittanbieter-Anwendungsdaten durch eine Reihe von Schritten durchgeführt. Diese Schritte sind in 3 mit einigen der in Verbindung zu 2 beschriebenen Komponenten dargestellt und aufgezählt:
In Schritt 1 von 3, wenn der Bedarf nach dem Hochladen von Daten durch das Clientgerät-Sicherungs-Framework 208 ermittelt wird, wird eine Sicherungsanforderungs-Nachricht mit Basis-Metadaten in Bezug auf Drittanbieter-Anwendungen 202a, 202b, 202c, die eine Sicherung erfordern, generiert. Sicherungsanforderungs-Nachricht wird vom Clientgerät 201 an den Hochladeserver 224 gesendet. Clientgerät-Sicherungs-Framework 208 erstellt ein Tarball (eine .tar-Archivdatei) für jede Drittanbieter-Anwendung 202a, 202b, 202c, die eine neue Sicherung erfordert. Clientgerät-Backup-Transport 210 leitet das Hochladen von Drittanbieter-Anwendungsdaten-Tar-Archiven an den Hochladeserver 224 durch Weiterleitung der Sicherungsanforderungs-Nachricht an den Hochladeserver 224 ein. Clientgerät-Backup-Transport 210 stellt auch Metadaten in Bezug auf Drittanbieter-Anwendungsdaten-Hochladungen an den Hochladeserver 224 bereit. Hochladeserver 224 erhält die Datei über eine Standard-Hochladung, ein binäres Differentialverfahren oder eine zusammengefasste oder abgebrochene Hochladung. In Ausführungsformen, die binäre differentielle Hochladungen beinhalten, können die hochzuladenden Binär- und Metadaten in einer auf dem Clientgerät 201 positionierten binären diff-Bibliothek 214 bereitgestellt werden. Hochzuladende Drittanbieter-Anwendungsdaten können im Prüfsummenverfahren derart ermittelt werden, dass nur die Unterschiede zwischen den Drittanbieter-Anwendungsdaten auf dem Clientgerät 201 im Vergleich zu bestehenden gespeicherten Daten hochgeladen werden, zusammen mit einer Struktur, die die Unterschiede zwischen den beiden Daten-Dateien beschreibt.

Bei Schritt 2 schreibt der Hochladeserver 224 die erhaltenen Drittanbieter-Anwendungs-Binärdaten an den Binärdaten-Speicher 223. Binärdaten-Speicher 228 ist eine Cloudspeicherposition, die zur Speicherung von großen Mengen an Binärdaten konzipiert ist. Binärdaten-Speicher 228 kann sequentiell den Zugriff zu Bytes lesen und diese als Reaktion auf eine abgerufene Position anbieten. Drittanbieter-Anwendungs-Metadaten werden zur Speicherung in einer zweiten Cloudspeicherposition entfernt (z. B. beim Metadaten-Speicher 226 in 2).

Bei Schritt 3 erhält der Hochladeserver 224 eine binäre Datenspeicherungs-Positionsreferenz für die binären Drittanbieter-Anwendungsdaten, die die Dateiposition der hochgeladenen Drittanbieter-Anwendungsdaten beinhaltet. Binärdatenspeicher-Positionsreferenz ist ein nummerischer String, der zur Suche der Position im Binärdaten-Speicher 228 verwendet werden kann, wobei die Drittanbieter-Anwendungsdaten gespeichert wurden.

Bei Schritt 4 stellt der Hochladeserver 224 die Binärdatenspeicher-Positionsreferenz für die Drittanbieter-Anwendungsdaten einem Geschäftslogikagenten 222 innerhalb des Sicherungsservers 218 bereit, der die Binärdaten-Positionsreferenz klont. Hochladeserver 224 stellt die Drittanbieter-Anwendung Metadaten auch dem Sicherungsserver 218 bereit.

Bei Schritt 5 übermittelt der Sicherungsserver 218 die Binärdatenspeicher-Positionsreferenz zum Cloudspeicherdienst 203 samt den der Drittanbieter-Anwendung zugewiesenen Metadaten mit den gespeicherten Binärdaten. Sicherungsserver 218 erstellt Dateien und Ordner zur richtigen Speicherung der Metadaten nach Bedarf. Cloudspeicherdienst 203 kann Dateien in den Metadaten-Speicher 226 lesen und schreiben.

Bei Schritt 6 benutzt der Cloudspeicherdienst 203 die erhaltenen Drittanbieter-Anwendungs-Metadaten und die Binärdatenspeicher-Positionsreferenz sowie hängt die Binärdatenspeicher-Positionsreferenz der Metadateneingabe an. Zusätzliche Deskriptoren können auch Drittanbieter-Anwendungs-Metadaten, beispielsweise Anweisungen, angehängt werden, damit der Speicherplatz nicht für Drittanbieter-Anwendungsdaten beim Anteil des Benutzer-Speicherplatzes angerechnet wird. Cloudspeicherdienst 203 erstellt entsprechende Eingaben und Ordner zur Speicherung der Drittanbieter-Anwendungs-Metadaten im Metadaten-Speicher 226. Cloudspeicherdienst 203 schreibt die Drittanbieter-Anwendungsdaten an den Metadaten-Speicher 226. Metadaten-Speicher 226 ist ein Cloudspeicher, der zur Speicherung von Metadaten ausgestattet ist.

Bei Schritt 7 sendet der Metadaten-Speicher 226 ein Erfolgssignal zurück, was die erfolgreiche Speicherung der Drittanbieter-Anwendungs-Metadaten kennzeichnet. Erfolgssignal beinhaltet eine derartige Referenz zur Metadatenposition, dass das Erfolgssignal zur Suche der Metadatenposition verwendet werden kann.

Bei Schritt 8 übermittelt der Cloudspeicherdienst 203 das Erfolgssignal an den Sicherungsserver 218, der das Erfolgssignal erfasst.

Bei Schritt 9 übermittelt der Sicherungsserver 218 das Erfolgssignal an den Hochladeserver 224.

Bei Schritt 10 sendet der Hochladeserver 224 das Erfolgssignal an das Clientgerät 201 zurück.

Binärdaten werden auf dem Hochladeserver 224 hochgeladen und im Binärdaten-Speicher 228 gespeichert. Stapeln von Drittanbieter-Anwendungsdaten kann im Hochladeserver 224 erfolgen. Zugehörige Metadaten sind bezugnehmend auf die Binärdaten-Speicherposition angehängt und im Metadaten-Speicher 226 gespeichert. Speicherung der Metadaten in der Position des Metadaten-Speichers 226 wird durch den Cloudspeicherdienst 203 unterstützt. Nach erfolgreicher Speicherung der Metadaten generiert der Metadaten-Speicher-Dienst 226 ein Erfolgssignal und übermittelt es zurück an den Sicherungsserver 218 und dann an den Hochladeserver 224 und letztlich zum Clientgerät 201. Erfolgssignal zeigt an, dass die Drittanbieter-Anwendungsdaten im Cloudspeicher erfolgreich hochgeladen und gespeichert wurden.

In einigen Ausführungsformen werden die Drittanbieter-Anwendungsdaten vom mobilen Gerät in den Cloudspeicher über die Anwendung als Einzeldatei hochgeladen. Drittanbieter-Anwendungsdaten für eine einzelne Drittanbieter-Anwendung, beispielsweise 202a, 202b oder 202c in 2, können als Typ .tar-Archivdatei hochgeladen werden. Dateien dieses Typs können hier als Tar-Archive bezeichnet werden. Ausführen der Sicherung für jede einzelne Anwendung kann zumindest deshalb von Vorteil sein, weil dadurch die Wahrscheinlichkeit einer erfolgreichen Hochladung erhöht werden kann. Insbesondere kann es wünschenswert sein, jeweils eine Datei je Drittanbieter-Anwendung hochzuladen, anstatt die Änderungen zu mehreren Drittanbieter-Anwendungen zusammen zu stapeln. Hochladungen, die große Dateien einbeziehen, sind störanfälliger als jene, die kleinere Dateien einbeziehen. Wenn es ein Problem mit dem Hochladen gibt, müssen nur die Anwendungsdaten für die einzelne Drittanbieter-Anwendung erneut hochgeladen werden. Auf diese Weise nimmt ein Hochladen, das nur Anwendungsdaten im Zusammenhang mit einer einzelnen Drittanbieter-Anwendung enthält, deshalb weniger Zeit ein und das Hochladen wird effizienter.

Benutzung einer Einzeldatei-Hochladung je Drittanbieter-Anwendung 202a, 202b, 202c während der Sicherung erfordert nur geringe Mengen an vorübergehendem Speicher vor dem Hochladeprozess. Hochladeprozess von Drittanbieter-Anwendungsdaten kann derart ausgeführt werden, dass die Daten in einem lokalen Cache vor dem Hochladen nicht dupliziert werden, sondern direkt fließen. Somit wird die gesamte Sicherungs-Kapazität nie auf der Platte gestaltet. Jedes Hochladen von Drittanbieter-Anwendungsdaten kann als einzelner Durchgang prozessiert und hochgeladen werden, damit die hochgeladenen Drittanbieter-Anwendungsdaten kohärent sind. Hochladen von Drittanbieter-Anwendungsdaten in mehr als einem Durchgang kann zur Gestaltung eines inkohärenten Hochladeprozesses führen, wenn es eine Änderung an den Drittanbieter-Anwendungsdaten zwischen zwei Durchgängen gibt.

In einigen Ausführungsformen kann das Hochladen von Drittanbieter-Anwendungsdaten in einem einzelnen Durchgang schwierig sein. Dies kann auftreten, wenn der Hochladeserver 224 ein Verzeichnis der an den Server gesendeten Bytebereiche erfordert, die zu Beginn des Hochladens bereitgestellt wurden. In diesen Fällen kann es sein, das kein Hochladen in einem einzelnen Durchgang möglich ist, weil ein voller Durchgang zur Berechnung des Verzeichnisses zuerst durch die Drittanbieter-Anwendungsdatendateien erfolgen muss. In diesem Fall kann es sein, dass kein ausreichender Speicherplatz besteht, um die Datei zur Verarbeitung bereitzustellen. Es kann nicht sichergestellt werden, dass der zweite Durchgang über die Drittanbieter-Anwendungsdatendatei zur Vorbereitung auf das Hochladen den gleichen Speicherauszug der Drittanbieter-Anwendungsdaten wie der erste Durchgang aufweist. Durch Verschachtelung von diff-Verzeichnisinformationen können diese Fälle unterstützt werden. Hochlade-Skript eines einzelnen Durchgangs kann beispielsweise durch Nutzen des folgenden Formats spezifiziert werden:
{Server-Kopie-Bytes 0 100 benutzen, diese 20 Bytes hochladen, Serverbytes 120–150 benutzen}.

In Cloudspeichern gesicherte Drittanbieter-Anwendungsdaten werden als Backup-Daten je App gespeichert. Nur die neueste Fassung von Drittanbieter-Anwendungsdaten ist in einer Cloudspeicherposition gespeichert. Wahlweise können die Daten im differentialen Binärverfahren hochgeladen werden, in dem nur geänderte Daten im Cloudspeicher hochgeladen werden. Unter Verwendung eines differentialen Binärverfahrens wird der aktuelle Stand von Drittanbieter-Anwendungsdaten mit einer zuvor hochgeladenen Sicherung verglichen und ermittelt, welche Änderungen an den Drittanbieter-Anwendungsdaten aufgetreten sind. Laufende Drittanbieter-Anwendungsdaten können mit vorhergehendem Drittanbieter-Anwendungsdaten-Backup im Prüfsummenverfahren verglichen werden. In dieser Vorgehensweise werden Prüfsummen auf benutzerdefinierte Datenblockgrößen des letzten Hochladens von Drittanbieter-Anwendungsdaten lokal auf dem Clientgerät ermittelt. Anstatt das gesamte Set an unbearbeiteten Drittanbieter-Anwendungsdaten hochzuladen, können nur Daten, die auf Unterschiede hindeuten, im Cloudspeicher hochgeladen werden; dadurch bleibt die Bandbreite erhalten und wird die zur Sicherung erforderliche Hochladezeit vermindert. Verwenden eines differentialen Binärprotokolls zum Ermitteln von Änderungen an hochzuladenden Drittanbieter-Anwendungsdaten verbessert deshalb die Effizienz des einzelnen Hochladens durch Drittanbieter-Anwendungs-Verfahren.

In einigen Ausführungsformen wird das binäre differentiale Verfahren zum Ermitteln verwendet, ob ein Hochladen von Drittanbieter-Anwendungsdaten ausgeführt werden soll, und zum Ermitteln, welche Änderungen an den Drittanbieter-Anwendungsdaten aufgetreten sind, sowie was im Cloudspeicher hochgeladen werden soll. Clientgerät-Backup-Transport liest Daten von den Drittanbieter-Anwendungsdaten und prozessiert diese schrittweise. Clientgerät-Sicherungs-Framework speichert mindestens ein Prüfsummendatenblock. Für jedes Byte, das vom Clientgerät-Backup-Transport gelesen wird, wird eine rollierende Prüfsumme von den letzten N-Bytes ermittelt und mit den Prüfsummen der dem letzten Hochladen zugewiesenen Datenblöcken verglichen. Prüfsumme der Datenblöcke vom letzten Hochladen von Drittanbieter-Anwendungsdaten ist auf dem Server gespeichert und zum Vergleich heruntergeladen. Wenn es kein Übereinstimmen zwischen der neu ermittelten Prüfsumme und der gespeicherten Prüfsumme gibt, wird das älteste Byte an den Server gesendet. Wenn es eine Übereinstimmung gibt, wird der Datenblock nicht im Cloudspeicher hochgeladen.

In einigen Ausführungsformen ist die Sicherung von Drittanbieter-Anwendungsdaten so konfiguriert, dass diese automatisch und nach einem festgelegten Zeitschema erfolgt. Sicherung und Hochladung von Drittanbieter-Anwendungsdaten können automatisch erfolgen und für alle Drittanbieter-Anwendungen 202a, 202b, 202c derart einheitlich sein, dass die Entwickler von Drittanbieter-Anwendungen ihre Drittanbieter-Anwendungs-Konfigurationen in keinerlei Form zu ändern brauchen, um Drittanbieter-Anwendungsdaten in diesem System zu sichern. Entwickler von Drittanbieter-Anwendungen 202a, 202b, 202c können aus der Sicherung aussteigen, indem sie die Konfigurationsdetails ändern oder ihre Drittanbieter-Anwendungen 202a, 202b, 202c offenbaren. Beispiele von Drittanbieter-Anwendungen 202a, 202b, 202c, wofür eine Volldatensicherung nicht empfehlenswert wäre, sind finanzielle Anwendungen, Passwortspeicher-Anwendungen oder Authentifizierungen. Diese Drittanbieter-Anwendungen 202a, 202b, 202c mit Entwicklern, die aus der automatischen Sicherung ausgestiegen sind, können noch immer durch alternative manuelle Mechanismen durch den Benutzer oder die Drittanbieter-Anwendung 202a, 202b, 202c gesichert werden.

Sobald die Drittanbieter-Anwendungsdaten im Cloudspeicher hochgeladen und gespeichert sind, kann die Sicherung von Drittanbieter-Anwendungsdaten vor dem Blick des Benutzers versteckt, aber noch immer dem Cloudspeicher-Konto des Benutzers zugewiesen sein. Alternativ kann die Sicherung von Drittanbieter-Anwendungsdaten für den Benutzer über eine Benutzeroberfläche im Cloudspeicher-Dateisystem zugänglich sein. Zugriff zur Sicherung von Drittanbieter-Anwendungsdaten über die Benutzeroberfläche ermöglicht dem Benutzer Änderungen durchzuführen oder die Drittanbieter-Anwendungsdaten oder sonstige Daten im Cloudspeichersystem zu manipulieren. Sicherung von Daten im Zusammenhang mit Fotobearbeitungs-Drittanbieter-Anwendungsdaten kann beispielsweise bearbeitete oder unbearbeitete Fotos beinhalten, zu denen der Benutzer Zugriff hat und die der Benutzer über eine Benutzeroberfläche des Cloudspeicher-Dateisystems, die seinem Konto zugewiesen ist, in den Sicherungsdateien bearbeiten oder manipulieren kann. Benutzer kann auch Zugriff zur Sicherung von Drittanbieter-Anwendungsdaten haben, um eine Datensicherung zu löschen.

In einigen Ausführungsformen ist die Sicherung von Drittanbieter-Anwendungsdaten in hierarchischen Ordnern im Cloudspeichersystem gespeichert. Binär- und Metadaten der Drittanbieter-Anwendung können in einem dem Benutzer zugewiesenen Ordner gespeichert werden. Ordner, die Backup-Daten enthalten, sind derart organisiert, dass das Clientgerät und die Drittanbieter-Anwendung identifizierbar sind. Dies kann einen den Drittanbieter-Anwendungsdatensicherungen zugewiesenen Objektfamilien-Stammordner für ein Clientgerät, eine Clientgerät-ID, gespeicherte Drittanbieter-Anwendungsdaten-Datensicherungen, Anwendungsbezeichner, beispielsweise Name, und in einigen Fällen das Tar-Archiv für die Drittanbieter-Anwendungsdatendatei beinhalten. Es kann passieren, dass der Objekt-Familien-Stammordner für den Benutzer trotz Zuweisung an das Benutzerkonto nicht verfügbar ist. Es kann auch passieren, dass dieser Ordner während Synchronisierungsereignissen nicht synchronisiert wird.

DATEN WIEDERHERSTELLEN

Nach den Systemen und Verfahren der vorliegenden Offenbarung können im Cloudspeicher gespeicherte Drittanbieter-Anwendungsdaten für ein Clientgerät 201 wiederhergestellt werden. Zur Implementierung des Wiederherstellungswegs können die Drittanbieter-Anwendungsdaten nach dem Befehl des Clientgeräts 201 abgerufen werden. Während der Wiederherstellung von Drittanbieter-Anwendungen 202a, 202b, 202c kann der Hochladeserver 224 so konfiguriert werden, dass dieser Daten herunterlädt. In diesem Fall kann Hochladeserver 224 als Downloadserver 230 bezeichnet werden. Wiederherstellung der Drittanbieter-Anwendungsdaten aus dem Cloudspeichersystem an ein Gerät kann für jede einzelne Anwendung das Nutzen der folgenden Schritte erfolgen, wie in 4 dargestellt, mit einigen der in 2 beschriebenen Komponenten.

In Schritt 1 von 4 leitet der Backup-Transport 210 des Clientgeräts 201 nach Wiederherstellung des Geräts durch Senden einer Geräte-ID und einer Drittanbieter-Anwendungs-ID an den Sicherungsserver 218 das Herunterladen der Drittanbieter-Anwendungsdaten ein. Dies kennzeichnet sowohl das Clientgerät 201 als auch den Benutzer und auch die Drittanbieter-Anwendung 202a, 202b, 202c, wofür dem Benutzer zugewiesene Daten angefordert werden.

Bei Schritt 2 sendet der Sicherungsserver 218 nach Empfang der festgestellten Information und die Drittanbieter-Anwendungsdaten-Wiederherstellungsanforderung vom Clientgerät 201 das Erfolgssignal von der letzten erfolgreichen Sicherung von Drittanbieter-Anwendungsdaten zurück zum Clientgerät 201. Erfolgssignal enthält eine Referenz zur Metadaten-Speicherposition.

Bei Schritt 3 verbindet der Clientgerät-Backup-Transport 210 sich mit dem Downloadserver 230 und sendet das Erfolgssignal mit der Metadatenspeicher-Positionsreferenz an den Downloadserver 230.

Bei Schritt 4 benutzt der Downloadserver 230 die Metadatenspeicher-Positionsreferenz zur Anforderung der Drittanbieter-Anwendungs-Metadaten vom Metadaten-Speicher 226.

Bei Schritt 5 erhält der Downloadserver 230 sowohl die Drittanbieter-Anwendungs-Metadaten als auch die binäre Speicherpositionsreferenz, die den Metadaten während der Sicherung von Drittanbieter-Anwendungsdaten angehängt ist.

Bei Schritt 6 benutzt der Downloadserver 230 die binäre Speicherpositionsreferenz zur Anforderung der binären Drittanbieter-Anwendungsdaten aus dem Binärdaten-Speicher 228.

Bei Schritt 7 werden die binären Drittanbieter-Anwendungsdaten aus dem Binärdaten-Speicher 228 entnommen und an den Downloadserver 230 gesendet.

Bei Schritt 8 stellt der Downloadserver 230 die angeforderten Drittanbieter-Anwendungs-Binär- und Metadaten dem Clientgerät-Backup-Transport 210 direkt bereit. Clientgerät-Backup-Transport 210 entnimmt die gelieferten Daten an eine spezifische Position in dem der Speicherung von Drittanbieter-Anwendungsdaten zugewiesenen Clientgerät-Speicher. Jede Drittanbieter-Anwendung 202a, 202b, 202c, wofür Daten an das Gerät wiederhergestellt werden, kann eine eindeutige zur Speicherung von Daten bestimmte Position innerhalb des Clientgerätspeichers aufweisen. Somit implementiert der Clientgerät-Backup-Transport 210 die Drittanbieter-Anwendung 202a, 202b, 202c auf das Clientgerät 201 und stellt alle Drittanbieter-Anwendungs-Einstellungen und Dateien wieder her.

Oben beschriebenes Wiederherstellungsverfahren kann während des Einstellungsprozesses zur Einstellung des neuen Geräts ausgeführt werden. Wenn dem Clientgerät 201 ein Konto hinzugefügt wird, kann das Sicherungs-Framework 208 des Clientgeräts überprüfen, ob eine Sicherung bereits im Cloudspeicher gespeichert ist. Wenn ja, dann erfolgt die Wiederherstellung der Drittanbieter-Anwendungsdaten für jede Drittanbieter-Anwendung 202a, 202b, 202c. Clientgerät 201 fragt beispielsweise den Sicherungsserver 218 über eine Drittanbieter-Anwendung 202a, 202b oder 202c ab. Wenn der Sicherungsserver 218 dem Clientgerät 201 ein Erfolgssignal bereitstellt, so kann dies darauf hindeuten, dass eine Sicherung der Anwendung im Cloudspeicher besteht.

Wenn während einer Wiederherstellungsanforderung ermittelt ist, dass eine Sicherung von Drittanbieter-Anwendungsdaten für eine bestimmte angeforderte Drittanbieter-Anwendung 202a, 202b, 202c besteht, beginnt der Herunterladevorgang der Drittanbieter-Anwendungsdaten. Binärdatenspeicher-Positionsreferenz wird von den gespeicherten Metadaten abgerufen. Unter Verwendung der Binärdatenspeicher-Positionsreferenz werden die entsprechenden Drittanbieter-Anwendungs-Binärdaten in dem Binärdaten-Speicher 228 positioniert, die Tarball-Datei (.tar-Archivdatei) wird aus dem Binärdaten-Speicher 228 durch den Downloadserver 230 heruntergeladen. Downloadserver 230 versorgt das Clientgerät 201 mit den Drittanbieter-Anwendungsdaten. Wenn eine Sicherung für eine angeforderte Drittanbieter-Anwendung nicht identifiziert ist, werden alternative Mittel zum Wiederherstellen von Drittanbieter-Anwendungs-Einstellungen versucht, einschließlich der Schlüsselwertpaare.

Wiederherstellung der Drittanbieter-Anwendungsdaten von Cloudspeichern auf ein neues Gerät ermöglicht dem Benutzer nach der Wiederherstellung die Erfahrung des gleichen Umfelds und der gleichen Einstellungen in Drittanbieter-Anwendungen 202a, 202b, 202c auf dem Gerät und das gleiche Umfeld innerhalb der Drittanbieter-Anwendung 202a, 202b, 202c wie auf einem vorhergehenden Gerät. Dies kann Benutzerpräferenzen beinhalten, beispielsweise, wie die Anwendung aussieht und wie diese funktioniert. Für die Anwendung spezifische Daten, einschließlich der in der Anwendung gespeicherten Daten, werden auch wiederhergestellt. Gespeicherte Daten für eine Drittanbieter-Anwendung, die eine Textnachrichten-Anwendung darstellt, könnten beispielsweise Texte, Fotos, Audiodateien, Textnachrichten-Historie und Kontakte beinhalten. Diese würden im Cloudspeicher mittels beschriebenen Hochlade-Verfahren gespeichert und durch eine Wiederherstellungsanforderung auf dem Gerät wiederhergestellt werden. Nach der Wiederherstellung von Drittanbieter-Anwendungsdaten wird die Sicherung von Drittanbieter-Anwendungsdaten im Cloudspeicher zur Nutzung in zusätzlichen Wiederherstellungs- oder Herunterlade-Anforderungen aufrechterhalten.

In einigen Ausführungsformen kann ein Benutzer eine Wiederherstellungsanforderung einleiten, um ein zweites Gerät mit einem ersten Gerät, das Drittanbieter-Anwendungsdaten in Cloudspeichern hochgeladen hat, zu synchronisieren. Benutzer kann einen Wiederherstellungsprozess einleiten, der als Mittel zur Synchronisierung der Drittanbieter-Anwendungen 202a, 202b, 202c zwischen den zwei Geräten fungiert, sodass die Drittanbieter-Anwendungen 202a, 202b, 202c die gleichen Anwendungseinstellungen, Umfelde und Inhalte enthalten.

In einigen Ausführungsformen können die Systeme und Verfahren der vorliegenden Offenbarung in einer Form implementiert werden, die Rückwärtskompatibilität mit bestehenden Sicherungsverfahren aufrechterhält. Wiederherstellungsprozess kann einem Benutzer die Option zum Wiederherstellen von Drittanbieter-Anwendungsdaten von einer Sicherung geben, die mit einer älteren Version des Sicherungsprotokolls, zum Beispiel einem Sicherungsprotokoll, das auf die Benutzung von Schlüsselwertpaaren zurückgreift, gestaltet wurde. Auf diese Weise kann ein Clientgerät 201 mit dem zur Sicherung und Wiederherstellung gemäß dem hier beschriebenen Verfahren erforderlichen Betriebssoftware eine Wiederherstellung von einer ein voriges Sicherungsverfahren benutzenden Sicherung anfordern. Benutzer kann auch Drittanbieter-Anwendungsdaten von einer mit dem beschriebenen Verfahren durchgeführten Sicherung wiederherstellen, während er ältere Sicherungs- und ältere Wiederherstellungssoftware verwendet. Wiederherstellung mit älterer Sicherungs- und älterer Wiederherstellungssoftware wird gelingen, weil das ältere Sicherungssoftware sowohl das Erfolgssignal, das die Metadatenspeicher-Positionsreferenz enthält, als auch die neuen Daten ignorieren wird und anstatt dessen auf mit den Metadaten gespeicherte Schlüsselwertpaare zum Wiederherstellen zurückgreifen wird.

Sicherungs- und Wiederherstellungs-Verfahren ist rückwärtskompatibel und erfordert nicht die Migration von vorigen Sicherungen, die zur Migration mittels Schlüsselwertpaar-Verfahren durchgeführt wurden. Hier beschriebenes Sicherungsverfahren ist kompatibel mit Sicherungen, die Schlüsselwertpaare beinhalten. Außerdem erfordert die Benutzung des beschriebenen Sicherungsverfahrens eine anfängliche Vollsicherung aller Anwendungsdaten, um eine komplette Aufzeichnung der Drittanbieter-Anwendungsdateien einzurichten. Diese Dateien werden zum Vergleich mit den auf dem Clientgerät bestehenden Drittanbieter-Anwendungsdaten verwendet, um den Bedarf nach einer Sicherung zu ermitteln. Anfängliche Vollsicherung einer Drittanbieter-Anwendung 202a, 202b, 202c nach Empfang des Zugriffs zum Sicherungsverfahren eliminiert den Bedarf nach jeglichen vorigen Schlüsselwertpaar-Sicherungsdateien. In einigen Ausführungsformen werden die Schlüsselwertpaare, die zuvor gesicherte Drittanbieter-Anwendungsdaten enthalten, als Teil der Volldatensicherung auch gesichert.

Wenn ein Gerät stillgelegt wird, können die auf dem Gerät zuvor gespeicherten Drittanbieter-Anwendungsdaten zum neuen Gerät wiederhergestellt werden. Allerdings können stillgelegte Geräte zum Bestehen von „verwaisten Datensätzen“ führen, wo die Drittanbieter-Anwendungsdaten im Cloud gespeichert wurden, aber nicht mehr mit einem Benutzer oder einem funktionierenden Clientgerät 201 verbunden sind. Verfahren können zur Beseitigung dieser verwaisten Datensätze vorgenommen werden. Verwaiste Datensätze können so eingestellt werden, dass sie nach einem gewissen Zeitraum ablaufen. Alternativ kann ein Benutzer über eine Benutzeroberfläche auf dem Gerät oder in einem dem Clientgerät 201 zugewiesenen Benutzerkonto anzeigen, dass ein Gerät stillgelegt wurde oder dass es inaktiv wird.

Während der Einführung des neuen Sicherungs- und Wiederherstellungsverfahrens kann eine unermessliche Menge an Datenfluss zur Cloudspeicherung eintreten, weil Drittanbieter-Anwendungsdaten für Clientgeräte 201 vollständig gesichert werden. Während der anfänglichen Einführung dieses Sicherungsmerkmals kann der Hochladeablauf durch Mechanismen sowohl auf der Client- als auch auf der Serverseite überwacht werden. Benutzerzugriff zu den Hochlade- und Wiederherstellungsfunktionen kann beispielsweise auf das Gerät beschränkt werden. Clientgerät kann so konfiguriert sein, dass es ein Merkmal auf einem bestimmten Clientgerät oder Clientgerätemodell einstellt oder deaktiviert. Alternativ kann das Merkmal nur bei einem Anteil an Benutzern des Clientgeräts eingeführt werden, was diesen Benutzern für die anfänglichen Hochladungen von Drittanbieter-Anwendungsdaten vor der Einführung des Merkmals bei einem zusätzlichen Anteil an Benutzern Zeit gewährt. Außerdem kann der Zugriff auf den Hochlade- und Wiederherstellungsmerkmal gestützt auf die Drittanbieter-Anwendung begrenzt werden, wobei mit der Zeit mehrere Drittanbieter-Anwendungen durch die Hochlade- und Wiederherstellungsfunktionalität gedeckt werden. Konfigurationen des Sicherungszeitraums können auch geändert werden, um den Datenfluss durch Drosselung zwischen zwei Modi zu überwachen. Gemäß einem ersten Modus kann der Hochladeprozess eingeleitet werden, wenn es ausreichende Änderungen an den Drittanbieter-Anwendungsdaten gibt. Gemäß einem zweiten Modus kann der Hochladeprozess aufgrund eines vorgegebenen Zeitplans eingeleitet werden, beispielsweise einmal alle N Tage.

Auf der Serverseite kann der Datenfluss durch die Implementierung von Drosselhebeln auf den Servern, beispielsweise Fähnchen oder Merkmalschaltern, überwacht werden. Fähnchen oder Merkmalschalter können vom Hochladeserver und vom Datensicherungsserver gelesen werden. Oben eingestellter Server begrenzt die Fähnchen-Rückkehrungen eines benutzerdefinierten Fehlercodes, was auf eine Störung wegen der Drosselung hindeutet. Dieser benutzerdefinierte Fehlercode beinhaltet auch ein Feld, das die empfehlenswerte Wartezeit vor einem weiteren Versuch anzeigt. Zusätzliche Fähnchen können auch eingefügt werden, um nachgelagerte Dienste in Notfällen zu schützen, die den gesamten Hochlade-Abruf deaktivieren würden.

5 stellt ein Ablaufdiagramm eines Verfahrens 500 zum Speichern von Drittanbieter-Anwendungsdaten in Cloudspeichern dar. Verfahren 500 beinhaltet die Schritte zum Ermitteln von einer Drittanbieter-Anwendung zugewiesenen Download-Daten an einen Cloudspeicherserver (Schritt 502), das Speichern der Binärdaten der Drittanbieter-Anwendung in einer ersten Cloudspeicherposition (Schritt 504), das Aktualisieren der Metadaten, um die Speicheradresse der ersten Cloudspeicherposition zu beinhalten (Schritt 506), und das Speichern der aktualisierten Metadaten in einer zweiten Cloudspeicherposition, die sich von der ersten Cloudspeicherposition unterscheidet (Schritt 508).

In Schritt 502 ermittelt das Clientgerät-Sicherungs-Framework (z. B. 208 in 2), dass einer die der Drittanbieter-Anwendung zugewiesenen Daten auf einem Clientgerät zu einem Cloudspeicherserver heruntergeladen werden sollen. Anforderung, Drittanbieter-Anwendungsdaten zu einem Cloudspeicherserver herunterzuladen, kann aufgrund eines zeitplanmäßigen Herunterladens, einer Benutzeranforderung, Daten hochzuladen, oder einer Änderung in Drittanbieter-Anwendungsdaten ermittelt werden. In einigen Implementierungen kann die Anforderung zum Herunterladen von Drittanbieter-Anwendungsdaten durch einen Vergleich zwischen derzeit im Cloudspeicher-Server gespeicherten Drittanbieter-Anwendungsdaten und den auf dem Clientgerät gespeicherten Drittanbieter-Anwendungsdaten durch Nutzen eines Prüfsummenverfahrens ermittelt werden. In Cloudspeichern herunterzuladende Drittanbieter-Anwendungsdaten beinhalten sowohl Binär- als auch Metadaten.

In Schritt 504 werden die Binärdaten in einer ersten Cloudspeicherposition gespeichert. Cloudspeicherposition hat eine zugewiesene Speicheradresse. Drittpartei-Anwendung zugewiesene Binärdaten werden von dem Clientgerät-Backup-Transport (z. B. 210 in 2) an den Hochladeserver als Daten-Tarball (z. B.: tar-Archivdatei) gesendet. Binärdaten werden in einer ersten zur Speicherung von großen Mengen an Binärdaten konzipierten Cloudspeicherposition gespeichert.

In Schritt 506 werden die der Drittanbieter-Anwendung zugewiesenen Metadaten aktualisiert, um die Speicheradresse der ersten Cloudspeicherposition zu beinhalten. Cloudspeicherdienst (z. B. 203 in 2) hängt den Metadaten die binäre Speicheradresse an. Binärdaten können somit den Drittanbieter-Metadaten zugewiesen und durch Verwendung der Cloudspeicher-Adresse in die aktualisierten Metadaten abgerufen werden. Speicherposition kann ein nummerischer String sein, der auf die Dateiposition der binären Drittanbieter-Anwendungsdaten hinweist. In einigen Implementierungen kann der Cloudspeicherdienst den Metadaten vor der Speicherung auch zusätzliche Deskriptoren und Anweisungen anhängen.

In Schritt 508 werden die aktualisierten Metadaten in einer zweiten Cloudspeicherposition gespeichert. Zweite Cloudspeicherposition unterscheidet sich von der ersten Cloudspeicherposition und ist zur Speicherung von Metadaten optimiert. Erfolgssignal kann nach einer erfolgreichen Speicherung der Binär- und Metadaten an den Hochladeserver zurückgesendet werden. Erfolgssignal kann zusätzlich eine Referenz zur Metadatenposition für den Zugriff zu den Metadaten beinhalten.

6 stellt ein Ablaufdiagramm eines Verfahrens 600 zum Wiederherstellen von Drittanbieter-Anwendungsdaten zum Clientgerät dar. Verfahren 600 beinhaltet die Schritte zum Ermitteln, ob einer die der Drittanbieter-Anwendung zugewiesenen Daten für ein Clientgerät vom Cloudspeicher (Schritt 602) durch Nutzen von Metadaten zum Ermitteln der Speicheradresse der ersten Cloudspeicherposition (Schritt 604) und durch Bereitstellen von Binärdaten von der ersten Speicherposition zum Clientgerät (Schritt 606) bereitzustellen sind.

In Schritt 602 wird ermittelt, ob eine Wiederherstellung erforderlich ist, um einer die der Drittanbieter-Anwendung zugewiesenen Daten zum Clientgerät bereitzustellen. Wiederherstellung kann als Reaktion auf eine Anforderung oder durch Auswahl eines Benutzers oder einer Anforderung durch eine Drittanbieter-Anwendung erfolgen. Wiederherstellung kann auch als Synchronisierung zwischen Geräten implementiert werden. Daten, die der Drittanbieter-Anwendung zugewiesen sind, beinhalten sowohl in einer ersten Cloudposition gespeicherte Binärdaten mit einer Speicheradresse als auch in einer zweiten Cloudspeicherposition gespeicherte Metadaten. Clientgerät-Backup-Transport (z. B. 210 in 2) leitet das Herunterladen von Daten durch Zusenden einer dem Clientgerät zugewiesenen Geräte-ID und einer der Drittanbieter-Anwendung zugewiesenen Drittanbieter-Anwendungs-ID an den Sicherungsserver ein (z. B. 218 in 2).

Schritt 604 beinhaltet das Nutzen der zuvor gespeicherten der Drittpartei-Anwendung zugewiesenen Metadaten zum Ermitteln der Speicheradresse der Binärdaten. Nach dem Empfang der Kennungsinformation, die die Geräte-ID und die Drittanbieter-Anwendungs-ID beinhaltet, sendet der Sicherungsserver das Erfolgssignal der letzten erfolgreichen Sicherung der Drittanbieter-Anwendungsdaten zum Clientgerät. Erfolgssignal beinhaltet eine Referenz zur Metadaten-Speicherposition. Metadaten können dann vom Metadatenspeicher abgerufen werden, um die binäre Speicherpositionsreferenz zu erhalten, die den Metadaten während einer vorigen Sicherung von Drittanbieter-Anwendungsdaten angehängt wurde.

In Schritt 606 wird die abgerufene binäre Datenspeicherungs-Positionsadresse zur Positionierung und Anforderung der der Drittanbieter-Anwendung zugewiesenen Binärdaten verwendet. Binär- und Metadaten werden vom Download-Server über den Backup-Transport zum Clientgerät übermittelt. Binär- und Metadaten werden zur Speicherung auf dem Clientgerät geliefert.

Während hier unterschiedliche Ausführungsformen der vorliegenden Offenbarung dargestellt und beschrieben wurden, ist es für Sachkundige in diesem Fachgebiet offensichtlich, dass diese Ausführungsformen als Beispiele bereitgestellt wurden. Den Fachkräften werden zahlreiche Variationen, Abänderungen und Ersetzungen einfallen, ohne von der Veröffentlichung abzuweichen. Es sollte klar sein, dass diverse Alternativen zu den hier beschriebenen Ausführungen in der Praxis dieser Offenlegung angewandt werden können.

  • A1. Verfahren zum Hochladen von Drittanbieter-Anwendungsdaten in Cloudspeichern, umfassend:
    das Ermitteln, ob vom Clientgerät die der Drittanbieter-Anwendung zugewiesenen Daten hochzuladen sind, worin Drittanbieter-Anwendung zugewiesene Daten Binär- und Metadaten beinhalten;
    das Übermitteln der Binärdaten der Drittanbieter-Anwendung und der Metadaten der Drittanbieter-Anwendung zum Cloudspeicher, worin:
    die Binärdaten in der ersten Cloudspeicherposition mit einer Speicheradresse gespeichert werden;
    den Metadaten die Speicheradresse angehängt wird, um aktualisierte Metadaten zu erhalten; und die aktualisierten Metadaten in der zweiten Cloudspeicherposition gespeichert werden, die sich von der ersten Cloudspeicherposition unterscheidet.
  • A2. Verfahren nach der Ausführungsform A1, worin die Binärdaten von der Drittanbieter-Anwendung alle Daten für die Drittanbieter-Anwendung beinhalten.
  • A3. Verfahren nach irgendeiner der Ausführungsformen A1–A2, worin das Ermitteln, ob die der Drittanbieter-Anwendung zugewiesenen Daten hochzuladen sind, Folgendes umfasst:
    das Identifizieren der gespeicherten Binärdaten, die der Drittanbieter-Anwendung zugewiesenen sind, die auf dem Clientgerät gespeichert ist;
    das Identifizieren der zuvor hochgeladenen Binärdaten, die der Drittanbieter-Anwendung zugewiesenen sind;
    das Berechnen einer Differenz zwischen den gespeicherten Binärdaten und den zuvor hochgeladenen Binärdaten; und das Vergleichen der Differenz mit einem Schwellenwert.
  • A4. Verfahren nach Ausführungsform A3, worin das Clientgerät das Hochladen der Daten, die einer Drittanbieter-Anwendung zugewiesen sind, ermittelt, wenn die Differenz dem Schwellenwert entspricht oder diesen überschreitet.
  • A5. Verfahren nach irgendeiner der Ausführungsformen A1–A4, worin das Clientgerät Daten speichert, die einer Vielzahl von Drittanbieter-Anwendungen zugewiesen sind, wobei jeder Drittanbieter-Anwendung der Vielzahl von Drittanbieter-Anwendungen die zugehörigen Binärdaten und die zugehörigen Metadaten zugewiesen sind, und wobei die zugewiesenen Binärdaten und die zugewiesenen Metadaten für jede Drittanbieter-Anwendung vom Clientgerät in einem einzelnen Hochladevorgang hochgeladen werden.
  • A6. Verfahren nach irgendeiner der Ausführungsformen A1–A5, worin die Daten, die der Drittpartei-Anwendung zugewiesen sind, vor dem Übermitteln an das Clientgerät nicht vollständig dupliziert werden.
  • A7. Verfahren nach irgendeiner der Ausführungsformen A1–A6, worin das Clientgerät das Hochladen der Daten, die der Drittanbieter-Anwendung zugewiesenen sind, basierend auf einem vorgegebenen Hochladezeitplan ermittelt.
  • A8. Verfahren nach irgendeiner der Ausführungsformen A1–A7, worin das Clientgerät das Hochladen der Daten, die der Drittanbieter-Anwendung zugewiesen sind, basierend auf dem Erkennen von Änderungen an der Drittanbieter-Anwendung, die von der Drittanbieter-Anwendung gemeldet werden, ermittelt.
  • A9. Verfahren nach irgendeiner der Ausführungsformen A1–A8, worin Clientgerät Hochladen von Drittanbieter-Anwendung zugewiesenen Daten ermittelt, wenn Clientgerät Sicherungsanforderung von Clientgerät-Benutzer erhält.
  • A10. Verfahren nach irgendeiner der Ausführungsformen A1–A9, worin das Übermitteln von Binär- und Metadaten Folgendes umfasst:
    das Aggregieren der Binär- und der Metadaten der Drittanbieter-Anwendung in eine Einzeldatei; und das Übermitteln der Datei an einen Hochladeserver im Cloudspeicher, worin der Hochladeserver so konfiguriert ist, dass:
    die Binärdaten von den Metadaten getrennt werden;
    die Binärdaten zum Speichern in der ersten Cloudspeicherposition übermittelt werden;
    die Speicheradresse der ersten Cloudspeicherposition an die Metadaten angehängt wird, um aktualisierte Metadaten zu erhalten; und
    aktualisierte Metadaten zum Speichern in der zweiten Cloudspeicherposition übermittelt werden.
  • A11. Verfahren nach Ausführungsform A10, worin die Einzeldatei einen Dateityp .tar aufweist.
  • A12. Verfahren nach irgendeiner der Ausführungsformen A1–A11, worin die Daten, die der Drittanbieter-Anwendung zugewiesen sind, Anwendungsdaten, Benutzerpräferenzen und Anwendungsinhalte beinhalten.
  • A13. Verfahren nach irgendeiner der Ausführungsformen A1–A12, des Weiteren umfassend das Empfangen einer Referenz am Clientgerät zur zweiten Cloudspeicherposition.
  • A14. Verfahren nach irgendeiner der Ausführungsformen A1–A13, worin die zuvor hochgeladenen Binärdaten für die Drittanbieter-Anwendung überschrieben werden, wenn die Binärdaten in der ersten Cloudspeicherposition gespeichert werden, und worin die zuvor hochgeladenen Metadaten für die Drittanbieter-Anwendung überschrieben werden, wenn die aktualisierten Metadaten in der zweiten Cloudspeicherposition gespeichert werden.
  • A15. Verfahren nach irgendeiner der Ausführungsformen A1–A14, worin die übermittelten Binär- und Metadaten für Benutzer über eine Benutzeroberfläche mit Zugriff auf den Cloudspeicher zugänglich sind.
  • A16. Verfahren nach irgendeiner der Ausführungsformen A1–A15, worin das Clientgerät ein erstes Clientgerät ist und worin die Binärdaten und die aktualisierten Metadaten derart auf das zweite Clientgerät heruntergeladen werden, dass die Drittanbieter-Anwendungsdaten auf dem ersten Clientgerät mit den Drittanbieter-Anwendungsdaten auf zweitem Gerät synchronisiert werden.
  • A17. Verfahren nach irgendeiner der Ausführungsformen A1–A16, worin die Binär- und Metadaten an den Hochladeserver im Cloudspeicher übermittelt werden, und worin der Hochladeserver die Binärdaten in die erste Cloudspeicherposition schreibt und die aktualisierten Metadaten zum Schreiben an die zweite Cloudspeicherposition übermittelt.
  • A18. Verfahren nach der Ausführungsform A17, worin der Hochladeserver die aktualisierten Metadaten an den Cloudspeicherdienst übermittelt, der so konfiguriert ist, dass die aktualisierten Metadaten aus der zweiten Cloudspeicherposition gelesen und die aktualisierten Metadaten in die zweite Cloudspeicherposition geschrieben werden.
  • A19. Verfahren nach irgendeiner der Ausführungsformen A1–A18, worin beim Übermitteln der Binärdaten keine Schlüsselwertpaare verwendet werden.
  • A20. Verfahren nach irgendeiner der Ausführungsformen A1–A19, des Weiteren umfassend:
    das Ermitteln, ob ein der Drittanbieter-Anwendung zugewiesenes Verzeichnis anzeigt, dass Drittanbieter-Anwendung zugewiesene Daten durch Nutzen eines Voll- oder Teil-Datensicherungsprozesses zu übermitteln sind; und
    das Übermitteln eines Teils der Metadaten zum Cloudspeicher, wenn das Nutzen eines Teildatensicherungsprozesses ohne Übermitteln irgendwelcher Binärdaten zum Cloudspeicher ermittelt wird.
  • A21. Verfahren nach Ausführungsform A20, worin das Übermitteln eines Metadatenteils an den Cloudspeicher das Verwenden von Schlüsselwertpaaren beinhaltet.
  • A22. System zum Durchführen irgendeines der Verfahren der Ausführungsformen A1–A21.
  • B1. Verfahren zum Speichern von Drittanbieter-Anwendungsdaten in Cloudspeichern, umfassend:
    das Ermitteln des Herunterladens auf einen Cloudspeicherserver von Daten, die einer Drittanbieter-Anwendung zugewiesenen sind, welche auf einem Clientgerät gespeichert ist, worin die Daten, die der Drittanbieter-Anwendung zugewiesen sind, Binär- und Metadaten beinhalten;
    das Speichern der Binärdaten der Drittanbieter-Anwendung in einer ersten Cloudspeicherposition mit einer Speicheradresse, worin die Metadaten so aktualisiert werden, dass sie die Speicheradresse beinhalten; und das Speichern der aktualisierten Metadaten in einer zweiten Cloudspeicherposition, die sich von der ersten Cloudspeicherposition unterscheidet.
  • B2. Verfahren nach Ausführungsform B1, worin die Binärdaten der Drittanbieter-Anwendung alle Daten für die Drittanbieter-Anwendung beinhalten.
  • B3. Verfahren nach irgendeiner der Ausführungsformen B1–B2, worin das Clientgerät ermittelt, ob Daten hochzuladen sind, durch:
    das Identifizieren der gespeicherten Binärdaten, die der Drittanbieter-Anwendung zugewiesenen sind, die auf dem Clientgerät gespeichert ist;
    das Identifizieren der zuvor hochgeladenen Binärdaten, die der Drittanbieter-Anwendung zugewiesenen sind;
    das Berechnen einer Differenz zwischen den gespeicherten Binärdaten und den zuvor hochgeladenen Binärdaten; und das Vergleichen der Differenz mit einem Schwellenwert.
  • B4. Verfahren nach Ausführungsform B3, worin das Clientgerät das Hochladen der Daten, die der Drittanbieter-Anwendung zugewiesenen sind, ermittelt, wenn die Differenz dem Schwellenwert entspricht oder diesen überschreitet.
  • B5. Verfahren nach irgendeiner der Ausführungsformen B1–B4, worin das Clientgerät Daten speichert, die einer Vielzahl von Drittanbieter-Anwendungen zugewiesene sind, wobei jede Drittanbieter-Anwendung in der Vielzahl von Drittanbieter-Anwendungen den zugehörigen Binärdaten und den zugehörigen Metadaten zugewiesen ist, und wobei die zugehörigen Binärdaten und die zugehörigen Metadaten für jede Drittanbieter-Anwendung vom Clientgerät in einem einzigen Hochladevorgang hochgeladen werden.
  • B6. Verfahren nach irgendeiner der Ausführungsformen B1–B5, worin die Daten, die der Drittpartei-Anwendung zugewiesen sind, vor dem Herunterladen auf das Clientgerät nicht vollständig dupliziert werden.
  • B7. Verfahren nach irgendeiner der Ausführungsformen B1–B6, worin das Clientgerät das Hochladen der Daten, die der Drittanbieter-Anwendung zugewiesenen sind, basierend auf einem vorgegebenen Hochladezeitplan ermittelt.
  • B8. Verfahren nach irgendeiner der Ausführungsformen B1–B7, worin das Clientgerät das Hochladen der Daten, die der Drittanbieter-Anwendung zugewiesen sind, basierend auf dem Erkennen von Änderungen an der Drittanbieter-Anwendung, die von der Drittanbieter-Anwendung gemeldet werden, ermittelt.
  • B9. Verfahren nach irgendeiner der Ausführungsformen B1–B8, worin Clientgerät Hochladen von Drittanbieter-Anwendung zugewiesenen Daten ermittelt, wenn Clientgerät Sicherungsanforderung von Clientgerät-Benutzer erhält.
  • B10. Verfahren nach irgendeiner der Ausführungsformen B1–B9, worin:
    das Clientgerät so konfiguriert ist, dass:
    die Binär- und Metadaten von der Drittanbieter-Anwendung in einer Einzeldatei aggregiert werden; und die Datei an einen Hochladeserver im Cloudspeicher übermittelt werden; und
    der Hochladeserver so konfiguriert ist, dass:
    die Binärdaten von den Metadaten getrennt werden;
    die Binärdaten zum Speichern in der ersten Cloudspeicherposition übermittelt werden;
    die Speicheradresse der ersten Cloudspeicherposition an die Metadaten angehängt wird, um aktualisierte Metadaten zu erhalten; und die aktualisierten Metadaten zum Speichern in der zweiten Cloudspeicherposition übermittelt werden.
  • B11. Verfahren nach Ausführungsform B10, worin die Einzeldatei einen Dateityp .tar hat.
  • B12. Verfahren nach irgendeiner der Ausführungsformen B1–B11, worin die Daten, die der Drittanbieter-Anwendung zugewiesen sind, Anwendungsdaten, Benutzerpräferenzen und Anwendungsinhalte beinhalten.
  • B13. Verfahren nach irgendeiner der Ausführungsformen B1–B12, des Weiteren umfassend das Übermitteln einer Referenz zur zweiten Cloudspeicherposition an das Clientgerät.
  • B14. Verfahren nach irgendeiner der Ausführungsformen B1–B13, worin die zuvor hochgeladenen Binärdaten für die Drittanbieter-Anwendung überschrieben werden, wenn die Binärdaten in der ersten Cloudspeicherposition gespeichert werden, und worin die zuvor hochgeladenen Metadaten für die Drittanbieter-Anwendung überschrieben werden, wenn die aktualisierten Metadaten in der zweiten Cloudspeicherposition gespeichert werden.
  • B15. Verfahren nach irgendeiner der Ausführungsformen B1–B14, worin die übermittelten Binär- und Metadaten für Benutzer über eine Benutzeroberfläche mit Zugriff auf den Cloudspeicher zugänglich sind.
  • B16. Verfahren nach irgendeiner der Ausführungsformen B1–B15, worin das Clientgerät ein erstes Clientgerät ist, das Verfahren des Weiteren umfassend das Übermitteln der Binärdaten und der aktualisierten Metadaten zu einem zweiten Clientgerät, dergestalt, dass die Drittanbieter-Anwendungsdaten auf dem ersten Clientgerät mit den Drittanbieter-Anwendungsdaten auf dem zweiten Gerät synchronisiert werden.
  • B17. Verfahren nach irgendeiner der Ausführungsformen B1–B16, worin die Binär- und Metadaten an den Hochladeserver im Cloudspeicher übermittelt werden, und worin der Hochladeserver die Binärdaten in die erste Cloudspeicherposition schreibt und die aktualisierten Metadaten zum Schreiben an die zweite Cloudspeicherposition übermittelt.
  • B18. Verfahren nach Ausführungsform B17, worin der Hochladeserver die aktualisierten Metadaten an den Cloudspeicherdienst übermittelt, der so konfiguriert ist, dass die aktualisierten Metadaten aus der zweiten Cloudspeicherposition gelesen und die aktualisierten Metadaten in die zweite Cloudspeicherposition geschrieben werden.
  • B19. Verfahren nach irgendeiner der Ausführungsformen B1–B18, worin beim Speichern der Binärdaten keine Schlüsselwertpaare benutzt werden.
  • B20. Verfahren nach irgendeiner der Ausführungsformen B1–B19, worin das Clientgerät für Folgendes konfiguriert ist:
    das Ermitteln, ob ein Verzeichnis, das der Drittanbieter-Anwendung zugewiesen ist, anzeigt, dass die Daten, die der Drittanbieter-Anwendung zugewiesen sind, durch Nutzen eines Voll- oder Teil-Datensicherungsprozesses zu übermitteln sind; und
    wenn ermittelt wird, dass ein Teildatensicherungsprozess genutzt werden soll, das Übertragen eines Teils der Metadaten an den Cloudspeicher, ohne das Übertragen irgendwelcher Binärdaten an den Cloudspeicher.
  • B21. Verfahren nach Ausführungsform B20, worin der Metadatenteil an den Cloudspeicher unter Verwendung von Schlüsselwertpaaren übermittelt wird.
  • B22. System zum Durchführen irgendeines der Verfahren der Ausführungsformen B1–B21.
  • C1. Verfahren zum Wiederherstellen von Drittanbieter-Anwendungsdaten für das Clientgerät, umfassend:
    das Ermitteln, ob die Daten, die der Drittanbieter-Anwendung zugewiesen sind, heruntergeladen werden sollen, worin die Daten, die der Drittanbieter-Anwendung zugewiesen sind, Binärdaten beinhalten, die in einer ersten Cloudspeicherposition gespeichert werden, mit einer Speicheradresse, sowie Metadaten, die in einer zweiten Cloudspeicherposition gespeichert werden;
    das Verwenden der Metadaten zum Ermitteln der Speicheradresse der ersten Cloudspeicherposition; und das Herunterladen der Binärdaten aus der ersten Cloudspeicherposition auf das Clientgerät.
  • C2. Verfahren nach Ausführungsform C1, worin die Binärdaten der Drittanbieter-Anwendung alle Daten für die Drittanbieter-Anwendung beinhalten.
  • C3. Verfahren nach irgendeiner der Ausführungsformen C1–C2, worin das Clientgerät eine Vielzahl von Daten speichert, die Drittanbieter-Anwendungen zugewiesen sind, wobei jede Drittanbieter-Anwendung in der Vielzahl von Drittanbieter-Anwendungen zugehörigen Binär- und zugehörigen Metadaten zugewiesen ist, und wobei die zugehörige Binärdaten für jede Drittanbieter-Anwendung vom Clientgerät in einem einzelnen Herunterladevorgang heruntergeladen werden.
  • C4. Verfahren nach irgendeiner der Ausführungsformen C1–C3, worin das Clientgerät das Herunterladen von Daten, die der Drittanbieter-Anwendung zugewiesen sind, wenn das Clientgerät eine Wiederherstellungsanforderung vom Benutzer eines Clientgeräts erhält.
  • C5. Verfahren nach irgendeiner der Ausführungsformen C1–C4, worin Daten, die der Drittanbieter-Anwendung zugewiesen sind, Anwendungsdaten, Benutzerpräferenzen und Anwendungsinhalte beinhalten.
  • C6. Verfahren nach irgendeiner der Ausführungsformen C1–C5, worin das Clientgerät ein erstes Clientgerät ist, und Binärdaten und aktualisierte Metadaten derart auf das zweite Clientgerät heruntergeladen werden, dass Drittanbieter-Anwendungsdaten auf erstem Clientgerät mit Drittanbieter-Anwendungsdaten auf zweitem Gerät synchronisiert werden.
  • C7. Verfahren nach irgendeiner der Ausführungsformen C1–C6, worin Binär- und Metadaten an den Downloadserver im Cloudspeicher übermittelt werden, und worin der Download-Server zuvor Binärdaten in die erste Cloudspeicherposition schrieb und zuvor Metadaten zum Schreiben an die zweite Cloudspeicherposition übertrug.
  • C8. Verfahren nach Ausführungsform C7, worin der Download-Server zuvor die Metadaten an den Cloudspeicherdienst übertrug, der so konfiguriert ist, dass aktualisierte Metadaten aus der zweiten Cloudspeicherposition gelesen und aktualisierte Metadaten in die zweite Cloudspeicherposition geschrieben werden.
  • C9. Verfahren nach irgendeiner der Ausführungsformen C1–C8, worin die Daten, die einer anderen Drittanbieter-Anwendung zugewiesen sind, Metadaten, die in einer Drittanbieter-Cloudspeicherposition gespeichert sind, und keine Binärdaten beinhalten.
  • C10. Verfahren nach Ausführungsform C9, des Weiteren umfassend:
    das Ermitteln, ob die Daten, die der anderen Drittanbieter-Anwendung zugewiesen sind, auf das Clientgerät heruntergeladen werden sollen;
    das Identifizieren der Metadaten, die der anderen Drittanbieter-Anwendung als ein aus in der Drittanbieter-Cloudspeicherposition gespeichertes Schlüsselwertpaar-Set zugewiesen sind; und das Herunterladen des Schlüsselwertpaarsets auf das Clientgerät.
  • C11. System zum Durchführen irgendeines der Verfahren von Ausführungsformen C1–C10.