-
Hintergrund
-
Das Aufkommen von Computern und Computertechnologien bietet dem Einzelnen zahlreiche Vorteile. Einige dieser Vorteile betreffen die Fähigkeit, Dateien auf webbasierten Servern zu speichern, um Zugriffe seitens mehrerer Vorrichtungen oder durch mehrere Nutzer zu ermöglichen. Verschiedene Dateiverwaltungssysteme ermöglichen dem Einzelnen oder einer Gruppe von Einzelnen beispielsweise, Dateien über mehrere Clientvorrichtungen hinweg zu synchronisieren wie auch auf Dateien in der Cloud (beispielsweise über das Internet) zuzugreifen. Trotz dieser und weiterer Vorteile bringen herkömmliche Dateiverwaltungssysteme immer noch Nachteilen mit sich.
-
Bei einem exemplarischen Nachteil beschränken herkömmliche Dateiverwaltungssysteme oftmals die Fähigkeit des Einzelnen, auf eine Datei von mehreren Orten aus zuzugreifen, und zwar insbesondere dann, wenn der Einzelne die Datei an mehr als einem Ort zu bearbeiten versucht. Herkömmliche Dateiverwaltungssysteme verhindern beispielsweise oftmals, dass ein Einzelner eine Datei an einem Ort modifiziert, wenn auf die Datei auch von einem anderen Ort aus zugegriffen wird. Die herkömmlichen Dateiverwaltungssysteme schränken den Einzelnen vielmehr dahingehend ein, dass er an einem oder jedem Ort ausschließlich lesen kann.
-
In einigen Fällen verlangen, wenn ein Einzelner versucht, auf eine Datei gleichzeitig von einem zweiten Ort aus zuzugreifen, viele herkömmliche Dateiverwaltungssysteme, dass der Einzelne eine duplizierte Kopie der Datei erstellt, bevor er Änderungen an der Datei vornehmen kann. Die Praxis des Erstellens von duplizierten Kopien bringt jedoch einige Probleme mit sich. Das Erstellen einer Kopie verdoppelt beispielsweise den Speicherplatz, der zum Speichern der Datei nötig ist. Dies impliziert wiederum ein Verdoppeln des Speicherplatzes an jedem Ort, an dem die Dateien gespeichert sind.
-
Des Weiteren vergeuden herkömmliche Dateiverwaltungssysteme durch das Erstellen von Kopien Bandbreite zum Übertragen der Dateikopien. Wird beispielsweise eine Kopie auf einer Clientvorrichtung erstellt, so überträgt die Clientvorrichtung eine vollständige Kopie der Datei an einen Remote-Speicherort. Ist die Datei zudem mit zusätzlichen Vorrichtungen synchronisiert, so überträgt das Dateiverwaltungssystem die Kopie der Datei an jeden dieser Orte. Da die Größe der Datei zunimmt, nimmt auch die Menge der vergeudeten Bandbreite zu.
-
Bei einem weiteren Beispiel macht das Erstellen einer Dateikopie die Kopie von der ursprünglichen Datei unabhängig. Indem beispielsweise mehrere Kopien einer Datei (beispielsweise die Datei und die Kopie) vorhanden sind, verliert der Einzelne gegebenenfalls den Überblick, welche Datei am aktuellsten ist. Beinhalten beispielsweise eine oder mehrere Kopien der Datei Modifikationen, so bleibt es dem Einzelnen überlassen herauszufinden, welche Kopien welche Änderungen enthalten, ob die Modifikationen zwischen mehreren Kopieren zusammengeführt werden sollen und/oder ob eine oder mehrere Kopien als Duplikate oder nicht mehr aktuelle Version zu löschen sind. Diese Dateikopien belasten darüber hinaus die Clientvorrichtung des Einzelnen (es tauchen beispielsweise mehrere Kopieren ein und derselben Datei in Ordnern und Verzeichnissen auf). Im Ergebnis ist der Einzelne verwirrt, was er mit jeder Dateikopie anfangen soll, was in einigen Fällen zum fälschlichen Entfernen einer Datei, die eine korrekte Überarbeitung beinhaltet hat, führt.
-
Das Vorbeschriebene zusammen mit zusätzlichen Problemen und Fragestellungen gilt für herkömmliche Dateiverwaltungssysteme. Es besteht Bedarf an einer Verbesserung auf dem Gebiet der Dateiverwaltung innerhalb einer Rechenvorrichtung wie auch zwischen Rechenvorrichtungen.
-
Kurze Zusammenfassung
-
Eine oder mehrere Ausführungsformen der vorliegenden Offenbarung beinhalten Systeme und Verfahren, die eine verbesserte Lokal- und Remote-Synchronisierung von Digitalassets bereitstellen. Insbesondere verwalten die Systeme und Verfahren bei einer oder mehreren Ausführungsformen Digitalassets durch Separieren eines jeden Digitalassets (Digitalbild, Datei und dergleichen mehr) in das Digitalasset bildende intrinsische Komponenten (Schichten, Seiten und dergleichen mehr), und Speichern der Komponenten als separate individuelle Dateien. Dies ermöglicht, dass die Verfahren und Systeme anstelle der gesamten Digitalassets die Komponenten einzeln speichern und synchronisieren, wenn Änderungen an dem Digitalasset vorgenommen werden.
-
Eine Komponente beinhaltet Content innerhalb einer definierten Grenze eines Digitalassets und ist modifizierbar, ohne andere Komponenten des Digitalassets, so beispielsweise eine Schicht eines Bildes oder eine Seite eines Dokumentes, zu beeinflussen. Die Systeme und Verfahren weisen jeder Komponente Kennungen zu. Unter Nutzung der Kennungen erzeugen die Systeme und Verfahren eine Datenbankabbildung, die jede Komponente mit der entsprechenden Datei verbindet, wobei die Abbildung die Version des Digitalassets angibt. Bei einigen exemplarischen Ausführungsformen detektieren die offenbarten Systeme und Verfahren eine Aktualisierung an einer Komponente des Digitalassets. Eine Anwendung nimmt beispielsweise eine Modifikation an der Komponente vor. In Reaktion auf das Detektieren der Aktualisierung speichern die Systeme und Verfahren eine aktualisierte Datei für die aktualisierte Komponente und weisen zudem der aktualisierten Komponente eine Kennung zu. Die Systeme und Verfahren erzeugen sodann eine modifizierte Abbildung, die die ursprüngliche Kennung der Komponente durch die aktualisierte Kennung der aktualisierten Komponente ersetzt. Auf diese Weise bezeichnet die modifizierte Abbildung die aktualisierte Version des Digitalassets, die Modifikation an der Komponente beinhaltet. Darüber hinaus müssen, wenn das Digitalasset auf einer anderen Clientvorrichtung gespeichert wird, die Systeme und Verfahren lediglich die aktualisierte Komponente und die modifizierte Abbildung an die andere Clientvorrichtung senden, um für die andere Vorrichtung die aktualisierte Version des Digitalassets bereitzustellen, anstatt dass die gesamte aktualisierte Datei an die andere Clientvorrichtung gesendet wird.
-
Diese und weitere Merkmale und Vorteile einer oder mehrerer Ausführungsformen der vorliegenden Offenbarung werden in der nachfolgenden Beschreibung beschrieben, erschließen sich teilweise aus der Beschreibung oder ergeben sich aus der praktischen Umsetzung der exemplarischen Ausführungsformen.
-
Figurenliste
-
Die Offenbarung beschreibt eine oder mehrere Ausführungsformen mit besonderer Spezifität und Detailgenauigkeit anhand der begleitenden Zeichnung, die sich wie folgt zusammensetzt.
- 1 zeigt eine exemplarische Digitalassetdatenbank, die Digitalassetabbildungen beinhaltet, entsprechend einer oder mehreren Ausführungsformen.
- 2 zeigt exemplarische Komponenten, die mit verschiedenen Versionen eines Digitalassets entsprechend einer oder mehreren Ausführungsformen verknüpft sind.
- 3 zeigt ein exemplarisches schematisches Diagramm des Digitalassetsynchronisierungssystems entsprechend einer oder mehreren Ausführungsformen.
- 4 zeigt ein Blockdiagramm einer Umgebung, in der ein Digitalassetsynchronisierungssystem entsprechend einer oder mehreren Ausführungsformen betrieben werden kann.
- 5 zeigt ein Sequenzdiagramm mehrerer Anwendungen, die gleichzeitig auf ein Digitalasset zugreifen, entsprechend einer oder mehreren Ausführungsformen.
- 6 zeigt ein Sequenzdiagramm des effizienten Übertragens von Komponenten eines Digitalassets entsprechend einer oder mehreren Ausführungsformen.
- 7 zeigt ein Sequenzdiagramm des Beilegens von Konflikten bei einer Komponente eines Digitalassets entsprechend einer oder mehreren Ausführungsformen.
- 8 zeigt ein Sequenzdiagramm des Verwaltens von gleichzeitigen Aktualisierungen an derselben Komponente eines Digitalassets zwischen einer Clientvorrichtung und einem Remote-Server entsprechend einer oder mehreren Ausführungsformen.
- 9 zeigt ein Zustandsdiagramm eines Digitalassetsynchronisierungssystems, das eine Abbildung für ein Digitalasset erzeugt und modifiziert, entsprechend einer oder mehreren Ausführungsformen.
- 10 zeigt ein exemplarisches Flussdiagramm eines Verfahrens zum Zugreifen auf Digitalassets entsprechend einer oder mehreren Ausführungsformen.
- 11 zeigt ein exemplarisches Flussdiagramm eines Verfahrens zum Verwalten eines Digitalassets über mehrere Nutzervorrichtungen hinweg entsprechend einer oder mehreren Ausführungsformen.
- 12 zeigt ein Blockdiagramm einer exemplarischen Rechenvorrichtung entsprechend einer oder mehreren Ausführungsformen.
-
Detailbeschreibung
-
Eine oder mehrere Ausführungsformen der vorliegenden Offenbarung beinhalten ein Digitalassetsynchronisierungssystem, das eine Lokal- und Remote-Synchronisierung von Digitalassets ermöglicht. Insbesondere verwaltet das Digitalassetsynchronisierungssystem Digitalassets durch einzelnes Separieren eines jeden Digitalassets in seine intrinsischen Komponenten und einzelnes Speichern/Synchronisieren der Komponenten anstelle der gesamten Digitalassets. Darstellungshalber identifiziert das Digitalassetsynchronisierungssystem bei einer oder mehreren Ausführungsformen Komponenten eines Digitalassets. Beim Identifizieren der Komponenten eines Digitalassets weist das Digitalassetsynchronisierungssystem Kennungen zu, die jede Komponente eindeutig identifizieren. Das Digitalassetsynchronisierungssystem speichert jede der Komponenten des Digitalassets als unabhängige Datei. Mit anderen Worten, das Digitalassetsynchronisierungssystem speichert Komponenten eines Digitalassets einzeln, anstatt dass es sämtliche Komponenten eines Digitalassets zusammen als monolithische Datei speichert. Das Digitalassetsynchronisierungssystem nutzt die Abbildung sodann zum Kompilieren bzw. Zusammenstellen der einzelnen Komponenten, um für eine Anwendung einen Zugriff auf das Digitalasset bereitzustellen. Wird eine Komponente modifiziert, so speichert das Digitalassetsynchronisierungssystem eine aktualisierte Version der Komponente und synchronisiert die aktualisierte Version der Komponente anstelle des Speicherns und Synchronisierens einer aktualisierten Version des gesamten Digitalassets.
-
Beim vorbeschriebenen Beispiel erstellt das Digitalassetsynchronisierungssystem beim Detektieren der Aktualisierung an der Komponente eine Kopie der Komponente (beispielsweise eine neue, unabhängige Datei), die die Modifikation aufweist. Zusätzlich weist das Digitalassetsynchronisierungssystem der modifizierten Komponente eine Kennung zu. Das Digitalassetsynchronisierungssystem erzeugt sodann eine modifizierte Abbildung, die die Kennung der ursprünglichen Komponente in der ursprünglichen Abbildung durch die Kennung der modifizierten Komponente ersetzt. Auf diese Weise stellt die ursprüngliche Abbildung die vorherige Version des Digitalassets dar, und die modifizierte Abbildung stellt die aktualisierte Version des Digitalassets dar. Da der einzige Unterschied zwischen den beiden Versionen des Digitalassets eine einzige modifizierte Komponente ist, nimmt das Digitalassetsynchronisierungssystem eine Wiedernutzung vor, ohne eine Kopie der anderen Komponenten des Digitalassets zu erstellen, um die beiden Versionen beizubehalten.
-
Auf ähnliche Weise muss das Digitalassetsynchronisierungssystem lediglich die neuerstellte Komponente und die modifizierte Abbildung an andere Vorrichtungen senden, um für die Vorrichtungen die aktualisierte Version des Digitalassets bereitzustellen. Das Senden lediglich der modifizierten Komponenten anstelle einer gesamten modifizierten Kopie des Digitalassets verringert merklich die Bandbreite, die zum Synchronisieren von Aktualisierungen an dem Digitalasset über Vorrichtungen hinweg benötigt wird. Darüber hinaus können die anderen Vorrichtungen die Abbildung durch die modifizierte Abbildung und die ursprüngliche Komponente durch die modifizierte Komponente ersetzen. Des Weiteren können die anderen Vorrichtungen die vorherige Abbildung zusammen mit der ursprünglichen Komponente entfernen oder beide Sätze beibehalten, um eine Versionshistorie des Digitalassets zu erhalten.
-
Unter Einsatz eines Komponentenframeworks für jedes Digitalasset kann das Digitalassetsynchronisierungssystem ermöglichen, dass mehrere Anwendungen auf derselben Clientvorrichtung oder auf verschiedenen Clientvorrichtungen gleichzeitig auf dasselbe Digitalasset zugreifen, ohne dass jede Anwendung eine separate Kopie des gesamten Digitalassets erstellen müsste. Sind die beiden Anwendungen auf derselben Vorrichtung vorhanden, so nutzen die beiden Anwendungen beispielsweise dieselbe Digitalassetdatenbank, um auf das Digitalasset zuzugreifen und dieses anzuzeigen. Modifiziert eine Anwendung eine Komponente des Digitalassets, so stellt das Digitalassetsynchronisierungssystem sodann die aktualisierte Komponente für die andere Anwendung über die Digitalassetdatenbank bereit. Sind die beiden Anwendungen wechselseitig remote, so bildet jede Anwendung eine Schnittstelle zu einer Digitalassetdatenbank, die Komponentenaktualisierungen füreinander bereitstellen. Mit anderen Worten, sendet das Digitalassetsynchronisierungssystem eine modifizierte Komponente aus einer Lokal-Digitalassetdatenbank an eine Remote-Digitalassetdatenbank, so empfangen beliebige Anwendungen unter Nutzung der Remote-Digitalassetdatenbank automatisch die modifizierte Komponente.
-
Bei einer oder mehreren Ausführungsformen können, wenn zwei Anwendungen (entweder lokal oder wechselseitig remote) auf Komponenten eines Digitalassets zugreifen, die beiden Anwendungen verschiedene Komponenten gleichzeitig modifizieren. Zwei Nutzer nutzen jeweils beispielsweise eine Anwendung, um eine andere Komponente innerhalb ihrer jeweiligen Anwendungen zu modifizieren. Bei einigen Ausführungsformen detektiert das Digitalassetsynchronisierungssystem jedoch einen Konflikt zwischen verschiedenen Versionen derselben Komponente eines Digitalassets. Bei diesen Ausführungsformen speichert das Digitalassetsynchronisierungssystem die verschiedenen Versionen der Komponente als separate Dateien, und das Digitalassetsynchronisierungssystem fügt die zwei oder mehr Versionen zu derselben Abbildung anstelle der ursprünglichen Basiskomponente hinzu.
-
Beim Aktualisieren der Abbildung derart, dass diese jeden Zweig der Komponente beinhaltet, präsentiert eine Anwendung dem Nutzer das modifizierte Digitalasset. Der Nutzer kann innerhalb der Anwendung jene zwei (oder mehr) separaten Komponenten, die zu dem Digitalasset hinzugefügt worden sind, ohne Weiteres erkennen. Zusätzlich kann der Nutzer die Komponente/Komponenten, die zu dem Digitalasset hinzugefügt worden ist/sind, schnell entfernen oder zusammenführen, um zu einem korrekt modifizierten Digitalasset zu gelangen. Alternativ ermöglicht das Digitalassetsynchronisierungssystem nach Bedarf, dass der Nutzer leicht zu vorherigen Versionen der Komponente / des Digitalassets zurückkehren kann.
-
Wie vorstehend erwähnt worden ist, bildet das Digitalassetsynchronisierungssystem bei einer oder mehreren Ausführungsformen eine Schnittstelle zu einer Remote-Digitalassetdatenbank. Das Digitalassetsynchronisierungssystem kommuniziert beispielsweise mit einer Remote-Digitalassetdatenbank, um eine aktualisierte Version eines Digitalassets auf einer lokalen Clientvorrichtung, an einem Cloudspeicherort und/oder auf anderen Clientvorrichtungen zu erhalten. Detektiert das Digitalassetsynchronisierungssystem Aktualisierungen an Komponenten auf der lokalen Clientvorrichtung, so kann das Digitalassetsynchronisierungssystem die aktualisierten Komponenten für die Remote-Digitalassetdatenbank bereitstellen, die die aktualisierten Komponenten sodann an die andere Clientvorrichtung / die anderen Clientvorrichtungen verteilen kann.
-
Bei einigen Ausführungsformen ist die Clientvorrichtung nicht durchweg mit der Remote-Digitalassetdatenbank verbunden. Eine Clientvorrichtung, die eine Mobilvorrichtung ist, kann beispielsweise diskontinuierlich mit Netzwerken verbunden sein. Bei diesen Ausführungsformen kann ein Nutzer eine Anzahl von Modifikationen an einer einzigen Komponente auf einer lokalen Clientvorrichtung durchführen, während die Clientvorrichtung bezüglich der Remote-Digitalassetdatenbank offline ist. Während des Offlineseins kann das Digitalassetsynchronisierungssystem jede Modifikation an der Komponente aufzeichnen. Verbindet sich die Clientvorrichtung erneut mit der Remote-Digitalassetdatenbank, so stellt das Digitalassetsynchronisierungssystem für die Remote-Digitalassetdatenbank eine Kopie einer jeden modifizierten Komponente bereit. Die Remote-Digitalassetdatenbank erzeugt wiederum eine Versionsabbildung des Digitalassets für jede empfangene Modifikation und verknüpft jede Versionsabbildung mit einer vorherigen Version des Digitalassets.
-
Wie vorstehend kurz beschrieben worden ist, bietet das Digitalassetsynchronisierungssystem Vorteile gegenüber herkömmlichen Dateiverwaltungssystemen. Das Digitalassetsynchronisierungssystem bietet beispielsweise eine erhöhte Flexibilität und eine verbesserte Rechenfunktionalität, indem es einen gleichzeitigen Zugriff und eine gleichzeitige Bearbeitung desselben Digitalassets durch mehrere Nutzer, Anwendungen und/oder Vorrichtungen ermöglicht. Detektiert das Digitalassetsynchronisierungssystem eine Änderung bei einer Komponente eines Digitalassets, so verbreitet das Digitalassetsynchronisierungssystem die Änderung automatisch an andere Nutzer, Anwendungen und/oder Vorrichtungen, die gleichzeitig auf das Digitalasset zugreifen. Herkömmliche Systeme und Verfahren ermöglichen üblicherweise keinen gleichzeitigen Zugriff und keine gleichzeitige Bearbeitung desselben Digitalassets durch mehrere Nutzer, Anwendungen und/oder Vorrichtungen. Wird beispielsweise ein Konflikt mit einer Komponente detektiert, so legt das Digitalassetsynchronisierungssystem den Konflikt intelligent bei, wie nachstehend noch detaillierter beschrieben wird.
-
Darüber hinaus ermöglicht das Digitalassetsynchronisierungssystem, dass eine Rechenvorrichtung Funktionen schneller als herkömmliche Dateiverwaltungssysteme wahrnimmt. Insbesondere kann das Digitalassetsynchronisierungssystem die Effizienzen nutzen, die durch Synchronisieren lediglich modifizierter Komponenten eines Digitalassets erreicht werden, anstatt dass das gesamte Digitalasset synchronisiert wird. Wie noch detailliert ausgeführt wird, bietet das Digitalassetsynchronisierungssystem verbesserte Effizienzen für eine Clientvorrichtung, indem die Rechenressourcen, die von der Clientvorrichtung zum Synchronisieren und Speicheren eines Digitalassets benötigt werden, verringert werden. Das Digitalassetsynchronisierungssystem bietet des Weiteren einen schnelleren Zugriff auf das Digitalasset (beispielsweise eine schnellere Suche) und eine schnellere Präsentation desselben, was dazu führt, dass das Digitalassetsynchronisierungssystem die Funktionalität der Clientvorrichtung selbst verbessert (beispielsweise nimmt das Digitalassetsynchronisierungssystem ein schnelleres Zugreifen, Anzeigen und Bearbeiten eines Digitalassets als herkömmliche Systeme und Verfahren vor).
-
Als zusätzlichen Vorteil bietet das Digitalassetsynchronisierungssystem eine bandbreiteneffiziente Synchronisierung zwischen Vorrichtungen derart, dass nur ein Bruchteil eines Digitalassets übertragen wird, wenn eine Modifikation erfolgt ist. Das Digitalassetsynchronisierungssystem ermöglicht des Weiteren das lokal wie auch remote erfolgende Vorhalten von zahlreichen Versionen eines Digitalassets bei lediglich geringen zusätzlichen Speicherkosten im Gegensatz zu herkömmlichen Dateiverwaltungssystemen, die das Speichern von vollständigen Kopien einer jeden Version eines Digitalassets erfordern.
-
Des Weiteren müssen die einzelnen Anwendungen als Ergebnis dessen, dass das Digitalassetsynchronisierungssystem einen gleichzeitigen Zugriff auf Komponenten zwischen Anwendungen auf einer Clientvorrichtung ermöglicht, keine Inter-Prozess-Kommunikationen (Inter-Process Communications IPC) bereitstellen, wenn sich eine Komponente innerhalb der Anwendung ändert. Vielmehr detektiert, verwaltet und koordiniert das Digitalassetsynchronisierungssystem die modifizierte Komponente über mehrere Anwendungen hinweg. Dieses Merkmal ist insbesondere in Sandbox-Systemen und ähnlichen Umgebungen von Bedeutung, wo verhindert wird, dass Anwendungen IPC für die Kommunikation mit anderen Anwendungen auf einer Clientvorrichtung nutzen.
-
Darüber hinaus bietet das Digitalassetsynchronisierungssystem eine verbesserte Flexibilität, indem dem Digitalassetsynchronisierungssystem ermöglicht wird, mit einem Arsenal von Digitalassets (beispielsweise Bilder, Dokumente, Präsentationen, Videos, Animationen, Infografiken und andere Typen) typunabhängig zu arbeiten. Zusätzlichen Nutzen sowie zusätzliche Vorteile, Merkmale und Eigenschaften des Digitalassetsynchronisierungssystems werden nachstehend anhand der Figuren beschrieben, die eine oder mehrere Ausführungsformen des Digitalassetsynchronisierungssystems beschreiben.
-
1 der Zeichnung zeigt exemplarische Komponenten, die zu entsprechenden Digitalassets gehören, die durch eine Digitalassetdatenbank verknüpft sind. Insbesondere zeigt 1 eine Digitalassetdatenbank 100, die mehrere Digitalassetabbildungen 102 (oder einfach „ “) beinhaltet. Wie gezeigt ist, beinhaltet die Digitalassetdatenbank 100 eine Bildassetabbildung 102a, eine Dokumentassetabbildung 102b und eine Digitalvideoassetabbildung 102c. Die Digitalassetabbildung 100 kann auf einer Clientvorrichtung oder einer Servervorrichtung, wie nachstehend noch beschrieben wird, befindlich sein.
-
Im Allgemeinen bezeichnet, wie vorstehend erwähnt worden ist, der Begriff „Digitalasset“ im Sinne des Vorliegenden Digitaldaten, an denen man Nutzungsrechte hat. Ein Nutzer ist beispielsweise befugt, ein Digitalasset zu erstellen, zu betrachten, zu modifizieren und/oder zu löschen. Beispiele für Digitalassets beinhalten unter anderem Dokumente, so beispielsweise WORD-Dokumente, Tabellen und Präsentationen; elektronische Mitteilungen; Bilder, so beispielsweise Illustrationen, Animationen und Fotos; Videos; Audiocontent; dreidimensionale Daten; und andere Digitaldaten, die ein Nutzer zwischen Rechenvorrichtungen übertragen kann.
-
Der Begriff „Komponente“ bezeichnet einen Teil bzw. Abschnitt eines Digitalassets. Ein bestimmter Satz von Komponenten bildet ein Digitalasset (beispielsweise eine Digitalassetversion). Im Allgemeinen ist jede Komponente eines Digitalassets ohne Beeinflussung anderer Komponenten des Digitalassets modifizierbar. In einigen Fällen ist jedoch eine begrenzte Anzahl von Komponenten verknüpft, sodass Änderungen an einer Komponente einige andere Komponenten beeinflussen. Darüber hinaus beruht der Stil (beispielsweise Framework) einer Komponente auf Grenzen innerhalb eines Digitalassets und oftmals auf dem Typ des Digitalassets. Ein Bild beinhaltet beispielsweise Schichten und Subschichten als Komponenten; ein Video oder Videoprojekt beinhaltet kürzere Videosegmente, Titel und statische Grafiken als Komponenten; ein Dokument beinhaltet Seiten, Leinwände, Zeichenflächen, Text- und Bildkästchen, Zeilen, Spalten und/oder Grafiken als Komponenten; und ein dreidimensionales Modell beinhaltet Netze, Karten, Szenen und Gitternetzmodelle als Komponenten. In anderen Fällen kann ein Nutzer die Grenzen/Parameter für Komponenten eines Digitalassets auswählen.
-
Jede Komponente ist mit einer unabhängigen Datei verknüpft. Im Sinne des Vorliegenden bezeichnet der Begriff „unabhängige Datei“ (oder einfach „Datei“) allgemein Digitaldaten, die in einem Speichermedium aufgezeichnet sind. Als solches kann auf eine Datei zugegriffen werden, es kann die Datei modifiziert, übertragen und/oder entfernt werden, und zwar separat von anderen Datendateien. Da Komponenten diskrete Teile bzw. Abschnitte eines Digitalassets sind, kann jede Komponente auf einer Rechenvorrichtung als einzelne Datei an einem Dateiort oder in einem Verzeichnis gespeichert werden, was davon unabhängig ist, wo die anderen Komponenten des Digitalassets gespeichert sind. Im Gegensatz zu einer monolithischen Datei, die sämtliche zu einer Datei gehörenden Daten an einem einzigen Ort speichert, können Komponenten eines Digitalassets als Dateien gespeichert werden, die über ein Speichermedium (beispielsweise eine lokale Datenbank oder einen Cloudspeicher) verteilt sind, so beispielsweise eine oder mehrere Clientvorrichtungen und/oder Remote-Servervorrichtungen.
-
Wie in 1 gezeigt ist, nutzt das Digitalassetsynchronisierungssystem eine der innerhalb der Digitalassetdatenbank für einen Zugriff auf ein oder mehrere Digitalassets. Darstellungshalber beinhaltet jede Abbildung eine Auflistung von Komponenten 104, die ein Digitalasset bilden. Bei einigen Ausführungsformen definiert eine Abbildung eine Reihenfolge, eine Priorität oder eine Anordnung von Komponenten des Digitalassets, wie nachstehend noch beschrieben wird. Bei einer exemplarischen Abbildung beinhaltet die Bildassetabbildung 102a Schichtkomponenten 104a, die zu einem Digitalbildasset gehören. Auf diese Weise nutzt das Digitalassetsynchronisierungssystem die Bildassetabbildung 102a für einen Zugriff auf jede der Schichtkomponenten 104a des Digitalbildassets. Obwohl im Übrigen 1 Komponenten, die zu der Bildassetabbildung 102a gehören, einfach mit Labeln versieht, sollte einsichtig sein, dass die im Zusammenhang mit den Schichtkomponenten 104a erfolgende Beschreibung auch für andere Komponenten gilt, die zu anderen Digitalassets gehören.
-
Wie vorstehend erwähnt worden ist, beruht der Stil (beispielsweise das Framework) einer Komponente bei vielen Ausführungsformen auf dem Typ des Digitalassets, zu dem die Komponente gehört. Bei einem Beispiel weist das Digitalbild ein Komponentenframework aus Schichten auf, die sowohl sichtbare Schichten wie auch nicht sichtbare Schichten (beispielsweise Schichten, die Metadaten über das Bild beinhalten) beinhalten. Weitere Beispiele für Komponenten, die auf dem Typ eines Digitalassets beruhen, sind vorstehend angegeben.
-
Wie in 1 gezeigt ist, beinhaltet jede der Schichtkomponenten 104a eine Kennung (identifier, „ID“) und einen Dateiort („Datei bzw. File“). Im Allgemeinen versieht jede Kennung jede Komponente, die ein Digitalasset bildet, mit einem eindeutigen Label. Das Digitalassetsynchronisierungssystem nutzt die Kennungen zur Auflistung dessen, welche Schichten in die Bildassetabbildung 102a für ein Digitalbild aufzunehmen sind. Mit anderen Worten, die Bildassetabbildung 102a listet die Kennungen der Schichten, die das Digitalbild. bilden, auf. Zusätzliche Details im Zusammenhang mit dem Digitalassetsynchronisierungssystem, das Kennungen für ein Digitalasset zuweist, sind nachstehend angegeben.
-
Im Allgemeinen verknüpft der Dateiort, der mit jeder der Komponenten verknüpft ist, die Kennung der Komponente mit der Datei der Komponente. Wie vorstehend erwähnt worden ist, speichern die Dateien Daten für Komponenten eines Digitalassets, die über ein Speichermedium verteilt sein können. Einige Dateien sind beispielsweise in einem Verzeichnis (beispielsweise einem Ordner) gespeichert, während andere Dateien in einem anderen Verzeichnis gespeichert sind. Bei einem weiteren Beispiel sind einige Dateien in einem Cloudspeicher gespeichert. Als solches hält die Digitalassetdatenbank 100 eine Aufzeichnung (das heißt den Dateiort) dessen, wo die Datei für eine Komponente in einer gespeichert ist, vor. Auf diese Weise nutzt das Digitalassetsynchronisierungssystem eine Abbildung für ein Digitalasset zum Identifizieren dessen, wo Dateien für das Digitalasset befindlich sind, da die Dateien an verschiedenen Orten innerhalb eines Speichermediums befindlich sein können.
-
Bei einer oder mehreren Ausführungsformen führt das Digitalassetsynchronisierungssystem einen Schritt zum Abbilden einer Kennung für jede der Komponenten auf eine verteilte Datei, die mit der Komponente verknüpft ist, durch. Wie vorstehend erwähnt worden ist und nachstehend noch beschrieben wird, erzeugt das Digitalassetsynchronisierungssystem die , indem Kennungen für jede Komponente eines Digitalassets mit einer unabhängigen Datei, die die Contents einer entsprechenden Komponente beinhaltet, verknüpft werden.
-
Anhand 2 erfolgt nunmehr eine weitere Beschreibung dessen, wie das Digitalassetsynchronisierungssystem mehrere Versionen eines Digitalassets erstellt und vorhält. Insbesondere zeigt 2 Schichten (beispielsweise Komponenten), die mit verschiedenen Versionsabbildungen eines Digitalassets (beispielsweise einem Digitalbild) verknüpft sind. Wie in 2 gezeigt ist, beinhaltet jede Version 206 des Digitalassets eine Bildassetversionsabbildung 202 (oder einfach eine „Versionsabbildung 202“) mit verschiedenen Schichtkomponenten 204. Zusätzlich kann jede Versionsabbildung 202 in 2 eine exemplarische Bildassetabbildung 102a von 1 darstellen, die Komponenten (das heißt die Komponenten 104) auf eine Kennung und einen Dateiort abbildet. Jede Versionsabbildung 202 verweist auf Komponenten 204, die eine bestimmte Version 206 des Digitalassets bilden.
-
Darstellungshalber zeigt 2, dass Version 1 des Digitalbildes eine Versionsabbildung 202 aufweist, die die Komponenten von Schicht 1, Schicht 2 und Schicht 3 beinhaltet. Auf diese Weise stellt, wenn eine Anwendung, so beispielsweise eine Digitalassetanwendung, Version 1 des Digitalbildes öffnet, das Digitalassetsynchronisierungssystem für die Anwendung die Versionsabbildung 202 für Version 1 bereit, wodurch ermöglicht wird, dass die Anwendung Schicht 1, Schicht 2 und Schicht 3 als Komponenten von Version 1 identifiziert, die Dateien, die diesen Schichten entsprechen, lokalisiert und auf diese Dateien gemäß der korrekten Reihenfolge, Priorität oder Anordnung zugreift. Auf diese Weise kann die Anwendung Version 1 des Digitalbildes einem Nutzer als eine einzige Datei anzeigen. Erläuterungshalber werden die Vorgänge des Identifizierens von Komponenten, des Lokalisierens von entsprechenden Dateien und des Zugreifens auf die Dateien in der restlichen Beschreibung von 2 einfach als „Zugreifen auf die Schichten“ bezeichnet.
-
Modifiziert ein Nutzer oder eine Anwendung eine Komponente des Digitalassets, so kopiert das Digitalassetsynchronisierungssystem die modifizierte Komponente und wendet die Änderungen bei der kopierten Komponente an. Das Digitalassetsynchronisierungssystem aktualisiert sodann die Versionsabbildung 202, um die Änderung der Version 206 des Digitalassets wiederzugeben. Wie dargestellt ist, weist Version 2 eine Versionsabbildung 202 auf, die Schicht 1, Schicht 2.1 und Schicht 3 beinhaltet. Mit anderen Worten, die Versionsabbildung 202 für Version 2 beinhaltet die aktualisierte Schicht 2, die Schicht 2.1 ist, wie auch die anderen verbleibenden Schichten (das heißt Schicht 1 und Schicht 3). Insbesondere ersetzt das Digitalassetsynchronisierungssystem die Kennung von Schicht 2 durch die Kennung von Schicht 2.1.
-
Das Digitalassetsynchronisierungssystem erzeugt bei einer oder mehreren Ausführungsformen immer dann eine neue Versionsabbildung 202 des Digitalbildes, wenn eine Schicht modifiziert wird. Beim Vorhalten einer Versionshistorie des Digitalbildes erstellt das Digitalassetsynchronisierungssystem beispielsweise eine Kopie der Versionsabbildung 202 von Version 1 und ersetzt die Kennung von Schicht 2 durch die Kennung von Schicht 2.1 innerhalb der Kopie, die sodann zur Versionsabbildung 202 für Version 2 des Digitalbildes wird. Auf diese Weise stellt die Versionsabbildung 202 für Version 2 für Nutzer oder Anwendungen einen Zugriff auf Schichten bereit, die Version 2 des Digitalbildes bilden.
-
Bei einigen Ausführungsformen ersetzt das Digitalassetsynchronisierungssystem anstatt des Vorhaltens einer Versionshistorie die aktuelle Versionsabbildung durch die aktualisierte Kennung und den Dateiort, sodass nur eine Versionsabbildung 202 des Digitalbildes (beispielsweise die aktuelle Version) erhalten bleibt. Bei diesen Ausführungsformen kann das Digitalassetsynchronisierungssystem zudem alle Komponenten, die bei der aktuellen Version nicht genutzt werden, so beispielsweise Schicht 2, die nur bei einer vorherigen Version des Digitalbildes (beispielsweise Version 1) benutzt wird, entfernen.
-
Man beachte, dass beim Erstellen von mehreren Versionen eines Digitalassets das Digitalassetsynchronisierungssystem Effizienzen aus vorherigen Versionen nutzt. Die Versionsabbildungen sowohl für Version 1 wie auch für Version 2 des Digitalbildes greifen auf dieselbe Datei für Schicht 1 und Schicht 3 zu, anstatt dass eine vollständige duplizierte Kopie einer jeden Komponente/Datei oder des Digitalassets erstellt würde. Weist ein Digitalasset eine große Anzahl von Komponenten auf, so sind die Kosteneinsparungen bei Speicherung/Bearbeitung/Geschwindigkeit nicht unbeträchtlich. Die Kosteneinsparungen können zu denselben oder noch schnelleren Verarbeitungszeiten führen, ohne dass zusätzlicher Speicher auf einem Speichermedium benötigt würde. Zusätzlich erhöhen sich, wie gezeigt ist, die Kosteneinsparungen dadurch, dass keine vollständigen Kopien einer jeden Version gespeichert werden, weiter, wenn das Digitalassetsynchronisierungssystem zusätzliche Versionen eines Digitalassets erstellt.
-
Wie bei Version 3 gezeigt ist, empfängt das Digitalassetsynchronisierungssystem eine zusätzliche Schicht für das Digitalasset. Ein Nutzer fügt beispielsweise mittels einer Anwendung eine weitere Schicht (beispielsweise Schicht 4) zu dem Digitalasset hinzu. In Reaktion auf das Detektieren einer neuen Schicht erstellt das Digitalassetsynchronisierungssystem eine neue Datei zum Speichern der Schicht, weist der Schicht eine Kennung zu und verknüpft die neue Schicht mit der Kennung und der Datei. Zusätzlich erstellt das Digitalassetsynchronisierungssystem eine neue/aktualisierte Versionsabbildung 202, die die neue Schicht beinhaltet, während das Digitalassetsynchronisierungssystem mit einer neuen Digitalassetversion 206 verknüpft wird. Wie dargestellt ist, beinhaltet die Versionsabbildung 202 für Version 3 Schicht 1, Schicht 2.1, Schicht 3 und Schicht 4 und ermöglicht, dass eine Anwendung auf jede dieser Schichten zugreift und einem Nutzer Version 3 des Digitalbildes präsentiert.
-
Version 4 von 2 zeigt, dass das Digitalassetsynchronisierungssystem die Versionsabbildung 202 für das Digitalasset auf Grundlage des Empfangs einer Aktualisierung an Schicht 2.1, die als Schicht 2.2 gezeigt ist, empfängt und aktualisiert. Des Weiteren zeigt Version 5 eine Versionsabbildung 202, wenn das Digitalassetsynchronisierungssystem eine Schicht aus dem Digitalasset entfernt hat. Wie gezeigt ist, entfernt Version 5 des Digitalbildes Schicht 3 aus der Versionsabbildung 202. Ein Nutzer löscht beispielsweise mittels einer Anwendung Schicht 3 aus dem Digitalbild. In Reaktion hierauf erstellt das Digitalassetsynchronisierungssystem eine neue Versionsabbildung, die Schicht 1.1, Schicht 2.2 und Schicht 4, jedoch nicht Schicht 3 beinhaltet.
-
Wie vorstehend erläutert worden ist, hält das Digitalassetsynchronisierungssystem bei einer oder mehreren Ausführungsformen eine Versionshistorie für ein Digitalasset vor. Das Digitalassetsynchronisierungssystem speichert beispielsweise Versionen 1 bis 5 des Digitalbildes, wie in 2 gezeigt ist, zusammen mit jeder modifizierten und neuerstellten Komponente/Datei. Das Digitalassetsynchronisierungssystem hält die Komponente/Datei für Schicht 3 vor, sodass der Nutzer auf vorherige Versionen des Digitalassets (beispielsweise Versionen 1 bis 4), die Schicht 3 beinhalten, zugreifen kann.
-
Genau wie eine Anwendung eine vorherige Versionsabbildung laden kann, um auf eine vorherige Version eines Digitalassets zuzugreifen, ermöglicht das Digitalassetsynchronisierungssystem bei einigen Ausführungsformen, dass ein Nutzer auf vorherige Versionen einer Komponente selbst zugreift. Wenn beispielsweise eine Anwendung für einen Nutzer Version 5 des Digitalbildes bereitstellt, der Nutzer jedoch von Schicht 2.2 zu Schicht 2.1 oder Schicht 2.0 zurückkehren will, kann das Digitalassetsynchronisierungssystem dies beispielsweise ermöglichen, ohne andere Schichten des Digitalbildes zu beeinflussen. Insbesondere ermöglicht das Digitalassetsynchronisierungssystem, dass die Anwendung Schicht 2.1 oder Schicht 2 anstelle von Schicht 2.2 anzeigt, ohne Schicht 4 zu beeinflussen, die hinzugefügt worden ist, nachdem Schicht 2.1 modifiziert worden ist. In Reaktion auf die Rückkehr von Schicht 2.2 zu Schicht 2 erstellt das Digitalassetsynchronisierungssystem beispielsweise eine neue Version 206 (beispielsweise Version 6) mit einer Versionsabbildung 202 von Schicht 1, Schicht 2 und Schicht 4. Auf diese Weise ermöglicht das Digitalassetsynchronisierungssystem, dass ein Nutzer jede Komponente einzeln zurückführt („undo“), ohne andere Komponenten eines Digitalassets zu beeinflussen.
-
Wie vorstehend erläutert worden ist, kann das Digitalassetsynchronisierungssystem Aktualisierungen auf Grundlage dessen detektieren und anwenden, dass eine oder mehrere Komponenten eines Digitalassets modifiziert werden, was die Abbildung für das Digitalasset beeinflusst. Bei einer oder mehreren Ausführungsformen führt das Digitalassetsynchronisierungssystem einen Schritt des Modifizierens der Abbildung auf Grundlage der Detektion einer Aktualisierung an einer ersten Komponente des Digitalassets derart durch, dass die modifizierte Abbildung eine aktualisierte Version des Digitalassets definiert. Zusätzlich zum Vorbeschriebenen erfolgt die weitere Beschreibung im Zusammenhang mit dem Detektieren von Komponentenaktualisierungen und dem Modifizieren von Digitalassetabbildungen nachstehend.
-
Wie vorstehend erläutert worden ist, kann ein Synchronisierungssystem Digitalassets, die eine Digitalassetabbildung beinhalten, innerhalb einer Digitalassetdatenbank, erstellen, vorhalten und verwalten. 3 zeigt ein exemplarisches Digitalassetverwaltungssystem 300, dessen Digitalassetsynchronisierungssystem 301 (oder einfach „Synchronisierungssystem 301“) einen Teil bildet, der die Digitalassetverwaltung unterstützt. Eine oder mehrere Rechenvorrichtungen 303 (beispielsweise eine Clientvorrichtung und/oder eine Servervorrichtung) können das Digitalassetverwaltungssystem 300 implementieren.
-
Bei einigen Ausführungsformen wird das Digitalassetverwaltungssystem 300 sowohl auf einer Clientvorrichtung wie auch einer Servervorrichtung, die in Kommunikation miteinander sind, betrieben, um beispielsweise das Synchronisieren von Digitalassets zwischen den Vorrichtungen zu erleichtern. Darstellungshalber zeigt 4 nachstehend eine exemplarische Umgebung, in der ein Digitalassetverwaltungssystem auf einer Clientvorrichtung betrieben wird und ein Remote-Digitalassetverwaltungssystem auf einer Servervorrichtung betrieben wird.
-
Wie in 3 gezeigt ist, unterstützt das Digitalassetverwaltungssystem 300 ein Digitalassetsynchronisierungssystem 301, das mehrere Elemente beinhaltet. Insbesondere beinhaltet das Digitalassetsynchronisierungssystem 301 einen Digitalassetverwalter 302, einen Digitalassetsynchronisierer 304 und eine Digitalassetdatenbank 306. Der Digitalassetverwalter 302 beinhaltet einen Komponentenidentifizierer 308, einen Komponentenabbilder 310 und einen Versionsverfolger 312. Die Digitalassetdatenbank 306 beinhaltet Komponenten 314 und Versionsabbildungen 316. Die Digitalassetdatenbank 306 kann die vorstehend im Zusammenhang mit 1 und 2 beschriebenen exemplarischen Digitalassetdatenbanken beinhalten.
-
Das Digitalassetverwaltungssystem 300 und das Digitalassetsynchronisierungssystem 301 können computerausführbare Anweisungen umfassen, die bei Ausführung durch eine oder mehrere Rechenvorrichtungen veranlassen, dass die entsprechende eine Rechenvorrichtung oder die entsprechenden mehreren Rechenvorrichtungen eine Anzahl von Vorgängen durchführen, wie nachstehend noch detaillierter beschrieben wird.
-
Der Digitalassetverwalter 302 erleichtert allgemein das Identifizieren von, das Zugreifen auf und das Modifizieren von Digitalassets, darunter von Komponenten eines Digitalassets. Als Teil dieses Prozesses setzt der Digitalassetverwalter 302 den Komponentenidentifizierer 308 ein., Im Allgemeinen identifiziert der Komponentenidentifizierer 308 Komponenten eines Digitalassets. Erstellt ein Nutzer beispielsweise in einer Anwendung ein neues Digitalasset, so weist der Komponentenidentifizierer 308 jeder Komponente innerhalb des Digitalassets eine Kennung zu. Bei einem weiteren Beispiel identifiziert der Komponentenidentifizierer 308 Komponenten aus einem bestehenden Digitalasset, so beispielsweise einem Digitalasset, das von einer anderen Anwendung oder einer Remote-Quelle empfangen wird.
-
Der Komponentenidentifizierer 308 kann auf Grundlage des Typs des Digitalassets bestimmen, welcher Stil von Komponenten für ein Digitalasset identifiziert werden soll. Der Komponentenidentifizierer 308 greift beispielsweise auf eine Nachschlagetabelle zu, die ein oder mehrere Komponentenframeworks für jeden Digitalassettyp auflistet. Bei einer oder mehreren Ausführungsformen stellt ein Nutzer eine Eingabe bereit, um das Standardframework für ein spezifisches Digitalasset oder für alle Digitalassets mit einem bestimmten Typ zu ändern. Insbesondere kann ein Nutzer eine Eingabe bereitstellen, die das Frameworkgranularitätsniveau von Komponenten für ein Digitalasset oder einen Digitalassettyp spezifiziert (beispielsweise dahingehend, ob ein Textdokument Unterteilungskomponenten auf Grundlage von Absätzen, Überschriften, Abschnitten und/oder Seiten sollte). Bei einigen Ausführungsformen ist die Frameworkgranularität mit der Größe eines Digitalassets verknüpft (beispielsweise unterteilen Mehrseitendokumente Komponenten seitenweise, während Einzelseitendokumente Komponenten satzweise unterteilen).
-
Der Komponentenidentifizierer 308 weist bei verschiedenen Ausführungsformen unter Verwendung eines Zuweisungsalgorithmus, der sicherstellt, dass an jede Komponente eine eindeutige Kennung vergeben wird, einer Komponente eine Kennung zu. Bei einigen Ausführungsformen nutzt der Komponentenidentifizierer 308 den Namen / die Kennung des Digitalassets, zu dem eine Komponente als Teil der Kennung der Komponente gehört. Bei verschiedenen Ausführungsformen inkrementiert der Komponentenidentifizierer 308 die Kennung nachfolgender Versionen einer Komponente, sodass eine nachfolgende Version einer Komponente auf eine oder mehrere vorherige Versionen der Komponente zurück verweist.
-
Bei einer oder mehreren Ausführungsformen identifiziert der Komponentenidentifizierer 308 eine Komponente teilweise auf Grundlage eines Hashing der Contents innerhalb des Digitalassets. Auf diese Weise stellt die Kennung für jede Komponente auch einen Hinweis dahingehend bereit, ob die Komponente duplizierten Content beinhaltet. Der Komponentenidentifizierer 308 kann ohne Weiteres identifizieren, dass zwei Komponenten (innerhalb desselben Digitalassets oder innerhalb verschiedener Digitalasset) identisch sind. Ist dem so, so kann der Komponentenidentifizierer 308 beide Komponenten auf dieselbe Datei abbilden, was den Speicherplatz weiter verringert.
-
Unter Verwendung von Hashes als Kennungen kann der Komponentenidentifizierer 308 zudem bestimmen, wann eine Komponente derart modifiziert worden ist, dass die Komponente zu einer vorherigen Version derselben Komponente passt. Demonstrationshalber und erneut mit Blick auf 2 gilt, dass dann, wenn Schicht 2.2 ein exakter Treffer bezüglich Schicht 2 ist, der Komponentenidentifizierer 308 dieselbe Hashkennung für beide Schichten bestimmt. Beim Detektieren des Treffers bildet der Komponentenidentifizierer 308 Schicht 2.2 auf die Datei ab, die mit Schicht 2 verknüpft ist, anstatt dass er eine neue Datei erstellt.
-
Bei Ausführungsformen, bei denen der Komponentenidentifizierer 308 keinen Hash der Contents einer Komponente zur Bestimmung einer Kennung verwendet, kann der Komponentenidentifizierer 308 immer noch den Hash der Contents einer Komponente bilden und den Hash der Komponente verknüpfen. Der Komponentenidentifizierer 308 listet den Hash einer Komponente in der Abbildung oder als Metadaten innerhalb der Digitalassetdatenbank 306 auf. Auf diese Weise kann der Komponentenidentifizierer 308 bestimmen, wann Komponenten denselben Content teilen, und auf dieselbe Datei innerhalb eines Speichermediums verweisen.
-
Wie vorstehend erwähnt worden ist, beinhaltet der Digitalassetverwalter 302 einen Komponentenabbilder 310. Der Komponentenabbilder 310 erzeugt allgemein Abbildungen für ein Digitalasset. Insbesondere bildet der Komponentenabbilder 310 Komponenten auf ein Digitalasset und zudem Komponenten auf entsprechende Dateien ab. Auf diese Weise listet der Komponentenabbilder 310 die Kennungen einer jeden Komponente in einem Digitalasset innerhalb einer Abbildung auf, um anzuzeigen, dass die Komponenten das Digitalasset bilden.
-
Als Teil des Auflistens von Komponenten in einer Abbildung kann der Komponentenabbilder 310 jeder aufgelisteten Komponente eine Reihenfolge (das heißt eine Priorität) zuweisen. Der Komponentenabbilder 310 kann die Kennungen in der Abbildung auf Grundlage mehrerer Faktoren ordnen. Der Komponentenabbilder 310 bestimmt die Reihenfolge beispielsweise auf Grundlage der Anordnung des Auftretens in dem Digitalasset (beispielsweise von links nach rechts, von oben nach unten, von vorne nach hinten und/oder vom Beginn zum Ende), der Frameworkhierarchie, des Kennungsnamens und/oder des Erstellungs-/Modifikationsdatums. Ändern sich Komponenten des Digitalassets, so nimmt der Komponentenabbilder 310 zudem ein Hinzufügen, Entfernen, Modifizieren oder Ersetzen einer Kennung vor.
-
Zusätzlich kann der Komponentenabbilder 310 Komponenten auf entsprechende Dateien abbilden. Als Teil des Erzeugens einer Abbildung für ein Digitalasset verbindet der Komponentenabbilder 310 beispielsweise eine Kennung einer Komponente mit einer Datei, die den Content der Komponente speichert. Der Komponentenabbilder 310 beinhaltet beispielsweise den Dateinamen und den Ort innerhalb der Abbildung. Da ein Digitalasset Komponenten aufweisen kann, deren Content in Dateien gespeichert ist, die über verschiedene Orte und Verzeichnisse innerhalb eines oder mehrerer Speichermedien verteilt sind, ermöglicht das Abbilden einer jeden Komponente auf eine Datei, die deren Content speichert, dass Anwendungen auf jede Komponente eines Digitalassets zugreifen und dem Nutzer das Digitalasset als monolithische Datei präsentieren.
-
Wie vorstehend beschrieben worden ist, können zwei oder mehr Komponenten identischen Content beinhalten. Bei diesen Ausführungsformen bildet der Komponentenabbilder 310 mehrere Kennungen auf dieselbe Datei ab, da die Contents der beiden Komponenten identisch sind. Weisen zwei Komponenten beispielsweise zueinander passenden Content auf, so nimmt der Komponentenabbilder 310 die Komponenten separat in die Digitalassetabbildung auf, bildet jedoch beide Komponenten auf dieselbe Datei ab. Bei alternativen Ausführungsformen bildet der Komponentenabbilder 310 Komponenten mit passendem Inhalt auf separate Dateien ab, was beispielsweise dann der Fall ist, wenn der Komponentenabbilder 310 auf eine Prüfung der Contents einer jeden Komponente verzichtet, um den Aufwand bei der Verarbeitung auf einer Rechenvorrichtung zu verringern.
-
Wie in 3 gezeigt ist, beinhaltet der Digitalassetverwalter 302 zudem einen Versionsverfolger 312. Wie vorstehend beschrieben worden ist, ist ein Digitalasset üblicherweise mit mehreren Versionen verknüpft. Bei Ausführungsformen, bei denen das Digitalassetsynchronisierungssystem 301 eine Versionshistorie für ein Digitalasset vorhält, speichert der Versionsverfolger 312 vorherige Versionsabbildungen, die mit dem Digitalasset verknüpft sind. Beispielsweise speichert der Versionsverfolger 312 vorherige Versionsabbildungen 316 eines Digitalassets wie auch eine Liste von Dateien, die mit Komponenten jener vorherigen Versionen verbunden sind, in der Digitalassetdatenbank 306.
-
Bei einer oder mehreren Ausführungsformen begrenzt der Versionsverfolger 312 die Anzahl von gespeicherten vorherigen Versionsabbildungen auf Grundlage einer Randbedingung. Die Randbedingung kann beispielsweise zeitbasiert sein, so beispielsweise alle Versionen mit einem Alter von weniger als einer Woche oder einem Monat. Bei einem anderen Beispiel ist die Randbedingung anzahlbasiert, so beispielsweise die drei, fünf oder zehn aktuellsten Versionsabbildungen. Bei wieder einem anderen Beispiel ist die Randbedingung speichergrößenbasiert, so beispielsweise weniger als 50 MB oder weniger als 5% des Speicherplatzes auf einem Speichermedium (oder in einem Raum, der dem Digitalassetsynchronisierungssystem 301 zugeordnet ist).
-
Auf ähnliche Weise kann der Versionsverfolger 312 frühere Dateien, die nur mit ausgesonderten Versionsabbildungen verknüpft sind, aussondern. Ist beispielsweise auf eine Datei einer Videosegmentkomponente letztmalig von einer veralteten Versionsabbildung eines Videoassets verwiesen worden, so entfernt der Versionsverfolger 312 die Datei der Videosegmentkomponente beim Entfernen der veralteten Versionsabbildung. Zusätzlich und/oder alternativ kann der Versionsverfolger 312 einen Bereinigungsalgorithmus ausführen, der nichtgebrauchte Dateien (beispielsweise eine „Müllsammlung“) entfernt und diejenigen Dateien, auf die durch beliebige gespeicherte Versionsabbildungen nicht verwiesen wird, aussondert.
-
Wie vorstehend erwähnt worden ist, ermöglicht das Digitalassetsynchronisierungssystem 301 bei einigen Ausführungsformen, dass ein Nutzer eine einzelne Komponente zu einer vorherigen Version zurückführt, ohne andere Komponenten eines Digitalassets, zu modifizieren. Als solches kann der Versionsverfolger 312 eine Auflistung vorhalten, die aktuelle Komponenten mit ihren vorherigen Versionen verknüpft. Als Teil dieser Auflistung verfolgt der Versionsverfolger 312 diejenige Datei, die einer vorherigen Komponentenversion entspricht. Mit Blick auf das Vorgesagte kann der Versionsverfolger 312 eine begrenzte Anzahl von Dateien für vorherige Versionen einer Komponente speichern.
-
Bei einer oder mehreren Ausführungsformen ist der Versionsverfolger 312 optional als Teil des Digitälassetverwalters 302 vorgesehen. Ein Synchronisierungssystem 301 beinhaltet gegebenenfalls keinen Versionsverfolger 302, da das Digitalassetsynchronisierungssystem 301 keine Versionshistorien von Digitalassets auf der Clientvorrichtung vorhält. In diesen Fällen kann das Digitalassetsynchronisierungssystem 301 auf der Clientvorrichtung vorherige Versionsabbildungen und nichtgenutzte Dateien entfernen. Bei einigen Ausführungsformenformen hält die Clientvorrichtung beispielsweise vorherige Versionsabbildungen und vorherige Komponentenversionen vorübergehend vor, bis sich das Digitalassetsynchronisierungssystem 301 auf der Clientvorrichtung mit einer Servervorrichtung synchronisiert oder ein Nutzer eine Anwendung, die auf das Digitalasset zugreift, verlässt.
-
Das Synchronisierungssystem 301, das auf einer Servervorrichtung befindlich ist, so beispielsweise ein Remote-Digitalassetsynchronisierungssystem, kann die vorherige Versionsabbildung und entsprechende Dateien für Digitalassets speichern. Fordert ein Synchronisierungssystem 301 auf einer Clientvorrichtung eine vorherige Version eines Digitalassets an, so stellt der Versionsverfolger 312 auf dem Remote-Digitalassetsynchronisierungssystem für die Clientvorrichtung eine Versionsabbildung, die der angeforderten Version entspricht, sowie Dateien, die auf der Clientvorrichtung fehlen, bereit. Zusätzlich hält das Synchronisierungssystem 301 bei einigen Ausführungsformen auf einer Clientvorrichtung eine kleinere Anzahl von vorherigen Versionsabbildungen als auf einer Servervorrichtung vor.
-
Wie in 3 gezeigt ist, beinhaltet das Digitalassetsynchronisierungssystem 301 zudem einen Digitalassetsynchronisierer 304. Im Allgemeinen ermöglicht der Digitalassetsynchronisierer 304, dass mehrere Nutzer, Anwendungen und/oder Vorrichtungen gleichzeitig auf ein Digitalasset zugreifen. So erleichtert der Digitalassetsynchronisierer 304 das Synchronisieren eines Digitalassets zwischen mehreren Vorrichtungen, so beispielsweise zwischen mehreren Clientvorrichtungen und/oder zwischen einer Clientvorrichtung und einer Servervorrichtung.
-
Demonstrationshalber detektiert der Digitalassetsynchronisierer 304 bei einer oder mehreren Ausführungsformen, wann auf Komponenten eines Digitalassets von mehreren Orten aus zugegriffen wird. Der Digitalassetsynchronisierer 304 kommuniziert beispielsweise mit der Digitalassetdatenbank 306, um zu detektieren, wann eine oder mehrere Anwendungen (oder Nutzer : oder Vorrichtungen) Komponenten eines Digitalassets betrachten und/oder modifizieren. Der Digitalassetsynchronisierer 304 erkennt beispielsweise einen Systemaufruf, der angibt, dass eine Anwendung einen Zugriff auf die Digitalassetdatenbank 306 anfordert. Auf gleiche Weise bestimmt der Digitalassetsynchronisierer 304, wann die Anwendung das Zugreifen auf Komponenten eines Digitalassets beendet hat.
-
Der Digitalassetsynchronisierer 304 kann, wie erwähnt worden ist, detektieren, wann eine Modifikation innerhalb eines Digitalassets, auf das gleichzeitig von mehreren Anwendungen (oder Nutzern oder Vorrichtungen) zugegriffen wird, erfolgt. Der Digitalassetsynchronisierer 304 erkennt beispielsweise, wann der Digitalassetverwalter die Digitalassetabbildung für ein Digitalasset, auf das gleichzeitig zugegriffen wird, aktualisiert. Bei einigen Ausführungsformen sendet der Digitalassetsynchronisierer 304 beim Detektieren einer Änderung durch eine erste Anwendung einen Hinweis (beispielsweise eine direkte Mitteilung oder eine Multicast-Mitteilung) an die anderen Anwendungen, um anzugeben, dass die Abbildung mit der modifizierten Komponente modifiziert worden ist. Alternativ zeigt der Digitalassetsynchronisierer 304 den anderen Anwendungen an, dass sich die Digitalassetabbildung für das Digitalasset geändert hat, woraufhin die anderen Anwendungen mit der Digitalassetdatenbank 306 interagieren können, um die Änderung zu lokalisieren und anzuwenden. Eine weitere Beschreibung im Zusammenhang mit gleichzeitigen Zugriffen auf einen Digitalasset erfolgt nachstehend anhand 5.
-
Zusätzlich kann der Digitalassetsynchronisierer 304, wie erwähnt worden ist, auch eine Konfliktbeilegung zwischen mehreren Anwendungen (oder Nutzern oder Vorrichtungen), die dieselbe Komponente eines Digitalassets modifizieren, durchführen. Allgemein modifizieren die Anwendungen, wenn mehrere Anwendungen auf ein Digitalasset zugreifen, dieselbe Komponente eher selten gleichzeitig. Vielmehr modifizieren die Anwendungen verschiedene Komponenten. Wie im vorherigen Absatz beschrieben worden ist, erleichtert der Digitalassetsynchronisierer 304 das Aktualisieren einer jeden Anwendung, um eine Komponente anzuzeigen, die von einer anderen Anwendung, die auf dasselbe Digitalasset gleichzeitig zugreift, modifiziert wird.
-
In dem Fall, in dem mehrere Anwendungen dieselbe Komponente gleichzeitig modifizieren, kann der Digitalassetsynchronisierer 304 den Konflikt innerhalb des Digitalassets beilegen. Bei einer oder mehreren Ausführungsformen legt der Digitalassetsynchronisierer 304 den Konflikt bei, indem eine oder mehrere zusätzliche Komponenten, die die in Konflikt stehenden Modifikationen beinhalten, erstellt werden. Nehmen beispielsweise Anwendung 1 und Anwendung 2 beide eine Modifikation an Schicht 1 eines Digitalbildes vor, so ersetzt der Digitalassetsynchronisierer 304 die ursprünglich modifizierte Schicht 1 sowohl durch Schicht 1 aus Anwendung 1 wie auch durch Schicht 1 aus Anwendung 2 innerhalb der Abbildung. Alternativ beinhaltet der Digitalassetsynchronisierer 304 zudem die ursprüngliche vormodifizierte Schicht 1 zusätzlich sowohl zu Schicht 1 aus Anwendung 1 wie auch Schicht 1 aus Anwendung 2 in der Abbildung für das Digitalasset.
-
Ein Nutzer detektiert beim Betrachten des modifizierten Digitalbildes wahrscheinlich, dass das Digitalbild mehr als eine Version von Schicht 1 beinhaltet. In Reaktion hierauf kann der Nutzer einen Fehler durch Entfernen, Bearbeiten oder Zusammenführen einer oder mehrerer Schichten korrigieren. Alternativ kann der Digitalassetsynchronisierer 304 eine oder mehrere Versionen des Digitalbildes, die jeweils eine Version von Schicht 1 beinhalten, erstellen. Die weitere Beschreibung im Zusammenhang mit dem Beilegen von Konflikten zwischen einer Komponente eines Digitalassets erfolgt nachstehend anhand 7.
-
Zusätzlich führt der Digitalassetsynchronisierer 304 Synchronisierungen zwischen mehreren Clientvorrichtungen und/oder zwischen einer Clientvorrichtung und einer Servervorrichtung durch. Bei einigen Ausführungsformen wird ein Digitalasset über mehrere Vorrichtungen hinweg synchronisiert. Der Digitalassetsynchronisierer 304 detektiert Komponentenmodifikationen (wie vorstehend beschrieben) und sendet (mittels Pushen) modifizierte Versionsabbildungen und entsprechende fehlende Dateien an andere Vorrichtungen. Zusätzlich kann der Digitalassetsynchronisierer 304 Versionsabbildungen und fehlende Dateien von anderen Vorrichtungen (mittels Pullen) anfordern. Die weitere Beschreibung im Zusammenhang mit dem Übertragen von Komponenten eines Digitalassets erfolgt nachstehend anhand 6.
-
Wie in 3 dargestellt ist, beinhaltet das Digitalassetsynchronisierungssystem 301 die Digitalassetdatenbank 306. Es sollte einsichtig sein, dass bei einigen Ausführungsformen die Digitalassetdatenbank 306 entfernt von dem Digitalassetsynchronisierungssystem 301, so beispielsweise auf einer separaten Rechenvorrichtung, befindlich ist. Wie dargestellt ist, beinhaltet die Digitalassetdatenbank 306 Komponenten 314 und Versionsabbildungen 316. Die Komponenten 314 können entsprechende Dateien beinhalten, die den Content der Komponenten speichern. Alternativ geben die Komponenten 314 Dateiorte der entsprechenden Dateien, die an einem separaten Ort, so beispielsweise auf einem anderen Speichermedium der Rechenvorrichtung, die das Digitalassetsynchronisierungssystem 301 hostet, gespeichert sind, an.
-
Die Digitalassetdatenbank 306 kann Transaktionsgarantien für einen Nutzer bereitstellen. Wie nachstehend noch beschrieben wird, setzt die Digitalassetdatenbank 306 bei einer oder mehreren Ausführungsformen einen Mehr-Schritt-Prozess zur Aufzeichnung von Komponenten und. Abbildungen für ein Digitalasset ein, um die Datenintegrität sicherzustellen. Zusätzlich kann die Digitalassetdatenbank 306 angeben, wann eine bestimmte Komponente von einem Nutzer oder einer Anwendung verwendet wird, was ermöglicht, dass das Digitalassetsynchronisierungssystem noch effektiver detektiert, wann Änderungen an der Komponente erfolgen. Des Weiteren kann die Digitalassetdatenbank 306 eine Routinenbereinigung (beispielsweise ein Müllsammeln) durchführen, um beliebige Komponenten und/oder Dateien zu entfernen, die nicht mehr verwendet werden (auf die beispielsweise weder durch aktuelle noch durch vorherige Versionen/Abbildungen von Digitalassets verwiesen wird).
-
Zusätzlich kann die Digitalassetdatenbank 306 unter Verwendung von verschiedenen Protokollen und Designs implementiert sein. Die Digitalassetdatenbank 306 kann eine SQL- oder SQLite-Datenbank umfassen. Bei einem weiteren Beispiel ist die Digitalassetdatenbank 306 eine Mongo-Datenbank oder eine andere Art von Datenbank. Des Weiteren kann die Digitalassetdatenbank 306, wie erwähnt ist, lokal auf einer Clientvorrichtung oder als Teil einer cloudbasierten Speicherung gespeichert sein.
-
Die Elemente 301 bis 316 des Digitalassetverwaltungssystems 300 können Software, Hardware oder beides beinhalten. Die Elemente 301 bis 316 können eine oder mehrere Anweisungen beinhalten, die auf einem computerlesbaren Speichermedium gespeichert und von Prozessoren einer oder mehrerer Rechenvorrichtungen, so beispielsweise einer Clientvorrichtung oder einer Servervorrichtung, ausführbar sind. Bei Ausführung durch den einen oder die mehreren Prozessoren können die computerausführbaren Anweisungen des Digitalassetverwaltungssystems 300 veranlassen, dass die Rechenvorrichtung / die Rechenvorrichtungen die hier beschriebenen Merkmalslernverfahren einsetzt/einsetzen. Alternativ können die Elemente 301 bis 316 Hardware, so beispielsweise eine Spezialzweckverarbeitungsvorrichtung, beinhalten, um eine bestimmte Funktion oder Gruppe von Funktionen wahrzunehmen. Die Elemente 301 bis 316 des Digitalassetverwaltungssystems 300 können alternativ eine Kombination aus computerausführbaren Anweisungen und Hardware beinhalten.
-
Des Weiteren können die Elemente 301 bis 316 des Digitalassetverwaltungssystems 300 beispielsweise als ein oder mehrere Betriebssysteme, als ein oder mehrere eigenständige (stand-alone) Anwendungen, als ein oder mehrere Module einer Anwendung, als ein oder mehrere Plug-ins, als ein oder mehrere Bibliotheksfunktionen oder Funktionen, die von anderen Anwendungen aufgerufen werden können, und/oder als Cloudrechenmodell implementiert sein. Die Elemente 301 bis 316 können daher als eigenständige (stand-alone) Anwendung, so beispielsweise als Desktop- oder Mobilanwendung, implementiert sein. Des Weiteren können die Elemente 301 bis 316 als eine oder mehrere webbasierte Anwendungen, die auf einem Remote-Server gehostet sind, implementiert sein. Die Elemente 301 bis 316 können zusätzlich in einer Suite von Mobilvorrichtungsanwendungen oder „Apps“ implementiert sein. Darstellungshalber können die Elemente 301 bis 316 in einer Anwendung implementiert sein, darunter unter anderem der Software „ADOBE CREATIVE CLOUD“. „ADOBE“ und „CREATIVE CLOUD“ sind eingetragene Marken oder Marken von Adobe Systems Incorporated in den Vereinigten Staaten und/oder anderen Ländern.
-
Wie vorstehend erwähnt worden ist, kann das Digitalassetverwaltungssystem 30 auf einer Clientvorrichtung, einer Servervorrichtung oder beidem vorhanden sein. Darstellungshalber zeigt 4 eine Umgebung 400, die sowohl eine Clientvorrichtung 402 wie auch eine Servervorrichtung 404 beinhaltet, die jeweils eine Version des Digitalassetverwaltungssystems hosten. Wie gezeigt ist, beinhaltet die Clientvorrichtung 402 ein Digitalassetverwaltungssystem 407, das ein Digitalassetsynchronisierungssystem 408 aufweist, während die Servervorrichtung 404 ein Remote-Digitalassetverwaltungssystem 413 beinhaltet, das von dem Digitalassetsynchronisierungssystem 414 remote ist. Das Digitalassetverwaltungssystem 407 und das Remote-Digitalassetverwaltungssystem 413 verkörpern das Digitalassetverwaltungssystem 300, das vorstehend anhand 3 beschrieben worden ist. Auf gleiche Weise verkörpern sowohl das Digitalassetsynchronisierungssystem 408 wie auch das Remote-Digitalassetsynchronisierungssystem 414 das Digitalassetsynchronisierungssystem 301, das vorstehend anhand 3 beschrieben worden ist.
-
Wie nunmehr detaillierter gezeigt wird, beinhaltet die Clientvorrichtung 400 eine Digitalassetanwendung 406 (oder einfach eine „Anwendung 406“) und die Digitalassetdatenbank 410 (innerhalb des Digitalassetsynchronisierungssystems 408 / des Digitalassetverwaltungssystems 407), die die Digitalassets 412 speichert. Die Servervorrichtung 404 beinhaltet das Remote-Digitalassetsynchronisierungssystem 414 innerhalb des Remote-Digitalassetverwaltungssystems 413, das Nutzerinformation 420 und Remote-Digitalassets 418 (die den Digitalassets 412 auf der Clientvorrichtung 402 entsprechen) speichert.
-
Wie weiter detailliert dargestellt ist, kommuniziert die Clientvorrichtung 402 mit der Servervorrichtung 404 über ein Netzwerk 422. Obwohl 4 eine bestimmte Anordnung von Vorrichtungen und Elementen zeigt, sind verschiedene zusätzliche Anordnungen möglich. So kann die Umgebung 400 beispielsweise eine beliebige Anzahl von Clientvorrichtungen beinhalten.
-
Die Clientvorrichtung 402 kann verschiedene Arten von Clientvorrichtungen darstellen. Bei einigen Ausführungsformen kann die Clientvorrichtung 402 eine nichtmobile Vorrichtung sein, so beispielsweise ein Desktop oder Server, oder eine andere Art von Clientvorrichtung. Bei anderen Ausführungsformen kann die Clientvorrichtung 402 eine Mobilvorrichtung sein, so beispielsweise ein Mobiltelefon, ein Smartphone, ein PDA, ein Tablet, ein Laptop, eine tragbare Vorrichtung und dergleichen mehr. Zusätzliche Details im Zusammenhang mit Clientvorrichtungen werden nachstehend anhand 12 erläutert.
-
Bei verschiedenen Ausführungsformen interagieren ein oder mehrere Nutzer über das Netzwerk 422 mit der Clientvorrichtung 402, um auf Digitalassets zuzugreifen, und zwar entweder direkt auf der Clientvorrichtung 402 (beispielsweise Digitalassets 412) oder remote auf der Servervorrichtung 404 (beispielsweise Remote-Digitalassets 418). Im Sinne des Vorliegenden kann ein Nutzer ein Einzelner (das heißt ein menschlicher Nutzer), eine Gruppe, eine Firma oder eine andere Entität sein. Mitarbeiter, die mehrere Clientvorrichtungen nutzen, teilen beispielsweise einen Satz von Digitalassets. Beim vorliegenden Beispiel hält jeder Mitarbeiter der Clientvorrichtung eine aktuelle Kopie der geteilten Digitalassets vor, die über die Servervorrichtung 404 synchronisiert wird.
-
Wie in 4 gezeigt und vorstehend erwähnt worden ist, beinhaltet die Clientvorrichtung 402 eine Anwendung 406. Die Anwendung 406 kann mit dem Digitalassetverwaltungssystem 407 und dem Digitalassetsynchronisierungssystem 408 kommunizieren, um auf ein oder mehrere Digitalassets 412 in der Digitalassetdatenbank 410 zuzugreifen. Allgemein ermöglicht eine Anwendung einem Nutzer das Erstellen, Betrachten, Kopieren, Modifizieren und/oder Löschen eines Digitalassets. In einigen Fällen betrifft eine Anwendung eine spezifische Art von Digitalasset. Eine Anwendung ist beispielsweise eine textverarbeitende Anwendung, die mit Digitaldokumenten interagiert. Bei einem weiteren Beispiel ist eine Anwendung eine Bildbearbeitungs-/Erstellungsanwendung, die mit Digitalbildern interagiert.
-
Wie erwähnt worden ist, greift die Anwendung 406 auf die Digitalassets 412 zu. Demonstrationshalber interagiert die Anwendung 406 mit dem Digitalassetverwaltungssystem 407 und dem Digitalassetsynchronisierungssystem 408, um eine Abbildung für ein Digitalasset zu erhalten. Wie vorstehend beschrieben worden ist, nutzt die Anwendung 406 die Abbildung zum Identifizieren der Komponenten, die das Digitalasset bilden, wie auch der Dateiorte, an denen der Content jener Komponenten gespeichert ist (da die Komponenten in Dateien, die über die Clientvorrichtung 402 verteilt sind, gespeichert sein können). Bei einem Zugriff auf die Komponenten präsentiert die Anwendung 406 einem Nutzer das Digitalasset als eine einzige monolithische Datei (zeigt diese beispielsweise an).
-
Wie bereits erwähnt worden ist, ermöglicht die Anwendung 406 bei einer oder mehreren Ausführungsformen, dass ein Nutzer eine oder mehrere Komponenten eines Digitalassets modifiziert (beispielsweise erstellt, ändert, löscht). Ist das Digitalasset beispielsweise ein Bild mit mehreren Schichten, so ermöglicht die Anwendung 406, dass ein Nutzer Content innerhalb einer Schicht bearbeitet. Die Anwendung 406 kann ermöglichen, dass der Nutzer Schichten hinzufügt oder entfernt. Erstellt oder modifiziert die Anwendung 406 ein Digitalasset, so detektieren das Digitalassetverwaltungssystem 407 und das Digitalassetsynchronisierungssystem 408 Änderungen an den Komponenten des Digitalassets, aktualisieren die Abbildung für das Digitalasset und modifizieren, wie vorstehend beschrieben worden ist, eine oder mehrere entsprechende Dateien.
-
Die Anwendung 406 kann bei einigen Ausführungsformen mit dem Remote-Digitalassetverwaltungssystem 413 und dem Remote-Digitalassetsynchronisierungssystem 414 kommunizieren, um direkt auf Remote-Digitalassets 418 zuzugreifen. Die Anwendung 406 stellt beispielsweise ein oder mehrere Remote-Digitalassets 418 für einen Nutzer bereit (zeigt beispielsweise eine Vorschau hiervon an) und ermöglicht, dass der Nutzer ein Digitalasset zur vollständigen Anzeige oder Modifizierung innerhalb der Anwendung 406 auswählt. Bei einigen Ausführungsformen greift die Anwendung 406 des Weiteren auf vorherige Versionen eines Digitalassets und/oder eine spezifische Komponente aus der Remote-Digitalassetdatenbank 416 zu, was beispielsweise dann der Fall ist, wenn die Digitalassetdatenbank 410 auf der Clientvorrichtung 402 vorherige Versionen des Digitalassets nicht vorhält, die Remote-Digitalassetdatenbank 416 die vorherigen Versionen jedoch sehr wohl vorhält.
-
Bei einer oder mehreren Ausführungsformen beinhaltet die Clientvorrichtung 402 mehrere Anwendungen. Ein Nutzer greift beispielsweise unter Verwendung von zwei oder mehr Anwendungen auf der Clientvorrichtung 2 gleichzeitig auf dasselbe Digitalasset zu. Wie vorstehend erwähnt worden ist, veranlassen das Digitalassetverwaltungssystem 407 und das Digitalassetsynchronisierungssystem 408, dass die anderen Anwendungen aktualisiert werden, um die Änderungen in dem Digitalasset wiederzugeben, wenn der Nutzer die Komponente innerhalb der einen Anwendung modifiziert.
-
Synchronisiert die Clientvorrichtung 402 die Digitalassets 412 mit dem Remote-Digitalassetverwaltungssystem 413 und dem Remote-Digitalassetsynchronisierungssystem 414 auf der Servervorrichtung 404, so kann die Anwendung 406 in Echtzeit oder nahezu in Echtzeit das Digitalasset, auf das ein Nutzer zugreift, aktualisieren. So betrachtet ein Nutzer beispielsweise ein Digitalvideo unter Nutzung der Anwendung 406 auf der Clientvorrichtung 402, und es aktualisiert ein anderer Nutzer das Digitalvideo auf einer anderen Clientvorrichtung. Empfängt das Digitalassetsynchronisierungssystem 408 die aktualisierten Komponenten (beispielsweise Videosegmente, Grafiken oder Titel), so benachrichtigen das Digitalassetverwaltungssystem 407 und das Digitalassetsynchronisierungssystem 408 die Anwendung 406 der aktualisierten Komponenten darüber, dass die Anwendung 406 das aktualisierte Digitalvideo für den Nutzer bereitstellen kann. In einigen Fällen aktualisiert die Anwendung 406 das Digitalvideo, wenn der Nutzer das Video anschaut, ohne dass eine zusätzliche Handlung seitens des Nutzers erforderlich wäre.
-
Wie gezeigt ist, beinhaltet die Servervorrichtung 404 das Remote-Digitalassetverwaltungssystem 413 und das Remote-Digitalassetsynchronisierungssystem 414. Das Remote-Digitalassetverwaltungssystem 413 und das Remote-Digitalassetsynchronisierungssystem 414 können Ausführungsformen der Remote-Digitalassetverwaltungssysteme und der Digitalassetsynchronisierungssysteme, wie vorstehend beschrieben, sein. So beinhaltet das Remote-Digitalassetsynchronisierungssystem 414 beispielsweise eine Remote-Digitalassetdatenbank 416 (oder einfach eine „Remote-Datenbank 416“), die Remote-Digitalassets 418 speichert. Die Remote-Digitalassets 418 sind Kopien der Digitalassets 412, die auf der Clientvorrichtung 402 gespeichert sind. Mit anderen Worten, bei vollständiger Synchronisierung sind die Digitalassets 412, die auf der Clientvorrichtung 402 gespeichert sind, ebenfalls in der Remote-Datenbank 416 gespeichert.
-
Darüber hinaus beinhaltet die Remote-Datenbank 416 oftmals mehr Digitalassets, als auf einer Clientvorrichtung vorzufinden sind, was kurz gesagt daher rührt, dass die Clientvorrichtung nicht die gesamte Digitalassetsammlung eines Nutzers lokal synchronisiert. Im Allgemeinen weist die Servervorrichtung 404 eine größere Speicherkapazität als eine Clientvorrichtung auf, was insbesondere bei mobilen Clientvorrichtungen gilt. Die Remote-Datenbank 416 kann beispielsweise eine vollständige Sammlung von Digitalassets speichern, während eine Clientvorrichtung nur eine Teilsammlung vorhält. Bei einem weiteren Beispiel speichert die Remote-Datenbank 416 als Ergebnis der zusätzlichen Speicherkapazität der Servervorrichtung 404 eine oder mehrere vorherige Versionen eines Digitalassets (beispielsweise eine Versionsabbildung und Komponentendateien) oder eine Komponente, wie vorstehend beschrieben worden ist. Auf diese Weise können das Remote-Digitalassetverwaltungssystem 413 und das Remote-Digitalassetsynchronisierungssystem 414 auf Anfrage eine vorherige Version für eine Clientvorrichtung bereitstellen.
-
Die Remote-Datenbank 416 beinhaltet bei einer oder mehreren Ausführungsformen zudem eine Nutzerinformation 420. Die Remote-Datenbank 416 hält beispielsweise Digitalassets für mehrere Nutzer vor. Als solches verknüpfen das Remote-Digitalassetverwaltungssystem 413 und das Remote-Digitalassetsynchronisierungssystem 414 jedes Digitalasset mit einem oder mehreren Nutzern, die Rechte an dem Digitalasset haben. Da das Remote-Digitalassetverwaltungssystem 413 und/oder das Remote-Digitalassetsynchronisierungssystem 414 jede Komponente eines Digitalassets in Dateien speichern können, die über die Remote-Datenbank (oder an einem anderen Speicherort) verteilt sind, können das Remote-Digitalassetverwaltungssystem 413 und/oder das Remote-Digitalassetsynchronisierungssystem 414 Dateien von verschiedenen Nutzern zusammen speichern. Das Remote-Digitalassetsynchronisierungssystem 414 speichert beispielsweise einen ersten Satz von Dateien von Nutzer 1 und Nutzer 2 zusammen in einem ersten Verzeichnis und einen zweiten Satz von Dateien von Nutzer 1 und Nutzer 2 in einem zweiten Verzeichnis. Als solches können das Remote-Digitalassetverwaltungssystem 413 und/oder das Remote-Digitalassetsynchronisierungssystem 414 die Nutzerinformation 420 dazu nutzen, Komponenten eines Digitalassets, die zu einem bestimmten Nutzer gehören, zu identifizieren. In einigen Fällen fügen das Remote-Digitalassetverwaltungssystem 413 und/oder das Remote-Digitalassetsynchronisierungssystem 414 die Nutzerinformation 420 zu der Abbildung eines Remote-Digitalassets mit Speicherung in der Remote-Datenbank 416 hinzu.
-
Obwohl in 4 nur eine Servervorrichtung 404 gezeigt ist, sollte zudem einsichtig sein, dass das Remote-Digitalassetverwaltungssystem 413 und das Remote-Digitalassetsynchronisierungssystem 414 über mehrere Servervorrichtungen hinweg betrieben werden oder auch auf separaten Vorrichtungen befindlich sein können. Des Weiteren ist, obwohl das Remote-Digitalassetsynchronisierungssystem 414 und die Remote-Datenbank 416 auf der Servervorrichtung 404 dargestellt sind, die Remote-Datenbank 416 bei einigen Ausführungsformen auch auf einer separaten Reckenvorrichtung oder auf einem Satz von Rechenvorrichtungen gespeichert. Die Remote-Datenbank 416 ist beispielsweise über ein cloudbasiertes Speichernetzwerk verteilt.
-
Wie vorstehend beschrieben worden ist, kommuniziert die Clientvorrichtung 402 mit der Servervorrichtung 404, um Digitalassets zu synchronisieren. Insbesondere kommunizieren das Digitalassetverwaltungssystem 407 und das Digitalassetsynchronisierungssystem 408 auf der Clientvorrichtung 402 mit dem Remote-Digitalassetverwaltungssystem 413 und dem Remote-Digitalassetsynchronisierungssystem 414, um ein oder mehrere Digitalassets zu teilen. So sendet (beispielsweise durch Hochladen) die Clientvorrichtung 402 beispielsweise Digitalassetdaten, die neu erstellte Digitalassets beinhalten, modifizierte Komponenten (die Digitalassetabbildungen und modifizierte Dateien beinhalten) und/oder andere Daten an die Servervorrichtung 404. Auf ähnliche Weise empfängt die Clientvorrichtung 402 (beispielsweise mittels Herunterladen) entsprechende Digitalassetdaten von der Servervorrichtung 404. Beim Herunterladen der Digitalassetdaten kann die Clientvorrichtung 402 an die Servervorrichtung 404 einen Bestätigungshinweis senden, der den erfolgreichen Empfang der Digitalassetdaten anzeigt.
-
Die Clientvorrichtung 402 und die Servervorrichtung 404 tauschen bei einer oder mehreren Ausführungsformen Digitalassetdaten parallel aus. Mit anderen Worten, die Clientvorrichtung 402 kann Digitalassetdaten zusammen sowohl hochladen wie auch herunterladen. Des Weiteren synchronisiert die Servervorrichtung 404 bei einigen Ausführungsformen Digitalassetdaten gleichzeitig zwischen mehreren Clientvorrichtungen.
-
Wie vorstehend beschrieben worden ist, zeigen 1 und 2 ein Framework aus einer Digitalassetdatenbank und Digitalassets, während 3 und 4 exemplarische Ausführungsformen des Digitalassetverwaltungssystems und des Digitalassetsynchronisierungssystems zeigen. 5 bis 8 zeigen weiter exemplarische Implementierungen des Digitalassetverwaltungssystems und des Digitalassetsynchronisierungssystems. Insbesondere zeigt 5 das Ermöglichen von gleichzeitigen Zugriffen auf ein Digitalasset durch mehrere Anwendungen; 6 zeigt das effiziente Übertragen von Komponenten eines Digitalassets; 7 zeigt das Beilegen von Konflikten bei einer Komponente eines Digitalassets; und 8 zeigt das Verwalten von gleichzeitigen Aktualisierungen an derselben Komponente eines Digitalassets zwischen einer Clientvorrichtung und einem Remote-Server.
-
Wie erwähnt worden ist, zeigt 5 ein Sequenzdiagramm mehrerer Anwendungen, die gleichzeitig auf ein Digitalasset zugreifen. Wie gezeigt ist, beinhaltet 5 eine erste Digitalassetanwendung 502 (oder einfach eine „erste Anwendung 502“), eine zweite Digitalassetanwendung 504 (oder einfach eine „zweite Anwendung 504“) und ein Digitalassetsynchronisierungssystem 506 (oder einfach ein „Synchronisierungssystem 506“) mit einer Digitalassetdatenbank 508. Obwohl dies einfachheitshalber nicht dargestellt ist, kann das Digitalassetsynchronisierungssystem 506, wie vorstehend beschrieben worden ist, auf einem Digitalassetverwaltungssystem befindlich sein.
-
Erläuterungshalber wird 5 in einem Zusammenhang beschrieben, in dem die erste Anwendung 502, die zweite Anwendung 504 und das Digitalassetsynchronisierungssystem 506 gemeinsam auf einer Clientvorrichtung, die von einem einzigen Nutzer betrieben wird, befindlich sind. Es sollte jedoch einsichtig sein, dass andere Ausgestaltungen zu ähnlichen Ergebnissen, wie nachstehend noch beschrieben wird, führen. Ein Beispiel für eine andere Ausgestaltung ist dasjenige, in dem die erste Anwendung 502 und die zweite Anwendung 504 auf verschiedenen Clientvorrichtungen, die von demselben Nutzer oder verschiedenen Nutzern betrieben werden, befindlich sind. Eine weitere exemplarische Ausgestaltung ist diejenige, bei der eine oder mehrere Anwendungen auf einer Servervorrichtung befindlich sind, auf die ein oder mehrere Nutzer durch eine Clientvorrichtung zugreifen. Ein Webbrowser auf einer Clientvorrichtung stellt für einen Nutzer beispielsweise einen Zugriff auf eine cloudbasierte Anwendung, die auf einer Servervorrichtung gehostet wird, bereit. Bei einer anderen Ausgestaltung kann das Digitalassetsynchronisierungssystem 506 auf einer Clientvorrichtung und/oder einer Servervorrichtung, wie vorstehend beschrieben worden ist, gehostet sein.
-
Wie in 5 gezeigt ist, empfängt das Digitalassetsynchronisierungssystem 506 von jeder der Anwendungen Anfragen dahingehend, auf ein Digitalasset zuzugreifen. Insbesondere fordert die erste Anwendung 502 einen Zugriff auf ein Digitalasset, siehe 510a. Auf gleiche Weise fordert die zweite Anwendung einen Zugriff auf dasselbe Digitalasset, siehe 510b. Insbesondere senden die erste Anwendung 502 und die zweite Anwendung 504 jeweils eine Anforderung an das Digitalassetsynchronisierungssystem 506, das das Digitalasset identifiziert.
-
Beim Empfangen einer jeder der Anforderungen identifiziert das Digitalassetsynchronisierungssystem 506 die Komponenten des Digitalassets, siehe 512. Insbesondere schlägt das Digitalassetsynchronisierungssystem 506 die Digitalassetabbildung des Digitalassets innerhalb der Digitalassetdatenbank 508, die die Komponenten angibt, die das Digitalasset bilden, nach. Die Abbildung beinhaltet zudem Dateiorte für jede Komponente, da jede Komponente ihren Content in einer separaten Datei, die über ein Speichermedium (beispielsweise die Clientvorrichtung) verteilt sein kann, gespeichert hat. Die weitere Beschreibung der Digitalassetabbildung ist vorstehend anhand 1 erfolgt.
-
Das Digitalassetsynchronisierungssystem 506 stellt beim Identifizieren der Komponenten des angeforderten Digitalassets einen Zugriff auf die Anwendungen bereit. Wie gezeigt ist, stellt das Digitalassetsynchronisierungssystem 506 für die erste Anwendung 502 einen Zugriff auf die Komponenten des Digitalassets bereit, siehe 514a. Auf gleiche Weise stellt des Digitalassetsynchronisierungssystem 506 für die zweite Anwendung 504 einen Zugriff auf dieselben Komponenten des Digitalassets bereit, siehe 514b. Das Digitalassetsynchronisierungssystem 506 erleichtert beispielsweise den Anwendungen den Zugriff auf die Digitalassetabbildung.
-
Durch Zugreifen auf die Digitalassetabbildung kann jede Anwendung jede Datei, die den Content einer jeden Komponente speichert, lokalisieren und öffnen. Zudem kann jede Anwendung die Abbildung nutzen, um jede Komponente innerhalb der Anwendung zu ordnen. Darstellungshalber zeigt 5, dass die erste Anwendung 502 das Anzeigen 516a und die zweite Anwendung 504 das Anzeigen 516b des Digitalassets gleichzeitig vornehmen. Insbesondere zeigen sowohl die erste Anwendung 502 wie auch die zweite Anwendung 504 das Digitalasset dem Nutzer als monolithische Datei an, während sie gleichzeitig auf dieselben Komponentendateien zugreifen.
-
Bei einigen Ausführungsformen ermöglicht eine Anwendung zudem, wie vorstehend beschrieben worden ist, dass ein Nutzer ein Digitalasset modifiziert. Die erste Anwendung 502 stellt beispielsweise Werkzeuge bereit, die ermöglichen, dass der Nutzer Komponenten innerhalb des Digitalassets, wie vorstehend beschrieben worden ist, hinzufügt, entfernt oder bearbeitet. Darstellungshalber detektiert die erste Anwendung 502 Bearbeitungen an einer ersten Komponente des Digitalassets und wendet diese an, siehe 518. Die erste Anwendung 502 detektiert beispielsweise Änderungen an einer Bildschicht, einer Dokumentseite, einem dreidimensionalen Gitter, einer Präsentationsseite, einem Videoclip, einer Tabellenzelle oder einem Blatt eines Notizblocks in Reaktion auf eine Nutzereingabe und wendet diese an.
-
Bei einer oder mehreren Ausführungsformen erstellt die erste Anwendung 502 eine neue Komponente, die die modifizierte erste Komponente beinhaltet. Insbesondere beim Detektieren dessen, dass der Nutzer eine Komponente (beispielsweise die erste Komponente) ändert (oder eine Änderung daran speichert), erstellen die erste Anwendung 502 und/oder das Digitalassetsynchronisierungssystem 506 eine neue Komponente, die Modifikationen, die an der Komponente innerhalb der ersten Anwendung 502 vorgenommen worden sind, wiedergibt. Die erste Anwendung 502 und/oder das Digitalassetsynchronisierungssystem 506 erstellen beispielsweise eine neue Datei (beispielsweise unter Verwendung von Copy-on-Write), die die modifizierten Contents der ersten Komponente beinhaltet. Die neue Datei kann am selben Ort (oder an einem anderen Ort) wie die Datei für die ursprüngliche erste Komponente befindlich sein. Bei alternativen Ausführungsformen bearbeitet die erste Anwendung 502 direkt die Datei, die mit der modifizierten Komponente verknüpft ist, anstatt dass eine neue Datei erstellt würde. Wie vorstehend bemerkt worden ist, kopieren während des Prozesses des Erstellens und Speicherns der neuen Komponente weder die erste Anwendung 502 noch das Digitatassetsynchronisierungssystem 506 irgendwelche anderen Komponenten des Digitalassets.
-
Zusätzlich zum Erstellen einer neuen Komponente und einer entsprechenden Datei aktualisiert das Digitalassetsynchronisierungssystem 506 die Digitalassetabbildung des Digitalassets, siehe 520. Insbesondere ersetzt das Digitalassetsynchronisierungssystem 506 die Kennung der ursprünglichen ersten Komponente in der Abbildung durch eine Kennung, die der modifizierten ersten Komponente zugewiesen ist. Auf diese Weise zeigt die Abbildung an, dass das Digitalasset die modifizierte erste Komponente (und eine entsprechende neue Datei) anstelle der ursprünglichen ersten Komponente (und einer entsprechenden nicht aktuellen / veralteten Datei) beinhaltet.
-
Bei einer oder mehreren Ausführungsformen nutzt das Digitalassetsynchronisierungssystem 406 einen Mehr-Schritt-Prozess des Modifizierens der Abbildung mit der Digitalassetdatenbank 508. Beim Detektieren einer Änderung an einer Komponente informiert das Digitalassetsynchronisierungssystem 506 beispielsweise die Digitalassetdatenbank 508 darüber, dass eine neue Datei an einen spezifischen Ort geschrieben wird. Als Nächstes schreiben die erste Anwendung 502 und/oder das Digitalassetsynchronisierungssystem 506 die Contents der modifizierten ersten Komponente in die neue Datei. Sodann bestätigt das Digitalassetsynchronisierungssystem 506 gegenüber der Digitalassetdatenbank 508, dass die Datei geschrieben worden und einsatzbereit ist. Auf diese Weise kann das Digitalassetsynchronisierungssystem 506 verhindern, dass ein Dateischreibfehler bewirkt, dass die Digitalassetdatenbank 508 auf eine unvollständige oder fehlende Datei verweist.
-
Bei einigen Ausführungsformen nutzt das Digitalassetsynchronisierungssystem 506 das Journalerstellen (journaling) (beispielsweise das Protokollerstellen bzw. Logging), um sicherzustellen, dass die Synchronisierung richtig erfolgt. Im Allgemeinen ist das Journalerstellen ein Prozess des Protokollierens von Prozessen, wenn diese auftreten. Auf diese Weise kann; wenn ein Prozess unterbrochen wird, das Digitalassetsynchronisierungssystem 506 den Prozess unter Verwendung des letzten Journaleintrages neustarten. Zusätzlich kann das Journal angeben, wann ein oder mehrere Prozesse (einschließlich Schritte innerhalb eines Prozesses) erfolgreich beendet sind. Als solches kann das Digitalassetsynchronisierungssystem 506 das Journalerstellen nutzen, um einen Prozess zum Zeitpunkt des Ausfalls neuzustarten, was doppelte Übertragungen und Prozesse verhindert.
-
Wie in 5 gezeigt ist, stellt das Digitalassetsynchronisierungssystem 506 die modifizierte erste Komponente des Digitalassets für die zweite Anwendung 504 bereit, siehe 522. Das Digitalassetsynchronisierungssystem 506 sendet beispielsweise eine Angabe, so beispielsweise eine Mitteilung oder einen Subprozessbetriebssystemaufruf, an die zweite Anwendung 504, um die zweite Anwendung 504 zu informieren, dass das Digitalasset aktualisiert ist. Alternativ sendet die erste Anwendung 502 eine direkte oder Multicast-Mitteilung an die zweite Anwendung 504, um die Aktualisierung anzuzeigen. Bei einigen Ausführungsformen gibt das Digitalassetsynchronisierungssystem 506 direkt an, dass die erste Komponente durch eine modifizierte Komponente ersetzt worden ist. Bei anderen Ausführungsformen gibt das Digitalassetsynchronisierungssystem 506 an, dass das Digitalasset aktualisiert worden ist, und es bestimmt die zweite Anwendung 504 aus der Abbildung die Komponenten des Digitalassets, die aktualisiert worden sind.
-
Des Weiteren aktualisiert die zweite Anwendung 504 das Digitalasset, um die erste modifizierte Komponente zu zeigen, siehe 524. Die zweite Anwendung 504 scannt beispielsweise die aktualisierte Abbildung, um zu bestimmen, dass die erste modifizierte Komponente die hinzugefügte erste modifizierte Komponente ersetzt hat. Des Weiteren lokalisiert die zweite Anwendung 504 die Datei (beispielsweise am Speicherort), die die erste modifizierte Komponente enthält, damit die zweite Anwendung 504 die modifizierte erste Komponente in Bezug auf die anderen Komponenten des Digitalassets anzeigen kann. Auf diese Weise zeigt die zweite Anwendung 504 eine aktualisierte Version des Digitalassets für den Nutzer an, die dieselbe aktualisierte Version ist, die dem Nutzer von der ersten Anwendung 502 angezeigt wird.
-
Optional speichert das Digitalassetsynchronisierungssystem 506 die vorherige (das heißt ursprüngliche) Version der ersten Komponente, siehe 526. Wie vorstehend erwähnt worden ist, kann das Digitalassetsynchronisierungssystem 506 Versionshistorien für ein Digitalasset und/oder individuelle Komponenten vorhalten. In diesen Fällen speichert das Digitalassetsynchronisierungssystem 506 vorherige Digitalassetabbildungen wie auch die Dateien, die den Content der vorherigen Komponenten speichern. Das Vorhalten mehrerer Versionen eines Digitalassets ist vorstehend beispielsweise anhand 2 beschrieben worden.
-
Wie erwähnt worden ist, kann das Digitalassetsynchronisierungssystem 506 die ursprüngliche und die modifizierte Version des Digitalassets für einen Nutzer bereitstellen, indem zwei Abbildungen (beispielsweise die ursprüngliche Abbildung und die modifizierte Abbildung) und zwei Abbildungen der ersten Komponente (beispielsweise die ursprüngliche erste Komponente und die modifizierte erste Komponente) zusammen mit den anderen Komponenten des Digitalassets (von denen nur eine einzige Kopie einer jeden Komponente gespeichert ist) gespeichert werden. Auf ähnliche Weise ermöglicht das Digitalassetsynchronisierungssystem 506, dass ein Nutzer Kopien eines Digitalassets erstellt, ohne dass die Speicherressourcen doppelt genutzt würden. Kopiert ein Nutzer beispielsweise ein Digitalasset, so erstellt das Digitalassetsynchronisierungssystem 506 eine separate Abbildung für die Kopie, wobei die separate Abbildung auf dieselben Dateien, die von dem ursprünglichen Digitalasset genutzt werden, verweist. Sodann aktualisiert das Digitalassetsynchronisierungssystem 506, wenn der Nutzer die Kopie modifiziert, nur die modifizierten Komponenten, wie vorstehend ausgeführt worden ist.
-
Wie erwähnt worden ist, zeigt 6 ein Sequenzdiagramm des effizienten Übertragens von Komponenten eines Digitalassets. Wie gezeigt ist, beinhaltet das Sequenzdiagramm eine Clientvorrichtung 602 und ein Remote-Digitalassetsynchronisierungssystem 604 (oder einfach ein „Remote-Digitalassetsynchronisierungssystem 604“). Wie gezeigt ist, beinhaltet die Clientvorrichtung 602 eine Digitalassetanwendung 606 (oder einfach eine „Anwendung 606“) und ein Digitalassetverwaltungssystem 607, das ein Digitalassetsynchronisierungssystem 608 (oder einfach ein „Synchronisierungssystem 608“) mit einer Digitalassetdatenbank 610 beinhaltet. Das Remote-Digitalassetsynchronisierungssystem 604 beinhaltet eine Remote-Digitalassetdatenbank 612 (oder einfach eine „Remote-Datenbank 612“). Obwohl dies nicht dargestellt ist, kann eine Servervorrichtung, die ein Remote-Digitalassetverwaltungssystem aufweist, wie vorstehend beschrieben worden ist, das Remote-Digitalassetsynchronisierungssystem 604 hosten. Die in 6 gezeigten Elemente können exemplarische Ausführungsformen für die entsprechenden vorbeschriebenen Elemente sein.
-
Darüber hinaus sollte, obwohl 6 eine bestimmte Ausgestaltung von Elementen zeigt, einsichtig sein, dass auch andere Ausgestaltungen zu ähnlichen Ergebnissen wie den vorstehend beschriebenen führen. Die Anwendung 606 kann beispielsweise auf dem Remote-Digitalassetsynchronisierungssystem 604 (beispielsweise einer cloudbasierten Anwendung, wie vorstehend erläutert worden ist) anstatt auf der Clientvorrichtung 602 befindlich sein.
-
Wie in 6 gezeigt ist, empfängt die Clientvorrichtung 602 eine Kopie eines Digitalassets, siehe 620. Das Remote-Digitalassetsynchronisierungssystem 604 sendet beispielsweise mehrere Digitalassets an die Clientvorrichtung 602, um zu Beginn eine Sammlung von Digitalassets zwischen den Vorrichtungen zu synchronisieren. Insbesondere stellt das Remote-Digitalassetsynchronisierungssystem 604 für die Clientvorrichtung 602 eine Kopie aller Komponenten und eine(r) Digitalassetabbildung für das Digitalasset bereit. Zusätzlich kann das Digitalassetsynchronisierungssystem 608 auf der Clientvorrichtung 602 die Abbildung zu der Digitalassetdatenbank 610 hinzufügen. Bei einigen Ausführungsformen aktualisiert das Digitalassetsynchronisierungssystem 608 einen Teil der Abbildung dafür, die lokalen Dateiorte für Komponenten des Digitalassets wiederzugeben.
-
Bei einigen Ausführungsformen sendet, wenn die Clientvorrichtung 602 eine oder mehrere Komponenten des Digitalassets beinhaltet, das Remote-Digitalassetsynchronisierungssystem 604 diese Komponenten nicht. Eine oder mehrere Komponenten des Digitalassets gehören beispielsweise zu einem anderen Digitalasset, das bereits auf der Clientvorrichtung 602 gespeichert ist (beispielsweise eine jpeg-Datei, die bei mehreren Dokumenten und/oder Präsentationen verwendet wird). Als solches aktualisiert die Clientvorrichtung 602, die Abbildung für diese Komponenten des Digitalassets und verweist auf die lokal gespeicherten entsprechenden Dateien. Auf diese Weise kann das Digitalassetsynchronisierungssystem 608 weitere Effizienzen dadurch bereitstellen, dass Dateien, die duplikative Daten beinhalten, nicht übertragen werden. Auf gleiche Weise kann das Remote-Digitalassetsynchronisierungssystem 604 beim Speichern von Dateien auf dem Remote-Digitalassetsynchronisierungssystem 604 detektieren, wann eine Datei, die Komponentencontent enthält, duplikativ ist (und dies sogar über verschiedene Nutzer hinweg), und nur eine einzige Version einer Datei speichern.
-
Nachdem die Clientvorrichtung 602 das Digitalasset empfangen hat, stellt das Digitalassetsynchronisierungssystem 608 für eine oder mehrere Anwendungen auf der Clientvorrichtung 602 einen Zugriff auf das Digitalasset bereit. Wie gezeigt ist, greift die Anwendung 606 auf das Digitalasset zu, siehe 622. Die Anwendung 606 greift auf das Digitalasset, darunter auf die Komponenten des Digitalassets, wie vorstehend beschrieben worden ist, zu. Des Weiteren empfängt die Anwendung 606 Modifikationen an dem Digitalasset, siehe 624, und modifiziert auch eine Komponente innerhalb des Digitalassets, siehe 626, wie ebenfalls bereits beschrieben worden ist.
-
Das Digitalassetsynchronisierungssystem 608 aktualisiert die Digitalassetabbildung, siehe 628, um die modifizierte Komponente wiederzugeben. Insbesondere aktualisiert das Digitalassetsynchronisierungssystem 608 die Digitalassetdatenbank 610, um anzugeben, dass die Komponente durch eine modifizierte Version der Komponente ersetzt worden ist, einschließlich einer Änderung der Abbildung für das Digitalasset, um auf die neue Datei zu verweisen, die dafür erstellt worden ist, die Contents der modifizierten Komponente zu speichern, wobei nicht mehr auf die Datei, die mit der nicht aktuellen oder veralteten (beispielsweise vor der Modifikation vorhandenen) Komponente verknüpft ist, verweisen wird. Auf diese Weise aktualisiert das Digitalassetsynchronisierungssystem 608 die Digitalassetdatenbank 610, um auf die aktualisierte Version des Digitalassets zu verweisen.
-
Darüber hinaus stellt das Digitalassetsynchronisierungssystem 608, wie in 6 gezeigt ist, die aktualisierte Komponente für das Remote-Digitalassetsynchronisierungssystem 604 bereit, siehe 630. Wie erwähnt worden ist, muss das Digitalassetsynchronisierungssystem 608 zu dem Zweck, eine aktualisierte Version eines Digitalassets für das Remote-Digitalassetsynchronisierungssystem 604 (oder eine andere Clientvorrichtung) bereitzustellen, lediglich solche Komponenten des Digitalassets, die modifiziert worden sind, senden. Beinhaltet das Digitalasset beispielsweise hundert Komponenten und ändern sich nur fünf Komponenten, so kann das Digitalassetsynchronisierungssystem 608 die fünf geänderten Komponenten an das Remote-Digitalassetsynchronisierungssystem 604 senden. Das Remote-Digitalassetsynchronisierungssystem 604 verwendet die fünf modifizierten Komponenten und die anderen fünfundnuenzig Komponenten, um zu der aktualisierten Version des Digitalassets zu gelangen.
-
Bei einigen Ausführungsformen sendet das Digitalassetsynchronisierungssystem 608 an das Remote-Digitalassetsynchronisierungssystem 604 zudem eine modifizierte Digitalassetabbildung, die die Komponenten, die in dem aktualisierten Digitalasset beinhaltet sind, definiert. Die aktualisierte Abbildung ersetzt die Komponente beispielsweise durch die modifizierte Komponente. Alternativ sendet das Digitalassetsynchronisierungssystem 608 lediglich die modifizierte Komponente, und es aktualisiert das Remote-Digitalassetsynchronisierungssystem 604 eine Remote-Abbildung auf Grundlage der modifizierten Komponente. Das Remote-Digitalassetsynchronisierungssystem 604 detektiert beispielsweise, dass die modifizierte Komponente die ursprüngliche Komponente ersetzt. In einigen Fällen weist die modifizierte Komponente einen Namen oder eine andere Kennung auf, der/die angibt, dass es sich um eine aktualisierte Version der ursprünglichen Komponente handelt.
-
Wie vorstehend erwähnt und gezeigt worden ist, aktualisiert das Remote-Digitalassetsynchronisierungssystem 604 das Remote-Digitalasset mit der modifizierten Komponente, siehe 632. Das Remote-Digitalassetsynchronisierungssystem 604 fügt die modifizierte Komponente beispielsweise zu einem Speichermedium hinzu und ersetzt/modifiziert eine Remote-Abbildung des Digitalassets in der Remote-Datenbank 612 durch eine aktualisierte Abbildung, die von der Clientvorrichtung 602 empfangen wird. Darüber hinaus sendet bei einigen Ausführungsformen das Remote-Digitalassetsynchronisierungssystem 604 eine Synchronisierungsbestätigung an das Digitalassetsynchronisierungssystem 608, wobei in Reaktion hierauf das Digitalassetsynchronisierungssystem 608 einem Nutzer anzeigt, dass es mit dem Remote-Digitalassetsynchronisierungssystem 604 synchronisiert ist.
-
Genau wie das Digitalassetsynchronisierungssystem 608 einzelne Komponenten eines aktualisierten Digitalassets an das Remote-Digitalassetsynchronisierungssystem 604 senden kann, kann das Digitalassetsynchronisierungssystem 608 auch aktualisierte Komponenten von dem Remote-Digitalassetsynchronisierungssystem 604, so beispielsweise einer anderen Clientvorrichtung oder auf Grundlage einer Änderung an dem Digitalasset, die bei einem cloudbasierten Dienst vorgenommen worden ist, empfangen. Darstellungshalber zeigt 6, wie das Remote-Digitalassetsynchronisierungssystem 604 aktualisierte Komponenten für das Digitalasset von einer sekundären Quelle (beispielsweise einem Remote-Nutzer, einer Anwendung oder einer Clientvorrichtung) empfängt, siehe 634. Die aktualisierten Komponenten können die vorstehend erwähnte modifizierte Komponente beinhalten. Erläuterungshalber empfängt das Remote-Digitalassetsynchronisierungssystem 604 zudem die aktualisierten Komponenten von der Sekundärquelle nach dem vollständigen Synchronisieren der vorstehend erwähnten modifizierten Komponente.
-
Beinhaltet im Empfangen der aktualisierten Komponenten von der sekundären Quelle, kann das Remote-Digitalassetsynchronisierungssystem 604 zudem die Remote-Datenbank 612, wie vorstehend beschrieben worden ist, aktualisieren. Das Remote-Digitalassetsynchronisierungssystem, 604 speichert beispielsweise diejenigen Dateien, die den aktualisierten Komponenten entsprechen. Des Weiteren aktualisiert das Remote-Digitalassetsynchronisierungssystem 604 die Remote-Abbildung derart, dass diese die aktualisierte Komponente beinhaltet, verweist auf die entsprechenden Dateien und archiviert veraltete Komponenten.
-
Das Remote-Digitalassetsynchronisierungssystem 604 stellt sodann die aktualisierten Komponenten für die Clientvorrichtung 602 bereit, siehe 636. Das Remote-Digitalassetsynchronisierungssystem 604 sendet mittels Push (das heißt überträgt) die aktualisierten Komponenten an das Digitalassetsynchronisierungssystem 608 auf der Clientvorrichtung 602. Das Remote-Digitalassetsynchronisierungssystem 604 kann zudem eine aktualisierte Abbildung bereitstellen, die die aktuellste Version des Digitalassets definiert.
-
In Reaktion hierauf aktualisiert das Digitalassetsynchronisierungssystem 608 Komponenten des Digitalassets innerhalb der Digitalassetdatenbank 610 auf Grundlage der empfangenen aktualisierten Komponenten, siehe 638. Das Digitalassetsynchronisierungssystem fügt beispielsweise neue Komponenten hinzu, ersetzt modifizierte Komponenten und entfernt Komponenten aus der Abbildung innerhalb der Digitalassetdatenbank 610. Auf gleiche Weise modifiziert das Digitalassetsynchronisierungssystem 608 bei Bedarf die Dateiorte der aktualisierten Komponenten innerhalb der Abbildung.
-
Beim Aktualisieren der Abbildung stellt das Digitalassetsynchronisierungssystem 608 die aktualisierten Komponenten für die Anwendung 606 bereit, siehe 640. Wie vorstehend erwähnt worden ist, sendet das Digitalassetsynchronisierungssystem 608 bei einer oder mehreren Ausführungsformen eine Mitteilung an die Anwendung 606, die die Änderung anzeigt. Bei anderen Ausführungsformen detektiert die Anwendung 606 eine Änderung an der Digitalassetdatenbank 610, die eine Aktualisierung an den Digitalassets beinhaltet.
-
Unabhängig davon, wie die Anwendung 606 detektiert, dass die Digitalassetdatenbank 610 das Digitalasset aktualisiert hat, identifiziert die Anwendung 606, welche Komponenten sich geändert haben, und zeigt dem Nutzer das aktualisierte Digitalasset an, siehe 642. Bei einigen Ausführungsformen erstellen, wenn eine Komponente, mit der ein Nutzer aktiv arbeitet, aktualisiert ist, die Anwendung 606 und/oder das Synchronisierungssystem 608 eine separate Kopie der Komponente. Alternativ benachrichtigt die Anwendung 606 den Nutzer, dass die aktive Komponente modifiziert wird, und zwar auf Grundlage des Empfangens von aktualisierten Komponenten von der sekundären Quelle.
-
Auf ähnliche Weise kann die Anwendung 606, wenn einem Nutzer ein aktualisiertes Digitalasset, das eine oder mehrere aktualisierte Komponenten beinhaltet, angezeigt wird, einen Hinweis darauf bereitstellen, welche Komponenten aktualisiert sind. Ist das Digitalasset beispielsweise ein Digitalbild und stellt die Anwendung 606 eine Liste von Schichten in einer Toolbar bereit, so kann die Anwendung 606 hervorheben (oder auf andere Weise anzeigen), welche Komponenten in dem Digitalasset unlängst aktualisiert worden sind.
-
Bei einigen Ausführungsformen stellt die Anwendung 606 (oder das Digitalassetsynchronisierungssystem 608) für einen Nutzer Metadaten einer oder mehrerer Komponenten bereit. Die Anwendung 606 stellt beispielsweise für einen Nutzer einen Zeitstempel der letzten Aktualisierung für eine bestimmte Komponente, die Vorrichtung, die die Komponente als Letzte aktualisiert hat, den Nutzer, der die Komponente als Letzter aktualisiert hat, und die Anzahl von Komponentenversionen bereit. Bei einem zusätzlichen Beispiel zeigt die Anwendung 606 dem Nutzer an, ob vorherige Versionen einer Komponente lokal oder remote sind.
-
Es sei bemerkt, dass 6 eine Anzahl von Vorgängen (beispielsweise 620 bis 642) zeigt, die zwischen der Clientvorrichtung 602 und dem Remote-Digitalassetsynchronisierungssystem 604 auftreten. Obwohl Vorgänge bereitgestellt werden und erläuterungshalber in einer sequenziellen Reihenfolge beschrieben sind, sollte einsichtig sein, dass viele der Vorgänge auch parallel auftreten können. Die Vorgänge des Modifizierens und Synchronisierens der modifizierten Komponente des Digitalassets (beispielsweise 624 bis 632) treten gleichzeitig mit den Vorgängen des Synchronisierens und Anwendens der aktualisierten Komponenten des Digitalassets (beispielsweise 634 bis 642) auf. Auf diese Weise sendet die Clientvorrichtung 602 die modifizierte Komponente und empfängt die aktualisierte Komponente gleichzeitig.
-
Wie vorstehend erwähnt worden ist, berichtigt das Digitalassetsynchronisierungssystem 608 die Bearbeitungen, wenn mehrere Nutzer, Anwendungen oder Vorrichtungen jeweils eine Bearbeitung an einem Digitalasset vornehmen. Oftmals werden die Bearbeitungen an verschiedenen Komponenten des Digitalassets vorgenommen. Das Digitalassetsynchronisierungssystem 608 detektiert jedoch gelegentlich, wann dieselbe Komponente gleichzeitig an mehreren Orten geändert wird. Darstellungshalber zeigt 7 ein Sequenzdiagramm des Beilegens von Konflikten bei derselben Komponente eines Digitalassets.
-
Wie gezeigt ist, beinhaltet 7 die Clientvorrichtung 602 und das Remote-Digitalassetsynchronisierungssystem 604 von 6. Als solches beinhaltet die Clientvorrichtung 602 die Anwendung 606 und das Digitalassetverwaltungssystem 607, das das Digitalassetsynchronisierungssystem 608 mit der Digitalassetdatenbank 610 beinhaltet. Das Remote-Digitalassetsynchronisierungssystem 604 beinhaltet die Remote-Datenbank 612 (und kann innerhalb eines Remote-Digitalassetverwaltungssystems auf einer Servervorrichtung gehostet sein). Wie bei 6 gelten die in Verbindung mit 7 beschriebenen Konzepte auch bei anderen Ausgestaltungen über die gezeigte Ausgestaltung hinaus.
-
Wie in 7 gezeigt ist, synchronisieren das Digitalassetsynchronisierungssystem 608 und das Remote-Digitalassetsynchronisierungssystem 604 ein Digitalasset, siehe 702, wie vorstehend beschrieben worden ist. Des Weiteren greift die Anwendung 606 auf das Digitalasset zu, siehe 704. Der Zugriff auf das Digitalasset beinhaltet, dass die Anwendung 606 die Komponenten des Digitalassets dem Nutzer als monolithische Datei, wie vorstehend beschrieben worden ist, anzeigt.
-
Als Nächstes empfängt das Digitalassetsynchronisierungssystem 608 eine Modifikation an einer ersten Komponente des Digitalassets, siehe 706. Als solches aktualisiert das Digitalassetsynchronisierungssystem 608 die Digitalassetdatenbank 610, um das modifizierte erste Asset, wie vorstehend beschrieben worden ist, wiederzugeben. Auf diese Weise halten - die Anwendung 606 und das Digitalassetsynchronisierungssystem 608 eine aktualisierte Version des Digitalassets vor. Das Digitalassetsynchronisierungssystem 608 hält jedoch die ursprüngliche Version (beispielsweise die Basisversion oder den Basiszweig) der ersten Komponente auf der Clientvorrichtung 602 vor, bis das Digitalassetsynchronisierungssystem 608 die aktualisierten Versionen (beispielsweise einen ersten Aktualisierungszweig) mit dem Remote-Digitalassetsynchronisierungssystem 604 erfolgreich synchronisieren kann.
-
Bevor sich das Digitalassetsynchronisierungssystem 608 erfolgreich mit dem Remote-Digitalassetsynchronisierungssystem 604 mit der modifizierten ersten Komponente synchronisiert, detektiert das Digitalassetsynchronisierungssystem 608, dass eine weitere Modifikation (beispielsweise ein zweiter Aktualisierungszweig) an der ersten Komponente erfolgt ist. Das Digitalassetsynchronisierungssystem 608 empfängt beispielsweise eine Remote-Modifikation an der ersten Komponente, siehe 708. Als solches speichert das Digitalassetsynchronisierungssystem 608 aktuell drei Kopien (beispielsweise die drei Zweige) der ersten Komponente, nämlich die ursprüngliche Kopie, die lokal modifizierte Kopie und die remote modifizierte Kopie.
-
Beim Empfangen der remote modifizierten Komponente detektiert das Digitalassetsynchronisierungssystem 608 einen Konflikt bei der ersten Komponente des Digitalassets, siehe 710. Mit anderen Worten, das Digitalassetsynchronisierungssystem 608 identifiziert, dass die ursprüngliche Kopie der ersten Komponente erfolgreich mit dem Remote-Digitalassetsynchronisierungssystem 604 synchronisiert worden ist. Als solches bestimmt das Digitalassetsynchronisierungssystem 608, dass die lokal modifizierte Kopie und die remote modifizierte Kopie verschiedene Zweige aus der ursprünglichen Kopie sind.
-
Beim Detektieren des Konfliktes bestimmt das Digitalassetsynchronisierungssystem 608 eine Beilegung für den Konflikt. Bei einer oder mehreren Ausführungsformen verwendet, das Digitalassetsynchronisierungssystem 608 einen Drei-Wege-Diff zur Beilegung des Konfliktes. Das Digitalassetsynchronisierungssystem 608 aktualisiert beispielsweise die Abbildung des Digitalassets derart, dass diese sowohl die lokal modifizierte Kopie wie auch die remote modifizierte Kopie beinhaltet. Bei einem weiteren Beispiel fügt das Digitalassetsynchronisierungssystem 608 die lokal modifizierte Kopie und die remote modifizierte Kopie der ersten Komponente zur Abbildung des Digitalassets zusätzlich zur ursprünglichen Kopie hinzu. Alternativ wählt das Digitalassetsynchronisierungssystem 608 die aktuellste Kopie in der Abbildung aus, oder das Digitalassetsynchronisierungssystem 608 ignoriert die in Konflikt stehenden Kopien.
-
Es sei bemerkt, dass beim Einsatz eines Drei-Wege-Diffs (oder eines anderen Mehr-Wege-Diffs) das Digitalassetsynchronisierungssystem 608 nur die in Konflikt stehenden Komponenten des Digitalassets und eben nicht das gesamte Digitalasset vergleichen muss. Dies ist ein merklicher Vorteil, der die Funktion einer Rechenvorrichtung verbessert. Demonstrationshalber muss, wenn ein Dateikonflikt bei einem herkömmlichen Dateiverwaltungssystem auftritt, das herkömmliche System drei vollständige Kopien der in Konflikt stehenden Datei (beispielsweise die ursprüngliche Version, eine erste modifizierte Version und eine zweite modifizierte Version) beziehen. Sind diese Dateien groß, beispielsweise größer als 100 MB, so muss eine Rechenvorrichtung vollständige Kopien einer jeden Dateiversion sogar dann speichern, wenn die Daten duplikativ sind. Herkömmliche Systeme führen diese Dateien zudem nicht zusammen, sondern überlassen es dem Nutzer herauszufinden, wo die Änderungen in jeder Datei vorhanden sind und welche Änderungen die aktuellsten sind. Dieses Problem verschärft sich weiter, wenn eine Datei zusätzliche Konflikte beinhaltet.
-
Im Gegensatz hierzu hält das Digitalassetsynchronisierungssystem 608 nur in Konflikt stehende Komponenten eines Digitalassets, die im Allgemeinen eine geringe Größe aufweisen, vor. Zusätzlich kann das Digitalassetsynchronisierungssystem 608, wie vorstehend erwähnt worden ist, die in Konflikt stehenden Komponenten zu einem einzigen Digitalasset zusammenführen, wodurch der Nutzer in die Lage versetzt wird, beliebige Diskrepanzen schnell zu erkennen und zu berichtigen. Das Zusammenführen der in Konflikt stehenden Komponenten zu einem einzigen Digitalasset wirkt auch einem Durcheinander auf der Rechenvorrichtung des Nutzers entgegen (so zeigt die Rechenvorrichtung beispielsweise eine einzige Datei und eben nicht mehrere Kopien einer Datei an). Des Weiteren nutzt, da die in Konflikt stehenden Komponenten eine geringe Größe aufweisen, die Clientvorrichtung 402 weniger Rechenressourcen, um die Datei zu identifizieren und zusammenzuführen.
-
Wie bei der dargestellten Ausführungsform gezeigt ist, legt das Digitalassetsynchronisierungssystem 608 den Konflikt bei, siehe 712, durch Erstellen von separaten Komponenten für die lokal modifizierte Kopie und die remote modifizierte Kopie. Das Digitalassetsynchronisierungssystem 608 ersetzt beispielsweise die ursprüngliche Komponente in der Abbildung des Digitalassets durch eine Komponente für die lokal modifizierte Kopie und eine weitere Komponente für die remote modifizierte Kopie.
-
Als Nächstes aktualisiert das Digitalassetsynchronisierungssystem sowohl die Anwendung 606 wie auch das Remote-Digitatassetsynchronisierungssystem 604 mit der aktualisierten Abbildung. Insbesondere stellt das Digitalassetsynchronisierungssystem 608 die separate, remote modifizierte erste Komponente für die Anwendung 606 bereit, siehe 714, damit die Anwendung 606 die remote modifizierte erste Komponente zu der bestehenden lokal modifizierten ersten Komponente hinzufügt. Auf diese Weise zeigt die Anwendung 606 beide modifizierten Versionen der ersten Komponente einem Nutzer innerhalb des Digitalassets an. Des Weiteren kann, wie vorstehend beschrieben worden ist, die Anwendung 606 ermöglichen, dass der Nutzer die beiden ersten Komponenten entfernt, bearbeitet oder zusammenzuführt.
-
Auf ähnliche Weise stellt das Digitalassetsynchronisierungssystem 608 die separate, lokal modifizierte erste Komponente für das Remote-Digitalassetsynchronisierungssystem 604 bereit, siehe 716. Da die Remote-Datenbank 612 eine Kopie der remote modifizierten ersten Komponente beinhaltet, muss das Digitalassetsynchronisierungssystem 608 lediglich die lokal modifizierte erste Komponente senden, um zu ermöglichen, dass das Remote-Digitalassetsynchronisierungssystem 604 die aktuellste Version des Digitalassets aufweist. Das Remote-Digitalassetsynchronisierungssystem 604 kann die Synchronisierung des Digitalassets bestätigen, wobei die Client-Vorrichtung 602 die ursprüngliche erste Komponente nunmehr bei Bedarf entfernen kann, um zusätzlichen Speicherplatz freizumachen.
-
8 zeigt, wie vorstehend erwähnt worden ist, ein Sequenzdiagramm des Verwaltens mehrerer Aktualisierungen an Komponenten eines Digitalassets zwischen einer Clientvorrichtung und einem Remote-Server. Wie gezeigt ist, beinhaltet 8 die Clientvorrichtung 602, die die Anwendung 606 und das Digitalassetverwaltungssystem 607 aufweist. Das Digitalassetverwaltungssystem 607 beinhaltet das Digitalassetsynchronisierungssystem 608 mit der Digitalassetdatenbank 610. Das Remote-Digitalassetsynchronisierungssystem 604 beinhaltet die Remote-Datenbank 612 (und kann innerhalb eines Remote-Digitalassetverwaltungssystems auf einer Servervorrichtung gehostet sein). Wie bei 6 gelten die in Verbindung mit 8 beschriebenen Konzepte auch bei anderen Ausgestaltungen über die gezeigte Ausgestaltung hinaus.
-
Wie in 8 gezeigt ist, synchronisieren das Digitalassetsynchronisierungssystem 608 und das Remote-Digitalassetsynchronisierungssystem 604 ein Digitalasset, siehe 802, wie vorstehend beschrieben worden ist. Des Weiteren greift die Anwendung 606 auf das Digitalasset zu, siehe 804. Das Zugreifen auf das Digitalasset beinhaltet, dass die Anwendung 606 die Komponenten des Digitalassets dem Nutzer als monolithische Datei, wie vorstehend beschrieben worden ist, anzeigt.
-
Bevor oder während die Anwendung 606 auf das Digitalasset zugreift, siehe 804, unterbricht das Digitalassetsynchronisierungssystem 608 die Verbindung zu dem Remote-Digitalassetsynchronisierungssystem 604, siehe 806. Die Clientvorrichtung 602 arbeitet beispielsweise offline oder bewegt sich aus der Netzwerkabdeckung heraus. Bei einem anderen Beispiel unterbricht der Nutzer auf der Clientvorrichtung 602 die Synchronisierung mit dem Remote-Digitalassetsynchronisierungssystem 604. Alternativ ist das Digitalassetsynchronisierungssystem 608 dafür ausgelegt, sich lediglich periodisch mit dem Remote-Digitalassetsynchronisierungssystem 604 zu synchronisieren. In jedem Fall impliziert die getrennte Verbindung, dass sich das Digitalassetsynchronisierungssystem 608 für eine gewisse Zeitspanne nicht aktiv mit dem Remote-Digitalassetsynchronisierungssystem 604 synchronisiert.
-
Während keine aktive Synchronisierung mit dem Remote-Digitalassetsynchronisierungssystem 604 erfolgt, empfängt das Digitalassetsynchronisierungssystem 608 eine erste Modifikation an einer Komponente des Digitalassets, siehe 808. In Reaktion hierauf speichert das Digitalassetsynchronisierungssystem 608 die einmal modifizierte Komponente, siehe 810, als erste aktualisierte Version des Digitalassets. Insbesondere aktualisiert, wie vorstehend beschrieben worden ist, das Digitalassetsynchronisierungssystem 608 die Abbildung des Digitalassets auf Grundlage der einmal modifizierten Komponente, um die erste aktualisierte Version des Digitalassets zu definieren. Des Weiteren erstellt und/oder speichert das Digitalassetsynchronisierungssystem 608 eine neue Datei der Contents der einmal modifizierten Komponente.
-
Darüber hinaus empfängt das Digitalassetsynchronisierungssystem 608, siehe 812, wenn keine aktive Synchronisierung mit dem Remote-Digitalassetsynchronisierungssystem 604 erfolgt, eine zweite Modifikation an der Komponente des Digitalassets. In Reaktion hierauf speichert das Digitalassetsynchronisierungssystem 608, siehe 814, die zweimal modifizierte Komponente als zweite aktualisierte Version des Digitalassets. Das Digitalassetsynchronisierungssystem 608 kann eine beliebige Anzahl von Modifikationen an derselben Komponente des Digitalassets entweder von der Anwendung 606 oder von anderen Anwendungen empfangen, während keine aktive Synchronisierung mit dem Remote-Digitalassetsynchronisierungssystem 604 erfolgt.
-
Wie gezeigt ist, stellt das Digltalassetsynchronisierungssystem 608 eine Verbindung zu dem Remote-Digitalassetsynchronisierungssystem 604 bereit. Die Clientvorrichtung 602 erhält erneut einen Netzwerkzugriff, oder ein Nutzer wählt die Neuaktivierung der Synchronisierung mit dem Remote-Digitalassetsynchronisierungssystem 604 aus. Als solches stellt das Digitalassetsynchronisierungssystem 608 die erste aktualisierte Version und die zweite aktualisierte Version des Digitalassets bereit, siehe 818. Das Digitalassetsynchronisierungssystem 608 bietet eine Massenübertragung (bulk transmission), die mehrere Versionsaktualisierungen beinhaltet. Empfängt das Digitalassetsynchronisierungssystem 608 beispielsweise zusätzliche Änderungen, während keine aktive Synchronisierung mit dem Remote-Digitalassetsynchronisierungssystem 604 an anderen Komponenten gegeben ist, so kann das Digitalassetsynchronisierungssystem 608 jene modifizierten Komponenten ebenfalls in einer Massenübertragung senden.
-
In Reaktion hierauf aktualisiert das Remote-Digitalassetsynchronisierungssystem 604 das Digitalasset, siehe 820, auf die zweite aktualisierte Version, die die zweimal modifizierte Komponente beinhaltet. Zusätzlich speichert das Remote-Digitalassetsynchronisierungssystem 604, siehe 822, die erste aktualisierte Version des Digitalassets in einer Versionshistorie für das Digitalasset. Auf diese Weise erstellt das Remote-Digitalassetsynchronisierungssystem 604 sogar dann vorherige Versionen für jede modifizierte Komponente des Digitalassets, wenn die vorherigen Versionen auf einer Clientvorrichtung, die nicht aktiv mit dem Remote-Digitalassetsynchronisierungssystem 604 synchronisiert gewesen ist, erstellt worden sind. Des Weiteren kann ein Nutzer sogar dann auf eine vorherige Version des Digitalassets von dem Remote-Digitalassetsynchronisierungssystem 604 zugreifen und dieses abrufen, nachdem die Clientvorrichtung 602 die vorherigen Versionen nach der Synchronisierung der modifizierten Komponenten entfernt hat.
-
9 zeigt ein Zustandsdiagramm 900 des Digitalassetsynchronisierungssystems, das einen Schritt des in einer Datenbank erfolgenden Abbildens der identifizierten Komponenten des Digitalassets auf entsprechende Dateien, die über die Datenbank hinweg verteilt sind, und einen Schritt des Modifizierens der Abbildung auf Grundlage der Detektion einer Aktualisierung an einer ersten Komponente des Digitalassets derart, dass die modifizierte Abbildung eine aktualisierte Version des Digitalassets definiert, entsprechend einer oder mehreren Ausführungsformen zeigt. Das Digitalassetsynchronisierungssystem kann eine oder mehrere Ausführungsformen des vorbeschriebenen Digitalassetsynchronisierungssystems verkörpern. Das Digitalassetsynchronisierungssystem ist beispielsweise auf einem Digitalassetverwaltungssystem befindlich.
-
Das Digitalassetsynchronisierungssystem identifiziert, siehe 902, wie gezeigt ist, Komponenten eines Digitalassets. Insbesondere identifiziert das Digitalassetsynchronisierungssystem Komponenten, die ein Digitalasset bilden. Wie vorstehend beschrieben worden ist, erstellt, empfängt und/oder ersetzt das Digitalassetsynchronisierungssystem Komponenten, die ein Digitalasset bilden. Bei einigen Ausführungsformen identifiziert das Digitalassetsynchronisierungssystem eine oder mehrere Komponenten eines Digitalassets als in der Digitalassetdatenbank befindlich.
-
Als Nächstes bildet das Digitalassetsynchronisierungssystemdie identifizierten Komponenten auf verteilten Dateien ab, siehe 904. Wie vorstehend beschrieben worden ist, teilt das Digitalassetsynchronisierungssystem den Komponenten Kennungen zu, erstellt unabhängige Dateien für jede Komponente in der Digitalassetdatenbank und verknüpft die Kennungen für die erstellten Dateien. Weitere Details im Zusammenhang mit dem Erzeugen einer Abbildung, die die Komponenten auf eine Datei abbildet, und zur Unterstützung hiervon sind vorstehend im Zusammenhang mit 3 bis 5 angegeben.
-
Darüber hinaus stellt das Digitalassetsynchronisierungssystem die Abbildung für eine Anwendung, so beispielsweise eine Digitalassetanwendung, bereit, siehe 906. 3 bis 8 beschreiben beispielsweise, wie das Digitalassetsynchronisierungssystem eine Anwendung bereitstellt und dieser ermöglicht, die Abbildung für das Digitalasset zu verwenden, um die Komponenten des Digitalassets zu identifizieren und auf die entsprechenden Dateien, die über die Digitalassetdatenbank verteilt sind, zuzugreifen. Beim Zugreifen auf die Dateien zeigt die Anwendung die Komponenten des Digitalassets einem Nutzer als eine einzige Datei an.
-
Das Digitalassetsynchronisierungssystem detektiert, siehe 908, ob eine Änderung an dem Digitalasset aufgetreten ist. Das Digitalassetsynchronisierungssystem empfängt von der Anwendung beispielsweise einen Hinweis dahingehend, wann der Nutzer eine Eingabe zur Änderung einer Komponente des Digitalassets bereitstellt, wie vorstehend beschrieben worden ist. Bei einem Beispiel interagiert ein Nutzer mit der Anwendung, um eine Komponente innerhalb des Digitalassets hinzuzufügen, zu entfernen oder zu modifizieren. Die Anwendung benachrichtigt wiederum das Digitalassetsynchronisierungssystem von der Modifikation.
-
Detektiert das Digitalassetsynchronisierungssystem eine neue Komponente, so erstellt das Digitalassetsynchronisierungssystem, siehe 910, eine neue Komponente in der Datenbank. Wie vorstehend beschrieben worden ist, erstellt, wenn die Anwendung eine Komponente modifiziert, das Digitalassetsynchronisierungssystem eine Kopie der Komponente, die modifiziert wird (teilt beispielsweise eine neue Kennung und eine neue entsprechende Datei zu), und wendet beliebige Modifikationen an der Komponentenkopie an, die das Digitalassetsynchronisierungssystem vorübergehend in der Digitalassetdatenbank speichert. Erstellt der Nutzer eine neue Komponente, so erstellt das Digitalassetsynchronisierungssystem eine neue Komponente in der Digitalassetdatenbank. Löscht der Nutzer eine Komponente, so zeigt die Anwendung die gelöschte Komponente dem Digitalassetsynchronisierungssystem an, und das Digitalassetsynchronisierungssystem überspringt den Schritt des Erstellens einer neuen Komponente in der Digitalassetdatenbank.
-
Nach dem Erstellen der neuen Komponente in der Datenbank modifiziert, siehe 912, das Digitalassetsynchronisierungssystem die Abbildung des Digitalassets. Kurzum, das Digitalassetsynchronisierungssystem modifiziert beim Aktualisieren einer Komponente die Abbildung und verweist auf die neuerstellte Komponente anstatt auf die veraltete Komponente. Beim Hinzufügen einer neuen Komponente zu dem Digitalasset fügt das Digitalassetsynchronisierungssystem die neue Komponente der Abbildung hinzu. Wird eine Komponente gelöscht, so entfernt das Digitalassetsynchronisierungssystem die Komponente aus der Abbildung. Die weitere Beschreibung im Zusammenhang mit dem Modifizieren der Abbildung eines Digitalassets ist vorstehend in Verbindung mit 3 sowie 6 bis 8 angegeben.
-
Beim Modifizieren der Abbildung des Digitalassets entfernt das Digitalassetsynchronisierungssystem die veraltete Komponente aus der Datenbank beziehungsweise archiviert diese, siehe 912. Das Digitalassetsynchronisierungssystem auf einer Clientvorrichtung löscht beispielsweise eine veraltete Komponente aus der Digitalassetdatenbank. Bei einem weiteren Beispiel archiviert das Digitalassetsynchronisierungssystem auf dem Cloudsynchronisierungssystem die veraltete Komponente, auf die zugegriffen werden kann, wenn eine vorherige Version des Digitalassets angefordert wird. Weitere Details im Zusammenhang mit dem Löschen/Archivieren einer veralteten Komponente sind vorstehend angegeben.
-
Detektiert das Digitalassetsynchronisierungssystem keine Änderung an dem Digitalasset innerhalb der Anwendung, siehe 908, so überwacht das Digitalassetsynchronisierungssystem die Anwendung auf Änderungen an dem Digitalasset, siehe 916. Wie gezeigt ist, kann das Digitalassetsynchronisierungssystem die Anwendung fortwährend überwachen, bis eine Änderung an einer Komponente des Digitalassets detektiert wird. Alternativ überwacht das Digitalassetsynchronisierungssystem die Anwendung nicht, und es stellt die Anwendung eine Benachrichtigung für das Digitalassetsynchronisierungssystem bereit, wenn eine Änderung auftritt.
-
1 bis 9, der entsprechende Text und die Beispiele stellen mehrere verschiedene Systeme und Vorrichtungen eines Digitalassetsynchronisierungssystems entsprechend einer oder mehreren Ausführungsformen bereit. Zusätzlich zum Vorgesagten können ein oder mehrere Ausführungsformen auch in Form von Flussdiagrammen beschrieben werden, die Vorgänge eines Verfahrens zum Erzielen eines bestimmten Ergebnisses umfassen. 10 und 11 zeigen beispielsweise Flussdiagramme für exemplarische Verfahren entsprechend einer oder mehreren der hier beschriebenen Ausführungsformen.
-
10 zeigt ein exemplarisches Flussdiagramm eines Verfahrens 1000 zum Zugreifen auf Digitalassets. Bei einer oder mehreren Ausführungsformen ist das Verfahren 1000 auf einer oder mehreren Rechenvorrichtungen, so beispielsweise einer Clientvorrichtung und/oder einer Servervorrichtung, implementiert. Des Weiteren ist das Verfahren 1000 bei einigen Ausführungsformen in einer Digitalumgebung zum Durchführen einer Digitalassetverwaltung auf einem Cloudspeichermedium implementiert.
-
Das Verfahren 1000 beinhaltet einen Vorgang 1010 des Identifizierens von Komponenten 104, die ein Digitalasset 412 bilden. Der Vorgang 1010 beinhaltet beispielsweise das Erstellen einer oder mehrerer Komponenten als Teil des Erstellens eines neuen Digitalassets. Bei einem weiteren Beispiel beinhaltet der Vorgang 1010 das Identifizieren von Komponenten aus einem bestehenden Digitalasset. Bei einigen Ausführungsformen beinhaltet das Identifizieren der Komponenten, die das Digitalasset bilden, ein Bestimmen eines Dateityps, der mit dem Digitalasset verknüpft ist, und ein Identifizieren eines Frameworks für die Komponenten auf Grundlage des bestimmten Dateityps. Bei verschiedenen Ausführungsformen beinhaltet der Vorgang 1010 zudem ein Erzeugen der Komponenten, die das Digitalasset bilden, innerhalb der Anwendung.
-
Das Verfahren 1000 beinhaltet zudem einen Vorgang 1020 des Zuweisens von Kennungen an jede Komponente 104 wie auch einen Vorgang 1030 des Speicherns einer jeden Komponente 104 als Datei. Insbesondere kann der Vorgang 1020 ein Zuweisen von Kennungen an jede der Komponenten des Digitalassets implizieren. Der Vorgang 1030 kann das Speichern einer jeden der Komponenten des Digitalassets in einer unabhängigen Datei, die über ein Speichermedium verteilt ist, implizieren. Das Speichermedium kann auf einer Nutzervorrichtung (das heißt einer Clientvorrichtung) oder einer Servervorrichtung (beispielsweise einer Cloudspeichervorrichtung) gespeichert sein.
-
Wie in 10 gezeigt ist, beinhaltet das Verfahren 1000 des Weiteren einen Vorgang 1040 des Erzeugens einer , die Kennungen mit unabhängigen Dateien verbindet. Insbesondere kann der Vorgang 1040 ein innerhalb einer Datenbank 100 erfolgendes Erzeugen einer , die jede zugewiesene Kennung mit einer entsprechenden unabhängigen Datei verbindet, implizieren. Bei einigen Ausführungsformen stellt die Abbildung eine vorherige Version des Digitalassets dar, während die modifizierte Abbildung eine aktualisierte Version des Digitalassets darstellt.
-
Das Verfahren 1000 beinhaltet zudem einen Vorgang 1050 des Bereitstellens der für eine Anwendung 406. Insbesondere kann der Vorgang 1050 das Bereitstellen der für eine Anwendung 406 beinhalten, damit die Anwendung 406 die für einen Zugriff auf jede der Komponenten 104 und zum Anzeigen des Digitalassets als monolithische Datei verwendet. Bei einigen Ausführungsformen ist die Anwendung ,auf einer Clientvorrichtung befindlich. Bei alternativen Ausführungsformen ist die Anwendung eine cloudbasierte Anwendung. Darüber hinaus kann der Vorgang 1050 das Verwenden der Abbildung dafür beinhalten, die Komponenten innerhalb der Anwendung in eine Reihenfolge zu bringen, zu priorisieren bzw. zu gewichten oder zu anzuordnen.
-
Wie in 10 gezeigt ist, beinhaltet das Verfahren 1000 des Weiteren einen Vorgang 1060 des Detektierens einer Aktualisierung an einer ersten Komponente. Insbesondere kann der Vorgang 1060 das Detektieren einer Aktualisierung an einer ersten Komponente des Digitalassets implizieren. Der Vorgang 1060 beinhaltet beispielsweise ein Detektieren dessen, dass ein Nutzer eine Komponente des Digitalassets über die Anwendung hinzugefügt, entfernt, kopiert oder auf andere Weise modifiziert hat. Bei einigen Ausführungsformen sendet die Anwendung einen Hinweis auf die Aktualisierung. Bei einer oder mehreren Ausführungsformen veranlasst das Modifizieren einer Komponente des Digitalassets das Vornehmen von Änderungen an der unabhängigen Datei, die mit der einen Komponente verknüpft ist, ohne zu veranlassen, dass Änderungen an anderen unabhängigen Dateien, die mit anderen Komponenten des Digitalassets verknüpft sind, vorgenommen werden.
-
Zusätzlich beinhaltet das Verfahren 1000 einen Vorgang 1070 des Speicherns einer aktualisierten Datei für die aktualisierte erste Komponente. Insbesondere kann der Vorgang 1070 ein in Reaktion auf das Detektieren der Aktualisierung an der ersten Komponente erfolgendes Speichern einer aktualisierten Datei für die aktualisierte erste Komponente beinhalten. Bei einer oder mehreren Ausführungsformen beinhaltet der Vorgang 1070 zudem das Erstellen der aktualisierten Datei beim Detektieren der Aktualisierung an der ersten Komponente des Digitalassets, die von einer unabhängigen Datei, die mit der ersten Komponente verknüpft ist, getrennt ist, wobei die aktualisierte Datei die an der ersten Komponente vorgenommenen Aktualisierungen beinhaltet.
-
Des Weiteren beinhaltet das Verfahren 1000 einen Vorgang 1080 des Zuweisens einer Kennung an die aktualisierte erste Komponente. Bei einigen Ausführungsformen beruht die Kennung auf einem Hash der Contents der aktualisierten ersten Komponente. Die Kennung identifiziert ansonsten die aktualisierte Komponente eindeutig gegenüber anderen Komponenten des Digitalassets wie auch gegenüber anderen Komponenten anderer Digitalassets.
-
Bei einer oder mehreren Ausführungsformen beinhaltet das Verfahren 1000 einen Vorgang 1090 des Erzeugens einer modifizierten Abbildung. Beinhalten kann der Vorgang 1090 insbesondere ein innerhalb der Datenbank 100 erfolgendes Erzeugen einer modifizierten Abbildung, die eine zugewiesene Kennung der ersten Komponente aus der durch die zugewiesene Kennung der aktualisierten ersten Komponente ersetzt, um die zugewiesene Kennung der aktualisierten ersten Komponente mit der aktualisierten Datei zu verbinden. Zusätzlich kann der Vorgang 1090 ein an einer Cloudspeicherservervorrichtung erfolgendes Empfangen der aktualisierten Datei als Teil des Detektierens der Aktualisierung an der ersten Komponente des Digitalassets beinhalten.
-
Das Verfahren 1000 kann zudem zusätzliche Vorgänge beinhalten. Bei einer oder mehreren Ausführungsformen beinhaltet das Verfahren 1000 die Vorgänge des Bereitstellens der Abbildung für eine erste Anwendung, um der ersten Anwendung zu ermöglichen, auf die Komponenten des Digitalassets zuzugreifen, und zugleich des Bereitstellens der Abbildung für eine zweite Anwendung, um der zweiten Anwendung zu ermöglichen, gleichzeitig auf die Komponenten des Digitalassets zuzugreifen; des Detektierens der Aktualisierung an der ersten Komponente auf Grundlage dessen, dass die erste Anwendung die erste Komponente modifiziert; und des in Reaktion auf das Erzeugen der modifizierten Abbildung in der Datenbank erfolgenden Bereitstellens der modifizierten Abbildung an der zweiten Anwendung, die die zweite Anwendung veranlasst, den Zugriff auf die erste Komponente durch den Zugriff auf die aktualisierte erste Komponente zu ersetzen, wobei die modifizierte Abbildung veranlasst, dass die zweite Anwendung eine aktualisierte Version des Digitalassets anzeigt, während die zweite Anwendung gleichzeitig den Zugriff auf die Datenbank mit der ersten Anwendung behält.
-
Beinhaltet sind bei einigen Ausführungsformen des Verfahrens 1000 zudem die folgenden Vorgänge: Detektieren einer ersten Aktualisierung an einer zweiten Komponente auf Grundlage dessen, dass eine erste Anwendung die zweite Komponente modifiziert; bevor eine zweite Anwendung eine überarbeitete Abbildung, die die erste Aktualisierung an der zweiten Komponente angibt, empfängt, erfolgendes Detektieren einer zweiten Aktualisierung an der zweiten Komponente auf Grundlage dessen, dass die zweite Anwendung die zweite Komponente modifiziert; Bestimmen, dass die erste Aktualisierung an der zweiten Komponente einen Konflikt mit der zweiten Komponente aufweist, durch die zweite Anwendung; in Reaktion auf das Bestimmen des Konfliktes erfolgendes Speichern einer ersten Datei für die erste Aktualisierung an der zweiten Komponente und einer zweiten Datei für die zweite Aktualisierung an der zweiten Komponente, wobei der ersten Datei eine erste Kennung zugewiesen wird und wobei der zweiten Datei eine zweite Kennung zugewiesen wird; Erzeugen einer aktualisierten Abbildung, die eine Kennung der zweiten Komponente aus der modifizierten Abbildung sowohl durch die erste Kennung, die der ersten Datei entspricht, wie auch die zweite Kennung, die der zweiten Datei entspricht, ersetzt; und Bereitstellen der aktualisierten Abbildung für die erste Anwendung und die zweite Anwendung, damit sowohl die erste Anwendung wie auch die zweite Anwendung die erste Aktualisierung an der zweiten Komponente und die zweite Aktualisierung an der zweiten Komponente als separate Komponenten des Digitalassets anzeigen.
-
11 zeigt ein exemplarisches Flussdiagramm eines Verfahrens 1100 zum Verwalten eines Digitalassets über mehrere Nutzervorrichtungen hinweg. Bei einer oder mehreren Ausführungsformen ist das Verfahren 1100 auf einer oder mehreren Rechenvorrichtungen, so beispielsweise auf einer oder mehreren Servervorrichtungen, implementiert. Das Verfahren 1100 ist beispielsweise auf einer Servervorrichtung implementiert, die eine Abbildung aufweist, die Komponenten, die ein Digitalasset bilden, identifiziert, wobei die Komponenten des Digitalassets jeweils als unabhängige Dateien, die über einen Cloudspeicher verteilt sind, gespeichert sind und wobei jede Komponente eine definierte Grenze innerhalb des Digitalassets aufweist und modifizierbar ist, ohne andere Komponenten des Digitalassets zu beeinflussen.
-
Wie gezeigt ist, beinhaltet das Verfahren 1100 einen Vorgang 1110 des Bereitstellens der Komponenten 114 des Digitalassets für eine erste Nutzervorrichtung 402 und eine zweite Nutzervorrichtung. Insbesondere kann der Vorgang 1110 das Bereitstellen der Komponenten des Digitalassets für eine erste Nutzervorrichtung 402 wie auch das Bereitstellen der Komponenten 114 des Digitalassets für eine zweite Nutzervorrichtung beinhalten. Ein einziger Nutzer kann sowohl die erste Nutzervorrichtung wie auch die zweite Nutzervorrichtung betreiben. Alternativ können verschiedene Nutzer jeweils eine der Nutzervorrichtungen betreiben. Bei einigen Ausführungsformen beinhaltet der Vorgang 1110 das Senden einer Kopie der Komponenten an die erste Nutzervorrichtung zur Speicherung auf der ersten Nutzervorrichtung. Bei alternativen Ausführungsformen beinhaltet der Vorgang 1110, dass ein Remote-Zugriff auf die Komponenten innerhalb des Cloudspeichers ermöglicht wird.
-
Das Verfahren 1100 beinhaltet zudem einen Vorgang 1120 des Detektierens einer modifizierten Komponente aus der ersten Nutzervorrichtung 402. Insbesondere kann der Vorgang 1120 ein von der ersten Nutzervorrichtung 402 erfolgendes Detektieren einer modifizierten ersten Komponente des Digitalassets implizieren. Bei einer oder mehreren Ausführungsformen beinhaltet der Vorgang 1120 ein Detektieren dessen, dass die modifizierte erste Komponente Daten beinhaltet, die angeben, dass die modifizierte erste Komponente eine modifizierte Kopie der ersten Komponente ist.
-
Darüber hinaus beinhaltet das Verfahren 1100 einen Vorgang 1130 des Modifizierens der Abbildung, um die modifizierte erste Komponente aufzunehmen. Insbesondere kann der Vorgang 1130 ein in der Cloudspeicherdatenbank 416 erfolgendes Modifizieren der Abbildung dahingehend, dass diese die modifizierte erste Komponente aufnimmt, beinhalten, wobei die modifizierte Abbildung ein modifiziertes Digitalasset definiert. Bei einigen Ausführungsformen beinhaltet der Vorgang 1130 das Ersetzen der ersten Komponente durch die modifizierte erste Komponente innerhalb der Abbildung des Digitalassets.
-
Des Weiteren beinhaltet das Verfahren 1100 einen Vorgang 1140 des Bereitstellens der modifizierten Abbildung für die zweite Nutzervorrichtung. Insbesondere kann der Vorgang 1140 ein Bereitstellen der modifizierten Abbildung und der modifizierten ersten Komponente für die zweite Nutzervorrichtung implizieren. Bei einer oder mehreren Ausführungsformen ermöglicht der Vorgang 1140, dass die zweite Nutzervorrichtung das modifizierte Digitalasset einem Nutzer, der mit der zweiten Nutzervorrichtung verknüpft ist, anzeigt. Insbesondere kann der Vorgang 1140 die modifizierte Abbildung und die modifizierte erste Komponente für die zweite Nutzervorrichtung implizieren, ohne nicht modifizierte Komponenten oder das gesamte modifizierte Digitalasset bereitzustellen.
-
Beinhaltet sind in dem Verfahren 1100 bei einigen Ausführungsformen auch die Vorgänge des von der ersten Nutzervorrichtung erfolgenden Empfangens mehrerer Aktualisierungen an der ersten Komponente des Digitalassets in einer Massenübertragung; des für jede empfangene Aktualisierung der mehreren Aktualisierungen an der ersten Komponente erfolgenden Erzeugens einer Versionsabbildung des Digitalassets; und des Verknüpfens einer jeden Versionsabbildung des Digitalassets mit einer vorherigen Version des Digitalassets.
-
Bei verschiedenen Ausführungsformen beinhaltet das Verfahren 1100 zudem die Vorgänge des von der ersten Nutzervorrichtung her erfolgenden Empfangens einer Anfrage dahingehend, auf eine vorherige Version des Digitalassets zuzugreifen; des Identifizierens einer vorherigen Abbildung des Digitalassets entsprechend der vorherigen Version; des auf Grundlage der vorherigen Abbildung erfolgenden Bestimmens einer oder mehrerer vorheriger Komponenten, die mit den vorherigen Versionen des Digitalassets, die nicht mit der modifizierten Abbildung des Digitalassets verknüpft sind, verknüpft sind; und des in Reaktion auf die Anfrage erfolgenden Bereitstellens der vorherigen Abbildung und der einen oder mehreren vorherigen Komponenten für die erste Nutzervorrichtung.
-
Der Begriff „Digitalumgebung“ bezeichnet im Sinne des Vorliegenden allgemein eine Umgebung, die beispielsweise auf einer eigenständigen (stand-alone) Anwendung (beispielsweise einem PC oder einer Mobilanwendung, die auf einer Rechenvorrichtung läuft), als Teil einer Anwendung, als Plug-in für eine Anwendung, als Bibliotheksfunktion oder Funktionen, als Servervorrichtung und/oder als Cloudrechensystem implementiert ist. Eine Digitalmedienumgebung ermöglicht, dass das Digitalassetsynchronisierungssystem eine Digitalassetverwaltung und Synchronisierung zwischen Rechenvorrichtungen und über diese hinweg ermöglicht.
-
Ausführungsformen der vorliegenden Offenbarung können Spezialzweck- oder Allzweckcomputer beinhalten oder nutzen, die Computerhardware, so beispielsweise einen oder mehrere Prozessoren und einen Systemspeicher, beinhaltet, wie nachstehend noch detaillierter erläutert wird. Ausführungsformen innerhalb des Umfangs der vorliegenden Offenbarung beinhalten zudem physische und andere computerlesbare Medien zum Tragen oder Speichern von computerausführbaren Anweisungen und/oder Datenstrukturen. Insbesondere können ein oder mehrere der hier beschriebenen Prozesse wenigstens teilweise als Anweisungen implementiert sein, die in einem nichttemporären computerlesbaren Medium verkörpert und durch eine oder mehrere Rechenvorrichtungen (beispielsweise beliebige der Mediencontentzugriffsvorrichtungen, die hier beschrieben sind) ausführbar sind. Im Allgemeinen empfängt ein Prozessor (beispielsweise ein Mikroprozessor) Anweisungen von einem nichttemporären computerlesbaren Medium (beispielsweise, einem Speicher und dergleichen) und führt diese Anweisungen aus, wodurch ein oder mehrere Prozesse, darunter einer oder mehrere der hier beschriebenen Prozesse, durchgeführt werden.
-
Computerlesbare Medien können beliebige verfügbare Medien sein, auf die von einem Allzweck- oder Spezialzweckcomputersystem zugegriffen werden kann. Computerlesbare Medien, die computerausführbare Anweisungen speichern, sind nichttemporäre computerlesbare Speichermedien (Vorrichtungen). Computerlesbare Medien, die computerausführbare Anweisungen tragen, sind Übertragungsmedien. Beispiels- und nicht beschränkungshalber können Ausführungsformen der Offenbarung wenigstens zwei getrennte, verschiedene Arten von computerlesbaren Medien beinhalten, nämlich nichttemporäre computerlesbare Speichermedien (Vorrichtungen) und Übertragungsmedien.
-
Nichttemporäre computerlesbare Speichermedien (Vorrichtungen) beinhalten RAM, ROM, EEPROM, CD-ROM, Festkörperlaufwerke, Flash-Speicher, Phasenänderungsspeicher, andere Arten von Speichern, andere optische Plattenspeicher, magnetische Plattenspeicher oder andere magnetische Speichervorrichtungen, oder ein beliebiges anderes Medium, das zum Speichern von gewünschten Programmcodemitteln in Form von computerausführbaren Anweisungen oder Datenstrukturen genutzt wird und auf das von einem Allzweck- oder Spezialzweckcomputer zugegriffen werden kann.
-
Computerausführbare Anweisungen beinhalten beispielsweise Anweisungen und Daten, die bei Ausführung durch einen Prozessor veranlassen, dass ein Allzweckcomputer, ein Spezialzweckcomputer oder eine Spezialzweckverarbeitungsvorrichtung eine bestimmte Funktion oder eine bestimmte Gruppe von Funktionen wahrnehmen. Bei einigen Ausführungsformen führt ein Allzweckcomputer computerausführbare Anweisungen aus, um einen Allzweckcomputer in einen Spezialzweckcomputer umzuwandeln, der Elemente der Offenbarung implementiert. Die computerausführbaren Anweisungen können beispielsweise Binaries, Anweisungen in einem Zwischenformat, so beispielsweise in Assemblersprache, oder sogar Sourcecode sein. Obwohl der Erfindungsgegenstand in einer Sprache beschrieben worden ist, die für strukturelle Merkmale und/oder Verfahren spezifisch ist, sollte einsichtig sein, dass der in den beigefügten Ansprüchen definierte Erfindungsgegenstand nicht unbedingt auf die vorbeschriebenen Merkmale oder Vorgänge beschränkt ist. Vielmehr sind die beschriebenen Merkmale und Vorgänge als exemplarische Formen der Implementierung der Ansprüche offenbart.
-
12 zeigt ein Blockdiagramm einer exemplarischen Rechenvorrichtung 1200, die dafür ausgelegt sein kann, einen oder mehrere der vorbeschriebenen Prozesse durchzuführen. Es sollte einsichtig sein; dass eine oder mehrere Rechenvorrichtungen, so beispielsweise die Rechenvorrichtung 1200, die vorbeschriebenen Clientvorrichtungen und Servervorrichtungen darstellen kann. Bei einer oder mehreren Ausführungsformen kann die Rechenvorrichtung 1200 eine Mobilvorrichtung (beispielsweise ein Mobiltelefon, ein Smartphone, ein PDA, ein Tablet, ein Laptop, eine Kamera, ein Tracker, eine Armbanduhr, eine tragbare Vorrichtung und dergleichen mehr) sein. Bei einigen Ausführungsformen kann die Rechenvorrichtung 1200 eine nichtmobile Vorrichtung (beispielsweise ein Desktopcomputer oder ein anderer Typ von Clientvorrichtung) sein. Des Weiteren kann die Rechenvorrichtung 1200 eine Servervorrichtung sein, die cloudbasierte Verarbeitungskapazitäten beinhaltet.
-
Wie in 12 gezeigt ist, kann die Rechenvorrichtung 1200 einen oder mehrere Prozessoren 1202, einen Speicher 1204, eine Ablagevorrichtung 1206, I/O-Schnittstellen (I/O Input/Output) 1208 und eine Kommunikationsschnittstelle 1210, die mittels einer Kommunikationsinfrastruktur (beispielsweise mittels eines Busses 1212) gekoppelt sind, beinhalten. Obwohl in 12 die Rechenvorrichtung 1200 gezeigt ist, sollen die in 12 dargestellten Komponenten nicht beschränkend sein. Zusätzliche oder alternative Komponenten können bei anderen Ausführungsformen verwendet werden. Bei bestimmten Ausführungsformen beinhaltet die Rechenvorrichtung 1200 beispielsweise weniger Komponenten, als in 12 gezeigt ist. Komponenten der Rechenvorrichtung 1200, die in 12 gezeigt sind, werden nunmehr detaillierter beschrieben.
-
Bei bestimmten Ausführungsformen beinhaltet/beinhalten der Prozessor / die Prozessoren 1202 Hardware zum Ausführen von Anweisungen, so beispielsweise von solchen, die ein Computerprogramm bilden. Beispiels- und nicht beschränkungshalber kann/können der Prozessor / die Prozessoren 1202 zur Ausführung der Anweisungen die Anweisungen aus einem internen Register, einem internen Cache, einem Speicher 1204 oder einer Speichervorrichtung 1206 abrufen (oder holen) und diese decodieren und ausführen.
-
Die Rechenvorrichtung 1200 beinhaltet den Speicher 1204, der mit dem Prozessor / den Prozessoren 1202 gekoppelt ist. Der Speicher 1204 kann zum Speichern von Daten, Metadaten und Programmen zur Ausführung durch den Prozessor / die Prozessoren verwendet werden. Der Speicher 1204 kann einen oder mehrere flüchtige und nichtflüchtige Speicher beinhalten, so beispielsweise einen Speicher mit wahlfreiem Zugriff („RAM“), einen Nur-Lese-Speicher („ROM“), eine Festkörperplatte („SSD“), einen Flash, einen Phasenänderungsspeicher („PCM“) oder andere Typen von Datenspeicher. Der Speicher 1204 kann ein interner oder ein verteilter Speicher sein.
-
Die Rechenvorrichtung 1200 beinhaltet eine Speichervorrichtung 1206, die wiederum einen Speicher zum Speichern von Daten oder Anweisungen beinhaltet. Beispiels- und nicht beschränkungshalber kann die Speichervorrichtung 1206 das vorbeschriebene nichttemporäre Speichermedium beinhalten. Die Speichervorrichtung 1206 kann ein Festplattenlaufwerk (HDD), einen Flash-Speicher, ein USB-Laufwerk (Universeller Serieller Bus USB) oder eine Kombination aus diesen oder anderen Speichervorrichtungen beinhalten.
-
Wie gezeigt ist, beinhaltet die Rechenvorrichtung 1200 eine oder mehrere I/O-Schnittstellen 1208, die dafür bereitgestellt sind zu ermöglichen, dass ein Nutzer eine Eingabe (beispielsweise Nutzerstriche) für die Rechenvorrichtung 1200 bereitstellt, eine Ausgabe von dieser empfängt oder auf andere Weise Daten an diese oder von dieser überträgt. Die I/O-Schnittstellen 1208 können eine Maus, ein Touchpad oder eine Tastatur, einen Touchscreen bzw. einen berührungsempfindlichen Bildschirm, eine Kamera, einen optischen Scanner, eine Netzwerkschnittstelle, ein Modem, andere bekannte I/O-Vorrichtungen oder eine Kombination aus derartigen I/O-Schnittstellen 1208 beinhalten. Der Touchscreen kann mit einem Stift oder Finger aktiviert werden.
-
Die I/O-Schnittstellen 1208 können eine oder mehrere Vorrichtungen beinhalten, die einem Nutzer eine Ausgabe präsentieren, darunter unter anderem eine Grafikengine, eine Anzeige (beispielsweise einen Anzeigebildschirm), einen oder mehrere Ausgabetreiber (beispielsweise Anzeigetreiber), einen oder mehrere Audiolautsprecher und einen oder mehrere Audiotreiber. Bei bestimmten Ausführungsformen sind die I/O-Schnittstellen 1208 dafür ausgelegt, grafische Daten für eine Anzeige zur Präsentation gegenüber einem Nutzer bereitzustellen. Die grafischen Daten können eine oder mehrere grafische Nutzerschnittstellen und/oder einen anderen grafischen Inhalt, so er bei einer bestimmten Implementierung erforderlich ist, darstellen.
-
Die Rechenvorrichtung 1200 kann des Weiteren eine Kommunikationsschnittstelle 1210 beinhalten. Die Kommunikationsschnittstelle 1210 kann Hardware, Software oder beides beinhalten. Die Kommunikationsschnittstelle 1210 stellt eine oder mehrere Schnittstellen zur Kommunikation (beispielsweise einer paketbasierten Kommunikation) zwischen der Rechenvorrichtung und einer oder mehreren anderen Rechenvorrichtungen oder einem oder mehreren Netzwerken bereit. Beispiels- und nicht beschränkungshalber kann die Kommunikationsschnittstelle 1210 einen Netzwerkschnittstellencontroller (NIC) oder einen Netzwerkadapter für die Kommunikation mit einem Ethernet oder einem anderen drahtbasierten Netzwerk oder auch einen drahtlosen NIC (WNIC) oder einen Drahtlosadapter für die Kommunikation mit einem Drahtlosnetzwerk, so beispielsweise einem Wi-Fi, beinhalten. Die Rechenvorrichtung 1200 kann des Weiteren einen Bus 1212 beinhalten. Der Bus 1212 kann Hardware, Software oder beides beinhalten, wodurch die Komponenten der Rechenvorrichtung 1200 miteinander gekoppelt werden.
-
In der vorstehenden Beschreibung ist die Erfindung anhand spezifischer exemplarischer Ausführungsformen beschrieben worden. Verschiedene Ausführungsformen und Aspekte der Erfindung/Erfindungen sind anhand der hier erläuterten Details beschrieben worden, wobei die begleitende Zeichnung die verschiedenen Ausführungsformen illustriert. Die vorstehende Beschreibung und die Zeichnung illustrieren die Erfindung und sollen nicht erfindungsbeschränkend gedeutet werden. Es sind zahlreiche spezifische Details beschrieben, um ein eingehendes Verständnis der verschiedenen Ausführungsformen der vorliegenden Erfindung zu ermöglichen.
-
Die vorliegende Erfindung kann auch in anderen spezifischen Formen verkörpert sein, ohne von ihrem Wesen oder ihren wesentlichen Eigenschaften abzugehen. Die beschriebenen Ausführungsformen sollen in jeder Hinsicht als illustrativ und nicht als restriktiv betrachtet werden. Die hier beschriebenen Verfahren können beispielsweise mit weniger oder mehr Schritten/Vorgängen durchgeführt werden können, oder es können die Schritte/Vorgänge in anderen Reihenfolgen durchgeführt werden. Zusätzlich können die hier beschriebenen Schritte/Vorgänge wiederholt oder parallel zueinander oder parallel zu anderen Instanzen derselben oder ähnlicher Schritte/Vorgänge durchgeführt werden. Der Umfang der Erfindung ist daher durch die beigefügten Ansprüche und nicht durch die vorstehende Beschreibung angegeben. Alle Änderungen, die der Bedeutung und dem Äquivalenzbereich der Ansprüche entsprechen, sollen in ihrem Umfang enthalten sein.