Efficient replication of XML data in a relational database management system
First Claim
1. A method comprising performing a machine-executed operation involving instructions for replicating XML data from a source database to a destination database, wherein the machine-executed operation is at least one of:
- A) sending the instructions over transmission media;
B) receiving the instructions over transmission media;
C) storing the instructions onto a machine-readable storage medium; and
D) executing the instructions;
wherein the instructions are instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of;
for XML data that is subject to an update operation in said source database, generating difference data that represents the difference in said XML data before and after said update; and
transmitting said difference data for reception by said destination database for updating said XML data at said destination database.
1 Assignment
0 Petitions
Accused Products
Abstract
Efficiently replicating XML data among databases includes techniques for (a) replicating XML data involved with an insert operation; (b) replicating XML data involved with an update operation; (c) leveraging existing relational replication techniques for XML data stored in shredded form using object-relational constructs; and (d) replicating XQuery Data Model sequences. Each technique reduces the amount of information that would otherwise need to be transmitted over a network for XML data replication purposes.
-
Citations
16 Claims
-
1. A method comprising performing a machine-executed operation involving instructions for replicating XML data from a source database to a destination database, wherein the machine-executed operation is at least one of:
-
A) sending the instructions over transmission media;
B) receiving the instructions over transmission media;
C) storing the instructions onto a machine-readable storage medium; and
D) executing the instructions;
wherein the instructions are instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of;
for XML data that is subject to an update operation in said source database, generating difference data that represents the difference in said XML data before and after said update; and
transmitting said difference data for reception by said destination database for updating said XML data at said destination database. - View Dependent Claims (2, 3, 4)
-
-
5. A method comprising performing a machine-executed operation involving instructions for replicating XML data from a source database to a destination database, wherein the machine-executed operation is at least one of:
-
A) sending the instructions over transmission media;
B) receiving the instructions over transmission media;
C) storing the instructions onto a machine-readable storage medium; and
D) executing the instructions;
wherein the instructions are instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of;
if first XML data is inserted into said source database, then determining whether to encode said first XML data into a compressed format prior to transmitting said XML data for reception by said destination database;
wherein said determining is based on an analysis that is based on the size of said first XML data and the form in which said first XML data is stored in said source database; and
if determined to encode said first XML data into a compressed format, then encoding said first XML data into said compressed format and transmitting said encoded first XML data for reception by said destination database;
if said first XML data is subject to an update operation in said source database, then generating difference data that represents the difference in said first XML data before and after said update;
transmitting said difference data for reception by said destination database for updating said first XML data at said destination database;
if part of said first XML data is replicated from said source database to said destination database using relational data replication, and wherein said part of said first XML data is stored as a large object (LOB) in a column of a relational table in said source and destination databases, then transmitting from said source database for reception by said destination database a pointer to said relationally replicated large object (LOB) in said destination database, for inclusion, at said destination database, of said relationally replicated large object (LOB) into a first XML document of which said first XML data is part;
if an XQuery Data Model sequence is subject to replication from said source database to said destination database, then generating a second XML document that represents said sequence, wherein said second XML document identifies boundaries between items in said sequence and identifies data types for corresponding items in said sequence. - View Dependent Claims (6, 7, 8, 9)
-
-
10. A method comprising performing a machine-executed operation involving instructions for replicating XML data from a source database to a destination database, wherein the machine-executed operation is at least one of:
-
A) sending the instructions over transmission media;
B) receiving the instructions over transmission media;
C) storing the instructions onto a machine-readable storage medium; and
D) executing the instructions;
wherein the instructions are instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of;
determining whether to encode XML data inserted into said source database into a compressed format prior to transmitting said XML data for reception by said destination database over a network;
wherein said determining is based on an analysis that is based on the size of said XML data being inserted and the form in which said XML data is stored in said source database; and
if determined to encode said XML data into a compressed format, then encoding said XML data into said compressed format and transmitting said encoded XML data for reception by said destination database. - View Dependent Claims (11, 12)
-
-
13. A method comprising performing a machine-executed operation involving instructions for replicating XML data from a source database to a destination database, wherein the machine-executed operation is at least one of:
-
A) sending the instructions over transmission media;
B) receiving the instructions over transmission media;
C) storing the instructions onto a machine-readable storage medium; and
D) executing the instructions;
wherein the instructions are instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of;
replicating from said source database to said destination database, using relational data replication, first XML data from an XML document, wherein said first XML data is stored as a large object (LOB) in a column of a relational table in said source and destination databases; and
transmitting from said source database for reception by said destination database a pointer to said relationally replicated large object (LOB) in said destination database, for inclusion of said relationally replicated large object (LOB) into said XML document at said destination database. - View Dependent Claims (14, 15)
-
-
16. A method comprising performing a machine-executed operation involving instructions for replicating an XQuery sequence from a source database to a destination database, wherein the machine-executed operation is at least one of:
-
A) sending the instructions over transmission media;
B) receiving the instructions over transmission media;
C) storing the instructions onto a machine-readable storage medium; and
D) executing the instructions;
wherein the instructions are instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of;
receiving an XQuery Data Model sequence;
generating an XML document representing said sequence; and
wherein said XML document represents boundaries between items in said sequence and identifies data types for corresponding items in said sequence.
-
Specification