Information Technology Reference
In-Depth Information
4.2 Log Merge
The relation merge produces, for a given log architecture, the set of logs respect-
ing the order of each log file in the architecture and the order of corresponding
Send / Rec events. Each log produced by this relation represents a scenario de-
scribing the sequence of events in the order they were performed.
Definition 2. (relation merge ) The relation merge
LOG FILE maps every log architecture into logs that will represent all pos-
sible total orders for this architecture. That is, for any log arch and log ,such
that
:
LOG ARCH
(
log arch, log
)
merge ,then:
1. agents
(
log
)=
agents
(
log arch
)
2. events
(
log
)=
events
(
log arch
)
3.
log ag
log arch
extract agents ( log ag ) (
log
)=
log ag
4.
(
ev B ,ag 1 ,ag 2 ,ac
)
.
(
ev B
events
(
log arch
)
ev B =(
Rec, ag 1 ,ag 2 ,ac
)
ag 1
agents
(
log arch
) ⇒∃ (
ev A )
.
(
ev A
events
(
log arch
)
ev A =(
Send,ag 1 ,ag 2 ,ac
)
pos
(
ev A ,log
)
<pos
(
ev B ,log
))
The last two properties in Definition 2 respectively state that the scenario repre-
sented by log ( 3. ) respects the local order of each log file in log arch and ( 4. )for
every event of type Rec if there is a corresponding event of type Send then the
event of type Send precedes the event of type Rec in this scenario. That is, the
relation merge collects all interleaving that respect local and causal orderings.
Example 7. (application of merge )Letus,fromnowon,denoteeventsomitting
the sender and receiver and using the simplified notation
(
Send,ac
)
to represent
an event of the form
. Let us imagine
the distribution log arch composed by the logs of Client and Agency where:
(
Send,ag 1 ,ag 2 ,ac
)
and similar for
(
Rec, ac
)
log Client =( {
Client
}
,
[(
Send,Request
)
,
(
Rec, Justify
)])
log Agency =( {
Agency
}
,
[(
Rec, Request
)
,
(
Send,Debit
)])
3 produces the set
Then, merge
[
log arch
]
{
log 1 ,log 2 ,log 3 }
such that:
log 1 = {
Client, Agency
}
,
[(
Send,Request
)
,
(
Rec, Justify
)
,
(
Rec, Request
)
,
(
Send,Debit
)]
log 2 = {
Client, Agency
}
,
[(
Send,Request
)
,
(
Rec, Request
)
,
(
Rec, Justify
)
,
(
Send,Debit
)]
log 3 = {
Client, Agency
}
,
[(
Send,Request
)
,
(
Rec, Request
)
,
(
Send,Debit
)]
,
(
Rec, Justify
)
That
is,
the
event
(
Rec, Justify
)
can
be
permuted
with
the
events
(
because there is no order constraint between
these events. However, we know that all these events shall come after the
event
Rec, Request
)
and
(
Send,Debit
)
(
Send,Request
)
and that the event
(
Send,Debit
)
comes after the event
(
Rec, Request
)
.
3 In this paper we use the notation merge [ log arch ] rather than merge [ { log arch } ]
for sake of simplicity.
 
Search WWH ::




Custom Search