Research Article

Virtual Net: A Decentralized Architecture for Interaction in Mobile Virtual Worlds

Table 1

Notations.

NotationsDescriptions

Relations of event, event sequence number, sender, and cycle number

Seq(s, c)The sequence number of the event sent for cycle c from sender s

Seq(e)The sequence number of event e

e(s, j)The event of sequence number j sent from s

Deliver(e, c)Return true if event e is deliverable at cycle c. Otherwise, return false

DeliverCycle(e)Return the cycle in which event e is delivered. If e has not been delivered, return ⊥.

Receive(e, c)Return true if e has been received at cycle c. Otherwise, return false.

ReceiveCycle(e)Return the cycle in which event e is received. If e has not been received, return ⊥.

Event of cycleThe event sent by a sender for a cycle is called the event of the cycle. Given the first event sent from sender s at cycle c0. The event of cycle c satisfies Seq(e) = Seq(s, c) = (c - c0).

Cycle open / closeIf a replica ri has delivered the events for cycle c and moved to the next cycle c + 1, then c is closed and c + 1 is still open to ri.

Other notations

riReplica i

rLGroup leader

GThe set of group members

SThe set of event senders

USet of update recipients

gReplica group g

sSender s∈S

Index(s)The index of s in S sorted by sender ID

Sender(e)The sender of event e

cCycle number c

∆tCycle length

tstart,sThe start time of the first cycle for s

tsend,s(n)The time to send the nth event from s

trecv,s(n)The time to receive the nth event sent from s

tnowCurrent time

E / E(c)The set of decided events / decided events of c

QdDelivery queue, containing the sorted events to be delivered to the application in sequence

(c, γ, e)The event e delivered for cycle c with local index γ in Qd

(λ, e)The delivery sequence λ of event e in Qd, one-to-one mapped onto (c, γ, e) for the given e.

Ω(s, c)The set of expected events which can be delivered to Qd (called deliverable events) from s at cycle c

Π(s, c)The set of actual received events from s at cycle c