Patent ID: 7424493

Claim:
A database pipeline system, comprising a processor coupled to a memory including: a first stage having a first database including first objects and having a first output pipe, said first stage: specifying a subset of the first objects; creating for the first output pipe a first publication defining the first subset of the first objects; a second stage having a second database having a second input pipe for receiving first subset of objects from the first output pipe and having a second output pipe, said second stage: defining a first subscription associated with the second input pipe wherein the first subscription subscribes to the first publication; propagating the first subset of the first objects defined by the first publication from the first stage to the second stage, said second database receiving the first subset of first objects via the second input pipe, wherein propagating comprises replicating the first subset of first objects from the first database to the second database without accessing a file system; specifying a second subset of the first objects replicated in the second database wherein the first subset is different than the second subset; and creating for the second output pipe a second publication defining the second subset of the first objects; a third stage having a third database having a third input pipe receiving database objects from the second output pipe and a third output pipe, said third stage: defining a second subscription associated with the third input pipe wherein the third input pipe of the third stage is defined as a function of a second publication, said second publication being created from a subset of the second objects specified for a second output pipe; propagating, from the second stage to the third stage, the specified subset of the second objects as a function of the defined second subscription, wherein propagating comprises replicating the specified subset of second objects without accessing a file system; specifying a subset of the third objects for the third output pipe wherein the third subset is different than the second subset; and creating for the third output pipe a third publication defining the third subset of the first objects.