DE60126288T2 - Nicht-zeitabhängige synchronisation von datenbanken - Google Patents

Nicht-zeitabhängige synchronisation von datenbanken Download PDF

Info

Publication number
DE60126288T2
DE60126288T2 DE60126288T DE60126288T DE60126288T2 DE 60126288 T2 DE60126288 T2 DE 60126288T2 DE 60126288 T DE60126288 T DE 60126288T DE 60126288 T DE60126288 T DE 60126288T DE 60126288 T2 DE60126288 T2 DE 60126288T2
Authority
DE
Germany
Prior art keywords
database
indicator
synchronization
mobile terminal
sync
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60126288T
Other languages
English (en)
Other versions
DE60126288D1 (de
Inventor
Jörgen BIRKLER
Lars Novak
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Application granted granted Critical
Publication of DE60126288D1 publication Critical patent/DE60126288D1/de
Publication of DE60126288T2 publication Critical patent/DE60126288T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/273Asynchronous replication or reconciliation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Description

  • HINTERGRUND
  • Die vorliegende Erfindung bezieht sich im Allgemeinen auf Kommunikationssysteme und im Genaueren auf Techniken zum Bereitstellen von Synchronisation von Datenbanken, so wie eine Datenbank, die ein Telefonbuch enthält, das in dem Teilnehmeridentitätsmodul (SIM, Englisch: subscriber identity module) eines mobilen Endgeräts gespeichert ist, das in einem netzförmigen Funkkommunikationssystem mit einer entsprechenden Datenbank in einem Personalcomputer (PC) verwendet wird.
  • Die Funktelefonindustrie hat phänomenale Schritte in kommerziellen Betrieb in den Vereinigten Staaten als auch in dem Rest der Welt gemacht. Das Wachstum in großen Metropolgebieten hat bei weitem die Erwartungen übertroffen und übersteigt rapide die Systemkapazität. Wenn dieser Trend fortgeführt wird, werden die Effekte des Wachstums dieser Industrie schnell selbst die kleinsten Märkte erreichen. Innovative Lösungen werden benötigt zum Begegnen dieses wachsenden Kapazitätsbedarfs, als auch um Hochqualitätsdienste beizubehalten, und um steigende Preise zu vermeiden.
  • Ein erkannter Trend ist die Konvergenz der sogenannten Informationsindustrie, wie diese symbolisiert wird durch die Evolution des Personalcomputers (PC), und der sogenannten Kommunikationsindustrie, wie diese symbolisiert wird durch die Evolution des Mobiltelefons. Beide Arten von Vorrichtungen sind gekennzeichnet durch rapide Steigerung der Leistungsfähigkeit (Hardware) und durch erhöhte Anwendungs-(Software)Fähigkeiten. In naher Zukunft ist es wahrscheinlich, dass Mobiltelefone direkter kommunizieren werden mit anderen Informationsvorrichtungen, so wie dem PC, um Informationen auszutauschen. Viele Teilnehmer von drahtlosen Diensten besitzen auch Personalcomputer, und da jeder Typ der Vorrichtung in dessen Datenhandhabungskapazität fortgeschrittener wird, kann der Teilnehmer den Wunsch haben, dazwischen Daten auszutauschen, z. B. zwischen Datenbanken (so wie Telefonbücher), die in jeder Vorrichtung gespeichert sind.
  • Betrachte das in 1 dargestellte Beispiel. Darin sind ein PC 10 und ein Mobiltelefon 20 miteinander über eine Kommunikationsverbindung 30 verbunden. Die Kommunikationsverbindung 30 kann entweder eine Draht- oder eine drahtlose (z. B. Infrarot) Verbindung sein. Vom Fachmann wird erkannt, dass während ein PC und ein Mobiltelefon als Beispiele von zwei Vorrichtungen verwendet werden, zwischen denen Datenbanksynchronisation durchgeführt werden kann, die vorliegende Erfindung nicht auf diese zwei Arten von Vorrichtungen begrenzt ist, sondern tatsächlich angewendet werden kann auf Datenbanksynchronisation zwischen irgendwelchen zwei Arten von Vorrichtungen, so wie elektronischen Organisierern, Funkrufempfängern, und dergleichen. Der PC 10 beinhaltet eine Datenbank 40, die beispielsweise Telefoneintragungen oder einen Kalender enthält, während das Mobiltelefon 20 eine entsprechende Datenbank beinhaltet, die auf dessen Teilnehmeridentitätsmodul-(SIM, Englisch: subscriber identity module) Karte 50 gespeichert ist. Wie von dem Fachmann für die Funkkommunikation erkannt wird, ist die SIM-Karte 50 eine austauschbare Smart-Karte, die kreiert wurde für den GSM-Funkkommunikationsstandard als ein Mechanismus zum zweckdienlichen Kopieren und Speichern von Informationselementen, die sich auf den mobilen Teilnehmer beziehen, auf eine entfernbare Art und Weise, dessen Karte aus Mobiltelefonen entfernbar ist. Der Ausdruck „Synchronisierung", wie dieser hier verwendet wird zum Bezeichnen von Datenbankoperationen, die verbunden sind mit zwei oder mehreren Vorrichtungen, bedeutet das Austauschen der Inhalte einer Datenbank, so dass diese übereinstimmen oder die Inhalte der anderen Datenbank „spiegelt".
  • Zum Synchronisieren der Datenbank 40 und der Datenbank, die auf der SIM-Karte 50 gespeichert ist, war es konventionell notwendig, jede Eintragung in jeder Datenbank individuell zu vergleichen. Beispielsweise könnte die Datenbank von Telefonbucheintragungen, die in der SIM-Karte 50 gespeichert sind, übertragen werden zum PC 10 über die Verbindung 30. Dann könnten die Eintragungen in jeder Datenbank verglichen und aktualisiert werden, so dass die zwei Datenbanken gespiegelt sind. Beispielsweise könnten Veränderungen, die verbunden sind mit Eintragungen, die in der Datenbank 40 gefunden werden, aber nicht in der Version der Datenbank gefunden werden, die von dem Mobiltelefon 20 zum PC 10 übertragen wurde, zurückgeleitet werden zum mobilen Telefon 20, um die in der SIM-Karte 50 gespeicherte Datenbank zu aktualisieren. Dieser Synchronisierungsprozess (der manchmal alternativ als „volle Synchronisierung" oder „langsame Synchronisierung") bezeichnet wird, ist kompliziert und zeitaufwendig. Beispielsweise setzt zum Identifizieren, welche Veränderungen auf der Datenbank der SIM-Karte durchgeführt wurden, oft voraus, dass der PC 10 eine letztlich empfangene Version mit einer zuvor gespeicherten Version vergleicht.
  • Um diesem Problem zu begegnen, wurde wie in 2 gezeigt ein Veränderungsprotokoll zu den Vorrichtungen hinzugefügt. Das Veränderungsprotokoll beinhaltet Informationen hinsichtlich der Einträge, die bearbeitet wurden in jeder Datenbank nach Synchronisierung zwischen diesen. Das Veränderungsprotokoll zeichnet auch die Zeit auf, bei der eine Synchronisierungsoperation zuletzt zwischen zwei Datenbanken durchgeführt wurde, so dass Veränderungen ignoriert werden können, die vor einer vorherigen Aktualisierung durchgeführt wurden. Das Veränderungsprotokoll kann beispielsweise implementiert werden in einem Teil des Speichers, der für jede Veränderung ein Ereignis (z. B. Hinzufügen, Löschen oder Modifizieren), die Identität der Datenbankaufzeichnung, für die das Ereignis aufgetreten ist, und einen Zeitstempel, der anzeigt, wann das Ereignis stattgefunden hat, aufzeichnet. Wenn beispielsweise eine Telefoneintragung zu der Datenbank 40 in dem PC 10 hinzugefügt wird, nachdem diese mit dem SIM 50 in dem Mobiltelefon 20 synchronisiert wurde, dann wird eine Anzeige von dem zu dem Veränderungsprotokoll 200 hinzugefügt. Wenn der Teilnehmer, der mit dem Mobiltelefon 20 (und der SIM-Karte 50) verbunden ist, einen Eintrag in seinem oder ihrem Telefonbuch löscht, dann wird diese Veränderung in dem Veränderungsprotokoll 210 reflektiert. Wenn darüber hinaus das Veränderungsprotokoll leer ist, dann müssen keine Veränderungen an der Datenbank 40 in dem PC 10 durchgeführt werden. Die Verwendung von Veränderungsprotokollen 200 und 210 kann vorteilhaft sein während der Synchronisierung, da lediglich diese Eintragungen, die modifiziert, hinzugefügt oder gelöscht wurde (wie in dem Veränderungsprotokoll aufgezeichnet) seit der letzten Synchronisierungsaktualisierung, zwischen den Vorrichtungen übertragen werden müssen. Daher kann der Synchronisierungsprozess schneller durchgeführt werden, und deshalb wurde dieser Prozess als „schnelle Synchronisierung" bezeichnet.
  • Unter bestimmten Umständen kann es jedoch noch immer wünschenswert sein, eine volle (d.h. langsame) Synchronisierung von entsprechenden Datenbanken in zwei Vorrichtungen durchzuführen, selbst wenn Veränderungsprotokolle implementiert wurden, um eine schnelle Synchronisierung zu ermöglichen. Wenn beispielsweise ein Anwender seine oder ihre Kalenderdatenbank in einem Mobiltelefon zurücksetzt oder löscht, kann eine solche Aktion vorschreiben, dass eine volle Synchronisierung zwischen den zwei Datenbanken durchgeführt wird, d. h., dass die große Anzahl von Veränderungen dazu führt, dass es keinen speziellen Vorteil in solchen Fällen für die Verwendung von Veränderungsprotokollen 200 und 210 zum Durchführen der Synchronisierung gibt. Das Anfordern von voller Synchronisierung von zwei Datenbanken, wenn eine schnelle Synchronisierung verfügbar ist, wurde beispielsweise durchgeführt bei zufälliger oder inkrementeller Veränderung des Wertes eines Datenbankidentifizierers (DID, Englisch: database identifier), der zwischen den zwei Vorrichtungen als ein Teil des Synchronisierungsprozesses ausgetauscht wird. Die Veränderung in den DID-Werten fungiert als ein Signal, das der Vorrichtung, die Datenbanksynchronisierung durchführt, mitteilt, eine volle Synchronisierung anstelle einer schnellen Synchronisierung durchzuführen. Die empfangene Vorrichtung (z. B. ein PC) vergleicht den DID, der von einer anderen Vorrichtung (z. B. einem Mobiltelefon) empfangen wurde, mit einem DID, der zuvor gespeichert wurde. Wenn diese identisch sind, wird eine schnelle Synchronisierung verwendet. Wenn diese unterschiedlich sind, wird eine volle Synchronisierung durchgeführt.
  • Obwohl es den Synchronisierungsprozess beschleunigen kann, führt unglücklicher Weise das Hinzufügen von Veränderungsprotokollen ein anderes Problem ein. Im Genaueren beruht die schnelle Synchronisierung auf der Verwendung einer Zeitmarke, die mit jedem Eintrag in dem Veränderungsprotokoll 200, 210 verbunden ist. Die Zeitmarke zeigt an, zu welcher Zeit eine bestimmte Veränderung durchgeführt wurde. Wenn ein Veränderungsprotokoll, das mit einer Datenbank verbunden ist (z. B. das Veränderungsprotokoll 210, das mit dem SIM 50 verbunden ist) der anderen Vorrichtung zugeführt wird (z. B. dem PC 10), dann verwendet die Synchronisierungsmaschine (nicht gezeigt) innerhalb der anderen Vorrichtung die Zeitmarke, um potentielle Konflikte aufzulösen, die Auftreten können, wenn eine Modifizierung an einem Eintrag in einer der Datenbanken durchgeführt wurde, und eine unterschiedliche Modifizierung an demselben Eintrag aber in der anderen Datenbank durchgeführt wurde. In solchen Fällen ist die Regel anzunehmen, dass die zuletzt durchgeführte Änderung die Korrekte ist. Betrachte beispielsweise die Situation, in der eine Eintragung „A" in jeder der zwei Vorrichtungen existiert (als „Vorrichtung 1" und „Vorrichtung 2" bezeichnet), wenn Datenbanken in jeder der Vorrichtungen miteinander synchronisiert wurden. Nach der Synchronisierung wird angenommen, dass in der Vorrichtung 1 der Eintrag A bei 12:34 gelöscht wurde, während in der Vorrichtung 2 derselbe Eintrag bei 12:40 modifiziert wurde. Beim nächsten Mal, wenn die Vorrichtungen 1 und 2 miteinander synchronisiert werden, wird die Synchronisierungsprozedur detektieren, dass derselbe Eintrag auf der einen Seite gelöscht und auf der anderen Seite modifiziert wurde. Unter Berücksichtigung der Regel, dass die zuletzt durchgeführte Modifikation die korrekte ist, wird die Modifizierung am Eintrag A, die auf der Vorrichtung 2 durchgeführt wurde, beibehalten durch Kopieren dieser zur Vorrichtung 1. Die zwei Vorrichtungen sind nun wieder synchronisiert.
  • Da die Zeitmarken eine solch wichtige Rolle im Synchronisierungsprozess spielen, ist zu erkennen, dass die Zeitgeber in den Vorrichtungen sehr genau, miteinander abgeglichen, und unverändert sein müssen. Dies ist jedoch in mobilen Vorrichtungen nicht immer der Fall. Für einen Anwender einer mobilen Vorrichtung ist es sehr üblich, in eine andere Zeitzone zu reisen, und daher die Zeit in der Uhr der Vorrichtung zu verändern. Dies kann Probleme mit der Synchronisierung verursachen, da wenn der Zeitgeber des Anwenders dazu gebracht wird, sich vorwärts oder rückwärts zu bewegen, es jedoch für eine zuletzt durchgeführte Veränderung an einer Datenbank möglich ist, inkorrekt aufzutreten, zu einer Zeit geschehen zu sein vor der vorherigen Synchronisierungsoperation. Als ein Ergebnis würde die Veränderung in dem Synchronisierungsversuch ignoriert werden, was tatsächlich in dem Verlust der Veränderung resultiert.
  • Die 3 und 4 illustrieren einige Szenarien, in denen die Veränderung der Uhr in einer Vorrichtung das Auftreten fehlerhafter Ergebnisse verursachen kann, wenn eine nachfolgende Datenbanksynchronisierungsoperation durchgeführt wird. Das in 3 gezeigte Zeitdiagramm zeigt Uhren und Ereignisse in jeder der zwei Vorrichtungen, die mit „Vorrichtung 1" und „Vorrichtung 2" bezeichnet sind. Zu der Zeit T1 sind die Uhren in beiden Vorrichtungen „1:00pm", wobei zu dieser Zeit eine schnelle Datenbanksynchronisierungsoperation durchgeführt wird. Wie zuvor erwähnt, bewirkt dies zusammen mit anderen Sachen, das die Zeit der Synchronisierung in dem Veränderungsprotokoll 200 aufgezeichnet wird. Einige Zeit später, zu einer mit T2 bezeichneten Zeit, wurde die Uhr in der Vorrichtung 1 zurückgesetzt, so dass diese nun 12:00pm anzeigt (d. h. eine Zeit vor 1:00pm). Dies hätte durchgeführt werden können, z. B. zum Berücksichtigen einer Reise über eine oder mehrere Zeitzonen. Zu dieser Zeit T2 wird ein Eintrag „A" in der Datenbank der Vorrichtung 1 verändert. Diese Veränderung wird in dem Veränderungsprotokoll 200 aufgezeichnet zusammen mit einer Zeitmarke = 12:00pm, was die Zeit der Veränderung anzeigt. Zu einer nachfolgenden späteren als T3 bezeichneten Zeit zeigt die Uhr in der Vorrichtung 1 8:00pm an, und die Uhr in der Vorrichtung 2 zeigt 9:00pm an. Zu dieser Zeit T3 wird eine andere schnelle Datenbanksynchronisierungsoperation durchgeführt zwischen den entsprechenden Datenbanken in der Vorrichtung 1 und der Vorrichtung 2. Als Teil dieser Synchronisierungsoperation schaut sich die Synchronisierungsmaschine die Zeitmarken in dem Veränderungsprotokoll 200 an und ignoriert alle Veränderungen, die vor der vorherigen Synchronisierungsoperation durchgeführt wurden (die zu der Zeit T3 stattfanden). Als ein Ergebnis erscheint die Veränderung am Eintrag „A", die tatsächlich zur Zeit T2 stattgefunden hat, vor der Zeit T1 stattgefunden zu haben (d. h. die Zeit der vorherigen Synchronisierungsoperation). Folglich wird die Veränderung am Eintrag „A", die zur Zeit T2 durchgeführt wurde, in der Synchronisierungsoperation ignoriert, wodurch diese tatsächlich verloren geht. Es wird festgestellt, dass selbst wenn die Uhr in der Vorrichtung 1 um eine Stunde vorgestellt wurde zu einem Zeitpunkt zwischen der Zeit T2 und T3, so dass die Zeit T3 der Uhren in den Vorrichtungen 1 und 2 beide 9:00pm anzeigen, die an dem Eintrag „A" in der Vorrichtung 1 zu der Zeit T2 durchgeführte Veränderung in der Synchronisierungsoperation verloren gehen wird.
  • 4 zeigt ein anderes Szenario, in dem die Veränderung der Uhr in einer Vorrichtung fehlerhafte Ergebnisse verursachen kann, wenn eine nachfolgende Datenbanksynchronisierungsoperation durchgeführt wird. Hier zeigt dieses Zeitdiagramm Uhren und Ereignisse in jeder der zwei Vorrichtungen, die als „Vorrichtung 1" und „Vorrichtung 2" bezeichnet sind. Zur Zeit T1 zeigen die Uhren in beiden Vorrichtungen „1:00pm" an, zu welcher Zeit eine schnelle Datenbanksynchronisierungsoperation durchgeführt wird. Wie zuvor erwähnt führt dies unter anderem dazu, dass die Zeit der Synchronisierung in dem Veränderungsprotokoll 200 aufgezeichnet wird. Der Wert der Uhr in der Vorrichtung 1 wird anschließend vorgestellt, so dass zur Zeit T2 3:00pm angezeigt wird, während die Uhr in der Vorrichtung 2 lediglich „2:00pm" anzeigt. Zu dieser Zeit T2 wird ein Eintrag „A" in der Datenbank der Vorrichtung 1 verändert. Diese Veränderung wird in dem Veränderungsprotokoll 200 zusammen mit einer Zeitmarke = 3:00pm aufgezeichnet, die Zeit der Veränderung anzeigend. Anschließend wird die Uhr in der Vorrichtung 1 wieder verändert, dieses Mal rückwärts, so dass eine als T3 bezeichnete Zeit und die Uhr in der Vorrichtung 2 beide 2:30pm anzeigen. Zu dieser Zeit T3 wird wieder eine schnelle Synchronisierungsoperation zwischen den Datenbanken in der Vorrichtung 1 und der Vorrichtung 2 durchgeführt. Da die Zeitmarke, die mit der Veränderung am Eintrag „A" zu der Zeit T2 anzeigt, dass die Veränderung bei 3.00pm stattgefunden hat (d. h. eine spätere Zeit als die aktuelle Zeit von 2.30pm), wird die Veränderung am Eintrag „A" in der Synchronisierungsoperation ignoriert, wodurch die Daten tatsächlich verloren gehen.
  • Es ist möglich, weitere Beispiele zu konstruieren, in denen eine Veränderung an der Uhr dazu führt, dass eine schnelle Synchronisierungsoperation tatsächlich eine oder mehrere Veränderungen an den Einträgen in der Datenbank verliert.
  • Folglich wäre es wünschenswert, Techniken und Vorrichtungen bereitzustellen, die die Verwendung von Veränderungsprotokollen für Synchronisierungsdatenbanken ermöglichen, aber auch die Bewegung der portablen Vorrichtungen über Zeitzonen anpassen.
  • US 5 666 530 offenbart einen tragbaren Computer, in dem Datenbanken auf einem Host enthalten sind, und der tragbare Computer automatisch synchronisiert wird, wenn eine gegebene verstrichene Zeit seit dem letzten Synchronisierungsversuch aufgetreten ist.
  • US 5 832 489 offenbart ein Verfahren zum Synchronisieren von Datenbanken, die sich auf einem Host-Computer und einem tragbaren Computer befinden.
  • ZUSAMMENFASSUNG
  • Es ist zu betonen, dass die Ausdrücke „umfasst" und „umfassend", wenn diese in dieser Spezifikation verwendet werden, verwendet werden zum Spezifizieren der Anwesenheit von spezifizierten Eigenschaften, ganzen Zahlen, Schritten oder Komponenten; die Verwendung dieser Ausdrücke schließt jedoch die Präsenz oder die Addition von einer oder mehreren Eigenschaften, ganzen Zahlen, Schritten, Komponenten oder Gruppen davon nicht aus.
  • Gemäß der vorliegenden Erfindung werden das vorangegangene und andere Ziele erreicht im Verfahren, der Vorrichtung und dem computerlesbaren Speichermedium, die eine erste Datenbank mit einer zweiten Datenbank synchronisieren, wobei sich die erste Datenbank in einem mobilen Endgerät befindet, und wobei das Verfahren, die Vorrichtung und das computerlesbare Speichermedium die Einstellung eines Indikators gemäß dieser Eigenschaften die entsprechenden Ansprüche 1, 6 und 11 umfassen.
  • Der Indikator kann für diesen Zweck Daten zugeordnet sein. Jedoch kann in alternativen Ausführungsformen das Einstellen des Indikators eine Veränderung des Werts eines Datenbankidentifizierers umfassen. Da der Datenbankidentifizierer zwischen den zwei Datenbanken sowieso ausgetauscht wird, muss keine zusätzliche Information lediglich für den Zweck der Anzeige, dass eine volle Synchronisation durchgeführt werden sollte, ausgetauscht werden.
  • Wenn der Indikator nicht eingestellt ist, kann eine schnelle Synchronisierung der ersten Datenbank mit der zweiten Datenbank anstelle dessen durchgeführt werden.
  • Wenn der Aufbau einer Fehlersynchronisierungstechnik gewünscht ist, kann darüber hinaus der Indikator zurückgesetzt werden nach Durchführen der vollen Synchronisierung der ersten Datenbank mit der zweiten Datenbank.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die Ziele und Vorteile der Erfindung werden ersichtlich durch Lesen der folgenden detaillierten Beschreibung in Zusammenhang mit den Zeichnungen, in denen:
  • 1 ein Blockdiagramm ist, das eine konventionelle Technik zum Synchronisieren von Datenbanken zwischen Vorrichtungen zeigen;
  • 2 ein Blockdiagramm ist, das eine Modifizierung der Technik und das Systems aus 1 illustriert, wobei Veränderungsprotokolle in jeder Vorrichtung für die Synchronisierung der Datenbanken eingeführt sind;
  • 3 ein Szenario darstellt, in dem die Veränderung der Uhr bei einer Vorrichtung ein fehlerhaftes Ergebnis verursachen kann, wenn eine nachfolgende konventionelle Datenbanksynchronisierungsoperation durchgeführt wird;
  • 4 ein Szenario darstellt, in dem die Veränderung der Uhr bei einer Vorrichtung ein fehlerhaftes Ergebnis verursachen kann, wenn eine nachfolgende konventionelle Datenbanksynchronisierungsoperation durchgeführt wird;
  • 5 ein Flussdiagramm ist, das exemplarische Schritte darstellt, die durch eine Synchronisierungseinheit durchgeführt werden können, um auszuwählen, welche Art der Synchronisierung durchzuführen ist, in Übereinstimmung mit der Erfindung; und
  • 6 ein Flussdiagramm ist, das durch die Vorrichtung durchzuführende Schritte darstellt, um zu gewährleisten, dass eine volle, anstelle einer schnellen, Synchronisierungsoperation bei Bedarf durchgeführt wird.
  • DETAILLIERTE BESCHREIBUNG
  • Die unterschiedlichen Merkmale der Erfindung werden nun mit Bezug auf die Figuren beschrieben, in denen gleiche Teile mit gleichen Bezugszeichen gekennzeichnet werden.
  • Die folgende Beschreibung ist geschrieben im Hinblick auf ein netzförmiges Funktelefonsystem, jedoch ist zu verstehen, dass diese Erfindung nicht auf diese Umgebung begrenzt ist. Im Genaueren ist die folgende Beschreibung geschrieben unter Verwendung von Ausdrücken, die verbunden werden können mit GSM konformen Systemen (z. B. Endgeräte, SIM-Karten verwendenden), jedoch wird vom Fachmann verstanden, dass die vorliegende Erfindung in anderen kommunikations/informationshandhabenden Anwendungen implementiert sein kann, umfassend diese, die in Übereinstimmung mit anderen Standards ausgelegt sind, so wie IS-95 oder PDC, als auch diesen, die andere Zugangsverfahren verwenden, so wie CDMA. Darüber hinaus sind die folgenden Techniken auch anwendbar zum Synchronisieren von Datenbanken zwischen zwei beliebigen Informations-/Kommunikationsvorrichtungen.
  • Die Erfindung wird nun detaillierter beschrieben in Verbindung mit einer Anzahl von exemplarischen Ausführungsformen. Zum Erleichtern des Verständnisses der Erfindung sind viele Aspekte der Erfindung beschrieben im Hinblick auf Sequenzen von Aktionen, die durch Elemente eines Computersystems durchzuführen sind. Es ist ersichtlich, dass in jeder der Ausführungsformen die unterschiedlichen Aktionen durchgeführt werden können durch spezialisierte Schaltkreise (z. B. diskrete Logikgatter, die untereinander verbunden sind, zum Durchführen einer spezialisierten Funktion), durch Programminstruktionen, die durch einen oder mehrere programmierbare Prozessoren ausgeführt werden, oder durch eine Kombination dieser beider durchgeführt werden können. Darüber hinaus kann angenommen werden, dass die Erfindung zusätzlich komplett eingebettet sein kann innerhalb irgendeiner Form eines computerlesbaren Speichermediums, auf dem ein geeigneter Satz von Computerinstruktionen gespeichert ist, der dazu führen würden, dass ein Prozessor die hier beschriebenen Techniken ausführen würde. Daher können die unterschiedlichen Aspekte der Erfindung in vielen unterschiedlichen Formen eingebettet sein, und alle solche Formen werden als innerhalb des Bereichs der vorliegenden Erfindung liegend betrachtet. Für jeden unterschiedlichen Aspekt der Erfindung kann jede solche Form der Ausführung bezeichnet werden als „Logik konfiguriert zum" Ausführen einer beschriebenen Aktion.
  • Wie zuvor erwähnt ist es für ein System möglich, sowohl volle als auch schnelle Synchronisierung zu unterstützen. In solchen Systemen ist es möglich, eine für die Verwendung als die Vorgabeoperation auszuwählen. Beispielsweise kann schnelle Synchronisierung der Typ der Synchronisierung sein, die in den meisten Fällen durchgeführt wird. Die Aufforderung einer vollen Synchronisierung von zwei Datenbanken, wenn eine schnelle Synchronisierung verfügbar ist, kann dann erreicht werden durch Bereitstellen eines Indikators für die Synchronisierungseinheit, der instruiert, dass eine volle Synchronisation durchgeführt werden sollte. Ein solcher Indikator kann beispielsweise die Form einer zufälligen oder inkrementellen Veränderung im Wert des Datenbankidentifizierers (DID) annehmen, der zwischen den Vorrichtungen als ein Teil des Synchronisierungsprozesses ausgetauscht wird.
  • 5 ist ein Flussdiagramm, das exemplarische Schritte darstellt, die durch eine Synchronisierungseinheit durchgeführt werden können, zum Auswählen, welche Art von Synchronisierung durchzuführen ist. Die Synchronisierungseinheit bezieht sich auf zwei Indikatoren: einen lokal erzeugten Indikator (LOCAL SYNC-TYPE bzw. LOKALER SYNC-TYP), und einem, der durch eine andere Vorrichtung bereitgestellt wird (REMOTE SYNC-TYPE bzw. FERNBETRIEB SYNC-TYP). Der Grund, weshalb es zwei Indikatoren gibt, ist, dass die Vorrichtung, die den Synchronisierungsprozess initiiert, nicht die gleiche Vorrichtung sein kann, die bestimmt hat, dass eine volle anstelle einer schnellen Synchronisierungsoperation aufgefordert wurde.
  • Diese Indikatoren können speziell zugeordnete Variablen sein, die exklusiv für diesen Zweck reserviert sind. Jedoch ist dies kein essentieller Aspekt der Erfindung. Beispielsweise kann einer oder beide dieser Indikatoren die Form einer Änderung in dem Datenbankidentifizierer-(DID)Wert annehmen. Solche Ausführungsformen haben einen Vorteil darin, dass der DID-Wert gewöhnlich einer der Parameter ist, der zwischen Datenbanken als ein Teil des Veränderungsprotokolls ausgetauscht wird. Daher kann der Bedarf für einen weiteren Austausch zusätzlicher Parameter (d.h. Sync-Typ Indikatoren) eliminiert werden. Die genaue Strategie, die in irgendeinem genauen System angepasst ist, ist nicht kritisch und kann dem individuellen Designer überlassen werden. Aus Gründen der Einfachheit verwendet die exemplarische Ausführungsform Indikatoren, die für diesen Zweck bestimmt sind.
  • Zum Starten eines Synchronisierungsprozesses wird ein LOCAL SYNC-TYPE Indikator beispielsweise von einer lokalen Speichervorrichtung erhalten (Schritt 501). (In Ausführungsformen, in denen eine Veränderung im DID den Bedarf der Durchführung einer vollen Synchronisation anzeigt, kann das Erhalten des LOCAL SYNC-TYPE Indikators bedeuten, dass ein aktueller DID mit einem DID verglichen wird, der zu einer Zeit der letzten Synchronisierungsoperation gespeichert wurde.) Der durch die andere Vorrichtung bereitgestellte Indikator (REMOTE SYNC-TYPE Indikator) wird auch empfangen (Schritt 503).
  • Die Werte der zwei Indikatoren werden dann getestet. Beispielsweise kann der LOCAL SYNC-TYPE Indikator zuerst getestet werden (Entscheidungsblock 505). Wenn dieser anzeigt, dass eine volle Synchronisierung benötigt wird („JA"-Pfad aus dem Entscheidungsblock 505), dann wird der LOCAL SYNC-TYPE Indikator zurückgesetzt zu dessen Vorgabewert (d. h. eingestellt zum Anzeigen, dass eine schnelle Synchronisierung durchgeführt werden sollte)(Schritt 507), und eine volle Synchronisierung wird durchgeführt (Schritt 509). Einstellen des LOCAL SYNC-TYPE Indikators auf dessen Vorgabewert gewährleistet, dass solange keine Expressaktionen durchzuführen sind, die Vorgabeoperation durchgeführt wird, wenn das nächste Mal eine Synchronisierungsoperation angefragt wird.
  • Wenn der LOCAL SYNC-TYPE Indikator keine volle Synchronisierung aufruft („NEIN"-Pfad aus dem Entscheidungsblock 505), wird der REMOTE SYNC-TYPE Indikator getestet (Entscheidungsblock 511). Wenn der REMOTE SYNC-TYPE anzeigt, dass eine volle Synchronisierung durchgeführt werden sollte („JA"-Pfad aus dem Entscheidungsblock 511), wird eine volle Synchronisierungsoperation durchgeführt (Schritt 509).
  • Wenn der REMOTE SYNC-TYPE Indikator nicht anzeigt, dass eine volle Synchronisierung durchgeführt werden sollte („NEIN"-Pfad aus dem Entscheidungsblock 511), wird alternativ eine schnelle Synchronisierung durchgeführt (Schritt 513).
  • Nun bezugnehmend auf das „Zeitreise"-Problem, das in dem Hintergrund-Abschnitt dieser Offenbarung geschrieben wurde, wird in Übereinstimmung mit dieser Erfindung dieses Problem angegangen durch Bewirken einer vollen anstelle einer schnellen Synchronisierungsoperation, die auszuführen ist, immer wenn die Synchronisierungsoperation einer Zeitveränderungsoperation folgt. Im Genaueren sollte eine volle Synchronisierungsoperation durchgeführt werden, wenn diese einer Änderung folgt, in der der Zeitgeber der Vorrichtung auf eine frühere Zeit eingestellt wird. Es ist auch erlaubt aber nicht erforderlich, dass eine volle Synchronisierungsoperation durchgeführt wird, wenn diese einer Änderung in dem Zeitgeber der Vorrichtung folgt, wenn diese auf eine spätere Zeit eingestellt wird. Dies gewährleistet, dass Synchronisierung nicht abhängig ist von Zeitmarkenwerten, sondern anstelle dessen eine nach der anderen durchgeführt wird durch Vergleichen von Einträgen zwischen zwei Datenbanken.
  • 6 ist ein Flussdiagramm, das durch eine Vorrichtung auszuführende Schritte darstellt, um zu gewährleisten, dass eine volle anstelle einer schnellen Synchronisierungsoperation wenn notwendig ausgeführt wird. Als erstes wird ein Test durchgeführt zum Bestimmen, ob der lokale Zeitgeberwert der Vorrichtung auf einen früheren Wert eingestellt wurde (Entscheidungsblock 601). Wenn dem der Fall ist („JA"-Pfad aus dem Entscheidungsblock 601), wird der lokale Sync-Indikator so eingestellt, dass dieser anzeigt, dass eine volle Synchronisierungsoperation durchgeführt werden sollte (Schritt 603). Andernfalls wird dieser Schritt übersprungen („NEIN"-Pfad aus dem Entscheidungsblock 601). In einigen Ausführungsformen kann der Sync-Typ Indikator die Form eines veränderten DID-Wertes annehmen.
  • Die Erfindung löst das „Zeitreise" Problem, wodurch es möglich wird, Zeitmarken für Datenbanksynchronisierungen zu verwenden. Die Erfindung muss nicht optimal sein, bietet aber den Vorteil des Verhinderns des Verlustes von Daten. Jedes Mal wenn der Anwender die Zeit auf der Vorrichtung verändert (oder zumindest jedes Mal wenn der Anwender die Zeit auf der Vorrichtung auf eine frühere Zeit verändert), wird eine volle Synchronisierung durchgeführt, in der alle Daten, die auf der Vorrichtung gespeichert sind, gelesen werden und mit der Datenbank der anderen Vorrichtung verglichen werden. Unterschiede werden identifiziert und auf beiden Vorrichtungen aktualisiert. Für diese Konfliktsituation, in dem ein gleicher Eintrag in den Datenbanken beider Vorrichtungen modifiziert wurde, ohne irgendeine Möglichkeit des genauen Bestimmens, welche Modifikation zuletzt durchgeführt wurde, kann eine Taktik des immer Auswählens des Eintrags von einer bestimmten der Vorrichtungen (z. B. immer Verwenden der Modifikation, die auf dem PC durchgeführt wurde) angepasst werden.
  • Die Erfindung wurde mit Bezug auf eine bestimmte Ausführungsform beschrieben. Jedoch ist es für den Fachmann ersichtlich, dass die Erfindung in spezifischen, sich von der bevorzugten oben beschriebenen Ausführungsform unterscheidenden Formen realisiert werden kann, ohne sich von dem Bereich der Erfindung zu entfernen, der durch die beigefügten Ansprüche gebildet wird. Die bevorzugte Ausführungsform ist lediglich illustrativ und sollte in keinster Weise als begrenzend betrachtet werden.

Claims (15)

  1. Ein Verfahren zum Synchronisieren einer ersten Datenbank mit einer zweiten Datenbank, wobei die erste Datenbank in einem mobilen Endgerät lokalisiert ist, das Verfahren gekennzeichnet durch: Einstellen (507, 508) eines Indikators auf einen Indikatorwert in Reaktion zur Detektion, dass eine Uhr im mobilen Endgerät geändert wurde; und selektives Ausführen entweder einer Gesamtsynchronisation (509) oder einer schnellen Synchronisation (513) der ersten Datenbank mit der zweiten Datenbank gemäß dem Indikatorwert.
  2. Das Verfahren nach Anspruch 1, wobei die Uhr im mobilen Endgerät durch den Anwender des mobilen Endgeräts geändert wird.
  3. Das Verfahren nach Anspruch 1 oder 2, wobei das Einstellen (507, 509) des Indikators einen Wert des Datenbankidentifikators umfasst.
  4. Das Verfahren nach Anspruch 1 oder 2, wobei eine schnelle Synchronisation (513) der ersten Datenbank mit der zweiten Datenbank ausgeführt wird, wenn der Indikator nicht eingestellt ist, und eine Gesamtsynchronisation (509) der ersten Datenbank mit der zweiten Datenbank ausgeführt wird, wenn der Indikator eingestellt ist.
  5. Das Verfahren nach Anspruch 1 oder 2, ferner umfassend: erneutes Einstellen des Indikators nach Ausführung der Gesamtsynchronisation (509) der ersten Datenbank mit der zweiten Datenbank.
  6. Eine Vorrichtung zum Synchronisieren einer ersten Datenbank mit einer zweiten Datenbank, wobei die erste Datenbank in einem mobilen Endgerät lokalisiert ist, die Vorrichtung gekennzeichnet durch: Logik, die einen Indikator auf einen Indikatorwert in Reaktion zur Detektion, dass eine Uhr im mobilen Endgerät geändert wurde, einstellt; und Logik, die selektiv entweder eine Gesamtsynchronisation (509) oder eine schnelle Synchronisation (513) der ersten Datenbank mit der zweiten Datenbank gemäß dem Indikatorwert ausführt.
  7. Die Vorrichtung nach Anspruch 6, wobei die Uhr im mobilen Endgerät durch den Anwender des mobilen Endgeräts geändert wird.
  8. Die Vorrichtung nach Anspruch 6 oder 7, wobei die Logik, die den Indikator einstellt, Logik umfasst, die den Wert eines Datenbankidentifikators ändert.
  9. Die Vorrichtung nach Anspruch 6 oder 7, wobei eine schnelle Synchronisation der ersten Datenbank mit der zweiten Datenbank ausgeführt wird, wenn der Indikator nicht eingestellt ist, und eine Gesamtsynchronisation der ersten Datenbank mit der zweiten Datenbank ausgeführt wird, wenn der Indikator eingestellt ist.
  10. Die Vorrichtung nach Anspruch 6 oder 7, ferner umfassend: Logik, die den Indikator nach Ausführung der Gesamtsynchronisation der ersten Datenbank mit der zweiten Datenbank erneut einstellt.
  11. Ein computerlesbares Speichermedium, in dem Programminstruktionen gespeichert sind, die eine erste Datenbank mit einer zweiten Datenbank synchronisieren, wobei die erste Datenbank in einem mobilen Endgerät lokalisiert ist, die Programminstruktionen gekennzeichnet durch: Programminstruktionen, die einen Indikator auf einen Indikatorwert in Reaktion auf das Detektieren, dass eine Uhr in dem mobilen Endgerät geändert wurde, einstellen; und Programminstruktionen, die selektiv entweder eine Gesamtsynchronisation oder eine schnelle Synchronisation der ersten Datenbank mit der zweiten Datenbank gemäß dem Indikatorwert durchführen.
  12. Das computerlesbare Speichermedium nach Anspruch 11, wobei die Uhr im mobilen Endgerät durch den Anwender des mobilen Endgeräts geändert wird.
  13. Das computerlesbare Speichermedium nach Anspruch 11 oder 12, wobei die Programminstruktionen, die den Indikator einstellen, Computerinstruktionen umfassen, die einen Wert des Datenbankidentifikators ändern.
  14. Das computerlesbare Speichermedium nach Anspruch 11 oder 12, wobei eine schnelle Synchronisation der ersten Datenbank mit der zweiten Datenbank ausgeführt wird, wenn der Indikator nicht eingestellt ist, und eine Gesamtsynchronisation der ersten Datenbank mit der zweiten Datenbank ausgeführt wird, wenn der Indikator eingestellt ist.
  15. Das computerlesbare Speichermedium nach Anspruch 11 oder 12, ferner umfassend: Programminstruktionen, die den Indikator nach Ausführen der Gesamtsynchronisation der ersten Datenbank mit der zweiten Datenbank erneut einstellen.
DE60126288T 2000-08-25 2001-08-21 Nicht-zeitabhängige synchronisation von datenbanken Expired - Lifetime DE60126288T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US645305 2000-08-25
US09/645,305 US6718348B1 (en) 2000-08-25 2000-08-25 Non-time dependent synchronization of databases
PCT/EP2001/009610 WO2002017134A1 (en) 2000-08-25 2001-08-21 Non-time dependent synchronization of databases

Publications (2)

Publication Number Publication Date
DE60126288D1 DE60126288D1 (de) 2007-03-15
DE60126288T2 true DE60126288T2 (de) 2007-10-31

Family

ID=24588486

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60126288T Expired - Lifetime DE60126288T2 (de) 2000-08-25 2001-08-21 Nicht-zeitabhängige synchronisation von datenbanken

Country Status (8)

Country Link
US (1) US6718348B1 (de)
EP (1) EP1311991B1 (de)
CN (1) CN100430931C (de)
AT (1) ATE352818T1 (de)
AU (1) AU2001285896A1 (de)
DE (1) DE60126288T2 (de)
ES (1) ES2278774T3 (de)
WO (1) WO2002017134A1 (de)

Families Citing this family (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001093226A (ja) 1999-09-21 2001-04-06 Sony Corp 情報通信システムおよび方法、ならびに、情報通信装置および方法
JP4507319B2 (ja) * 1999-12-17 2010-07-21 ソニー株式会社 情報処理装置、情報処理方法、プログラム、および記録媒体、端末装置、並びに、システムおよびシステムの方法
US8620286B2 (en) 2004-02-27 2013-12-31 Synchronoss Technologies, Inc. Method and system for promoting and transferring licensed content and applications
US6671757B1 (en) 2000-01-26 2003-12-30 Fusionone, Inc. Data transfer and synchronization system
US8156074B1 (en) 2000-01-26 2012-04-10 Synchronoss Technologies, Inc. Data transfer and synchronization system
US7035878B1 (en) 2000-01-25 2006-04-25 Fusionone, Inc. Base rolling engine for data transfer and synchronization system
US7895334B1 (en) 2000-07-19 2011-02-22 Fusionone, Inc. Remote access communication architecture apparatus and method
US8073954B1 (en) 2000-07-19 2011-12-06 Synchronoss Technologies, Inc. Method and apparatus for a secure remote access system
US6925476B1 (en) * 2000-08-17 2005-08-02 Fusionone, Inc. Updating application data including adding first change log to aggreagate change log comprising summary of changes
US7818435B1 (en) 2000-12-14 2010-10-19 Fusionone, Inc. Reverse proxy mechanism for retrieving electronic content associated with a local network
US8660017B2 (en) * 2001-03-20 2014-02-25 Verizon Business Global Llc Systems and methods for updating IP communication service attributes using an LDAP
US20020138603A1 (en) * 2001-03-20 2002-09-26 Robohm Kurt W. Systems and methods for updating IP communication service attributes
US8615566B1 (en) 2001-03-23 2013-12-24 Synchronoss Technologies, Inc. Apparatus and method for operational support of remote network systems
US7363388B2 (en) * 2001-03-28 2008-04-22 Siebel Systems, Inc. Method and system for direct server synchronization with a computing device
JP4936037B2 (ja) * 2001-08-31 2012-05-23 ソニー株式会社 情報処理装置および方法、並びにプログラム
US7415539B2 (en) * 2001-09-28 2008-08-19 Siebel Systems, Inc. Method and apparatus for detecting insufficient memory for data extraction processes
US7526575B2 (en) * 2001-09-28 2009-04-28 Siebel Systems, Inc. Method and system for client-based operations in server synchronization with a computing device
US7257649B2 (en) * 2001-09-28 2007-08-14 Siebel Systems, Inc. Method and system for transferring information during server synchronization with a computing device
US7761535B2 (en) 2001-09-28 2010-07-20 Siebel Systems, Inc. Method and system for server synchronization with a computing device
KR100718613B1 (ko) * 2001-10-22 2007-05-16 애플 인크. 호스트 컴퓨터와 미디어 플레이어의 미디어 내용 동기화 방법
US20030167318A1 (en) * 2001-10-22 2003-09-04 Apple Computer, Inc. Intelligent synchronization of media player with host computer
US7814068B2 (en) * 2001-11-16 2010-10-12 Gemalto Sa Identifying changed records in a file stored on an electronic token
GB0128243D0 (en) * 2001-11-26 2002-01-16 Cognima Ltd Cognima patent
JP4279499B2 (ja) * 2002-03-01 2009-06-17 シャープ株式会社 情報処理装置
US9412417B2 (en) 2002-04-05 2016-08-09 Apple Inc. Persistent group of media items for a media device
US9715500B2 (en) * 2004-04-27 2017-07-25 Apple Inc. Method and system for sharing playlists
US7827259B2 (en) * 2004-04-27 2010-11-02 Apple Inc. Method and system for configurable automatic media selection
US8150937B2 (en) * 2004-10-25 2012-04-03 Apple Inc. Wireless synchronization between media player and host device
US7680849B2 (en) 2004-10-25 2010-03-16 Apple Inc. Multiple media type synchronization between host computer and media device
US7797446B2 (en) * 2002-07-16 2010-09-14 Apple Inc. Method and system for updating playlists
EP1383054A1 (de) * 2002-07-19 2004-01-21 SCHLUMBERGER Systèmes Verfahren von Datensynchronisation für Chipkarten
US7956272B2 (en) 2002-07-30 2011-06-07 Apple Inc. Management of files in a personal communication device
US7166791B2 (en) * 2002-07-30 2007-01-23 Apple Computer, Inc. Graphical user interface and methods of use thereof in a multimedia player
US7127475B2 (en) * 2002-08-15 2006-10-24 Sap Aktiengesellschaft Managing data integrity
US7464097B2 (en) * 2002-08-16 2008-12-09 Sap Ag Managing data integrity using a filter condition
US20040049476A1 (en) * 2002-09-06 2004-03-11 Sai Sanjay K. Efficient data management system
GB0229572D0 (en) * 2002-12-19 2003-01-22 Cognima Ltd Quality of service provisioning
EP1443423A1 (de) * 2003-01-28 2004-08-04 Bombardier Transportation (Technology) Germany GmbH Vorrichtung und Methode zur Replikation von Daten in einem Datennetz
WO2005010715A2 (en) 2003-07-21 2005-02-03 Fusionone, Inc. Device message management system
US8880735B2 (en) * 2003-09-05 2014-11-04 Sierra Wireless, Inc. Mail server based application record synchronization
CN100337420C (zh) * 2003-12-17 2007-09-12 财团法人资讯工业策进会 资料同步系统的验证与测试方法及装置
KR100547896B1 (ko) * 2004-03-05 2006-01-31 삼성전자주식회사 데이터 동기화 시스템 및 서버와 클라이언트의 데이터동기화 방법
ES2585353T3 (es) 2004-05-12 2016-10-05 Synchronoss Technologies, Inc. Sistema de identificación de contactos avanzado
US9542076B1 (en) 2004-05-12 2017-01-10 Synchronoss Technologies, Inc. System for and method of updating a personal profile
US7363327B2 (en) * 2004-05-28 2008-04-22 International Business Machines Corporation Change log handler for synchronizing data sources
US8797926B2 (en) 2004-06-04 2014-08-05 Apple Inc. Networked media station
US20070110074A1 (en) 2004-06-04 2007-05-17 Bob Bradley System and Method for Synchronizing Media Presentation at Multiple Recipients
US8443038B2 (en) 2004-06-04 2013-05-14 Apple Inc. Network media device
US10972536B2 (en) 2004-06-04 2021-04-06 Apple Inc. System and method for synchronizing media presentation at multiple recipients
JP4484618B2 (ja) 2004-07-30 2010-06-16 株式会社日立製作所 ディザスタリカバリシステム、プログラム及びデータの複製方法
US8261246B1 (en) 2004-09-07 2012-09-04 Apple Inc. Method and system for dynamically populating groups in a developer environment
US11314378B2 (en) 2005-01-07 2022-04-26 Apple Inc. Persistent group of media items for a media device
US7958441B2 (en) * 2005-01-07 2011-06-07 Apple Inc. Media management for groups of media items
US7788225B2 (en) * 2005-03-18 2010-08-31 Oracle International Corporation Apparatus and method for identifying asynchronous data in redundant data stores and for re-synchronizing same
JP4182083B2 (ja) * 2005-05-12 2008-11-19 キヤノン株式会社 ネットワークに接続されたネットワーク機器を管理する装置、方法、及びプログラム
US8001076B2 (en) * 2005-07-12 2011-08-16 International Business Machines Corporation Ranging scalable time stamp data synchronization
DE102006024882A1 (de) * 2006-05-24 2007-11-29 Sagem Orga Gmbh Chipkarte
KR100834622B1 (ko) * 2006-06-26 2008-06-02 삼성전자주식회사 가상의 메신저 서비스를 제공하는 방법 및 이를 위한시스템
US8850140B2 (en) 2007-01-07 2014-09-30 Apple Inc. Data backup for mobile device
US8631088B2 (en) 2007-01-07 2014-01-14 Apple Inc. Prioritized data synchronization with host device
US20080168185A1 (en) * 2007-01-07 2008-07-10 Robbin Jeffrey L Data Synchronization with Host Device in Accordance with Synchronization Preferences
US10083184B2 (en) * 2007-01-07 2018-09-25 Apple Inc. Widget synchronization in accordance with synchronization preferences
US7809593B2 (en) * 2007-05-16 2010-10-05 Amadeus S.A.S. Method and system for automatically keeping travel data consistent between passenger reservation records and corresponding electronic tickets
US8046369B2 (en) 2007-09-04 2011-10-25 Apple Inc. Media asset rating system
EP2073510A1 (de) * 2007-12-21 2009-06-24 Gemplus Verfahren zur Erweiterung eines elektronischen Fernsprecherverzeichnisses, das durch eine Veränderung im entsprechenden Telefon ausgelöst wird, und entsprechende Vorrichtung
US8181111B1 (en) 2007-12-31 2012-05-15 Synchronoss Technologies, Inc. System and method for providing social context to digital activity
EP2275951A1 (de) * 2009-07-17 2011-01-19 Accenture Global Services GmbH Datenverarbeitungsverfahren, System und Computerprogrammprodukt
US8255006B1 (en) 2009-11-10 2012-08-28 Fusionone, Inc. Event dependent notification system and method
CN101719149B (zh) * 2009-12-03 2012-02-08 联动优势科技有限公司 数据同步方法及装置
US8943428B2 (en) 2010-11-01 2015-01-27 Synchronoss Technologies, Inc. System for and method of field mapping
US9043278B1 (en) 2012-05-09 2015-05-26 Bertec Corporation System and method for the merging of databases
US8700569B1 (en) 2012-05-09 2014-04-15 Bertec Corporation System and method for the merging of databases
US8543540B1 (en) * 2012-05-09 2013-09-24 Bertec Corporation System and method for the merging of databases
CN104303201A (zh) * 2012-05-15 2015-01-21 诺基亚公司 用于基于连接和空间配置的优惠券兑换的方法和装置
CN107391607B (zh) * 2017-06-30 2023-06-23 北京拉近众博科技有限公司 一种协同变更关联数据项的方法及装置
US10783929B2 (en) 2018-03-30 2020-09-22 Apple Inc. Managing playback groups
US10993274B2 (en) 2018-03-30 2021-04-27 Apple Inc. Pairing devices by proxy
US11297369B2 (en) 2018-03-30 2022-04-05 Apple Inc. Remotely controlling playback devices
US10614857B2 (en) 2018-07-02 2020-04-07 Apple Inc. Calibrating media playback channels for synchronized presentation
CN110992961A (zh) * 2019-12-06 2020-04-10 广州国音智能科技有限公司 音频数据同步方法、装置及计算机可读存储介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5666530A (en) * 1992-12-02 1997-09-09 Compaq Computer Corporation System for automatic synchronization of common file between portable computer and host computer via communication channel selected from a plurality of usable channels there between
US5966714A (en) * 1995-04-28 1999-10-12 Intel Corporation Method and apparatus for scaling large electronic mail databases for devices with limited storage
US5742820A (en) * 1995-07-06 1998-04-21 Novell, Inc. Mechanism for efficiently synchronizing information over a network
CA2227432C (en) * 1995-07-20 2001-05-22 Novell, Inc. Transaction synchronization in a disconnectable computer and network
US5727202A (en) * 1995-10-18 1998-03-10 Palm Computing, Inc. Method and apparatus for synchronizing information on two different computer systems
US5924094A (en) * 1996-11-01 1999-07-13 Current Network Technologies Corporation Independent distributed database system
US6125368A (en) * 1997-02-28 2000-09-26 Oracle Corporation Fault-tolerant timestamp generation for multi-node parallel databases
WO1999022324A1 (en) * 1997-10-24 1999-05-06 Microsoft Corporation Generating meeting requests and group scheduling from a mobile device
JP3534596B2 (ja) * 1997-12-05 2004-06-07 富士通株式会社 インテリジェントネットワーク内のデータベースの同期方法と装置
US6295541B1 (en) * 1997-12-16 2001-09-25 Starfish Software, Inc. System and methods for synchronizing two or more datasets
US6243702B1 (en) * 1998-06-22 2001-06-05 Oracle Corporation Method and apparatus for propagating commit times between a plurality of database servers
US6449622B1 (en) * 1999-03-08 2002-09-10 Starfish Software, Inc. System and methods for synchronizing datasets when dataset changes may be received out of order
US6560700B1 (en) * 1998-11-17 2003-05-06 Telefonaktiebolaget Lm Ericsson (Publ) Protocol for synchronizing parallel processors in a mobile communication system
JP2000163344A (ja) * 1998-11-27 2000-06-16 Nec Corp ネットワーク管理システムのデータベース復旧方式
US6393419B1 (en) * 1999-02-08 2002-05-21 Telefonaktiebolaget Lm Ericsson (Publ) Multipoint database synchronization protocol to avoid data corruption
SE515459C2 (sv) * 1999-02-10 2001-08-06 Ericsson Telefon Ab L M Metod för att synkronisera en värddatabas och en fjärrdatabas
US6247135B1 (en) * 1999-03-03 2001-06-12 Starfish Software, Inc. Synchronization process negotiation for computing devices

Also Published As

Publication number Publication date
CN1633656A (zh) 2005-06-29
AU2001285896A1 (en) 2002-03-04
EP1311991A1 (de) 2003-05-21
WO2002017134A1 (en) 2002-02-28
US6718348B1 (en) 2004-04-06
DE60126288D1 (de) 2007-03-15
ES2278774T3 (es) 2007-08-16
ATE352818T1 (de) 2007-02-15
CN100430931C (zh) 2008-11-05
EP1311991B1 (de) 2007-01-24

Similar Documents

Publication Publication Date Title
DE60126288T2 (de) Nicht-zeitabhängige synchronisation von datenbanken
DE60115616T2 (de) Verfahren zur optimierung der synchronisation zwischen einer datenbank eines clienten und einer server-datenbank
DE60203550T2 (de) Verfahren, System and Computerprogrammprodukt für die Synchronisation von verschiedenen Datenstrukturen durch Benutzung von Aktualisierungsmeldungen
DE60220676T2 (de) Konsistente lesevorgänge in einer verteilten datenbankumgebung
DE102005053727B4 (de) Verteilte Verriegelung
DE69913984T2 (de) Verteiltes transaktionales verarbeitungssystem und verfahren
DE19839310C2 (de) Datensicherungsystem zum Sichern und Speichern von Daten, die von einer sich in einem Fahrzeug befindlichen Terminalvorrichtung verwendet werden, in einem Sicherungszentrum, das per Datenkommunikation mit dem Fahrzeug in Kontakt steht.
DE69925302T2 (de) Optimierung der handhabung eines veränderungen-logbuchs
DE69928786T2 (de) System und verfahren zum erleichtern der protokolleinigung zwischen knoten eines telekommunikationsnetzes
DE69937715T2 (de) Verbessertes Zwei-Phasen-Bindungsprotokoll
DE10315490A1 (de) Verfahren und System zum Wechsel zwischen zwei oder mehreren Firmwareabbildungen auf einer Hostvorrichtung
DE3126363A1 (de) Verfahren und vorrichtung zur steuerung einer datenuebertragung mit direktem speicherzugriff
DE102016204710A1 (de) Sichern und Wiederherstellen von Klondaten
DE4018505A1 (de) Mikrocomputersystem mit mikroprozessorruecksetzschaltung
DE102017006876A1 (de) Server, Verfahren, Programm, Aufzeichnungsmedium und System zur Wahrung der zeitlichen Genauigkeit
DE112011105672T5 (de) Verwaltung der Datennutzung einer Recheneinrichtung
DE60309569T2 (de) Vorrichtung und Verfahren für Zeitgeber-basierte Registrierung in einem Mobilfunk-Netz
EP0058752A1 (de) Verfahren und Anordnung zur fehlerfreien Synchronisation asynchroner Impulse
DE2801518A1 (de) Datenverarbeitungssystem mit speicher-schutzeinrichtung
DE102017123055B4 (de) Slave-Vorrichtung
DE19957594B4 (de) Verfahren zum Synchronisieren von threads eines Computerprogramms
DE69725899T2 (de) Verfahren zur Instandhaltung eines Netzwerks von teilweise replizierten Datenbanken
DE112018007928T5 (de) Zeitsynchronisationssystem, Zeitmaster, Verwaltungsmaster und Zeitsynchronisationsverfahren
EP0503717B1 (de) Einrichtung zur Erzeugung von Digitalsignalen
DE2360637A1 (de) Funktionsueberwachungssystem fuer eine rechenanlage

Legal Events

Date Code Title Description
8364 No opposition during term of opposition