A base rolling engine for collapsing data packages stored in a data transfer
and
synchronization system. A first data package is provided. The first data package
has a first transaction including an identification number, an action, and a plurality
of fields. Each field has an attribute representing change information. A second
data package is also provided. The second data package has a second transaction
made subsequent to the first transaction. The second transaction has an identification
number, an action, and a field with an attribute. The base rolling engine determines
whether the identification number of the second transaction corresponds to the
identification number of the first transaction. The base rolling engine also determines
whether the field of the second transaction corresponds to one of the fields of
the first transaction. When the identification numbers of the first and second
transactions correspond to one another, and the field of the second transaction
corresponds to one of the fields of the first transaction, the first and second
data packages are combined. A combined data package is thus defined having a combined
transaction with the identification number. The combined data package replaces
the second data package, and the first data package is deleted.