Quorums-based Replication of Multimedia Objects in Distributed Systems

  • Tadateru Ohkawara
  • Ailixier Aikebaier
  • Tomoya Enokido
  • Makoto Takizawa
Open Access
Research

Abstract

Background

Multimedia objects like music and movies are distributed to peers through downloading and caching in peer-to-peer (P2P) overlay networks. In this paper, we consider multimedia objects which are characterized in terms of not only data structure but also quality of service (QoS) like frame rate and number of colours. For example, there are a pair of replicas oiand ojof a fully coloured movie object o. Here, a content of a replica oiis changed by adding a subobject but another replica ojis not changed. On the other hand, the colour of the replica ojis changed with monochromatic one but not in the replica oi. This means, the replica oiis newer than the replica ojwith respect to the content but is older than ojwith respect to QoS. Thus, replicas of a multimedia object are partially ordered in terms of newness of not only content but also QoS parameters.

Methods

In traditional quorum-based (QB) protocols, replicas are totally ordered just in terms of newness of content. We discuss a multimedia quorum-based (MQB) protocol to synchronize multiple replicas to make consistent on the basis of the newness-precedent relation of replicas. Here, the replicas are ordered in vectors of version counters of content and QoS parameters. Every replica in a quorum is not updated for QoS operations to reduce the communication overhead. We evaluate the MQB protocol in terms of communication overhead and show the communication overhead can be reduced in the MQB protocol compared with the traditional QB protocol.

Conclusions

We discussed the multimedia quorum-based (MQB) protocol to keep replicas of a multimedia object mutually consistent. We evaluated the MQB protocol in terms of the total volume of data transmitted among the replicas. Then, we showed the total amount of data transmitted can be reduced in the MQB protocol compared with the traditional quorum-based (QB) protocol.

Background

In scalable distributed systems like cloud computing systems [1] and peer-to-peer (P2P) overlay networks [2] systems, resource objects like databases and files are replicated and distributed to multiple server computers in order to increase the performance, reliability, and availability. In P2P overlay networks, objects, especially multimedia objects like movies are in nature autonomously distributed through peer-to-peer communication. There are many discussions on how to maintain the mutual consistency of multiple replicas like the two-phase locking (2PL) [3], read-one-write-all (ROWA) [4], and quorum-based (QB) [5] protocols. In the 2PL protocol, all the replicas are first locked before they are read and write. On the other hand, only one replica is locked for read while every replica is locked for write in the ROWA protocol. In the QB protocol, subsets of the replicas for read and write operations are referred to as read quorumQr and write quorumQw, respectively. Every pair of read and write quorums include at least one common replica. Only if every replica in a quorum could be locked, a transaction can manipulate the replicas in the quorum. In Cassandra [6], the synchronization scheme based on the quorum concept [4] is adopted.

Various types of objects including multimedia objects are distributed in P2P overlay networks. Multimedia objects are characterized in terms of quality of service (QoS) like frame rate and number of colours in addition to the contents. Thus, not only the content but also QoS parameters of an object are manipulated. For example, suppose there are three replicas o1, o2, and o3 of a fully-coloured movie object o in a quorum Q. A scene subobject is added to the replica o2. On the other hand, the colour of another replica o3is changed with monochromatic one. The replica o2 is newer than the replica o3 in terms of the content while the replica o3 is newer than the replica o2in terms of number of colours. Thus, replicas are partially ordered in terms of newness of not only content but also QoS parameters in a quorum. The partially ordering newnessprecedent relation insertcodeforeq 1here among replicas of a multimedia object is defined in the paper [7]. On the other hand, replicas of a file object are totally ordered just in terms of newness of content in the traditional QB protocol. Here, there is no newest replica in the quorum Q. A complete quorum includes a newest replica. A newest replica should be a monochromatic replica with the scene subobjects in the quorum Q. The replicas o2 and o3can be made the newest one by degrading colours and adding the scene subobjects, respectively. Thus, even if a quorum is not complete, some replica oi might be made the newest by applying operations with data held in other replicas oiin the quorum. An incomplete quorum which can be complete is referred to as completable. The replica Q is completable. We discuss how to obtain the newest replica in an incomplete but completable quorum. In the traditional QB protocol, every quorum is complete. However, multimedia quorums can be completable.

We propose a multimediaquorum-based (MQB) protocol in this paper. Here, each replica of a multimedia object holds the vector of counters, where there is one counter for each of the content and QoS parameters. If a transaction issues a read operation op, the transaction selects the newest replica oiin a quorum Qop. If not found, one replica oiis selected and is made newest by obtaining operations and data which are not performed on the replica oithrough communicating with other replicas. Then, the transaction reads the replica oi in the quorum Qop. The content and QoS parameters of every replica are updated to be the newest. Here, computation and communication resources are consumed to update every replica in the quorum Qop. In order to reduce the computation and communication overheads, every quorum is tried to be completable, that is, only the counter vector of every replica is updated in the quorum Qop but all the replicas themselves are not updated. We evaluate the MQB protocol compared with the QB protocol and show the communication overhead in the MQB protocol can be reduced with the QB protocol.

In section “Method”, we discuss the newness-precedent relations on replicas of multimedia objects. In section “Evaluation”, we discuss the multimedia quorum-based (MQB) protocol to maintain the mutually consistency of replicas. In section “Conclusions”, we evaluate the MQB protocol compared with the QB protocol in terms of communication overheads.

Method

Partially Ordering Relations of Multimedia Replicas

Multimedia objects

A multimedia object o is characterized in terms of not only content parameter o.c but also quality of service (QoS) parameters o.Q. A content o.c shows data structure, i.e. the part_of structure of subobjects. QoS o.Q is specified in a tuple of QoS parameters 〈q1, .., ql〉 (l≥0). Frame rate and resolution are examples of QoS parameters. Thus, each replica oiof an object o is specified in a pair of the content oi.c and QoS parameters oi.Q. It is noted a traditional replica oilike a text object is just specified in terms of a content oi.c. The content oi.c in a replica oi is manipulated in a content operation like delete-subobject while QoS parameters. oi.Q is manipulated in a QoS operation like change-colour.

In a QoS parameter frame rate (fr), 40[fps] is richer than 20[fps]. Thus, for a pair of values x and y of a QoS parameter qk, y is richer than x ( x y Open image in new window) (y is poorer than x) iff y includes more volume of data than x. For example, 20 40 Open image in new window[fps]. Let c1and c2be a pair of contents of an object o. A content parameter c2 is richer than a content c1(c1 is poorer than c2) ( c 1 c 2 Open image in new window) if c1 is a component of c2. A value x can be obtained by just removing some data from a value y if x y Open image in new window. However, if y x Open image in new window, the value x cannot be obtained without adding any data to the value y. For example, a fully coloured movie object can be degraded to a monochromatic one by just removing the colour data. However, we have to add colour data to a monochromatic object in order to change with a coloured one.

A scheme of an object o is written in a tuple 〈p0, p1, .., pl〉 where the first parameter p0stands for a content parameter o.c and the k th parameter pk indicates a QoS parameter o.qk(k = 1, .., l). o.pi shows a parameter pi of an object o (i = 0, 1, .., l).

Newness-precedent relation

Let O be a set {o1, .., on} of replicas of an object o(n≥1) in the system. Here, the content parameter oj.c of a replica oj is newer than the content oi.c of another replica oi( o i .c o j .c Open image in new window) iff (if and only if) the content parameter oj.c is updated, e.g. some subobject is deleted but oi.c is not updated. A content oi.cprecedes a content oj.c ( o i .c o j .c ) Open image in new window iff o i .c o j .c Open image in new window or oi.c=oj.c. A QoS parameter oj.qk of a replica oj is newer than oi.qk ( o i . q k o j . q k ) Open image in new window iff the parameter qk is changed in the replica oi but is not in the replica oj. For example, a monochromatic replica ojis obtained by changing the QoS parameter cl (colour) of a fully coloured replica oi. Here, the QoS parameter oj.cl is newer than oi.cl( o i .cl o j .cl Open image in new window). A QoS parameter oi.qkprecedesoj.qk with respect to newness ( o i . q k o j . q k ) Open image in new window iff o i . q k o j . q k Open image in new window or oi.qk=oj.qk.

Replicas in the replica set O are partially ordered in the newness-precedent relation insertcodeofeq 1here( O 2 Open image in new window). A replica oiprecedes a replica oj with respect to newness ( o i o j Open image in new window) iff o i .c o j .c Open image in new window and o i . q k o j . q k Open image in new window for every QoS parameter qk (k =0, 1, .., l). A replica oi is equivalent with a replica oj(oioj) iff oi.c=oj.c and oi.qk=oj.qk for every QoS parameter qk. A replica oi is newer than another replica oj ( o i o j ) Open image in new window iff o i o j Open image in new window but oioj. A replica oi is uncomparable with a replica oj(oioj) iff neither o i o j Open image in new window nor o j o i Open image in new window. In the traditional quorum-based (QB) protocols [8] [3], replicas in the replica set O are totally ordered, i.e. for every pair of replicas oi and oj in the replica set O, either oiojor o j o i Open image in new window, that is, o i o j Open image in new window. On the other hand, replicas of a multimedia object o are partially ordered in the newness-precedent relation insertcodeofeq 1here. For example, the content parameter oj.c of a replica oj is newer than the content oi.c ( o i .c o j .c ) Open image in new window while some QoS parameter oi.qkis newer than oj.qk ( o j . q k o i . q k ) Open image in new window. Here, a pair of replicas oiand oj are uncomparable (oioj).

Newest replica in a quorum

In terms of the newness precedent relation insertcodeofeq 1here, we define the least upper bound (lub) and greatest lower bound (glb) of replicas. oi o j Open image in new window shows a least upper bound (lub) of a pair of replicas oi and oj, which is a replica ok such that o i o k Open image in new window and o j o k Open image in new window and there is no replica ohsuch that o i o h o k Open image in new window and o j o h o k Open image in new window. o i o j Open image in new window indicates a greatest lower bound (glb) of replicas oiand oj, which is a replica oksuch that o k o j Open image in new window and o k o j Open image in new window and there is no replica ohsuch that o k o h o i Open image in new window and o k o h o j Open image in new window. Let Q be a quorum of replicas o1, .., on. Q Open image in new window indicates the lub o 1 .. o n Open image in new window of every replica in the set Q, i.e. top replica of the set Q, which shows the newest replica in the quorum Q. A replica oi is maximal iff there is no replica oj in the quorum Q such that o i o j Open image in new window. MaxQ shows a subset of maximal replicas in the quorum Q. A quorum Q is referred to as complete iff the lub Q Open image in new window exists in the quorum Q. Here, a quorum Q is referred to as complete iff there is a top replica Q Open image in new window in the quorum Q.

Figure 1 shows a quorum Q of five replicas o1, o2, o3, o4, and o5 of a multimedia object o, Q = {o1, o2, o3, o4, o5}. Each replica oihas a content parameter (c) and QoS parameter colour (cl), i.e. oi = 〈c, cl〉. Here, a directed edge o i o j Open image in new window shows the newness-precedent relation o i o j Open image in new window. A replica o1 is composed of three fully coloured subobjects, blueberry b, orange r, and strawberry s. The content parameter c is 〈b, r, s〉, o1 = 〈〈b, r, s〉, fullycolour (fc)〉. Suppose initially o1o2o3o4o5.

In a content operation delete, a subobject r is removed in the replicas o2and o5. Here, o2o5= 〈〈b, s〉, fc〉. For a pair of the replicas o2and o5, the content parameters o2.c and o5.c are newer than o1.c ( o 1 .c o 2 .c ) Open image in new window and o 1 .c o 5 .c Open image in new window while the QoS parameters o2.cl are o5.cl are the same as o1.cl, o1.cl=o2.cl. Hence, the replica o1precedes the replica o2 ( o 1 o 2 ) Open image in new window and o 1 o 5 Open image in new window. Similarly, {o3, o4} o 2 Open image in new window and {o3, o4} o 5 Open image in new window. { o 1 , o 3 , o 4 } o 5 Open image in new window.

Next, a pair of the replicas o3and o4are changed by degrading with monochromatic (mc) ones by a down-colour (dc) operation; o3o4= 〈〈b, r, s〉, mc〉. Here, the QoS parameters cl of the replicas o1and o2are newer than o1.cl ( o 1 .cl o 3 .cl ) Open image in new window and o 1 .cl o 4 .cl Open image in new window while o3.c=o4.c=o1.c=〈b, r, s〉. The replica o1precedes the replica o3 ( o 1 o 3 ) Open image in new window and o 1 o 3 Open image in new window. Similarly, o 1 o 4 Open image in new window. Here, a pair of the replicas o2and o3are uncomparable (o2o3). Similarly, o5o3, o2o4, and o5o4.

Then, the subobject orange r is deleted in the replica o4; o4= 〈〈b, s〉, mc〉. Here, o 2 o 3 Open image in new window = o4.

A lemon subobject l is added to the replica o5. Here, o5= 〈〈b, l, s〉, fc〉. Here, there is no lub o 4 o 5 Open image in new window in the quorum Q. A pair of the replicas o4and o5are maximal and the replica o1is a bottom of the quorum Q, i.e. o 1 = o 2 o 3 Open image in new window as shown in Figure 2. There is no top replica Q Open image in new window in the quorum Q. The lub o 4 o 5 Open image in new window shows the newest replica for the replicas in the quorum Q. By changing the colour cl of the replica o5into mc or deleting the orange r from the replica o4, a top replica 〈〈b, s〉, mc〉 (= o 4 o 5 Open image in new window) can be obtained.
Figure 1

Replicas of a multimedia object.

Figure 2

Newness precedence of content and QoS.

In Figure 2, the vertical axis shows the newness of the content parameter c. The content c = 〈b, r, s〉 is changed with the content 〈b, s〉, i.e. b , r , s Open image in new windowb, s〉. Hence, o1.c (= 〈b, r, s〉) includes a larger volume of data than o2.c(= 〈b, s〉), i.e. o 1 .c o 2 .c Open image in new window. The horizontal axis indicates the newness of the QoS parameter cl. The QoS parameter cl is changed from fc to mc, i.e. fcinsertcodeofeq 1heremc. The QoS parameter o1.cl(=fc) includes more volume of data than o2.cl(= mc). Thus, b , s b , r , s Open image in new window and mcinsertcodeofeq 3herefc. A replica oj is richer than a replica oi( o i o j Open image in new window) iff o i .c o j .c Open image in new window and o i . q k o j . q k Open image in new window for every QoS parameter qk. This means, the replica oican be obtained by deleting data and degrading the richer replica oj to a less QoS one.

In the QB protocol [9], there is at least one newest replica oi in a read quorum Qr.A transaction reads the newest replica oiin the quorum Qr.A transaction writes every replica in a write quorum Qw. Then, every replica in the quorum Qwgets the newest. In the QB protocol, each replica has the version counter. The version counter of every replica in a write quorum Qwis incremented so that the version counter of each replica in the quorum Qwshows the maximum value in the replica set O. Hence, the write quorum Qwincludes at least one newest replica whose version counter is the maximum. A replica whose version counter is the maximum is the newest. Every replica is required to be complete in the QB protocol.

For a pair of values x and y, max(x, y) is defined to be the value x if y x Open image in new window. Here, max(x, y) = max(y, x). max(x, y) = ⊥ if xy. The upgrade operation oi+ oj on a pair of replicas oiand oj a replica oh such that oh.c=max(oi.c, oj.c) and oh.qk=max(oi.qk, oj.qk) for every QoS parameter qk. + Q shows o1 + .. + on for a quorum Q (= {o1, .., on}). + Q shows a replica o which may not be in a quorum Q but which can be the top replica Q Open image in new window. Here, let mc be max {oi.coiQ} and m q k Open image in new window be max {oi.qkoiQ} in a quorum Q. A replica oican be upgraded to an lub of a quorum Q if the content parameter oi.c and every QoS parameter oi.qk could be changed to mcand m q k Open image in new window, respectively. In order to reduce the overhead to upgrade a replica, one of the maximal replicas is taken. For example, a maximal replica oi with the smallest number of parameters to be changed is taken. Then, the maximal replica oiis upgraded. A quorum Q is referred to as completable iff + Q is Q Open image in new window. That is, some replica oi can be upgraded to the top replica Q Open image in new window. The quorum Q shown in Figure 1 is incomplete but completable since one of the maximal replicas o5 and o6 can be upgraded.

Types of operations

Let op be an operation supported by an object o, i.e. read or write operation.Let Qop( O Open image in new window) be a quorum for an operation op. Here, there might not be the newest, i.e. top replica in the quorum Qop. That is, the lub Q op Open image in new window is not in the quorum Qop. Even if there is no top replica in the quorum Qop, there is some maximal replica oiin the quorum Qop.

There are two types of write operations by which replicas are changed:

Enriching (E) type.

Impoverishing (I) type.

Suppose a value x is changed with another value y of a content or QoS parameter in an operation op. Here, the value x precedes the value y, i.e. y is newer than x ( x y Open image in new window). If op is an enriching type of operation, y is richer than x ( x y Open image in new window). Otherwise, y x Open image in new window. A richer replica oican be easily changed into a poorer replica because data in the replica is just removed without using additional data not in the replica oi. On the other hand, we need additional data which is not in a replica oi to change a poorer replica oiin order to a richer one. Thus, in an enriching operation, some volume of data is added to a replica oi, i.e. the replica oiis enriched. For example, an orange subobject r is added to the replica o4 by a content operation insert as shown in Figure 2. The number of colours (cl) is increased in a QoS operation up-colour (uc), i.e. changed with the fully coloured one as shown in Figure 3 (a). This is an enriching operation. On the other hand, some data is removed from a replica in an impoverishing operation, i.e. the replica is made poorer. For example, some subobject, say an orange r is deleted from a replica o by a content operation delete as shown in Figure 3 (b). On the other hand, further data which is not in the replica is required to increase the frame rate. Thus, it is easier to perform the impoverishing type of write operation than the enriching type on a replica.
Figure 3

Enriching and impoverishing operations.

Suppose there are a pair of monochromatic replicas oi and oj of a multimedia object o, which are composed of a blueberry b, orange r, and strawberry s subobjects. A pair of the replicas oiand oj are equivalent, oiojwhere oi.c=oj.c=〈b, r, s〉 and oi.cl=oj.cl=mc. Then, a transaction T1 deletes an orange subobject r in the replica oi. The top, i.e. newest replica is the replica oiwhile ojis obsolete. Since delete is an impoverishing write operation, the replica oj can be made a newest one by just deleting the subobject r. On the other hand, suppose a transaction T2 changes the colour (cl) parameter of the replica oito be fully coloured in an up-colour (uc) operation. The uc operation is an enriching one. In order to change the replica oj, data to make the replica oj fully coloured has to be sent to the replica ojsince the replica oj does not have the data while oihas the data. Even if the operation uc which is applied to the replica oi is obtained to the replica oj, the replica ojcannot be changed without obtaining the colour data from the newest replica oi.

In the QB protocol, Q o p i Open image in new window Q o p j Open image in new windowϕ for every pair of quorums Q o p i Open image in new window and Q o p j Open image in new window of conflicting operations opiand opj. The quorum-based protocol for abstract types of operations on objects is discussed in the paper [5].

Multimedia Quorum-Based (MQB) Protocol

Counter vectors

Let Q be a quorum of replicas o1, .., on(n≥1) of a multimedia object o. Each replica oi is characterized in terms of the content oi.c and QoS parameters oi.q1, .., oi.ql(i = 1, .., n). Here, a tuple of parameters 〈p0, p1, .., pl〉 is a scheme of a replica oi. Here, the object oi is written as a tuple 〈v0, v1, .., vl〉 (l≥1) of values, where v0 shows the content c and vk stands for a value of a QoS parameter qkfor k=1, .., l. A vector oi.V = 〈vco, vc1,.., vcl〉 of version counters is assigned to a replica oi= 〈oi.v0, oi.v1, .., oi.vl〉. Initially, oi.V = 〈0, 0, .., 0〉. Each time an element oi.qk is changed (k=0, 1, .., l), the counter oi.vck is incremented so that the counter oi.vck is the maximum in the quorum Q.

Suppose a counter vck is incremented since a parameter oi.pkis changed in a replica oiby performing an operation op on the replica oi(k∈{0, 1, .., l}). First, the maximum counter value v is taken in a set {oi.vckoiQop} of the counter values of the quorum Qop. In the quorum Qop, the maximum value v of the counter vck is incremented by one, v = v + 1. Then, oi.vck= v on every replica oi in the quorum Qop. The value of the k th parameter oi.qk of a replica oi is the newest if the counter vck is maximum in the quorum Qop.

Let us consider a quorum Q of five replicas o1, o2, o3, o4 and o5 shown in Figure 1, Q = {o1, o2, o3, o4, o5}. Initially, every replica is equivalent in the quorum Q, i.e. o1o2o3o4o5. Each replica oi has one QoS parameter colour (cl) and a vector oi.V= 〈oi.vc0, oi.vc1〉 (i = 1, .., 5). In each vector oi.V, oi.vc0 is a counter for the content parameter oi.c(= oi.v0) and oi.vc1 is a counter for the QoS parameter cl (number of colours) oi.cl(= oi.v1). In every replica oi, initially oi.V= 〈0, 0〉 where oiis composed of three fully coloured subobjects s, g, and a, i.e. oi= 〈〈s, g, a〉, fl〉.

First, the fully coloured replicas o2and o5are updated by changing the colour parameter cl with the monochromatic one, o2= o5= 〈〈s, g, a〉, mc〉. The counter vc1is incremented by one. Here, o2.V= o5.V= 〈0, 1〉 since the second parameter cl is changed.

Next, a pair of replicas o3and o4are obtained by deleting an orange subobject r, i.e. o3.V= o4.V= 〈1, 0〉 where o3= o4= 〈〈s, g〉, fc〉 since the first content v0is changed.

Then, the orange subobject r is deleted in the replica o4, o4= 〈〈s, g〉, mc〉. Here, o4.V= 〈1, 1〉. Here, o 1 o 2 o 4 Open image in new window where o1.Vo2.V and o2.Vo4.V.

Then, the fully coloured lemon subobject l is added to the replica o5, o5= 〈〈b, l, s〉, fc〉. The counter vector o5.V is changed with 〈2, 0〉.

Here, a pair of the replicas o2and o3 are uncomparable (o2o3) where a pair of the vectors o2.V= 〈1, 0〉 and o3.V= 〈0, 1〉 are not comparable. o 1 o 3 Open image in new window since o1.V<o3.V. o 3 o 4 Open image in new window and o 3 o 5 Open image in new window where o3.Vo4.V and o3.Vo5.V, o4o5since o4.V= 〈1, 1〉 and o5.V = 〈2, 0〉. Figure 4 shows the vector oi.V of each replica oi(i = 1, .., 5). Here, a directed edge o i o j Open image in new window shows the newness-precedent relation o i o j Open image in new window. Here, there is no top replica in the quorum Q. Here, max(o4.vc0, o5.vc0) = 2 and max(o4.vc1, o5.vc1) = 1. Hence, if the colour parameter o5.cl of the replica o5 is changed with monochromatic one mc, the replica o5 gets the top replica 〈〈b, l, s〉,mc〉. Here, the counter o5.vc0 is incremented by one, o5.V= 〈2, 1〉. In another way, the replica o4 can be the newest replica 〈〈b, l, s〉, mc〉 by adding a monochromatic lemon l to the replica o4.
Figure 4

Counter vectors of replicas.

Write operations

Suppose a transaction T issues a write operation op to change the k th parameter pk of a replica oi(0≤kl). A transaction T first locks a replica oiin the op mode before performing an operation op on the replica oi. Here, a lock mode op1 is referred to as conflict with a lock mode op2 if an operation op1 conflicts with an operation op2. If the replica oiis already locked in a mode conflicting with the operation op, the transaction T has to wait.

[Write procedure]

First, the transaction T locks every replica oiwith an op mode in the quorum Qop. If every replica oicould not be locked, the transaction T waits.

If successfully locked, the transaction T writes the k th element oi.vkof every replica oiand collects the vector oi.V from every replica oiin the quorum Qop.

vc= max ( o1.vck, .., on.vck) and the transaction T changes oi.vckwith vc + 1 in every replica oiof the quorum Qop.

The version counter vck of every replica in the quorum Qopis changed with the maximum value vc. In order to reduce the computation and communication overheads, the parameter oi.pk of every replica oi is not always changed while the counter is updated:

If the operation op is an enriching type, the parameter oi.qkof every replica oiis updated in the quorum Qop.

If op is an impoverishing type, the parameter oi.qkof only the top replica oiis updated.

We consider the replicas of the object o shown in Figure 5. Suppose a transaction T1 adds a lemon subobject l to the replicas. The operation add is an enriching type of write operation. Suppose Qadd is a quorum {o1, o2, o3} of the replicas for the add operation. Here, o1= 〈〈b, r, s〉, fc〉, o2 = 〈〈b, s〉,fc〉, and o3 = 〈〈b, r, s〉, mc〉. A pair of the replicas o2and o3 are maximal, Ma x Q add Open image in new window = {o2, o3} Q add Open image in new window. Here, max(o1.c, o2.c, o3.c) = 〈b, s〉 (= o2.c = o3.c) and max(o1.cl, o2.cl, o3.cl) = mc. Here, the replica o2 can be the top replica 〈〈b, s〉, mc〉〉 by upgrading the replica o2, o2 = + Qadd. Then, the lemon subobject l is added to the replica o2. Here, o2 = 〈〈b, l, s〉, mc〉. A pair of the other replicas o1and o3 are changed so that o1o2 and o3o2. That is, the colour parameter cl of the replica o1is changed with monochromatic one mc, the orange subobject r is deleted, and the lemon l is added to the replica o1. The orange r is deleted and the lemon l is added to the replica o3. Then, a pair of the replicas o2 and o3 get equivalent with the replica o1(o2o3o1 = 〈〈b, s〉, mc〉).
Figure 5

Upgrade of a replica.

Next, suppose a transaction T2deletes a subobject b. Here, suppose there are three replicas o1, o2, and o3 shown in Figure 2. One maximal replica o2 is taken and upgraded to 〈〈b, s〉, mc〉. Then, b is removed. Here, o2= 〈〈s〉, mc〉. Since the delete operation is an impoverishing one, the other replicas o1 and o2are not updated and the delete operation is logged in o1 and o2.

Read operations

Next, suppose a transaction T issues a operation op to replicas of an object o to read the parameter pk(k = 0, 1, .., l). The transaction T has to read the k th parameter oi.pk of the newest replicas oi in the quorum Qop. In order to read the newest replica oi, the transaction T has to read the version counter oj.vck from every replica oi in the quorum Qop:

[Read procedure]
  1. 1

    First, the transaction T locks every replica with an op mode in the quorum Qop. If every replica could not be locked, the transaction T waits.

     
  2. 2

    If every replica could be successfully locked, the transaction T collects the vector oi.V from every replica oiin the quorum Qop.

     
  3. 3

    If there is a replica oisuch that oj.Voi.V for every replica ojin the quorum Qop, the replica oiis the top of the replicas in the quorum Qop, i.e. oi= Q op Open image in new window and is the newest in the quorum Qop. The transaction T reads the replica oiand change the counter oi.vckin every replica in the quorum Qop.

     
  4. 4

    If there is no top replica in the quorum Qop, the transaction T has to upgrade one maximal replica oiin Qop, i.e. oi= +Qopwhich is the top Q op Open image in new window of the quorum Qop. The transaction T reads the k th element oi.vkof the replica oiand changes the counter oj.vckwith oi.vchin every replica in Qop.

     

Upgrade of a maximal replica

If a top replica is not in the quorum Qop, the transaction T has to obtain a top replica from the replicas in the quorum Qopin the read procedure. We discuss how to upgrade a maximal replica oi to the top replica, i.e. oi = +Qop by using the vectors of the replicas. A replica oiis referred to as satisfy a counter vector V = 〈vc0, vc1, .., vcl〉 iff oi.vck = vck for k = 0, 1, .., l.

First, one maximal replica oiis selected in the quorum Qopas follows:

[Selection of a maximal replica]
  1. 1

    The transaction T obtains a vector V=〈vc0,vc1,..,vcl〉 where vck= max({oi.vckoiQop}) for k = 0,1,..,l from the collection of the vectors collected in the quorum Qop.

     
  2. 2

    A replica oiwhich satisfies the vector V = 〈vc0, vc1, .., vcl〉, i.e. oi.vck= vckfor every k = 0, 1, .., l, shows the top replica Q op Open image in new window. If the replica oiis found, the transaction T reads the replica oi.

     
  3. 3

    Otherwise, the transaction T selects a replica oiwhere ∣{vckoi.vck= vckfor k = 0, 1, .., l}∣ is the maximal in the quorum Qop. That is, a maximal replica oiis selected so that the overhead to change the replica can be reduced.

     

The replica oi found at step 3 is not the top in the quorum Qop. Here, a parameter pk of a replica oi is current if oi.vck is maximum. Otherwise, the parameter pkis obsolete. Hence, the transaction T updates the parameters of the replica oi as follows:

[Upgrade of a maximal replica]
  1. 1

    For each obsolete parameter pk, the transaction T finds a replica ojwhere oj.pkis current in the quorum Qopwhich satisfies oi.vck<vck.

     
  2. 2

    The transaction T updates each obsolete parameter oi.pkwith the current one oj.pkby using the replica oj.

     
  3. 3

    The vector oi.V is updated as oi.V= V.

     

At step 1, the replica ojfound by the transaction T has the newest value of each obsolete parameter pk of the replica oi. The value of the parameter oi.pk has to be enriched to the parameter value oj.pk. If the parameter value oi.pkis richer than oj.pk, i.e. o j . p k o i . p k Open image in new window, the QoS parameter of the replica oican be impoverished just by deleting some data in the replica oiwithout using additional data. Otherwise, the parameter pk of the replica oihas to be enriched, i.e. we need further data which is not in the replica oi to enrich the value of the QoS parameter pk. Hence, the content oi.v0 of the replica oi is required to be the same as the replica oj, i.e. oi.v0 = oj.v0.

The elements oi.v0, oi.v1, .., oi.vl of every replica oi in the quorum Qop( O Open image in new window) are changed with the newest ones. In addition, the vector oi.V of every replica oi in the quorum Qophas to be changed to be larger than every replica in the replica set O. In every read operation op’, every replica in the quorum Q o p Open image in new window is changed with a replica equivalent with the top replica. It is sure at least one top replica of the replica set O is included in the quorum Q o p Open image in new window. However, the overhead to change every replica in the quorum Q o p Open image in new window is increased. Suppose one top replica is read by the operation op and other replicas in the quorum Q o p Open image in new window are not changed. Hence, the quorum Qopmay not include the top replica. Here, the content and QoS parameters of every replica in the quorum Qop can be changed since they are just overwritten. However, the maximum vector value obtained by all the replicas in the quorum Qopmay not be the maximum in the replica set O. Suppose Q o p Open image in new window = {o1, o2, o3} and Qop = {o3, o4}. Here, suppose the replica o1 is the top replica. A transaction T1reads the top replica o1in a read operation op’ but does not change the other replicas o2 and o3. Then, another transaction T2 writes the replicas o3and o4in a write-type operation op. Here, the vectors of replicas o3 and o4 are not the newest while the vector of the replica o1 is the newest.

If every replica is updated in a read operation, it implies larger communication and computation overhead to bring update data to every replica and then update every replica in the read quorum. In order to reduce the overhead, we take the following approach:

[Completable quorum]

In a read operation op, only the vector oi.V of every replica oiexcept the top replica is changed but the content oi.v0and QoS parameters oi.Q of the replica oiare not changed.

In a write operation op, the vector V which shows the top replica in the replica set O can be obtained in the quorum Qop. In the example of the quorums Q o p Open image in new window and Qop, the vectors of the replicas o1, o2, and o3are updated while the content and QoS parameters of the replicas o2 and o3 are not updated by the transaction T1. Then, the transaction T2 overwrites every replica in the quorum Qop. Here, the vector o3.V of the replica o3 is the newest since o3.V is updated by the transaction T1. Hence, the vector of the replica o3 is incremented and then the vector o4.V of the replica o4 is changed with o3.V.

Evaluation

We would like to evaluate the multimedia quorum-based (MQB) protocol compared with the traditional quorum-based (QB) protocol in terms of communication overhead. In the MQB protocol, if a transaction issues a read operation, every replica in a read quorum Qr is not updated while the vector of every replica is updated. We show how much the communication overhead to update every replica in the quorum Qrcan be reduced in the MQB protocol.

Suppose there are n replicas, o1, .., on(n≥1) of an object o. Suppose there are two types of operations, read (r) and write (w). Qr and Qwshow a pair of read and write quorums, respectively. nr shows the number |Qr| of replicas in the quorum Qrand nw=|Qw|. Let frand fwbe a pair of probability that a replica is included in the quorums Qr and Qw, respectively. We assume each quorum is randomly constructed. That is, fr=nr/n and fw=nw/n. According to the quorum properties, fr + fw>1 and fw>0.5. Let f be fr + fw−1. Here, f shows probability that a replica is included in both the quorums Qr and Qw. f>0.

In the QB protocol, a transaction T first issues a lock request to every replica in a quorum Qop to perform an operation op∈{r, w}. If every replica is successfully locked in the quorum Qop, the transaction T issues an operation op to replicas in Qop. First, suppose the transaction T issues a write op to every replica in the write quorum Qwand updates the version counter of every replica. Here, totally 4·nw ( = 4·n ·fr ) messages are transmitted. In order to write replicas, data is sent to every replica in the write quorum Qw. Let d be the size of the update data, e.g. the size of a replica. The expected volume of data transmitted is n ·fw·d.

On the other hand, the transaction T issues a read operation op to one replica and receives a value of the replica in the read quorum Qr. Then, the transaction T sends the newest value to every other replica and updates the version vector of every replica in the QB protocol. The totally 4·nrmessages are transmitted between the transaction T and the replicas. In the QB protocol, the newest value of the replicas in the quorum Qr is read into the transaction T and is transmitted to every other replica which is in the quorum Qr but not in the quorum Qw. Hence, the expected volume of data transmitted is n ·fr·(1−fw)·d.

In the MQB protocol, the transaction T reads the top replica and updates the version counter of every replica in the read quorum Qr. However, the other replicas are not updated in the quorum Qr. The number 4·nr(= 4·n ·fw) and 4·nw(= 4·n ·fr) of messages are transmitted for read and write in the MQB protocol, respectively, as well as the QB protocol. The volume of data transmitted to write the replicas is n ·fw·d in the traditional QB protocol and the MQB protocol. Here, let α be the ratio of the number of write operations to the total number of operations issued by transactions (0≤α≤1). “ α=0” means every request is read and “α=1” shows every request is write. In the QB protocol, the expected volume SQ of data transmitted in each transaction is α ·n ·fw·d + (1−α)·n ·(1−fw)·fr·d. The expected volume SM of data transmitted in the MQB protocol is α ·n ·fw·d + (1−α)·d since no data is transmitted to every other replica in read than the top replica in the quorum Qr.

Figures 6 and 7 show the ratios SQ/(n ·d) and SM/(n ·d) for the write ratio α. Here, we assume there are ten replicas, n = 10. In Figure 6, fw = 0.6, and f = 0.1. In Figure 7, fw = 0.8 and f = 0.1. SQ= SM for α = 1. As shown in Figures 6 and 7, the total amount of data transmitted can be reduced in the MQB protocol compared with the QB protocol. In Figure 8, the ratio SM / (d ·n) is shown for the write probability fw. Here, fw should be lager than 0.5 from the quorum constraint (fw>0.5). The lager fwand α are, the lager amount of data is transmitted. In order to reduce the communication overhead, the write quorum should be smallest. In Figure 9, the data ratio SM / (d ·n) for the number n of replicas is shown where fw = 0.8. Figure 10 shows the data ratio SQ/ (d ·n) for the number n of the replicas. The communication overhead of the MQB protocol is increased in complexity O(n) since the ratio to the number n of the replicas is almost O(1).
Figure 6

Transmission data volume (fw= 0.6,f= 0.1).

Figure 7

Transmission data volume (fw= 0.8,f= 0.1).

Figure 8

Transmission data volume (MQB).

Figure 9

Transmission data volume (MQB) (fw= 0.8,f= 0.1).

Figure 10

Transmission data volume (QB) (fw= 0.8,f= 0.1).

Conclusions

In this paper, we discussed the multimedia quorum-based (MQB) protocol to keep replicas of a multimedia object mutually consistent.A multimedia object is characterized in content and QoS parameters. Replicas are partially ordered in the newness-precedent relation insertcodeofeq 1here in terms of not only content parameter but also QoS parameters. If a replica oi has a larger vector value than another replica oj, the replica i.e. oi.V>oj.V, oi is newer than oj. A replica oi and the vector oi.V are updated each time the replica oiis manipulated. In order to increase the performance to read replicas, only the counter vector of each replica is updated in a quorum while the content and QoS parameters of the replica are not updated. We evaluated the MQB protocol in terms of the total volume of data transmitted among the replicas. We showed the total amount of data transmitted can be reduced in the MQB protocol compared with the traditional quorum-based (QB) protocol.

Notes

Acknowledgements

This research is partially supported by the strategy research of Seikei University and MEXT, Grant-in-Aid for Building Strategy Research Infrastructure.

Supplementary material

13673_2011_17_MOESM1_ESM.eps (2.4 mb)
Authors’ original file for figure 1
13673_2011_17_MOESM2_ESM.eps (2 mb)
Authors’ original file for figure 2
13673_2011_17_MOESM3_ESM.eps (4.1 mb)
Authors’ original file for figure 3
13673_2011_17_MOESM4_ESM.eps (658 kb)
Authors’ original file for figure 4
13673_2011_17_MOESM5_ESM.eps (3.2 mb)
Authors’ original file for figure 5
13673_2011_17_MOESM6_ESM.eps (613 kb)
Authors’ original file for figure 6
13673_2011_17_MOESM7_ESM.eps (613 kb)
Authors’ original file for figure 7
13673_2011_17_MOESM8_ESM.eps (620 kb)
Authors’ original file for figure 8
13673_2011_17_MOESM9_ESM.eps (530 kb)
Authors’ original file for figure 9
13673_2011_17_MOESM10_ESM.eps (626 kb)
Authors’ original file for figure 10

References

  1. 1.
    Hofmann P, Woods D: Cloud Computing: The Limits of Public Clouds for Business Applications. Journal of IEEE Internet Computing 2010, 14: 90–93. ISBN 1089–7801 ISBN 1089–7801CrossRefGoogle Scholar
  2. 2.
    Schollmeier R: A Definition of Peer-to-Peer Networking for the Classification of Peer-to-Peer Architectures and Applications. Proc. of the First International Conference on Peer-to-Peer Computing 2001. Linkoping, Sweden, p 101 Linkoping, Sweden, p 101Google Scholar
  3. 3.
    Gray J: Notes on Database Operating Systems. 1978.Google Scholar
  4. 4.
    Helal A, Bhargava B: Performance Evaluation of the Quorum Consensus Replication Method. Proc. of the Internation Computer Performance and Dependability Symposium (IPDS’95) 1995. Erlangen, Germany, pp 165–172 Erlangen, Germany, pp 165-172Google Scholar
  5. 5.
    Stoica I, Morris R, Karger D, Frans Kaashoek M, Balakrishnan H: Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications. Proc. of ACM the 2001 Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications (SIGCOMM ’01) 2001. San Diego, califonia, USA, pp 149–160 San Diego, califonia, USA, pp 149–160Google Scholar
  6. 6.
    Lakshman A, Malik P: Cassandra: A Decentralized Structured Storage System. ACM SIGOPS Operating Systems Review 2010,44(26):35–40.CrossRefGoogle Scholar
  7. 7.
    Ohkawara T, Aikebaier A, Enokido T, Takizawa M: Quorums-based Replication of Multimedia Objects in Distributed Systems. Proc. of the International Conference on Network-Based Information Systems, NBiS2011, CD-ROM 2011. Tirana, Albania Tirana, AlbaniaGoogle Scholar
  8. 8.
    Enokido T, Higaki H, Takizawa M: Group Protocol for Distributed Replicated Objects. Proc. of the 27th International Conference on Parallel Processing (ICPP-98) 1998. Minneapolis, Minnesota, USA, pp 570–577 Minneapolis, Minnesota, USA, pp 570–577Google Scholar
  9. 9.
    Tanaka K, Takizawa M: Quorum-Based Locking Protocol for Replicas in Object-Based Systems. Proc. of IEEE the 5th International Symposium or Autonomous Decentralized Systems 2001. Dallas, Texas, USA, pp 196–203 Dallas, Texas, USA, pp 196–203Google Scholar

Copyright information

© Ohkawara et al.; licensee Springer. 2012

This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Authors and Affiliations

  • Tadateru Ohkawara
    • 1
  • Ailixier Aikebaier
    • 3
  • Tomoya Enokido
    • 2
  • Makoto Takizawa
    • 1
  1. 1.Department of Computer and Information ScienceSeikei UniversityMusashino-shi, TokyoJapan
  2. 2.Faculty Of Business AdministrationRissho UniversityShinagawa-ku, TokyoJapan
  3. 3.New Generation Network LaboratoryNICTKoganei, TokyoJapan

Personalised recommendations