DE10313048A1 - System und Verfahren zur Verwaltung verteilter gleichzeitiger Versionen - Google Patents

System und Verfahren zur Verwaltung verteilter gleichzeitiger Versionen Download PDF

Info

Publication number
DE10313048A1
DE10313048A1 DE10313048A DE10313048A DE10313048A1 DE 10313048 A1 DE10313048 A1 DE 10313048A1 DE 10313048 A DE10313048 A DE 10313048A DE 10313048 A DE10313048 A DE 10313048A DE 10313048 A1 DE10313048 A1 DE 10313048A1
Authority
DE
Germany
Prior art keywords
file
server
client
updated
copy
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.)
Ceased
Application number
DE10313048A
Other languages
English (en)
Inventor
Trsungyeng Yu
Eric Yeh
Hubert Chiu
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.)
Via Technologies Inc
Original Assignee
Via Technologies Inc
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 Via Technologies Inc filed Critical Via Technologies Inc
Publication of DE10313048A1 publication Critical patent/DE10313048A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2064Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring while ensuring consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Multi Processors (AREA)

Abstract

Es handelt sich um ein Verwaltungssystem für verteilte gleichzeitige Versionen. Das System verfügt über einen ersten Server, einen zweiten Server und einen ersten Client. Der erste Server verfügt über eine erste Datenbank mit einer Datei. Der zweite Server verfügt über eine zweite Datenbank mit einer der Datei entsprechenden Dateikopie, ein Datenreplikationsmodul und ein Verbindungserkennungsmodul. Wenn es der erste Client wünscht, die Dateikopie im zweiten Server durch eine aktualisierte Datei zu ersetzen, wird die Dateikopie dann durch die aktualisierte Datei ersetzt, wenn der erste Server und der zweite Server verbunden sind. Dann wird die aktualisierte Datei durch das Datenreplikationsmodul auf den ersten Server kopiert, und die Datei in der ersten Datenbank wird durch die aktualisierte Datei ersetzt.

Description

  • Priorität: 8. Juli 2003, Taiwan, Rep. China, Nr. 91115055
  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung
  • Die Erfindung betrifft ein System und ein Verfahren zur Dateiverwaltung, insbesondere ein System und ein Verfahren zur Verwaltung verteilter gleichzeitiger Versionen, die die Übereinstimmung von Dateikopien auf verschiedenen Servern aufrecht erhalten, um die Verbindungskosten zu verringern, wenn auf einen einzelnen Server zugegriffen wird.
  • Beschreibung der einschlägigen Technik
  • Bei herkömmlichen Systemen zur Dateiverwaltung und gleichzeitige Versionen, wie bei einem Quellcode-Verwaltungssystem, werden alle Quellcodes in einem einzelnen Server abge speichert, der für Funktionen zum Verwalten der Quellcodes sorgen kann. Clients können eine Verbindung zum Server herstellen, um über Netzwerke über die Quellcodes zuzugreifen, um die Codes zu aktualisieren oder zu modifizieren. Der Server kann die Gültigkeit der Quellcodes dadurch aufrecht erhalten, dass er eine geeignete Berechtigungsverwaltung verwendet.
  • Die 1 ist ein schematisches Diagramm zum Veranschaulichen eines herkömmlichen Dateiverwaltungssystems. Wie es in der 1 dargestellt ist, sind alle Dateien in der Datenbank 101 des Servers 100 gespeichert. Um auf Dateien auf dem Server 100 zuzugreifen, können Benutzer einen Client 110 (120) für Verbindung zum Server 100 verwenden, und sie können über Netzwerke auf Dateien in der Datenbank 101 zugreifen. Der Client 110 (120) und der Server 100 sind unter Verwendung eines Verwaltungssystems für gleichzeitige Versionen, wie VSS (Visual SourceSafe) als System auf Client-Server-Basis aufgebaut, und so hat der Server 100 die Fähigkeit, die Datenbank 101 mittels Berechtigung zu verwalten. Da alle Clients mit demselben Server verbunden sein müssen, um auf Dateien zuzugreifen, steigt die Systembelastung schnell an, wenn eine große Anzahl von Clients gleichzeitig mit dem Server verbunden ist. Ferner sind die Kosten zum Aufbauen von Netzwerken oder Standleitungen für Unternehmen mit Zweigstellen in verschiedenen Ländern teuer.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Daher ist es eine Aufgabe der Erfindung, ein System und ein Verfahren zur Verwaltung verteilte gleichzeitige Versionen zu schaffen, die die Übereinstimmung von Dateikopien auf verschiedenen Servern aufrecht erhalten, um die Verbindungskosten zu senken, wenn auf einen einzelnen Server zugegriffen wird.
  • Um die obigen Aufgaben zu lösen, sind durch die Erfindung ein System und ein Verfahren zur Verwaltung verteilter gleichzeitiger Versionen geschaffen. Gemäß einer Ausführungsform der Erfindung verfügt das System über einen ersten Server, einen zweiten Server und einen Client B (erster Client) .
  • Der erste Server verfügt über eine erste Datenbank mit einer Datei. Der zweite Server verfügt über eine zweite Datenbank mit einer Dateikopie, die der Datei in der ersten Datenbank entspricht, einem Datenreplikationsmodul und einem Verbindungserkennungsmodul. Das Verbindungserkennungsmodul erkennt den Verbindungsstatus zwischen dem ersten und zweiten Server. Wenn es der Client B wünscht, die Dateikopie im zweiten Server durch eine aktualisierte Datei zu ersetzen, wird die Dateikopie durch die aktualisierte Datei ersetzt, wenn der Verbindungszustand eine Verbindung anzeigt. Dann wird die Dateikopie der zweiten Datenbank durch die aktualisierte Datei ersetzt, und die aktualisierte Datei in der zweiten Datenbank wird durch das Datenreplikationsmodul in den ersten Server kopiert, um die Datei zu ersetzen, und die Daten in der ersten Datenbank wird durch die aktualisierte Datei ersetzt.
  • Ferner wird die Systemzeit zwischen dem zweiten Server und dem Client B eingestellt, wenn die Dateikopie im zweiten Server im Verbindungszustand durch eine aktualisierte Datei ersetzt wird, und es erfolgt eine Etikettierung durch eine der aktualisierten Systemzeit entsprechende Zeitmarke, nachdem die Dateikopie durch die aktualisierte Datei ersetzt wurde.
  • Die der aktualisierten Datei entsprechende Zeitmarke wird ferner mit einer neuen Zeitmarke verglichen, die der Datei im ersten Server entspricht, bevor die Datei durch die aktualisierte Datei ersetzt wird. Die Datei wird durch die aktualisierte Datei ersetzt, wenn die Zeitmarke später als die neue Zeitmarke liegt, d. h., wenn die Zeitmarke später als die neue Zeitmarke ersetzt wurde. Andernfalls wird die Datei nicht durch die aktualisierte Datei ersetzt.
  • Außerdem kann ein Client A (zweiter Client) die Datei im ersten Server nicht aktualisieren, während die Dateikopie durch den Client B aktualisiert wird. Wenn der Nicht-Verbindungszustand erkannt wird, kann der Client B die Dateikopie im zweiten Server aktualisieren, jedoch kann der Client A die Datei im ersten Server nicht aktualisieren.
  • Gemäß einer anderen Ausführungsform der Erfindung ist ein Verwaltungsverfahren für verteilte gleichzeitige Versionen geschaffen. Das Verfahren ist zur Verwendung in einem System mit einem ersten Server mit einer Datei, einem zweiten Server mit einer der Datei entsprechenden Dateikopie und einem Client B geeignet.
  • r Als Erstes wird der Verbindungszustand zwischen dem ersten und dem zweiten Server erkannt. Wenn es der Client B wünscht, die Dateikopie im zweiten Server durch eine aktualisierte Datei zu ersetzen, wird die Dateikopie durch die aktualisierte Datei ersetzt, wenn der Verbindungszustand eine Verbindung anzeigt. Dann wird die aktualisierte Datei in den ersten Server kopiert, und die Datei wird durch die aktualisierte Datei ersetzt.
  • Ferner wird die Systemzeit zwischen dem zweiten Server und dem Client B eingestellt, wenn es der Client B wünscht, die Dateikopie in einem zweiten Server durch eine aktualisierte Datei zu ersetzen, während eine Verbindung vorliegt, und es erfolgt eine Etikettierung durch eine Zeitmarke entsprechend der aktualisierten Systemzeit, nachdem die Dateikopie durch die aktualisierte Datei ersetzt wurde.
  • Die der aktualisierten Datei entsprechende Zeitmarke wird ferner mit einer neuen Zeitmarke entsprechend der Datei im ersten Server vor dem Ersetzen der Daten durch die aktualisierte Datei verglichen. Die Datei wird durch die aktualisierte Datei ersetzt, wenn die Zeitmarke später als die neue Zeitmarke liegt. Andernfalls wird die Datei nicht durch die aktualisierte Datei ersetzt.
  • In ähnlicher Weise kann ein Client A die Datei im ersten Server nicht aktualisieren, wenn die Dateikopie durch den Client B aktualisiert wird. Wenn der erste und der zweite Server getrennt sind, kann der Client B die Dateikopie im zweiten Server aktualisieren, jedoch kann der Client A die Datei im ersten Server nicht aktualisieren.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die oben genannten Aufgaben, Merkmale und Vorteile der Erfindung werden unter Bezugnahme auf die folgende detaillierte Beschreibung der bevorzugten Ausführungsformen unter Bezugnahme auf die beigefügten Zeichnungen ersichtlich.
  • 1 ist ein schematisches Diagramm zum Veranschaulichen des herkömmlichen Dateiverwaltungssystems;
  • 2 ist ein schematisches Diagramm, das die Architektur des Verwaltungssystems für verteilte gleichzeitige Versionen gemäß der Ausführungsform der Erfindung zeigt; und
  • 3 ist ein Flussdiagramm zum Veranschaulichen des Betriebs des Verwaltungsverfahrens für verteilte gleichzeitige Versionen gemäß der Ausführungsform der Erfindung.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • Die 2 ist ein schematisches Diagramm, das die Architektur des Verwaltungssystems für verteilte gleichzeitige Versionen gemäß der Ausführungsform der Erfindung zeigt.
  • Gemäß der Ausführungsform der Erfindung verfügt das Verwaltungssystem für verteilte gleichzeitige Versionen über einen ersten Server 200, einen Client A (zweiter Client) 210, einen zweiten Server 300 und einen Client B (erster Client) 310.
  • Der erste Server 200 und der zweite Server 300 verfügen über dieselben Komponenten. Der erste Server 200 verfügt über eine erste Datenbank 201 mit einer Datei (in der 2 nicht dargestellt), ein Datenreplikationsmodul 202 und ein Verbindungserkennungsmodul 203. Das Datenreplikationsmodul 202 überwacht den Zustand der ersten Datenbank 201. Wenn die Daten in der ersten Datenbank 201 aktualisiert werden, kopiert das Datenreplikationsmodul 202 die aktualisierten Daten auf einen anderen Server. Das Verbindungserkennungsmodul 203 erkennt den Verbindungszustand zwischen dem ersten Server 200 und dem zweiten Server 300.
  • In ähnlicher Weise verfügt der zweite Server 300 über eine zweite Datenbank 301, ein Datenreplikationsmodul 302 und ein Verbindungserkennungsmodul 303. Die zweite Datenbank 301 beinhaltet eine Dateikopie (in der 2 nicht dargestellt), die der Datei in der ersten Datenbank 201 des ersten Servers 200 entspricht. Die Datenkopie stimmt mit der Datei überein, und die Datei und die Dateikopie können Quellcodes sein.
  • Das Datenreplikationsmodul 302 überwacht den Zustand der zweiten Datenbank 301. Wenn die Daten der zweiten Datenbank 301 aktualisiert werden, kopiert das Datenreplikationsmodul 302 die aktualisierten Daten auf einen anderen Server. Das Verbindungserkennungsmodul 303 erkennt den Verbindungszustand zwischen dem zweiten Server 300 und dem ersten Server 200.
  • Der erste Server 200 stellt Dienste, wie Dateizugriff, für den Client A 210 bereit, und der zweite Server stellt Dienste für den Client B 310 bereit. Es ist zu beachten, dass der vom Client angeforderte Server entsprechend dem Abstand bestimmt werden kann. Zum Beispiel kann der Client B 310 in einem Land eine Verbindung mit dem zweiten Server 300 herstellen, und der Client A 210 in einem anderen Land kann eine Verbindung mit dem ersten Server 200 herstellen, wenn sich der erste Server 200 im zweiten Land und der zweite Server 300 im ersten befindet.
  • Wenn es der Client B 310 wünscht, die Datenkopie in der zweiten Datenbank 301 des zweiten Servers 300 durch eine aktualisierte Datei (in der 2 nicht dargestellt) zu ersetzen, wird vom Verbindungserkennungsmodul 303 der Verbindungszustand erfasst. Wenn der zweite Server 300 und der erste Server 200 verbunden sind, wird die Systemzeit zwischen dem zweiten Server 300 und dem Client B 310 eingestellt. D. h., dass die Zeit des Clients B 310 als Systemzeit des zweiten Servers 300 eingestellt wird.
  • Dann wird die Dateikopie in der zweiten Datenbank 310 des zweiten Servers 300 durch die aktualisierte Datei ersetzt, und es erfolgt Etikettierung mit einer Zeitmarke entsprechend der aktualisierten Systemzeit, nachdem die Dateikopie durch die aktualisierte Datei ersetzt wurde.
  • Wenn das Datenreplikationsmodul 302 einmal die Aktualisierung der zweiten Datenbank 301 überwacht, wird die der ak tualisierten Datei entsprechende Zeitmarke mit einer Zeitmarke (neue Zeitmarke) verglichen, die der Datei im ersten Server 200 entspricht.
  • Die aktualisierte Datei wird durch das Datenreplikationsmodul 302 auf den ersten Server 200 kopiert, und die Datei wird durch die aktualisierte Datei ersetzt, wenn die Zeitmarke später als die neue Zeitmarke liegt, d. h., wenn die Zeitmarke später als die neue Zeitmarke erzeugt wurde. Andernfalls wird die aktualisierte Datei nicht auf den ersten Server 200 kopiert, und die Datei im ersten Server 200 wird nicht durch die aktualisierte Datei ersetzt.
  • Es ist zu beachten, dass der Zweck des Einstellens der Systemzeit zu Beginn einer Replikation darin besteht, zu gewährleisten, dass der Client B 310 bei der Replikation dieselbe Systemzeit wie der zweite Server 300 verwendet. Das Vergleichen der Zeitmarken dient dazu, zu gewährleisten, dass die zuletzt aktualisierte Datei in der Datenbank aufrecht erhalten wird, um die Genauigkeit der Datenbank zu erhalten.
  • Da der erste Server 200 und der zweite Server 300 dieselben Komponenten aufweisen und da die Beziehung zwischen dem Client A 210 und dem ersten Server 200 sowie die Beziehung zwischen dem Client B 310 und dem zweiten Server 300 gleich sind, arbeiten, wenn durch das Verbindungserkennungsmodul 203 eine erfolgreiche Verbindung zwischen dem zweiten Server 300 und dem ersten Server 200 erkannt wird, die Komponenten im ersten Server 200 auf dieselbe Weise wie die im zweiten Server 300, jedoch sind die Rollen des ersten und des zweiten Servers 200 und 300 vertauscht.
  • Außerdem kann der Client A 210 eine spezielle Datei im ersten Server 200 dann nicht aktualisieren, wenn die Kopie der speziellen Datei im zweiten Server 300 durch den Client B 310 aktualisiert wird. In ähnlicher Weise kann der Client B 310 die Dateikopie im zweiten Server 300 nicht aktualisieren, wenn die Daten im ersten Server 200 durch den Client A 210 aktualisiert wird.
  • Der Client B 310 kann die Dateikopie im zweiten Server 300 aktualisieren, wenn zwischen dem ersten Server 200 und dem zweiten Server 300 eine Trennung erkannt wird. Der Client A 210 kann jedoch die Datei im ersten Server 200 nicht aktualisieren, wenn der ersten Server 200 und der zweite Server 300 getrennt sind. In diesem Fall wird der zweite Server 300 als Masterserver spezifiziert, und der erste Server 200 ist der Sekundärserver. Für Übereinstimmung der Datenbank-Dateiversionen kann der Masterserver die Clients mit vollen Funktionen versorgen, wenn der Master- und der Sekundärserver getrennt sind, jedoch sorgt der Sekundärserver nur für eingeschränkte Funktionen, wie ein Auslesen ohne Aktualisieren.
  • Es ist zu beachten, dass die Clients und die Server (der Client A 210 und der erste Server 200 sowie der Client B 310 und der zweite Server 300) unter Verwendung eines Verwaltungssystems für gleichzeitige Versionen, wie VSS (Visual SourceSafe), als Systeme auf Klein-Server-Basis aufgebaut sein können, so dass die Server (200 und 300) die Datenbank (201 und 301) mit geeigneter Berechtigung verwalten können. Wie oben beschrieben, können der zweite Server 300 und der erste Server 200 als Masterserver bzw. Sekundärserver aufgebaut werden, wenn das Verwaltungssystem für gleichzeitige Versionen, VSS, verwendet wird. Ferner können die Datenreplikationsmodule (202 und 302) gemäß dem File Replication Service (FRS) von Microsoft aufgebaut sein.
  • Die 3 ist ein Flussdiagramm zum Veranschaulichen des Betriebs des Verwaltungsverfahrens für verteilte gleichzei tige Versionen gemäß der Ausführungsform der Erfindung.
  • Das Verwaltungsverfahren für verteilte gleichzeitige Versionen ist zur Verwendung in einem System mit einem ersten Server mit einer Datei, einem zweiten Server mit einer der Datei entsprechenden Dateikopie und mindestens einem Client geeignet.
  • Wenn es ein Client wünscht, die Dateikopie im zweiten Server durch eine aktualisierte Datei zu ersetzen, in einem Schritt S301, wird der Verbindungszustand zwischen dem ersten und dem zweiten Server erfasst. Wenn der zweite und der erste Server verbunden sind (Ja in einem Schritt S302), wird die Systemzeit zwischen dem zweiten Server und dem Client eingestellt. D. h., dass die Zeit des Client als Systemzeit des zweiten Servers eingestellt wird.
  • Dann wird, in einem Schritt S304, ermittelt, ob andere Clients auf die Dateikopie zugreifen. Die Prozedur kehrt zum Schritt S301 zurück, wenn dies der Fall ist, während andernfalls, in einem Schritt S305, die Dateikopie auf dem zweiten Server durch die aktualisierte Datei ersetzt wird und, in einem Schritt S306, eine Etikettierung durch eine Zeitmarke entsprechend der aktualisierten Systemzeit erfolgt, nachdem die Datenkopie durch die aktualisierte Datei ersetzt wurde.
  • Danach wird, in einem Schritt S307, die der aktualisierten Datei entsprechende Zeitmarke mit derjenigen Zeitmarke (neue Zeitmarke) verglichen, die der Datei im ersten Server entspricht. Dann wird, in einem Schritt S308, die aktualisierte Datei in einem ersten Server kopiert, und die Datei wird durch die aktualisierte Datei ersetzt, wenn die Zeitmarke später als die neue Zeitmarke liegt (Ja im Schritt S307). Andernfalls wird die aktualisierte Datei nicht auf den ersten Server kopiert, und die Datei im ersten Server wird nicht durch die aktualisierte Datei ersetzt.
  • Ferner wird, in einem Schritt S309, ermittelt, ob der mit dem Client verbundene Server der Masterserver ist, wenn der zweite und der erste Server getrennt sind (Nein im Schritt S302). Wenn der Server der Masterserver ist (Ja im Schritt S309), kehrt die Prozedur zum Schritt S303 zurück; andernfalls erfolgt ein Übergang zu einem Schritt S311. Im Schritt S311 wird, wenn es der Client einfach wünscht, die Datei zu lesen, die Datei vom Client gelesen (heruntergeladen), wie er es wünscht (Ja im Schritt S310).
  • Für Übereinstimmung der Datenbank-Dateiversionen kann, wenn der Master- und der Sekundärserver getrennt sind, der Masterserver die Clients mit vollständigen Funktionen versehen, jedoch sorgt der Sekundärserver nur für eingeschränkte Funktionen, wie ein Lesen oder Aktualisieren.
  • Es ist zu beachten, dass die Ausführungsform der Erfindung gleichzeitige Versionen verwaltet, d. h. Situationen, in denen mehrere Versionen einer Datei vorliegen. Der Datentyp einer Datei im Verwaltungssystem für gleichzeitige Dateiversionen beinhaltet Versionsinformation, während der Datentyp einer Datei im Verwaltungssystem für gleichzeitige Dateien keine derartige Versionsinformation enthält. In ähnlicher Weise kann die Erfindung bei der Verwaltung gleichzeitiger Dateien und gleichzeitiger Dateiversionen angewandt werden.
  • Im Ergebnis kann unter Verwendung des Systems und des Verfahrens gemäß der Erfindung zur Verwaltung verteilter gleichzeitiger Versionen die Übereinstimmung von Dateikopien auf verschiedenen Servern aufrecht erhalten werden, um Verbindungskosten zu senken, wenn auf einen einzelnen Server zugegriffen wird.
  • Obwohl die Erfindung durch ihre bevorzugte Ausführungsform beschrieben wurde, soll die Erfindung nicht auf die hier offenbarten genauen Ausführungsformen beschränkt sein. Die mit dieser Technik vertrauten Personen können immer noch verschiedene Änderungen und Modifizierungen vornehmen, ohne vom Grundgedanken und Schutzumfang der Erfindung abzuweichen. Daher soll der Schutzumfang der Erfindung durch die folgenden Ansprüche und ihre Äquivalente definiert und geschützt sein.

Claims (20)

  1. Verwaltungssystem für verteilte gleichzeitige Versionen, mit: – einem ersten Server mit einer ersten Datenbank mit einer Datei; – einem zweiten Server mit einer zweiten Datenbank mit einer der Datei in der ersten Datenbank entsprechenden Dateikopie, einem Datenreplikationsmodul und einem Verbindungserkennungsmodul zum Erkennen des Verbindungszustands zwischen dem ersten Server und dem zweiten Server; und – einem ersten Client zum Ersetzen der Dateikopie im zweiten Server durch eine aktualisierte Datei, wenn der Verbindungszustand eine Verbindung anzeigt; – wobei die aktualisierte Datei durch das Datenreplikationsmodul im zweiten Server auf den ersten Server kopiert wird und die Datei in der ersten Datenbank durch die aktualisierte Datei ersetzt wird.
  2. System nach Anspruch 1, bei dem die Systemzeit zwischen dem zweiten Server und dem ersten Client eingestellt wird, bevor der erste Client die erste Dateikopie im zweiten Server durch die aktualisierte Datei ersetzt.
  3. System nach Anspruch 2, bei dem eine Zeitmarke entsprechend der eingestellten Systemzeit zugewiesen wird, nachdem die Dateikopie durch die aktualisierte Datei ersetzt wurde.
  4. System nach Anspruch 3, bei dem die der aktualisierten Datei entsprechende Zeitmarke mit einer neuen Zeitmarke verglichen wird, die der Datei im ersten Server vor dem Ersetzen der Datei durch die aktualisierte Datei entspricht, und die Datei durch die aktualisierte Datei ersetzt wird, wenn die Zeitmarke später als die neue Zeitmarke liegt.
  5. System nach Anspruch 1, bei dem der erste Client die Dateikopie im zweiten Server aktualisieren kann, jedoch ein zweiter Client die Datei im ersten Server nicht aktualisieren kann, wenn ein Trennungszustand zwischen dem ersten und dem zweiten Server erkannt wird.
  6. System nach Anspruch 1, bei dem die Datei eine Quellcodedatei ist.
  7. System nach Anspruch 1, bei dem die Datei eine Datei mit einem Versionsdatentyp ist.
  8. System nach Anspruch 7, bei dem die Systemzeit zwischen dem zweiten Server und dem ersten Client eingestellt wird, bevor der erste Client die Dateikopie im zweiten Server durch die aktualisierte Datei ersetzt.
  9. System nach Anspruch 8, bei dem die Datei durch die aktualisierte Datei dann nicht ersetzt wird, wenn eine Zeitmarke, die nach dem Ersetzen der Dateikopie durch die aktualisierte Datei etikettiert wurde, früher als eine neue Zeitmarke liegt, die der Datei im ersten Server entspricht.
  10. System nach Anspruch 7, bei dem ein zweiter Client die Datei im ersten Server nicht aktualisieren kann, während die Dateikopie durch den ersten Client aktualisiert wird.
  11. System nach Anspruch 7, bei dem der erste Client die Dateikopie im zweiten Server aktualisieren kann, jedoch ein zweiter Client die Datei im ersten Server nicht aktualisieren kann, wenn ein Trennungszustand zwischen dem ersten und dem zweiten Server erkannt wird.
  12. System nach Anspruch 7, bei dem die Datei eine Quellcodedatei ist.
  13. Verwaltungsverfahren für verteilte gleichzeitige Versionen zur Verwendung in einem System mit einem ersten Server mit einer Datei, einem zweiten Server mit einer der Datei entsprechenden Kopie und einem ersten Client, mit den folgenden Schritten: – Erfassen des Verbindungszustands zwischen dem ersten Server und dem zweiten Server; – Ersetzen der Dateikopie durch eine aktualisierte Datei aus dem ersten Client, wenn der Verbindungszustand eine Verbindung anzeigt; und – Kopieren der aktualisierten Datei durch den zweiten Server auf den ersten Server und Ersetzen der Datei durch die aktualisierte Datei.
  14. Verfahren nach Anspruch 13, ferner mit einem Einstellen der Systemzeit zwischen dem zweiten Server und dem ersten Client bevor die Datei im zweiten Server durch die aktualisierte Datei ersetzt wird.
  15. Verfahren nach Anspruch 14, ferner mit einem Vergleichen einer Zeitmarke, die etikettiert wurde, nachdem die Dateikopie durch die aktualisierte Datei ersetzt wurde, mit einer neuen Zeitmarke entsprechend der Datei im ersten Server vor dem Ersetzen der Datei durch die aktualisierte Datei, und ein Ersetzen der Datei durch die aktualisierte Datei, wenn die Zeitmarke später als die neue Zeitmarke liegt.
  16. Verfahren nach Anspruch 13, bei dem der erste Client die Dateikopie im zweiten Server aktualisieren kann, jedoch ein zweiter Client die Datei im ersten Server nicht aktualisieren kann, wenn ein Trennungszustand zwischen dem ersten und dem zweiten Server erkannt wird.
  17. Verfahren nach Anspruch 13, bei dem die Datei eine Quellcodedatei ist.
  18. Verfahren nach Anspruch 13, bei dem die Datei eine Datei mit Versionsdaten ist.
  19. Verfahren nach Anspruch 18, ferner mit einem Einstellen der Systemzeit zwischen dem zweiten Server und dem ersten Client bevor die Dateikopie im zweiten Server durch die aktualisierte Datei ersetzt wird.
  20. Verfahren nach Anspruch 18, bei dem der erste Client die Dateikopie im zweiten Server aktualisieren kann, jedoch ein zweiter Client die Datei im ersten Server nicht aktualisieren kann, wenn ein Trennungszustand zwischen dem ersten und dem zweiten Server erkannt wird.
DE10313048A 2002-07-08 2003-03-24 System und Verfahren zur Verwaltung verteilter gleichzeitiger Versionen Ceased DE10313048A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW091115055A TWI256556B (en) 2002-07-08 2002-07-08 Distributed concurrent version management system and method
TW02-91115055 2002-07-08

Publications (1)

Publication Number Publication Date
DE10313048A1 true DE10313048A1 (de) 2004-01-29

Family

ID=21688316

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10313048A Ceased DE10313048A1 (de) 2002-07-08 2003-03-24 System und Verfahren zur Verwaltung verteilter gleichzeitiger Versionen

Country Status (4)

Country Link
US (1) US20040006578A1 (de)
DE (1) DE10313048A1 (de)
GB (1) GB2390711B (de)
TW (1) TWI256556B (de)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2451253A1 (en) * 2003-11-27 2005-05-27 Ibm Canada Limited - Ibm Canada Limitee Method for competitive peer programming
US7343453B2 (en) 2004-04-30 2008-03-11 Commvault Systems, Inc. Hierarchical systems and methods for providing a unified view of storage information
US8266406B2 (en) 2004-04-30 2012-09-11 Commvault Systems, Inc. System and method for allocation of organizational resources
US7587423B2 (en) 2004-09-17 2009-09-08 Sap Ag Multistep master data cleansing in operative business processes
US7567986B2 (en) * 2004-10-07 2009-07-28 Microsoft Corporation Method and system for limiting resource usage of a version store
US7651593B2 (en) 2005-12-19 2010-01-26 Commvault Systems, Inc. Systems and methods for performing data replication
US20110010518A1 (en) * 2005-12-19 2011-01-13 Srinivas Kavuri Systems and Methods for Migrating Components in a Hierarchical Storage Network
US8661216B2 (en) * 2005-12-19 2014-02-25 Commvault Systems, Inc. Systems and methods for migrating components in a hierarchical storage network
US7606844B2 (en) 2005-12-19 2009-10-20 Commvault Systems, Inc. System and method for performing replication copy storage operations
US8572330B2 (en) * 2005-12-19 2013-10-29 Commvault Systems, Inc. Systems and methods for granular resource management in a storage network
AU2006331932B2 (en) 2005-12-19 2012-09-06 Commvault Systems, Inc. Systems and methods for performing data replication
US8726242B2 (en) 2006-07-27 2014-05-13 Commvault Systems, Inc. Systems and methods for continuous data replication
US20080147878A1 (en) * 2006-12-15 2008-06-19 Rajiv Kottomtharayil System and methods for granular resource management in a storage network
WO2009062182A1 (en) * 2007-11-09 2009-05-14 Topia Technology Architecture for management of digital files across distributed network
US7987152B1 (en) * 2008-10-03 2011-07-26 Gadir Omar M A Federation of clusters for enterprise data management
US9495382B2 (en) 2008-12-10 2016-11-15 Commvault Systems, Inc. Systems and methods for performing discrete data replication
US8204859B2 (en) 2008-12-10 2012-06-19 Commvault Systems, Inc. Systems and methods for managing replicated database data
KR101268574B1 (ko) * 2009-11-03 2013-05-28 한국전자통신연구원 태그 위치 추정 방법
US8504517B2 (en) * 2010-03-29 2013-08-06 Commvault Systems, Inc. Systems and methods for selective data replication
US8725698B2 (en) 2010-03-30 2014-05-13 Commvault Systems, Inc. Stub file prioritization in a data replication system
US8504515B2 (en) 2010-03-30 2013-08-06 Commvault Systems, Inc. Stubbing systems and methods in a data replication environment
US8489656B2 (en) 2010-05-28 2013-07-16 Commvault Systems, Inc. Systems and methods for performing data replication
ES2723781T3 (es) * 2011-08-03 2019-09-02 Amadeus Sas Método y sistema para mantener consistencia fuerte de contenidos replicados distribuidos en un sistema de cliente/servidor
US10379988B2 (en) 2012-12-21 2019-08-13 Commvault Systems, Inc. Systems and methods for performance monitoring
JP6508894B2 (ja) * 2014-07-28 2019-05-08 キヤノン株式会社 サーバ装置、サーバ装置の制御方法及びプログラム
US10275320B2 (en) 2015-06-26 2019-04-30 Commvault Systems, Inc. Incrementally accumulating in-process performance data and hierarchical reporting thereof for a data stream in a secondary copy operation
US10248494B2 (en) 2015-10-29 2019-04-02 Commvault Systems, Inc. Monitoring, diagnosing, and repairing a management database in a data storage management system
US10616346B2 (en) 2017-07-28 2020-04-07 International Business Machines Corporation Server connection capacity management
US10831591B2 (en) 2018-01-11 2020-11-10 Commvault Systems, Inc. Remedial action based on maintaining process awareness in data storage management
US11553047B2 (en) 2018-11-30 2023-01-10 International Business Machines Corporation Dynamic connection capacity management
US20200192572A1 (en) 2018-12-14 2020-06-18 Commvault Systems, Inc. Disk usage growth prediction system
US11042318B2 (en) 2019-07-29 2021-06-22 Commvault Systems, Inc. Block-level data replication
US11809285B2 (en) 2022-02-09 2023-11-07 Commvault Systems, Inc. Protecting a management database of a data storage management system to meet a recovery point objective (RPO)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3213766B2 (ja) * 1992-03-16 2001-10-02 株式会社日立製作所 レプリケートファイル更新システム
US5428526A (en) * 1993-02-03 1995-06-27 Flood; Mark A. Programmable controller with time periodic communication
US6275831B1 (en) * 1997-12-16 2001-08-14 Starfish Software, Inc. Data processing environment with methods providing contemporaneous synchronization of two or more clients
US6408282B1 (en) * 1999-03-01 2002-06-18 Wit Capital Corp. System and method for conducting securities transactions over a computer network
DE60119822T8 (de) * 2000-03-29 2007-05-31 Fuji Photo Film Co. Ltd. Verteiltes Datenverarbeitungssystem und Datenverarbeitungsverfahren in einem verteilten Datenverarbeitungssystem

Also Published As

Publication number Publication date
TWI256556B (en) 2006-06-11
GB2390711B (en) 2006-01-04
GB2390711A (en) 2004-01-14
GB0309007D0 (en) 2003-05-28
US20040006578A1 (en) 2004-01-08

Similar Documents

Publication Publication Date Title
DE10313048A1 (de) System und Verfahren zur Verwaltung verteilter gleichzeitiger Versionen
DE60220676T2 (de) Konsistente lesevorgänge in einer verteilten datenbankumgebung
DE69729399T2 (de) Datenverwaltungssystem und Verfahren für replizierte Daten
DE69932465T2 (de) Dateidistributionssystem und dessen Verfahren
DE60204729T2 (de) Objektenlöschen von einem Vorrichtungspeicher
DE69818232T2 (de) Verfahren und system zur verhinderung des herunterladens und ausführens von ausführbaren objekten
DE60220418T2 (de) Verfahren und Anbieter zur Systemsynchronisation
DE19708021C1 (de) Verfahren zur Regelung eines Zugriffs von Rechnern auf Daten eines zentralen Rechners
EP0849666A2 (de) Verfahren zum Instantiieren einer versionsbehafteten Klasse
DE202011110895U1 (de) Echtzeitsynchronisierte Bearbeitung von Dokumenten durch mehrere Benutzer für das Bloggen
DE10112941A1 (de) System und Verfahren für das parallele Lesen von primären und sekundären Sicherungen zur Wiederherstellung mehrerer gemeinsam benutzter Datenbankdateien
DE68921715T2 (de) Konferenzverbindungssystem.
EP0791884A2 (de) Verfahren zum rechnergestützten Abgleich mehrerer, in mindestens einem Rechner gespeicherten Dateikopien einer gespeicherten Datei
DE602004006224T2 (de) Verfahren und Vorrichtung zur Datensynchronisierung eines verteilten Datenbanksystems
DE10311082A1 (de) Elektronikdokumentmanagementverfahren und Programm
DE69723500T2 (de) Datenqualitätsverwaltungssystem
EP1225511A1 (de) Verfahren und system zur akten-verwaltung in verteilten umgebungen
DE19803697C2 (de) Verfahren zum Aufrüsten eines Softwaresystems und Vorrichtung zur Durchführung des Verfahrens
EP1227616A1 (de) Verfahren, Programm und Anordnung zur Synchronisierung von einem Network Manager mit einem Network Agenten
EP1673915B1 (de) Betriebsverfahren für einen server und hiermit korrespondierende gegenstände
DE69308790T2 (de) Dateienverwaltungsverfahren, Aufzeichnungsmedium und Rechnersystem dafür
AT522281A1 (de) Verfahren zur Charakterisierung des Betriebszustands eines Computersystems
DE602004009149T2 (de) Vorrichtung und Verfahren zur Bestimmung des Synchronisationszustandes von Datenbankkopien, die über eine Funkschnittstelle eines Funkkommunikationssystems verbunden werden
EP1844396B1 (de) Verfahren zum unterbrechungsfreien software-update
DE60202858T2 (de) Installation von softwareanwendungen in einem endgerät

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection