DE60315996T2 - Verfahren und vorrichtung zur datenbewegung mittels sperren - Google Patents

Verfahren und vorrichtung zur datenbewegung mittels sperren Download PDF

Info

Publication number
DE60315996T2
DE60315996T2 DE60315996T DE60315996T DE60315996T2 DE 60315996 T2 DE60315996 T2 DE 60315996T2 DE 60315996 T DE60315996 T DE 60315996T DE 60315996 T DE60315996 T DE 60315996T DE 60315996 T2 DE60315996 T2 DE 60315996T2
Authority
DE
Germany
Prior art keywords
data
data object
lock
lock object
data objects
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60315996T
Other languages
English (en)
Other versions
DE60315996D1 (de
Inventor
Thorsten Pferdekaemper
Martin Fischer
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.)
SAP SE
Original Assignee
SAP SE
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 SAP SE filed Critical SAP SE
Application granted granted Critical
Publication of DE60315996D1 publication Critical patent/DE60315996D1/de
Publication of DE60315996T2 publication Critical patent/DE60315996T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency control
    • G06F16/2336Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
    • G06F16/2343Locking methods, e.g. distributed locking or locking implementation details
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99938Concurrency, e.g. lock management in shared database
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99955Archiving or backup

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)
  • Lock And Its Accessories (AREA)
  • Closed-Circuit Television Systems (AREA)
  • Time Recorders, Dirve Recorders, Access Control (AREA)
  • Bridges Or Land Bridges (AREA)
  • Circuits Of Receivers In General (AREA)
  • Selective Calling Equipment (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Numerical Control (AREA)
  • Credit Cards Or The Like (AREA)
  • Traffic Control Systems (AREA)

Description

  • Allgemeiner Stand der Technik
  • Gebiet der Erfindung
  • Das technische Gebiet dieser Erfindung fällt in den Bereich der elektronischen Datenverarbeitung. Insbesondere betrifft die Erfindung Verfahren, Computerprogrammprodukte und Systeme zur Datenbewegung.
  • Beschreibung des Standes der Technik
  • Das Bewegen von Datenobjekten ist jedem Benutzer eines Computers vertraut und ist ein Standardverfahren, das routinemäßig angewendet wird. Eine spezielle Anwendung des Bewegens von Datenobjekten ist der Archivierungsprozess, wobei Datenobjekte aus Sicherheits- und/oder Leistungserwägungen von einem ersten zu einem zweiten Speicherort bewegt werden. In Unternehmen werden "Enterprise Resource Planning" (ERP)-Softwareanwendungen zum Steuern oder Unterstützen von Geschäftsprozessen und des Managements des Unternehmens verwendet. ERP-Software dient des Weiteren dazu, Firmeninformationen unterschiedlicher Art von Unternehmen in verschiedensten technischen Bereichen mit Hilfe automatischer Datenverarbeitungssysteme, wie zum Beispiel Computern oder Computersystemen, zu verwalten. Während der Nutzung solcher Software fallen in der Regel riesige Datenmengen an, die wichtige geschäftliche Informationen enthalten und die von Zeit zu Zeit archiviert werden müssen.
  • Entsprechend dem Stand der Technik (siehe Helmut Stefani, Datenarchivierung mit SAP, Galileo Press GmbH, Bonn 2002, ISBN 3-89842-212-7) kann das Archivieren automatisch durch Archivierungssoftwaretools ausgeführt werden, die ein Teil der ERP-Software sein können. Solche Tools können aus einem Schreibmodul, das die zu archivierenden Datenobjekte sequenziell in Archivdateien speichert (schreibt), und einem Löschmodul, das die erfolgreich archivierten Daten aus der ursprünglichen Datenobjektbank löscht, bestehen. Das Schreibmodul kann die zu archivierenden Datenobjekte anhand bestimmter Kriterien, zum Beispiel der Erstellungszeit der Daten, aus der Datenbank aussuchen. Es modifiziert in der Regel weder die ursprünglichen Datenobjekte noch die Datenbank. Das Löschmodul liest die Archivdatei sequenziell in versetzter Weise und löscht die in der Archivdatei gefundenen Datenobjekte aus der ursprünglichen Datenbank. Dadurch wird gewährleistet, dass nur jene Datenobjekte aus der ursprünglichen Datenbank gelöscht werden, die lesbar in der Archivdatei gespeichert sind. Die Zeit für den Archivierungsvorgang als Ganzes hängt von der Datenmenge ab und schwankt zwischen einigen Millisekunden und mehreren Stunden oder Tagen. Folglich gibt es in vielen Fällen eine erhebliche Zeitlücke zwischen dem Schreiben der Daten in die Archivdatei und dem Löschen der Daten aus der ursprünglichen Datenbank. Diese Zeitlücke kann eine Ursache für die folgenden Probleme sein:
    Solange die Datenobjekte noch in der ursprünglichen Datenbank verfügbar sind, können sie immer noch während der Zeitlücke modifiziert werden. Weil das Löschprogramm das archivierte Datenobjekt und das zu löschende Datenobjekt nicht miteinander vergleicht, können solche Modifikationen verloren gehen. Dies hat nicht nur den Verlust der geänderten Daten zur Folge, sondern es kann außerdem zur Folge haben, dass bestimmte Geschäftsprozesse nicht zu Ende geführt werden können.
  • Ein anderes Problem tritt auf, wenn mehrere Archivierungsprozesse parallel ablaufen. Dann kann es geschehen, dass ein und dasselbe Datenobjekt mehrere Male archiviert wird und nicht mehr eindeutig identifizierbar ist. Das kann zur Folge haben, dass Auswertungen oder statistische Analysen, die auf die Archivdateien zurückgreifen, falsche Ergebnisse liefern.
  • Es kann außerdem passieren, dass Datenobjekte in der ursprünglichen Datenbank durch das Schreibmodul gelesen werden und gleichzeitig durch eine andere Software-Anwendung modifiziert werden. In einem solchen Fall können die Daten von einem archivierbaren Status zu einem nicht-archivierbaren Status übergehen. In der Folge werden Datenobjekte, die nicht archivierbar sind, in die Archivdatei geschrieben und aus der ursprünglichen Datenbank gelöscht. Dies kann im Endeffekt zu einem Verlust der Daten führen.
  • Es besteht somit Bedarf an einem Verfahren und/oder einem Datenverarbeitungssystem, die eine effizientere Lösung für die oben beschriebenen Probleme darstellen.
  • Kurzdarstellung der Erfindung
  • Der Geltungsbereich der Erfindung wird durch die angehängten Ansprüche definiert.
  • Kurze Beschreibung der Zeichnungen
  • Die begleitenden Zeichnungen, die in diese Spezifikation aufgenommen sind und einen Teil von ihr bilden, veranschaulichen Beispiele der Ausführungsformen der Erfindung und erläutern zusammen mit der Beschreibung die Prinzipien der Erfindung. In den Zeichnungen ist Folgendes dargestellt:
  • 1 ist ein schematisches Blockschaubild der Implementierung des erfindungsgemäßen Verfahrens in einem Computersystem.
  • 2 ist ein Schaubild einer beispielhaften Struktur eines Datenobjekts gemäß den Prinzipien des erfindungsgemäßen Verfahrens.
  • 3 ist ein beispielhaftes Flussdiagramm einer Implementierung des in 1 gezeigten Auswahlmoduls.
  • 4 ist ein beispielhaftes Flussdiagramm einer Implementierung des in 1 gezeigten Schreibmoduls.
  • 5 ist ein beispielhaftes Flussdiagramm einer Implementierung des in 1 gezeigten Löschmoduls.
  • 6 ist ein beispielhaftes Flussdiagramm einer weiteren Implementierung des in 1 erwähnten Auswahl- und Schreibmoduls.
  • 7 zeigt in einem beispielhaften Flussdiagramm, wie jede beliebige Software-Anwendung das Konzept der P- und T-Sperren.
  • 8 zeigt eine Prozessalternative zu dem in 7 gezeigten Prozess, die eine bedingte Löschung einer P-Sperre enthält.
  • 9 zeigt ein Beispiel eines Flussdiagramms für ein Softwaremodul, mit dem die Sperren gelöscht werden können.
  • Detaillierte Beschreibung
  • Computersystem und Programm stehen in einer engen Beziehung zueinander. Im Sinne des vorliegenden Textes sind Wendungen wie zum Beispiel "der Computer erzeugt", "das Programm erzeugt oder führt bestimmte Aktionen aus" und "ein Benutzer führt eine bestimmte Aktion aus" zweckmäßige Abkürzungen, um Aktionen eines Computersystems auszudrücken, das durch ein Programm gesteuert wird, oder um auszudrücken, dass das Programm oder Programmmodul dafür ausgelegt ist, das Computersystem in die Lage zu versetzen, die bestimmte Aktion auszuführen, oder einen Benutzer in die Lage zu versetzen, die bestimmte Aktion mittels eines Computersystems auszuführen.
  • Es wird nun im Einzelnen auf die Prinzipien der Erfindung eingegangen, indem die Erfindung anhand eines Archivierungsprozesses erläutert wird, wovon Beispiele in den begleitenden Zeichnungen veranschaulicht sind. Die dort erwähnten Beispiele sollen die Erfindung erläutern und sie in keiner Weise einschränken.
  • Innerhalb des Konzepts dieser Beschreibung haben die verwendeten Begriffe ihre üblichen Bedeutungen im Kontext des Gebietes der Datenverarbeitung, sofern im folgenden Abschnitt nichts anderes ausgesagt wird.
  • Ein Computersystem kann ein allein stehender Computer sein, wie zum Beispiel ein PC oder ein Laptop, oder kann eine Reihe von Computern sein, die zu einem Netzwerk verbunden sein, zum Beispiel ein Netzwerk innerhalb eines Unternehmens, oder eine Reihe von Computern, die über das Internet verbunden sind. Bei einem zu archivierenden Datenobjekt kann es sich um jede beliebige Datenart oder um jeden beliebigen Datentyp handeln, zum Beispiel numerische oder Textdaten, Bilddaten oder Metadaten, unabhängig davon, ob die Daten als komplette Dateien oder Teile von Dateien oder als Tabellenfelder implementiert sind, und unabhängig davon, ob sie in flüchtigem Speicher oder nichtflüchtigem Speicher gespeichert sind. Zum Beispiel können Datenobjekte gemäß der vorliegenden Erfindung als ein oder mehrere Felder einer oder mehrerer Tabellen implementiert sein, insbesondere von Tabellen eines relationalen Datenbanksystems oder als Objekte in einer objektorientierten Programmiersprache.
  • Der Begriff ERP-Software ist so zu verstehen, dass er jegliche Software-Anwendung beinhaltet, welche die Geschäftsprozesse eines Unternehmens unterstützt.
  • Ein Speicherort ist ein flüchtiges oder nichtflüchtiges Speichermittel, auf das das Computersystem zugreifen kann. Es kann sich um eine beliebige Art von Computerspeichermittel handeln, das dem Durchschnittsfachmann bekannt ist, zum Beispiel RAM, magnetische oder optische Speichermedien, wie zum Beispiel Disketten, Festplatten, MO-Disks, CD-ROM, CD-RW, DVD-ROM, DVD-RW usw. Der erste und der zweite Speicherort können identisch sein. In diesem Fall müssen die archivierten Datenobjekte an einem anderen Ort als dem Ort der ursprünglichen zu archivierenden Datenobjekte gespeichert werden. Der zweite Speicherort kann auch als eine Datei implementiert sein, die sich irgendwo in dem zugreifbaren nichtflüchtigen Speichermittel befindet. Eine solche Datei wird anschließend als Archivdatei bezeichnet.
  • Ein Identifikator (ID) ist ein Datentyp, der eine unzweideutige Identifizierung des zu archivierenden Datenobjekts gestattet. Er kann zum Beispiel als eine Zahl oder eine Kombination von alphanumerischen Zeichen oder als ein kennzeichnender Teil des zu archivierenden Datenobjekts implementiert sein. Aus dieser Definition wird deutlich, dass ein Datenobjekt eine breite Vielfalt unterschiedlicher IDs haben kann. Ein Sperrobjekt ist ein Datenobjekt, in dem die Identifikatoren gespeichert sind. Es kann zum Beispiel als eine Datei auf einem Speichermittel oder als eine Datengruppierung in einem Computerspeicher implementiert sein. Ein erstes Sperrobjekt ist vorteilhafterweise in einem nichtflüchtigen Speichermittel gespeichert, und ein zweites Sperrobjekt ist in einem flüchtigen und/oder nichtflüchtigen Speichermittel gespeichert.
  • Die Zuweisung des zweiten Speicherorts zu einem ID kann durch eine Tabelle implementiert werden, wobei ein Feld einer Zeile den ID enthält und ein anderes Feld dieser Zeile eine Verknüpfung zu dem zweiten Speicherort enthält, zum Beispiel einen Dateinamen. Diese Tabelle kann als eine Datei auf einem nichtflüchtigen Speichermittel gespeichert werden.
  • 1 zeigt ein Beispiel einer Implementierung einer ersten Ausführungsform der Erfindung. 1 zeigt ein Computersystem 101 mit einem Computer 103, der eine CPU 105 und einen Arbeitsspeicher 112 aufweist, in dem eine ERP-Software 111 gespeichert ist, um durch die CPU 105 verarbeitet zu werden. Die ERP-Software 111 weist Programmmodule 106, 109 und 110 zum Ausführen des erfindungsgemäßen Datenarchivierungsprozesses auf. Das Computersystem 101 weist des Weiteren ein Eingabemittel 113, ein Ausgabemittel 112 zur Interaktion mit einem Benutzer und ein allgemeines Eingabe/Ausgabemittel 104 auf, das eine Netzverbindung 114 zum Senden und Empfangen von Daten enthält. Mehrere Computersysteme 101 können über die Netzverbindung 114 in Form eines Netzwerks 113 verbunden sein. In diesem Fall können die Netzwerkcomputer 113 als weitere Eingabe/Ausgabemittel verwendet werden, einschließlich als weitere Speicherorte. Das Computersystem 103 hat des Weiteren ein erstes Speichermittel 107, in dem zu archivierende Daten und das Sperrobjekt gespeichert sind, und ein zweites Speichermittel 108, in dem die archivierten Daten gespeichert sind.
  • Falls die Programmmodule 106, 109 und 110 durch die CPU 105 verarbeitet werden, um den erfindungsgemäßen Prozess auszuführen, so werden ein oder mehrere Datenobjekte, die in dem ersten Speichermittel 107 gespeichert sind, durch das Auswahlmodul 110 ausgewählt. Das Auswahlmodul 110 weist einen ID zu jedem der ausgewählten Datenobjekte zu und speichert den ID in dem Sperrobjekt an dem Speicherort 107. Das Schreibmodul 106 liest die Datenobjekte und das Sperrobjekt und speichert diese Datenobjekte, deren ID in dem Sperrobjekt enthalten sind, an dem zweiten Speicherort 108. Außerdem wird der zweite Speicherort 108 dem jeweiligen ID des Datenobjekts in dem Sperrobjekt zugewiesen. Das Löschmodul 109 liest dann die archivierten Datenobjekte in dem zweiten Speicherort 108 und löscht die Datenobjekte, die es erfolgreich aus dem ursprünglichen Satz von Datenobjekten in dem ersten Speicherort 107 lesen konnte. Nach dem Löschen eines bestimmten Datenobjekts, dem ein ID zugeordnet war, wird dieser ID aus dem Sperrobjekt gelöscht.
  • In einer alternativen Ausführungsform wird das Sperrobjekt durch das Auswahlmodul und nicht durch das Schreibmodul erstellt.
  • In einer zweiten Implementierung der Erfindung enthält ein zu archivierendes Datenobjekt ein oder mehrere Felder einer oder mehrerer Tabellen, und der ID des jeweiligen Objekts enthält ein oder mehrere Schlüsselfelder dieses Datenobjekts. Das kann man am besten aus 2 erkennen. In diesem Fall werden verschiedene Sätze von Datenobjekten in Form zweidimensionaler Datengruppierungen erzeugt, d. h. zwei Tabellen mit Spalten, die als Feld A bis Feld X bzw. Feld Y bezeichnet sind, und einer bestimmten nicht-spezifizierten Anzahl von Zeilen. Ein Feld der Gruppierung oder Tabelle ist durch den Namen der Spalte und die jeweilige Zeile definiert. Ein solches Feld kann zu archivierende Daten enthalten. Es kann alternativ einen Verweis auf eine Zeile einer weiteren Tabelle enthalten. Zum Beispiel enthält in Tabelle 1 das Feld X in Zeile 2 einen Verweis auf Zeile 3 in Tabelle 2. Ein zu archivierendes Datenobjekt enthält Felder einer einzelnen Zeile der jeweiligen Tabelle. Wenn eines der Felder einen Verweis auf eine Zeile einer anderen Tabelle enthält, so gehören die Felder dieser verwiesenen Zeile auch zu dem Datenobjekt. In dem Beispiel in 2 enthält ein zu archivierendes Datenobjekt die Felder der Zeile 2 in Tabelle 1 und die Felder der Zeile 3 in Tabelle 2. Ein ID eines solchen Datenobjekts kann durch den Inhalt eines oder mehrerer sogenannter Schlüsselfelder implementiert werden, wenn die Kombination dieser Schlüsselfelder innerhalb der jeweiligen Tabelle eindeutig ist. In dem Beispiel können die Felder von "Feld A" und "Feld B" als Schlüsselfelder für Tabelle 1 verwendet werden, während Feld A allein das Schlüsselfeld in Tabelle 2 ist. Innerhalb dieses Beispiels bedeutet das Zuweisen eines ID zu dem Datenobjekt, den Inhalt der Felder der Spalten Feld A und B der jeweiligen Zeilen als den ID für diese spezielle Zeile zu verwenden. Entsprechend dieser Zuweisung werden die IDs für das zu archivierende Datenobjekt als ein ID des ersten Typs in einem Sperrobjekt des ersten Typs, das in 2 als permanentes Sperrobjekt bezeichnet ist, gespeichert und als ein ID vom zweiten Typ in einem Sperrobjekt vom zweiten Typ mit der Bezeichnung "transaktionales Sperrobjekt" gespeichert. Das permanente Sperrobjekt ist als eine Tabelle mit zwei Spalten implementiert, wovon die erste den ID 1 des ersten Typs enthält. Der ID vom zweiten Typ, ID 2, kann als eine eindimensionale Datengruppierung implementiert werden, die in dem Arbeitsspeicher des Computersystems gespeichert ist. Er kann jedoch auch als eine Datei auf einem nichtflüchtigen Speichermittel implementiert werden. Der ID des ersten Typs, ID 1, wird gelöscht, nachdem das ausgewählte Datenobjekt gemäß Schritt e) des erfindungsgemäßen Prozesses gelöscht wurde, und der ID vom zweiten Typ ID 2 wird unmittelbar nach der Zeit gelöscht, die in Schritt f) definiert ist. Alternativ können IDs vom Typ ID 1 gelöscht werden, nachdem alle ausgewählten Datenobjekte gemäß Schritt e) gelöscht wurden. Wie zu sehen ist, haben beide ID-Typen einen identischen Inhalt: den ID der jeweiligen Zeilen der zu archivierenden Daten. Dies ist jedoch keine notwendige Bedingung. Aus der Tatsache, dass der ID 2 von Zeile BB gelöscht wird, ist zu ersehen, dass diese Zeile bereits archiviert wurde, während Zeile BC noch nicht in der Archivdatei gespeichert wurde. Die zwei Typen können auch zusammen in einem einzigen Sperrobjekt gespeichert werden. Die permanenten Sperrobjekte enthalten des Weiteren eine Spalte, mit der ein Dateiname zu dem ID des Datenobjekts, d. h. jenes Datenobjekts, das zu archivieren ist, zugewiesen wird. In dem Beispiel werden die Zeile 1 in einer Datei namens 001, die Zeilen 2 und 3 in einer Datei 002 und die Zeile 4 in einer Datei 003 archiviert.
  • Die Auswahl des Datenobjekts kann durch ein automatisches Verfahren, wie zum Beispiel durch eine einfache Abfrage, implementiert werden, das alle Zeilen mit einem bestimmten Feld, das eine bestimmte Bedingung erfüllt, zurückmeldet. Zum Beispiel könnte das Verfahren alle Zeilen zurückmelden, in denen der Inhalt eines Datumsfeldes vor dem Datum oder nach dem Datum eines bestimmten Stichtages liegt. Die Auswahl kann auch durch einen Benutzer implementiert werden, dem über eine graphische Benutzerschnittstelle eine Auswahltabelle angeboten wird.
  • Eine weitere Ausführungsform ist dadurch gekennzeichnet, dass in Schritt c) die IDs des zweiten Typs in einem zweiten Sperrobjekt unmittelbar nach dem Ausführen des Schrittes b) für das jeweilige Datenobjekt gespeichert werden. Alternativ wird in Schritt c) der ID des zweiten Typs des ausgewählten Datenobjekts gespeichert, kurz bevor der Speicherprozess gemäß Schritt d) für das Datenobjekt, das diesem ID zugewiesen ist, begonnen wird.
  • Eine weitere Ausführungsform ist dadurch gekennzeichnet, dass in Schritt c) die IDs des ersten Typs aller ausgewählten Datenobjekte gespeichert werden, bevor der erste Speicherprozess gemäß Schritt d) begonnen wird.
  • In einer weiteren Ausführungsform enthält die Erfindung g) das Prüfen – vor oder während des Ausführens eines der Schritte a) bis c) – für ein Datenobjekt, ob ein ID für dieses Datenobjekt in einem Sperrobjekt gespeichert wurde, und wenn das der Fall ist, Überspringen wenigstens des Schrittes d) für dieses Datenobjekt.
  • Außerdem enthält die Erfindung h) das Prüfen – vor oder während des Ausführens eines der Schritte a) bis d) – für ein Datenobjekt, ob das Datenobjekt in dem zweiten Speicherort enthalten ist, und wenn das der Fall ist, Überspringen wenigstens des Schrittes d) für dieses Datenobjekt.
  • Eine weitere Ausführungsform ist dadurch gekennzeichnet, dass das Prüfen durch Abfragen eines Sperrobjekts erfolgt.
  • In einer weiteren Ausführungsform enthält der Schritt d) des Prüfens das Prüfen, ob das Datenobjekt, das dem jeweiligen ID zugewiesen wurde, vollständig an dem zweiten Ort gespeichert wurde, und wenn das nicht der Fall ist, Überspringen wenigstens der Schritte e) und f) für dieses Datenobjekt und Löschen des ID aus dem Sperrobjekt.
  • Die Erfindung wird nun eingehender anhand der 3 bis 5 beschrieben, die schematische Flussdiagramme beispielhafter Implementierungen des Auswahl-, des Schreib- bzw. des Löschmoduls darstellen, wie in 1 gezeigt. Im Kontext dieser Beschreibung und speziell im Kontext der 3 bis 9 heißt ein ID des ersten Typs eine P-Sperre (permanent), und ein ID vom zweiten Typ heißt eine T-Sperre (transaktional). Das Setzen einer P- oder T-Sperre für ein ausgewähltes Objekt bedeutet also das Speichern eines ID dieses Objekts in einem jeweiligen Sperrobjekt. Der Begriff "permanent" ergibt sich aus der Eigenschaft der P-Sperre, permanent zu existieren, solange das Datenobjekt noch nicht von seinem ursprünglichen Speicherort gelöscht wurde. Der Begriff "transaktional" ergibt sich aus der Eigenschaft der T-Sperre, nur so lange zu existieren, wie eine bestimmte Aktion (zum Beispiel Prüfen der Archivierbarkeit) an einem ausgewählten Datenobjekt ausgeführt wird, oder anders ausgedrückt: gelöscht zu werden, kurz nachdem die jeweilige Aktion ausgeführt wurde.
  • In dem Flussdiagramm des Auswahlmoduls in 3 wird ein Datenobjekt in einem ersten Schritt 301 ausgewählt. Anschließend wird in Schritt 302 an diesem Objekt eine T-Sperre gesetzt. Wenn die T-Sperre erfolgreich gesetzt wurde (Schritt 303), das heißt, wenn sie noch nicht existierte, so wird in Schritt 304 geprüft, ob in dem ausgewählten Datenobjekt bereits eine P-Sperre existiert. Wenn nicht, wird in Schritt 309 das nächste Datenobjekt ausgewählt. Das Setzen der T-Sperre (Schritt 302) und das Prüfen (Schritt 303), ob sie erfolgreich gesetzt wurde, können vorteilhafterweise als ein "atomischer" Schritt implementiert werden. Das bedeutet, dass beide Schritte im Wesentlichen zur selben Zeit ausgeführt werden können, oder anders ausgedrückt: die Zeitlücke zwischen beiden kann im Wesentlichen null sein.
  • Beide Prüfungen (Schritte 303 und 304) können auch durch Abfragen der jeweiligen Sperrobjekte implementiert werden. Wenn eine P-Sperre existiert, so wird die T-Sperre gelöscht (Schritt 308), und das nächste Datenobjekt wird ausgewählt (Schritt 309). Wenn keine P-Sperre existiert, so wird in den Schritten 305 und 306 geprüft, ob das Datenobjekt archivierbar ist. Ein solches Prüfen enthält einen Test, ob die Daten in dem Datenobjekt lesbar, vollständig, nicht voll von offensichtlichen Fehlern usw. sind. Wenn der Test erfolgreich ist, so wird in Schritt 307 eine P-Sperre an diesem Datenobjekt gesetzt, wodurch dem Datenobjekt an diesem Punkt keine Archivdatei zugewiesen wird. Dann wird die T-Sperre gelöscht (Schritt 308), und das nächste Datenobjekt wird ausgewählt (Schritt 309).
  • In dem Flussdiagramm des Schreibmoduls in 4 wird in einem ersten Schritt 401 ein Datenobjekt ausgewählt. Anschließend wird in Schritt 402 eine T-Sperre an diesem Objekt gesetzt. Wenn die T-Sperre erfolgreich gesetzt wurde (Schritt 403), so wird in Schritt 404 geprüft, ob in dem ausgewählten Datenobjekt bereits eine P-Sperre existiert, wodurch diesem Datenobjekt an diesem Punkt des Prozesses keine Datei zugewiesen werden darf. Wenn die Bedingung nicht erfüllt ist, so wird die T-Sperre in Schritt 407 gelöscht, und das nächste Datenobjekt wird in Schritt 408 ausgewählt. Wenn eine P-Sperre existiert, so wird das Datenobjekt in Schritt 405 in einer Archivdatei gespeichert, und die Archivdatei wird dem Datenobjekt in Schritt 406 zugewiesen, zum Beispiel durch Hinzufügen des Dateinamens zu dem Sperrobjekt, wie in 2 gezeigt. Anschließend wird die T-Sperre gelöscht (Schritt 407), und das nächste Datenobjekt wird ausgewählt (Schritt 408).
  • In dem Flussdiagramm des Löschmoduls in 5 wird ein Datenobjekt, das bereits archiviert wurde, ausgewählt (Schritt 501). Dies kann durch Prüfen der Archivdateien implementiert werden. Wenn ein Datenobjekt ausgewählt wurde und erfolgreich aus der Archivdatei gelesen wurde, so wird dieses Datenobjekt aus dem ursprünglichen Speicherort gelöscht (Schritt 502), die P-Sperre wird gelöscht (Schritt 503), und das nächste Datenobjekt wird ausgewählt (Schritt 504).
  • In dem beispielhaften Flussdiagramm einer weiteren beispielhaften Implementierung in 6 werden das Auswahl- und das Schreibmodul, die oben beschrieben sind, zu einem einzigen Modul kombiniert. Dementsprechend wird in einem ersten Schritt 601 ein Datenobjekt ausgewählt. Anschließend wird an diesem Objekt in Schritt 602 eine T-Sperre gesetzt. Wenn die T-Sperre erfolgreich gesetzt wurde (Schritt 603), so wird in Schritt 604 geprüft, ob in dem ausgewählten Datenobjekt bereits eine P-Sperre existiert. Wenn die T-Sperre nicht erfolgreich gesetzt werden konnte, so wird das nächste Datenobjekt ausgewählt (Schritt 610). Wenn an diesem Objekt eine P-Sperre existiert, so wird die T-Sperre gelöscht (Schritt 609), und das nächste Datenobjekt wird ausgewählt (Schritt 610). Wenn keine P-Sperre an diesem Objekt existiert, so wird in Schritt 605 geprüft, ob das Datenobjekt archivierbar ist. Wenn diese Prüfung fehlschlägt (Schritt 606), so wird die T-Sperre gelöscht (Schritt 609), und das nächste Datenobjekt wird ausgewählt (Schritt 610). Wenn die Prüfung positiv ist, so wird das Datenobjekt in einer Archivdatei gespeichert (Schritt 605), eine P-Sperre wird bei zugewiesener Archivdatei gesetzt (Schritt 608), die T-Sperre wird gelöscht (Schritt 609), und das nächste Datenobjekt wird ausgewählt (Schritt 610).
  • 7 zeigt anhand eines beispielhaften Flussdiagramms, wie eine beliebige Software-Anwendung das Konzept der P- und T-Sperren nutzen kann, um zu gewährleisten, dass Maßnahmen, die durch die Software-Anwendung an dem Datenobjekt vollzogen werden, nicht den Archivierungsprozess beeinflussen. Eine Software-Anwendung, die so programmiert ist, dass sie einen Lese- und/oder Schreibzugriff auf Datenobjekte hat, die einem Archivierungsprozess unterzogen werden können, wie oben beschrieben wurde, enthält die folgenden Schritte, wie in 7 gezeigt. In einem ersten Schritt 701 wird das Datenobjekt ausgewählt. Dann wird in Schritt 702 an diesem Objekt durch die Anwendung eine T-Sperre gesetzt. Wenn die T-Sperre erfolgreich gesetzt wurde (Schritt 703), so wird in Schritt 704 geprüft, ob eine P-Sperre an diesem Objekt existiert. Andernfalls bricht die Anwendung in Schritt 707 ab. Wenn eine P-Sperre an diesem Objekt existiert (Schritt 704), so wird die T-Sperre gelöscht (Schritt 706), und die Anwendung bricht ab (Schritt 707). Wenn keine P-Sperre existiert, d. h. das Datenobjekt keinem Archivierungsprozess unterzogen wird, so kann die Anwendung in einem Arbeitsschritt 705 einen Lese/Schreibzugriff auf das Datenobjekt haben. Anschließend löscht die Anwendung die T-Sperre (Schritt 706) und bricht ab (Schritt 707).
  • 8 zeigt eine Prozessalternative zu dem Prozess, der in 7 gezeigt ist, die eine bedingte Löschung einer P-Sperre enthält. In einem ersten Schritt 801 wird das Datenobjekt ausgewählt. Dann wird durch die Anwendung eine T-Sperre an diesem Objekt gesetzt (Schritt 802). Wenn die T-Sperre erfolgreich gesetzt wurde (Schritt 803), so wird geprüft (Schritt 804), ob an diesem Objekt eine P-Sperre existiert. Andernfalls bricht die Anwendung ab (Schritt 809). Wenn keine P-Sperre existiert (Schritt 804), d. h. das Datenobjekt keinem Archivierungsprozess unterzogen wird, so kann die Anwendung im Arbeitsschritt 807 einen Lese/Schreibzugriff auf das Datenobjekt haben. Anschließend löscht die Anwendung die T-Sperre (Schritt 808) und bricht ab (Schritt 809). Wenn eine P-Sperre existiert (Schritt 804), so wird geprüft (Schritt 805), ob ihr eine Datei zugewiesen ist. Wenn eine Datei zugewiesen ist, so löscht die Anwendung die T-Sperre (Schritt 808) und bricht ab (Schritt 809). Wenn keine Datei zugewiesen ist, so wird die P-Sperre gelöscht (Schritt 806), und die Anwendung kann einen Lese/Schreibzugriff auf das Datenobjekt haben (Schritt 807). Anschließend löscht die Anwendung die T-Sperre (Schritt 808) und bricht ab (Schritt 809).
  • Dieses Verfahren ist insofern besonders nützlich, als Datenobjekte, die noch nicht in einer Archivdatei gespeichert sind, noch geändert werden können. Folglich können sie erst beim nächsten Archivierungsdurchgang archiviert werden.
  • 9 zeigt ein Beispiel eines Flussdiagramms für ein Softwaremodul, mit dessen Hilfe die Sperren, die durch die oben beschriebenen Module gesetzt wurden, gelöscht werden können. Dies kann in Fällen nützlich sein, in denen keine Archivdateien zu P-Sperren zugewiesen sind oder in denen P-Sperren für einen Benutzer gelöscht wurden. Dabei ist eine P-Sperre nichts anderes als ein Datenobjekt und kann in der gleichen Weise behandelt werden, wie oben beschrieben wurde. In einem ersten Schritt 901 wird eine P-Sperre ausgewählt. Dann wird in Schritt 902 eine T-Sperre zu der P-Sperre gesetzt. Wenn die T-Sperre erfolgreich gesetzt wurde (Schritt 903), so wird geprüft (Schritt 904), ob der P-Sperre eine Datei zugewiesen ist. Wenn die T-Sperre nicht erfolgreich gesetzt ist, so bricht das Modul ab (Schritt 907). Wenn der ausgewählten P-Sperre keine Datei zugewiesen ist (Schritt 904), so wird die P-Sperre gelöscht (Schritt 905). Dann wird die T-Sperre gelöscht (Schritt 906), und das Modul bricht ab (Schritt 907). Alternativ zu dem Schritt 907 des Abbrechens kann eine nächste P-Sperre ausgewählt werden.
  • Für den Fachmann sind anhand des Studiums der Spezifikation und der Praktizierung der im vorliegenden Text offenbarten Erfindung Modifikationen und Adaptionen der vorliegenden Erfindung erkennbar. Die obige Beschreibung einer Implementierung der Erfindung dient dem Zweck der Veranschaulichung und Beschreibung. Sie ist nicht erschöpfend und beschränkt die Erfindung nicht auf genau die Form, die hier offenbart ist. Modifikationen und Variationen sind im Licht der obigen Lehren möglich oder können sich aus der Praktizierung der Erfindung ergeben. Zum Beispiel enthält die beschriebene Implementierung Software; aber Systeme und Verfahren, die der vorliegenden Erfindung folgen, können als eine Kombination aus Hardware und Software oder in Hardware allein implementiert werden. Des Weiteren sind zwar Aspekte der vorliegenden Erfindung zum Speichern in einem Speicher beschrieben, doch dem Fachmann leuchtet ein, dass diese Aspekte auch in anderen Typen computerlesbarer Medien gespeichert werden können, wie zum Beispiel Sekundärspeichervorrichtungen, zum Beispiel Festplatten, Disketten oder CD-ROM; dem Internet oder anderen Verbreitungsmedien; oder sonstigen Formen von RAM oder ROM.
  • Computerprogramme, die auf der schriftlichen Beschreibung und den Flussdiagrammen dieser Erfindung basieren, liegen im Rahmen der Fähigkeiten eines erfahrenen Entwicklers. Die verschiedenem Programme oder Programmmodule können mit Hilfe jeglicher der Technologien erstellt werden, die dem Fachmann bekannt sind, oder können in Verbindung mit vorhandener Software gestaltet werden. Zum Beispiel können Programme oder Programmmodule in oder mit Hilfe von Java®, C++, HTML, XML oder HTML mit eingebundenen Java-Applets oder in SAP R/3 oder ABAP gestaltet werden.

Claims (14)

  1. Verfahren zum Bewegen von Datenobjekten (201.x) in einem Computersystem (101) von einem ersten (107) zu einem zweiten (108) Speicherort, mit folgenden Schritten: a) Auswählen eines oder mehrerer Datenobjekte (201.x) aus dem ersten Speicherort (107, 601); b) Zuweisen wenigstens eines Identifikators (ID) wenigstens eines Typs zu jedem der ausgewählten Datenobjekte (201.x); und gekennzeichnet durch: c) Speichern des wenigstens einen ID in einem transaktionalen Sperrobjekt (204, 601), um den Zugriff auf die Datenobjekte (201.x) zu ermöglichen, und in dem Fall, dass das Speichern in dem transaktionalen Sperrobjekt erfolgreich ausgeführt wurde (603); d) Prüfen, ob der wenigstens eine ID in einem permanenten Sperrobjekt (203, 604) enthalten ist, und nur, wenn der wenigstens eine ID nicht in dem permanenten Sperrobjekt (203, 604) enthalten ist, Prüfen, ob die ausgewählten Datenobjekte (201.x) archivierbar sind (605), und nur, wenn sie archivierbar sind (606), Speichern des wenigstens einen ID in dem permanenten Sperrobjekt (203, 608), um anzuzeigen, dass das eine oder die mehreren Datenobjekte (201.x) archivierbar sind; e) Speichern eines Datenobjekts (201.x), dessen wenigstens ein ID in dem permanenten Sperrobjekt (203) enthalten ist, an dem zweiten Speicherort (108, 607) und Zuweisen des zweiten Speicherortes (108) zu dem wenigstens einen ID in dem permanenten Sperrobjekt (203, 608), um anzuzeigen, dass das eine oder die mehreren Datenobjekte (201.x) archiviert wurden; f) Löschen des wenigstens einen ID aus dem transaktionalen Sperrobjekt (204, 609); g) Löschen eines Datenobjekts (201.x), das erfolgreich an dem zweiten Speicherort (108, 501) gelesen wurde und dessen wenigstens ein ID in dem permanenten Sperrobjekt (203) enthalten ist, aus dem ersten Speicherort (107, 502); h) Löschen eines wenigstens einen ID aus dem permanenten Sperrobjekt (203, 503) frühestens zu einem Zeitpunkt, an dem Schritt g) für das jeweilige Datenobjekt (201.x), das diesem wenigstens einen ID zugewiesen wurde, vollendet ist.
  2. Verfahren nach Anspruch 1, wobei: ein Datenobjekt (201.x) ein oder mehrere Felder einer oder mehrerer Tabellen (201, 202) enthält und wobei der wenigstens eine ID ein oder mehrere Schlüsselfelder der einen oder mehrerer Tabellen (201, 202) enthält.
  3. Verfahren nach Anspruch 1 oder 2, wobei: in Schritt e) die Datenobjekte (201.x) an dem zweiten Speicherort (108) in einem oder mehreren Feldern gespeichert werden und wobei das Zuweisen des zweiten Speicherortes zu dem wenigstens einen ID durch Zuweisen einer Zuordnung eines Dateinamens oder einer Datei, in der das Datenobjekt, das dem wenigstens einen ID zugewiesen ist, gespeichert werden soll, zu dem wenigstens einen ID in dem permanenten Sperrobjekt (203) implementiert wird.
  4. Verfahren nach Anspruch 1, wobei: in Schritt c) die IDs in dem transaktionalen Sperrobjekt (204) gespeichert werden, unmittelbar nachdem Schritt b) für das jeweilige Datenobjekt (201.x) ausgeführt wurde.
  5. Verfahren nach einem der Ansprüche 1 bis 4, wobei: in Schritt d) die IDs aller ausgewählten Datenobjekte (201.x) in dem permanenten Sperrobjekt (203, 608) gespeichert werden, bevor der erste Speicherprozess gemäß Schritt e) begonnen wird.
  6. Verfahren nach einem der Ansprüche 1 bis 5, das des Weiteren aufweist: i) Prüfen, bevor oder während einer der Schritte a) bis c) für ein Datenobjekt (201.x) ausgeführt wird, ob ein ID für dieses Datenobjekt (201.x) in einem Sperrobjekt (203, 204) gespeichert wurde, und wenn das der Fall ist, Überspringen wenigstens des Schrittes e) für dieses Datenobjekt (201.x).
  7. Verfahren nach einem der Ansprüche 1 bis 6, das des Weiteren aufweist: j) Prüfen, bevor oder während einer der Schritte a) bis e) für ein Datenobjekt (201.x) ausgeführt wird, ob das Datenobjekt (201.x) in dem zweiten Speicherort (108) enthalten ist, und wenn das der Fall ist, Überspringen wenigstens des Schrittes e) für dieses Datenobjekt (201.x).
  8. Verfahren nach Anspruch 7, wobei: das Prüfen gemäß Schritt j) durch Abfragen des permanenten Sperrobjekts (203) ausgeführt wird.
  9. Verfahren nach einem der Ansprüche 1 bis 8, das des Weiteren aufweist: k) im Fall eines Scheiterns in dem Speicherschritt des Schrittes e) Prüfen, ob das Datenobjekt (201.x), das dem jeweiligen ID zugewiesen ist, vollständig in dem zweiten Speicherort (108) gespeichert wurde, und wenn das nicht der Fall ist, Überspringen wenigstens der Schritte g) und h) für dieses Datenobjekt (201.x) und Löschen des ID aus dem permanenten Sperrobjekt (203).
  10. Verfahren nach einem der Ansprüche 1 bis 9 zur Verwendung in einer Enterprise Resource Planning-Software.
  11. Computersystem (101), das ein Codemittel aufweist, das dafür geeignet ist, jeden der Schritte des Verfahrens nach einem oder mehreren der Ansprüche 1 bis 10 auszuführen.
  12. Computerprogramm, das ein Codemittel aufweist, das dafür geeignet ist, ein Verfahren nach einem oder mehreren der Ansprüche 1 bis 10 auszuführen, wenn das Programm auf einem Computer läuft.
  13. Computerprogramm nach Anspruch 12, das auf einem computerlesbaren Speichermedium verkörpert ist.
  14. Computerprogramm nach Anspruch 12, das in einem elektrischen oder elektromagnetischen Signal verkörpert ist.
DE60315996T 2002-09-09 2003-09-04 Verfahren und vorrichtung zur datenbewegung mittels sperren Expired - Lifetime DE60315996T2 (de)

Applications Claiming Priority (13)

Application Number Priority Date Filing Date Title
US40890502P 2002-09-09 2002-09-09
US40890102P 2002-09-09 2002-09-09
US40890202P 2002-09-09 2002-09-09
US40890302P 2002-09-09 2002-09-09
US408902P 2002-09-09
US408901P 2002-09-09
US408905P 2002-09-09
US408903P 2002-09-09
US40959302P 2002-09-11 2002-09-11
US40960602P 2002-09-11 2002-09-11
US409606P 2002-09-11
US409593P 2002-09-11
PCT/EP2003/009828 WO2004025479A2 (en) 2002-09-09 2003-09-04 Methods and systems for moving data objects using locks

Publications (2)

Publication Number Publication Date
DE60315996D1 DE60315996D1 (de) 2007-10-11
DE60315996T2 true DE60315996T2 (de) 2008-05-21

Family

ID=31999857

Family Applications (6)

Application Number Title Priority Date Filing Date
DE60333303T Expired - Lifetime DE60333303D1 (de) 2002-09-09 2003-09-04 Verfahren und vorrichtungen zur datenbewegung mittels sperren
DE60330482T Expired - Lifetime DE60330482D1 (de) 2002-09-09 2003-09-04 Verfahren und systeme zum bewegen von daten unter verwendung von riegeln
DE60315996T Expired - Lifetime DE60315996T2 (de) 2002-09-09 2003-09-04 Verfahren und vorrichtung zur datenbewegung mittels sperren
DE60330254T Expired - Lifetime DE60330254D1 (de) 2002-09-09 2003-09-04 Verfahren und gerät zur datenarchivierung
DE60306674T Expired - Lifetime DE60306674T2 (de) 2002-09-09 2003-09-04 Verfahren und systeme zur regelung des zugriffs auf ein datenobjekt mittels sperren
DE60306663T Expired - Lifetime DE60306663T2 (de) 2002-09-09 2003-09-04 Verfahren, Vorrichtungen und Programme zur Regelung des Zugriffs auf Datenobjekte unter Verwendung von Sperren

Family Applications Before (2)

Application Number Title Priority Date Filing Date
DE60333303T Expired - Lifetime DE60333303D1 (de) 2002-09-09 2003-09-04 Verfahren und vorrichtungen zur datenbewegung mittels sperren
DE60330482T Expired - Lifetime DE60330482D1 (de) 2002-09-09 2003-09-04 Verfahren und systeme zum bewegen von daten unter verwendung von riegeln

Family Applications After (3)

Application Number Title Priority Date Filing Date
DE60330254T Expired - Lifetime DE60330254D1 (de) 2002-09-09 2003-09-04 Verfahren und gerät zur datenarchivierung
DE60306674T Expired - Lifetime DE60306674T2 (de) 2002-09-09 2003-09-04 Verfahren und systeme zur regelung des zugriffs auf ein datenobjekt mittels sperren
DE60306663T Expired - Lifetime DE60306663T2 (de) 2002-09-09 2003-09-04 Verfahren, Vorrichtungen und Programme zur Regelung des Zugriffs auf Datenobjekte unter Verwendung von Sperren

Country Status (6)

Country Link
US (3) US7693890B2 (de)
EP (6) EP1559039B1 (de)
AT (6) ATE371903T1 (de)
AU (6) AU2003287947A1 (de)
DE (6) DE60333303D1 (de)
WO (6) WO2004025503A1 (de)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10296098D2 (de) 2001-12-21 2004-12-09 Micronas Gmbh Verfahren und Vorrichtung zum Austauschen von Daten
US7653667B2 (en) * 2002-09-09 2010-01-26 Sap Ag Methods and systems for data moving using locks
DE60333303D1 (de) * 2002-09-09 2010-08-19 Sap Ag Verfahren und vorrichtungen zur datenbewegung mittels sperren
US7457933B2 (en) * 2002-09-09 2008-11-25 Sap Ag Methods and systems for archiving data
US7756813B2 (en) * 2002-09-09 2010-07-13 Sap Ag Electronic data structure for controlling access to data objects using locks
US7693881B2 (en) 2002-09-09 2010-04-06 Sap Ag Methods and systems for moving data using locks
US20060149696A1 (en) * 2002-09-09 2006-07-06 Thorsten Pferdekaemper Method and systems for controlling access to a data object by means of locks
US7406464B2 (en) * 2003-12-08 2008-07-29 Ebay Inc. Custom caching
EP1566744A1 (de) 2004-02-19 2005-08-24 Sap Ag Optimierung der Sperrgranularität mittels Bereichssperren
US7664966B2 (en) * 2004-05-17 2010-02-16 Microsoft Corporation Secure storage on recordable medium in a content protection system
US20060106873A1 (en) * 2004-11-18 2006-05-18 International Business Machines (Ibm) Corporation Selective clearing of persistent metadata in a storage subsystem
US8676748B2 (en) * 2004-11-18 2014-03-18 International Business Machines Corporation Clearing metadata tracks in a storage system
EP1684193A1 (de) * 2005-01-25 2006-07-26 Sap Ag Zentraler Sperrdienst für Datenbankanwendungen
EP1684194A1 (de) 2005-01-25 2006-07-26 Sap Ag Ein zentraler Sperrdienst für Datenbankanwendungen
US7844578B2 (en) * 2005-03-31 2010-11-30 Sap Ag Parallel archiving for a messaging system
ITTO20060534A1 (it) * 2006-07-20 2008-01-21 Si Sv El S P A Gestione automatica di archivi digitali in particolare di file audio e/o video
US7861093B2 (en) * 2006-08-30 2010-12-28 International Business Machines Corporation Managing data access via a loop only if changed locking facility
US20080154994A1 (en) * 2006-12-22 2008-06-26 Sap Ag Managing aged index data for a database
US7827160B2 (en) * 2007-03-30 2010-11-02 Sap Ag Managing distributed index data
US8510720B2 (en) * 2007-12-20 2013-08-13 Sap Ag System landscape trace
US20100287553A1 (en) 2009-05-05 2010-11-11 Sap Ag System, method, and software for controlled interruption of batch job processing
US9164998B2 (en) 2010-07-29 2015-10-20 Sap Se Archive-system-independent archive-type objects
US10114843B2 (en) 2011-11-09 2018-10-30 Sap Se Content migration framework
US9892207B2 (en) 2013-02-01 2018-02-13 Sap Se Automatic migration for on-premise data objects to on-demand data objects
US9270617B2 (en) 2013-06-05 2016-02-23 Sap Se Load controller framework
GB2520361A (en) 2013-11-19 2015-05-20 Ibm Method and system for a safe archiving of data
US10963459B2 (en) 2014-08-29 2021-03-30 Sap Se Generic utilization of on-premise query frameworks by new on-demand applications
US10331498B1 (en) * 2017-04-26 2019-06-25 EMC IP Holding Company LLC ColoredLock synchronization object, allowing flow specific policy of lock canceling
JP7239847B2 (ja) * 2018-11-13 2023-03-15 日本電信電話株式会社 権利者端末、利用者端末、新権利者端末、権利者プログラム、利用者プログラム、新権利者プログラムおよびコンテンツ利用システム

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2251502B (en) * 1990-11-07 1995-06-14 Nonstop Networks Limited Data-loss prevention products
JPH0827755B2 (ja) * 1991-02-15 1996-03-21 インターナショナル・ビジネス・マシーンズ・コーポレイション データの単位を高速度でアクセスする方法
JPH05197604A (ja) 1991-05-21 1993-08-06 Digital Equip Corp <Dec> マルチプロセッサ・コンピュータ及びその動作方法
US5408653A (en) 1992-04-15 1995-04-18 International Business Machines Corporation Efficient data base access using a shared electronic store in a multi-system environment with shared disks
EP0569605A1 (de) * 1992-05-06 1993-11-18 International Business Machines Corporation Verfahren zur Zugriffsverwaltung und -steuerung mehrerer Rechner auf gemeinsame Daten
SE500656C2 (sv) * 1992-12-08 1994-08-01 Ellemtel Utvecklings Ab System för backuptagning i en distribuerad databas
US5835953A (en) 1994-10-13 1998-11-10 Vinca Corporation Backup system that takes a snapshot of the locations in a mass storage device that has been identified for updating prior to updating
US5835906A (en) 1996-07-01 1998-11-10 Sun Microsystems, Inc. Methods and apparatus for sharing stored data objects in a computer system
US5822773A (en) 1996-10-17 1998-10-13 Fwb Software Llc Method and system for accelerating the copying of repetitively copied computer data
US6088693A (en) 1996-12-06 2000-07-11 International Business Machines Corporation Data management system for file and database management
US5913213A (en) 1997-06-16 1999-06-15 Telefonaktiebolaget L M Ericsson Lingering locks for replicated data objects
US6314408B1 (en) 1997-07-15 2001-11-06 Eroom Technology, Inc. Method and apparatus for controlling access to a product
GB2330220B (en) 1997-10-07 2002-04-10 Ibm Access control for groups of related data items
US5995998A (en) 1998-01-23 1999-11-30 Sun Microsystems, Inc. Method, apparatus and computer program product for locking interrelated data structures in a multi-threaded computing environment
US6353836B1 (en) 1998-02-13 2002-03-05 Oracle Corporation Method and apparatus for transferring data from the cache of one node to the cache of another node
US6182186B1 (en) 1998-06-30 2001-01-30 Sun Microsystems, Inc. Method and apparatus that utilizes lock states to lock resources
US6334134B1 (en) 1998-08-18 2001-12-25 International Business Machines Corporation Insert performance on a multi-system transaction environment
US6269382B1 (en) * 1998-08-31 2001-07-31 Microsoft Corporation Systems and methods for migration and recall of data from local and remote storage
US6530035B1 (en) 1998-10-23 2003-03-04 Oracle Corporation Method and system for managing storage systems containing redundancy data
US6405274B1 (en) 1998-12-30 2002-06-11 Oracle Corporation Anticipatory lock mode conversions in a lock management system
US6324581B1 (en) 1999-03-03 2001-11-27 Emc Corporation File server system using file system storage, data movers, and an exchange of meta data among data movers for file locking and direct access to shared file systems
US6412034B1 (en) * 1999-04-16 2002-06-25 Oracle Corporation Transaction-based locking approach
US6874104B1 (en) 1999-06-11 2005-03-29 International Business Machines Corporation Assigning recoverable unique sequence numbers in a transaction processing system
US6343296B1 (en) * 1999-09-03 2002-01-29 Lucent Technologies Inc. On-line reorganization in object-oriented databases
CA2302981C (en) 2000-03-29 2004-06-01 Ibm Canada Limited-Ibm Canada Limitee Online database table reorganization
US6651123B1 (en) 2000-03-30 2003-11-18 International Business Machines Corporation File system locking
US6557082B1 (en) 2000-03-30 2003-04-29 International Business Machines Corporation Method and apparatus for ensuring cache coherency for spawned dependent transactions in a multi-system environment with shared data storage devices
EP1168174A1 (de) 2000-06-19 2002-01-02 Hewlett-Packard Company, A Delaware Corporation Verfahren zur automatischen Datensicherung und -wiederherstellung
US6850938B1 (en) 2001-02-08 2005-02-01 Cisco Technology, Inc. Method and apparatus providing optimistic locking of shared computer resources
US6772155B1 (en) 2001-04-04 2004-08-03 Ncr Corporation Looking data in a database system
US6772177B2 (en) 2001-06-01 2004-08-03 International Business Machines Corporation System and method for parallelizing file archival and retrieval
JP4183400B2 (ja) * 2001-06-27 2008-11-19 株式会社日立製作所 データベースシステムとデータベース管理方法およびプログラム
US6944615B2 (en) 2001-06-28 2005-09-13 International Business Machines Corporation System and method for avoiding deadlock situations due to pseudo-deleted entries
US6775750B2 (en) 2001-06-29 2004-08-10 Texas Instruments Incorporated System protection map
EP1283477A1 (de) 2001-08-07 2003-02-12 Sap Ag Verfahren und Computersystem zum Identifizieren der zu archivierenden Objekte
US7028287B2 (en) 2001-11-14 2006-04-11 Sun Microsystems, Inc. Method and apparatus for facilitating compact object headers
US6839819B2 (en) 2001-12-28 2005-01-04 Storage Technology Corporation Data management appliance
US7036043B2 (en) * 2001-12-28 2006-04-25 Storage Technology Corporation Data management with virtual recovery mapping and backward moves
US7251661B1 (en) 2002-03-29 2007-07-31 Ncr Corp. Movable objects in a database
US7457933B2 (en) 2002-09-09 2008-11-25 Sap Ag Methods and systems for archiving data
US7693881B2 (en) 2002-09-09 2010-04-06 Sap Ag Methods and systems for moving data using locks
DE60333303D1 (de) 2002-09-09 2010-08-19 Sap Ag Verfahren und vorrichtungen zur datenbewegung mittels sperren
US7756813B2 (en) 2002-09-09 2010-07-13 Sap Ag Electronic data structure for controlling access to data objects using locks
US20060149696A1 (en) 2002-09-09 2006-07-06 Thorsten Pferdekaemper Method and systems for controlling access to a data object by means of locks

Also Published As

Publication number Publication date
AU2003287947A1 (en) 2004-04-30
DE60306674T2 (de) 2007-06-28
AU2003267042A1 (en) 2004-04-30
DE60306663D1 (de) 2006-08-17
EP1559039B1 (de) 2006-07-05
DE60306663T2 (de) 2007-06-28
US20060101094A1 (en) 2006-05-11
US7222142B2 (en) 2007-05-22
EP1540532A1 (de) 2005-06-15
DE60333303D1 (de) 2010-08-19
EP1540517A1 (de) 2005-06-15
WO2004025479A2 (en) 2004-03-25
DE60330254D1 (de) 2010-01-07
ATE332534T1 (de) 2006-07-15
ATE371903T1 (de) 2007-09-15
WO2004025502A1 (en) 2004-03-25
WO2004025505A1 (en) 2004-03-25
ATE450010T1 (de) 2009-12-15
EP1552434A1 (de) 2005-07-13
US7693890B2 (en) 2010-04-06
EP1540516B1 (de) 2009-11-25
US7756814B2 (en) 2010-07-13
DE60306674D1 (de) 2006-08-17
EP1540517B1 (de) 2010-07-07
EP1552434B1 (de) 2009-12-09
AU2003264264A1 (en) 2004-04-30
WO2004025506A1 (en) 2004-03-25
AU2003258703A1 (en) 2004-04-30
AU2003287947A8 (en) 2004-04-30
US20040153457A1 (en) 2004-08-05
WO2004025504A1 (en) 2004-03-25
US20040243773A1 (en) 2004-12-02
AU2003273824A1 (en) 2004-04-30
DE60315996D1 (de) 2007-10-11
EP1559039A1 (de) 2005-08-03
AU2003264263A1 (en) 2004-04-30
EP1540516A1 (de) 2005-06-15
ATE332535T1 (de) 2006-07-15
WO2004025503A1 (en) 2004-03-25
DE60330482D1 (de) 2010-01-21
ATE473484T1 (de) 2010-07-15
EP1540532B1 (de) 2006-07-05
WO2004025479A3 (en) 2004-10-14
EP1540527A2 (de) 2005-06-15
EP1540527B1 (de) 2007-08-29
ATE451653T1 (de) 2009-12-15

Similar Documents

Publication Publication Date Title
DE60315996T2 (de) Verfahren und vorrichtung zur datenbewegung mittels sperren
DE69811790T2 (de) Ableitung von Prozessmodellen aus Rechnungsprüfvorgängen für Systeme zur Verwaltung von Arbeitsflüssen
DE4216871C2 (de) Ausführungsordnen zum Sicherstellen der Serialisierbarkeit verteilter Transaktionen
DE4420451C2 (de) Sperrmechanismus für ein CHECK-IN/CHECK-OUT-Modell
DE3752196T2 (de) Vorrichtung für Datenverarbeitungsverteilung über eine Mehrzahl von Steuerungsorten
DE69618131T2 (de) Anordnung und Verfahren zur Betriebsmittelverwaltung von verteilten Objekten
DE69528738T2 (de) Systeme und Verfahren zur Herstellung und Auffrischung zusammengesetzter Dokumente
DE69112694T2 (de) Verfahren zum Betrieb eines Datenverarbeitungssystems zur Ausführung von Datenbanktransaktionen.
DE3689569T2 (de) Verfahren zur Systemdateiensicherung und Datenverarbeitungseinheit zu dessen Durchführung.
DE69432332T2 (de) Verfahren und Gerät zum Konvertieren von übertragenen digitalen Daten
DE3883733T2 (de) Bedienungsverfahren eines elektronischen Datenverarbeitungssystems zum Dokumententransfer zwischen Endbenutzern.
DE3611223A1 (de) Verfahren und vorrichtung zum verhindern einer blockierung in einem datenbank-verwaltungssystem
DE19844071A1 (de) Verfahren zum Lösen von Datenkonflikten in einem gemeinsamen Datenumfeld
EP0829046B1 (de) Setup-verfahren und setup-system für benutzerprogramme, sowie benutzerrechner in einem rechnernetz
DE4033336A1 (de) Verfahren zum erzeugen einer ausfallmeldung und mechanismus fuer ausfallmeldung
DE102012223167B4 (de) Gemeinsame Nutzung von Artefakten zwischen kollaborativen Systemen
DE19535084A1 (de) Verfahren und Vorrichtung zur dynamischen Optimierung von durch ein Computersystem gemanagten Geschäftsprozessen
DE102005008520A1 (de) Verfahren zum Überwachen eines Verzeichnisses in einem Computersystem, Computerprogramm-Produkt und Computersystem zum Ausführen dieses Verfahrens
DE102013215009A1 (de) Verfahren und System zur Optimierung der Datenübertragung
DE102008012843A1 (de) Unternehmensdatenmanagement
DE10311082A1 (de) Elektronikdokumentmanagementverfahren und Programm
DE1499182A1 (de) Elektrische Datenverarbeitungsanlage
DE112018000456T5 (de) Verwalten von umfangreichen Zuordnungsgruppen unter Verwendung von optimierten Bitmap-Darstellungen
DE112018001290T5 (de) Verfahren zum Schätzen der Löschbarkeit von Datenobjekten
DE69027524T2 (de) Verfahren und System zur automatischen Steuerung der Verteilung von Datenobjekten

Legal Events

Date Code Title Description
8364 No opposition during term of opposition