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