DE60115616T2 - Verfahren zur optimierung der synchronisation zwischen einer datenbank eines clienten und einer server-datenbank - Google Patents

Verfahren zur optimierung der synchronisation zwischen einer datenbank eines clienten und einer server-datenbank Download PDF

Info

Publication number
DE60115616T2
DE60115616T2 DE60115616T DE60115616T DE60115616T2 DE 60115616 T2 DE60115616 T2 DE 60115616T2 DE 60115616 T DE60115616 T DE 60115616T DE 60115616 T DE60115616 T DE 60115616T DE 60115616 T2 DE60115616 T2 DE 60115616T2
Authority
DE
Germany
Prior art keywords
database
synchronization
client
server
time
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
DE60115616T
Other languages
English (en)
Other versions
DE60115616D1 (de
Inventor
Lars Novak
Jörgen BIRKLER
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
Publication of DE60115616D1 publication Critical patent/DE60115616D1/de
Application granted granted Critical
Publication of DE60115616T2 publication Critical patent/DE60115616T2/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/275Synchronous replication
    • 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

Description

  • VERWANDTE ANMELDUNGEN
  • Diese Anmeldung beansprucht Priorität von der gesamten Offenbarung der provisorischen US-Anmeldung Seriennummer 60/189,121, eingereicht am 14. März 2000, und bezieht sie hierin durch Verweis ein.
  • HINTERGRUND DER ERFINDUNG
  • Technisches Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf Datenbankwartung, und genauer auf die Synchronisation von Client- und Serverdatenbanken, die sich entfernt voneinander befinden.
  • Beschreibung vom Stand der Technik
  • Die Verbreitung von Netzen, und insbesondere von Weitbereichsnetzen, hat zu dem Umstand geführt, wo viele Versionen oder Kopien einer gleichen Datenbank in zwei getrennten Standorten existieren können, z.B. in einem Server und in einem Client innerhalb des Netzes. Unterschiede zwischen den Einträgen, die in einem Client und in einem Server innerhalb der gleichen Datenbank vorgenommen werden, erfordern periodische Aktualisierung von jeder der Version der Datenbank mit Bezug aufeinander um sicherzustellen, dass die gleiche Information innerhalb aller Versionen der Datenbank gespeichert ist. Dieser Prozess wird als Synchronisation bezeichnet und bezieht die Übertragung von Information zwischen jeder Ver sion der Datenbank ein, die die Änderungen anzeigt, die seit einer letzten Synchronisation durchgeführt wurden.
  • Während des Auftretens einer Synchronisationsprozedur zwischen einer Client- und Serverdatenbanken muss jede der Versionen der Datenbank gesperrt werden, um Benutzereingabe zu der Datenbank während des Synchronisationsprozesses zu verhindern. Dies geschieht wegen der Tatsache, dass wenn eine Datenbank während der Synchronisationsprozedur nicht gesperrt ist, es ein Risiko gibt, dass Modifikationen während des Synchronisationsprozesses durchgeführt werden können, die nicht erfasst werden und Diskrepanzen zwischen den angeblich synchronisierten Versionen der Datenbank schaffen. Dies begrenzt natürlich Zugriff zu einer Datenbank und kann verhindern, dass ein Benutzer gewünschte Operationen durchführt, falls der Benutzer versucht, die Datenbank während einer Synchronisationsprozedur zu kontaktieren. Somit wäre irgendeine Art und Weise zum Ermöglichen fortgesetzter Aktualisierung von Datenbanken während eines Synchronisationsprozesses der Datenbank äußerst wünschenswert.
  • Des weiteren erfordert der Synchronisationsprozess eine Zahl von Nachrichten, die zwischen der Clientversion der Datenbank und der Serverversion der Datenbank hin und her zu übertragen sind. Irgendeine Art und Weise zum Minimieren oder Optimieren der Zahl von Nachrichten, die zwischen den Datenbanken übertragen werden, würde ermöglichen, dass der Prozess auf eine schnellere Art und Weise auszuführen ist. Somit wird der Zeitaufwand für den Synchronisationsprozess minimiert, um Systemressourcen zu nutzen. Dies kann in Systemen sehr wichtig sein, wie etwa drahtlosen Übertragungssystemen, wo Funkverknüpfungsbandbreite erforderlich ist, um Synchronisations- nachrichten zwischen den Datenbanken zu übertragen.
  • WO 98/21648 offenbart eine Historiendatei, die Datensätze enthält, die den Inhalt von Datensätzen der Datenbanken zur Zeit eines vorherigen Synchronisationsprozesses widerspiegeln. Jede Datenbank hat eine entsprechende Historiendatei. Es wird ein Vergleich der Datenbank und der Historiendatei durchgeführt, um Datensätze zu identifizieren, die seit der vorherigen Synchronisation geändert wurden, und es werden nur geänderte Datensätze gelesen und zwischen den Datenbanken übertragen.
  • US 5926816 offenbart eine Datenbanksynchronisationseinrichtung zwischen einem Client und einem Server, die nicht eine kontinuierliche Verbindung zu einer gemeinsam genutzten Datenquelle unterhalten. Die Datenbanksynchronisationseinrichtung synchronisiert die Daten in einer zentralen Datenbank für einen bestimmten Client. Aktualisierungen werden nur transferiert, wenn eine Verbindung hergestellt ist.
  • US 5710922 offenbart eine Technik zum Synchronisieren von Daten zwischen zwei getrennten Computersystemen unter Verwendung eines eindeutigen Datensatzidentifikators und der Zeit, zu der der Datensatz zuletzt geändert wurde. Unter Verwendung der Zeit der letzten Synchronisation wird jeder ausgewählte Datensatz, der in einem der Computersysteme seit der letzten Synchronisation aktualisiert wurde, identifiziert und zu/aus dem anderen Computersystem hinzugefügt oder gelöscht. In dem Fall eines Konfliktes wird eine Synchronisationsliste erstellt, die entweder die Aktualisierungen priorisiert oder den Benutzer über die Konflikte informiert.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die vorliegende Erfindung überwindet die vorangehenden und andere Probleme mit einem Verfahren und einem System zum Synchronisieren einer ersten Datenbank, die sich innerhalb eines Clients befindet, mit einer zweiten Datenbank, die sich innerhalb eines Servers befindet. Bei Initiierung des Synchronisationsprozesses überträgt der Client eine erste Synchronisationsnachricht zu der zweiten Datenbank in dem Server. Die erste Synchronisationsnachricht enthält Abbildungsdatensätze von einem vorherigen Synchronisationsprozess der Datenbanken, UPDATES (AKTUALISIERUNGEN), die in der zweiten Datenbank durchzuführen sind, eine aktuelle Synchronisationszeit des vorliegenden Synchronisationsprozesses und eine Zeit für den letzten Synchronisationsprozess, wobei die Abbildungsdatensätze Abbildungen zwischen Serverdatensatzidentifikatoren und Clientdatensatzidentifikatoren enthalten.
  • Bei Empfang der ersten Synchronisationsnachricht in dem Server wird die zweite Datenbank reagierend auf die erste Synchronisationsnachricht aktualisiert. Der Server überträgt eine zweite Synchronisationsnachricht zu dem Client. Die zweite Synchronisationsnachricht enthält UPDATES, die in der Clientdatenbank durchzuführen sind, die RESULTATE der angeforderten Änderungen in der ersten Synchronisationsnachricht und die aktuelle Synchronisationszeit, die innerhalb der ersten Synchronisationsnachricht empfangen wird. Reagierend auf die zweite Synchronisationsnachricht aktualisiert der Client die ersten Datenbank reagierend auf beliebige UPDATES innerhalb der zweiten Synchronisationsnachricht und löscht die zuvor übertragenen Abbildungsdatensätze, sodass die Abbildungsdatensätze für den vorliegenden Synchronisationsprozess für eine Übertragung während eines nächsten Synchronisationsprozesses gespeichert werden können.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Ein vollständigeres Verständnis des Verfahrens und der Vorrichtung der vorliegenden Erfindung kann durch Verweis auf die folgende detaillierte Beschreibung erhalten werden, wenn in Verbindung mit den begleitenden Zeichnungen aufgenommen, worin:
  • 1 eine Veranschaulichung eines Synchronisationsprozesses vom Stand der Technik zwischen einer Client- und Serverdatenbanken ist;
  • 2 den verbesserten Synchronisationsprozess der vorliegenden Erfindung veranschaulicht;
  • 3 eine Veranschaulichung der ersten Synchronisationsnachricht ist; und
  • 4 eine Veranschaulichung der zweiten Synchronisationsnachricht ist.
  • DETAILLIERTE BESCHREIBUNG
  • Bezug nehmend nun auf die Zeichnungen, und genauer auf 1, wird ein Synchronisationsprozess vom Stand der Technik einer Datenbank zwischen einem Client 10 und einem Server 15 veranschaulicht. Während die folgende Beschreibung auf getrennte Datenbanken in dem Client 10 und Server 15 verweist, sollte erkannt werden, dass diese tatsächlich unterschiedliche Versionen der gleichen Datenbank sind. Zwei Einträge (Änderungen) 20 wurden in dem Client 10 seit dem letzten Synchronisationsprozess durchgeführt, und zwei Einträge (Änderungen) 25 wurden in dem Server 15 seit dem letzten Synchronisationsprozess durchgeführt. Somit müssen vier neue Einträge innerhalb der Datenbanken von sowohl dem Client 10 als auch dem Server 15 berücksichtigt werden. Der Synchronisationsprozess beginnt in 30 (Zeit 2). Während eines Synchronisationsprozesses sind die Datenbanken, die innerhalb des Clients 10 und des Servers 15 enthalten sind, derart ge sperrt, dass keine neuen Einträge an den Datenbanken durchgeführt werden können.
  • Anfangs muss der Client 10 in 35 beliebige Änderungen bestimmen, die an der Datenbank seit der letzten Synchronisationszeit durchgeführt wurden. Nachdem die Zahl von Änderungen seit der letzten Synchronisationszeit bestimmt wurde, überträgt der Client beliebige UPDATES 38 zu dem Server 15. Ein UPDATE 38 enthält eine Operation, z.B. hinzufügen, löschen, aktualisieren, entfernen, verschieben, kopieren etc.; einen Quellendatensatzidentifikator, der den Datensatz anzeigt, der ursprünglich in dem Client 10 geändert wurde; einen Zieldatensatzidentifikator, der den Datensatz innerhalb des Servers 15 anzeigt, der zu ändern ist; und Datensatzdaten, die die Daten umfassen, die zu ändern sind.
  • Bei Empfang des UPDATE 38 aktualisiert der Server 15 die angezeigten Datensätze, die von dem Client in 40 empfangen werden. Diese Prozedur besteht aus einer Verarbeitung der bereitgestellten Datensatzdaten auf die Art und Weise, die durch die Operation in dem Zieldatensatz angezeigt wird gemäß den bereitgestellten Datensatzdaten. Alle diese Information ist innerhalb des UPDATE 38 enthalten. Der Server 15 bestimmt in 50 die Zahl von Änderungen, die an der Datenbank seit der letzten Synchronisationszeit (Zeit 1) mit dem Client 10 durchgeführt wurden. In Zeit 3 wird eine zusätzliche Aktualisierung 55 in dem Client 10 versucht. Da die Datenbank in dieser Periode gesperrt ist, ist die Aktualisierung in dem Client nicht gestattet.
  • Nachdem der Server 15 die Änderungen 25 an der Datenbank seit der letzten Synchronisation mit dem Client 10 bestimmt hat, überträgt der Server Nachricht für UPDATES plus RESULTATE 60 zurück zu dem Client 10. Der UPDATE-Abschnitt besteht aus der gleichen Information, die zuvor beschrieben wird (d.h. Opera tion, einem Quellendatensatzidentifikator, einem Zieldatensatzidentifikator und Datensatzdaten). Der RESULTAT-Abschnitt enthält die Resultate der Operation, die in dem Server 15 durchgeführt wird, der auf die zuvor übertragene UPDATE-Nachricht reagiert hat, einen Quellendatensatzidentifikator für die ursprünglich angeforderte Änderung und den Zieldatensatzidentifikator für den geänderten Datensatz in dem Server.
  • Als Reaktion auf die Nachricht 60 von dem Server 15 führt der Client 10 die angeforderten Aktualisierungen 65 in Zeit 4 durch. Während des Aktualisierungsprozesses unterhält der Client 10 einen Abbildungsdatensatz der Abbildung zwischen den Serverdatensatzidentifikatoren und den Clientdatensatzidentifikatoren. Nachdem die Aktualisierungen in dem Server 15 und dem Client 10 abgeschlossen sind, werden diese Abbildungsdatensätze zu dem Server 15 als MAPITEMs (ABBILDUNGSELEMENTe) 70 übertragen. Ein MAPITEM besteht aus dem Serverdatensatzidentifikator, dem Clientdatensatzidentifikator und den Resultaten der Operationen, die ursprünglich durch den Client und den Server angefordert werden, und sind innerhalb einer Tabelle gespeichert. Als Reaktion auf die MAPITEMs 70 überträgt der Server 15 eine MAPITEM-Bestätigungsnachricht 75 zurück zu dem Client 10. Der Client löscht die MAPITEM-Datensätze aus seinem Speicher und setzt in 80 die letzte Synchronisationszeit zu Zeit 4. Dies schließt den Synchronisationsprozess ab.
  • Bezug nehmend nun auf 2 wird der Datenbanksynchronisationsprozess der vorliegenden Erfindung veranschaulicht, worin eine Datenbank nicht gesperrt werden muss. Dies ermöglicht, dass Aktualisierungen während des Synchronisationsprozesses durchgeführt werden und minimiert auch den Zeitaufwand, der notwendig ist, um den Synchronisationsprozess zu bewerkstelligen. Anfangs wird vermerkt, dass drei getrennte Synchronisationsprozesse in 2 in 85, 90 bzw. 95 veranschaulicht sind. Der vorherige Synchronisationsprozess der Datenbank hat zuletzt in 100 (Zeit 1) begonnen. Seit dieser Zeit sind vier zusätzliche Änderungen an der Datenbank aufgetreten. Zwei Änderungen 105 wurden in dem Client 10 durchgeführt und zwei zusätzliche Änderungen 110 wurden in dem Server 15 durchgeführt.
  • Zum Beginn des Synchronisationsprozesses bestimmt der Client 10 in 115 die Zahl von Änderungen, die an der Datenbank in dem Client seit dem letzten Synchronisationsprozess in Zeit 1 durchgeführt wurden. Der Client 10 bestimmt auch in 116 die Zahl von MAPITEM-Datensätzen von dem vorherigen Synchronisationsprozess, die zu dem Server 15 übertragen werden müssen. Der Client vergleicht die Änderungen 105, die seit dem letzten Synchronisationsprozess durchgeführt wurden, mit den gespeicherten MAPITEM-Datensätzen, um in 118 zu bestimmen, welche UPDATES zuvor an dem Server durchgeführt wurden und welche UPDATES in dem Server nicht durchgeführt wurden. Als Nächstes überträgt der Client 10 eine erste Synchronisationsnachricht 120 zu dem Server 15.
  • Bezug nehmend nun auch auf 3 enthält die erste Synchronisationsnachricht 120 die aktuelle Synchronisationszeit 125, die vorherige Synchronisationszeit 130, einen UPDATE-Abschnitt 135, der Aktualisierungen enthält, die durch den Server 15 durchzuführen sind, und die bestimmten MAPITEM-Datensätze 140 von dem vorherigen Synchronisationsprozess. Die aktuelle Synchronisationszeit 125 umfasst die Zeit, in der der vorliegende Synchronisationsprozess begonnen hat (Zeit 2). Die vorherige Synchronisationszeit 130 zeigt den Punkt an, in dem der vorherige Synchronisationsprozess begonnen hat (Zeit 1). Dies ermöglicht eine Bestimmung aller Änderungen an der Datenbank, die zwischen der vorherigen Synchronisationszeit 130 und der aktuellen Synchronisationszeit 125 durchgeführt wurden. Das UPDATE 135 enthält eine Operation, z.B. hinzufü gen, löschen, aktualisieren, entfernen, verschieben, kopieren etc.; einen Quellendatensatzidentifikator, der den Datensatz anzeigt, der ursprünglich geändert wurde; einen Zieldatensatzidentifikator, der den Datensatz innerhalb des Servers identifiziert, der zu ändern ist; und Datensatzdaten, die die zu ändernden Daten umfassen. Die MAPITEM-Datensätze 140 umfassen den Serverdatensatzidentifikator und den Clientdatensatzidentifikator für die Datensätze, die während des vorherigen Synchronisationsprozesses aktualisiert wurden, und die Resultate der Operation von dem vorherigen Synchronisationsprozess.
  • Bezug nehmend nun zurück auf 2 bestimmt, sobald der Server 15 die erste Synchronisationsnachricht 120 empfängt, der Server in 142, ob die aktuelle Synchronisationszeit 125, die innerhalb der ersten Synchronisationsnachricht 120 enthalten ist, nach der vorgesehenen letzten Synchronisationszeit 130 ist. Falls ja, aktualisiert der Server 15 in 144 eine Abbildungstabelle in dem Server unter Verwendung der empfangenen MAPITEM-Datensätze 140. Der Server 15 aktualisiert als Nächstes in 145 die Datensätze, die in dem UPDATE-Abschnitt 135 der Synchronisationsnachricht 120 angezeigt sind. Der Server speichert in 148 die empfangene aktuelle Synchronisationszeit 125 als die letzte Synchronisationszeit und bestimmt die Zahl von Änderungen, die in dem Server durchgeführt sind, in 150. Nach einer Bestimmung der Zahl von Änderungen überträgt der Server 15 eine zweite Synchronisationsnachricht 160 zurück zu dem Client 10. In Zeit 3 wird in dem Client 10 eine zusätzliche Änderung 155 durchgeführt. Da die Datenbank nicht gesperrt ist, kann die Änderung 155 an der Datenbank durchgeführt werden, und die Aktualisierung zu dem Server wird während des nächsten Synchronisationsprozesses 90 geschehen.
  • Bezug nehmend nun auch auf 4 wird die zweite Synchronisationsnachricht 160 veranschaulicht, die die aktuelle Syn chronisationszeit 165, die von dem Client 10 in der ersten Synchronisationsnachricht empfangen wird, und einen RESULTAT-Abschnitt 170, der die Resultate der Aktualisierungen enthält, die in dem Server durchgeführt werden, den Quellendatensatz, der ursprünglich in dem Client geändert wurde, und den Zieldatensatzidentifikator des Datensatzes, der in dem Server 15 geändert wird, enthält. Die zweite Synchronisationsnachricht 160 enthält ferner einen UPDATE-Abschnitt 175, der die Aktualisierungen identifiziert, die in dem Server durchgeführt sind, die in den entsprechenden Datensätzen des Clients durchzuführen sind. Der UPDATE-Abschnitt 175 enthält eine Operation, z.B. hinzufügen, löschen, aktualisieren, entfernen, verschieben, kopieren etc.; einen Quellendatensatzidentifikator, der den Datensatz anzeigt, der ursprünglich geändert wurde; einen Zieldatensatzidentifikator, der den Datensatz innerhalb des Clients identifiziert, der zu ändern ist; und Datensatzdaten, die die Daten umfassen, die zu ändern sind.
  • Bezug nehmend nun zurück auf 2 bestimmt der Client 10 in 168, ob die empfangene aktuelle Synchronisationszeit 15 nach der letzten Synchronisationszeit ist, und aktualisiert, falls ja, die letzte Synchronisationszeit zu der aktuellen Synchronisationszeit in 180. Der Client 10 führt die Aktualisierungen, die durch den UPDATE-Abschnitt 175 angezeigt werden, in 185 durch und speichert die neuen MAPITEM-Datensätze für den vorliegenden Synchronisationsprozess 85 in 190 an Stelle der MAPITEM-Datensätze, die von dem vorherigen Synchronisationsprozess gespeichert sind. Anders als die Verfahren vom Stand der Technik werden die MAPITEM-Datensätzen für den Synchronisationsprozess 85 innerhalb eines nächsten Synchronisationsprozesses 90 übertragen, an Stelle von innerhalb des vorliegenden Synchronisationsprozesses 85. Dies begrenzt die Zahl von Nachrichten, die während des Synchronisationsprozesses zu übertragen sind, und begrenzt erforderliche Bandbreite für den Prozess.
  • Der Synchronisationsprozess 90, der in Zeit 4 beginnt, geschieht im wesentlichen ähnlich zu dem oben beschriebenen Synchronisationsprozess 85. Der Client 10 bestimmt anfangs in 195 die Änderungen, die seit dem letzten Synchronisationsprozess 85, der in Zeit 2 beginnt, durchgeführt wurden. Es wird eine erste Synchronisationsnachricht 200 von dem Client 10 zu dem Server 15 übertragen, die die zuvor beschriebene Informationen enthält, die MAPITEM-Datensätze für den vorherigen Synchronisationsprozess 85. Der Server 15 wird mit dieser Information in 205 aktualisiert, und die empfangene aktuelle Synchronisationszeit und die RESULTATE der Aktualisierungen, die in der ersten Synchronisationsnachricht 200 angefordert sind, werden zu dem Client 10 von dem Server 15 in einer zweiten Synchronisationsnachricht 210 zurück übertragen. Es sollte vermerkt werden, dass die zweite Synchronisationsnachricht 210 einen UPDATE-Abschnitt 175 nicht enthält, da seit dem letzten Synchronisationsprozess 85 keine Änderungen an der Datenbank in dem Server 15 durchgeführt wurden. Der Client 10 bestätigt, dass die aktuelle Synchronisationszeit nach der letzten Synchronisationszeit ist, und setzt die letzte Synchronisationszeit gleich der aktuellen Synchronisationszeit in 212. Der Client 10 löscht als Nächstes die zuvor gespeicherten MAPITEM-Datensätze von dem vorherigen Synchronisationsprozess 85 und speichert die vorliegenden MAPITEM-Datensätze für den aktuellen Synchronisationsprozess 90 in 215. Während des dritten Synchronisationsprozesses 95, der in Zeit 5 beginnt, bestimmt der Client 10, dass seit der vorherigen Synchronisationszeit (Zeit 4) nur eine einzelne Änderung 205 durchgeführt wurde. Ein Vergleich in 225 dieser Änderung 205 mit den gespeicherten MAPITEM-Datensätzen zeigt jedoch, dass diese Änderungen alle einen Teil des vorherigen Synchronisationsprozesses 90 umfassen, und alle Änderungen bereits zu dem Server 15 durchgeführt wurden. Somit enthält die erste Synchronisationsnachricht 230, die von dem Client 10 zu dem Server 15 übertragen wird, nur die vorliegende Synchronisationszeit, die vorherige Synchronisationszeit und die MAPITEM-Datensätze 140 für den vorherigen Synchronisationsprozess 90. Der Server 15 bestimmt in 235, dass keine Aktualisierungen benötigt werden, sodass nur die vorliegende Synchronisationszeit zu dem Client 10 innerhalb der zweiten Synchronisationsnachricht 240 zurückgegeben wird. Als Reaktion auf die zweite Synchronisationsnachricht 240 bestimmt der Client 10, dass die empfangene Synchronisationszeit nach der letzten Synchronisationszeit ist und setzt in 245 die letzte Synchronisationszeit gleich der aktuellen Synchronisationszeit. Die zuvor übertragenen MAPITEM-Datensätze 140 für den vorherigen Synchronisationsprozess 90 werden dann in 246 gelöscht. Es sind keine weiteren MAPITEM-Datensätze gespeichert, da während des dritten Synchronisationsprozesses 95 keine Aktualisierungen durchgeführt wurden.
  • An Stelle einer Übertragung der vorliegenden Synchronisationszeit und der letzten Synchronisationszeit innerhalb der Synchronisationsnachrichten zwischen dem Client 10 und dem Server 15 kann ein Änderungszähler innerhalb der Synchronisationsnachrichten enthalten sein. Ein Änderungszähler ist ein Zähler innerhalb der Datenbanken, der sich für jede Änderung, die an der Datenbank durchgeführt wird, um eins erhöht. An Stelle einer Verfolgung von Synchronisationszeiten würde die Datenbank eine Zahl von Änderungen an einer Datenbank verfolgen, um der Datenbank zu ermöglichen, während des Synchronisationsprozesses geöffnet zu bleiben, wenn alle Änderungen (z.B.) von Änderung 0 zu Änderung 4 durchgeführt wurden.
  • Die vorliegende Erfindung sieht ein verbessertes Verfahren von Synchronisation zwischen einer Datenbank vor, die sich innerhalb sowohl eines Clients als auch eines Servers befin det, derart, dass die Datenbank während des Synchronisationsprozesses nicht gesperrt sein muss. Dies wird durch Übertragen von Information in Bezug auf die Anfangszeit des letzten Synchronisationsprozesses und die Anfangszeit des aktuellen Synchronisationsprozesses bewerkstelligt. Dies ermöglicht die Verfolgung beliebiger Änderungen an der Datenbank, die während des Synchronisationsprozesses durchgeführt werden. Des weiteren nutzt das beschriebene Verfahren weniger Kommunikationsbandbreite einer Verknüpfung zwischen dem Client und dem Server, da die MAPITEM-Datensätze während ihres eigenen Synchronisationsprozesses nicht getrennt übertragen werden, sondern beibehalten und während eines anschließenden Synchronisationsprozesses übertragen werden.
  • Die vorherige Beschreibung ist von einer bevorzugten Ausführungsform zum Implementieren der Erfindung, und der Bereich der Erfindung sollte nicht notwendigerweise durch diese Beschreibung begrenzt werden. Der Bereich der vorliegenden Erfindung wird stattdessen durch die folgenden Ansprüche definiert.

Claims (14)

  1. Verfahren zum Synchronisieren einer ersten Datenbank mit einer zweiten Datenbank, gekennzeichnet durch die Schritte: Übertragen einer ersten Synchronisationsnachricht (120) von der ersten Datenbank zu der zweiten Datenbank, die erste Synchronisationsnachricht (120) enthaltend Abbildungsdatensätze (140) von einem vorherigen Datenbanksynchronisationsprozess, Aktualisierungen (135) für die zweite Datenbank, eine aktuelle Synchronisationszeit (125) und eine letzte Synchronisationszeit (130), wobei die Abbildungsdatensätze (140) umfassen eine Tabelle von Abbildungen von Serverdatensatzidentifikatoren, Clientdatensatzidentifikatoren und die Ergebnisse von Operationen, die durch den Client und den Server angefordert werden; Aktualisieren der zweiten Datenbank reagierend auf die erste Synchronisationsnachricht (120); Übertragen einer zweiten Synchronisationsnachricht (160) von der zweiten Datenbank zu der ersten Datenbank, die zweite Synchronisationsnachricht (160) umfassend Aktualisierungen (175) für die erste Datenbank, Ergebnisse (180) von Aktualisierungen, die in der zweiten Datenbank durchgeführt werden reagierend auf die erste Synchronisationsnachricht (120) und die empfangene aktuelle Synchronisationszeit (165) von der ersten Synchronisationsnachricht (120); Aktualisieren der ersten Datenbank reagierend auf die zweite Synchronisationsnachricht (160); Speichern neuer Abbildungsdatensätze für einen gegenwärtigen Synchronisationsprozess für eine Übertragung während eines nächsten Synchronisationsprozesses.
  2. Verfahren nach Anspruch 1, wobei der Schritt zum Übertragen einer ersten Synchronisationsnachricht (120) ferner die Schritte umfasst: Bestimmen einer Zahl von Änderungen seit der letzten Synchronisationszeit; Bestimmen, welche von mindestens einem gespeicherten Abbildungsdatensatz als die Abbildungsdatensätze von dem vorherigen Synchronisationsprozess zu senden sind; und Vergleichen der bestimmten Zahl von Änderungen mit dem bestimmten mindestens einen gespeicherten Abbildungsdatensatz, um die Aktualisierungen für die zweite Datenbank zu bestimmen.
  3. Verfahren nach Anspruch 1, wobei der Schritt zum Aktualisieren der zweiten Datenbank ferner die Schritte umfasst: Bestätigen, dass die empfangene aktuelle Synchronisationszeit nach der empfangenen letzten Synchronisationszeit ist; Aktualisieren einer Abbildungstabelle reagierend auf die empfangenen Abbildungsdatensätze (140); und Aktualisieren von Datensätzen der zweiten Datenbank reagierend auf die Aktualisierungen für die zweite Datenbank in der ersten Synchronisationsnachricht (120).
  4. Verfahren nach Anspruch 3, wobei der Schritt zum Aktualisieren ferner den Schritt zum Speichern der aktuellen Synchronisationszeit als die letzte Synchronisationszeit in der zweiten Datenbank umfasst.
  5. Verfahren nach Anspruch 1, wobei der Schritt zum Aktualisieren der ersten Datenbank ferner den Schritt zum Aktualisieren von Datensätzen der ersten Datenbank reagierend auf die Aktualisierungen (175) für die erste Datenbank in der zweiten Synchronisationsnachricht (160) umfasst.
  6. Verfahren nach Anspruch 5, wobei der Schritt zum Aktualisieren der ersten Datenbank ferner Aktualisieren einer letzten Synchronisationszeit reagierend auf die zweite Synchronisationsnachricht (160) umfasst.
  7. Verfahren nach Anspruch 1, wobei der Schritt zum Speichern neuer Abbildungsdatensätze ferner die Schritte zum Entfernen der Abbildungsdatensätze umfasst, die innerhalb der ersten Synchronisationsnachricht (120) enthalten sind.
  8. System zum Erreichen von Synchronisation zwischen einer ersten Datenbank und einer zweiten Datenbank, gekennzeichnet dadurch, dass das System umfasst: einen Client (10), der mit der ersten Datenbank in Verbindung steht, und einen Server (15), der mit der zweiten Datenbank in Verbindung steht, der Client (10) konfiguriert: eine erste Synchronisationsnachricht (120) von der ersten Datenbank zu der zweiten Datenbank zu übertragen, die erste Synchronisationsnachricht (120) enthaltend Abbildungsdatensätze (140) von einem vorherigen Datenbanksynchronisationsprozess, Aktualisierungen (135) für die zweite Datenbank, eine aktuelle Synchronisationszeit (125) und eine letzte Synchronisationszeit (130), wobei die Abbildungsdatensätze umfassen eine Tabelle von Abbildungen von Serverdatensatzidentifikatoren, Clientdatensatzidentifikatoren und die Ergebnisse von Operationen, die durch den Client und den Server angefordert werden; neue Abbildungsdatensätze für eine Übertragung während eines nächsten Synchronisationsprozesses reagierend auf eine zweite Synchronisationsnachricht (160) zu speichern; die erste Datenbank als Reaktion auf die zweite Synchronisationsnachricht (160) zu aktualisieren; der Server (15) konfiguriert ist: die zweite Datenbank reagierend auf die erste Synchronisationsnachricht (120) zu aktualisieren; die zweite Synchronisationsnachricht (160) von der zweiten Datenbank zu der ersten Datenbank zu übertragen, die zweite Synchronisationsnachricht (160) umfassend Aktualisierungen (175) für die erste Datenbank, Ergebnisse (180) von Aktualisierungen, durchgeführt in der zweiten Datenbank reagierend auf die erste Synchronisationsnachricht (120) und die empfangene aktuelle Synchronisationszeit (165) von der ersten Synchronisationsnachricht (120).
  9. System nach Anspruch 8, wobei der Client (10) ferner konfiguriert ist: eine Zahl von Änderungen seit der letzten Synchronisationszeit zu bestimmen; zu bestimmen, welche von mindestens einem gespeicherten Abbildungsdatensatz als die Abbildungsdatensätze von dem vorherigen Synchronisationsprozess zu senden sind; und die bestimmten Zahl von Änderungen mit den bestimmten Abbildungsdatensätzen zu vergleichen, um die Aktualisierungen für die zweite Datenbank zu bestimmen.
  10. System nach Anspruch 8, wobei der Server (15) ferner konfiguriert ist: zu bestätigen, dass die empfangene aktuelle Synchronisationszeit nach der empfangenen letzten Synchronisationszeit ist; eine Abbildungstabelle reagierend auf die empfangenen Abbildungsdatensätze zu aktualisieren; und Datensätze der zweiten Datenbank reagierend auf die Aktualisierungen für die zweite Datenbank in der ersten Synchronisationsnachricht zu aktualisieren.
  11. System nach Anspruch 8, wobei der Server (15) ferner konfiguriert ist, die aktuelle Synchronisationszeit als die letzte Synchronisationszeit in der zweiten Datenbank zu speichern.
  12. System nach Anspruch 11, wobei der Client ferner konfiguriert ist zu bestimmen, dass die empfangene aktuelle Zeit nach der letzten Synchronisationszeit ist.
  13. System nach Anspruch 8, wobei der Server ferner konfiguriert ist, Datensätze der ersten Datenbank reagierend auf die Aktualisierungen für die erste Datenbank in der zweiten Synchronisationsnachricht zu aktualisieren.
  14. System nach Anspruch 8, wobei der Server ferner konfiguriert ist, die Abbildungsdatensätze zu entfernen, die innerhalb der ersten Synchronisationsnachricht enthalten sind.
DE60115616T 2000-03-14 2001-03-13 Verfahren zur optimierung der synchronisation zwischen einer datenbank eines clienten und einer server-datenbank Expired - Lifetime DE60115616T2 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US18912100P 2000-03-14 2000-03-14
US189121P 2000-03-14
US637035 2000-08-10
US09/637,035 US6643669B1 (en) 2000-03-14 2000-08-10 Method for optimization of synchronization between a client's database and a server database
PCT/EP2001/002765 WO2001069435A2 (en) 2000-03-14 2001-03-13 Method for optimization of synchronization between a client's database and a server database

Publications (2)

Publication Number Publication Date
DE60115616D1 DE60115616D1 (de) 2006-01-12
DE60115616T2 true DE60115616T2 (de) 2006-06-22

Family

ID=26884806

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60115616T Expired - Lifetime DE60115616T2 (de) 2000-03-14 2001-03-13 Verfahren zur optimierung der synchronisation zwischen einer datenbank eines clienten und einer server-datenbank

Country Status (8)

Country Link
US (1) US6643669B1 (de)
EP (1) EP1266309B1 (de)
JP (1) JP4732661B2 (de)
AT (1) ATE312380T1 (de)
AU (1) AU2001244202A1 (de)
DE (1) DE60115616T2 (de)
MY (1) MY125993A (de)
WO (1) WO2001069435A2 (de)

Families Citing this family (201)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7020704B1 (en) * 1999-10-05 2006-03-28 Lipscomb Kenneth O System and method for distributing media assets to user devices via a portal synchronized by said user devices
WO2001025948A1 (en) * 1999-10-05 2001-04-12 Zapmedia, Inc. System and method for distributing media assets to user devices and managing user rights of the media assets
US6643669B1 (en) 2000-03-14 2003-11-04 Telefonaktiebolaget Lm Ericsson (Publ) Method for optimization of synchronization between a client's database and a server database
US9736209B2 (en) 2000-03-17 2017-08-15 Facebook, Inc. State change alerts mechanism
US7624172B1 (en) 2000-03-17 2009-11-24 Aol Llc State change alerts mechanism
US6785868B1 (en) 2000-05-31 2004-08-31 Palm Source, Inc. Method and apparatus for managing calendar information from a shared database and managing calendar information from multiple users
US7113963B1 (en) * 2000-11-10 2006-09-26 Palmsource, Inc. Optimized database technique to enable faster data synchronization
FI113129B (fi) * 2001-03-26 2004-02-27 Nokia Corp Sovellusdatan synkronointi tietoliikennejärjestelmässä
US7092699B1 (en) * 2001-04-11 2006-08-15 Verizon Laboratories Inc. Seamless wireless phone access service
US6839564B2 (en) 2001-04-25 2005-01-04 Nokia Corporation Synchronization of database data
US7032003B1 (en) * 2001-08-13 2006-04-18 Union Gold Holdings, Ltd. Hybrid replication scheme with data and actions for wireless devices
US7349700B1 (en) 2001-08-30 2008-03-25 Aol Llc Communication system and method
KR100970122B1 (ko) * 2001-11-01 2010-07-13 베리사인 인코포레이티드 고속 논-콘커런시 제어된 데이터베이스
US6889333B2 (en) * 2001-11-01 2005-05-03 Microsoft Corporation System and method for replicating data in a distributed system
GB2384404B (en) * 2002-01-18 2005-02-16 Sun Microsystems Inc Key management
US6658091B1 (en) 2002-02-01 2003-12-02 @Security Broadband Corp. LIfestyle multimedia security system
US7346616B2 (en) * 2002-03-20 2008-03-18 Extended System, Inc. Synchronizing data shared between two devices independent of any other devices that may also share the data
US7814053B1 (en) * 2002-05-02 2010-10-12 Access Systems Americas, Inc. Synchronization of computer databases using caching agents
US7299285B2 (en) * 2002-05-15 2007-11-20 Adc Dsl Systems, Inc. Resource sharing with database synchronization
US7031973B2 (en) * 2002-06-10 2006-04-18 Microsoft Corporation Accounting for references between a client and server that use disparate e-mail storage formats
US7428544B1 (en) * 2002-06-10 2008-09-23 Microsoft Corporation Systems and methods for mapping e-mail records between a client and server that use disparate storage formats
US20030236842A1 (en) * 2002-06-21 2003-12-25 Krishnamurti Natarajan E-mail address system and method for use between disparate client/server environments
CA2406079C (en) * 2002-09-30 2010-03-30 Ibm Canada Limited-Ibm Canada Limitee System and method for synchronizing data repositories
US20040139235A1 (en) * 2002-11-01 2004-07-15 Gus Rashid Local intelligence, cache-ing and synchronization process
US7899862B2 (en) 2002-11-18 2011-03-01 Aol Inc. Dynamic identification of other users to an online user
US8701014B1 (en) 2002-11-18 2014-04-15 Facebook, Inc. Account linking
US7590696B1 (en) 2002-11-18 2009-09-15 Aol Llc Enhanced buddy list using mobile device identifiers
US7640306B2 (en) 2002-11-18 2009-12-29 Aol Llc Reconfiguring an electronic message to effect an enhanced notification
US8005919B2 (en) 2002-11-18 2011-08-23 Aol Inc. Host-based intelligent results related to a character stream
US7428580B2 (en) 2003-11-26 2008-09-23 Aol Llc Electronic message forwarding
CA2506585A1 (en) 2002-11-18 2004-06-03 Valerie Kucharewski People lists
US8122137B2 (en) 2002-11-18 2012-02-21 Aol Inc. Dynamic location of a subordinate user
US8965964B1 (en) 2002-11-18 2015-02-24 Facebook, Inc. Managing forwarded electronic messages
US7093246B2 (en) * 2002-12-20 2006-08-15 International Business Machines Corporation Automated updates of software and systems
US7613797B2 (en) * 2003-03-19 2009-11-03 Unisys Corporation Remote discovery and system architecture
US20040205127A1 (en) 2003-03-26 2004-10-14 Roy Ben-Yoseph Identifying and using identities deemed to be known to a user
US7653693B2 (en) 2003-09-05 2010-01-26 Aol Llc Method and system for capturing instant messages
EP1564653B1 (de) * 2004-02-10 2009-05-13 Research In Motion Limited Vorrichtung und zugeordnetes Verfahren zur Sperrung und Identifizierung einer Änderungsliste, die entsprechend von Datenbanksynchronisierungsabläufen in einem Funkkommunikationssystem verwendet wird
KR100547896B1 (ko) * 2004-03-05 2006-01-31 삼성전자주식회사 데이터 동기화 시스템 및 서버와 클라이언트의 데이터동기화 방법
US10200504B2 (en) 2007-06-12 2019-02-05 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US9609003B1 (en) 2007-06-12 2017-03-28 Icontrol Networks, Inc. Generating risk profile using data of home monitoring and security system
US11159484B2 (en) 2004-03-16 2021-10-26 Icontrol Networks, Inc. Forming a security network including integrated security system components and network devices
US11113950B2 (en) 2005-03-16 2021-09-07 Icontrol Networks, Inc. Gateway integrated with premises security system
US9729342B2 (en) 2010-12-20 2017-08-08 Icontrol Networks, Inc. Defining and implementing sensor triggered response rules
US8612591B2 (en) 2005-03-16 2013-12-17 Icontrol Networks, Inc. Security system with networked touchscreen
US10522026B2 (en) 2008-08-11 2019-12-31 Icontrol Networks, Inc. Automation system user interface with three-dimensional display
US10339791B2 (en) 2007-06-12 2019-07-02 Icontrol Networks, Inc. Security network integrated with premise security system
US11368429B2 (en) 2004-03-16 2022-06-21 Icontrol Networks, Inc. Premises management configuration and control
US11489812B2 (en) 2004-03-16 2022-11-01 Icontrol Networks, Inc. Forming a security network including integrated security system components and network devices
JP2007529826A (ja) 2004-03-16 2007-10-25 アイコントロール ネットワークス, インコーポレイテッド 対象事項管理ネットワーク
US11916870B2 (en) 2004-03-16 2024-02-27 Icontrol Networks, Inc. Gateway registry methods and systems
US8963713B2 (en) 2005-03-16 2015-02-24 Icontrol Networks, Inc. Integrated security network with security alarm signaling system
US9141276B2 (en) 2005-03-16 2015-09-22 Icontrol Networks, Inc. Integrated interface for mobile device
US10127802B2 (en) 2010-09-28 2018-11-13 Icontrol Networks, Inc. Integrated security system with parallel processing architecture
US9172553B2 (en) 2005-03-16 2015-10-27 Icontrol Networks, Inc. Security system with networked touchscreen and gateway
US11316958B2 (en) 2008-08-11 2022-04-26 Icontrol Networks, Inc. Virtual device systems and methods
US10156959B2 (en) 2005-03-16 2018-12-18 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
US10444964B2 (en) 2007-06-12 2019-10-15 Icontrol Networks, Inc. Control system user interface
US10348575B2 (en) 2013-06-27 2019-07-09 Icontrol Networks, Inc. Control system user interface
US7911341B2 (en) * 2007-01-24 2011-03-22 Icontrol Networks Inc. Method for defining and implementing alarm/notification by exception
US10375253B2 (en) 2008-08-25 2019-08-06 Icontrol Networks, Inc. Security system with networked touchscreen and gateway
US20090077623A1 (en) 2005-03-16 2009-03-19 Marc Baum Security Network Integrating Security System and Network Devices
US8635350B2 (en) 2006-06-12 2014-01-21 Icontrol Networks, Inc. IP device discovery systems and methods
US7711796B2 (en) * 2006-06-12 2010-05-04 Icontrol Networks, Inc. Gateway registry methods and systems
US11811845B2 (en) 2004-03-16 2023-11-07 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US11677577B2 (en) 2004-03-16 2023-06-13 Icontrol Networks, Inc. Premises system management using status signal
US11582065B2 (en) 2007-06-12 2023-02-14 Icontrol Networks, Inc. Systems and methods for device communication
US10142392B2 (en) * 2007-01-24 2018-11-27 Icontrol Networks, Inc. Methods and systems for improved system performance
US20170118037A1 (en) 2008-08-11 2017-04-27 Icontrol Networks, Inc. Integrated cloud system for premises automation
US8996665B2 (en) 2005-03-16 2015-03-31 Icontrol Networks, Inc. Takeover processes in security network integrated with premise security system
US10382452B1 (en) 2007-06-12 2019-08-13 Icontrol Networks, Inc. Communication protocols in integrated systems
US8988221B2 (en) 2005-03-16 2015-03-24 Icontrol Networks, Inc. Integrated security system with parallel processing architecture
US9191228B2 (en) 2005-03-16 2015-11-17 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
US11277465B2 (en) 2004-03-16 2022-03-15 Icontrol Networks, Inc. Generating risk profile using data of home monitoring and security system
US11343380B2 (en) 2004-03-16 2022-05-24 Icontrol Networks, Inc. Premises system automation
US11201755B2 (en) 2004-03-16 2021-12-14 Icontrol Networks, Inc. Premises system management using status signal
US10313303B2 (en) 2007-06-12 2019-06-04 Icontrol Networks, Inc. Forming a security network including integrated security system components and network devices
US9531593B2 (en) 2007-06-12 2016-12-27 Icontrol Networks, Inc. Takeover processes in security network integrated with premise security system
US10721087B2 (en) 2005-03-16 2020-07-21 Icontrol Networks, Inc. Method for networked touchscreen with integrated interfaces
US8473619B2 (en) 2005-03-16 2013-06-25 Icontrol Networks, Inc. Security network integrated with premise security system
US10237237B2 (en) 2007-06-12 2019-03-19 Icontrol Networks, Inc. Communication protocols in integrated systems
US11244545B2 (en) 2004-03-16 2022-02-08 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
WO2005116979A2 (en) 2004-05-17 2005-12-08 Visible Path Corporation System and method for enforcing privacy in social networks
KR101128921B1 (ko) 2004-07-09 2012-03-27 테직 커뮤니케이션 인코포레이티드 다의적 문자의 명확화
WO2006015238A2 (en) 2004-07-28 2006-02-09 Visible Path Corporation System and method for using social networks to facilitate business processes
US7702669B2 (en) * 2004-09-02 2010-04-20 Ringcentral, Inc. Synchronization in unified messaging systems
US20060059128A1 (en) * 2004-09-16 2006-03-16 Ruggle Matthew J Digital content licensing toolbar
US7395280B2 (en) * 2004-11-10 2008-07-01 International Business Machines Corporation Incrementally sychronizing occasionally-connected mobile databases, preserving horizontal filter scope consistency by using client pre-image
US9002949B2 (en) 2004-12-01 2015-04-07 Google Inc. Automatically enabling the forwarding of instant messages
US20060168204A1 (en) * 2004-12-01 2006-07-27 Barry Appelman Mobile blocking indicators on a contact list
US7730143B1 (en) 2004-12-01 2010-06-01 Aol Inc. Prohibiting mobile forwarding
US8060566B2 (en) 2004-12-01 2011-11-15 Aol Inc. Automatically enabling the forwarding of instant messages
US7634519B2 (en) 2004-12-17 2009-12-15 International Business Machines Corporation Bypassing an intermediate synchronization server of a three tiered synchronization system
ATE384389T1 (de) * 2005-01-31 2008-02-15 Research In Motion Ltd Synchronisation von server- und geräte-daten unter benutzung von geräte-daten-schemata
US7317907B2 (en) 2005-01-31 2008-01-08 Research In Motion Limited Synchronizing server and device data using device data schema
US20060190501A1 (en) * 2005-02-18 2006-08-24 Sandy Massironi System supporting data repository compatibility
US20120324566A1 (en) 2005-03-16 2012-12-20 Marc Baum Takeover Processes In Security Network Integrated With Premise Security System
US9306809B2 (en) 2007-06-12 2016-04-05 Icontrol Networks, Inc. Security system with networked touchscreen
US8825871B2 (en) 2005-03-16 2014-09-02 Icontrol Networks, Inc. Controlling data routing among networks
US9450776B2 (en) 2005-03-16 2016-09-20 Icontrol Networks, Inc. Forming a security network including integrated security system components
US8819178B2 (en) 2005-03-16 2014-08-26 Icontrol Networks, Inc. Controlling data routing in integrated security systems
US9059863B2 (en) * 2005-03-16 2015-06-16 Icontrol Networks, Inc. Method for data routing in networks
US11615697B2 (en) 2005-03-16 2023-03-28 Icontrol Networks, Inc. Premise management systems and methods
US20110128378A1 (en) 2005-03-16 2011-06-02 Reza Raji Modular Electronic Display Platform
US11496568B2 (en) 2005-03-16 2022-11-08 Icontrol Networks, Inc. Security system with networked touchscreen
US20170180198A1 (en) 2008-08-11 2017-06-22 Marc Baum Forming a security network including integrated security system components
US11700142B2 (en) 2005-03-16 2023-07-11 Icontrol Networks, Inc. Security network integrating security system and network devices
US8713132B2 (en) 2005-03-16 2014-04-29 Icontrol Networks, Inc. Device for data routing in networks
US10999254B2 (en) 2005-03-16 2021-05-04 Icontrol Networks, Inc. System for data routing in networks
WO2006108104A2 (en) * 2005-04-05 2006-10-12 Cohen Alexander J Multi-media search, discovery, submission and distribution control infrastructure
US7962504B1 (en) 2005-05-26 2011-06-14 Aol Inc. Sourcing terms into a search engine
US7890508B2 (en) * 2005-08-19 2011-02-15 Microsoft Corporation Database fragment cloning and management
AU2006297023B2 (en) * 2005-09-29 2010-09-09 Blackberry Limited Efficient database synchronization by comparing representative information
US8005879B2 (en) * 2005-11-21 2011-08-23 Sap Ag Service-to-device re-mapping for smart items
US20070118496A1 (en) * 2005-11-21 2007-05-24 Christof Bornhoevd Service-to-device mapping for smart items
US7860968B2 (en) * 2005-11-21 2010-12-28 Sap Ag Hierarchical, multi-tiered mapping and monitoring architecture for smart items
US8156208B2 (en) 2005-11-21 2012-04-10 Sap Ag Hierarchical, multi-tiered mapping and monitoring architecture for service-to-device re-mapping for smart items
WO2007136423A2 (en) * 2005-12-30 2007-11-29 Bmo Llc Digital content delivery via virtual private network(vpn) incorporating secured set-top devices
US8522341B2 (en) * 2006-03-31 2013-08-27 Sap Ag Active intervention in service-to-device mapping for smart items
US7818740B2 (en) * 2006-05-05 2010-10-19 Microsoft Corporation Techniques to perform gradual upgrades
US9549025B2 (en) * 2006-05-09 2017-01-17 International Business Machines Corporation Protocol optimization for client and server synchronization
US7792792B2 (en) * 2006-05-22 2010-09-07 Microsoft Corporation Synchronizing structured web site contents
US8296413B2 (en) * 2006-05-31 2012-10-23 Sap Ag Device registration in a hierarchical monitor service
US8131838B2 (en) 2006-05-31 2012-03-06 Sap Ag Modular monitor service for smart item monitoring
US8065411B2 (en) * 2006-05-31 2011-11-22 Sap Ag System monitor for networks of nodes
US7509350B2 (en) * 2006-06-01 2009-03-24 Research In Motion Limited Method and apparatus for synchronizing of databases
EP1862915B1 (de) * 2006-06-01 2008-09-03 Research In Motion Limited Verfahren und Vorrichtung zur Synchronisierung von Datenbanken
US10079839B1 (en) 2007-06-12 2018-09-18 Icontrol Networks, Inc. Activation of gateway device
JP5103807B2 (ja) * 2006-06-30 2012-12-19 富士通株式会社 制御プログラム、制御方法、情報処理装置及び情報処理システム
US8396788B2 (en) * 2006-07-31 2013-03-12 Sap Ag Cost-based deployment of components in smart item environments
US20080104206A1 (en) * 2006-10-31 2008-05-01 Microsoft Corporation Efficient knowledge representation in data synchronization systems
US20080103977A1 (en) * 2006-10-31 2008-05-01 Microsoft Corporation Digital rights management for distributed devices
US20080162728A1 (en) * 2007-01-03 2008-07-03 Microsoft Corporation Synchronization protocol for loosely coupled devices
US7805403B2 (en) 2007-01-07 2010-09-28 Apple Inc. Synchronization methods and systems
US20080281718A1 (en) * 2007-01-08 2008-11-13 Barrett Morgan Household network incorporating secure set-top devices
US11706279B2 (en) 2007-01-24 2023-07-18 Icontrol Networks, Inc. Methods and systems for data communication
US7899917B2 (en) * 2007-02-01 2011-03-01 Microsoft Corporation Synchronization framework for occasionally connected applications
US7620659B2 (en) * 2007-02-09 2009-11-17 Microsoft Corporation Efficient knowledge representation in data synchronization systems
US7633385B2 (en) 2007-02-28 2009-12-15 Ucontrol, Inc. Method and system for communicating with and controlling an alarm system from a remote server
US8451986B2 (en) 2007-04-23 2013-05-28 Icontrol Networks, Inc. Method and system for automatically providing alternate network access for telecommunications
US10523689B2 (en) 2007-06-12 2019-12-31 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US10666523B2 (en) 2007-06-12 2020-05-26 Icontrol Networks, Inc. Communication protocols in integrated systems
US11316753B2 (en) 2007-06-12 2022-04-26 Icontrol Networks, Inc. Communication protocols in integrated systems
US11218878B2 (en) 2007-06-12 2022-01-04 Icontrol Networks, Inc. Communication protocols in integrated systems
US11646907B2 (en) 2007-06-12 2023-05-09 Icontrol Networks, Inc. Communication protocols in integrated systems
US11089122B2 (en) 2007-06-12 2021-08-10 Icontrol Networks, Inc. Controlling data routing among networks
US11237714B2 (en) 2007-06-12 2022-02-01 Control Networks, Inc. Control system user interface
US11601810B2 (en) 2007-06-12 2023-03-07 Icontrol Networks, Inc. Communication protocols in integrated systems
US10498830B2 (en) 2007-06-12 2019-12-03 Icontrol Networks, Inc. Wi-Fi-to-serial encapsulation in systems
US10389736B2 (en) 2007-06-12 2019-08-20 Icontrol Networks, Inc. Communication protocols in integrated systems
US10616075B2 (en) 2007-06-12 2020-04-07 Icontrol Networks, Inc. Communication protocols in integrated systems
US10423309B2 (en) 2007-06-12 2019-09-24 Icontrol Networks, Inc. Device integration framework
US10051078B2 (en) 2007-06-12 2018-08-14 Icontrol Networks, Inc. WiFi-to-serial encapsulation in systems
US11212192B2 (en) 2007-06-12 2021-12-28 Icontrol Networks, Inc. Communication protocols in integrated systems
US11423756B2 (en) 2007-06-12 2022-08-23 Icontrol Networks, Inc. Communication protocols in integrated systems
US11831462B2 (en) 2007-08-24 2023-11-28 Icontrol Networks, Inc. Controlling data routing in premises management systems
US8527622B2 (en) * 2007-10-12 2013-09-03 Sap Ag Fault tolerance framework for networks of nodes
US8443359B2 (en) * 2007-11-06 2013-05-14 International Business Machines Corporation Method and system for providing a filter for a router
US11916928B2 (en) 2008-01-24 2024-02-27 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
JP2009211348A (ja) * 2008-03-04 2009-09-17 Nec Corp 管理システム
US8700301B2 (en) 2008-06-19 2014-04-15 Microsoft Corporation Mobile computing devices, architecture and user interfaces based on dynamic direction information
US9200901B2 (en) 2008-06-19 2015-12-01 Microsoft Technology Licensing, Llc Predictive services for devices supporting dynamic direction information
US8467991B2 (en) 2008-06-20 2013-06-18 Microsoft Corporation Data services based on gesture and location information of device
US20170185278A1 (en) 2008-08-11 2017-06-29 Icontrol Networks, Inc. Automation system user interface
US10530839B2 (en) 2008-08-11 2020-01-07 Icontrol Networks, Inc. Integrated cloud system with lightweight gateway for premises automation
US11792036B2 (en) 2008-08-11 2023-10-17 Icontrol Networks, Inc. Mobile premises automation platform
US11258625B2 (en) 2008-08-11 2022-02-22 Icontrol Networks, Inc. Mobile premises automation platform
US11758026B2 (en) 2008-08-11 2023-09-12 Icontrol Networks, Inc. Virtual device systems and methods
US11729255B2 (en) 2008-08-11 2023-08-15 Icontrol Networks, Inc. Integrated cloud system with lightweight gateway for premises automation
US9628440B2 (en) 2008-11-12 2017-04-18 Icontrol Networks, Inc. Takeover processes in security network integrated with premise security system
US8700072B2 (en) 2008-12-23 2014-04-15 At&T Mobility Ii Llc Scalable message fidelity
US8638211B2 (en) 2009-04-30 2014-01-28 Icontrol Networks, Inc. Configurable controller and interface for home SMA, phone and multimedia
US20100293143A1 (en) * 2009-05-13 2010-11-18 Microsoft Corporation Initialization of database for synchronization
US8872767B2 (en) 2009-07-07 2014-10-28 Microsoft Corporation System and method for converting gestures into digital graffiti
US8918380B2 (en) 2009-07-09 2014-12-23 Norsync Technology As Methods, systems and devices for performing incremental updates of partial databases
WO2011134496A1 (en) * 2010-04-27 2011-11-03 Nokia Siemens Networks Oy Updating of network selection information
WO2011137458A1 (en) 2010-04-30 2011-11-03 Icontrol Networks, Inc. Power and data solution for remote low-power devices
AU2011250886A1 (en) 2010-05-10 2013-01-10 Icontrol Networks, Inc Control system user interface
US8386423B2 (en) * 2010-05-28 2013-02-26 Microsoft Corporation Scalable policy-based database synchronization of scopes
US8836467B1 (en) 2010-09-28 2014-09-16 Icontrol Networks, Inc. Method, system and apparatus for automated reporting of account and sensor zone information to a central station
US8332433B2 (en) 2010-10-18 2012-12-11 Verisign, Inc. Database synchronization and validation
US11750414B2 (en) 2010-12-16 2023-09-05 Icontrol Networks, Inc. Bidirectional security sensor communication for a premises security system
US9147337B2 (en) 2010-12-17 2015-09-29 Icontrol Networks, Inc. Method and system for logging security event data
CN103999105B (zh) * 2012-02-09 2018-02-16 Varonis系统有限公司 用于确保企业协作的方法和设备
US9614932B2 (en) 2013-03-14 2017-04-04 Microsoft Technology Licensing, Llc Managing and implementing web application data snapshots
US9928975B1 (en) 2013-03-14 2018-03-27 Icontrol Networks, Inc. Three-way switch
US9867143B1 (en) 2013-03-15 2018-01-09 Icontrol Networks, Inc. Adaptive Power Modulation
US9287727B1 (en) 2013-03-15 2016-03-15 Icontrol Networks, Inc. Temporal voltage adaptive lithium battery charger
EP3031206B1 (de) 2013-08-09 2020-01-22 ICN Acquisition, LLC Fernüberwachungssystem, -verfahren und -vorrichtung
US11146637B2 (en) 2014-03-03 2021-10-12 Icontrol Networks, Inc. Media content management
US11405463B2 (en) 2014-03-03 2022-08-02 Icontrol Networks, Inc. Media content management
US10353920B2 (en) * 2015-10-23 2019-07-16 Oracle International Corporation Efficient mirror data re-sync
GB2561722B (en) * 2015-10-23 2021-10-20 Kodiak Networks Inc System and method for content messaging
US9973891B2 (en) 2015-10-23 2018-05-15 Kodiak Networks Inc. System and method for geofencing
CN106940706B (zh) * 2016-01-05 2023-03-10 施耐德电气美国股份有限公司 创建并管理客户环境中的地理空间网络模型的系统和方法
US10979311B2 (en) 2016-01-05 2021-04-13 Schneider Electric USA, Inc. System and method for validating network configuration changes in a client environment
US11627199B2 (en) 2016-01-05 2023-04-11 Schneider Electric USA, Inc. System and methods for creating a geospatial network model in a client environment
US11017131B2 (en) 2016-01-19 2021-05-25 Schneider Electric USA, Inc. System and methods for optimizing distribution network designs in real-time
US11055651B2 (en) 2018-12-13 2021-07-06 Schneider Electric USA, Inc. Systems and methods for visualization of flow direction in a distribution network
CN110795443A (zh) * 2019-10-08 2020-02-14 中国建设银行股份有限公司 数据同步的方法、装置、设备和计算机可读介质
US11671278B2 (en) * 2021-09-02 2023-06-06 Rivian Ip Holdings, Llc Automotive embedded system timekeeping

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3503957B2 (ja) 1992-11-25 2004-03-08 富士通株式会社 遠隔データベースの制御方法及び装置
US5710922A (en) 1993-06-02 1998-01-20 Apple Computer, Inc. Method for synchronizing and archiving information between computer systems
US5790848A (en) * 1995-02-03 1998-08-04 Dex Information Systems, Inc. Method and apparatus for data access and update in a shared file environment
CA2227432C (en) 1995-07-20 2001-05-22 Novell, Inc. Transaction synchronization in a disconnectable computer and network
JPH0954719A (ja) * 1995-08-14 1997-02-25 Meidensha Corp クライアント・サーバ型データベース
US5978813A (en) 1995-09-25 1999-11-02 International Business Machines Corporation System for providing synchronization between a local area network and a distributing computer environment
US5852715A (en) * 1996-03-19 1998-12-22 Emc Corporation System for currently updating database by one host and reading the database by different host for the purpose of implementing decision support functions
US5970502A (en) 1996-04-23 1999-10-19 Nortel Networks Corporation Method and apparatus for synchronizing multiple copies of a database
US5926816A (en) 1996-10-09 1999-07-20 Oracle Corporation Database Synchronizer
US5870759A (en) 1996-10-09 1999-02-09 Oracle Corporation System for synchronizing data between computers using a before-image of data
US6141664A (en) * 1996-11-13 2000-10-31 Puma Technology, Inc. Synchronization of databases with date range
AU5254698A (en) 1996-11-13 1998-06-03 Puma Technology, Inc. Synchronization of databases
JPH10187514A (ja) * 1996-12-25 1998-07-21 Hitachi Ltd データ・ウェアハウスへのデータ反映方法および装置
US5999947A (en) 1997-05-27 1999-12-07 Arkona, Llc Distributing database differences corresponding to database change events made to a database table located on a server computer
US6014669A (en) 1997-10-01 2000-01-11 Sun Microsystems, Inc. Highly-available distributed cluster configuration database
US6269369B1 (en) * 1997-11-02 2001-07-31 Amazon.Com Holdings, Inc. Networked personal contact manager
JPH11212848A (ja) * 1998-01-27 1999-08-06 Mitsubishi Electric Corp ネットワークシステム及びレプリカ維持方法
JP3501943B2 (ja) * 1998-05-18 2004-03-02 シャープ株式会社 データベース管理装置、および、そのプログラムが記録された記録媒体
JP2000035911A (ja) * 1998-07-21 2000-02-02 Mitsubishi Electric Corp データベースの等価方法
US6226650B1 (en) * 1998-09-17 2001-05-01 Synchrologic, Inc. Database synchronization and organization system and method
US6442554B1 (en) * 1999-01-29 2002-08-27 I2 Technologies Us, Inc. System and method for generating dependent data
US6446090B1 (en) * 1999-10-08 2002-09-03 Unisys Corporation Tracker sensing method for regulating synchronization of audit files between primary and secondary hosts
US6643669B1 (en) 2000-03-14 2003-11-04 Telefonaktiebolaget Lm Ericsson (Publ) Method for optimization of synchronization between a client's database and a server database

Also Published As

Publication number Publication date
JP2003527688A (ja) 2003-09-16
DE60115616D1 (de) 2006-01-12
US6643669B1 (en) 2003-11-04
ATE312380T1 (de) 2005-12-15
EP1266309B1 (de) 2005-12-07
WO2001069435A2 (en) 2001-09-20
MY125993A (en) 2006-09-29
WO2001069435A3 (en) 2002-02-21
JP4732661B2 (ja) 2011-07-27
EP1266309A2 (de) 2002-12-18
AU2001244202A1 (en) 2001-09-24

Similar Documents

Publication Publication Date Title
DE60115616T2 (de) Verfahren zur optimierung der synchronisation zwischen einer datenbank eines clienten und einer server-datenbank
DE60204729T2 (de) Objektenlöschen von einem Vorrichtungspeicher
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
DE60223453T2 (de) Verfahren und Vorrichtung zur Benutzung eines Synchronisationsschlüssels
DE4330986C2 (de) Verfahren zum Erfassen von Verzeichnisdaten von Vermittlungssystemen
DE10311082B4 (de) Elektronikdokumentmanagementverfahren
DE4497149B4 (de) Computerbezogenes Verfahren zur Datenreplikation in Peer-to-Peer-Umgebung
DE60220418T2 (de) Verfahren und Anbieter zur Systemsynchronisation
DE69923621T2 (de) Verfahren und Vorrichtung zu korrekten und vollständigen Übertragungen in einem fehlertoleranten verteilten Datenbanksystem
DE19747583B4 (de) Kommunikationssystem und Verfahren
EP0791884A2 (de) Verfahren zum rechnergestützten Abgleich mehrerer, in mindestens einem Rechner gespeicherten Dateikopien einer gespeicherten Datei
EP1151399A1 (de) Integration heterogener Datenbank-Systeme
DE10313048A1 (de) System und Verfahren zur Verwaltung verteilter gleichzeitiger Versionen
DE10392438T5 (de) Vorrichtung und Verfahren zur zentralen Überwachung und Steuerung von Anlagen
EP1430369B1 (de) Dynamischer zugriff auf automatisierungsressourcen
DE602004006224T2 (de) Verfahren und Vorrichtung zur Datensynchronisierung eines verteilten Datenbanksystems
DE69723500T2 (de) Datenqualitätsverwaltungssystem
DE10337144A1 (de) Verfahren zur Aufzeichnung von Ereignis-Logs
DE602004005666T2 (de) Speichervorrichtung für asynchrone entfernte Datenspiegelung
DE60104658T2 (de) Datenwiederherstellung in einem verteilten system
DE19803697C2 (de) Verfahren zum Aufrüsten eines Softwaresystems und Vorrichtung zur Durchführung des Verfahrens
DE19826091A1 (de) Verfahren zum gesicherten Ändern von in einer Datenbank gespeicherten Daten, Datenbanksystem und damit ausgestattetes Netzelement
WO2005038662A2 (de) Betriebsverfahren für einen server und hiermit korrespondierende gegenstände
EP1204035A2 (de) Verfahren zur Erkennung von Schreibkonflikten in replizierten Datenbanken ohne speicheroverhead

Legal Events

Date Code Title Description
8364 No opposition during term of opposition