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 PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, 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 Client10 und einem Server15 veranschaulicht. Während die folgende Beschreibung auf getrennte Datenbanken in dem Client10 und Server15 verweist, sollte erkannt werden, dass diese tatsächlich unterschiedliche Versionen der gleichen Datenbank sind. Zwei Einträge (Änderungen)20 wurden in dem Client10 seit dem letzten Synchronisationsprozess durchgeführt, und zwei Einträge (Änderungen)25 wurden in dem Server15 seit dem letzten Synchronisationsprozess durchgeführt. Somit müssen vier neue Einträge innerhalb der Datenbanken von sowohl dem Client10 als auch dem Server15 berücksichtigt werden. Der Synchronisationsprozess beginnt in30 (Zeit 2). Während eines Synchronisationsprozesses sind die Datenbanken, die innerhalb des Clients10 und des Servers15 enthalten sind, derart ge sperrt, dass keine neuen Einträge an den Datenbanken durchgeführt werden können. - Anfangs muss der Client
10 in35 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 UPDATES38 zu dem Server15 . Ein UPDATE38 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 Client10 geändert wurde; einen Zieldatensatzidentifikator, der den Datensatz innerhalb des Servers15 anzeigt, der zu ändern ist; und Datensatzdaten, die die Daten umfassen, die zu ändern sind. - Bei Empfang des UPDATE
38 aktualisiert der Server15 die angezeigten Datensätze, die von dem Client in40 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 UPDATE38 enthalten. Der Server15 bestimmt in50 die Zahl von Änderungen, die an der Datenbank seit der letzten Synchronisationszeit (Zeit 1) mit dem Client10 durchgeführt wurden. In Zeit 3 wird eine zusätzliche Aktualisierung55 in dem Client10 versucht. Da die Datenbank in dieser Periode gesperrt ist, ist die Aktualisierung in dem Client nicht gestattet. - Nachdem der Server
15 die Änderungen25 an der Datenbank seit der letzten Synchronisation mit dem Client10 bestimmt hat, überträgt der Server Nachricht für UPDATES plus RESULTATE60 zurück zu dem Client10 . 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 Server15 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 Server15 führt der Client10 die angeforderten Aktualisierungen65 in Zeit 4 durch. Während des Aktualisierungsprozesses unterhält der Client10 einen Abbildungsdatensatz der Abbildung zwischen den Serverdatensatzidentifikatoren und den Clientdatensatzidentifikatoren. Nachdem die Aktualisierungen in dem Server15 und dem Client10 abgeschlossen sind, werden diese Abbildungsdatensätze zu dem Server15 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 MAPITEMs70 überträgt der Server15 eine MAPITEM-Bestätigungsnachricht75 zurück zu dem Client10 . Der Client löscht die MAPITEM-Datensätze aus seinem Speicher und setzt in80 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 in2 in85 ,90 bzw.95 veranschaulicht sind. Der vorherige Synchronisationsprozess der Datenbank hat zuletzt in100 (Zeit 1) begonnen. Seit dieser Zeit sind vier zusätzliche Änderungen an der Datenbank aufgetreten. Zwei Änderungen105 wurden in dem Client10 durchgeführt und zwei zusätzliche Änderungen110 wurden in dem Server15 durchgeführt. - Zum Beginn des Synchronisationsprozesses bestimmt der Client
10 in115 die Zahl von Änderungen, die an der Datenbank in dem Client seit dem letzten Synchronisationsprozess in Zeit 1 durchgeführt wurden. Der Client10 bestimmt auch in116 die Zahl von MAPITEM-Datensätzen von dem vorherigen Synchronisationsprozess, die zu dem Server15 übertragen werden müssen. Der Client vergleicht die Änderungen105 , die seit dem letzten Synchronisationsprozess durchgeführt wurden, mit den gespeicherten MAPITEM-Datensätzen, um in118 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 Client10 eine erste Synchronisationsnachricht120 zu dem Server15 . - Bezug nehmend nun auch auf
3 enthält die erste Synchronisationsnachricht120 die aktuelle Synchronisationszeit125 , die vorherige Synchronisationszeit130 , einen UPDATE-Abschnitt135 , der Aktualisierungen enthält, die durch den Server15 durchzuführen sind, und die bestimmten MAPITEM-Datensätze140 von dem vorherigen Synchronisationsprozess. Die aktuelle Synchronisationszeit125 umfasst die Zeit, in der der vorliegende Synchronisationsprozess begonnen hat (Zeit 2). Die vorherige Synchronisationszeit130 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 Synchronisationszeit130 und der aktuellen Synchronisationszeit125 durchgeführt wurden. Das UPDATE135 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ätze140 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 Server15 die erste Synchronisationsnachricht120 empfängt, der Server in142 , ob die aktuelle Synchronisationszeit125 , die innerhalb der ersten Synchronisationsnachricht120 enthalten ist, nach der vorgesehenen letzten Synchronisationszeit130 ist. Falls ja, aktualisiert der Server15 in144 eine Abbildungstabelle in dem Server unter Verwendung der empfangenen MAPITEM-Datensätze140 . Der Server15 aktualisiert als Nächstes in145 die Datensätze, die in dem UPDATE-Abschnitt135 der Synchronisationsnachricht120 angezeigt sind. Der Server speichert in148 die empfangene aktuelle Synchronisationszeit125 als die letzte Synchronisationszeit und bestimmt die Zahl von Änderungen, die in dem Server durchgeführt sind, in150 . Nach einer Bestimmung der Zahl von Änderungen überträgt der Server15 eine zweite Synchronisationsnachricht160 zurück zu dem Client10 . In Zeit 3 wird in dem Client10 eine zusätzliche Änderung155 durchgeführt. Da die Datenbank nicht gesperrt ist, kann die Änderung155 an der Datenbank durchgeführt werden, und die Aktualisierung zu dem Server wird während des nächsten Synchronisationsprozesses90 geschehen. - Bezug nehmend nun auch auf
4 wird die zweite Synchronisationsnachricht160 veranschaulicht, die die aktuelle Syn chronisationszeit165 , die von dem Client10 in der ersten Synchronisationsnachricht empfangen wird, und einen RESULTAT-Abschnitt170 , 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 Server15 geändert wird, enthält. Die zweite Synchronisationsnachricht160 enthält ferner einen UPDATE-Abschnitt175 , der die Aktualisierungen identifiziert, die in dem Server durchgeführt sind, die in den entsprechenden Datensätzen des Clients durchzuführen sind. Der UPDATE-Abschnitt175 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 Client10 in168 , ob die empfangene aktuelle Synchronisationszeit15 nach der letzten Synchronisationszeit ist, und aktualisiert, falls ja, die letzte Synchronisationszeit zu der aktuellen Synchronisationszeit in180 . Der Client10 führt die Aktualisierungen, die durch den UPDATE-Abschnitt175 angezeigt werden, in185 durch und speichert die neuen MAPITEM-Datensätze für den vorliegenden Synchronisationsprozess85 in190 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 Synchronisationsprozess85 innerhalb eines nächsten Synchronisationsprozesses90 übertragen, an Stelle von innerhalb des vorliegenden Synchronisationsprozesses85 . 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 Synchronisationsprozess85 . Der Client10 bestimmt anfangs in195 die Änderungen, die seit dem letzten Synchronisationsprozess85 , der in Zeit 2 beginnt, durchgeführt wurden. Es wird eine erste Synchronisationsnachricht200 von dem Client10 zu dem Server15 übertragen, die die zuvor beschriebene Informationen enthält, die MAPITEM-Datensätze für den vorherigen Synchronisationsprozess85 . Der Server15 wird mit dieser Information in205 aktualisiert, und die empfangene aktuelle Synchronisationszeit und die RESULTATE der Aktualisierungen, die in der ersten Synchronisationsnachricht200 angefordert sind, werden zu dem Client10 von dem Server15 in einer zweiten Synchronisationsnachricht210 zurück übertragen. Es sollte vermerkt werden, dass die zweite Synchronisationsnachricht210 einen UPDATE-Abschnitt175 nicht enthält, da seit dem letzten Synchronisationsprozess85 keine Änderungen an der Datenbank in dem Server15 durchgeführt wurden. Der Client10 bestätigt, dass die aktuelle Synchronisationszeit nach der letzten Synchronisationszeit ist, und setzt die letzte Synchronisationszeit gleich der aktuellen Synchronisationszeit in212 . Der Client10 löscht als Nächstes die zuvor gespeicherten MAPITEM-Datensätze von dem vorherigen Synchronisationsprozess85 und speichert die vorliegenden MAPITEM-Datensätze für den aktuellen Synchronisationsprozess90 in215 . Während des dritten Synchronisationsprozesses95 , der in Zeit 5 beginnt, bestimmt der Client10 , dass seit der vorherigen Synchronisationszeit (Zeit 4) nur eine einzelne Änderung205 durchgeführt wurde. Ein Vergleich in225 dieser Änderung205 mit den gespeicherten MAPITEM-Datensätzen zeigt jedoch, dass diese Änderungen alle einen Teil des vorherigen Synchronisationsprozesses90 umfassen, und alle Änderungen bereits zu dem Server15 durchgeführt wurden. Somit enthält die erste Synchronisationsnachricht230 , die von dem Client10 zu dem Server15 übertragen wird, nur die vorliegende Synchronisationszeit, die vorherige Synchronisationszeit und die MAPITEM-Datensätze140 für den vorherigen Synchronisationsprozess90 . Der Server15 bestimmt in235 , dass keine Aktualisierungen benötigt werden, sodass nur die vorliegende Synchronisationszeit zu dem Client10 innerhalb der zweiten Synchronisationsnachricht240 zurückgegeben wird. Als Reaktion auf die zweite Synchronisationsnachricht240 bestimmt der Client10 , dass die empfangene Synchronisationszeit nach der letzten Synchronisationszeit ist und setzt in245 die letzte Synchronisationszeit gleich der aktuellen Synchronisationszeit. Die zuvor übertragenen MAPITEM-Datensätze140 für den vorherigen Synchronisationsprozess90 werden dann in246 gelöscht. Es sind keine weiteren MAPITEM-Datensätze gespeichert, da während des dritten Synchronisationsprozesses95 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 Server15 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)
- 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. - 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. - 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 ). - 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.
- 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. - Verfahren nach Anspruch 5, wobei der Schritt zum Aktualisieren der ersten Datenbank ferner Aktualisieren einer letzten Synchronisationszeit reagierend auf die zweite Synchronisationsnachricht (
160 ) umfasst. - 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. - 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 ). - 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. - 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. - System nach Anspruch 8, wobei der Server (
15 ) ferner konfiguriert ist, die aktuelle Synchronisationszeit als die letzte Synchronisationszeit in der zweiten Datenbank zu speichern. - System nach Anspruch 11, wobei der Client ferner konfiguriert ist zu bestimmen, dass die empfangene aktuelle Zeit nach der letzten Synchronisationszeit ist.
- 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.
- System nach Anspruch 8, wobei der Server ferner konfiguriert ist, die Abbildungsdatensätze zu entfernen, die innerhalb der ersten Synchronisationsnachricht enthalten sind.
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)
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)
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 |
-
2000
- 2000-08-10 US US09/637,035 patent/US6643669B1/en not_active Expired - Lifetime
-
2001
- 2001-01-19 MY MYPI20010253A patent/MY125993A/en unknown
- 2001-03-13 AT AT01917085T patent/ATE312380T1/de not_active IP Right Cessation
- 2001-03-13 JP JP2001567445A patent/JP4732661B2/ja not_active Expired - Lifetime
- 2001-03-13 EP EP01917085A patent/EP1266309B1/de not_active Expired - Lifetime
- 2001-03-13 DE DE60115616T patent/DE60115616T2/de not_active Expired - Lifetime
- 2001-03-13 AU AU2001244202A patent/AU2001244202A1/en not_active Abandoned
- 2001-03-13 WO PCT/EP2001/002765 patent/WO2001069435A2/en active IP Right Grant
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 |