ABSTRACT

A highly reliable network which can restore itself from failures is an important concept for the future high capacity broadband network. In this paper we propose a self-healing scheme for ATM Networks based on virtual path, taking advantages of backup restoration method and dynamic restoration algorithm in order to meet different requirements of service classes of survivability under minimum cost. The performance evaluation by simulations shows that the proposed algorithm can restore VPs quickly and it uses the network resources very efficiently.

Introduction

Today, many end users have an absolute dependence on telecommunication networks. They require fully reliable services and high-quality performance, assured service continuity, and transparency to failures. This desired quality is called network survivability performance. A major benefit of setting survivability performance objectives will be to ensure that, under given failure scenarios, network performance will not degrade below predetermined levels. Furthermore, reliability in telecommunications networks is a measure which is both hard to define and to evaluate.

ATM network, as a future powerful network, support multimedia traffic with diverse service characteristics and various Quality-of-Services (QoS) requirements. Routing strategies play an important role in meeting these requirements.

The proposed https://www.w3.org/1998/Math/MathML">   1,2 , 3,5 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> restoration strategies can be classified in two groups, link restoration and path restoration. Furthermore, two types of algorithms have been proposed to provide network restoration under failure. The dynamic restoration are capacity search algorithms that try to reroute the affected traffic to the extended possible on facilities with spare capacity https://www.w3.org/1998/Math/MathML">   5 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Another class of restoring algorithms are the algorithms that use the preassigned backup VP (B-VP) to restore the affected traffic https://www.w3.org/1998/Math/MathML">   2,3 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . The precomputed backup routes are stored in the network nodes.

Figure 1: Flowchart of the self-healing algorithm.

The advantages and disadvantages of the two algorithms are not one sided. The dynamic restoration algorithm requires less capital investment in the network, but on the other hand requires a considerable time for restoration. The B-VP is a high speed restoration algorithm, but for large scale networks it may turn out to be fairly expensive to plan for all possible failure scenarios and precompute backup paths. Therefore, compromises for both algorithms exist.

In this work, we propose a new routing strategy to restore the multiple failures in ATM networks. This new routing algorithm consist on the coordination of the B-VP algorithm and dynamic algorithm in order to meet different requirements of survivability service classes.

This paper is organized as follows. In Section 2 a new rerouting strategy is proposed. In Section 3 the features for classification of service classes and cell format are adopted for the proposed algorithm. The simulation results are treated in Section

The conclusions are given in Section 5 .

The proposed rerouting strategy

In this section a new routing algorithm in order to improve the survivability parameters is proposed. This algorithm coordinate both, the B-VP and dynamic algorithms to reroute the affected traffic when a failure happen.

The conventional algorithms https://www.w3.org/1998/Math/MathML">   2,5 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq4.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> have mainly studied only a single link or single node failure. On the other hand the proposed rerouting algorithm is able to recover multiple failures. Furthermore, this rerouting algorithm can be used for both link failure and node failure cases. Here only the link failure is considered for two reasons: a) the nodes are well enough protected from many factors, and b) the node failure can be considered as a failure of all links that are connected on this node. The flowchart of the proposed self-healing algorithm is shown in Figure 1 .

Figure 2: Basic behavior of the activation phase.

First, the B-VPs are precomputed for each working VP (W-VP) on the network. The B-VP establishment of the W-VP depend on these parameters: the survivability performance requirements (see Sec. 3.A), the current capacity, and the current available VPI number in the network. The route for B-VP should be completely different from W-VP. The centralized control of the backup assignment for each VP on the network is used. (For more information see https://www.w3.org/1998/Math/MathML">   6 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq5.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .)

Let suppose that a link failure happens on the network. Two adjacent nodes on the failed link detect the failure and enter in the activation phase.

Activation phase. When a failure happens, two nodes that connect the failed link https://www.w3.org/1998/Math/MathML"> ( x , y ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq6.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> inform every termination node of the VPs which share the failed link by sending the information cells (see Sec. 3.B). At the same time they https://www.w3.org/1998/Math/MathML"> ( x , y ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq7.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> start broadcasting the connection messages, by sending the restoration cells, to restore the failed link on the shortest route (the time is considered as the only parameter). This is shown in Figure 2. The parallel activation is used, because it fulfills the requirements for a fast restoration.

Recover and switching phase. This phase is connected with recovering of B-VP of the failed W-VP. The destination (D) nodes of each VP which are shared on the failed link, after receiving the information messages, send a recover message along the B-VP as is shown in Figure 3(a). The cross-connect (C-C) nodes of the B-VP that receive the restoration message occupy the appropriate bandwidth on the link and then transmit the message to the next node (see Figure 3(b)). If the origin O node receives the restoration message, it will switch the traffic from the failed W-VP to the B-VP and the procedure is completed.

Figure 3: Basic behavior of the recover and switching phase.

When the bandwidth of the link is not enough for that VP, the C-C nodes send an unavailable message to the https://www.w3.org/1998/Math/MathML"> O https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq8.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> node and the release message is sent back to release the occupied bandwidth (see Figure 3©).

Under the multiple failure, it may occur that two or more B-VPs use the same link. But maybe the capacity of this link is not enough to support the B-VPs (see Figure 4).

The O-D nodes in which a failure has happened try to use the B-VP. The BVPs of these nodes may use the same link https://www.w3.org/1998/Math/MathML"> ( a , b ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq9.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Let suppose in this case that, the capacity of this link is not enough to support both B-VPs. The C-C node https://www.w3.org/1998/Math/MathML"> ( a , b ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq10.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> will decide which B-VP will use the shared link based on the priority of the services

Figure 4: Unanticipated failure.

classes. Then one of the https://www.w3.org/1998/Math/MathML"> ( a , b ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq11.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> nodes will send an unavailable message to the O node to inform that the B-VP can’t use this link.

Search phase. This phase is connected with dynamic restoration of the failed link. One node becomes sender and the other becomes chooser. The sender will broadcast the restoration messages to the neighbour nodes to find the shortest path (time is considered as the only parameter). Each node will add in the restoration cell the information about the spare capacity and its identity. The message wall is used in order to prevent the useless cells 7 ).

Acknowledgment phase. When the chooser node receives several restoration messages from the sender node, the chooser node transmits the response message to the sender node on the founded paths. Each C-C node that receives response message will update the bandwidth information for the route and transmit it to next node on the route. When the sender node will receive the response messages from different routes, based on their information will select the route that is shorter and possess more bandwidth. Then will send the acknowledgment message to the chooser node on the selected route. The acknowledgment message will occupy the free bandwidth of the selected path.

Connection phase. All O nodes which received the unavailable messages will transmit a waiting message to the sender node (see Figure 5(a)). After the restoration of failed link by dynamic restoration, the sender node will choose the appropriate O-D node pairs to use the restored VP (see Figure 5(b)). The all O nodes that received the connection message will switch their traffic on the recovered path.

Figure 5: Connection phase.

The remained VP’s that are still not restored will use dynamic algorithm to find a new VP route for their traffic.

A number of cells are exchanged between network nodes for each restoration algorithm (B-VP and dynamic restoration algorithms). Figure 6 illustrates the timing sequence for these algorithms. As is shown there the dynamic restoration has always greater restoration time than the backup algorithm https://www.w3.org/1998/Math/MathML"> t d > t b https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq12.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Therefore, the conflicts between cells of different algorithms are avoided.

Features of self-healing algorithm

The main purpose of proposed self-healing scheme is to improve the restoration time after failures occurs in network. In this Section the classification of service classes and cell format are adopted for this algorithm.

Classification of service classes.

This hybrid mechanism can fast restore failed VP’s based on their assigned priority in case of failures. According to restoration time requirements and sensitivity of services, we adopt three service classes of survivability at ATM VP level, in order to optimize the economics and survivability. In the first class can be classified together higher survivability services, like emergency services, real time processing, access to distributed database, national banking services etc. In the second class can be classified medium speed services like hifi sound, video telephony, high speed data, etc. The services of class 1 and class 2 will be maintained by minimum impact in the case of failures. And in the third class can be classified services where the delay is not an important parameter, like e-mail etc. Each survivability class of W-VP will be determined by the compromise between survivability performance and cost.

Cell format.

The self-healing messages can use ATM layer Operation and Maintenance (OAM) cells. ITU-T has proposed a management scheme using OAM cells for the VP layer. VP-AIS (VP Alarm Indication Signal) cells are generated and transmitted as soon as

Figure 6: Timing diagram for two restoration algorithms.

possible after observing a defect indication, and transmitted periodically during the defect’s existence in order to indicate an interruption of cell transfer capability at the VP level. A VP-RDI (VP Remote Defect Indicator) cell is sent to the far-end from a VP termination point as soon as it has declared a VP-AIS state. Therefore, C-C nodes along the failed VP can detect the failure very rapidly. The self-healing cell format is shown in Figure 7. These cells will have the same format as OAM cells with the following determinations. In the OAM cell type we propose using of 0100 code that is not used by ITU-T, to identify the self-healing messages from the other OAM messages. OAM function type field will contain the type of self-healing message, e.g. recover message, connect message, etc. According to the self-healing message type, the information field of the OAM cell will contain the necessary information carried from these messages. Furthermore, the self-healing message is expected to need only one cell to transfer the self-healing parameters. This will make cells to be transferred quickly through the nodes.

Simulation results

The performance evaluation of the proposed algorithm is investigated by simulation for one- and two-links failure. The network model which has 15 nodes and 25 links is the existing middle-distance network in Japan and is shown in Figure 8. The link labels denote the number and delay (ms) of the link. We assume that there are 36 active VPs in the network and the bandwidth of them varies from https://www.w3.org/1998/Math/MathML"> 10 M b / s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq13.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to 45

https://www.w3.org/1998/Math/MathML"> M b / s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq14.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . The node processing time is considered https://www.w3.org/1998/Math/MathML"> 4   m s / m e s s a g e https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq15.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . The capacity of all links is considered https://www.w3.org/1998/Math/MathML"> 150 M b / s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq16.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and the average spare capacity ratio is considered https://www.w3.org/1998/Math/MathML"> 45 % https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq17.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Figure 7: Self-healing cell format using OAM cell.

The network survivability is studied for the following survivability measures: 1) average traffic survivability ratio https://www.w3.org/1998/Math/MathML"> S t = L t - l ti L t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq18.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , where https://www.w3.org/1998/Math/MathML"> S t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq19.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is the traffic survivability ratio, https://www.w3.org/1998/Math/MathML"> L t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq20.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is the load of network on all links, and https://www.w3.org/1998/Math/MathML"> l ti https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq21.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is the load on the failed link i; 2) the average fraction of VPs which remain connected after the failure https://www.w3.org/1998/Math/MathML"> C N = C N - n ci C n https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq22.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , where https://www.w3.org/1998/Math/MathML"> C N https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq23.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is the average connectivity ratio, https://www.w3.org/1998/Math/MathML"> C n https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq24.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is the total connection on the network, and https://www.w3.org/1998/Math/MathML"> n ci https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq25.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is the number of connections which go through the link i; and 3) the average time restoration https://www.w3.org/1998/Math/MathML"> t τ   4 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq26.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

The results of the survivability measures obtained by simulations are shown in Table 1. The results show the average of the traffic which remain after one- or two-links failure happen, the average connectivity, and the average restoration time, respectively.

For one link failure https://www.w3.org/1998/Math/MathML"> S t = 0.858 , C N = 0.792 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq27.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and for two links failure https://www.w3.org/1998/Math/MathML"> S t = 0.771 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq28.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , https://www.w3.org/1998/Math/MathML"> C N = 0.657 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq29.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , respectively. The traffic affected and connectivity for two links failure

Figure 8: Simulated network model.

is lower than for one link failure. This is because in the two links failure scenario the number of affected links is greater than for one link failure scenario. On the other hand, the average restoration time for two links failure is greater than for one link failure, but there is not a big difference. The difference is less than https://www.w3.org/1998/Math/MathML"> 5   m s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq30.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . This means, the proposed algorithm has a good restoration time even for two links failure.

The restoration speed for the one- and two-links failure scenario is shown in Figure 9. They have nearly the same restoration speed up to https://www.w3.org/1998/Math/MathML"> 32   m s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq31.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and then for two links failure case the restoration speed is growing slowly because the affected traffic is greater.

The restoration time after failure of each link happened in network is shown in Figure 10. The bigger restoration time is when failure happen on links that connect node N3 with node N7 and node N9 with node N12, and the lower restoration time is when failure happen on link that connect node N6 with node N7. This graph show that the restoration time is depended from the topology and the traffic on the network.

In the two links failure case, since the amount of bandwidth affected is greater than in the one-link failure case the restoration time is greater, but this difference is not so big, because the algorithm can use spare capacity more effectively.

The restoration speed for two links failure is shown in Figure 11. The algorithm in Ref. 2) has a fast restoration time until https://www.w3.org/1998/Math/MathML"> 60   m s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq32.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of the restoration time. This Table 1: Results of the survivability measures.

https://www.w3.org/1998/Math/MathML"> S t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq33.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> C N https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq34.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> t r https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq35.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> 38.66   m s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq36.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> 43.15   m s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq37.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Figure 9: One- and two-links failure restoration speed.

happens because this algorithm is using only the B-VPs restoration method. But after https://www.w3.org/1998/Math/MathML"> 60   m s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq38.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> the cùrve of the proposed algorithm increases faster and recovering ratio is almost https://www.w3.org/1998/Math/MathML"> 100 % https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq39.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . This is because the proposed algorithm coordinate the BVP and dynamic restoration algorithms, so the resource utilization is better than the algorithm proposed in Ref. https://www.w3.org/1998/Math/MathML">   2 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq40.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Conclusions

In this paper, we proposed a new self-healing algorithm based on VP for buildingup survivable ATM networks. The proposed algorithm coordinates the B-VP and dynamic algorithms to reroute the affected traffic when a failure happens. The proposed algorithm has many advantages versus a simple combination method, which will suffer from inefficient resource utilization. This means that some resources are not utilized either from backup or dynamic algorithm. It may happen, for soft

Figure 10: Restoration time for each link under failure.

failure, that two algorithms will ocucpy more resources that are needed. This will degrade the effectiveness of network. The proposed algorithm solve the problem of conflicts between cells of different algorithms and assure high speed node’s processing of cells because they belong to the same algorithm. These reasons will influence on restoration time. The large number of cells passing the network is the drawback of the proposed algorithm. The performance of the proposed algorithm was investigated by simulation. From the simulation results we conclude that the restoration time was evidently improved. The proposed algorithm has almost https://www.w3.org/1998/Math/MathML"> 100 % https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq41.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> restoration ratio. This means, the proposed algorithm uses the resources very efficiently. In a case where the spare capacity is not enough, the restoration time is getting longer and restoration ratio is not so good but nevertheless the services of first and second class will suffer less from this.

Bibliography

Veitch, P., Hawker, I., and Smith, G. “Administration of Restorable Virtual Path Mesh Networks”, IEEE Communication Magazine, pp. 96-101 (1996).

Kawamura, R., Sato, K., and Tokizawa, I., “Self-Healing ATM Networks Based on Virtual Path Concept”, IEEE Journal on Selected Areas in Communications, Vol. 12, No. 1, pp. 120-127 (1994).

Chen, Sh., Cheng, Sh., and Chen, J., “A backup VP Assignment Method for ATM Survivable Networks”, Proc. IEEE ICCS/ISPACS ‘96, pp. 805-809 (1996).

Figure 11: Two links failure restoration.

Zolfaghari, A., and F. J. Kaudel, F. J., “Framework for Network Survivability Performance”, IEEE Journal on Selected Areas in Communications, Vol. 12, No. 1, pp. 46-51 (1994).

Fujii, H. and Yoshikai, N., “Restoration Message Transfer Mechanism and Restoration Characteristics of Double-Search Self-Healing ATM Network”, IEEE Journal on Selected Areas in Communications, Vol. 12, No. 1, pp. 149-158 (1994).

Greca, A., Nakagawa, K., and Barolli, L., “A Self-Healing Scheme for ATM Networks Based on Virtual Path”, Proc. IEEE ICOIN-12, pp. 77-81 (1998).

Wipusitwarakun, K., Tode, H., and Ikeda, H., “Fast Failure Restoration Algorithm with Reduced Messages Based on Flooding Mechanism”, IEICE Trans. Commun., Vol. E-80B, No. 4, pp. 564-572 (1997).

Chen, Sh., Cheng, Sh., and Chen, J., “A Network Survivability Management System and Its Global Survivability Control for ATM/SDH Networks”, IEEE ICCS/ISPACS ‘96, pp. 810-814 (1996).

A Multiple-Class Buffer Allocation Scheme for ATM Networks with VBR Traffic

A multiple-class buffer allocation scheme for ATM networks with VBR (Variable Bit Rate) traffic is presented in this paper. The dynamic buffer allocation scheme consists of two parts. The first part is used to estimate the buffer size required for each class of traffic. The second part is used to dynamically rearrange the buffer space among different priorities of traffic classes. For the purpose of evaluation, we develop a mathematical model to analytically estimate the buffer size required for each stage of switch node. In addition, a simulation model is built. In the simulation study, the analytical results from the mathematical model are verified with the simulation.

Keywords: ATM, Buffer Allocation, Cell Loss Ratio, Queuing Delay, VBR .

Introduction

This paper presents a dynamic buffer allocation scheme for various types of VBR (Variable Bit Rate) traffic over ATM networks. It is critical that an ATM switch have the sufficient bandwidth to allocate its buffer space dynamically to meet the stringent QoS (Quality of Service) requirements for real-time VBR traffic. Previous work [1] has pointed out that the importance of automatically determining the minimal resources necessary to satisfy a specified QoS measure. Wu and Huang [2] proposed a dynamic priority scheme to improve QoS requirements in ATM network. Their work mainly uses two pointers, one for data and another for real-time stream, to adjust the buffer space for reducing the overall delay and cell loss rate. Comparison of buffer allocation scheme in ATM switches with complete sharing and dedicated allocation can be found in [3]. A complete sharing with virtual partition strategy for buffer management was proposed in [4]. The total buffer space is partitioned based on the relative traffic loads. This virtual partition allows a newly arriving cell belonging to an oversubscribed type to occupy the spare space of an underscribed type. Two optimal buffer sharing schemes can be found in [5-6], where the authors have proved that the optimal policy can be achieved by dropping (pushing out) packets based on a predefined buffer threshold. Separate buffer schemes for real-time and non-real time streams were proposed in [7], where they assumed the buffer size is invariable By considering only non-uniform traffic, an improved buffer sharing scheme, called Hot-Spot-Push-Out (HSPO), for ATM network was recently proposed [8].

The buffer allocation scheme presented in this paper mainly focuses on the reduction of the end-to-end queuing delay and the overall cell loss ratio by dynamically reallocate the switch’s buffer space for different classes of traffic with different levels of QoS requirements. We have developed two algorithms to dynamically rearrange the buffer space for each class of traffic. The first algorithm is used to estimate the buffer size required for each class of traffic based on the average cell loss ratio, and to determine the total number of cells arrived at the switch for each class of traffic between two bursty intervals. The second algorithm is developed to dynamically rearrange the buffer space among different classes of traffic. Here, we have assumed that a higher-priority class of traffic, such as real-time VBR video and audio traffic, has the privilege to occupy the buffer size originally reserved to a lower-priority class of traffic, such as non-real time data traffic, up to https://www.w3.org/1998/Math/MathML"> 80 % https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq42.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . This dynamic buffer allocation scheme is generalized to be able to support any number of traffic classes.

The proposed buffer allocation scheme is evaluated through an analytical model first. From the analytical modeling, we can deterministically estimate the buffer size required for each class of traffic at each stage of switch node. We then build a simulation model based on the IBP (Interrupted Berroullii Process) cell arrival process to verify the analytical results. The IBP process can completely capture the behavior of bursty traffic based on two cell generation states; the state of peak cell rate and the state of zero cell rate. From the simulation results, we observe that the buffer size required for each class of VBR traffic calculated from the analytical model is only https://www.w3.org/1998/Math/MathML"> 5 % - 7 % https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq43.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> apart from the results generated by the simulation model. This confirms the correctness of our analytical analysis. The simulation also demonstrates two significant improvements: (1) The end-to-end queuing delay and the queuing delay at each switch node for a specific traffic class have been largely decreased; (2) At each switch node, the cell loss ratio for a higher-priority traffic as a function of the burst probability (BP) has been greatly reduced as compared to those of the lower-priority traffic.

The rest of this paper is organized as follows. Section 2 describes the dynamic buffer allocation scheme. In Section 3, a network topology is introduced and a VBR traffic source based on the IBP model is established. In Section 4, a mathematical model for estimating the buffer space required for each switch node under different VBR traffic is introduced. In addition, a simulation is performed to verify the analytical results. Finally, we conclude this paper in Section 5 .

Dynamic Buffer Allocation

12.1. Traffic Class with Priority

We divide the VBR traffic into different classes with each class having a priority level. For example, the following shows 4 different classes of VBR traffic used in our simulation study: Class 1: Sensitive to both cell loss and cell delay. Class 2: Sensitive to cell delay but insensitive to cell loss. Class 3 : Sensitive to cell loss but insensitive to cell delay. Class 4 : Insensitive to cell loss and cell delayc.

Note that in the above, we have assumed that class 1 has the highest priority, while class 4 (also referred to as the reserved class) has the lowest priority. In general, for the same traffic load, the more occupancy of buffer space, the smaller of the cell loss ratio. In other words, when the cell loss ratio of a traffic loss has exceeded the QoS requirement, the buffer size required for that traffic class should be increased. On the other hand, when the cell loss ratio of a traffic class is much lower than its QoS requirement, some portion of the buffer space can be reallocated to other traffic classes such that the entire buffer utilization can be increased.

12.2. The Buffer Estimation Algorithm

Figure 1 shows the pseudo code of the Buffer Estimation (BE) algorithm. The core of the BE algorithm is right in the following equation[1].

https://www.w3.org/1998/Math/MathML"> T ( n , t + 1 ) = T ( n , t ) + K ( n , t ) l o g ⁡ ( P ( n , t ) / Q ( n ) ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq44.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Where https://www.w3.org/1998/Math/MathML"> T ( n , t + 1 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq45.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> T ( n , t ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq46.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> represent the buffer size required at time https://www.w3.org/1998/Math/MathML"> t + 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq47.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq48.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , respectively, for a specific traffic class https://www.w3.org/1998/Math/MathML"> n , P ( n , t ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq49.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is the measured cell loss ratio for class n of a switch node at time t, https://www.w3.org/1998/Math/MathML"> Q ( n ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq50.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is the average cell loss ratio for class n, and https://www.w3.org/1998/Math/MathML"> K ( n , t ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq51.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> represents the buffer re-adjustment factor for class https://www.w3.org/1998/Math/MathML"> n https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq52.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> at time https://www.w3.org/1998/Math/MathML"> t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq53.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . When https://www.w3.org/1998/Math/MathML"> P ( n , t ) ≥ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq54.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> Q ( n ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq55.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> (that is, https://www.w3.org/1998/Math/MathML"> l o g ⁡ ( P ( n , t ) / Q ( n ) ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq56.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is positive), the buffer space should be increased to meet the QoS requirements. On the other hand, when https://www.w3.org/1998/Math/MathML"> P ( n , t ) < Q ( n ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq57.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> (that is, https://www.w3.org/1998/Math/MathML"> l o g ⁡ ( P ( n , t ) / Q ( n ) ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq58.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is negative), the buffer space should be decreased to increase the entire buffer utilization. As long as https://www.w3.org/1998/Math/MathML"> P ( n , t ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq59.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is not equal to https://www.w3.org/1998/Math/MathML"> Q ( n ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq60.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , the buffer size is dynamically adjusted (increased or decreased) as a function of time t.

Note that Interval https://www.w3.org/1998/Math/MathML"> [ n , t ] https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq61.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in the pseudo code represents the cycle of changing buffer sizes. There are two modes in the https://www.w3.org/1998/Math/MathML"> B E https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq62.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> algorithm. At mode https://www.w3.org/1998/Math/MathML"> = 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq63.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , the cycle of changing buffer size (Interval https://www.w3.org/1998/Math/MathML"> [ n , t ] https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq64.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ) is fixed, but https://www.w3.org/1998/Math/MathML"> K ( n , t ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq65.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is increased as the increase of time t. Hence, the QoS requirements for the cell loss ratio can be quickly satisfied, since the buffer size is re-adjusted every time when https://www.w3.org/1998/Math/MathML"> K ( n , t ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq66.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is changed. https://www.w3.org/1998/Math/MathML"> K ( n , t ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq67.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is linearly increased or decreased till the sign of https://www.w3.org/1998/Math/MathML"> l o g ⁡ ( P ( n , t ) / Q ( n ) ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq68.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is changed. After that, https://www.w3.org/1998/Math/MathML"> K ( n , t ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq69.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> keeps to reducing to its half till https://www.w3.org/1998/Math/MathML"> K ( n , t ) ≤ [ n , ∞ ] https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq70.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , where mode https://www.w3.org/1998/Math/MathML"> = 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq71.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is initiated. At mode https://www.w3.org/1998/Math/MathML"> = 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq72.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , since the algorithm is converged to the average cell loss ratio, https://www.w3.org/1998/Math/MathML"> K ( n , t ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq73.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> will be fixed and the interval of changing buffer sizes is varied as the increase of time t.

Figure 1: The Buffer Estimation Algorithm.

12.3. The Buffer Rearrangement Algorithm

As shown in Figure 2, the Buffer Rearrangement (BR) algorithm is developed to re-adjust the buffer space for the VBR traffic classes with different priorities. For a higher-priority traffic class, if its buffer size, calculated from the BE algorithm, is found to be too small, the buffer size should be incremented and obtained immediately from the lowest-priority class (or the reserved class). On the other hand, if its buffer size is determined to be too large, the extra buffer space will be returned to the reserved class. Moreover, if the increment of buffer size of a higher-priority class exceeds the amount of the reserved buffer space, the higher-priority class has the privilege to obtain the required buffer space from all the lower-priority classes. However this buffer occupancy by the higher-priority class is limited to be only https://www.w3.org/1998/Math/MathML"> 20 % https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq74.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of the initially allocated buffer spaces of those lower-priority classes. As shown in the figure, each buffer size has two values, the estimated buffer size https://www.w3.org/1998/Math/MathML"> B estimated   ( n , t ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq75.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , which is estimated from the https://www.w3.org/1998/Math/MathML"> B E https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq76.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> algorithm, and the actual buffer size https://www.w3.org/1998/Math/MathML"> B actual   ( n , t ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq77.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , which is initially allocated by the https://www.w3.org/1998/Math/MathML"> B R https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq78.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> algorithm. The difference between https://www.w3.org/1998/Math/MathML"> B estimated   ( n , t ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq79.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> B actual   ( n , t ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq80.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is the increment and decrement of the buffer space required for each traffic class. This buffer increment or decrement will be appropriately adjusted either from the reserved class or from the lower-priority classes. Note that a while-loop is used in the BR algorithm. The while-loop allows a higher-priority traffic class keeps occupying another https://www.w3.org/1998/Math/MathML"> 20 % https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq81.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of buffer space from the next lower-priority class, if the https://www.w3.org/1998/Math/MathML"> 20 % https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq82.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> occupancy from the first lower-priority class is not enough. This buffer occupancy will not stop until all the lower-priority traffic classes have donated their https://www.w3.org/1998/Math/MathML"> 20 % https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq83.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of initially allocated buffer spaces.

Figure 2: The Buffer Rearrangement Algorithm.

Network Topology and IBP Model

13.1. Network Topology

A famous parking lot configuration [9] is adopted as our network topology. The source station is assumed to be able to generate n classes (where https://www.w3.org/1998/Math/MathML"> n = 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq84.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to N ) of VBR traffic with different priorities. There are 5 switch nodes (SW1 to SW5) between the source and the destination stations. In addition to foreground traffic generated by the source, background traffic are injected to each switch node. Each background traffic is assumed to enter into switch https://www.w3.org/1998/Math/MathML"> k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq85.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and leave after passing switch https://www.w3.org/1998/Math/MathML"> k + 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq86.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

14.3.2 IBP Traffic Model

The VBR traffic of the source station is generated through an IBP (Interrupted Bernoulli Process) model, where two cell-generation states are assumed, the bursty state with peak cell rate (PCR) and the silent state with zero cell rate. The state transition diagram of the IBP model is shown in Figure 3, where https://www.w3.org/1998/Math/MathML"> x https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq87.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> y https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq88.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> represent the silent state and the bursty state, respectively, and https://www.w3.org/1998/Math/MathML"> P 1 , P 2 , P 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq89.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and https://www.w3.org/1998/Math/MathML"> P 4 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq90.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are the conditional probability.

Not that https://www.w3.org/1998/Math/MathML"> P 1 = P ( y ∣ x ) , P 2 = P ( x ∣ y ) , P 3 = 1 - P 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq91.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> P 4 = 1 - P 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq92.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . By Baye’s theorem, https://www.w3.org/1998/Math/MathML"> P ( x ∣ y ) = P ( x ∩ y ) P ( y ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq93.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , we have https://www.w3.org/1998/Math/MathML"> P 1 P ( x ) = P 2 P ( y ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq94.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Since https://www.w3.org/1998/Math/MathML"> P ( x ) + P ( y ) = 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq95.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , we have https://www.w3.org/1998/Math/MathML"> P ( y ) = P 1 P 1 + P 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq96.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . If we let https://www.w3.org/1998/Math/MathML"> P 1 + P 2 = 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq97.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , then the burst probability, https://www.w3.org/1998/Math/MathML"> P ( y ) = P 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq98.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Performance Evaluation

15.1. Buffer Size Estimation

Based on the network topology presented in Section 3, a switch node receives two inputs, the foreground traffic and the background traffic. Hence, we have

Lost cells = (foreground traffic cells + background traffic cells) – output cells. Now, let us define,

https://www.w3.org/1998/Math/MathML"> n = https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq99.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Number of traffic classes, https://www.w3.org/1998/Math/MathML"> n = 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq100.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to https://www.w3.org/1998/Math/MathML"> N https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq101.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ,

https://www.w3.org/1998/Math/MathML"> k = https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq102.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Number of switch nodes, https://www.w3.org/1998/Math/MathML"> k = 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq103.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to https://www.w3.org/1998/Math/MathML"> K https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq104.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ,

https://www.w3.org/1998/Math/MathML"> R = https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq105.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Link cell rate (cells/sec),

https://www.w3.org/1998/Math/MathML"> T = https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq106.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Simulation interval (seconds),

https://www.w3.org/1998/Math/MathML"> P fore   = https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq107.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Prob. of foreground traffic at burst state,

https://www.w3.org/1998/Math/MathML"> P back   = https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq108.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Prob. of background traffic at burst state,

https://www.w3.org/1998/Math/MathML"> L C ( n , k ) = https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq109.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Lost cells of class https://www.w3.org/1998/Math/MathML"> n https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq110.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> at switch https://www.w3.org/1998/Math/MathML"> k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq111.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ,

CLR https://www.w3.org/1998/Math/MathML"> ( n , k ) = https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq112.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Cell loss ratio of class https://www.w3.org/1998/Math/MathML"> n https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq113.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> at switch https://www.w3.org/1998/Math/MathML"> k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq114.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ,

https://www.w3.org/1998/Math/MathML"> P ( n , k ) = https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq115.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Cell pass ratio of class https://www.w3.org/1998/Math/MathML"> n https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq116.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> at switch https://www.w3.org/1998/Math/MathML"> k = 1 - C L R ⁡ ( n , k ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq117.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ,

B= Total buffer size,

https://www.w3.org/1998/Math/MathML"> B ( n , k ) = https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq118.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Buffer size of class https://www.w3.org/1998/Math/MathML"> n https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq119.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> at switch https://www.w3.org/1998/Math/MathML"> k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq120.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ,

https://www.w3.org/1998/Math/MathML"> F ( n , k ) = B ( n , k ) B https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq121.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

For time interval https://www.w3.org/1998/Math/MathML"> T https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq122.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> at switch 1, we have

Figure 3: The IBP Model.

https://www.w3.org/1998/Math/MathML"> LC ( n , 1 ) = RT P fore   / N + RT P back   / N - RTF ( n , 1 ) . CLR ( n , 1 ) = RT P fore   / N + RT P back   / N - RTF ( n , 1 ) RT P fore   / N + RT P back   / N = 1 - NF ( n , 1 ) P fore   + P back   . P ( n , 1 ) = 1 - CLR ( n , 1 ) = NF ( n , 1 ) P fore   + P back   . https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq123.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

At switch 2, we have

https://www.w3.org/1998/Math/MathML"> LC ( n , 2 ) = RT P fore   P ( n , 1 ) / N + RT P back   / N - RTF ( n , 2 ) . CLR ( n , 2 ) = RT P fore   P ( n , 1 ) / N + RT P back   / N - RTF ( n , 2 ) RT P fore   P ( n , 1 ) / N + RT P back   / N = 1 - NF ( n , 2 ) P fore   P ( n , 1 ) + P back   . P ( n , 2 ) = 1 - CLR ( n , 2 ) = NF ( n , 2 ) P fore   P ( n , 1 ) + P back   . https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq124.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

At switch https://www.w3.org/1998/Math/MathML"> k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq125.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , we have

https://www.w3.org/1998/Math/MathML"> LC ( n , k ) = RT P fore   P ( n , 1 ) P ( n , 2 ) … P ( n , k - 1 ) / N + RT P back   / N - RTF ( n , k ) . = RT P fore   ∏ i = 1 k - 1     P ( n , i ) / N + RT P back   / N - RTF ( n , k ) CLR ( n , k ) = 1 - NF ( n , k ) P fore   ∏ i = 1 k - 1     P ( n , i ) + P back   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq126.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Let us replace https://www.w3.org/1998/Math/MathML"> P ( n , 1 ) , P ( n , 2 ) , … … , P ( n , k - 1 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq127.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> with https://www.w3.org/1998/Math/MathML"> P fore   , P back   , F ( n , k ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq128.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and https://www.w3.org/1998/Math/MathML"> N https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq129.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , we have

https://www.w3.org/1998/Math/MathML"> CLR ( n , k ) = 1 - NF ( n , k ) P fore   ∑ j = 1 k - 2     P back   k - j - i ∏ i = 1 j     NF ( n , i ) + P fore   P back   k - 2 + P back   k - 1 P fore   ∑ j = 1 k - 1     P back   k - j - 1 ∏ i = 1 j     NF ( n , i ) + P fore   P back   k - 1 + P back   k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq130.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Substitute equation(2) into equation(1) presented in Section 2.2 and by assuming that https://www.w3.org/1998/Math/MathML"> C L R ⁡ ( n , k ) = P ( n , t ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq131.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> at switch https://www.w3.org/1998/Math/MathML"> k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq132.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and at time https://www.w3.org/1998/Math/MathML"> t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq133.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , we have derived the buffer size required for class https://www.w3.org/1998/Math/MathML"> n https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq134.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> at switch https://www.w3.org/1998/Math/MathML"> k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq135.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and at time https://www.w3.org/1998/Math/MathML"> t + 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq136.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , given that a buffer size https://www.w3.org/1998/Math/MathML"> ( T ( n , k , t ) ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq137.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for class https://www.w3.org/1998/Math/MathML"> n https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq138.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> at switch https://www.w3.org/1998/Math/MathML"> k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq139.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and at time https://www.w3.org/1998/Math/MathML"> t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq140.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is known.

https://www.w3.org/1998/Math/MathML"> T ( n , k , t + 1 ) = T ( n , k , t ) + K ( n , t ) l o g ⁡ CLR ( n , k ) Q ( n ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq141.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

15.2. Evaluation and Simulation

A simulator is built with a VBR traffic source based on the IBP model. As we have introduced in Section 3.2, the burst probability (BP) is the probability of traffic state that remains at the peak cell rate (PCR). In the following simulation, a “raw” system, used as a reference model, is defined as the same parking lot topology without applying the DBA scheme. The traffic load of the background traffic is fixed to 0.533 and the initially allocated buffer size for each traffic class is 15 cells (that is, the total buffer size at a switch node https://www.w3.org/1998/Math/MathML"> = 60 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq142.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> cells). Based on equation (2), we can calculate https://www.w3.org/1998/Math/MathML"> C L R ⁡ ( n , k ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq143.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for traffic class https://www.w3.org/1998/Math/MathML"> n https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq144.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> at switch https://www.w3.org/1998/Math/MathML"> k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq145.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . In the calculation, we have assumed the following initial conditions: https://www.w3.org/1998/Math/MathML"> N = 4 ,   K = 5 ,   B = 60 , P fore   = 0.9 , P back   = 0.533 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq146.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and https://www.w3.org/1998/Math/MathML"> F ( n , k ) = B / N = 15 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq147.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Substitute CLR https://www.w3.org/1998/Math/MathML"> ( n , k ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq148.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> into equation( 3 ), and by assuming that an initial condition https://www.w3.org/1998/Math/MathML"> T ( n , k , 0 ) = 15 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq149.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , the buffer size required for class https://www.w3.org/1998/Math/MathML"> n https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq150.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> at switch https://www.w3.org/1998/Math/MathML"> k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq151.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and at time https://www.w3.org/1998/Math/MathML"> t + 1 , T ( n , k , t + 1 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq152.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , can be calculated.

Figure 4 shows the difference of CLR by the calculation from equation (3) and by the simulation model. As can be seen, the estimation results are very close to the simulation results at switch 1, no matter how the traffic load is increased. However, the two curves (estimation and simulation) become gradually separated for switch 3 , when traffic load is increased to 0.6. There are two reasons to explain this deviation. First, accumulated error due to the CLR of the next stage is derived from that of the previous stage. Second, cell slots are assumed to be full in estimation, but they may be empty in simulation when neither background traffic nor foreground traffic sending cells.

Figure 4: Cell Loss Ratio Between Estimation and Simulation.

Figure 5 shows the buffer sizes required for different traffic classes at different switch nodes. It is observed that the results from the calculation are about https://www.w3.org/1998/Math/MathML"> 5 % - 7 % https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq153.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> apart from the simulation for traffic class https://www.w3.org/1998/Math/MathML"> = 1,2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq154.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and 3 . However, the differences become bigger for the reserved class (that is, class 4), since the buffer size required for class 4 is calculated by subtracting the buffer sizes of classes 1,2 , and 3 one by one from the total buffer size. This also explains why the calculation results are larger than the simulation results only for class 4 .

shows the cell loss ratio (CLR) as a function of the BP. As can be seen, class 1 has the lowest CLR, while class 4 has the highest. The raw system has the CLR, which is slightly higher than class 3, but is much lower than class 4. When https://www.w3.org/1998/Math/MathML"> BP = 0.6 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq155.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , the CLR is largely increased, since the total traffic load of the foreground plus the background has exceeded one.

shows the end-to-end queuing delay as a function of the BP. As can be observed from the figure, the raw system has the longest queuing delay, while class 4 has the shortest one. The reason is because that the buffer size of class 4 is decreased as the increase of BP. As a result, the number of cells that can go into the buffer is largely reduced. Note that class 1 has the queuing delay that is slightly higher than class 4 , but still lower than the raw system.

shows the buffer size required at switch 1 for each traffic class as a function of the simulation time by assuming that https://www.w3.org/1998/Math/MathML"> B P = 0.9 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq156.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . As can be observed, class 1 quickly occupies the largest buffer size (about 29 cells) and class 4 gradually

Figure 5: Estimated Buffer Size vs Simulation.

Figure 6: Cell Loss Ratio vs Burst Probability.

Figure 7: End-to-End Queuing Delay vs the Burst Probability.

lost its buffer size to approach to zero eventually. Note that classes 2 and 3 occupy 17 cells initially, but saturate to 15 cells finally, due to the dynamic buffer adjustment.

Conclusions

In this paper, we have presented a multiple-class buffer allocation scheme for ATM networks with VBR traffic. We have developed two algorithms, the BE and the BR algorithms, to initially estimate the buffer size required for each traffic class and to dynamically adjust the buffer sizes based on the QoS requirements. The proposed buffer allocation scheme was first evaluated through a mathematical model, through which the buffer size required for each traffic class based on the average cell loss ratio can be calculated. For the purpose of verification, we have built a simulator, through which we have proved that the analytical results are only https://www.w3.org/1998/Math/MathML"> 5 % - 7 % https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq157.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> apart from the simulation results. In addition, the simulation also demonstrates two significant improvements provided by this buffer allocation scheme. That is, the cell loss ratio and the end-to-end queuing delay for a higher-priority traffic class have been greatly reduced, as compared to a system where buffer sizes can not be dynamically adjusted.

Bibliography

Sanjeev Rampal, Dougal S. Reeves and Ioannis Viniotis, “Dynamic Resource Allocation

Figure 8: Buffer Size Required as a Function of Simulation Time When BP https://www.w3.org/1998/Math/MathML"> = 0.9 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq158.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Based on Measured QoS,” Technical Report TR 96-2, Center for Advanced Computing and Communication, North Carolina State University, Raleigh, NC.

Jean-Lien C. Wu and Trien-Yu Huang, “Dynamic Priority Scheme to Improve the QoS in ATM Networks,” Proc. IEEE GLOBECOM’94, pp.1195-1199.

Jeffery W. Causey and Hyong S. Kim, “Comparison of Buffer Allocation Schemes in ATM Switches: Complete Sharing, Partial Sharing, and Dedicated Allocation,” Proc. IEEE ICC’94, pp.1164-1168.

Guo-Liang Wu and Jon W. Mark, “A Buffer Allocation Scheme for ATM Networks: Complete Sharing Based on Virtual Partition,” IEEE/ACM Transaction on Networking, vol. 3, no. 6, December 1995, pp.660-670.

Israel Cidon, Leonidas Georgiadis, Roch Guerin and Asad Khamisy, “Optimal Buffer Sharing,” IEEE Journal on Selected Area in Communications, vol. 13, no. 7, September 1995, pp.1229-1239.

Israel Cidon, Leonidas Georgiadis, Roch Guerin and Asad Khamisy, “Optimal Buffer Sharing,” Proc. IEEE INFOCOM’95, pp.24-31.

Marwan Krunz, Herman Hughes, and Parvis Yegani, “Design and Analysis of a Buffer Management Scheme for Multimedia Traffic with Loss and Delay Priorities,” Proc. IEEE ICC’94, pp.1560-1564.

Simon Fong and Samar Singh, “An Improved Buffer Sharing Scheme for ATM Switches under Bursty Traffic,” Proc. Of 19th ACSC Conference 1996.

David Ginsburg, ATM Solution for Enterprise Internetworking. Addison-Wesley 1996 .

Performance Evaluation of Self Detective Congestion Control Scheme for ATM Networks

In this paper, we propose an adaptive Self Detective Congestion Control (SDCC) scheme for Available Bit Rate (ABR) service in Asynchronous Transfer Mode (ATM) networks. We show that the SDCC scheme can achieve good fairness performance among connection classes existing in the network. In transient behavior, the SDCC scheme offers fast access to available bandwidth, which is a sensible requirement, particularly in LAN environment. Also, by allocating control cells based on networks scales, the SDCC scheme is able to control a number of greedy sources with moderate size buffers. Furthermore, the comparison between the rate-based congestion control schemes show that the SDCC scheme has a better behavior than existing schemes.

Introduction

The ATM networks are recommended as a transfer mode for future B-ISDN. To cope with congestion control of the ABR services in ATM networks a rate-based scheme is considered to be the best https://www.w3.org/1998/Math/MathML">   1 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq159.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . There are several rate-based scheme proposed by the ATM Forum, such as FECN https://www.w3.org/1998/Math/MathML">   2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq160.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , BECN https://www.w3.org/1998/Math/MathML">   3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq161.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ), and PRCA https://www.w3.org/1998/Math/MathML">   4 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq162.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . The FECN scheme uses Explicit Forward Congestion Indication (EFCI) as a single-bit to indicate congestion in the forward direction of the Virtual Connection (VC). In the BECN scheme, the notification cell is sent directly from the congested points to the source. Both the FECN and BECN schemes are based on a negative feedback rate control paradigm. That is, a source will reduce the cell transmission rate when it receives congestion notification cells. If, within a predetermined period of time, the source does not receive congestion notification cells, it will increase the current transmission rate until it reaches the peak cell rate. But, if all notification cells in the backward direction will experience extreme congestion, all sources will increase the rate to the peak cell rate, so the overall network congestion collapse may occur.

Figure 1: Network element of a VC.

The PRCA uses a positive feedback rate control paradigm instead of the negative feedback. However, unfair distribution of available bandwidth among VCs may occur because data cells from a VC passing through more congested links will be marked more often than those passing through fewer congested links. Thus, VCs with more congested links in their path will suffer from starvation, because their Allowed Cell Rate (ACR) is lower than others.

To resolve the problems of the existing rate-based schemes, we propose an adaptive scheme based on two basic concepts: 1) positive feedback rate control which resolves the problems of the FECN and BECN schemes; 2) intelligent holding of the Resource Management (RM) cells which resolves the problems of the PRCA.

The organization of this paper is as follows. In Section 2, the SDCC scheme is described. The simulation results are discussed in Section 3. The Enhanced SDCC (ESDCC) scheme is introduced Section 4. The comparison for different rate-based schemes is shown in section 5. The conclusions are given in Section 6 .

SDCC Scheme

In this section, we describe the network elements and the SDCC basic operation.

19.1. Network Elements

The network elements of a VC are the Virtual Connection Source (VCS), Virtual Connection Destination (VCD) and ATM Switch (SW). The rate-based end-to-end feedback loop control scheme is shown in Figure 1.

The VCS and VCD generate and receive ATM cells. The VC is a bidirectional connection. The forward and backward connections have the same virtual connection identifiers and pass through identical transmission facilities. The VCS must have the ability to transmit cells into the network at a variable and controlled rate from a predetermined minimum cell rate to peak cell rate. On the other hand, the VCD must return every received RM cell to the VCS in the backward connection in order

Figure 2: VCs with their RM cells.

to support the closed loop control scheme.

ATM switches route ATM cells from the VCS to the VCD, and each ATM switch has an identifier in the form of an address number. We assume that the ATM switch has output buffers divided into two parts: one for data cells and the other one for RM cells. Each part of the buffer implements a FIFO cell queuing discipline. The buffer service algorithm always serves the RM cells in preference to the data cells. That is, the RM cells have a higher service priority than the data cells.

2.2 Basic Operation

The basic SDCC scheme, in which every VC has one RM cell for congestion control purpose, is shown in Figure 2 . We refer to this scheme as the self detective congestion control scheme because the VCS itself generates and sends out the RM cell to detect congestion which may occur at its bottleneck switch. The bottleneck switch is the switch which has the narrowest bandwidth between the switches in a VC. The bottleneck switch is considered to be known from the initial routine and its address is written in the SWI field of the RM cell.

The VCS starts a timer every time it transmits a RM cell. The timer starts to count down from a predetermined value, CD_Time (Congestion Detection Time), until it reaches 0 . The CD_Time is a variable of the VCS, which is determined before the RM cell is sent out for the first time. The parameters and variables of the VCS are shown in Table 1 and Table 2, respectively (for more information about specifications of the SDCC scheme see ref. https://www.w3.org/1998/Math/MathML">   5 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq163.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ).

The VCD returns the received RM cell to the VCS in backward connection. If the output buffer of the bottleneck switch is congested, the bottleneck switch will hold the RM cells flowing in the backward direction until it recovers from the congestion state. Table 1: VCS parameters.

The bottleneck switch will pass all received RM cells without considerable delay if no congestion is detected, since the RM cells have higher priority. When the timer expires and the RM cell has not returned back yet, the VCS considers its bottleneck switch to be congested, therefore decreases the cell rate at regular predetermined intervals until receives the RM cell. On receiving the RM cell, the VCS considers its bottleneck switch decongested if the timer is still on, or if its bottleneck switch has been recovered from congestion state. The VCS will then increase its cell rate proportional to the current rate. The RM cell will be sent out to the network again if the VCS has transmitted a Number of Cell (NC) or more data cells since the RM cell was sent out during the previous round. This procedure reduces the amount of RM cell traffic when the cell rate of the VC is low or when the VC enters an idle state. The VCS is considered idle if at the current rate it isn’t transmitted any data cell in an interval of length corresponding to https://www.w3.org/1998/Math/MathML"> N C https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq164.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> interval.

By implementing intelligent holding, the VCs having the same bottleneck link will share the available bandwidth fairly. The intelligent holding means, all RM cells belonging to the VCs are selected only by the bottleneck switch when it is congested. Table 2: VCS variables.

https://www.w3.org/1998/Math/MathML"> ( https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq165.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> PCR-CCR https://www.w3.org/1998/Math/MathML"> ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq166.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> (PCRCR) MAX_AIR -MIN_AIR

https://www.w3.org/1998/Math/MathML">   CCR   2   MDF   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq167.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML">   RM   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq168.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Simulation Results

In this section, we present simulation results which demonstrate the performance of the SDCC scheme.

The queuing model of the simulations is shown in Figure 3 . The transmitter (T) always serves the RM cells in preference to the data cells. In the simulations, we assume that all VCSs are persistently greedy i.e., all VCSs will attempt to transmit the data cells at their peak cell rate. Each transmitter https://www.w3.org/1998/Math/MathML"> ( T / R ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq169.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> will independently removes the data cells from the VCS buffer and transmits to the receiver https://www.w3.org/1998/Math/MathML"> ( R ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq170.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . The intelligent holding will be performed by a bottleneck switch if the number of cells queued in the buffer (data cells) in the forward direction exceeds a threshold value. In all simulations, the threshold value is considered 50 cells. The VCS parameters used in the simulations are listed in Table 3.

21.1. Fairness Performance

The Generic Fairness Configuration (GFC) is used as a benchmark for the assessment of the fairness performance https://www.w3.org/1998/Math/MathML">   6 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq171.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . The GFC model is shown in Figure 4. There are 23 connections, grouped into 6 classes (A-F). The number of connections belonging to class A, B, C, D, E, F are https://www.w3.org/1998/Math/MathML"> 3,3 , 3,6 , 6,2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq172.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , respectively as specified in parenthesis after the class label. The network consists of 5 switches with links of various capacities. We consider fairness performance in a LAN environment. The distance between VCS/VCD and its nearest switch is about 100 meters and the distance between two switches is about 400 meters.

Let consider two connections, class B and E, which share the same bottleneck link L4. Since the VCS of class https://www.w3.org/1998/Math/MathML"> E https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq173.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is closer to the link L4 and passes less congested switches than that of class B, class E will get more of the link bandwidth than class B This is analogous to a parking lot scenario in which https://www.w3.org/1998/Math/MathML"> E https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq174.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is closer than https://www.w3.org/1998/Math/MathML"> B https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq175.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> from the exit. However, in a good ATM network with separate VCs for class B and E, they should share the available bandwidth of the link fairly (100 Mbps). Thus, each connection

Figure 3: Queuing model.

Figure 4: GFC model.

in class https://www.w3.org/1998/Math/MathML"> B https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq176.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and class https://www.w3.org/1998/Math/MathML"> E https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq177.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> should take about 1/9 of the bandwidth (11.1 Mbps).

Considering the above fairness objective, the bandwidth of each link to each connection is allocated as follows: 1) the VCs on the most congested link will share the link bandwidth equally (this determines the rates to be set for these VCs); 2) apply the procedure to the other VCs with the remaining bandwidth of the network; 3) continue repeating the procedure until rates for all https://www.w3.org/1998/Math/MathML"> V C s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq178.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> have been assigned.

Using the above fair rate-setting procedure, the bandwidth assigned to the individual connection classes are shown in Table 4. The bandwidth allocated to each connection in the SDCC scheme is shown in Figure 5. It is clear that the SDCC scheme can achieve fair bandwidth allocation among connections in a class.

21.2. Transient Performance

In LAN environment, the fast access to available bandwidth is a sensible requirement. Therefore, the transient behavior of the SDCC scheme is considered in order to show Table 3: VCS parameters used in the simulations.

Fig. 5

Fig. 7

Fig. 8

Fig. 9

Table 4: Expected bandwidth for connection classes in GFC.

https://www.w3.org/1998/Math/MathML"> 5.56 M b p s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq179.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> 11.1 M b p s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq180.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> 33.3 M b p s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq181.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> 5.56 M b p s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq182.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> 11.1 M b p s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq183.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> 50.0 M b p s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq184.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

how the ABR connections will respond to the available bandwidth during an interval of time.

To evaluate the transient behavior of the SDCC scheme, we consider the model shown in Figure 6. This model has two switches with a single bottleneck link. Five connections start in a staggered sequence with a new connection starting every 10 https://www.w3.org/1998/Math/MathML"> m s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq185.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . We consider here the transient performance in LAN environment. The distance between VCS/VCD and the switch is 100 meters, whereas the distance between the two switches is 400 meters.

In Figure 7 is shown the transient performance of the SDCC scheme. The SDCC scheme can ramp up quickly to the fair rate. That is, when a new connection comes, connections which have already existed in the network will reduce their cell rate immediately to give the new connection a chance to get available bandwidth until all connections have approximately the same cell rate. Furthermore, there are no

Figure 5: The basic SDCC scheme performance in GFC for LAN environment.

noticeable oscillations in the rate allocation. Thus, the SDCC scheme can improve bandwidth efficiency and reduces the oscillation rate.

21.3. Buffer Length

In the SDCC scheme, the VCS detects congestion using a timer. The longer the distance between VCS and VCD, the higher the CD_Time value. That is, the longer the distance between VCS and VCD, the slower VCS will react to the congestion. Therefore, it is necessary to observe the maximum and mean buffer length.

We consider the network configuration in Figure 6 for observing buffer length in different network scales. The simulation are carried out with up to 40 greedy VCSs, each attempting to transmit at 100 percent of the output line. The results are shown in Figure 8. In LAN environment (the distance up to https://www.w3.org/1998/Math/MathML"> 50   k m https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq186.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> or 100 cell times ), for up to 40 VCs the mean and maximum buffer length remains below 100 cells, and approximately constant with respect to the distance. In MAN and WAN environments (the distance from https://www.w3.org/1998/Math/MathML"> 50   k m https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq187.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> up to https://www.w3.org/1998/Math/MathML"> 1000   k m https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq188.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> or 1800 cell times), the mean buffer length remains below 200 cells. The buffer length is approximately constant with respect to the distance and approximately proportional to the number of connections. For up to https://www.w3.org/1998/Math/MathML"> 40 V C s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq189.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , the maximum buffer length remains below 600 cells growing slowly with the network distance.

Figure 6: Two-switches with a single bottleneck link model.

Enhanced SDCC (ESDCC) Scheme

In LAN environment, the basic SDCC scheme is able to control a large number of greedy sources with a moderate buffer length. However, in MAN and WAN environments the buffer length becomes longer. In order to reduce buffer size in MAN and WAN environments, we propose a new scheme called ESDCC scheme. The key idea of the ESDCC scheme is to reduce the CD_Time (or the timer) value of the VCS. The smaller the CD_Time value, the faster the congestion detection of the VCS. To realize the idea, we allocated two or more RM cells (maximum four RM cells) to each VC. The operation of ESDCC scheme is quite similar with the SDCC scheme.

The performance results of the ESDCC scheme are shown in Figure 9 . The ESDCC-4 indicates that every connection has four RM cells. In MAN and WAN environments, the maximum buffer length of ESDCC-4 remains below 300 cells. The buffer length of the ESDCC-4 is less than the basic SDCC scheme.

Comparison Between Rate-Based Schemes

The comparison between rate-based congestion control schemes is made based on the network problems, switch complexity, responsiveness and smoothness. The results are shown in Table 5 .

(1) Network Problems

Network congestion collapse problem occurs in the FECN and BECN schemes because both schemes use a negative feedback rate control. In the PRCA, the network congestion collapse problem do not occur because the PRCA uses the positive feedback rate control instead the negative feedback. However, unfair distribution of bandwidth among connections may occur because the congested switch marks all data cells. The network problems do not occur in SDCC and ESDCC scheme because they use a positive feedback rate control and an intelligent holding of RM cells.

(2) Switch Complexity

In the FECN and PRCA, a congested switch needs to mark the data cells to inform the sources of the congestion state. Therefore, the switch complexity of two schemes is low. The switch complexity of the BECN scheme is high because the switch needs to generate the congestion notification cells and to filter the cells. The

Figure 7: Transient performance of the basic SDCC scheme in LAN environment.

switch complexity of the SDCC and ESDCC scheme is considered to be medium because the switch needs the priority and intelligent holding functions.

(3) Responsiveness and Smoothness

The responsiveness and smoothness of FECN scheme is the worst between the existing schemes. This is because, the FECN scheme uses a feedback mechanism in forward direction, therefore the sources respond to the congestion state slowly. The BECN scheme uses a backward feedback notification. That is, a congestion notification is sent directly from the congested point to the source. Therefore, the responsiveness and smoothness of BECN scheme are better than the FECN scheme. In PRCA, the responsiveness and smoothness depend on https://www.w3.org/1998/Math/MathML"> N https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq190.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , where the https://www.w3.org/1998/Math/MathML"> N https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq191.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is the number of the data transmitted by the source. The smaller https://www.w3.org/1998/Math/MathML"> N https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq192.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> the better responsiveness and smoothness. However, the smaller https://www.w3.org/1998/Math/MathML"> N https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq193.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> the smaller link utilization. The responsiveness and smoothness of the SDCC and ESDCC scheme depend on parameters NC and no_of_RM. The smaller NC value (or the bigger no_of_RM), the better responsiveness and smoothness is. But the smaller NC value, the smaller link utilization is. Considering the trade-off between the https://www.w3.org/1998/Math/MathML"> N C https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq194.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and link utilization, the SDCC and ESDCC schemes have very good responsiveness and smoothness in the simulation.

Figure 8: Buffer length versus the distance for basic SDCC scheme.

Table 5: Comparison between rate-based schemes.

N

Conclusion

In this paper, we proposed the SDCC and ESDCC schemes for coping with congestion control in ATM networks. The performance evaluation via simulations showed that, in GFC, the SDCC scheme can achieve fair bandwidth allocation among connections in a class. In transient behavior, the SDCC scheme ramps up quickly to the fair rate and there are not noticeable rate oscillations. This means, the SDCC scheme improves bandwidth efficiency and reduces the buffer length. In LAN environment, the basic SDCC scheme offers very good performance. The maximum and the mean buffer length remain below 100 cells. In MAN and WAN environments, the ESDCC scheme with https://www.w3.org/1998/Math/MathML"> 4 R M https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq195.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> cells in each VC offer adequate performance. The comparison between the rate-based congestion control schemes showed that the SDCC and ES-

Figure 9: Buffer length versus the distance for ESDCC-4 scheme.

DCC schemes have a better behavior than existing schemes. In future, we plan to implement the proposed scheme in a real environment.

Acknowledgment.

The authors would like to thank Japan Society for the Promotion of Science (JSPS) for awarding Dr. Leonard Barolli a Post-doctor Fellowship.

Bibliography

F. Bonomi and K. W. Fendick, “The Rate-Based Flow Control Framework for the Available Bit Rate ATM Services”, IEEE Network, Vol. 9, No.2, pp. 25-39 (1995).

M. Hluchyj and N. Yin, “On Closed-loop Rate Control for ATM Networks”, Proc. INFOCOM’94, pp. 99-108 (1994).

P. Newman, “Backward Explicit Congestion Notification for ATM Local Area Networks”, Proc. IEEE GLOBECOM’93, Vol. 2, pp. 719-723 (1993).

K. Y. Siu and H. Y. Tzeng, “Adaptive Proportional Rate Control for ABR service in ATM Networks”, Proc. IEEE INFOCOM’95, pp. 529-535 (1995).

A. Koyama, L. Barolli, S. Mirza and S.Yokoyama, “An Adaptive Rate-Based Congestion Control Scheme for ATM Networks”, Proc. ICOIN-12, pp. 14-19 (1998).

ATM Forum, “ATM User-Network Interface Specification Ver. 3”, Prentice Hall, (1993).

On LLR Routing in Circuit-Switched Networks

In the circuit-switching literature, the Least Loaded Routing (LLR) concept has been shown to be very simple and efficient. However, there is no unique definition for the “least busy” path. In this paper, we examine six ways of defining the least busy path and a random policy. The performance of these policies is evaluated via both simulation and analysis. Our numerical results show that all policies, include the random policy, have almost the same performance under most of the network configurations. Only under extremely low traffic load conditions, the difference between the policies becomes significant. However, the magnitude of the difference is still very small (about 0.001 ). Therefore, we conclude that how to select the alternate path does not affect the performance of LLR-based routing algorithms significantly. Instead, we found that the trunk reservation level affects the performance of LLR-based routing algorithms significantly.

1 Introduction

Due to the advance of switching technology, it has become feasible to implement sophisticated routing algorithms in the modern telephone network to minimize the network blocking probability. In particular, since the early 1980 ‘s, considerable research has focused on the design of adaptive routing algorithms which select a route for a call based on the state of the network at the time of call-arrival. Among these adaptive routing algorithms, algorithms based on the Least Loaded Path Routing(LLR) concept have been shown to be very simple and efficient. The LLR-based algorithms try to route an incoming call to the direct link first. If the call is blocked (because of no free circuits), the “least busy” path is then tried.

Although the LLR routing concept seems to have been well defined, there is no unique definition for the “least busy” path. For example, in https://www.w3.org/1998/Math/MathML">   1 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq196.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , the “least busy” path is defined as the alternate path that has the maximum number of free circuits (MFC). In https://www.w3.org/1998/Math/MathML">   2 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq197.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , the “least busy” path is defined as the path that has the minimum occupancy. Yet, in https://www.w3.org/1998/Math/MathML">   3 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq198.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , the “least busy” path is selected at random, with selection probabilities proportional to the residual capacity of all candidate paths. To our knowledge, no research effort has been made to show which of these definitions yields the best performance.

In LLR-based routing algorithms, trunk reservation was introduced to prevent too many calls carried on alternate paths. In this paper, based on the Markov decision theory, we propose an algorithm that will set the trunk reservation level adaptively, dependent on the offered traffic to the link. In our simulation results, we will show that the proposed algorithm is able to find the optimal trunk reservation level under various traffic conditions.

Seven routing algorithms are studied in this paper. They differ from each other in the way how they select an alternate path as the “least busy” path. Our simulation results show that these seven algorithms yield almost the same performance under both symmetric and asymmetric networks. Based on these simulation results, we then form a conjecture that with the proper setting of trunk reservation levels, different LLR-based algorithms can yield almost the same performance.

In order to verify our conjecture, both mathematical models and simulations are developed to evaluate the performance of three algorithms: random, MFC, and https://www.w3.org/1998/Math/MathML"> M 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq199.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . https://www.w3.org/1998/Math/MathML"> M 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq200.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> was proposed in https://www.w3.org/1998/Math/MathML">   4 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq201.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and showed to yield better performance than MFC. We find that the analytical results agree with the simulation results very well when blocking probability is not too small (larger than 0.01 ). Furthermore, the performance of MFC, https://www.w3.org/1998/Math/MathML"> M 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq202.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and random is very competitive. However, when the blocking probability is less than 0.01, the analytical model tends to underestimate the blocking probability by several orders of magnitude. Our simulation results indicate that although https://www.w3.org/1998/Math/MathML"> M F C https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq203.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> M 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq204.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> yield better performance than the random algorithm when blocking probability is very small, the magnitude of the difference between the performance of these algorithms is not as significant as predicated by the analytical models.

This observation is slightly different from the results of https://www.w3.org/1998/Math/MathML">   2 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq205.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in which the authors, based on analytical results, claimed that the random algorithm (called ABLA-2 in https://www.w3.org/1998/Math/MathML">   2 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq206.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ) yields a much worse performance than MFC (called ABLA in https://www.w3.org/1998/Math/MathML">   2 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq207.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ) when blocking probability is less than 0.01. This observation is also contradictory to the results shown in https://www.w3.org/1998/Math/MathML">   4 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq208.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in which the authors showed that the https://www.w3.org/1998/Math/MathML"> M 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq209.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> routing algorithm yielded a better performance than the MFC policy. However, we will show that the improvement is insignificant in large networks with large link capacity.

The remainder of the paper is organized as follows. In section 2, we describe the network model and define the routing problem. Section 3 describes the algorithm for setting the optimal trunk reservation level on a link. In section 4, seven routing algorithms are proposed. The performances of these routing algorithms are compared in section 5. Section 6 concludes our study and discusses some of our future work.

Network Model and Problem Definition

We model a circuit-switched network as a fully connected, undirected graph. For a N-node network, there are https://www.w3.org/1998/Math/MathML"> N ( N - 1 ) / 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq210.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Origin-Destination pairs and https://www.w3.org/1998/Math/MathML"> N ( N - 1 ) / 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq211.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> links. Each link is associated with a link capacity, https://www.w3.org/1998/Math/MathML"> C l https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq212.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

The routing problem of circuit-switched networks is defined as follows. Upon a call arrives at an O-D pair, the routing algorithm either routes a call to a path or blocks the call. If the call is routed to a path, a circuit on each link of the path is reserved for the call. The goal of routing is to find a “good” path to route the call such that the call blocking probability can be minimized.

One of the most commonly used routing algorithms in circuit-switched networks is the Least Loaded Path Routing (LLR) algorithm. When a call arrives to the network, following steps are performed by LLR routing algorithms:

First try to set up the call on the direct path, i.e., the direct link that connects the source node to the destination.

If there is no free circuit available on the direct path, route the call to the least busy alternate path among the candidate alternate paths.

If there is no candidate path can be selected, block the call.

The trunk reservation level on a link is a threshold used to restrict the usage of the alternate traffic. An alternate path is considered as a candidate path only if its current occupancy does not exceed the threshold. In the next section, we describe a near optimal algorithm for setting trunk reservation level on a link.

Near Optimal Trunk Reservation Level

The optimal trunk reservation problem has been studied in https://www.w3.org/1998/Math/MathML">   5,6 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq213.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . In this paper, we solve the optimal trunk reservation problem based on Markov decision theory, as proposed in https://www.w3.org/1998/Math/MathML">   5 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq214.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . However, we formulate the Markov decision process slightly different from that of https://www.w3.org/1998/Math/MathML">   5 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq215.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ) and, thus, obtain a different set of expressions for computing the optimal trunk reservation level.

Let us formally define the trunk reservation level first. Let https://www.w3.org/1998/Math/MathML"> t l https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq216.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> be the trunk reservation level for link https://www.w3.org/1998/Math/MathML"> l https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq217.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> such that an alternate call can be carried on link https://www.w3.org/1998/Math/MathML"> l https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq218.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> only if the current occupancy of link https://www.w3.org/1998/Math/MathML"> l , x l https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq219.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , is less than https://www.w3.org/1998/Math/MathML"> C l - t l https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq220.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . We also define the “available” capacity on link https://www.w3.org/1998/Math/MathML"> l https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq221.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to be https://www.w3.org/1998/Math/MathML"> C l - t l - x l https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq222.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Calls offered to a link are classified into two types: direct calls and alternate calls. In order to make the problem tractable, following assumptions are made: (1) a call carried on an alternate path with two links is assumed to behave like two independent calls; (2) the reward for carrying a call on an alternate path is evenly distributed to each link of the path; (3) both direct calls and alternate calls arrive to any link https://www.w3.org/1998/Math/MathML"> l https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq223.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> according to a Poisson process with rate https://www.w3.org/1998/Math/MathML"> λ 1 l https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq224.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> λ 2 l https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq225.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , respectively.

Based on these assumptions, the optimal trunk reservation problem is formulated as a Markov decision process on each link. Let https://www.w3.org/1998/Math/MathML"> r 1 = 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq226.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> be the link reward for carrying a direct call and https://www.w3.org/1998/Math/MathML"> r 2 = 0.5 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq227.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> be the link reward for carrying an alternate call. Let us focus on link https://www.w3.org/1998/Math/MathML"> l https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq228.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , let π be a trunk reservation policy which sets the trunk reservation level to https://www.w3.org/1998/Math/MathML"> t l π https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq229.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . That is, define https://www.w3.org/1998/Math/MathML"> π : X → { 0,1 } https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq230.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> where https://www.w3.org/1998/Math/MathML"> X = 0 , … , C l https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq231.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is the set of all feasible states and https://www.w3.org/1998/Math/MathML"> π ( x ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq232.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is the action taken by policy π for an incoming alternate call when the link occupancy is x. If https://www.w3.org/1998/Math/MathML"> π ( x ) = 0 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq233.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , the incoming alternate call is rejected. Otherwise, the alternate call is accepted. Specifically,

https://www.w3.org/1998/Math/MathML"> π ( x ) = 1   if   x < C l - t l π , 0   otherwise   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq234.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Let https://www.w3.org/1998/Math/MathML"> q ( x , π ( x ) ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq235.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> be the revenue loss rate when the Markov decision process is in state x and action https://www.w3.org/1998/Math/MathML"> π ( x ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq236.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> has been chosen for an incoming alternate call. Define

https://www.w3.org/1998/Math/MathML"> q ( x , π ( x ) ) = 1 2 λ 1 l π ( x ) = 0 , 0   otherwise.   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq237.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Now we can define the expected revenue loss for policy π. We only consider the infinite horizon problem with no reward discounting case https://www.w3.org/1998/Math/MathML">   5 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq238.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Since all trunk reservation policies are stationary and completely ergodic, the expected revenue loss for a policy https://www.w3.org/1998/Math/MathML"> π , V x ( t , π ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq239.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , is given by https://www.w3.org/1998/Math/MathML">   7 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq240.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> :

https://www.w3.org/1998/Math/MathML"> V x ( t , π ) = g ( π ) t + v ( x , π ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq241.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

where https://www.w3.org/1998/Math/MathML"> g ( π ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq242.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is called the loss rate of policy π and https://www.w3.org/1998/Math/MathML"> v ( x , π ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq243.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is the relative value of state x under policy π.

An optimal policy, https://www.w3.org/1998/Math/MathML"> π * https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq244.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , is the policy such that https://www.w3.org/1998/Math/MathML"> V x t , π * = m i n π   V x ( t , π ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq245.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for all x. According to Markov decision theory, an optimal policy can be found by a policy iteration procedure based on the following iteration cycle https://www.w3.org/1998/Math/MathML">   7 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq246.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> :

Value Determination Step: for a given policy during the i th iteration, https://www.w3.org/1998/Math/MathML"> π ( i ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq247.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , solve the following set of equations

https://www.w3.org/1998/Math/MathML"> g π ( i ) = 0 + ∑ j = 1 2     λ j l v 1 , π ( i ) - v 0 , π ( i ) g π ( i ) = 0 + ∑ j = 1 2     λ j l v x + 1 , π ( i ) - v x , π ( i )   - i v x , π ( i ) - v x - 1 , π ( i ) ,   0 < x < C l - t l π ( i ) g π ( i ) = 1 2 λ 2 l + λ 1 l v x + 1 , π ( i ) - v x , π ( i )   - i v x , π ( i ) - v x - 1 , π ( i ) ,   C l - t l π ( i ) ≤ x < C l g π ( i ) = λ 1 l + 1 2 λ 2 l - C l v C l , π ( i ) - v C l - 1 , π ( i ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq248.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

for all relative values https://www.w3.org/1998/Math/MathML"> v x , π ( i ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq249.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and policy loss rate https://www.w3.org/1998/Math/MathML"> g π ( i ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq250.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Solutions to the set of equations (4.1), in terms of https://www.w3.org/1998/Math/MathML"> W ( x ) = v x + 1 , π ( i ) - https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq251.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> v x , π ( i ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq252.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , are given as follows. For convenience, we omit https://www.w3.org/1998/Math/MathML"> π ( i ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq253.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in our notations.

https://www.w3.org/1998/Math/MathML"> g   = E λ ‾ , C l λ 1 l + 1 2 λ 2 l + C l ⋅ f C l - 1 , W ( x )   = g λ ‾ x E ( λ ‾ , x ) - f ( x ) ,   0 ≤ x < C l , https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq254.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

where

https://www.w3.org/1998/Math/MathML"> λ ‾ x = λ 1 l + λ 2 l   if   0 ≤ x < C l - t l , λ 1 l   if   C l - t l ≤ x < C l , E ( λ ‾ , x ) = 1 x ! ∏ j = 0 x - 1     λ ‾ j ∑ n = 0 x     1 n ! ∏ j = 0 n - 1     λ ‾ j , https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq255.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

and the function https://www.w3.org/1998/Math/MathML"> f ( x ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq256.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is defined as follows:

https://www.w3.org/1998/Math/MathML"> f ( x ) = 0   if   0 ≤ x < C l - t l , r 2 λ 2 ' + x ⋅ f ( x - 1 ) λ 1 '   if   C l - t l ≤ x < C l , https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq257.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Policy Improvement Step: find the policy, which will be used for the next iteration, that minimizes the right hand side of equations (4.1) for each state x using the relative values obtained from the previous step. Equivalently, the improved trunk reservation policy is to set a trunk reservation level such that

https://www.w3.org/1998/Math/MathML"> W C l - t l π ( i + 1 ) - 1 ≤ 0.5 < W C l - t l π ( i + 1 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq258.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Initially, let https://www.w3.org/1998/Math/MathML"> t l π 0 = 0 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq259.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . The iteration procedure then iterates until the policy obtained in the policy improvement step is equivalent to the previous iteration policy.

Routing Policies

In this section, we examine six policies for selecting the least busy alternate path and a random policy.

Maximum Free Capacity (MFC)

Define the available capacity of an alternate path to be the minimum of the available capacities of the two links of the alternate path. Let us denote the available capacity of the i th alternate path by https://www.w3.org/1998/Math/MathML"> F i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq260.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . The alternate path which has the maximum available capacity in the candidate set is selected as the least busy path.

Proportional to Free Capacity (PFC)

In this policy, alternate paths are selected at random, with selection probabilities proportional to the available capacity of all candidate paths. That is, the least busy path is chosen randomly with probability proportional to the path’s available capacity. For example, the probability for choosing the i th alternate path is https://www.w3.org/1998/Math/MathML"> F i / ∑ j = 1 m   F j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq261.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , where m is the total number of alternate paths.

Minimum State (MS)

The MS policy defines the degree of busy of an alternate path as the number of busy circuits of the path. The number of busy circuits of a path is the maximum of the number of busy circuits of the links of the path. The least busy path is defined as the alternate path with minimum number of busy circuits. – Minimum Traffic Load (MTL)

Let us define the traffic load of a link as current occupancy divided by the link capacity and the traffic load of a path as the maximum of the traffic load of the links of the path. The MTL policy defines the least busy path as the path with minimum traffic load.

Proportional to Traffic Load (PTL)

As in the PFC policy, the PTL policy also selects the least busy path randomly, with selection probability inversely proportional to the traffic load. However, the selection probability of an alternate path is defined as follows. Let https://www.w3.org/1998/Math/MathML"> P i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq262.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> be the traffic load of the i th alternate path in the set of candidate routes. Let https://www.w3.org/1998/Math/MathML"> P ‾ i = 1 - P i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq263.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . The least busy path is then selected randomly with probability proportional to https://www.w3.org/1998/Math/MathML"> P ‾ i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq264.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

https://www.w3.org/1998/Math/MathML"> M 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq265.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

This policy differs form the MFC policy only when there are more than one alternate path have the same maximum number of available capacity. In such a case, https://www.w3.org/1998/Math/MathML"> M 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq266.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> chooses the path that has the minimum number of total occupied capacity, which is the sum of busy circuits of the links on that path. If there are more than one alternate path that have the same total occupied capacity, an alternate path is randomly selected.

Random

The random policy selects the least busy path randomly from the set of candidate alternate paths, independent of the current state of each path.

Numerical Results

In this section, the performance of the routing policies is evaluated via analytical models and simulations. The analytical models for MFC, https://www.w3.org/1998/Math/MathML"> M 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq267.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and random policies can be found in https://www.w3.org/1998/Math/MathML">   2 ) ,   1 ) , 8 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq268.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , respectively. The numerical results presented are based on three network configurations: (1) 10-node symmetric network with all O-D pairs have the same arrival rates; (2) 10-node asymmetric network with all O-D pairs have the same arrival rates; (3) 10-node asymmetric network in which the arrival rate of an O-D pair is proportional to the capacity of the direct link. The detailed link capacity assignment for the asymmetric network is given in https://www.w3.org/1998/Math/MathML">   8 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq269.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . In all simulations, the arrival process of each O-D pair is assumed to be a Poisson process and the call holding time of each call is assumed to be exponentially distributed.

We first conduct the sensitivity analysis of the trunk reservation level. Figure 1 shows the effect of trunk reservation level on the performance of MFC under the first configuration. The vertical lines about each point in the figure indicate the 95 percent confidence interval. From this figure, we can observe that the performance of MFC is very sensitive to the setting of trunk reservation level, which should be set according to the arrival rate. We can also observe that the proposed algorithm is able to find the optimal trunk reservation level under most of the traffic conditions.

Figure 1: Sentivity of TRL

Figure 2: Performance of six LLRalgorithms

Figure 3: Performance of six LLRalgorithms

Figure 4: Performance of six LLRalgorithms Figures 2,3 , and 4 show the performance of six routing policies. As we can see that all policies have almost the same performance, except that the MS and random policies perform slightly worse than the other four policies under the second network configuration. From these figures, we observe that how to select a path as the least busy path does not affect the performance of LLR routing algorithms significantly.

Let us compare the performance of the https://www.w3.org/1998/Math/MathML"> M 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq270.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> policy with that of the MFC policy, which is shown in figure 5. In https://www.w3.org/1998/Math/MathML">   4 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq271.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , the authors proposed the https://www.w3.org/1998/Math/MathML"> M 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq272.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> policy and claimed that it outperforms the MFC policy. However, such a conclusion was drawn from analytical results based on very small networks with small trunk size. We are interested to see whether https://www.w3.org/1998/Math/MathML"> M 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq273.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> also outperforms MFC under large networks with large trunk sizes. As shown in figure https://www.w3.org/1998/Math/MathML"> 5 , M 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq274.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and MFC yield almost the same performance in a symmetric network with reasonable trunk size.

Table 1: Some mismatches of simulation results and analytical results.

https://www.w3.org/1998/Math/MathML"> C l , m , λ , r https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq275.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> ( 120,20,107,6 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq276.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> 2.260146 e - 04 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq277.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> 1.044028 e - 07 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq278.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> 1.133258 e - 03 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq279.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> 8.398794 e - 05 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq280.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> ( 120,8 , 104,1 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq281.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> 3.147895 e - 05 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq282.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> 5.956085 e - 12 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq283.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> 7.097741 e - 03 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq284.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> 3.249820 e - 10 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq285.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> ( 120,8 , 105,2 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq286.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> 1.538443 e - 04 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq287.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> 1.931460 e - 09 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq288.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> 1.838663 e - 03 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq289.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> 1.597586 e - 07 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq290.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> ( 120,8 , 106,3 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq291.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> 9.542240 e - 04 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq292.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> 2.651917 e - 07 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq293.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> 2.858687 e - 03 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq294.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> 4.871182 e - 05 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq295.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Analytical models were developed in https://www.w3.org/1998/Math/MathML">   4 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq296.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML">   2 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq297.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to predict the performance of https://www.w3.org/1998/Math/MathML"> M 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq298.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and MFC policies under symmetric networks. In https://www.w3.org/1998/Math/MathML">   2 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq299.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , the authors concluded that the MFC policy outperforms the random policy under low traffic load by several order of magnitude, based on analytical results. In the following, we present the performance of the three policies based on analytical models. Figure 6 and 7 compare the analytical results with the simulation results for the MFC and random policies, respectively. We can see that the analytical results match the simulations results reasonably well if trunk reservation level is not too small. Figure 8 compares the performance of MFC and https://www.w3.org/1998/Math/MathML"> M 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq300.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> based on analytical models. As we can observe that they yield almost the same performance, as indicated by simulation results.

Finally, let us compare the simulation results with analytical results under extremely low blocking probabilities. In https://www.w3.org/1998/Math/MathML">   2 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq301.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , based on analytical results, the authors found that the MFC outperforms the random policy by several order of magnitude. However, we find that the analytical results do not match the simulation results very well when blocking probability is very low. As shown in table 1, we can observe that when the blocking probability is less than 0.01, the analytical results may differ from the simulation results by several order of magnitude. Furthermore, the lower the blocking probability, the larger the difference. The inaccuracy of analytical model is due to some assumptions made. For example, the traffic overflowed from the direct link to alternate paths is assumed to be a Poisson process which is not true.

Figure 5: Performance of MFC and https://www.w3.org/1998/Math/MathML"> M 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq302.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> policies.

Figure 6: Analysis vs. simulationresults (MFC policy).

Figure 7: Analysis vs. simulationresults (Random policy).

Figure 8: Performance of https://www.w3.org/1998/Math/MathML"> M F C https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq303.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> M 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq304.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> policies.

Figure 9: Performance of sevenLLR policies.

Figure 10: Performance of sevenLLR policies.

Figure 11: Performance of sevenLLR policies.

Although the analytical results exaggerate the performance of the MFC policy at extremely low blocking probability, the simulation results do show that the MFC policy outperforms the random policy. Therefore, we re-examine the performance of the six LLR-based policies and the random policy under extremely low traffic load conditions. Figures 9,10 , and 11 show the

results for different network configurations. In symmetric networks, as shown in figure 9 , the performance difference among them is not very significant. However, in the asymmetric networks, as shown in figure 10 and 11, performance difference among them becomes more significant. Among these policies, the MFC policy consistently yields very good performance.

Conclusion

In this paper, we have studied six LLR-based routing policies and a random policy. From our simulation results and analytical results, we conclude that, with proper setting of trunk reservation level, how to select the least busy path does not affect the call blocking probability if the blocking probability is larger than 0.01. However, at very low blocking probability, the MFC and https://www.w3.org/1998/Math/MathML"> M 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq305.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> policy yield better performance. On the other hand, the performance of MFC and https://www.w3.org/1998/Math/MathML"> M 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq306.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> obtained from analytical models differs from the simulation results by several order of magnitude. Thus, the MFC policy may not outperform the random policy as much as reported in https://www.w3.org/1998/Math/MathML">   2 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq307.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Finally, the https://www.w3.org/1998/Math/MathML"> M 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq308.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> policy does not improve the MFC policy as significant as reported in https://www.w3.org/1998/Math/MathML">   4 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq309.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Bibliography

Wong, E. and Yum, T.-S., “Maximum Free Circuit Routing in Circuit-Switched Networks,” proc. IEEE INFOCOM’90, pp. 934-937, 1990 .

Mitra, D., Gibbens, J. R.,and Huang, B. D., “State-Dependent Routing on Symmetric Loss Networks with Trunk Reservations, I,” IEEE Transactions on Communications, vol. 41, pp. 400-411, Feb., 1993.

Cameron, W. H., Galloy, P., and Graham, W., “Report on the Toronto Advanced Routing Concpet Trial,” in Telecommunication Networks Planning Conference, (Paris), 1980.

Wong, E., Yum, T.-S., and Chan, K. M., “Analysis of the M and https://www.w3.org/1998/Math/MathML"> M 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq310.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Routings in Circuit-Switched Networks,” GLOBECOM’92, pp. 1487-1492, Dec. 1992.

Key, P. B., “Optimal Control and Trunk Reservation in Loss Networks,” Probability in the Engineering and Informational Sciences, vol. 4, pp. 203-242, 1990 .

Nguyen, V., “On the Optimality of Trunk Reservation in Overflow Processes,” Probability in the Engineering and Informational Sciences, vol. 5, pp. 369-390, 1991 .

Howard, R. A., Dynamic Programming and Markov Processes. John Wiley & Sons, Inc., 1960 .

Chang, H.-L., “On LLR Routing in Circuit-Switched Networks,” Master’s thesis, Department of Computer Science and Information Engineering, National Chung Cheng University, June 1997.

Backup Path Sharing for Survivable ATM Networks

Seoul National University, University of Seoul https://www.w3.org/1998/Math/MathML">   * https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq311.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

ABSTRACT

As survivability has become a critical issue in high-speed networks, it is highly needed to provide mechanisms to restore lost connections. This paper proposes a new backup restoration mechanism for ATM networks. Conventional backup recovery method provides fast and simple reaction to connection failure using predefined alternate routes and reserved spare bandwidth. However, it requires quite large spare resource redundancy and management cost to maintain backup connections. So far, the effort to improve the spare resource utilization efficiency in backup recovery methods is concentrated to optimal spare bandwidth allocation and sharing. In this paper, we consider backup route sharing as well as spare bandwidth sharing. The proposed shared backup route scheme provides a virtual backup network that can be shared by multiple working connections, rather than one backup path per working connection. The simulation results show that the new backup mechanism provides: 1) efficient spare resource utilization, 2) flexible and robust restoration path routing.

Introduction

In ATM networks, even a single link failure may cause an adverse effect on a large number of connections. For example, a single ATM link may contain a large number of virtual paths (VPs), and a VP, in turn, may contain a large number of virtual channels (VCs). This gives rise to a highly reliable mechanism to restore lost connections. We consider a VP as a basic restoration unit, since the VP concept has many advanced features such as enhanced network reliability, simple routing, fast switching, and multiplexing gain https://www.w3.org/1998/Math/MathML">   2,3 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq312.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . The basic procedure of VP restoration follows three steps: failure detection, alternate VP setup, and traffic switching (from the failed VP to the alternate VP). The first and the last steps may be identical in

Table 1: Comparison of dynamic on-demand approach and predefined backup approach

most restoration schemes. Failure detection and propagation can be performed using OAM functions https://www.w3.org/1998/Math/MathML">   1 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq313.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and traffic switching is performed by updating the VPI field in the ATM cell header. The differences between restoration schemes are found in the second step; when and how to setup backup VPs.

To date, various restoration techniques have been proposed. According to the alternate VP setup policy in the second step, we can classify them into two main approaches: dynamic on-demand approach and predefined backup approach. There are trade-offs between these two approaches as shown in Table 1. The dynamic ondemand approach https://www.w3.org/1998/Math/MathML"> 4 4,5 , 8 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq314.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , provides high flexibility since all the possible alternate paths for a failed VP can be found by the distributed flooding mechanism, even against multiple links or nodes failure. However, it suffers from slow restoration speed and complex run-time operation that generates a large number of restoration messages. Therefore, the dynamic approach is generally applied to line (local) restoration rather than path (end-to-end) restoration. As illustrated in Figure 1, the path restoration provides more optimal solution than the line restoration.

The predefined backup approach https://www.w3.org/1998/Math/MathML">   6,7 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq315.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> provides fast and simple restoration since only traffic switching is performed at run-time while a backup VP with reserved bandwidth has already been established per each working VP. In addition, optimal end-to-end backup path can be preplanned using global network information. However, the backup approach has two main disadvantages that are opposite to the dynamic approach. First, it wastes spare resources reserved for backup connections which are in idle state in most cases. Second, it shows less flexibility against multiple failures. A predefined backup VP may be lost simultaneously with the working VP.

Until now, the effort to improve the performance of the backup restoration method is concentrated to reduce spare bandwidth requirement by optimal bandwidth allocation and sharing. Other resources including VPI has been less considered. Moreover, the inflexibility problem has not been solved, thus conventional backup methods cannot handle the simultaneous failure of a working VP and its backup VP. In this paper, we propose a new VP backup mechanism for ATM mesh networks that centers around the concept of shared backup route, a virtual backup

Figure 1: Line restoration and Path restoration

network that can be shared by multiple working VPs for restoration purposes. Our key idea is that the efficient spare resource utilization can be obtained by backup path sharing as well as spare bandwidth sharing. Also, the flexibility problem can be solved by the backup path sharing.

This paper is organized as follows. Section 2 gives a brief review on the previous works to enhance the performance of backup restoration techniques. Section 3 describes the conceptual model of backup path sharing and the restoration protocol. Section 4 presents simulation results to show the effectiveness of the proposed mechanism. Section 5 is the summary of our work.

Previous Works

To reduce the large overhead cost for backup recovery, Kawamura et al. https://www.w3.org/1998/Math/MathML">   7 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq316.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> proposed a shared bandwidth allocation scheme for backup VPs. This scheme exploits an important feature of ATM networks, separation of path setup and bandwidth allocation. In this scheme, backup paths are established with zero bandwidth, and the required spare bandwidth is allocated during restoration procedure. Although several backup VPs may be routed along a same link, if they are not activated simultaneously, the spare bandwidth on the link can be shared by multiple backup VPs. This zero bandwidth allocation can largely reduce the spare bandwidth overhead. However, the number of backup paths and backup management overhead is the same as those of the dedicated bandwidth backup scheme.

To enhance the flexibility of backup recovery, Landegem et al. https://www.w3.org/1998/Math/MathML">   11 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq317.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> proposed a multilink-based self-healing scheme. In their scheme, the cells of an ATM connection are distributed over several physical links. If a physical link supporting the multilink fails, the cells are distributed among the remaining physical links thus providing selfhealing bandwidth. This scheme can support flexible restoration against multiple failures by increasing the load of the remaining physical links. However, very complex operations should be performed to setup multilink connections and to manage the

Figure 2: Spare bandwidth sharing and backup path sharing

proper cell order. Ahn 9) proposed sharable backup path scheme which accepts multiple backup connections in a single ring-like backup route. This scheme provides flexible line restoration against multiple link or node failure.

In this paper, we propose a new backup path sharing that supports end-to-end path restoration to achieve both spare resource efficiency and flexible backup path routing.

Backup Path Sharing

35.1. Conceptual model

shows our motivation considering resource sharing to achieve end-to-end VP restoration with low resource overhead and flexible backup path routing.

Conventional dedicated bandwidth backup scheme, shown in Figure 2 (a), establishes one backup VP per each working VP and allocates same amount of bandwidth to both. In this scheme, the required bandwidth and path management overhead are twice of those in working VP networks.

The shared bandwidth backup scheme, shown in Figure 2 (b), also establishes one backup path per each working VP. However, spare bandwidth on the path can be shared by multiple backup VPs. Thus, this scheme can largely reduce the bandwidth overhead. But, the backup path management overhead is the same as that of dedicated bandwidth backup scheme.

One step further, the backup path as well as the spare bandwidth can be shared by multiple VPs as shown in Figure 2 ©. There exists a shared backup route (SBR) with a preassigned path and spare bandwidth, and each VP end node establishes access paths to the shared backup route. The path and bandwidth on shared backup route can be used to restore any failed working VP. Thus, both spare bandwidth overhead and backup path management overhead can be reduced.

As an extension of the shared backup route, we can consider a backup network rather than 1:1 backup path as shown in Figure 3. There are three components: shared backup route (SBR), backup route server (BRS), and access path. vSBR is a collection of possible backup routes and available spare bandwidth that can be shared by multiple VPs for restoration purposes. The routes on SBR (also the access paths) are preestablished meta VPs that can be generated using the residual network. If

Figure 3: Shared Backup Route Example

a working VP fails, for example between node A and node B in Figure 3, then a backup VP is established by concatenating the two access paths from A and B via the most preferred route on SBR.

A BRS is a distributed server that performs SBR setup, reconfiguration, and backup route concatenation. There are a number of BRSs in a network, and each BRS has connections to adjacent BRSs along one or more possible routes. These connections between BRSs and the spare bandwidth on them construct SBR. A BRS can be thought as a switch node on SBR, and also an access point to SBR. BRSs perform the following functions.

maintain BRS list in the network

maintain access path list from VP end nodes

make connections and routing table to other BRSs

configure/reconfigure SBR

activate (assign VPI/bandwidth) paths on SBR

deactivate (release VPI/bandwidth) paths on SBR

perform backup path selection on SBR

join the backup path on SBR with access paths

generate restoration confirm/fail mesasges

Access paths provide VP end nodes with spare routes to the appropriate BRSs. An access path should be disjoint with the working VP that would be restored. The number of access paths from a VP end node to SBR can be variable; a VP end node may have multiple access paths to different BRSs, or may have multiple access paths to a single BRS. Multiple connectivity is important to avoid simultaneous failures of

Figure 4: Basic restoration protocol

a working VP and the backup path.

This model provides a simpler backup architecture than the conventional 1:1 backup methods. Each VP end node has only several access paths to SBR rather than managing a backup VP for each working VP. Thus the number of backup connections is not proportional to the number of working VPs, but is dependent of the network diameter or the number of nodes. This feature enables a scalable backup architecture.

35.2. Restoration Procedure

VP restoration is performed semi-dynamically by a backup VP that is not predefined but determined after a failure. A backup VP is constructed by connecting the two access paths from the VP end nodes along a part of SBR. The main operation is joining the three already prepared parts (two access paths and a part of SBR). Therefore, though a backup VP is established on demand, the cost for searching the path and the bandwidth is low.

Upon a failure detection, the VP destination node becomes sender, and the originating node becomes chooser. We call the BRS accessed by the sender local BRS (LBRS), and the one accessed by the chooser remote BRS (RBRS). Figure 4 illustrates the following restoration protocol.

Phase 1: The sender activates an access path to LBRS and sends a restoration message. A restoration message contains information fields such as failed VPI, failed link ID, sender, chooser, LBRS, RBRS, and required bandwidth.

Phase 2: On receiving a restoration message, LBRS selects and activates an appropriate route on SBR and forwards the restoration message to RBRS. Then, join the activated path on SBR with the access path from the sender, which results in a seamless partial backup VP. If all the trials to activate a path to RBRS fail, LBRS sends a restoration fail message to the sender, which will initiate a new trial to other BRSs.

©

Figure 5: Restoration of multiple link failures

Phase 3: On receiving a restoration message, RBRS activates the access path to the chooser and join the access path with the partial backup VP, which results in complete backup VP. If the activation fails, RBRS sends a restoration fail message to LBRS and deactivates the backup path on SBR.

Phase 4: RBRS sends a restoration confirm message to the chooser along the access path. Then, the chooser performs traffic switching.

Fast restoration is performed by this protocol. Although this protocol consists of four phases, VP restoration is performed with one-way message transmission from the sender to the chooser.

Multiple failures can be handled with the restoration protocol. We can consider several different multiple link-failure cases. The working VP may be lost simultaneously with the preferred backup route on SBR, or one of the access paths from the sender or the chooser. In these cases, the backup VP can be established using another safe route on SBR as shown in Figure 5 (a), or via another safe access path as shown in Figure 5 (b) and (c). These alternatives are possible since a BRS has a routing table to other BRSs and a VP end node has multiple access paths to SBR. In case that the first trial to activate the most preferred route is failed, the second preferred route is tried. If all the trials fail, a restoration fail message is generated and sent back to the prior BRS or the sender, which initiates the alternate route selection. The extension of the protocol to node-failure cases is trivial since a node failure can be thought as a set of link failures.

Simulation

We performed simulations to see the feasibility and effectiveness of the proposed mechanism. The simulations were performed on two mesh topology networks as shown in Figure 6, one with 49 nodes and 84 links and the other with 11 nodes and 23 links.

Network 1

Network 2

Figure 6: Example networks

Each working VP has integer bandwidth within a restricted range, 1 to 3 unit, and a disjoint backup VP is computed by shortest path algorithm.

First, we report the spare resource overhead and the backup path optimality to perform https://www.w3.org/1998/Math/MathML"> 100 % https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq318.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> restoration for any single link failure with number of working VPs, assuming infinite bandwidth on communication links. Figure 7 and 8 depict the spare bandwidth overhead for different numbers of primary VPs. Comparisons are performed for the three backup restoration schemes: the dedicated bandwidth backup scheme, the shared bandwidth backup scheme, and the shared backup route scheme (virtual backup network). The proposed mechanism shows a significant improvement of band width efficiency up to https://www.w3.org/1998/Math/MathML"> 50 % https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq319.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> compared with dedicated bandwidth backup, and a marginal improvement up to https://www.w3.org/1998/Math/MathML"> 15 % https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq320.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> compared with the shared bandwidth backup. The gap becomes larger as the number of VPs grows.

and 10 show the backup VPI overhead that indicates the complexity of backup connections. We compared the proposed scheme with the conventional 1:1 backup. The VPI overhead is largely reduced up to https://www.w3.org/1998/Math/MathML"> 70 % https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq321.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> by using the shared backup route.

In Figure 11 and 12, we compared the backup path optimality described by the average hop-count between 1:1 backup and the proposed mechanism. The backup path generated by the proposed scheme shows a little bit longer but tolerable delay than that of the 1:1 backup, since a backup path via the SBR is generally longer than the shortest backup path without considering the SBR.

The simulation results tell that the resource efficiency of the shared backup ro ute scheme is better than that of the conventional 1:1 backup scheme. If we consider all the nodes as BRSs as an extreme case, then the shared backup route scheme produces identical result as that of the shared bandwidth backup sc heme. This means that the proposed mechanism can show at least the same overhead as shared bandwidth backup scheme. If carefully designed considering the number of BRSs and their locations, the shared backup route can provide better resource efficiency in mo st cases.

Figure 7: Bandwidth overhead: Network 1

Figure 8: Bandwidth overhead: Network 2

Table 2: Restoration ratio against double-link failures

Next, we report the restoration ratio of failed VPs in double-link-failure cases. We assumed that two links are failed simultaneously, and tried to restore the failed VPs first with predefined backup VPs and second with the shared backup r oute. 100 different cases were tested in 49 node networks under the assumption that th ere are 300 working VPs and 3-connectivity is provided for accessing SBR. As listed in Table 2, the proposed mechanism shows https://www.w3.org/1998/Math/MathML"> 99.6 % https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq322.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> restoration ratio on the average while the conventional backup mechanism shows https://www.w3.org/1998/Math/MathML"> 94.9 % https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq323.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . In some selected cases (the two link failures are not far from each other), the conventional backup scheme showed https://www.w3.org/1998/Math/MathML"> 63 % - 89 % https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq324.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> restoration ratio while the proposed scheme could find restoration routes for all the failed VPs.

Summary

The backup method provides simple, fast, and guaranteed VP restoration. However, it shows large resource overhead and inflexibility against multiple failures. Some

Figure 9: Connection overhead: Network 1

Figure 10: Connection overhead: Network 2

previous works achieve the performance improvement either on resource efficiency by spare bandwidth sharing, or on flexibility by using multi-link path or hybriding backup approach and dynamic approach. However few of them achieved both.

We propose a new restoration mechanism that provides backup network rather than 1:1 backup connections. The proposed mechanism provides several contributions. First, it provides an efficient way to share spare resources, backup paths as well as spare bandwidth, thus can reduce both spare bandwidth overhead and backup path management overhead. Second, it provides flexible backup path routing against multiple failure. There are several alternate routes to be selected on SBR and multiple access paths to SBR, thus the simultaneous failure of a working VP and its backup VP can be handled. Finally, it provides a simple and scalable backup architecture. The backup network with shared backup route maintains much smaller number of backup connections that is not proportional to the number of working VPs.

Bibliography

ITU-T DRAFT Recommendation I.610, “B-ISDN operation and maintenance principles and functions” (1994).

Sato, K., Hadama, H., and Tokizawa, I., “Network Reliability Enhancement with Virtual Path Strategy,” In Proceedings of GLOBECOM’90, pp. 464-469 (1990).

Ayanoglu, E. and Gitlin, R. D., “Broadband Network Restoration,” IEEE Communications Magazine, Vol. 34, No. 7, pp. 110-119 (1996).

Figure 11: Backup path delay: Network 1

Figure 12: Backup path delay: Network 2

Grover, W. D., “The Selfhealing network: A fast distributed restoration technique for networks using digital cross-connect machines,” In Proceedings of GLOBECOM’87 pp. https://www.w3.org/1998/Math/MathML"> 1090 - 1095 ( 1987 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq325.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Lin, L. D., Zolfaghari, A., and Lusinan, B. “ATM Virtual Path Self-Healing Based on a New Path Restoration Protocol,” In Proceedings of GLOBECOM’94, pp. 794-798 (1994)

Anderson, J., Doshi, B. T., Dravida, S., and Harshavardhana, P., “Fast Restoration of ATM Networks,” IEEE Journal of Selected Areas in Communications, Vol. 12, No. 1, pp. 128-138 (1994)

Kawamura, R. and Tokizawa, I., “Self-healing Virtual Path Architecture in ATM Networks,” IEEE Communications Magazine, Vol. 33, No. 9, pp. 72-79 (1995)

Fujii, H. and Yoshikai, N., “Restoration Message Transfer Mechanism and Restoration Characteristics of Double-Search Self-Healing ATM Network,” IEEE Journal on Selected Areas in Communications, Vol. 12, No. 1, pp. 149-158 (1994)

Ahn, S., “A Fast VP Restoration Scheme using Ring-Shaped Sharable Backup VPs,” In Proceedings of GLOBECOM’97, pp.1383-1387 (1997)

Murakami, K. and Kim, H. S., “Comparative Study on Restoration Schemes of Survivable ATM Networks,” In Proceedings of INFOCOM’97, pp. 345-352 (1997)

Landegem, T. V., Vankwikelberge, P., and Vanderstraeten, H., “A Self-Hesling ATM Network Based on Multilink Principles,” IEEE Journal of Selected Areas in Communications, Vol. 12, No. 1, pp. 139-148 (1994)

A Flexible Communication Architecture to Support Multimedia Services in High Speed Network

Abstract

There have been research works on supporting Quality of Service https://www.w3.org/1998/Math/MathML"> ( QoS ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq326.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in a distributed multimedia systems. These researches can be categorized as follows; system platform, real-time operating system, transport protocol, communication architecture. In distributed multimedia environment, QoS must be guaranteed in end systems, but much less progress has been made in addressing these problems. As the processing power of end systems increases, most of the bottleneck occur in communication protocol, especially transport protocol. To meet an end-to-end QoS, overall QoS architectures must be integrated. In this paper, we propose a new QoS architecture and control mechanisms(group control, and media control) to guarantee an end-to-end QoS for distributed multimedia services. We also verify proposed architecture by applying them to a multimedia conferencing system in LAN.

1 Introduction

From early 1990 s, there have been research works on supporting Quality of Service(QoS) in distributed multimedia environments. There has been considerable progress in the separate areas of Open Distributed Processing https://www.w3.org/1998/Math/MathML"> ( O D P ) 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq327.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , end systems https://www.w3.org/1998/Math/MathML">   2 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq328.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and network https://www.w3.org/1998/Math/MathML">   3 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq329.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to support QoS. In end-systems, most of the progress has been made in the areas of scheduling https://www.w3.org/1998/Math/MathML">   4 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq330.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , flow synchronization https://www.w3.org/1998/Math/MathML">   5 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq331.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ) and transport support https://www.w3.org/1998/Math/MathML">   6 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq332.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . In networks, researches have focused on providing suitable traffic models https://www.w3.org/1998/Math/MathML">   7 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq333.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and service disciplines https://www.w3.org/1998/Math/MathML">   8 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq334.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , as well as appropriate admission control and resource reservation protocols https://www.w3.org/1998/Math/MathML">   9 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq335.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Meeting https://www.w3.org/1998/Math/MathML"> Q o S https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq336.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is an end-to-end problem, but most of the researches address QoS from a provider’s point of view and analyze network performance, failing to comprehensively address the QoS needs of applications.

As the processing power of end-systems increases, most of the bottleneck occurs in communication protocols. Current transport protocols, such as TCP, UDP, TP4, are designed for the text data applications such as e-mail, ftp. When applied to a realtime multimedia applications, these protocols cause some problems. For example, TCP supports only one-to-one communication service. It doesn’t have the concept of the multicast, and accordingly, multicast group management. Also, TCP supports only fully-reliable data transfer. It doesn’t care end-to-end transfer delay. Because multimedia streams, such as audio and video stream, can tolerate error to some extent, it is not appropriate to use TCP to deliver real-time stream data. Moreover, data control mechanism is determined by a protocol, applications must follow the embedded mechanisms. It ignores the application’s characteristics.

Current state of QoS provision in architectural framework can be summarized as follows. First, each multimedia service has its own requirements, but most of the current interfaces do not support QoS configuration. For example, in socket interfaces user can specify only local address and port, remote address and port. It needs interfaces by which users can specify their own QoS requirements. Second, as new applications emerge and they require their own QoS requirements, it is impossible for a fixed data control mechanism predetermined by a protocol to meet the required QoS effectively. It needs to configure data control mechanisms according to user’s requirements. Third, to support QoS optimally, it needs several functions such as QoS negotiation and re-negotiation, QoS monitoring, QoS maintenance, but these functions are not supported by most of current communication protocols. Fourth, there is lack of an overall QoS architecture that integrates separate functions, mechanisms, policies for multimedia communications.

In this paper, we propose a new QoS architecture and control mechanisms(group control, and media control) to support an end-to-end QoS for a distributed multimedia services. We also verify proposed QoS architecture and control mechanisms by applying them to a multimedia conferencing system in high speed LAN.

This paper is organized as follows; we present a general QoS principles in section 2. In section 3, we present a new QoS architecture that can support end-to-end QoS for distributed multimedia services. In section 4, we present group and media control mechanisms-group control, media control, and verify the proposed mechanism by applying them to a multimedia conferencing system in high speed LAN. In section 5 , conclusions follow.

General QoS Principles

Because each multimedia application has its own QoS requirements, multimedia system must provide a method for a user to configure his own QoS requirements to reflect the features of an application. QoS mapping which translates user’s QoS requirements into communication protocol’s parameters is necessary. In designing a QoS architecture, we consider the following principles.

39.1. QoS Specification

A QoS specification can be classified into two levels; user level and protocol level. User level QoS specification is somewhat abstract. Users can specify the type of service, management policy, and application characteristics. They do not specify control mechanisms and the exact threshold values of performance parameters. User level QoS specification is translated into protocol level QoS specification by a configuration entity. This process is called QoS mapping. QoS mapping occurs in two ways. Configuration entity converts user specified service type into flow performance parameter values, such as delay, jitter, frame rate etc. and selects the adequate functions from a function pool to make an optimal protocol per flow. A management entity translates user specified management policy and application characteristics into actual management mechanisms and uses them to meet the requested QoS. We can categorize service type according to applications, because of the error tolerance and performance parameter controllability of multimedia data https://www.w3.org/1998/Math/MathML">   10 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq337.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Generally, there are more than three participants in multimedia applications such as teleconferencing, computer supported cooperative work(CSCW). If there are more than three participants in an application, we must manage the participant group. Because the feature of a group is one of important characteristics of an application which affects the behavior of an application, a user shall specify group features.

39.2. QoS Mechanism

To meet a requested QoS, appropriate control mechanisms are required. In LANs, especially where resources can’t be reserved, we can’t guarantee requested QoS when congestion occurs. As mentioned previously, each multimedia service has its own requirements, a fixed control mechanism predetermined by an underlying protocol can’t satisfy various user’s requirements. A control mechanism must be dynamically configured according to the user level QoS specification. Because continuous media data can tolerate errors to some extent, and there are some differences between user perception QoS and parameter level QoS, we can control performance parameters without user perception QoS degradation.

A control mechanism is instantiated by a management entity. A management entity can be classified according to the time it applies to, and objects it manages. In multimedia applications, management entity must manage media flows and user groups. A media manager performs call admission control, environment status monitoring, and flow QoS management. A user requested QoS specfication is translated into an underlying layer’s QoS specification by a configuration entity. A media management entity decides if a requested call can be accepted by comparing its QoS requirements with the monitoring results at the time the call is requested. After call setup, media management entity monitors whether a requested QoS is guaranteed at every specific interval. If it is violated for a certain amount of time, media management entity starts data control mechanism to handle the violation according to the specified management policy. Media stream is transmitted in packets, but it is not effective to start data control mechanism at every time violation packets are detected. Because it takes processing and adaptation time to use data control mechanism, if we apply data control mechanism to every violation packet, it may deteriorate system performance.

A Flexible QoS Architecture

In past years, protocol designers have little QoS concept, they just considered reliable data transfer. Yet, as we get to meet various kinds of application and each application has different requirements, we need a method by which we can configure different QoS. Also, with the previous one fixed policy or mechanism, various QoS requirements can’t be satisfied. Therefore, the optimized policy or mechanism for each QoS requirements should be dynamically configured.

In this paper, we suggest a new QoS architecture, which mainly consists of the management part, the configuration part, and data transfer part as shown in figure 1.

Figure 1: A Proposed QoS Architecture

Like a multimedia conferencing system and CSCW, recent multimedia communication is, by nature, multicast communication rather than one-to-one. So, a group management function is highly important. The group management functions include the role management for participant authentication and group attribute, and the status change management of participants’ group. A group attribute determines a group management function, and affects data transfer mechanisms. The roles of participants and their relationship also affect the mechanism. For example, a key member’s reception quality degradation should be treated in advance than that of normal participants. Each entity can run in parallel.

Management Mechanisms

To meet an end-to-end QoS, it needs management mechanisms. The management entity can be divided according to objects it manages; group, and media. A group manager controls participant groups. It is related with overall management principles. According to the user specified management policy, a media manager monitors the requested QoS, and controls data sending rate to meet the requested QoS. We propose a group management mechanism and media management mechanism to meet an end-to-end QoS. To verify management mechanisms and, the QoS architecture proposed in the previous section, we implement the multimedia conferencing system in LAN.

41.1. Group Manager

A group is classified according to its configuration char acteristics, duration period and, Active Group Integ rity https://www.w3.org/1998/Math/MathML"> ( AGI ) 12 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq338.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> condition. AGI condition specifies the minimum number of participants, key members who must participate in the conference and so on. It is the criteria, which determines for a service to sustain for a while, or to be terminated immediately when something illegal happens. A group manager checks if AGI conditions are met at connection setup time, and at every group state transitions time. For example, when participants join or leave a group, and if AGI conditions are violated, group manager takes an adequate measure according to integrity condition(IC) https://www.w3.org/1998/Math/MathML">   12 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq339.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . If IC is hard, data transfer is stopped. Connection is released and an application is terminated. On the contrary, if IC is soft, only data transfer is terminated. After some period, if AGI conditions are met again, data transfer is restarted. A group can also be classified according to the degree of membership control. A group is called open, if everyone can join a conference without any explicit control. On the contrary, a group is called closed, if there is a strict mem bership control.

In conferences, participants can be classified according to their roles: manager and participant. A manager’s group manager coordinates a conference according to AGI con ditions. Figure 2 shows a state transition diagram of a group manager. If IC is soft, normal state transition is as follows. After receipt of conference creation request, group manager waits for participants’ replies. If AGI con dition is met, a group manager constitute an active group profile which records participant’s information, and allo cate an unique identifier to the conference. After this, a group manager manages the group using the identifier. Users can join and/or leave a group during data transfer phase. In tightly-coupled conferences, a manager checks AGI condition at every time a user leaves and/or joins a group, but in loosely-coupled conference any members can participate in a conference at any time. This attribute is specified

Figure 2: State Transition Diagrem of a Group Manager

at the conference setup time in the argument attribute. We can verify proposed state transition diagrams by reachability analysis mechanism https://www.w3.org/1998/Math/MathML">   14 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq340.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Because there are only control flows in proposed state transition diagrams, we can verify it in finite time. As a result of reachability analysis, we can verify that there are no dead-lock, and live-lock at any states, and there is no unused state transi tion.

41.2. Media Manager

A media manger manages data transfer to meet an end-to- end QoS. It performs environmental status monitoring, and data rate control. The media manager performs call admission control using monitoring information such as host capacity and network load. After call admission, media manager checks if the requested QoS is met by comparing reported performance parameters with the requested performance parameters at every specified interval. If the requested QoS is violated for some time, media manger controls data sending rate to meet the end- to-end QoS. Figure 3 shows the architecture of the media manager

41.2.1. Call Admission Control Mechanism

Applications such as teleconferencing require the establishment of multiple participants, multiple sessions. To orchestrate the multiparty multimedia connections, we propose a connection management scheme. The emphasis of our scheme is to provide transmission across LANs such as Ethernet that cannot guarantee the reliable communication bandwidths. Ethernet protocol has some identical transfer-delay

Figure 3: An architecture of the Media Manager

characteristics https://www.w3.org/1998/Math/MathML">   15 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq341.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ). This protocol is affected tremendously by overall network load. As the network load is increased, relatively more collisions take places and the performance deteriorates to relatively low throughputs. Some experimental analysis shows that efficient transmission can be provided under https://www.w3.org/1998/Math/MathML"> 40 % https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq342.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of its maximum transmission ability https://www.w3.org/1998/Math/MathML">   15 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq343.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . So, network overload can be prevented, with the management of participation. At this point of view, we consider a call admission control mechanism. Before starting new communication session, the current network load should be examined by monitoring underlying network. A communication session can be admitted only when overall network load is under https://www.w3.org/1998/Math/MathML"> 40 % https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq344.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of maximum transmission throughput. With this mechanism we can prevent network overload and guarantee real-time requirements.

41.2.2. Media Control Mechanism

To meet an end-to-end QoS, the media manager controls data sending rate whenever there is QoS degradation. At every predetermined interval, the media manager checks if the requested QoS is met. If the requested QoS is not guaranteed, the media manager controls data rate. In general, video stream has higher bit rates than audio, furthermore audio stream has higher priority than video stream in multimedia conference. If there is QoS degradation due to network congestion, it is more effective to reduce video data sending rate than audio data sending rate. In multiparty environment, each participant may have different capabilities. In multimedia conference, it is not desirable to sacrifice QoS of many participants for an inferior participant. How to control data rate is affected by the group characteristics. Because participants play different roles in a conference, a key member’s QoS must be met in advance.

Figure 4: data Sending Rate Control Algorithm

A proposed data sending rate control algorithm is described in figure 4 . We must consider AGI condition and receiver’s QoS report to decide whether to control data rate or not. The decision is made at the manager side.

41.2.3. Verification: Desktop Conferencing System

To verify the proposed QoS architecture and management mechanisms, we implement the multimedia conferencing system in LAN. Table 3 shows the Development environment.

We select received frame rate and end-to-end delay as video performance parameters. A real-time multimedia conference service requires a received frame rate to Table 1: Desktop Conferencing System Development Environment

be at least 5 frames/sec, and average end-to-end delay to be in the range of 200 https://www.w3.org/1998/Math/MathML"> 300   m s 10 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq345.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Image size varies as window size and compression algorithm used. There are two ways to control video bit rate. One is to control image resolution, and the other is to control video frame rate. Using parallax video board, we can control image resolution by varying Q factor. The more we increase Q factor, the higher image resolution is. We use image window size of 160×180 pixels in the experiment.

41.2.4. Empirical Results

Image size changes as window size varies. We used window size of 120×160 in which case average image size was 5495 bytes. End-to-end transfer delay is measured at media playback time. To increase network load, we generate 30 bytes packets using “ping” utility at every 3 second. Since there are time-random variance in network load, all the experiments were performed simultaneously to guarantee the fair comparison.

(a) Received Frame Rate

(b) End-to-End Delay

Figure 5: Distribution of Received Frame rate and End-to-End Delay When Controlled Data Bit Rate

Figure https://www.w3.org/1998/Math/MathML"> 5 ( a ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq346.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and figure https://www.w3.org/1998/Math/MathML"> 5 (   b ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq347.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> respectively shows the distribution of received frame rate and end-to-end transfer delay to network load when we control data bit rate using Q factor. They say that received frame rate goes lower, and end-to-end transfer delay is getting longer as an image resolution goes higher.

(a) Received Frame Rate

(b) End-to-End Delay

Figure 6: Distribution of Received Frame rate and End-to-End Delay When Controlled Frame Sending Rate

(a) and figure 4 (b) respectively shows the distribution of received frame rate and end-to-end transfer delay to network load when we control frame sending rate. When there is no explicit data control mechanism, average received frame rate is 3.0, but when we apply the proposed data control mechanism, average received frame rate becomes 5.7. In the case of end-to-end delay, we can get twice increments in performance. Especially, when we use a proposed frame rate control, delay variation is almost flat. It means the jitter is small, so we can achieve better video playback quality.

Conclusions

We have proposed and implemented QoS architecture and control mechanism to guarantee end-to-end quality of service. Since, different media flows have their own characteristics, different management policies and control mechanism should be provided for each media. In the proposed structure, users may request suitable QoS policy depending on the application service type. To satisfy user’s request, optimal control policies have to be configured, monitored, and guaranteed while conference is maintained.

Applications that require the establishment of multiple participants have to be controlled by a group manager. A group manager has to generate some primitives maintaining participants and provides group integrity condition to media manager for efficient quality of service control. A media manager executes some important role such as call admission control and congestion control with monitoring network traffic. Considering shared medium LAN system like Ethernet, the performance is affected tremendously by network bandwidth usage. So, we apply call admission control mechanism for it. Requested call is accepted only when overall quality of service can be guaranteed.

To validate proposed QoS architecture and control mechanism, we have implemented desktop conference system. Considering conference environment, audio data have higher priority than video data. If network experience congestion, video data transmission rate should be reduced. We used received frame rate and end-to-end transmission delay as evaluation parameters. At lower and upper bound of the parameter values, QoS control mechanism may regulate its transmission rate. With proposed QoS control mechanism, end-to-end transmission delay and received frame rate can be improved by two. Especially the uniform distribution of transmission delay can be obtained.

Bibliography

Nicolaou, C., “An Architecture for Real-Time Multimedia Communications Systems,” IEEE Journal on Selected Areas in Communications, Vol. 8, No. https://www.w3.org/1998/Math/MathML"> 3 , ( 1990 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq348.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Coulson, G., et al., “Design of a QoS Controlled ATM Based Communication Systems in Chorus,” IEEE JSAC special issue on ATM LANs: Implementation and Experience with Emerging Technology, May, (1995).

Guerin, R., el al., “Equivalent Capacity and its Application to Bandwidth Allocation in High Speed Networks,” IEEE JSAC, Vol. 9, No. 7, Sept., (1991).

Stankovic, el al., “Implications of Classical Scheduling Results for Real-Time System,” IEEE Computer, Special Issue on Scheduling and Real-Time Systems, Jun, (1995).

Little, T.D.C, and A. Ghafoor, “Synchronization Properties and Storage Models for Multimedia Objects”, IEEE JSAC, Vol. 8, No. 3, pp229-238, Nov., (1990).

W. Doneringer, et al., “A Survey of Light-Weight Transport Protocols for High Speed Networks”, IEEE Transactions on Communications, Nov., (1990).

Kurose, J.F., “Open Issues and Challenges in Providing Quality of Service Guarantees in High Speed Networks”, ACM Computer Communication Review, Vol., 23, No. 1, pp6-15, Jan., (1993).

H. Zhang, S. Keshav, “Comparison of Rate-Based Service Disciplines”, ACM SIGCOMM, (1991).

Zhang, L., et al., “RSVP Functional Specification”, Working Draft, draft-ietf-rsvp-spec10.txt, (1996).

MMCF Working Document, “Arch/QoS/94-001, Rev.1.5”, Multimedia Communications Forum, Inc., May, (1994).

Francois Fluckiger, “Understanding Networked Multimedia:Application and Technology”, Prentice Hall, pp321-381. 12) ISO/IEC JTC1/SC6, “Second Draft on Multi-Peer Taxonomy”, (1994).

M. Handley, et al., “The Internet Multimedia Conferencing Architecture”, Internet Draft draft-ietf-mmusic-confarch-00.txt, IETF, July, (1997).

West C. H., “An Automated Technique of Communication Protocol Validation”, IEEE Transactions on Communication, Vol. COM-26, pp1271-1275, (1978).

Mischa Schwartz, “Telecommunication Networks, Protocols, Modeling and Analysis”, Addison-Wesley, pp453-467, (1987).

Efficient Protocols for Multimedia Streams on WDMA Networks

The Hong Kong University of Science and Technology

Abstract

This paper introduces a new approach to integrate different types of medium access (MAC) protocols into a single wavelength division multiplexing (WDM) network system so as to efficiently accommodate various types of multimedia traffic streams with different characteristics and quality of service (QoS) demands. The proposed WDM network, which is termed multimedia wavelength multiple access (M-WDMA), considered three types of multimedia traffic streams: a constant-bitrate (CBR) traffic and two classes of variable-bit-rate (VBR) traffic. Accordingly, three tunable transmitters and one fixed home channel receiver for data transmission are used . The transmitters transmit the three types of multimedia traffic streams in a pipeline fashion so as to overcome the tuning time overhead. We further incorporate a dynamic bandwidth allocation scheme that dynamically adjusts the portions of bandwidth occupied by the three types of traffic streams according to their QoS demands. The performance of M-WDMA is evaluated through a simple analytical model and extensive simulations. It is shown that M-WDMA can satisfy the QoS requirements of various mixes of multimedia traffic streams even under very stringent requirements.

1 Introduction

It is widely believed that the multimedia communication is one of the most important features in the new generation of the computer networks. That is, in a single network, video, audio, data streams should be able to be transmitted in a expected quality. To support this, high capacity transmission system and multimedia oriented media access protocols are needed. The development of the fiber optical technology supplies with extremely high bandwidth transmission system. The wave-length division multiplexing (WDM) is the one of the promising techniques which comes up with the occurance of the fiber techniques. In a WDM architecture, a transmitter and a receiver have to tie onto the same wavelength (i.e., channel) to communicate to each other. Due to the limitation of the number of transceivers at each node, the complete connectivity of a WDM network requires the use of tunable transceivers which can tune their working wave-length across all channels in the network. Unfortunately one has to make a compromise between the tuning time and the tuning range. As a result, dealing with the tuning time overhead, together with the consideration of multimedia communication requirements, becomes a crucial design issue in broadcast-and-selection WDM networks (single-hop or star-coupled networks) https://www.w3.org/1998/Math/MathML">   5 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq349.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

A plethora of MAC protocols have been proposed for star-coupled WDM networks 6). However, most of these MAC protocols are not suited for an integrated services environment because they have been designed with just one generic traffic type in mind. They perform quite well for the traffic streams they have been designed for, but poorly for other traffic streams with different characteristics. All traffic can be classified into three categories. The isochronous traffic, such as video/audio, require guaranteed bandwidth and low variance services, so pre-assigned time slot protocols (e.g. TDM protocol https://www.w3.org/1998/Math/MathML">   1 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq350.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ) are the best choice for this types of traffic. The generic reservation based protocols can not well match the requirements since extra reservation penalty is unnecessarily high for isochronous traffic. While unbalanced traffic and long bursty traffic need the feature of reservation based protocols 8,5 https://www.w3.org/1998/Math/MathML"> ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq351.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , the TDM protocols cause very low utilization. Many applications need very fast response such as interactive gaming, remote control panel operation, etc. the TDM and the reservation based protocols can not supply this types of services in the senses that they are both not immediate access protocols and their non-neglect-able scheduling overhead are inevitable. However, the contention based protocols (random access protocols) can reduce the access delay to almost close to the signal propagation delay. But random access protocol suffers collision and retransmission penalty when the traffic load become higher.

As can be seen, none of these MAC protocols serves all types of traffic well although each one of them is ideal for certain types of traffic streams. This observation lead us to propose an efficient scheme of integrating different MAC protocols into a single MAC protocol for WDM networks, each serves best for certain type of the traffic streams.

In this chapter, we propose a novel WDM MAC protocol which integrates different types of MAC protocols into a single physical WDM network and efficiently supports multimedia traffic streams. This MAC protocol is termed Multimedia-WDMA, or M-WDMA, for short. In the study of the M-WDMA, we consider the following environment: 1) three types of traffic streams: a Constant Bit Rate (CBR), a Variable Bit Rate with large burstness (VBR1), and a Variable Bit Rate with longer interarrival times (VBR2); 2) the importance of the deadline associated with each traffic stream; and 3) nonzero tuning time of the transmitters/receivers. In addition, a dynamic bandwidth allocation strategy is designed to further improve the utilization of our M-WDMA, which is named M-WDMA+.

This chapter is organized as follows. section 2 introduces the M-WDMA architecture. section 3 presents the operation of the M-WDMA, and the M-WDMA+. In section 4, simple mathematical model for the M-WDMA architecture is discussed. section 5 shows the results of the performance evaluation of M-WDMA networks using extensive computer simulations. section 6 concludes this chapter.

The M-WDMA Architecture

Let us consider a M-WDMA network with N nodes which are connected by a starcoupler and having C channels. Each node has a fixed channel (home channel) with wave-length https://www.w3.org/1998/Math/MathML"> λ i ( i = 1,2 , . . , C ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq352.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> which is used to receive the packets designating to the node. The M-WDMA MAC protocol has three integrated MAC sub-protocols: a TDMA protocol (named TDM sub-protocol), a reservation-based protocol (RSV), and a random-access protocol (CNT). Correspondingly in a M-WDMA network, each node has three tunable transmitters used to serve three classes of traffic streams according to the corresponding sub-protocols. The transmitters are named TDM transmitters, RSV transmitters, and CNT transmitters. With employing three transmitters on each node, we can reduce the tuning time overhead by pipelining the transmission and tuning process. More details on the operation of these sub-protocols are discussed in section 3 .

There are multiple queues on each node to eliminate the head-of-line-blocking problem, each of them stores the packets for each channel. The whole network is assumed synchronized with respect to time-slots and the synchronization is relative to the center of the hub of the star coupler. The tuning time, https://www.w3.org/1998/Math/MathML"> Γ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq353.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , is chosen in such a way that tunable transmitters can access all of the given C channels https://www.w3.org/1998/Math/MathML">   2,7 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq354.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . In addition, pair of extra transmitter and receivers are set on each node, tying on a shared control channel https://www.w3.org/1998/Math/MathML"> λ 0 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq355.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , to exchange the control information such as reservation requests, or transmission acknowledgment.

M-WDMA Frame Structure and Protocol

45.1. M-WDMA Frame Structure

Because the three transmitters can operate in a pipeline fashion, the three transmitters can not send packets at the same time. This observation has led us to organize the three types of transmissions into a time frame. A frame consists of three segments: a TDM segment with length https://www.w3.org/1998/Math/MathML"> L TDM https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq356.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> slots, a RSV segment with length https://www.w3.org/1998/Math/MathML"> L RSV https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq357.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> slots and a CNT segments with length https://www.w3.org/1998/Math/MathML"> L CNT https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq358.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> slots. Each of the segments are further divided into slots with length b. The TDM transmissions can only be started in a TDM segment, and so do the CNT and RSV transmissions, respectively. To make sure that the TDM segments appear in periodic constant intervals, the frame length, https://www.w3.org/1998/Math/MathML"> L frame   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq359.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is fixed. A transmission example of our M-WDMA MAC protocol is illustrated in Figure 1. In this figure, the horizontal direction denotes time and the vertical direction denotes space

The frame length can have an implication on the operation and performance of a M-WDMA network. Hence, it should be properly chosen so that the multimedia communication requirements can be satisfied and the tuning time can be efficiently covered. That is: https://www.w3.org/1998/Math/MathML"> L TDM + L RSV > Γ , L TDM + L CNT > Γ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq360.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and https://www.w3.org/1998/Math/MathML"> L CNT + L RSV > Γ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq361.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Since https://www.w3.org/1998/Math/MathML"> L frame   = L TDM + L RSV + L CNT https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq362.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , then https://www.w3.org/1998/Math/MathML"> L frame   > 3 Γ / 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq363.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Figure 1: A M-WDMA transmission schedule example.

45.2. M-WDMA sub-protocols

The M-WDMA protocol consists of the TDM sub-protocol, the RSV sub-protocol and the CNT sub-protocol. The operation of the TDM sub-protocol is basically an interleaved TDMA MAC protocol https://www.w3.org/1998/Math/MathML">   1 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq364.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . The major difference is that in a M-WDMA network, we take tuning time into consideration . Since the tuning order is prefixed, no extra information exchange is needed in the control channel.

The RSV packet transmission is controlled using a multiple token method https://www.w3.org/1998/Math/MathML">   8 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq365.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Each channel is assigned with a token. A node can send its packets onto the destination channel only when it holds the token of the destination channel. In the M-WDMA, the tokens are not explicitly issued. In each cycle of the control channel, the MWDMA nodes broadcast their transmission requests to all nodes. At the end of the cycle, all nodes synchronously execute a distributed token rotation algorithm (TRA) to determine the token distribution in the coming frame. The TRA guarantees that all tokens are held by one node and each node can not hold more than one token.

The CNT sub-protocol of our M-WDMA MAC protocol is similar to the interleaved slotted https://www.w3.org/1998/Math/MathML"> ALOH A 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq366.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . The active nodes compete for the slots in the current CNT segment. In case there is a collision, retransmission is scheduled according to a binary back-off algorithm. The collision declaration and acknowledgment are done through the control channel. Since ordinary back-off control may across the border of CNT segment, a CNT segment counter is set so as to avoid the effects on other segments.

3.3 Dynamic Bandwidth Allocation: M-WDMA+

In M-WDMA with static bandwidth allocation, It is possible that some of the segments are over-loaded while some segments are partially filled, that results in low efficiency. Fortunately, in a M-WDMA, different classes of transmissions are grouped into a single frame, so the adaption on the bandwidth allocation can be easily realized by adjusting the segment sizes.

To accomplish this, a dynamic bandwidth allocation strategy is needed. Since the CBR traffic is connection oriented in nature, once a CBR connection is established, the connection is usually kept for a relatively long time, and the bandwidth required is known. For the VBR traffic streams using the reservation-based sub-protocol, the required bandwidth varies a lot because of the burstness in nature. However, the reservation sub-protocol requires the source node to reserve transmission request before the transmission, then every node can obtain the number of slots required for the RSV segments in each frame before hand. Having determined the TDM and the RSV segment lengths, we can leave the remaining slots of the frame to the CNT segment. With knowing the size of each segment of a frame, the bandwidth can be allocated efficiently. Our strategy is to assign priorities to the sub-protocol segments in the following order: TDM, RSV, and then CNT. That is, the CBR traffic are allocated (TDM), Next, we allocate the RSV segment. Finally, the remaining bandwidth, if available, is all given to the CNT segment.

shows the adaptability of the dynamic bandwidth allocation algorithm. The histogram is obtained using the following parameters: https://www.w3.org/1998/Math/MathML"> L frame   = 30 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq367.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , TDM bandwidth is 14 , maximum RSV burst length is 25 , and the normalized traffic load is https://www.w3.org/1998/Math/MathML"> 30 % https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq368.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . From the histogram, we can see that more bursty data can be efficiently accommodated and more available bandwidth can be exploited by the contention-based sub-protocol. The highest priority sub-protocol, the TDM sub-protocol, just uses the bandwidth it needs.

Modeling of the M-WDMA Network

This section investigates the performance of the M-WDMA MAC protocol through simple mathematical models. We focus our attention on determining the packet transmission delays. In a M-WDMA MAC protocol, three sub-protocols coexist together, but they are not active simultaneously. When one of the sub-protocols is in use, the other sub-protocol are idle from the view of channels and nodes. Given that the bandwidth (sub-protocol segment sizes) is statically allocated, the three sub-protocols can be thought of as if they operate using three different networks. We can assume that the three classes of traffic streams are independent mutually, which is termed as protocol independent assumption. With this assumption, the three sub-protocols can be modeled separately.

Apparently, it is reasonable to apply a polling system analysis https://www.w3.org/1998/Math/MathML">   3,4 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq369.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . We assume that all the nodes in the M-WDMA network have equal probability to generate packets and also have equal probability to be the destination of a packet. Let λ be the network normalized traffic load, and https://www.w3.org/1998/Math/MathML"> λ TDM , λ RSV https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq370.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and https://www.w3.org/1998/Math/MathML"> λ CNT https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq371.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> be the mean traffic loads for the individual segments of the sub-protocols, respectively.

For a queue i, The period between two consecutive visits to queue i is named i-cycle. Let W denote waiting time, Y be duration of a i-cycle, and R be the forward residual time after service time in a i-cycle. Our purpose here is to get the mean

Figure 2: A bandwidth occupation of M-WDMA+.

delay, https://www.w3.org/1998/Math/MathML"> E W i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq372.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , in queue i in steady state. Let https://www.w3.org/1998/Math/MathML"> X i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq373.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> denotes the number of packets present in queue i at an arbitrary moment. The waiting time of an arbitrary packet at queue i consists of the following two components: 1) The time since the packet arrives until the next visit of the server to queue i, that is, https://www.w3.org/1998/Math/MathML"> R i . 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq374.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ) The time required for the server to serve the https://www.w3.org/1998/Math/MathML"> X i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq375.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> packets found at the queue during the last visit time.

Then we have:

https://www.w3.org/1998/Math/MathML"> E W i = E R i + E X i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq376.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

By Little’s Law we get:

https://www.w3.org/1998/Math/MathML"> E X i = λE W i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq377.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

This is true according to the PASTA (Poisson Arrivals See Time Averages https://www.w3.org/1998/Math/MathML">   4 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq378.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ) property. When an arbitrary packet arrives at an arbitrary time, the number of packets ahead of it in the queue is also considered the mean number of packets in the queue.

We approximate https://www.w3.org/1998/Math/MathML"> E R i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq379.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> as follows https://www.w3.org/1998/Math/MathML">   4 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq380.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> :

https://www.w3.org/1998/Math/MathML"> E R i = E Y b , 1 E Y b , i E R 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq381.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Consequently, we can get a general form for the mean packet delay which is given by:

https://www.w3.org/1998/Math/MathML"> E W i = E Y b , 1 E R 1 / E Y b , i 1 - λ i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq382.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Next, we apply this general form onto the individual sub-protocols of M-WDMA network to finalize our mathematical model.

In the TDM sub-protocol, the transmission is organized according to a pre-fixed schedule table as shown in Figure 1. In addition, the cycle time is fixed to https://www.w3.org/1998/Math/MathML"> ( N - 1 ) * https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq383.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> T frame   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq384.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Since the schedule for transmission operates in a round-robin fashion, each queue has a fair chance (i.e., pre-allocated bandwidth) to transmit packets and the TDM segment is of fixed length https://www.w3.org/1998/Math/MathML"> L TDM https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq385.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Hence, when an arbitrary packet arrives at an arbitrary time, https://www.w3.org/1998/Math/MathML"> E R i = ( N - 2 ) * T frame   / 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq386.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Consequently, the mean packet delay using the TDM sub-protocol is given by:

https://www.w3.org/1998/Math/MathML"> E TDM W i = ( N - 2 ) * T frame   2 ( 1 - λ ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq387.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

In the RSV sub-protocol of M-WDMA network, the i-cycle is no longer fixed. It depends on the transmission details of the sub-protocol. When a node gets a token, it may occupy all the slots of the RSV segments in the current frame, and may continue to use the RSV segment in the next frames. In case few or no other nodes use this channel, the token may come back again. According to the suggestion given in https://www.w3.org/1998/Math/MathML">   4 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq388.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , the https://www.w3.org/1998/Math/MathML"> E Y b , i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq389.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> can be derived using the following recursive formula:

https://www.w3.org/1998/Math/MathML"> E Y b , i = b i + ∑ i ≠ j   m   1 , λE Y b , i b j + s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq390.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

where s is the overall switch over time. Since we have fixed the frame length, https://www.w3.org/1998/Math/MathML"> E R 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq391.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> can be chosen in the same way as in the above description. Combining these results, the https://www.w3.org/1998/Math/MathML"> E RSV W i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq392.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> can be easily obtained.

The CNT sub-protocol in a M-WDMA network is a random access protocol. Every node can access the CNT segment of each frame, so the i-cycle time is https://www.w3.org/1998/Math/MathML"> T fame   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq393.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . But due to collisions, Packets’ re-transmissions are needed. As a result, the network load is no longer equal to just https://www.w3.org/1998/Math/MathML"> λ CNT https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq394.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Many mathematical models have been proposed for such a protocol https://www.w3.org/1998/Math/MathML">   1 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq395.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . In our case, we follow Dowd’s model https://www.w3.org/1998/Math/MathML">   1 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq396.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> which exploit the semi Markov process model. According to the model, the average number of packets in the system is given by: https://www.w3.org/1998/Math/MathML"> E [ N ] = ∑ i = 0 2 ( Q + 1 )   E N i P i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq397.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> where https://www.w3.org/1998/Math/MathML"> P i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq398.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is the probability of being in state https://www.w3.org/1998/Math/MathML"> S i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq399.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , i.e., there are i packets residing in the buffer. Q is the capacity of the buffer. By Little’s law, the mean delay is given by:

https://www.w3.org/1998/Math/MathML"> E X i = E [ N ] Γ s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq400.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

where https://www.w3.org/1998/Math/MathML"> Γ s = γ ∑ i = 1 ( B + 1 )   P i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq401.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and γ is the probability of successful transmission. Given https://www.w3.org/1998/Math/MathML"> E R i = T frame   / 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq402.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , we can obtain the CNT mean packet delay .

Simulation

We study the M-WDMA based on intensive simulation. In the simulation study, we assume data rate of each channel is https://www.w3.org/1998/Math/MathML"> 1   G b / s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq403.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , slot size is 53Byte, frame size is 30 slots, tuning time is 20 slots. Network parameters include number of nodes N, number of channels C. Large enough buffer capacity is assumed.

For CBR traffic streams, delay jitter is mainly investigated. The missing rate of CBR is the ratio that the delay jitter exceed the given limitation. For VBR1 and VBR2 traffic sources, the missing rate is defined as the fraction of packets where their transmission delay exceed their given delay deadline. VBR1 has a relatively more strict delay deadlines that VBR2. VBR2 has large variations in their deadline specifications.

show the mean delay of a M-WDMA network. These results are obtained using our mathematical model and using simulation. The number of nodes is https://www.w3.org/1998/Math/MathML"> N = 10 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq404.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and the number of channels https://www.w3.org/1998/Math/MathML"> C = 10 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq405.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . We also assume that the frame size is https://www.w3.org/1998/Math/MathML"> L frame   = https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq406.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> 30 , and the sub-protocol segment sizes are https://www.w3.org/1998/Math/MathML"> L TDM = 10 , L RSV = 10 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq407.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> L CNT = 10 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq408.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

As can be seen from the figures, our simulation and mathematical model results are close to each other. This is an indication of the accuracy of our simple mathematical models for the M-WDMA MAC protocol.

Improvement from the M-WDMA to the M-WDMA+ in terms of mean delay is illustrated in Figure 5 . We can see that the performance of CBR streams using the M-WDMA and the M-WDMA+ MAC protocols are more or less the same since both of them guarantee the bandwidth required for the CBR traffic streams. The performance of the VBR1 traffic streams is improved since the M-WDMA+ can accommodate longer data burstness than in the “static” M-WDMA. Because all the un-used bandwidth are left to the VBR2, the enlarger bandwidth result in lower collision rates, and thus better efficiency.

through Figure 5 illustrate the superiority of integrating various protocols into a single network (M-WDMA) when compared with any individual conventional protocols (the ITDMA, Multiple Tokens and ISA). For a fair comparison, exactly the same traffic patterns and proportions are loaded onto both networks, and the same node configurations are also applied, i.e., in ITDMA, the transmitters are also pipelined. The mean delay and loss rate for both networks are shown in Figure 5 and 5 .

The CBR traffic performance is more or less same for both networks, since our M-WDMA+ MAC protocol takes advantage of the ITDMA MAC protocol for this type of traffic. But for the other types of traffic streams, VBR1 and VBR2, they are much better served by our M-WDMA+ network. In terms of loss rate (delay deadline missing), we can draw similar conclusions.

Now we compare the performance of our M-WDMA+ protocol with a reservationbased MAC protocol namely MT-WDMA https://www.w3.org/1998/Math/MathML">   6 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq409.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . The MT-WDMA stands for the Multiple Token WDMA which is essentially a token passing protocol. By examining Figure 5 and Figure 5 , it is obvious that the M-WDMA performs better for all types of traffic streams. Again, this is an affirmation of the superiority of using an integrated

(a) Delay of M-WDMA

(b) M-WDMA+ vs M-WDM

Figure 3: Delay of M-WDMA and M-WDMA+ Mean Delay Comparison: TDM vs M-WDMA+

(a) In terms of mean delay

(b) In terms of deadline missing rate

Figure 4: M-WDMA+ and ITDMA.

(a) In terms of mean delay

(b) in terms of deadline missing rate

Figure 5: M-WDMA+ vs MT-WDMA. Mean Delay Comparison: CNT vs M-WDMA+

(a) In terms of mean delay

(b) In terms of deadline missing rate

Figure 6: M-WDMA+ vs ISA.

approach when designing MAC protocols for multimedia applications.

and 5 depict the integrated MAC approach for our M-WDMA+ with that of a single random access protocol, ISA https://www.w3.org/1998/Math/MathML">   1 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq410.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . ISA is implemented using the same network configurations as our M-WDMA+ protocol. Again, the differences is that in ISA, all types of traffic streams are processed under the same MAC protocol unlike the M-WDMA+ MAC protocol where each type of traffic stream is allocated to the proper sub-protocol. The results shown in Figure 5 and Figure 5 clearly illustrates the advantages of our integrated MAC approach in the M-WDMA.

Conclusion

This paper introduces a new approach that combines different types of MAC protocols into a single WDM network to better serves a wide variety of multimedia applications. Some of the goals of this approach are: 1) To keep the advantages of the individual MAC protocols with respect to specific types of traffic streams; 2) To efficiently support a large range of traffic streams with different characteristics and QoS requirements in a single WDM network; and 3) to dynamically allocate the network bandwidth to the different classes of traffic in order to boost the network performance. We have investigated the performance of our M-WDMA network, and it was clearly shown that it outperforms state-of-art MAC protocols for WDM networks in serving multimedia applications. As a result, we can reasonably expect that integrating various sub-protocols into a single protocol to have a good potential for meeting the QoS requirements of future integrated services WDM networks.

Bibliography

K. Bogineni, K. M. Sivalingam, and P. W. Dowd. Low-complexity multiple access protocols for wave-length-division multiplexed photonic networks. IEEE Journal on Selected Areas in Communications, Vol. 11, No. 4, pp. 590-604, (1993).

M. S. Borella and B. Mukherjee. Efficient scheduling of nonuniform packet traffic in a WDM/TDM local light-wave network with arbitrary transceiver tuning latencies. IEEE Journal on Selected Areas in Communications, Vol. 14, No. 5, pp. 923-934, (1996).

E. de Souza e Silva, H. R. Gail, and R. R. Muntz. Polling systems with server timeouts and their application to token passing networks. IEEE/ACM Transactions on Networking, Vol. 3, No. 5, pp. 560-75, (1995).

W. P. G. and H. Levy. Performance analysis of transaction driven computer systems via queueing analysis of polling models. IEEE Transactions on Computers, Vol. 41, No. 4, pp. 455-465, (1992).

F.Jia, B. Mukherjee, and J. Iness. Scheduling variable-length messages in a single-hop multichannel local lightwave network. IEEE/ACM Transaction on Networks, Vol. 3, No. 4, pp. 477-88, (1995).

B. Mukherjee. WDM-based local light-wave networks part i: Single-hop systems. IEEE Network, Vol. 6, No. 3, pp. 12-27, (1992).

B. Mukherjee. Optical Communication Networks. McGraw-Hill, (1997).

A. Yan, A. Ganz, and C. M. Krishna. A distributed adaptive protocol providing realtime services on WDM-based LANs. Journal of light-wave technology, Vol. 14, No. 6, pp. 1245-1254, (1996).

This paper proposes a priority assignment method for multimedia multipoint-topoint communication. First, it discusses the performance degradation of multimedia communication caused by delay and proposes a new performance measure. Then it gives the priority assignment method based on the new measure. According to the analysis, it is shown that the proposed priority assignment increases the performance of the path with large performance degradation, at the expense of the decrease in performance of the path with small performance degradation.

Introduction

Due to the progress of high speed networks, digitized multimedia informations such as image and voice are transmitted through computer network in addition to computer data. In case of multimedia transmission, transmission quality of each media is deteriorated caused by network delay, where degradation in each media is different even for the same amount of delay. Priority control is an effective method to decrease the degradation caused by delay. This paper aims at obtaining the optimum priority assignment for multimedia multipoint-to-point communication. In section 2 , we define a new quality degradation measure and formulate the problem. In section 3 , the priority assignment method is proposed based on the new quality measure. In section 4 , the performance of the proposed methods are shown.

Priority control for multimedia communication

52.1. Performance degradation measure

Effect of delay to each media is different. For example, in case of video transmission, if the variation of delay is more than https://www.w3.org/1998/Math/MathML"> 30   m s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq411.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , some data must be discarded at the receiver

Figure 1: Multipoint-to-point communication

side; on the other hand, more than https://www.w3.org/1998/Math/MathML"> 100   m s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq412.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> delay is allowed in facsimile transmission. In this paper, we define the media factor https://www.w3.org/1998/Math/MathML"> W k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq413.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for media k, and define https://www.w3.org/1998/Math/MathML"> F k = T / W k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq414.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> as the new measure of quality degradation, where T is the average delay. Media factor https://www.w3.org/1998/Math/MathML"> W k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq415.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> represents the sensitivity of media k concerning transmission delay. For example, if https://www.w3.org/1998/Math/MathML"> W 1 = 2 W 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq416.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , it means that allowable delay of media 1 is twice as that of media 2 .

52.2. Problem definition

In this paper, we focus on the multipoint-to-point communication as is shown in Figure 1, where https://www.w3.org/1998/Math/MathML"> S i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq417.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is source node, D is the destination node, https://www.w3.org/1998/Math/MathML"> P i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq418.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> denotes the transmission path from node https://www.w3.org/1998/Math/MathML"> S i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq419.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to D. Each link is numbered from 1 to L, and is assumed to have two priority queues, https://www.w3.org/1998/Math/MathML"> h i g h ⁡ ( H ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq420.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and low https://www.w3.org/1998/Math/MathML"> ( L ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq421.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . The set of source nodes issue the same traffic, with average of λ packets https://www.w3.org/1998/Math/MathML"> / s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq422.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> on the average, to the destination node, D, at the same time. Priority of path https://www.w3.org/1998/Math/MathML"> i ( i = 1 - N ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq423.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in link j is denoted as https://www.w3.org/1998/Math/MathML"> p i j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq424.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and can be assigned either as H or L independently. Further, it is assumed that delay is caused only by queuing delay. Let https://www.w3.org/1998/Math/MathML"> T i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq425.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> be average delay of https://www.w3.org/1998/Math/MathML"> P i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq426.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and media factor in https://www.w3.org/1998/Math/MathML"> P i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq427.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> be https://www.w3.org/1998/Math/MathML"> W i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq428.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , then https://www.w3.org/1998/Math/MathML"> F i = T i / W i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq429.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Problem in this paper is defined as follows;

[Define evaluation function https://www.w3.org/1998/Math/MathML"> E = f F 1 , F 2 , … , F N . https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq430.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Find https://www.w3.org/1998/Math/MathML"> P i j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq431.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> which minimizes E. ]

We have defined the average of https://www.w3.org/1998/Math/MathML"> F i , F ‾ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq432.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , maximum of https://www.w3.org/1998/Math/MathML"> F i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq433.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> among N paths, https://www.w3.org/1998/Math/MathML"> M A X ⁡ { F } https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq434.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and variance of https://www.w3.org/1998/Math/MathML"> F i , V A R ⁡ { F } https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq435.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> as the three basic quality measures and have defined complex measure E as follows;

https://www.w3.org/1998/Math/MathML"> E = a F ‾ + bMAX { F } + cRVAR { F } https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq436.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

where, https://www.w3.org/1998/Math/MathML"> a , b , c https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq437.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are weighting constants, and RVAR https://www.w3.org/1998/Math/MathML"> { F } https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq438.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> denotes root of VAR https://www.w3.org/1998/Math/MathML"> { F } https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq439.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Figure 2: A con-cast communication model in multimedia environment

Priority assignment method

53.1. Conservation Low

In a multimedia environment, since each media (i.e. video, data, image, ...) has its own characteristic and delay constraint, we consider one constant value for each media. We define https://www.w3.org/1998/Math/MathML"> W i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq440.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> as a constant value in media i that is a normalization factor for comparison of different media.

Theorem 1: In m multimedia environment, summation of average degradation caused by path delay multiplied by constants of each media is invariant.

https://www.w3.org/1998/Math/MathML"> ∑ i = 1 m   n i F ‾ i W i =   constant   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq441.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

where https://www.w3.org/1998/Math/MathML"> F ‾ i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq442.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is the average degradation, https://www.w3.org/1998/Math/MathML"> W i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq443.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is the constant value, and https://www.w3.org/1998/Math/MathML"> n i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq444.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is number of nodes in media i.

Proof: In a con-cast group with n source nodes and one destination node, we have n individual Virtual Paths form the set of source nodes to the destination node. We assume m different media such that media i contains https://www.w3.org/1998/Math/MathML"> n i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq445.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> source nodes where https://www.w3.org/1998/Math/MathML"> ∑ i = 1 m   n i = n https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq446.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . As is shown in Fig.2.

Based on Conservation law, for average delay in each link, we have

https://www.w3.org/1998/Math/MathML"> Link 1:   ∑ j = 1 l   S 1 λ j T 1 j = r 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq447.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> Link 2:   ∑ j = 1 l     S 2 λ j T 2 j = r 2 ⋮   Link   n : ∑ j = 1 l     S n λ j T n j = r n https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq448.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

where https://www.w3.org/1998/Math/MathML"> T i j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq449.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is the delay of path j in link https://www.w3.org/1998/Math/MathML"> i , λ j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq450.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is traffic in path https://www.w3.org/1998/Math/MathML"> j , S i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq451.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is service time, and https://www.w3.org/1998/Math/MathML"> r 1 ∼ r n https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq452.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are constant values. Note that, if a Virtual Path does not traverse through a link, the delay of that path in the link is zero.

If we calculate the total delay in each path, and assume https://www.w3.org/1998/Math/MathML"> λ j = λ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq453.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> we have,

https://www.w3.org/1998/Math/MathML"> T 1 + T 2 + … … . . + T n = n × T ‾ =   constant   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq454.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

also based on average path delay in each media we have,

https://www.w3.org/1998/Math/MathML"> n 1 T ‾ 1 + n 2 T ‾ 2 + … … . . + n m T ‾ m = n × T ‾ =   constant   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq455.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

where https://www.w3.org/1998/Math/MathML"> T j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq456.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is delay in path https://www.w3.org/1998/Math/MathML"> j , T ‾ i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq457.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is average path delay in media i, and https://www.w3.org/1998/Math/MathML"> T ‾ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq458.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is the average total path delay in m media. On the other hand, in media k with https://www.w3.org/1998/Math/MathML"> n k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq459.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> nodes and constant value of https://www.w3.org/1998/Math/MathML"> W k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq460.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , the path degradation and average path degradation are defined as follows

https://www.w3.org/1998/Math/MathML"> F j = T j / W k F ‾ k = ∑ j = 1 n k     F j / n k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq461.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

If we consider the average path degradation in m media, based on Eq.(8.6). we have

https://www.w3.org/1998/Math/MathML"> ∑ j = 1 m   ∑ i = 1 n j   W j F i / n j =   constant   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq462.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

As a result, summation of average degradation multiplied by constants of each media is invariant, thus

https://www.w3.org/1998/Math/MathML"> n 1 F ‾ 1 W 1 + n 2 F ‾ 2 W 2 + … … . . + n m F ‾ m W m =   constant   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq463.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Based on this result, in a multimedia environment, with the aid of a suitable priority discipline, we can control the performance requirement of delay in a multipointto-point communication.

53.2. The priority assignment

The optimum priorities depend on constants a,b, and c in evaluation function(Eq.(8.1)). We have obtained the optimum priority assignment, in the case that https://www.w3.org/1998/Math/MathML"> E = F ‾ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq464.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , which means https://www.w3.org/1998/Math/MathML"> b = c = 0 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq465.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and also the number of media is 2 .

Theorem 2: Assume that https://www.w3.org/1998/Math/MathML"> W i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq466.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is https://www.w3.org/1998/Math/MathML"> W h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq467.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> or https://www.w3.org/1998/Math/MathML"> W l W h < W l https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq468.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . The following priorities gives the optimum answer, in other word, minimizes E. If https://www.w3.org/1998/Math/MathML"> W i = W h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq469.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , which means media in https://www.w3.org/1998/Math/MathML"> P i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq470.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is delay sensitive media, https://www.w3.org/1998/Math/MathML"> P i j = H https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq471.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . If https://www.w3.org/1998/Math/MathML"> W i = W l https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq472.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , which means media in https://www.w3.org/1998/Math/MathML"> P i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq473.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is delay tolerant media, https://www.w3.org/1998/Math/MathML"> P i j = L https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq474.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Proof: Let the set of paths where https://www.w3.org/1998/Math/MathML"> W i = W h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq475.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> be https://www.w3.org/1998/Math/MathML"> S h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq476.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and set of paths where https://www.w3.org/1998/Math/MathML"> W i = W l https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq477.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> be https://www.w3.org/1998/Math/MathML"> S l https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq478.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Eq. https://www.w3.org/1998/Math/MathML"> ( 8.10 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq479.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> can be written as

https://www.w3.org/1998/Math/MathML"> W h ∑ P i ∈ S h     F i + W l ∑ P i ∈ S l     F i =   constant.   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq480.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Average degradation https://www.w3.org/1998/Math/MathML"> F → https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq481.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is

https://www.w3.org/1998/Math/MathML"> F ‾ = ∑ P i ∈ S h     F i + ∑ p i ∈ S l     F i / N https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq482.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Assume there is a path https://www.w3.org/1998/Math/MathML"> P i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq483.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , which belongs to https://www.w3.org/1998/Math/MathML"> S h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq484.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , where https://www.w3.org/1998/Math/MathML"> p i , k = H https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq485.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . If we change https://www.w3.org/1998/Math/MathML"> p i , k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq486.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> from H to L, it follows that

https://www.w3.org/1998/Math/MathML"> F ‾ i s ' = F ‾ i s ' + dxdx ≥ 0 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq487.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

As a result, from Eq.(8.12), other https://www.w3.org/1998/Math/MathML"> F i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq488.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> decreases. Let total decrease in https://www.w3.org/1998/Math/MathML"> F i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq489.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of https://www.w3.org/1998/Math/MathML"> P i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq490.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> which belongs to https://www.w3.org/1998/Math/MathML"> S h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq491.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> be https://www.w3.org/1998/Math/MathML"> dh ( dh ≥ 0 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq492.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and decrease in https://www.w3.org/1998/Math/MathML"> F i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq493.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of https://www.w3.org/1998/Math/MathML"> P i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq494.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , which belongs to https://www.w3.org/1998/Math/MathML"> S l https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq495.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , be https://www.w3.org/1998/Math/MathML"> dl ( dl ≥ 0 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq496.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Then,

https://www.w3.org/1998/Math/MathML"> W l dl + W h ( dx - dh ) = 0 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq497.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Let https://www.w3.org/1998/Math/MathML"> F ‾ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq498.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> after the priority change be https://www.w3.org/1998/Math/MathML"> F ‾ ' https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq499.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , it follows

https://www.w3.org/1998/Math/MathML"> F ‾ ' - F ‾ = dl W l W h - 1 / N ≥ 0 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq500.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Eq.(8.15) shows the average degradation https://www.w3.org/1998/Math/MathML"> F ‾ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq501.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> increase. On the other hand, it can be shown that https://www.w3.org/1998/Math/MathML"> F ‾ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq502.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> increases, if we change priority https://www.w3.org/1998/Math/MathML"> p i s k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq503.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of the path https://www.w3.org/1998/Math/MathML"> P i s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq504.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , which belongs to https://www.w3.org/1998/Math/MathML"> S l https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq505.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , from L to H. As a result, the optimum priorities are

https://www.w3.org/1998/Math/MathML"> P i k = L P i ∈ S l P i k = H P i ∈ S h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq506.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Figure 3: Line network model

On the other hand, it is difficult to obtain the optimum assignment method generally. We have proposed the following heuristic method. Heuristic method consists of initial priority assignment and local optimization procedure.

Initial priority assignment

step1: Let all https://www.w3.org/1998/Math/MathML"> p i j = L https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq507.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and https://www.w3.org/1998/Math/MathML"> E 0 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq508.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> be the minimum value of E. Obtain E under these priorities and https://www.w3.org/1998/Math/MathML"> E 0 = E https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq509.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

step2: Change all priorities with https://www.w3.org/1998/Math/MathML"> p i j = L https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq510.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to https://www.w3.org/1998/Math/MathML"> p i j = H https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq511.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> one by one and obtain E as https://www.w3.org/1998/Math/MathML"> E ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq512.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Let https://www.w3.org/1998/Math/MathML"> E i m j m https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq513.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is the minimum of all https://www.w3.org/1998/Math/MathML"> E ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq514.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

step3: If https://www.w3.org/1998/Math/MathML"> E i m j m < E 0 , l e t ⁡ p i m j m = H , E 0 = E i m j m https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq515.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and go back to step2, else terminate the procedure.

Local optimization procedure

Local optimization procedure applies the steepest decent method.

step1: Initial values of E and https://www.w3.org/1998/Math/MathML"> p i j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq516.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are determined by the initial priority assignment.

step2: Change all priorities, https://www.w3.org/1998/Math/MathML"> p i j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq517.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , one by one, where https://www.w3.org/1998/Math/MathML"> p i j = H https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq518.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is changed to L, and https://www.w3.org/1998/Math/MathML"> p i j = L https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq519.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is changed to H. Calculate https://www.w3.org/1998/Math/MathML"> E ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq520.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for each change of https://www.w3.org/1998/Math/MathML"> p i j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq521.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and the obtain the minimum value of https://www.w3.org/1998/Math/MathML"> E ij . E i m j m https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq522.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is the minimum and https://www.w3.org/1998/Math/MathML"> p i m j m https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq523.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is the priority which gives the minimum value.

step3: If https://www.w3.org/1998/Math/MathML"> E i m j m < E 0 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq524.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , let https://www.w3.org/1998/Math/MathML"> p i m j m https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq525.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> be the revised priority and https://www.w3.org/1998/Math/MathML"> E 0 = E i m j m https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq526.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and go back to step2, else terminate the procedure.

Performance analysis

Performance of the proposed method is analyzed concerning line network model which is shown in Figure. 3 under the following condition.

https://www.w3.org/1998/Math/MathML"> P i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq527.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> : Defines a path from https://www.w3.org/1998/Math/MathML"> s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq528.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to D

Media type: 2 and 3

Media factor W in 2 media case: https://www.w3.org/1998/Math/MathML"> P 2 , P 3 , P 5 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq529.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> have https://www.w3.org/1998/Math/MathML"> W = 0.5 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq530.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , the others have https://www.w3.org/1998/Math/MathML"> W = 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq531.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> – Media factor W in 3 media case: https://www.w3.org/1998/Math/MathML"> P 2 , P 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq532.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> have https://www.w3.org/1998/Math/MathML"> W = 0.5 , P 7 , P 10 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq533.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> have https://www.w3.org/1998/Math/MathML"> W = 0.25 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq534.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , the others have https://www.w3.org/1998/Math/MathML"> W = 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq535.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

λ: Traffic of each path

Packet size: 8000 bit

Link capacity https://www.w3.org/1998/Math/MathML"> c i : c 1 = 1 Mb / s , c 2 = 2 Mb / s , c 3 = 3 Mb / s , c 4 = 4 Mb / s , c 5 = https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq536.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> 5 M b / s , c 6 = 6 M b / s , c 7 = 7 M b / s , c 8 = 8 M b / s , c 9 = 9 M b / s , c 10 = 10 M b / s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq537.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Figure 8

shows the average https://www.w3.org/1998/Math/MathML"> F ‾ i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq538.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , Figure.5 shows the maximum https://www.w3.org/1998/Math/MathML"> F i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq539.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and Figure. 6 shows the variance of https://www.w3.org/1998/Math/MathML"> F i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq540.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in 2 media case. Figure.7 shows the average https://www.w3.org/1998/Math/MathML"> F ‾ i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq541.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , Figure.8 shows the maximum https://www.w3.org/1998/Math/MathML"> F i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq542.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in 3 media case. The performance of the network without priority assignment is also shown. These figures show that proposed priority assignment method has the effect to decrease large https://www.w3.org/1998/Math/MathML"> F i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq543.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and as a result, decrease three measures of degradation.

Conclusion

In this paper, we have proposed a priority assignment method for multimedia multipoint to point communication. We have shown a conservation low for multimedia performance degradation and proposed the priority assignment method based on the new measure. It is shown that the proposed priority assignment has the effect to decrease the large quality degradation at the expense of increase in the small quality degradation. Here, we have assumed, delay is caused by the queuing in the network. Thus, the priority assignment discussed in this paper could apply to cell relay, frame relay and IP network. Further modification is necessary to apply to delay control in TCP/IP.

Bibliography

J. De Treville and D. Sincoskie, “A distributed experimental communications system”, IEEE J. Select. Areas Commun., Vol. SAC-1, No.6, pp.1070-1075(1993)

C. Weinstein and J. Forgie, “Experience with speech communication in packet networks”, IEEE J. Select. Areas Commun., Vol.1, No.6, pp.963-980(1993)

M. R. Ahmadi, K. Yamaoka, and Y. Sakai, “Network design and routing algorithm in convergence-cast communication”, IEICE Transactions on communications, E79-B, No.2, pp.116-121(1996)

M. Garey and D. Johnson, “Computers and intractability”, A guide to the theory of NP-Completeness. New York: W.H. Freeman and Co.(1979)

L. Kleinrock, “Queueing systems”, John Wiley and sons. vo1. 1 and 2(1975)

Figure 4: Average degradation (2 media)

Figure 5: Maximum degradation (2 media)

Figure 6: Variance of degradation (2 media)

Figure 7: Average degradation (3 media)

Figure 8: Maximum degradation (3 media)

Dynamic Rate Control Methods for Compressed Media Transmission

In this paper, we introduce dynamic rate control method which consists of both a packet rate control method to reduce the packet loss, and a frame rate control method to maintain the frame rate constant. By combining these two different dynamic rate control methods, the user’s QoS for video service can be dynamically controlled even if packets are lost or delayed as a result of increases of CPU loads at the client and video server, or network traffic. We implemented a prototyped packet audio/video system(PAVS) to evaluate performance of the suggested control methods when client CPU load and network traffic dynamically changed. Through the performance evaluation, the usefulness of our suggested control methods has been demonstrated.

Introduction

In order to provide continuous media services, such as video-on-demand over high speed networks, a suitable quality of service(QoS) requested by the user has to be guaranteed by taking into account of not only the characteristics of the media data being provided but also the bandwidth available, the network traffic load, and both the processing capabilities and load deviations of the client stations as well as the video servers. Therefore, the transmission system has to include mechanisms that guarantee end-to-end QoS from the application layer through the network layer. On the other hand, video compression techniques such as MPEG https://www.w3.org/1998/Math/MathML">   1 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq544.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are desired to reduce the amount of video data that needs to be stored and transmitted. However, since the amount of data of each video frame varies in time depending on the motion of the video content when the video compression methods are used, variable bit rate transmission is required to maintain the video frame rate constant.

In this paper, we introduce both a packet rate control method that reduces packet loss by adjusting the sending packets interval and a frame rate control method that maintains frame rate constant and keeps the time constraint needed for continuous media data, when MPEG compressed video data is transmitted using variable bit rate transmission. On both of the rate control methods adjust the packet interval and frame rate at the video server depending to the feedback messages sent by the client station. To evaluate the performance of these rate control functions, we implemented a prototyped packet audio/video system(PAVS) and compared temporal variation of the packet loss rate and frame rate with and without these suggested control methods when the client CPU load and network traffic load were dynamically changed. As a result, we found that these control functions could reduce the packet loss to acceptable levels and maintain the video frame rate constant while preserving the time constraint needed for continuous media data.

The rest of this paper is organized as follows. In section 2, we discuss the related works about the rate control based on feedback message for video transmission. In section 3, we introduce a PAVS architecture including dynamic rate control functions. In section 4, dynamic rate control methods which contain packet rate control and frame rate control are precisely described. In section 5, the prototype system for PAVS and the performance evaluation of dynamic rate control methods are discussed.

Related Works

So far there are several approaches https://www.w3.org/1998/Math/MathML">   2 ) 3 ) 4 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq545.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for the rate control based on feedback information concerned with network traffic loads. These approaches estimate the state of the computing and network resources by monitoring the actual network loads, such as packet loss rate and throughput which are detected on the distributed networks. Sender station adjusts the packet transmission rate to adapt the conditions of the network and computer depending to the feedback information.

In the paper 2), they suggested a rate control method which keeps the desired frame rate by adjusting the horizontal resolution of the video at the sender site depending of the network traffic condition. In order to adjust the horizontal resolution dynamically, however, they suggested a specific video coding method based on quadtree compression, which is not common to today’s video format standard. On the other hand, the paper https://www.w3.org/1998/Math/MathML">   3 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq546.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , which uses https://www.w3.org/1998/Math/MathML"> H . 261 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq547.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> video format and the paper https://www.w3.org/1998/Math/MathML">   4 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq548.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , which uses MPEG video format, adjust Q-factor to control sending data rate. In particular, the paper 4) applies the priority scheme for each frame of MPEG.

In this paper, we use MPEG compression technique for video transmission, and assume the dynamic unpredictable extra load on the client station. We introduce both frame rate control and packet rate control to realize fine-grained adaptive rate control. By combining these two rate control methods, the transmitted data rate can be adapted to the load condition quickly and smoothly.

System Architecture

To realize continuous media service such as video-on-demand service, we introduce packet audio/video system(PAVS) which is based on client/server model architecture including three layers; synchronization layer, data transform layer and media flow control layer between the application and transport layers in the OSI reference model as showing in Figure https://www.w3.org/1998/Math/MathML"> 1 6 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq549.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Figure 1: System Architecture

This system architecture contains the functions required to provide continuous media data to users and guarantee QoS from application through the network layer. Here we define these three layer as media coordinate system(MCS). The media coordinate system is further vertically divided into four planes; the user plane, the control plane, the QoS maintenance plane and the stream management plane. Our model is based on QoS architecture over https://www.w3.org/1998/Math/MathML"> A T M 5 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq550.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ) which guarantees the network QoS under the media flow control layer. In the user plane, synchronization function between different media such as audio and video, data transform function between different media attributes and the media flow control function for both constant bit rate and variable bit rate transmission are realized. In the control plane, the connections between the client and the server are established and released and QoS of the media stream is negotiated and maintained. In the QoS maintenance plane, each entity is responsible for the fine-grained monitoring and maintenance of their associated protocol entities. In the stream management plane, the most suitable QoS parameter values on each protocol layer are determined depending on the user’s QoS require-

Figure 2: Functional Module Configuration and Flow of Rate Control

ments, the characteristics of the source media data, the attributes of the output device, and the available computing and network resources. We can regard frame rate, synchronization interval, packet interval, and packet loss rate as QoS decision factors.

shows the functional modules configuration of the PAVS necessary to realize the protocol functions of each layer. In the packet rate management module, the number of packets transmitted from server and received on client are managed. In the frame rate management module, the actual frame read from video server and displayed on client are managed. In the stream management control module, CPU loads on client and server, and network traffic load are periodically monitored and feedback messages between client and server are managed. The dynamic rate control functions are explained in detail in section 5 .

Dynamic Rate Control Methods

Too much CPU loads of the client and server stations, and network traffic load cause packet loss, delay and jitter by packet buffer overflow and underflow at the client and server, and eventually the transmitted video frame rate is seriously influenced. In order to solve these problems, we introduce two dynamic rate control methods including packet rate control and frame rate control to adapt to these extra load conditions.

In the packet rate control, the inter-packet interval is controlled at the server

station to reduce the packet loss rate under the admissible loss rate depending to feedback messages with the actual packet loss rate from the client station. In the frame rate control, the transmitted video frame rate is controlled on the server station to maintain the displayed video frame rate constant and to keep the time constraint needed for continuous media data, again depending to feedback message with actual value of frame rate from client station. The frame rate control is performed on the synchronization layer while the packet rate control is performed on the media flow control layer. By combining these two rate control methods together, audio/video quality can be adapted quickly and smoothly to the resource environment under the various extra load condition.

0.1. Packet Rate Control

In order to reduce packet loss rate under the admissible packet loss rate, packet interval PI is updated depending on the extra load conditions. When the packet loss rate, https://www.w3.org/1998/Math/MathML"> P L act   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq551.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for a measurement interval, T is greater than the admissible packet loss rate, https://www.w3.org/1998/Math/MathML"> P L adm https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq552.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> then the packet interval, PI is immediately increased according to the characteristic curve which shows the relation between packet loss rate to packet interval as shown in Figure 3 .

Figure 3: Characteristic Curve of Packet Loss Rate for Packet Interval

A priori to video service, this characteristic curve is measured in advance. The next packet interval https://www.w3.org/1998/Math/MathML"> PI ( i + 1 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq553.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is decided based on the characteristic curve as follows : At first, the characteristic curve is shifted to the point which crosses the point at ( https://www.w3.org/1998/Math/MathML"> PI ( i ) , P L act https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq554.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Here, https://www.w3.org/1998/Math/MathML"> PI ( i ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq555.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is the set packet interval when https://www.w3.org/1998/Math/MathML"> P L act https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq556.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> was detected. The new packet interval https://www.w3.org/1998/Math/MathML"> PI ( i + 1 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq557.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is determined by overlapping to the point which could limit under the https://www.w3.org/1998/Math/MathML"> P L adm https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq558.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in the shifted characteristic curve.

When the extra load is reduced, the packet interval is reduced to the interval which is gradually adjusted as long as https://www.w3.org/1998/Math/MathML"> P L act   < P L adm   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq559.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is satisfied.

0.2. Frame Rate Control

To normally display the video frames, the source frame rate by which the video source was initially stored at the video server must be maintained during video session and displayed on the client station. When the source frame rate cannot be attained at the client, however, subsampling of frames must be carried out to reduce the source frame rate before the frames are sent from the video server.

The frame rate management module at the client periodically monitors the actual frame rate https://www.w3.org/1998/Math/MathML"> F R act   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq560.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> displayed and compares it with the set frame rate https://www.w3.org/1998/Math/MathML"> F R set.   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq561.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . If the https://www.w3.org/1998/Math/MathML"> F R act   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq562.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is smaller than https://www.w3.org/1998/Math/MathML"> F R set   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq563.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for the interval https://www.w3.org/1998/Math/MathML"> T [ sec ] https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq564.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , then the counter value for rate difference status, https://www.w3.org/1998/Math/MathML"> Mis s Cnt https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq565.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , is incremented. When https://www.w3.org/1998/Math/MathML"> Mis s Cnt https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq566.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> exceeds a threshold, Miss https://www.w3.org/1998/Math/MathML">   Max   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq567.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , then the client station sends a rate control message telling by informing the frame rate management module at the server to reduce the current frame rate by https://www.w3.org/1998/Math/MathML"> ΔFR https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq568.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . The frame rate management module at the video server then dynamically updates the current frame rate by subsampling the source frame rate https://www.w3.org/1998/Math/MathML"> F R src   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq569.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . The frame rate management module at the client station also updates the set frame rate https://www.w3.org/1998/Math/MathML"> F R set   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq570.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to a new value, which has be sent to it by the frame rate management module at the server. Thus, the actual frame rate is maintained by periodically adjusting the set frame rate.

The priority of each video frame must be considered when MPEG compressed video is used. This is because MPEG video is consisted from I, P, B-pictures for the inter-frame prediction and has mutual relation to each video frame. It is obvious the priorities of I and P-pictures are higher than the B-pictures, because these pictures are required to predict the B-pictures. Therefore, when subsampling of the frames is required, some of B-pictures are subsampled first, then P-picture and finally I-picture depending on the condition of the CPU and the network loads.

For example, let consider the case where one GoP is consisted of N pictures and x frames are required to be subsampled. The B-pictures to be subsampled are determined by the following sequence numbers:

https://www.w3.org/1998/Math/MathML"> 1 , N x + 1 , N × 2 x + 1 , … , N × ( x - 1 ) x + 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq571.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

For example, when https://www.w3.org/1998/Math/MathML"> N = 8 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq572.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> x = 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq573.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , the equivalent sequence numbers are,

https://www.w3.org/1998/Math/MathML"> 1 , 8 3 + 1 = 3 , 8 × 2 3 + 1 = 6 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq574.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Thus, the first, third, and sixth of B-pictures in a GoP could be subsampled while avoiding the I and P-pictures.

On the other hand, when extra load is reduced, the system determines whether the set frame rate can be increased or not by monitoring the computing CPU load conditions and the number of packets transmitted over the network. When the system confirms the extra load decrease, then the frame rate is updated to the original source frame rate gradually.

Prototype and System Evaluation

In order to evaluate the usefulness of our suggested dynamic rate control methods, we implemented prototyped packet audio/video system (PAVS) based on the combination of https://www.w3.org/1998/Math/MathML"> 100 M b p s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq575.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ] FDDI and https://www.w3.org/1998/Math/MathML"> 10 [ M b p s ] https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq576.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Ethernet as shown in Figure 4 .

Figure 4: Prototype

In this prototype system, the processes for each layer including synchronization, data transform and media flow control layers for both audio and video are individually assigned. In Figure 2, the frame rate management module, the packet rate management module and the stream management control module of the client and server are implemented by one process as a QoS maintenance process. The system monitoring process which monitors the extra load conditions on the client, server and network is also realized by one process. Thus, the prototype system is consisted of 8 processes on client and server individually. In this experiment, we evaluated performance of rate control for only a video traffic. For the convenience, the audio processes are not executed in this evaluation. The inter-process communication(IPC) was used to exchange the control messages between these processes, and the shared memory scheme was also used to deliver the video data between these processes. TCP/IP protocol was used for message transmission between client and server. On the other hand, for video data transmission, UDP/IP protocol was used. As extra load on the client station, the number of the processes of MPEG-1 software decoder (mpeg-play) was executed on the client station during video data is transmitted. As network traffic load, continuous remote file transfer load which generates approximately https://www.w3.org/1998/Math/MathML"> 7.5 [ M b p s ] https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq577.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> traffic between the other workstations was intentionally executed during video data was transmitted. As a video source, we used a video source from the movie “Back to the Future” which was compressed by MPEG-1 format. The characteristics of the source video and the system parameters in PAVS are listed in Table 1 and 2 .

We evaluated the following items :

The characteristic of packet interval and packet loss rate.

The packet rate control method.

The frame rate control method. Table 1: System Parameters in PAVS

https://www.w3.org/1998/Math/MathML"> 4 K https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq578.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> 1 K https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq579.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Table 2: Transmitted Video Parameter

https://www.w3.org/1998/Math/MathML"> N = 15 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq580.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> M = 5 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq581.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Figure 5: Relationship of Packet Interval and Packet Loss Rate

1.1. Packet Interval and Packet Loss Rate

To find out how the packet interval should be adjusted when the actual packet loss rate exceeds the admissible packet loss rate, the relation between inter-packet interval and packet loss rate was observed. The packet loss rate at various packet intervals was measured under two different CPU load conditions, namely no load and one load conditions when packets of a fixed length were sent from the video server to one of the client stations as shown in Figure 5 .

The packet loss rate initially decreased gradually as the packet interval increased, but when the interval becomes more than https://www.w3.org/1998/Math/MathML"> 6.5 [ m s e c ] https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq582.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , the time constraint of the source video frame rate, https://www.w3.org/1998/Math/MathML"> 30 [ f p s ] https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq583.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , could not be maintained. We define this time interval as the “deadline” packet interval. This is also the maximum packet interval which can guarantee time constraint needed for this video source. When the packet interval is greater than the deadline, the original frame rate cannot be maintained. Therefore, the source video must be subsampled and the packet interval must be controlled to maintain under admissible packet loss rate while keeping the frame rate as high as possible. Thus, this characteristic curve for packet loss rate, PL is approximately expressed as a function of packet interval, PI by the following characteristic equation:

https://www.w3.org/1998/Math/MathML"> PL = - 0.37 × PI + 18.03 ( PI <   deadline   ) - 3.55 × PI + 38.86 ( PI > =   deadline   ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq584.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

1.2. Performance Evaluation of Dynamic Rate Control Methods

Evaluation of Packet Rate Control

Evaluation of Frame Rate Control for Client Extra Load for Client Extra Load

Figure 6: Evaluation of Packet and Frame Rate Control for Client Extra Load

Figures 6 a) shows the packet loss rate with and without packet rate control the extra CPU load on the client station were assigned. When the packet rate control was not introduced, the packet loss rate increased from https://www.w3.org/1998/Math/MathML"> 0 [ % ] https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq585.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to about https://www.w3.org/1998/Math/MathML"> 13 [ % ] https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq586.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> while the packet interval was constant at https://www.w3.org/1998/Math/MathML"> 1 [ m s e c ] https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq587.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . When the packet control function was introduced, on the other hand, the packet interval increased immediately to reduce the increased packet loss rate triggered when the extra load on the client station was given. The packet loss rate could be maintained quickly to the zero. However, the packet loss rate could not be completely regulated because the only feedback message with the current value of the packet interval from client station was used. It is required to improve the packet rate control under the admissible packet loss rate by combining this feedback message and change value of the CPU load conditions at the client.

Figures https://www.w3.org/1998/Math/MathML"> 6   b https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq588.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ) shows the result of frame rate control when the client extra CPU load was given during video data transmission. In the case where the frame rate control function was not introduced, the actual frame rate was randomly influenced and decreased when CPU load on the client station was giving while the set frame rate was constant at https://www.w3.org/1998/Math/MathML"> 30 [ fps ] https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq589.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . On the other hand, in the case where the frame rate control was introduced, the set frame rate on the video server was immediately updated according to the feedback message from the client station. After that the actual frame rate could be maintained at constant https://www.w3.org/1998/Math/MathML"> 15 [ fps ] https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq590.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . After the CPU load was released, the frame rate increased gradually and again approached to the original https://www.w3.org/1998/Math/MathML"> 30 [ f p s ] https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq591.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> frame rate.

Thus, through those performance evaluations, we could verify the usefulness of the suggested rate control functions.

Conclusions

Through this paper, we introduced packet rate control and frame rate methods that can be used to provide dynamic rate control when the client and network are subjected to extra loads. We implemented these rate control methods and evaluated their performance. As the result, the performance of the prototyped PAVS has demonstrated the usefulness of the suggested control methods under conditions in which the client CPU and network traffic loads change dynamically. In the near future, we will also evaluate of these rate controls when audio/video synchronization functions mechanism is implemented.

Bibliography

D. L. Gall, “MPEG: A Video Compression Standard for Multimedia Applications,” Communications of the ACM, Vol.34, No.4, pp.46-58, Apr. 1991 .

S. Chakrabarti and R. Wang, “Adaptive Control for Packet Video,” Proc. of IEEE International Conference on Multimedia Computing and Systems, pp. 56-62, 1994

J. Bolot and T. Turletti, “A rate control mechanism for packet video in the Internet,” Proc. IEEE INFOCOMM’94, pp. 1216-1223, 1994.

H. Kanakia, P. Mishra and A. Reibman, “An Adaptive Congestion Control Scheme for Real-Time Packet Video Transport,” Proc. of ACM SIGCOMM’93, pp. 20-31, 1993.

A. Campbell, G. Coulson and D. Hutchison, “A QUALITY OF SERVICE ARCHITECTURE,” ACM SIGCOM Computer Communication Review, Vol. 24, No. 2, pp.1-27, 1994.

K. Hashimoto and Y. Shibata. “Performance Evaluation of End-to-End QoS Using Prototyped VOD System,” Proc. of International Conference on Information Networking(ICOIN-12), pp.175-178, January 1998 .

Analysis of a Kind of 2 Parallel Queueings with Precedence for Multimedia Network Communication

In multimedia network communication we should guarantee that the control information can be transmitted in time and as accurately as possible. First, we propose a parallel queueing model with precedence, which makes sure that the high priority packets are dealt with within constant time no matter how the traffic load is. On the other hand, it ensures that the lost probability of the high priority packets is also very low. Next, we use MMM(mathemetic model method)to analyse the system and use SOR(successive over-relaxation method)to compute the state probability of the system. Then we compare the precedence queueing scheme and the conventional queueing scheme where all packets are serviced at the same priority level.Then a conclusion is drawn that the former one takes obvious advantage than the latter one in the fields of queue length distribution, average blocking probability, and average waiting time. We also give out how to realize this proposal in the real application and that is by looking up a table constructed before. Finally we provide simulation results to help verify the validity of analysis. It is shown that we can get very good performance of high priority packets while the performance of low priotity packets will not be very bad.

Introduction

Recently with personal computers widespreading into more and more families and the development of network techniques, multimedia network communication has been popular and widely used. More and more people communicate with each other through computer network while the resources are limited. Multimedia data, such as audio, video, image, although it is time-critical service its delay with mini-seconds is still tolerable https://www.w3.org/1998/Math/MathML">   1 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq592.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Ref 3 ) introduced a deadline model to make sure that a packet which is close to a failing state is assigned a higher priority so as to improve its chances of meeting the deadline. This proposed dynamic priority assignment technique results in substantial reductions in the probability of dynamic failure without

Figure 1: System model

greatly affecting the overall probability of miss. But control information, which probability is very small, generally will not appear deadline within several consecutive packets and should not be discarded, so the proposal above is unfit for this condition. In Ref 1 ) the arrival packets are divided into 2 kinds. They are wide band and narrow band. The WB packet is given higher priority of channel than the NB packet. In Ref 2) they proposed a protocol named NPP(Network Protocol with Performance), which provides best-effort soft time-critical-communication services. It uses the packet scheduling scheme to choose a packet among packets waiting for processing in an NPP queue, according to a precedent level and a time constraint of each packet. As to control information, for example, playback indication, forward indication, audio muting, video freezing, and other kinds of signaling, the failure of it can have catastrophic consequences, therefore it must be transmitted in time and as accurately as possible. So it is reasonable that we process the control data with privileges. Here we deliver the control information a big processing probability and this means it is given higher priority of channel access than other types of data. The control information here mentioned is bursty and its probability is small. Differently from other proposals, we give the high priority packets(control data packets)a priorty, but it is just a probability very large, not equal to 1 . This means that the priority of the high priority packets is fuzzy, not accurate. This maybe very useful in factual services.

Investigating traffic queueing models is very useful to know how to alter the system foundamental parameters to keep the system performance.

Model

The model we consider is as follows. We assume, in the source point every packet arrival process is assumed to have Poisson distributions with rate λ, and the respective service time has exponential distribution with rate https://www.w3.org/1998/Math/MathML"> 1 / T https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq593.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Obviously the average service time of every packet is T. To ensure the stability of the system, we also assure that https://www.w3.org/1998/Math/MathML"> λ < 1 / T https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq594.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Since the arrival packets have different characteristics, such as different processing time limit, different error-corrected request and so on, all these characteriscs should be met so as to ensure the communication quality and efficiency. We divide all packets into several precedent degrees. This model is shown in Figure 1. Figure 1 shows that there are total https://www.w3.org/1998/Math/MathML"> m https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq595.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> precedent degrees and their probability is https://www.w3.org/1998/Math/MathML"> p 1 , p 2 , p 3 , … , pm https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq596.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . We know that https://www.w3.org/1998/Math/MathML"> p 1 + p 2 + p 3 + … + pm = 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq597.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> holds. Then the relevant queueing buffer length is https://www.w3.org/1998/Math/MathML"> M 1 , M 2 , M 3 , … , Mm https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq598.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . We deal with these kinds of packets at different probability https://www.w3.org/1998/Math/MathML"> q 1 , q 2 , q 3 , … , qm https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq599.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and of course https://www.w3.org/1998/Math/MathML"> q 1 + q 2 + q 3 + … + qm = 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq600.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> holds. Here we suppose that https://www.w3.org/1998/Math/MathML"> p 1 < p 2 < p 3 < … < pm https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq601.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Certainly we get the following relationships: https://www.w3.org/1998/Math/MathML"> M 1 < M 2 < M 3 < … < Mm https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq602.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> q 1 > q 2 > q 3 > … > qm https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq603.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . In figure 1 S1 means the source point,while S2,S3,...,Sn means the intermediate hops. So there is a traffic routing problem for every packet. Here we simplify the intermediate points to the source point. That is to say, the intermediate points provide the arrival packets with similar processing to the source point.

Analysis

In this paper for the simplification of analysis we suppose the system just has one service window. In this case, we define the high priority packets control information and the other multimedia data. In factual application, the control information is about how to control and deal with the multimedia data in the end point, such as playback indication, forward indication, audio muting, video freezing and other kinds of signaling.

When m equals 2 Fig.1 means the system we utilize. We know that a packet arrives at the rate λ. The probability of high priority packet is https://www.w3.org/1998/Math/MathML"> p 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq604.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> p 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq605.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> means the possibility of the other multimedia data. M1 is the queueing buffer length for high priority packets and M2 is that of the low priority packets. Obviously the five equations following hold:

https://www.w3.org/1998/Math/MathML"> p 1 + p 2 = 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq606.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ;

https://www.w3.org/1998/Math/MathML"> p 1 < p 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq607.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ;

M1 < M2 ;

https://www.w3.org/1998/Math/MathML"> q 1 + q 2 = 1 ; https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq608.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> q 1 > q 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq609.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Now we use a two-dimension vector https://www.w3.org/1998/Math/MathML"> ( i , j ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq610.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to denote the system state. Here i means the sum of the high priority packets queueing number and the number of the packets being served in the whole system. https://www.w3.org/1998/Math/MathML"> j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq611.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is the low priority packets queueing number. Then Figure 2 shows the state transition diagram.

According to Figure 2, we have the following equation which holds while the system is in the balance state:

https://www.w3.org/1998/Math/MathML"> P i , j × ( 1 / T + λ ) = P i , j - 1 × λ × p 2 + P i - 1 , j × λ × p 1 + P i , j + 1 × q 2 / T + P i + 1 , j × q 1 1 / T . https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq612.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Here https://www.w3.org/1998/Math/MathML"> P i , j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq613.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is an element of the state transition probability matrix https://www.w3.org/1998/Math/MathML"> P https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq614.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , while https://www.w3.org/1998/Math/MathML"> P https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq615.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> has

Figure 2: State transition diagram

the following format:

https://www.w3.org/1998/Math/MathML"> P = P 0,0 P 0,1 … P 0 , N P 1,0 P 1,1 … P 1 , N … … … … P M + 1,0 P M + 1,1 … P M + 1 , N https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq616.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Taking the boundary limatations into consideration, we have the following equations:

https://www.w3.org/1998/Math/MathML">   P i , j = P 1,0 / λ / T i = 0 , j = 0 0 i = 0 , N + 1 > j > 0 P 0,0 λT + P 2,0 + P 1,1 q 2 / ( 1 + λT ) i = 1 , j = 0 P i - 1,0 λ p 1 T + P i , 1 q 2 + P i + 1,0 / ( 1 + λT ) M + 1 > i > 1 , j = 0 P M , 0 λ p 1 T + P M + 1,1 q 2 / 1 + λ p 2 T i = M + 1 , j = 0 P M + 1 , j - 1 λ p 2 T + P M + 1 , j + 1 ⋅ q 2 + P M , j λ p 1 T / 1 + λ p 2 T i = M + 1,0 < j < N P M + 1 , N - 1 λ p 2 T + P M , N λ p 1 T i = M + 1 , j = N P i - 1 , N λ p 1 T + P i + 1 , N q 1 + P i , N - 1 λ p 2 T / 1 + λ p 1 T 1 < i < M + 1 , j = N P 2 , N q 1 + P 1 , N - 1 λ p 2 T / 1 - q 1 + λ p 1 T i = 1 , j = N P 1 , j - 1 λ p 2 T + P 1 , j + 1 q 2 + P 2 , j q 1 / q 2 + λT i = 1,0 < j < N P i - 1 , j λ p 1 T + P i + 1 , j q 1 + λ p 2 . P i , j - 1 T + P i , j + 1 q 2 / ( 1 + λT ) 1 < i ≤ M , 0 < j < N https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq617.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

There are total https://www.w3.org/1998/Math/MathML"> ( M + 2 ) × ( N + 1 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq618.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> equations, of which there are https://www.w3.org/1998/Math/MathML"> ( M + 2 ) × ( N + 1 ) - 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq619.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> equations irrelevant. So we select https://www.w3.org/1998/Math/MathML"> ( M + 2 ) × ( N + 1 ) - 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq620.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> equations together with the equation https://www.w3.org/1998/Math/MathML"> ∑ i , j   P i , j = 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq621.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . By SOR(successive over-relaxation method), we can get the total state probability https://www.w3.org/1998/Math/MathML"> P i , j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq622.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . The SOR method is shown below:

We define a set of equations: https://www.w3.org/1998/Math/MathML">  A ⋅ x = b https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq623.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Here,

https://www.w3.org/1998/Math/MathML"> A   = a i , j , 0 ≤ i ≤ n , 0 ≤ j ≤ n x   = x i , 0 ≤ i ≤ n . b   = b i , 0 ≤ i ≤ n . https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq624.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Then we can get:

https://www.w3.org/1998/Math/MathML"> x i - k + 1 = b i - ∑ j = 1 i - 1     a i , j x j k + 1 - ∑ j = i + 1 n     a i , j x j k x i k + 1 = x i k + ω x i - k + 1 - x i k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq625.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

In SOR ω is the successive factor. The bigger ω, the quicker the computation converges. When https://www.w3.org/1998/Math/MathML"> k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq626.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is near infinition, we get state probabilities of the system.

Since we have known the state probability, it is easy to get the average queueing length, the average waiting time, and the average packet loss probability. Of course, they are different according to the two kinds of packets.

Now we define https://www.w3.org/1998/Math/MathML"> L A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq627.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> as the average queueing length for high priority packets. We have

https://www.w3.org/1998/Math/MathML"> L A = ∑ i > 0 , j   ( i - L ) P i , j . https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq628.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Similarly, https://www.w3.org/1998/Math/MathML"> L D https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq629.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is defined as the average queueing length for low priority packets. We have

https://www.w3.org/1998/Math/MathML"> L D = ∑ i , j   j P i , j . https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq630.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

On the other hand, we let https://www.w3.org/1998/Math/MathML"> T A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq631.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> denote the average queueing waiting time of a high priority packet. We have

https://www.w3.org/1998/Math/MathML"> T A = L A / λ p 1 ( 1 - pbA ) . https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq632.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Here we mainly consider the average time of services which is the queueing time, rather than the sum of the average queueing time and the average service time. That is to say, we suppose that the average service time for every kinds of packets is equal or the average service time can be omitted to the average queueing time. pbA is the block probability of a high priority packet.

Similarly,we let https://www.w3.org/1998/Math/MathML"> T D https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq633.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> denote the average queueing waiting time of a low priority packet. We have

https://www.w3.org/1998/Math/MathML"> T D = L D / λ p 2 ( 1 - pbD ) .   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq634.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Here pbD means the block probability of a low priority packet.

When pla is defined as the lost probability of a high priority packet, we have

https://www.w3.org/1998/Math/MathML"> pla   = 1 - e - L A /   ThresholdA   .   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq635.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Here ThresholdA means the wiating time limit of a high priority packet. Similarly when pld is defined as the lost probability of a low priority packet, we have

https://www.w3.org/1998/Math/MathML"> pld   = 1 - e - L D /   Threshold   D .   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq636.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Here ThresholdD means the waiting time limit of a low priority packet.

Figure 3: Average queueing length of high priority packets while https://www.w3.org/1998/Math/MathML"> p 1 = 10 - 5 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq637.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Numerical Calculation and Computer Simulation

In this section we show our numerical results employed in the previous analysis.

7.1. System Parameters

Here we define some basic parameters the numerical calculations to be given. We let the buffer length 50 for either of the two kinds of packets. We suppose that the service time of a packet is 7 seconds. That is to say, https://www.w3.org/1998/Math/MathML"> T = 7 s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq638.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Other parameters will be given when they are concerned.

7.2. The Average Queueing Length

Fig.3 shows the comparison of the average queueing length of the high priority packets under precedent condition https://www.w3.org/1998/Math/MathML"> ( q 1 = 0.999 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq639.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and non-precedent condition https://www.w3.org/1998/Math/MathML"> q 1 = 10 - 5 . https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq640.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Here we define https://www.w3.org/1998/Math/MathML"> p 1 = 10 - 5 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq641.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Fig.4 shows the comparison of the average queueing length of the low priority packets under precedent condition( https://www.w3.org/1998/Math/MathML"> q 1 = 0.999 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq642.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ) and non-precedent condition ( https://www.w3.org/1998/Math/MathML"> q 1 = https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq643.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> 10 - 5 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq644.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Here we define https://www.w3.org/1998/Math/MathML"> p 1 = 10 - 5 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq645.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Fig.5 shows the comparison of the average queueing length of the high priority packets under precedent condition( https://www.w3.org/1998/Math/MathML"> q 1 = 0.999 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq646.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and non-precedent condition https://www.w3.org/1998/Math/MathML"> ( q 1 = 0.5 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq647.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Here we define https://www.w3.org/1998/Math/MathML"> p 1 = 0.5 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq648.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Figure 4: Average queueing length of low priority packets while https://www.w3.org/1998/Math/MathML"> p 1 = 10 - 5 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq649.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Fig.6 shows the comparison of the average queueing length of the low priority packets under precedent condition( https://www.w3.org/1998/Math/MathML"> q 1 = 0.999 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq650.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and non-precedent condition ( https://www.w3.org/1998/Math/MathML"> q 1 = 0.5 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq651.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ). Here we define https://www.w3.org/1998/Math/MathML"> p 1 = 0.5 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq652.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

7.3. The Average Waiting Time

Fig.7 shows the comparison of the average waiting time of the high priority packets under precedent condition( https://www.w3.org/1998/Math/MathML"> q 1 = 0.999 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq653.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ) and non-precedent condition https://www.w3.org/1998/Math/MathML"> q 1 = 10 - 5 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq654.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Here we define https://www.w3.org/1998/Math/MathML"> p 1 = 10 - 5 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq655.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Fig 8 shows the comparison of the average waiting time of the low priority packets under precedent condition https://www.w3.org/1998/Math/MathML"> ( q 1 = 0.999 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq656.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and non-precedent condition https://www.w3.org/1998/Math/MathML"> q 1 = 10 - 5 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq657.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Here we define https://www.w3.org/1998/Math/MathML"> p 1 = 10 - 5 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq658.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Fig.9 shows the comparison of the average waiting time of the high priority packets under precedent condition(q1=0.999) and non-precedent condition( https://www.w3.org/1998/Math/MathML"> q 1 = 0.5 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq659.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ) . Here we define https://www.w3.org/1998/Math/MathML"> p 1 = 0.5 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq660.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Fig.10 shows the comparison of the average waiting time of the low priority packets under precedent condition( https://www.w3.org/1998/Math/MathML"> q 1 = 0.999 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq661.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ) and non-precedent condition ( https://www.w3.org/1998/Math/MathML"> q 1 = 0.5 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq662.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ). Here we define https://www.w3.org/1998/Math/MathML"> p 1 = 0.5 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq663.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

7.4. The packet lost probability

Figure 5: Average queueing length of the high priority packets while https://www.w3.org/1998/Math/MathML"> p 1 = 0.5 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq664.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Fig.11 shows the comparison of the average loss probability of the high priority packets under precedent condition https://www.w3.org/1998/Math/MathML"> ( q 1 = 0.999 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq665.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and non-precedent condition https://www.w3.org/1998/Math/MathML"> ( q 1 = https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq666.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> 10 - 5 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq667.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ). Here we define https://www.w3.org/1998/Math/MathML"> p 1 = 10 - 5 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq668.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Fig.12 shows the comparison of the average loss probability of the low priority packets under precedent condition( https://www.w3.org/1998/Math/MathML"> q 1 = 0.999 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq669.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ) and non-precedent condition ( https://www.w3.org/1998/Math/MathML"> q 1 = https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq670.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> 10 - 5 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq671.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .) Here we define https://www.w3.org/1998/Math/MathML"> p 1 = 10 - 5 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq672.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Fig.13 shows the comparison of the average loss probability of the high priority packets under precedent condition( https://www.w3.org/1998/Math/MathML"> q 1 = 0.999 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq673.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and non-precedent condition https://www.w3.org/1998/Math/MathML"> ( q 1 = 0.5 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq674.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Here we define https://www.w3.org/1998/Math/MathML"> p 1 = 0.5 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq675.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Fig.14 shows the comparison of the average loss probability of the low priority packets under precedent condition( https://www.w3.org/1998/Math/MathML"> q 1 = 0.999 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq676.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ) and non-precedent condition ( https://www.w3.org/1998/Math/MathML"> q 1 = 0.5 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq677.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ). Here we define https://www.w3.org/1998/Math/MathML"> p 1 = 0.5 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq678.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

7.5. Constant queueing lenth with priority

Fig.15 shows when λ is constant we adjust q according to the change of p to preserve the average queueing length of control information constant.

Figure 6: Average queueing length of the low priority packets while https://www.w3.org/1998/Math/MathML"> p 1 = 0.5 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq679.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Fig.16 shows when p is constant we adjust q according to the change of λ to preserve the average queueing length of control information constant. https://www.w3.org/1998/Math/MathML"> p https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq680.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> q https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq681.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Figure 15: https://www.w3.org/1998/Math/MathML"> q - p https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq682.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> while λ is constant 0.02

https://www.w3.org/1998/Math/MathML"> p https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq683.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> &   K https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq684.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> q https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq685.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Figure 16:q- λ while p is constant

Conclusion

From Figure 3 and 4 , we got when the probability of control information packets is very small, their average queueing length under precedent conditon is more less than that under non-precedent condition, while the average queueing length of low priority packets just increase very very little. Similarly, from Figure 7 and 8, from

Figure 7: Average waiting time of the high priority packets while https://www.w3.org/1998/Math/MathML"> p 1 = 10 - 5 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq686.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Figure 8: Average waiting time of the low priority packets while https://www.w3.org/1998/Math/MathML"> p 1 = 10 - 5 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq687.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Figure 11 and 12, we see when the probability of control information packets is very small, their average waiting time and packet loss probability under precedent conditon are much less than those under non-precedent condition, while the average waiting time and packet loss probability of low priority packets just increases very very little. ¿From Figure 5 and 6 , we get to know when the probability of control information packets is very big(equal to that of the multimedia data), their average queueing length under precedent conditon is more less than that under non-precedent condition, while the average queueing length of low priority packets increases less than the former decrease. Similarly, from Figure 9 and 10 , from Figure 13 and 14), we see when the probability of control information packets is very big(equal to that of the multimedia data), their average waiting time and packet loss probability under precedent conditon are much less than those under non-precedent condition, while the average waiting time and packet loss probability of low priority packets increase less than the former decrease. The results mean that our proposal is obviously useful to keep the performance of the high priority packets, especially when their probality is very small. So this is exactly fit for the control information, which probability is very samll in general.

We also realize keeping the performance of the control information processing constant, and it is done by looking up a table constructed before, just like in Figure 15 and Figure 16 . We can see that adjusting the value of https://www.w3.org/1998/Math/MathML"> q https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq688.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is effective while https://www.w3.org/1998/Math/MathML"> p https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq689.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> changes, but it has not very obvious effect that we adjust q while λ changes.

We will go on studying the complicate condition, such as more service windows, more parallel queueings(ie. more precedent levels). The condition under more intermediate hops will also be taken into consideration, while the traffic routing will cost much time.

Bibliography

C. Chang and S. Wang :” Analysis of an Integrated Multiplexer with All Queueable and Fixed-Length Traffics in Intermediate Node,”,IEICE TRANS.,E75-B,NO.7 (Jul. 1992)

K. Ohta, T. Watanabe and T. Mizuno:” A Proposal of Network Protocol with Performance for Multimedia Communication System”,IEICE Trans. E79-D,NO.6 (Jun. 1996)

M. Hamdaoui, and P. Ramanathan :”A Dynamic Priority Assugnment Technique for Streams with (m,k)-Firm Deadlines,”,IEEE Trans. on Comm.,VOL. 44 ,NO. 12, Dec. 1995

Figure 9: Average waiting time of the high priority packets while https://www.w3.org/1998/Math/MathML"> p 1 = 0.5 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq690.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Figure 10: Average waiting time of the low priority packets while https://www.w3.org/1998/Math/MathML"> p 1 = 0.5 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq691.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Figure 11: Average loss probability of the high priority packet while https://www.w3.org/1998/Math/MathML"> p 1 = 10 - 5 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq692.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Figure 12: Average loss probability of the low priority packet while https://www.w3.org/1998/Math/MathML"> p 1 = 10 - 5 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq693.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Figure 13: Average loss probability of the high priority packet while https://www.w3.org/1998/Math/MathML"> p 1 = 0.5 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq694.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Figure 14: Average loss probability of the low priority packet while https://www.w3.org/1998/Math/MathML"> p 1 = 0.5 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq695.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

The rapid movement of parallel computing environment from MPP to clustered workstations or high performance PCs, has strongly affected the track of multimedia data service. Currently, many multimedia or continuous media server system is under development on top of either workstations or high-end PCs clustered with high speed networking facilities.

In this paper, we introduce Crown, a continuous media server on clustered high performance PCs with Myrinet, fast network switching equipment, and then address CrownFS, a file system on top of Crown, to offer continous media streams to many subscribers at the same time. For easy and rapid tunning of the performance of CrownFS, we prototyped it. Prototyping requires less efforts and costs than direct implementation. Also, more reliable system optimization is obtainable rather than simulation. By using the prototype, we measured the scalability of CrownFS according to various disk access strategies.

1 Introduction

The remarkable improvement of microprocessor technology and the emergence of high speed network have strongly increased the popularity of clustered workstations as a desirable high performance computing environment. Workstation clustering technology brings the benefit of cost-effectiveness, flexbility and high scalability compared to https://www.w3.org/1998/Math/MathML"> M P P s 1 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq696.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Therefore, over the years, many researchers have attempted to use this technology to run applications requiring a great amount of system resources. Such trend has also made a great influence on the track of multimedia research as well, thus, recently, continuous media server by using many clustered workstations or high-end PCs has been actively researched and under development https://www.w3.org/1998/Math/MathML">   2 , 3,4 , 5,7 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq697.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Crown(Clustered resources on workstation network) is our ongoing project to serve multiple continuous media streams to several dozens of subscribers. It is com- posed of a number of high performance PC, DEC Kauai https://www.w3.org/1998/Math/MathML">   1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq698.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> with one https://www.w3.org/1998/Math/MathML"> 200 M H z https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq699.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Pentium Pro https://www.w3.org/1998/Math/MathML">   2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq700.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> superscalar microprocessor and SCSI disks. CrownFS(Crown File System) is a file system to manage MPEG-1 file distributed over many disks in Crown and to simultaneously serve it to the subscribers. 9 Dec PCs are all currently connected with Myrinet high speed switching network, and one of them will play a role in the gateway bridging between many client nodes. Linux is equipped into all the PCs as an operating system for CrownFS. The rest eight PCs will keep the distributed MPEG-1 data streams. These DEC PCs will be caged into one cabinet, and internal physical network configuration with Myrinet will be strictly veiled, and, just FastEthernet connector coming from the gateway node is revealed out of the cabinet for easy connectivity with client, subscriber.

Crown has conceptually three constituents, the eight storage server PCs containing the pieces of declustered MPEG-1 file, the gateway node bridging between clients and server nodes, and finally, client nodes for subscribers. The maintenance of such nodes is totally up to CrownFS, file system to pump continuous media streams from the eight storage servers, to multiple clients via the gateway at the regular rate.

To find out its bottleneck points ahead of implementation, we prototyped CrownFS. The prototype does not require whole system configuration, therefore we can have an advantage of the simplicity of validation. The prototype of Crown examines the usefulness of our strategy for servicing MPEG-1 data request from clients, and is implemented with good configurability for easy system designer’s customization.

This paper is organized as follows. The next section enumerates the previous works related to file system for continuous media data management, and then, we introduce CrownFS continuous media file system for Crown implemented upon workstation clustering environment, and address its internal organization from section 3. Section 4 introduces the prototype of CrownFS, and then we show the performance variations of APIs supported by CrownFS at section 5. The section 5 also shows the problem of CrownFS shown after the performance measurement. Finally, we make conclusion at section 6 , together with current situation of the project including future works.

Previous Works

The key technology of VOD system, continuous media server, is to design file system in order to pump media streams to many subscribers at the same time with satisfying the real-time requirement of the stream.

To this end, buffering strategy has been popularly employed in many continuous media servers https://www.w3.org/1998/Math/MathML">   6 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq701.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to prefetch some amount of streams into buffers located at clients or other intermediate components. The buffer is properly managed by file system generally dedicated to continous media stream service https://www.w3.org/1998/Math/MathML">   4,6 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq702.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Practically, the majority of the development of continuous media server is occupied by both the design of https://www.w3.org/1998/Math/MathML"> 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq703.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Kauai is a trademark of Digital Euipement Corporation. https://www.w3.org/1998/Math/MathML"> 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq704.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Pentinum Pro is a trademark of Intel. buffer handling stategy of its file system and its real-time disk access technique.

The researchers in U. of Berkeley implemented a continuous media file system, https://www.w3.org/1998/Math/MathML"> VF S 4 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq705.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , for Berekeley VOD system. They support hierarchical data streaming and buffering at several levels in overall network topology. Fellini https://www.w3.org/1998/Math/MathML">   7 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq706.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ) was developed at AT&T Bell laboratory, which is a continuous media file system to support MPEG-1 streams. Here, the buffer struture is handled in the fashion of FIFO, exactly same to the physical access pattern of MPEG-1 byte streams. These were all implemented and optimized after directly realizing whole system architectures, therefore, its implementation cost is regarded as fairly high.

Oyang et. al did a exhaustive study on the storage system for a multimedia system with video-on-demand playback https://www.w3.org/1998/Math/MathML">   2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq707.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . His work is highly concentrated on the analysis of upper bounds of various disk-seek algorithms. Song Bac Toh simulated the video-on-demand system with Simpack packages for simulation https://www.w3.org/1998/Math/MathML">   33 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq708.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . This work strictly relies on the functionality of software for only simulation use, Simpack, thus, the reliability of the simulation is hardly expected.

Therefore, we choosed a way of prototyping CrownFS to examine the bottleneck points of CrownFS and its correctness. It does not require high implementation cost rather than the direct implementation of whole system, but makes it possible to accomplish reliable system analysis compared to simulation. After addessing CrownFS itself at next section, we will switch to the discussion of prototype.

CrownFS : Continuous Media File System

Three conceptual components building CrownFS are M-worker, S-worker and client library. M-worker (Master worker) is a bridge node to govern stream arbitration between clients and storage server nodes, and accepts data requests from each client. The major role of M-worker is to deliver streams to the client by requesting them to the storage servers. The storage server nodes, https://www.w3.org/1998/Math/MathML"> 8 P C s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq709.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are all called as S-worker (Slave worker ss, which keeps the pieces of declustered MPEG-1 files within disks. Figure 1 illustrates the Crown, continuous media server. Subscriber comes to access MPEG-1 file through client library APIs.

The main job of S-worker is to schedule the multiple requests from the M-worker and to drive disks by real time manner for retrieving the requested data. M-worker should have a knowledge of which pieces of data is stored in which S-worker, in order to exactly request data. Such requirement needs the presence of meta-data pairing S-workers with a specific portions of an arbitrary MPEG-1 file. MPEG-1 file is distributed over many disks within more than two S-workers in the fashion of round-robin, namely, simple striping.

Client library provides a set of APIs in Figure 1 to make application access MPEG-1 media data managed by CrownFS, so, it should be compiled and linked with the application in client node.

MPEG-1 data streams accessed with the APIs shown in Table 1 comes to be buffered in two hierarchies, both at the level of M-worker node and client library.

Figure 1: The configuration of Crown system (M-worker is connected both to Myrinet switch and Fast-Ethernet hub, threfore, two kinds of network card should be installed inside. PCs in dotted line are all DEC Kauai.)

The streams injected from S-workers travels via M-worker up to buffers in the client in a pipelined way.

M-worker should make a periodical contact with several S-workers to prefetch streams into its buffer. The stream retrieval of S-workers should be completed within a given time. To locate the exact position of requested data, inode structure for Crown file system is maintained as well as a disk partition dedicated to storing MPEG-1 media streams.

11.1. Buffer Management

Similarly other continuous media servers, CrownFS also uses buffer to satisfy the required bandwidth of network and disk in order to offer multiple MPEG-1 streams to many subscribers.

Figure 2: The buffer hierarchy of CrownFS (Here, 3 clients are being serviced of MPEG-1 streams, so M-worker is managing three buffers for each client.MPEG-1 file accessed by client 1 is distributed over two S-workers, and client 2 is accessing MPEG-1 over 3 S-workers)

MPEG-1 byte streams comes to be buffered in M-worker and client in advance of its playing time, if user would clicks play VCR operation.

The buffers are all managed in the fashion of FIFO with a royal obeisance to FCFS(First Come First Serve) policy. The hierarchical buffer structure is depicted in Figure 2. Buffer handling mechanism to service continuous MPEG-1 streams to many subscribers is based on a time-sliced round-robin way. The time for each client is called service time. CrownFS makes a proper action on five sorts of VCR operations, play, stop, pause, resume, rewind. Currently, fast-forward are not yet implemented, since it has a potential to make the internal architecture of CrownFS be complicated from the scratch.

The buffers are systematically filled and managed depending on VCR operations selected by subscribers via MPEG-1 media player in client node. Therefore, we can say that the buffer management strategy is how to manage subscriber’s VCR operation. The following enumerates the buffer management in accordance with VCR commands, currently supported in CrownFS. VCR operations, play, resume, rewind spans more than two service turn-around time https://www.w3.org/1998/Math/MathML">   3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq710.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , since one service time slice is not long enough to complete their operations.

Play operation opens MPEG-1 file distributed over S-workers, and then, starts playing it immediately after filling buffers both within client and M-worker. These are executed by one mf_open, and the several invocation of https://www.w3.org/1998/Math/MathML"> m f - https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq711.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> read to pre-fill the buffer in client and M-worker.

Both buffer filling and consuming comes to be repeated by the moment of the full. Such protocol can guarantee that some amount stream will be prepared as a few seconds to be played.

Pause operation temporarily stops playing MPEG-1 file, and then waits for the selection of resume VCR operation by user. This operation is simply achieved by stopping the issue of mf_read API till the click of resume button.

https://www.w3.org/1998/Math/MathML"> 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq712.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> It is equal to service time https://www.w3.org/1998/Math/MathML"> × ( https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq713.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> maximum number of subscribers – 1 https://www.w3.org/1998/Math/MathML"> ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq714.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> What the client does when a user clicks pause button, it prepares for the next stream of MPEG-1 which will be retrieved. Surely, client waits for the click of resume button.

Resume operation begins to playback the stream stored in the client buffer. After that, client jumped into the state of play. The second and third steps come to be repeated as descried before.

Stop terminates playing MPEG-1 file. Therefore, client buffer and buffer in Mworker are all freed. Such resource freeing happens by the invocation of https://www.w3.org/1998/Math/MathML"> m f - close   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq715.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> API in client node.

Rewind operation takes the longest time among five VCR operations. Invoking https://www.w3.org/1998/Math/MathML"> m f - seek https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq716.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is all that we have to do for positioning the file pointer to the beginning of the file.

On playing MPEG-1 byte streams, client intermittently requests MPEG-1 streams not yet fetched from M-worker as much as the empty space of buffer in the client node. This request is serviced by M-worker at the associated service time slice.

Simple glance at the steps of each VCR operation can clearly reveal the fact that the longest work is accomplished at the third step in play operation. Therefore, we decided that one service time for one client takes as long as both sending contents of buffer in M-worker to client and getting streams injected from S-worker under requests.

Since MPEG-1 file is simply distributed over more than two disks of S-workers in round-robin fashion, both requesting each pieces of the file to one S-worker and sending the requested data from another S-worker can be overalapped.

11.2. Disk Management

Each distributed block of MPEG file is stored in a specific disk partition dedicated to CrownFS, called RawDisk. RawDisk partition is created by a raw disk management mechanism https://www.w3.org/1998/Math/MathML">   7 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq717.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . This area is not under control of traditional UNIX file system, therefore, we can save the time consumed by traditional UNIX file system to handle buffer cache or to manipulate inode structure, etc. To keep track of all declustered blocks of MPEG file, the beginning of RawDisk partition contains superblock and a set of inode strutures. Superblock records the status of each block in RawDisk partition as either used or free, and designates the starting offset of inode information. Inode structure is not identical to that of traditional UNIX file system, though, it keeps information of blocks belongs to a certain MPEG file.

Declustering of MPEG file enables us to overlap at least two works of both requesting certain block to a S-worker, and accessing disks in another S-worker. Such overlap can comparably diminish the disk access time to fetch MPEG streams. Mworker is expected to wait for the arrival of requested blocks form each S-workers as long as the following intervals. time taken to fetch streams from S-workers https://www.w3.org/1998/Math/MathML"> = https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq718.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

(time to request a block to one S-worker +

time to send a block to M-worker from S-worker ) https://www.w3.org/1998/Math/MathML"> × https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq719.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

( https://www.w3.org/1998/Math/MathML">   number of   S -workers   2 + 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq720.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> )

The equation expresses the overlap effect between requesting a block to a S-worker and the delivery of block from other S-workers. The time to send a block includes disk latencies to position disk arm to the track containing the requested block.

Since a MPEG file is distributed over several disks in S-workers, each scattered blocks should be collected and arranged to the form of consecutive streams for normal playback. Such arrangement takes place within M-worker. Depending on how well we collect each declustered pieces of the block, the scalability of CrownFS can be either good or bad. Therefore, we estimated the scalability with the variation of the disk access strategy to collct and to arrange declustered blocks by using its prototype.

Prototype of CrownFS

The major reason of building a prototype is to do an accurate validation test of service routine which we designed, and to estimate the scalability of CrownFS. By using the prototype, we could also find a bottleneck points of the performance.

The prototype is currently installed and runs on three Sun https://www.w3.org/1998/Math/MathML"> 10   W / S s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq721.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . It treats the continuous MPEG-1 streams as described at previous subsection, and conceptually, it also configures M-worker, S-workers, and client. The used network facility is Ethernet, neither Myrinet and Fast-Ethernet, because of the lack of such network equipments at the launch of building the prototype. Ethernet networking can be used instead of Myrinet to relatively evaluate the performance of networking since latencies of the two equipment is linearly proportional to the increment of packet size. SCSI disks is also just simulated on the file created with a very large empty space in traditional UNIX file system area.

The client MPEG-1 player software was implemented by modifying mpeg_play freely distributed by U. of Berkeley. It was recompiled and linked with client library routine which can make it communicate with the prototyped M-worker daemon process, mwd. Since it does not drive harware MPEG decoder, it is nearly imposssible to continuously spread out realistic MPEG frames. Mwd module fetches MPEG streams via the interaction with swd, prototyped S-worker module.

The exclusion of screen manipulation routine to display the consecutive shot of MPEG image is also available by simply switching on a command line option. Such functionality can help us estimate the validation of our routine by eradicating potential side-effects by screen handling and by mouse focusing within X-window frame generated by mpeg_play.

The important feature of the prototype system is free and easy configurability. Simply put, if a user wish to alter the size of the declustered block in S-worker, and

Figure 3: The strucure of the prototype of CrownFS. https://www.w3.org/1998/Math/MathML"> ( mwd https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq722.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> works as M-worker, swd as S-worker, client library is for the interaction between client and M-worker. Bolded rectangular box explains the command line options to switch on/off the functionality of CrownFS. We put mwd and mpeg_play into one Sun W/S due to the lack of W/Ss.)

the amount of buffer in M-worker, it can be easily done by modifying a configuation file shown in Figure 3 . The configuration file keeps all parameters relevant to system resources. The file also contains information of system resources of target environment of Crown, therefore, it enables user to predict how fully it can utilize the system resources, and how much well it can promise the non-stop MPEG byte streams.

Evaluation

We estimated the scalability of CrownFS under two kinds of S-worker access strategies. The increment of the number of S-worker has been also considered.

MPEG-1 streams are distributed over many disks within S-workers in the fashion of simple striping, therefore, we have to gather them into a continuous streams for normal plackback. To collect the distributed blocks, we should take two steps. First, we have to request the blocks to S-workers, and then S-worker should respond it. In collective mode, M-worker sends only one block request to one S-worker. The request packet describes all blocks to which M-worker wants to refer within that S-worker. Then, the S-worker sends the blocks within a big packet containing all requested blocks. In the other case, non-collective mode, M-worker sends requests for every distributed blocks. Therefore, less communication overhead does we can take by using collective-mode request. However, more intelligent and complicated arrangement of data deliver from S-worker should be supported. Better scalability of CrownFS could be possible rather than non-collective mode.

Figure 4: The variation of service time to fetch a stream as much as https://www.w3.org/1998/Math/MathML"> 128   K https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq723.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> bytes from S-workers according to S-worker access methodology.

Underlying network environment was based on Ethernet. Six W/Ss are connected to the Ethernet, and two of them operate as M-worker and client respectively. The remaining four W/Ss played a role of S-workers, and disk partition dedicated to CrownFS is only emulated on top of a big file as much as several megabytes. All workstations are all the family of Sun Sparc, one Sparc-10, two Sparc-20s, three Ultra-Sparcs. Used benchmark is a horror movie ‘psycho’, and we averaged all traced elapsed service times during plackback for about 20 minutes. The network protocol between client and M-worker is TCP, meanwhile UDP protocol is employed for the communication between S-workers and M-worker. Client perodically requests streams to M-worker, and then, M-worker appropriately requests the blocks to several S-workers according to its distribution. We applied two kinds of the request by M-worker to CrownFS, both collective request and non-collective one. The amount of request size from client is up to https://www.w3.org/1998/Math/MathML"> 128   K https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq724.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> bytes. Each MPEG file had been distributed as https://www.w3.org/1998/Math/MathML"> 8   K https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq725.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> bytes.

shows the variation of the service time in milliseconds for one stream access according to S-worker access strategies by M-worker. Here, diamond line designates the time to access https://www.w3.org/1998/Math/MathML"> 128   K https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq726.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> byte block in non-collective communication way, simple line in collective communication way. The vertical axis is guaged in millisecond, and horizontal axis means by the number of S-worker’s which we used.

In Figure 4, with the increment of S-workers, the collective communication shows better performance rather than non-collective communication, that is, point-to-point communication. More than 8 S-workers were not estimated, since 8 S-workers are our maximum number of S-workers in the specification of Crown. To meet with the customer’s acceptable price, we strictly limit the maximum number of S-workers. The second thing is S-workers are all implemented virtually within practical two workstations. Evenly, https://www.w3.org/1998/Math/MathML"> 4 swds https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq727.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are competitively executed within a node in case of 8 S-workers. Then, more than 4 S-worker daemon’s called swd, makes great burden of the workstation, thus, extra unpredicted impacts will greatly make it irregular system performance by adding more swd s.

Conclusion

This paper introduces a continous media file system, CrownFS to support multiple MPEG-1 streams to many subscribers. Also, to find a bottleneck point of CrownFS, we prototyped it.

For the sake of easy customization of the prototype we made it have high configurability and easy installation. Currently, it is implemented on top of three Sun W/Ss connected by Ethernet.

By using the prototype, we estimated service time under two kinds of S-worker access strategies with the variation of S-workers. Collective communication shows better scalability rather than non-collective communication between S-workers and M-worker. Then, some kind of difficulties might arise when we try to implement this technique on top of Myrinet networking substrates. Myrinet networking just support small size networking buffer and data travels on top of it without interrupt notification to operating system itself. That implies that sophisticated network buffer control to correctly catch up the flowing packets sould be supported in the future.

Bibliography

Thomas E. Anderson, “Serverless Network File Stystem”, Technical Report, Berekeley, 1995.

Yen-Jen Oyang, Meng-Huang Lee, Chun-Hung Wen and Chih-Yuan Chen, “Design of Multimedia Storage System for On-Demand Playback”, Proc. of the 11th International Conf. on Data Engineering.

Song Bac Toh, “Simulation of a Video-on-Demand System”, PCS-TR95-260, Dartmouth Computer Science, 1995.

D. James Gemmell, Harrick Vin, Dilip Kandlur, P. Venkat Rangan, and Lawrence A. Rowe, “Multimedia Storage Servers: A Tutorial”, IEEE Computer, May, 1995 .

Craig Fedeighi and Lowren A. Rowe, “A Distributed Hierarchical Storage Manager for a Video-on-Demand System”, Symp. on Electronic Science and Techniques, Feb. 1994.

P. V. Rangan and H. M. Vin, “Design File System for Digital Video and Audio”, Proc. of the 12th ACM Symp. on Operating Systems, 1991 .

C. Martin, P. S. Narayan, B. Ozden, R. Rastogi and A. Silberschatz, “The Fellini Multimedia Storage System”, Journal of Digital Libraries, 1997 .

David Kotz, “Disk-Directed I/O for MIMD multiprocessors”, Technical Report PCSTR94-226, Dartmouth College, 1994 .

QoS-based Flexibility in Distributed

Systems

his paper discusses how to make a distributed object system flexible so as to satisfy applications’ requirements in change of the system environment. The change of the system is modeled to be the change of not only types of service but also quality of service (QoS) supported by the objects. We discuss equivalency and compatibility relations among operations on the basis of QoS. By using the QoS-based relations, we newly discuss a QoS-based compensating way to recover the object from the less qualified state. Finally, we discuss a QoS-based way for replicating objects to make required QoS available. Be using these QoS-based way, we can reduce time and cost for making the system flexible.

Introduction

Units of resources in distributed systems are referred to as objects https://www.w3.org/1998/Math/MathML">   4 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq728.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . An object is an encapsulation of data and operations for manipulating the data. CORBA 4) is getting a general framework to make distributed applications interoperable. The system is required to be flexible in change of the system environment and the applications’ requirements in addition to supporting the interoperability. One of the major changes in the system is fault. There are two approaches to realizing the fault-tolerant system; replication and checkpointing. The active https://www.w3.org/1998/Math/MathML">   5 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq729.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and passive https://www.w3.org/1998/Math/MathML">   2 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq730.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> replications are discussed so far. The applications can get the service of the object as long as some number of the replicas are operational. In the checkpointing protocols, the object is rolled back to the consistent checkpoint if the object is faulty. Tanaka and Takizawa https://www.w3.org/1998/Math/MathML">   7 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq731.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> discuss an object-based checkpoint which allows orphan messages to exist but which is consistent from the object point of view.

In addition to the object fault, other properties of the system like the response time change. The service supported by the object is characterized by the parameters showing QoS. Yoshida and Takizawa https://www.w3.org/1998/Math/MathML">   8 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq732.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> model the movement of the mobile object to be the change of QoS supported by the object. It is critical to discuss how to support QoS which satisfies the application’s requirement in change of QoS supported by the objects. The object https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq733.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> supports the application with service through the operations. Relations among the operations are discussed so far with respect to the states of the objects. For example, two operations are compatible if the states obtained by applying the operations in any order are the same https://www.w3.org/1998/Math/MathML">   1 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq734.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . The applications can view QoS of the object only through the operations. For example, suppose that a multimedia object m supports higher quality image data and a display operation. Here, the application can only get the lower quality image if display can output only lower quality image. We define QoS-based equivalency and compatibility among the operations in terms of views obtained by applying the operations to the objects.

Effects done by operations computed have to be removed if applications’ requirements are not satisfied, e.g. the system is faulty. The effects can be removed by the compensating operations https://www.w3.org/1998/Math/MathML">   3,6 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq735.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of the operations computed. In multimedia applications, it takes time to restore a large volume of high-resolution video data. We can reduce time for recovering the system if data with lower resolution but satisfying the applications’ requirement is restored instead of restoring the high-resolution data. In this paper, we discuss a compensating method where an object https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq736.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> may not be rolled back to the previous state which https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq737.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> has taken but can be surely rolled back to a state supporting QoS which satisfies the applications’ requirement.

An object can be replicated in order to increase availability. Since huge volume of storage and expensive devices are required to realize multimedia objects, it is expensive, maybe impossible to replicate the objects. The less qualified the state of object is, the less volume of storage is required. Hence, the replicas may support different levels of QoS. Applications can use a subset of replicas which support enough QoS. This is a QoS-based replication to be discussed in this paper.

In section 2, we present a system model. In sections 3 and 4, we discuss relations among the operations and the compensation on the basis of QoS, respectively. In section 5, we discuss QoS-based replications.

System Model

17.1. Objects

A system is composed of objects https://www.w3.org/1998/Math/MathML"> o 1 , … , o n https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq738.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> interconnected by reliable networks. Each object https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq739.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is an encapsulation of the data and a collection of abstract operations https://www.w3.org/1998/Math/MathML"> o p i 1 , … , o p i l i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq740.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> only by which https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq741.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> can be manipulated. Let https://www.w3.org/1998/Math/MathML"> o p ij s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq742.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> denote a state of https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq743.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> obtained by applying opij to a state https://www.w3.org/1998/Math/MathML"> s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq744.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq745.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . [op https://www.w3.org/1998/Math/MathML">   ij s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq746.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ] denotes the response data obtained by https://www.w3.org/1998/Math/MathML"> o p ij s i . o p ij ∘ o p ik https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq747.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> means that https://www.w3.org/1998/Math/MathML"> o p ik https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq748.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is computed after https://www.w3.org/1998/Math/MathML"> o p ij . https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq749.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Here, a conflicting relation https://www.w3.org/1998/Math/MathML">   3 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq750.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> among operations is defined as follows: for every pair of operations op https://www.w3.org/1998/Math/MathML">   ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq751.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p ik , o p ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq752.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> conflicts with op https://www.w3.org/1998/Math/MathML">   ik https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq753.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> if https://www.w3.org/1998/Math/MathML"> o p ij ∘ o p ik s i ≠ o p ik ∘ o p ij s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq754.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , https://www.w3.org/1998/Math/MathML"> o p ij s i ≠ o p ik ∘ o p ij s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq755.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , or https://www.w3.org/1998/Math/MathML"> o p ij ∘ o p ik s i ≠ o p ik s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq756.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for some state https://www.w3.org/1998/Math/MathML"> s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq757.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq758.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . For example, record conflicts with delete in the movie object. op https://www.w3.org/1998/Math/MathML">   ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq759.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is compatible with https://www.w3.org/1998/Math/MathML"> o p ik https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq760.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> unless https://www.w3.org/1998/Math/MathML"> o p ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq761.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> conflicts with https://www.w3.org/1998/Math/MathML"> o p ik https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq762.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . If https://www.w3.org/1998/Math/MathML"> o p ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq763.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p ik https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq764.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are compatible, both the same state and the same response data are obtained independently of the computation order of https://www.w3.org/1998/Math/MathML"> o p ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq765.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p ik https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq766.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . We assume the conflicting relation is symmetric but not transitive.

2.2 Quality of service (QoS)

The service supported by an object https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq767.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> can be obtained by issuing an operation to https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq768.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Each type of service is characterized by parameters like levels of resolution, number of frames, and number of colors. The parameters show quality of service (QoS). Even if a pair of objects https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq769.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq770.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> support the same types of service, they may provide different levels of QoS.

The scheme of QoS is given in a tuple of attributes https://www.w3.org/1998/Math/MathML"> a 1 , … , a m https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq771.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> where each attribute https://www.w3.org/1998/Math/MathML"> a i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq772.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> shows a parameter. Let https://www.w3.org/1998/Math/MathML"> d o m ⁡ a i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq773.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> be a domain of https://www.w3.org/1998/Math/MathML"> a i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq774.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , i.e. a set of possible values to be taken by https://www.w3.org/1998/Math/MathML"> a i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq775.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . For example, https://www.w3.org/1998/Math/MathML"> d o m https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq776.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> (resolution) is a set of numbers each of which shows the number of pixels for each frame. A QoS instance q of the scheme https://www.w3.org/1998/Math/MathML"> a 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq777.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , https://www.w3.org/1998/Math/MathML"> … a m https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq778.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is given in a tuple of values, i.e. https://www.w3.org/1998/Math/MathML"> v 1 , … , v m ∈ d o m ⁡ a 1 × … × d o m ⁡ a m https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq779.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Let https://www.w3.org/1998/Math/MathML"> a i ( q ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq780.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> show https://www.w3.org/1998/Math/MathML"> v i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq781.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in q. The values in https://www.w3.org/1998/Math/MathML"> d o m ⁡ a i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq782.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are partially ordered by a precedent relation https://www.w3.org/1998/Math/MathML"> ⪯ ⊆ d o m ⁡ a i 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq783.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . A value https://www.w3.org/1998/Math/MathML"> v 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq784.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> precedes https://www.w3.org/1998/Math/MathML"> v 2 v 1 ⪰ v 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq785.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> if https://www.w3.org/1998/Math/MathML"> v 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq786.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> shows better QoS than https://www.w3.org/1998/Math/MathML"> v 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq787.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . For example, https://www.w3.org/1998/Math/MathML"> 120 × 100 ⪯ 160 × 120 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq788.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> [pixels] for the resolution attribute. Let https://www.w3.org/1998/Math/MathML"> q 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq789.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> q 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq790.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> show QoS instances of a scheme https://www.w3.org/1998/Math/MathML"> a 1 , … , a m . q 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq791.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> totally dominates https://www.w3.org/1998/Math/MathML"> q 2 q 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq792.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> ⪰ q 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq793.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> iff https://www.w3.org/1998/Math/MathML"> a i q 1 ⪰ a i q 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq794.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for every attribute https://www.w3.org/1998/Math/MathML"> a i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq795.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Let A be a subset https://www.w3.org/1998/Math/MathML"> b 1 , … , b k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq796.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> where https://www.w3.org/1998/Math/MathML"> b 1 , … , b k ⊆ a 1 , … , a m . https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq797.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> A projection https://www.w3.org/1998/Math/MathML"> [ q ] A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq798.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of q on A is https://www.w3.org/1998/Math/MathML"> w 1 , … , w k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq799.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> where https://www.w3.org/1998/Math/MathML"> w i = https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq800.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> b i ( q ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq801.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for https://www.w3.org/1998/Math/MathML"> i = 1 , … , k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq802.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . A QoS instance https://www.w3.org/1998/Math/MathML"> q 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq803.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of a scheme https://www.w3.org/1998/Math/MathML"> A 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq804.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> partially dominates https://www.w3.org/1998/Math/MathML"> q 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq805.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of https://www.w3.org/1998/Math/MathML"> A 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq806.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> iff https://www.w3.org/1998/Math/MathML"> a q 1 ⪰ a q 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq807.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for every attribute a in https://www.w3.org/1998/Math/MathML"> A 1 ∩ A 2 . q 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq808.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> subsumes https://www.w3.org/1998/Math/MathML"> q 2 q 1 ⊇ q 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq809.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> iff https://www.w3.org/1998/Math/MathML"> q 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq810.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> partially dominates https://www.w3.org/1998/Math/MathML"> q 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq811.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> A 1 ⊇ A 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq812.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Let Q be a set of QoS instances whose schemes are not necessarily the same. https://www.w3.org/1998/Math/MathML"> q 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq813.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is minimal in Q iff there is no https://www.w3.org/1998/Math/MathML"> q 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq814.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in Q such that https://www.w3.org/1998/Math/MathML"> q 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq815.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> ⪯ q 1 . q 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq816.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is minimum in Q iff https://www.w3.org/1998/Math/MathML"> q 1 ⪯ q 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq817.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for every https://www.w3.org/1998/Math/MathML"> q 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq818.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in https://www.w3.org/1998/Math/MathML"> Q . q 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq819.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is maximal iff there is no https://www.w3.org/1998/Math/MathML"> q 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq820.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in Q such that https://www.w3.org/1998/Math/MathML"> q 1 ⪯ q 2 . q 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq821.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is maximum in Q iff https://www.w3.org/1998/Math/MathML"> q 2 ⪯ q 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq822.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for every https://www.w3.org/1998/Math/MathML"> q 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq823.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in https://www.w3.org/1998/Math/MathML"> Q . q 1 ∪ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq824.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> q 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq825.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> q 1 ∩ q 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq826.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> show a least upper bound https://www.w3.org/1998/Math/MathML"> ( lub ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq827.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and a greatest lower bound https://www.w3.org/1998/Math/MathML"> ( glb ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq828.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of https://www.w3.org/1998/Math/MathML"> q 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq829.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> q 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq830.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in Q on https://www.w3.org/1998/Math/MathML"> ⪯ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq831.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , respectively. https://www.w3.org/1998/Math/MathML"> q 1 ∪ q 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq832.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is some QoS instance https://www.w3.org/1998/Math/MathML"> q 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq833.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in Q such that (1) https://www.w3.org/1998/Math/MathML"> q 1 ⪯ q 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq834.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> q 2 ⪯ q 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq835.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and (2) there is no https://www.w3.org/1998/Math/MathML"> q 4 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq836.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in Q where https://www.w3.org/1998/Math/MathML"> q 1 ⪯ q 4 ⪯ q 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq837.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> q 2 ⪯ q 4 ⪯ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq838.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> q 3 . q 1 ∩ q 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq839.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is defined similarly to https://www.w3.org/1998/Math/MathML"> ∪ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq840.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Applications require an object to support some requirement https://www.w3.org/1998/Math/MathML"> Q o S ( RoS ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq841.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . An RoS instance https://www.w3.org/1998/Math/MathML"> R V 1 , … , V k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq842.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> where each https://www.w3.org/1998/Math/MathML"> V i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq843.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is a value of an attribute https://www.w3.org/1998/Math/MathML"> a i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq844.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Here, suppose an object o supports a QoS instance https://www.w3.org/1998/Math/MathML"> q = v 1 , … , v m https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq845.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> where each https://www.w3.org/1998/Math/MathML"> v i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq846.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is a value of https://www.w3.org/1998/Math/MathML"> a i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq847.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Here, let https://www.w3.org/1998/Math/MathML"> A R https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq848.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> be the scheme of R and https://www.w3.org/1998/Math/MathML"> A q https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq849.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> be the scheme of q.q subsumes https://www.w3.org/1998/Math/MathML"> R ( q ⊇ R ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq850.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> iff q partially dominates R and https://www.w3.org/1998/Math/MathML"> A q ⊇ A R https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq851.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . If q⊇R, the applications can get enough service from o.

2.3 Invocation tree

An object is realized by using other objects. Thus, an operation https://www.w3.org/1998/Math/MathML"> o p ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq852.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq853.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> may invoke another operation https://www.w3.org/1998/Math/MathML"> o p kl https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq854.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of an object https://www.w3.org/1998/Math/MathML"> o k . o p ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq855.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> successfully completes, i.e. commits if every operation invoked by https://www.w3.org/1998/Math/MathML"> o p ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq856.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> commits. Otherwise, https://www.w3.org/1998/Math/MathML"> o p ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq857.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> aborts. https://www.w3.org/1998/Math/MathML"> o p kl https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq858.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> may further invoke other operations. Thus, the invocations of operations are nested. Here, sup- pose an operation op https://www.w3.org/1998/Math/MathML">   i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq859.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of an object https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq860.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> invokes operations op https://www.w3.org/1998/Math/MathML">   i 1 , … , o p i t i t i ≥ 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq861.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Some operation https://www.w3.org/1998/Math/MathML"> o p ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq862.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is issued to another object https://www.w3.org/1998/Math/MathML"> o ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq863.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Other operations are computed in https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq864.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . The former ones are referred to as public and the latter ones are private. Each object supports two kinds of operations, i.e. private and public ones. The public operation can be invoked by other objects. However, the private ones cannot be used from the other objects. Here, https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq865.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq866.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are referred to as parent and child, respectively. In this paper, we assume that the child operations are invoked serially in a sequence https://www.w3.org/1998/Math/MathML"> o p i 1 , … , o p i t i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq867.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . This invocation is represented in an ordered tree form named an invocation tree.

19.1. Multimedia objects

In this paper, we consider multimedia objects. QoS of an object https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq868.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> has two aspects: state QoS which is obtained from the state https://www.w3.org/1998/Math/MathML"> s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq869.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and operation QoS which is supported through the operations of https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq870.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . For example, let us consider a video object video with a display operation as shown in Figure 1. A state https://www.w3.org/1998/Math/MathML"> s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq871.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq872.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> supports video data with a rate https://www.w3.org/1998/Math/MathML"> 30 f p s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq873.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , which is a state QoS. However, display can display the view [\operatorname{display } ( s _ { i } ) ] of the video data from https://www.w3.org/1998/Math/MathML"> s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq874.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> only at 20 fps. This is an operation QoS https://www.w3.org/1998/Math/MathML"> Q d i s p l a y ⁡ s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq875.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Let https://www.w3.org/1998/Math/MathML"> Q s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq876.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> denote the state QoS of a state https://www.w3.org/1998/Math/MathML"> s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq877.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq878.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Let https://www.w3.org/1998/Math/MathML"> Q o p ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq879.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> denote QoS supported by an operation op https://www.w3.org/1998/Math/MathML">   ij . https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq880.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> QoS of https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq881.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> can be viewed through the operation of https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq882.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Here, let https://www.w3.org/1998/Math/MathML"> Q o p ij s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq883.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> denote QoS viewed by applying opij to the state https://www.w3.org/1998/Math/MathML"> s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq884.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , which is given to be a minimum one of https://www.w3.org/1998/Math/MathML"> Q s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq885.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> Q o p ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq886.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Let https://www.w3.org/1998/Math/MathML"> s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq887.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> denote https://www.w3.org/1998/Math/MathML"> o p i 1 s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq888.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , https://www.w3.org/1998/Math/MathML"> … , o p i l i s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq889.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , i.e. view of https://www.w3.org/1998/Math/MathML"> s i . Q s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq890.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is defined to be a tuple https://www.w3.org/1998/Math/MathML"> Q o p i 1 s i , … , https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq891.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , https://www.w3.org/1998/Math/MathML"> Q o p i l i s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq892.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , i.e. operation QoS. https://www.w3.org/1998/Math/MathML"> Q s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq893.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> shows QoS of https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq894.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> which the users can view through the operations. https://www.w3.org/1998/Math/MathML"> Q s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq895.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> subsumes https://www.w3.org/1998/Math/MathML"> Q s j Q s i ⊇ Q s j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq896.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> iff there is some operation https://www.w3.org/1998/Math/MathML"> o p ik https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq897.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq898.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> such that https://www.w3.org/1998/Math/MathML"> Q o p ik s i ⪰ Q o p ik s j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq899.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for every https://www.w3.org/1998/Math/MathML"> o p ik https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq900.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of https://www.w3.org/1998/Math/MathML"> o j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq901.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . QoS supported by https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq902.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> changes depending on the state of https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq903.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and the types of operations supported by https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq904.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Let https://www.w3.org/1998/Math/MathML"> m a xQ o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq905.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> denote maximum QoS to be supported by https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq906.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , i.e. maximum of https://www.w3.org/1998/Math/MathML"> Q s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq907.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for every state https://www.w3.org/1998/Math/MathML"> s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq908.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq909.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Let https://www.w3.org/1998/Math/MathML"> m i nQ o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq910.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> denote minimum QoS of https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq911.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Here, https://www.w3.org/1998/Math/MathML"> m i nQ o i ⪯ Q s i ⪯ m a xQ o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq912.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for every https://www.w3.org/1998/Math/MathML"> s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq913.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq914.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

[Definition] An object https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq915.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> subsumes https://www.w3.org/1998/Math/MathML"> o j o i ⊇ o j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq916.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> iff https://www.w3.org/1998/Math/MathML"> Q s i ⊇ Q s j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq917.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for every pair of states https://www.w3.org/1998/Math/MathML"> s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq918.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq919.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> s j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq920.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of https://www.w3.org/1998/Math/MathML"> o j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq921.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Figure 1: QoS of video object.

QoS-Related Operations

20.1. Equivalency

We discuss how operations https://www.w3.org/1998/Math/MathML"> o p 1 , … , o p l https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq922.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> supported by an object o are related with respect to QoS. A op https://www.w3.org/1998/Math/MathML">   i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq923.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is equivalent with https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq924.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> iff https://www.w3.org/1998/Math/MathML"> o p i ( s ) = o p j ( s ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq925.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p i ( s ) = o p j ( s ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq926.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for every state s of o. That is, https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq927.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq928.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> not only output the same data but also change the state of o to the same state. For example, suppose there are two versions old-display and new-display of a display operation supported by the movie object. new-display can display the same video image as old-display while new-display can display at a faster rate than old-display. new-display is equivalent with old-display because they output the same image data and do not change the state of movie. However, they support different levels of QoS, i.e. new-display is better than olddisplay with respect to the display speed.

[Definition] op is QoS-equivalent with https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq929.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> iff https://www.w3.org/1998/Math/MathML"> Q o p i ( s ) = Q o p j ( s ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq930.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for every state s of an object o.

That is, https://www.w3.org/1998/Math/MathML"> op ∘ o p i ( s ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq931.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> op ∘ o p j ( s ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq932.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> support the same view for every operation op. https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq933.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is QoS-equivalent with https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq934.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> if https://www.w3.org/1998/Math/MathML"> Q o p i ( s ) = Q o p j ( s ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq935.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Suppose that https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq936.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> invokes operations https://www.w3.org/1998/Math/MathML"> o p i 1 , … , o p i t i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq937.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> as shown in Figure ??. It is sure that https://www.w3.org/1998/Math/MathML"> o p i ( s ) = o p i 1 ∘ … ∘ o p i t i ( s ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq938.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for a state s of the system. Here, https://www.w3.org/1998/Math/MathML"> o p i 1 ∘ … https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq939.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> ∘ o p i t i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq940.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is equivalent with https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq941.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . A sequence https://www.w3.org/1998/Math/MathML"> o p i 1 , … , o p i t i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq942.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is more expanded than https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq943.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , denoted by https://www.w3.org/1998/Math/MathML"> o p i 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq944.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Each https://www.w3.org/1998/Math/MathML"> o p ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq945.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> can be more expanded if https://www.w3.org/1998/Math/MathML"> o p ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq946.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is public and invokes operations https://www.w3.org/1998/Math/MathML"> o p ij 1 , … , o p ij t ij t ij > 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq947.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . That is, https://www.w3.org/1998/Math/MathML"> o p i 1 , … , o p i , j - 1 , o p ij 1 , … , o p ij t ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq948.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> o p i , j + 1 , … , o p i t i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq949.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . However, the private one cannot be expanded. The h th https://www.w3.org/1998/Math/MathML"> ( h ≥ 0 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq950.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> expansion https://www.w3.org/1998/Math/MathML"> o p i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq951.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is defined to be https://www.w3.org/1998/Math/MathML"> o p i 1 h - 1 , … , o p i t i h - 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq952.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> if https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq953.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is public https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq954.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , if https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq955.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is private or https://www.w3.org/1998/Math/MathML"> h = 0 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq956.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . The full expansion https://www.w3.org/1998/Math/MathML"> o p i * https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq957.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq958.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is defined as follows:

https://www.w3.org/1998/Math/MathML"> o p i * = o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq959.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> if https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq960.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is a private operation.

https://www.w3.org/1998/Math/MathML"> o p i * = o p i 1 * , … , o p i t i * https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq961.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> if https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq962.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> invokes https://www.w3.org/1998/Math/MathML"> o p i 1 , … , o p i t i . https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq963.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> o p i * https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq964.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> shows a sequence of private operations computed in the objects. The less expanded operation shows the more abstract level of computation.

Let R be RoS which an object is required to support for an application. The application does not mind which operation old-display or new-display is used if the application does not care the display speed. The operations are considered to be equivalent if they support QoS subsuming R even if Q (old-display https://www.w3.org/1998/Math/MathML"> s movie   ≠ Q ( https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq965.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> newdisplay https://www.w3.org/1998/Math/MathML"> s movie   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq966.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for a state https://www.w3.org/1998/Math/MathML"> s movie   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq967.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

[Definition] op https://www.w3.org/1998/Math/MathML">   i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq968.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is RoS-equivalent with op https://www.w3.org/1998/Math/MathML">   j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq969.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> on R iff https://www.w3.org/1998/Math/MathML"> Q o p i ( s ) ∪ Q o p j ( s ) ⊇ R https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq970.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

20.2. Compatibility

Next, we discuss in which order operations https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq971.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq972.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> supported by the object o can be computed in order to keep the state of o consistent. op https://www.w3.org/1998/Math/MathML">   i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq973.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> conflicts with https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq974.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> if the result obtained by computing https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq975.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq976.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> depends on the computation order https://www.w3.org/1998/Math/MathML">   1,3 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq977.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq978.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is compatible with https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq979.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> unless https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq980.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> conflicts with https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq981.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . For example, suppose a movie object m is composed of an advertisement and a content. The advertisement part is removed from m by delete. An application does not care the difference between the original version and the updated version of m since the application is interested only in the content part of m. That is, the updated version of m supports the same level of QoS as the original version.

[Definition] op https://www.w3.org/1998/Math/MathML">   i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq982.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is QoS-compatible with op https://www.w3.org/1998/Math/MathML">   j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq983.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> iff https://www.w3.org/1998/Math/MathML"> Q o p i ∘ o p j ( s ) = Q o p j ∘ o p i ( s ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq984.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for every state s of an object https://www.w3.org/1998/Math/MathML"> o . ◻ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq985.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

The QoS-compatibility relation is symmetric. Unless https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq986.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is QoS-compatible with https://www.w3.org/1998/Math/MathML"> o p j , o p i QoS https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq987.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> -conflicts with https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq988.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . For example, suppose an operation delete removes some frames from movie. The movie can be seen only by display with the low-level decoder. Here, the users can see the movie with the same quality even after delete is applied to the movie. Here, delete and display are QoS-compatible.

[Definition] op https://www.w3.org/1998/Math/MathML">   i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq989.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is RoS-compatible with op https://www.w3.org/1998/Math/MathML">   j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq990.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> on R iff https://www.w3.org/1998/Math/MathML"> Q o p i ( s ) ∪ Q o p j ∘ o p i ( s ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq991.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> ⊇ R , Q o p i ∘ o p j ( s ) ∪ Q o p j ( s ) ⊇ R https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq992.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and https://www.w3.org/1998/Math/MathML"> Q o p i ∘ o p j ( s ) ∪ Q o p j ∘ o p i ( s ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq993.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> ⊇ R https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq994.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Suppose an application is not interested in how colorful movies are. An update operation changes a movie from a colored version to a monochromatic one. Suppose movie supports a colored movie m. The colored movie m is seen by display, i.e. [display https://www.w3.org/1998/Math/MathML"> ( m ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq995.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ]. If update is applied to m, the monochromatic version of m is seen. Since the application is not interested in the color of m, both versions are considered to satisfy the requirement QoS https://www.w3.org/1998/Math/MathML"> ( https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq996.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> RoS https://www.w3.org/1998/Math/MathML"> ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq997.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Hence, https://www.w3.org/1998/Math/MathML"> Q ( [ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq998.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> display https://www.w3.org/1998/Math/MathML"> ( m ) ] ) ∪ Q ( [ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq999.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> update https://www.w3.org/1998/Math/MathML"> ∘ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1000.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> display https://www.w3.org/1998/Math/MathML"> ( m ) ] ) ⊇ R https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1001.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and Q( display https://www.w3.org/1998/Math/MathML"> ∘ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1002.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> update https://www.w3.org/1998/Math/MathML"> ( m ) ) = Q ( https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1003.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> update https://www.w3.org/1998/Math/MathML"> ∘ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1004.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> display https://www.w3.org/1998/Math/MathML"> ( m ) ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1005.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . display and update are RoS-compatible although they are not QoS-compatible because https://www.w3.org/1998/Math/MathML"> Q ( [ update https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1006.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> – display https://www.w3.org/1998/Math/MathML"> ( m ) ] ) ≠ Q ( [ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1007.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> display https://www.w3.org/1998/Math/MathML"> ( m ) ] ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1008.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Figure 2: RoS-equivalent operations.

Figure 3: RoS-compatible operations.

3.3 Update operation

First, suppose an operation https://www.w3.org/1998/Math/MathML"> o p ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1009.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> inserts some data https://www.w3.org/1998/Math/MathML"> d ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1010.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to a state https://www.w3.org/1998/Math/MathML"> s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1011.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of an object https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1012.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . If https://www.w3.org/1998/Math/MathML"> Q s i ⪯ Q d ij , d ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1013.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> can be added to https://www.w3.org/1998/Math/MathML"> s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1014.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . We consider case that https://www.w3.org/1998/Math/MathML"> Q s i ≻ Q d ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1015.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . If QoS of https://www.w3.org/1998/Math/MathML"> d ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1016.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is worse than https://www.w3.org/1998/Math/MathML"> s i , d ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1017.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> cannot be inserted in https://www.w3.org/1998/Math/MathML"> s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1018.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . However, an application can get service from https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1019.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> through the operations of https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1020.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . If QoS of https://www.w3.org/1998/Math/MathML"> d ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1021.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> viewed through an operation op https://www.w3.org/1998/Math/MathML">   ik https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1022.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> subsumes https://www.w3.org/1998/Math/MathML"> Q s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1023.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , i.e. https://www.w3.org/1998/Math/MathML"> Q o p ik ∘ o p ij s i ⊇ Q o p ik s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1024.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , the users do not mind even if https://www.w3.org/1998/Math/MathML"> d ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1025.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is inserted in https://www.w3.org/1998/Math/MathML"> s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1026.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> as long as the users view https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1027.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> through https://www.w3.org/1998/Math/MathML"> o p ik https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1028.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Compensation

A traditional way to recover and restart an object https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1029.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is to take a checkpoint. https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1030.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is rolled back to a previous consistent state by restoring the state saved in the https://www.w3.org/1998/Math/MathML"> l o g ⁡ l i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1031.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> at the checkpoint. Many protocols for taking consistent checkpoints among multiple objects and restarting the objects are discussed so far.

Another way is to compute some operations to remove the effect done by the operations computed. An operation https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1032.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is a compensating operation of https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1033.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> if https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1034.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> ∘ o p j ( s ) = s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1035.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for every state s of an object https://www.w3.org/1998/Math/MathML"> o   3 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1036.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Let https://www.w3.org/1998/Math/MathML"> op ˆ i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1037.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> denote a compensating operation of https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1038.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Let https://www.w3.org/1998/Math/MathML"> s ' https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1039.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> be a state obtained by computing https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1040.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> on a state s of o, i.e. https://www.w3.org/1998/Math/MathML"> s ' = o p i ( s ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1041.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Here, o can be rolled back to s if https://www.w3.org/1998/Math/MathML"> o p ˜ i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1042.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is computed on https://www.w3.org/1998/Math/MathML"> s ' https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1043.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . For example, append is a compensating operation of delete. Suppose a sequence of operations op https://www.w3.org/1998/Math/MathML">   1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1044.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , https://www.w3.org/1998/Math/MathML"> … , o p m https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1045.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is computed on the object o. In order to undo https://www.w3.org/1998/Math/MathML"> o p 1 , … , o p m https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1046.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , a sequence of the compensating operations https://www.w3.org/1998/Math/MathML"> o p ˜ m , … , o p ˜ 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1047.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> can be computed. That is, https://www.w3.org/1998/Math/MathML"> op ∘ o p 1 ∘ … https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1048.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> ∘ o p m ∘ o p ˜ m ∘ … ∘ o p ˜ 1 = op https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1049.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for every operation op.

A pair of states s and https://www.w3.org/1998/Math/MathML"> s ' https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1050.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of o may be considered to be equivalent from the application point of view even if https://www.w3.org/1998/Math/MathML"> s ≠ s ' https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1051.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . For example, suppose there are two accounts A and B. First, https://www.w3.org/1998/Math/MathML"> A = 100 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1052.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> B = 50 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1053.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> at a state https://www.w3.org/1998/Math/MathML"> s 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1054.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Suppose https://www.w3.org/1998/Math/MathML"> A = 110 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1055.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> B = 40 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1056.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> at https://www.w3.org/1998/Math/MathML"> s 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1057.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> after A and B are manipulated. If the application is only interested in the total amount of A and https://www.w3.org/1998/Math/MathML"> B , s 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1058.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is considered to be equivalent with https://www.w3.org/1998/Math/MathML"> s 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1059.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Let us consider the multimedia object ME with two movies A and B, where it takes two hours to play each of A and B. This state is https://www.w3.org/1998/Math/MathML"> s 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1060.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Suppose that A and B are merged into a movie C. Here, the state is https://www.w3.org/1998/Math/MathML"> s 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1061.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Then, C is divided into two movies https://www.w3.org/1998/Math/MathML"> A ' https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1062.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> B ' https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1063.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . It takes one hour and half to play each of https://www.w3.org/1998/Math/MathML"> A ' https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1064.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> B ' . s 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1065.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> denotes this state. Each of A and B is composed of advertisement and content parts of the movie. https://www.w3.org/1998/Math/MathML"> A ' https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1066.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> B ' https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1067.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> include only the contents of A and B, respectively. The advertisements of A and B are merged into AB. Here, https://www.w3.org/1998/Math/MathML"> s 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1068.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is equivalent with https://www.w3.org/1998/Math/MathML"> s 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1069.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> since https://www.w3.org/1998/Math/MathML"> Q s 3 = Q s 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1070.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . divide is a compensating operation of merge.

Here, suppose a state https://www.w3.org/1998/Math/MathML"> s 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1071.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is obtained by applying an operation https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1072.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to a state s of an object o. Let us consider how to roll o back to s from https://www.w3.org/1998/Math/MathML"> s 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1073.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . One way is to compute the compensating operation https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1074.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1075.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> on https://www.w3.org/1998/Math/MathML"> s 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1076.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> since https://www.w3.org/1998/Math/MathML"> o p i ∘ o op i ( s ) = s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1077.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Here, suppose there exists an operation https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1078.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> such that https://www.w3.org/1998/Math/MathML"> o p i ∘ o p j ( s ) = s 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1079.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> where https://www.w3.org/1998/Math/MathML"> s ≠ s 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1080.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> but https://www.w3.org/1998/Math/MathML"> Q s 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1081.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> = Q ( ⟨ s ⟩ ) . s 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1082.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is not the same as s. However, https://www.w3.org/1998/Math/MathML"> s 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1083.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is QoS-equivalent with s.

[Definition] https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1084.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is a QoS-compensating operation of https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1085.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> iff https://www.w3.org/1998/Math/MathML"> Q o p i ∘ o p j ( s ) = https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1086.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> Q ( ⟨ s ⟩ ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1087.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for every state s of an object o.

Let https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1088.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> denote a QoS-compensating operation of https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1089.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Suppose one movie C is obtained by merging two movies A and B. Let https://www.w3.org/1998/Math/MathML"> s 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1090.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> show a state where A and B exist and https://www.w3.org/1998/Math/MathML"> s 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1091.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> indicate a state where there is C. Suppose the multimedia object ME supports an operation divide2 which divides C into three parts https://www.w3.org/1998/Math/MathML"> A ' ' , B ' ' https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1092.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and AB. https://www.w3.org/1998/Math/MathML"> A ' ' https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1093.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> B ' ' https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1094.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are the content parts of A and B, respectively, which are monochromatic. AB includes the advertisement parts of A and B. https://www.w3.org/1998/Math/MathML"> s 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1095.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> denotes a state where https://www.w3.org/1998/Math/MathML"> A ' ' , B ' ' https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1096.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and AB are obtained from A and https://www.w3.org/1998/Math/MathML"> B . s 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1097.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> s 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1098.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are not the same. Furthermore, A and B are colored but https://www.w3.org/1998/Math/MathML"> A ' ' https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1099.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> B ' ' https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1100.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are monochromatic. That is, https://www.w3.org/1998/Math/MathML"> A ⊇ A ' ' https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1101.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> B ⊇ B ' ' https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1102.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Here, suppose an application just requires to see the monochromatic one as RoS R. Here, https://www.w3.org/1998/Math/MathML"> Q s 3 ⊇ R https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1103.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> [Figure 4].

[Definition] op https://www.w3.org/1998/Math/MathML">   i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1104.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is an RoS-compensating operation of https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1105.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> on R iff https://www.w3.org/1998/Math/MathML"> Q o p i ∘ o p j ( s ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1106.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> ∪ Q ( ⟨ s ⟩ ) ⊇ R https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1107.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for every state s of an object o.

For example, divide2 is an RoS-compensating operation of merge in Figure 4.

Figure 4: RoS-compensating operation.

Let us consider a medical object https://www.w3.org/1998/Math/MathML"> ( MO ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1108.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> which supports medical operations as an example. Suppose an application https://www.w3.org/1998/Math/MathML"> A P 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1109.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> records medical operations in video data m of MO.m is a high resolution video data https://www.w3.org/1998/Math/MathML"> 1024 × 768 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1110.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> pixels). Suppose https://www.w3.org/1998/Math/MathML"> A P 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1111.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> displays m by an operation display 1 which can display video data with quality 1024×768 pixels. On the other hand, suppose an application https://www.w3.org/1998/Math/MathML"> A P 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1112.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> displays m through display2 which can display video with 640×480 pixels. Here, suppose https://www.w3.org/1998/Math/MathML"> A P 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1113.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> would like to restore m after deleting m. A video data https://www.w3.org/1998/Math/MathML"> m ' https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1114.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> with 640×480 pixels which is less qualified than m is obtained by undo. https://www.w3.org/1998/Math/MathML"> A P 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1115.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> can display https://www.w3.org/1998/Math/MathML"> m ' https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1116.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . undo is an RoS-compensating operation of record. It takes a shorter time to obtain https://www.w3.org/1998/Math/MathML"> m ' https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1117.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> by undo than restore m.

Suppose https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1118.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> invokes https://www.w3.org/1998/Math/MathML"> o p i 1 , … , o p i t i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1119.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> as shown in Figure ??. In order to compensate https://www.w3.org/1998/Math/MathML"> o p i ,  o p ˜ i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1120.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> can be computed as presented here. Since https://www.w3.org/1998/Math/MathML"> o p i 1 = o p i 1 , … , o p i t i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1121.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is equivalent with https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1122.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , a sequence https://www.w3.org/1998/Math/MathML"> o p ˜ i t i , … , o p ˜ i 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1123.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> can be computed to compensate https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1124.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Here, https://www.w3.org/1998/Math/MathML"> o p ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1125.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> cannot be absorbed by https://www.w3.org/1998/Math/MathML"> o p ˜ ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1126.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> since https://www.w3.org/1998/Math/MathML"> o p ˜ ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1127.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> may be defined with the QoS-based relation. Here, op https://www.w3.org/1998/Math/MathML"> ∘ o p i ∘ o p i 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1128.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is QoS-equivalent with op. The full expansion op https://www.w3.org/1998/Math/MathML">   i * https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1129.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> shows a sequence of all private operations directly and indirectly invoked by https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1130.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . If every private operation https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1131.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is compensated by the state https://www.w3.org/1998/Math/MathML"> l o g , op ∘ o p i ∘ o p ˜ i = op https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1132.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Here, op https://www.w3.org/1998/Math/MathML"> ∘ o p i ∘ o p i * = op https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1133.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . (opir ) is defined as follows:

https://www.w3.org/1998/Math/MathML"> o p i * - p ˜ i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1134.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> if https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1135.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is a private operation.

https://www.w3.org/1998/Math/MathML"> o p i * * = o p i t i * , … , o p i 1 * https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1136.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> otherwise.

In the traditional compensation, https://www.w3.org/1998/Math/MathML"> o p i * - https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1137.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is computed to compensate https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1138.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , i.e. every primitive operation computed in https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1139.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is undone.

QoS-Based Replication

In the traditional systems, objects are replicated in order to increase the reliability, availability, and performance. However, it is expensive to fully replicate multimedia objects. In our system, replicas support different levels of QoS. The applications can use replicas which support enough QoS (RoS) required by the applications.

23.1. Retrieval operations

First, suppose that an application would like to get a snapshot https://www.w3.org/1998/Math/MathML"> o p ij s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1140.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> from a state https://www.w3.org/1998/Math/MathML"> s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1141.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of an object https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1142.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> by an operation https://www.w3.org/1998/Math/MathML"> o p ij . o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1143.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> has to support the application with not only https://www.w3.org/1998/Math/MathML"> o p ij s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1144.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> which satisfies the qualification specified in https://www.w3.org/1998/Math/MathML"> o p ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1145.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> but also enough QoS https://www.w3.org/1998/Math/MathML"> Q o p ij s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1146.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Here, let R denote the applications’ requirement QoS (RoS) for the snapshot which the application derives from the object. If there exists some object https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1147.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> supporting an operation https://www.w3.org/1998/Math/MathML"> o p ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1148.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> such that https://www.w3.org/1998/Math/MathML"> R ⊆ Q o p ij s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1149.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , the application can manipulate https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1150.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to derive the snapshot data by using https://www.w3.org/1998/Math/MathML"> o p ij . https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1151.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Otherwise, the application cannot manipulate any object. For example, suppose there are three objects https://www.w3.org/1998/Math/MathML"> o 1 , o 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1152.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and https://www.w3.org/1998/Math/MathML"> o 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1153.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> where https://www.w3.org/1998/Math/MathML"> Q o p 1 s 1 ⊂ R , Q o p 2 s 2 ⊇ R https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1154.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and https://www.w3.org/1998/Math/MathML"> Q o p 3 s 3 ⊇ R https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1155.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . o https://www.w3.org/1998/Math/MathML"> o 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1156.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> or https://www.w3.org/1998/Math/MathML"> o 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1157.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> can be manipulated by the applications because they satisfy R. If https://www.w3.org/1998/Math/MathML"> Q o p 2 s 2 ⊇ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1158.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> Q o p 3 s 3 , o 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1159.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is selected.

Suppose there are two objects https://www.w3.org/1998/Math/MathML"> o 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1160.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1161.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> which support operations https://www.w3.org/1998/Math/MathML"> o p 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1162.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1163.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , respectively, and an application is manipulating https://www.w3.org/1998/Math/MathML"> o 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1164.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> though https://www.w3.org/1998/Math/MathML"> o p 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1165.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . If https://www.w3.org/1998/Math/MathML"> o 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1166.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is faulty or https://www.w3.org/1998/Math/MathML"> o 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1167.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> cannot support QoS subsuming RoS R, the application can no longer use https://www.w3.org/1998/Math/MathML"> o 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1168.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Here, if https://www.w3.org/1998/Math/MathML"> o 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1169.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> supports enough QoS for the application, i.e. https://www.w3.org/1998/Math/MathML"> Q o p 2 s 2 ⊇ R https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1170.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for a state https://www.w3.org/1998/Math/MathML"> s 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1171.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of https://www.w3.org/1998/Math/MathML"> o 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1172.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , the application can manipulate https://www.w3.org/1998/Math/MathML"> o 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1173.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> on behalf of https://www.w3.org/1998/Math/MathML"> o 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1174.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

[Definition] An object https://www.w3.org/1998/Math/MathML"> o j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1175.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is a QoS-based replica of https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1176.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> iff there is one operation https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1177.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and state https://www.w3.org/1998/Math/MathML"> s j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1178.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of https://www.w3.org/1998/Math/MathML"> o j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1179.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> such that https://www.w3.org/1998/Math/MathML"> Q o p j s j ⊇ Q o p i s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1180.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for every operation https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1181.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and state https://www.w3.org/1998/Math/MathML"> s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1182.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1183.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Here, if https://www.w3.org/1998/Math/MathML"> Q o p j s j = Q o p i s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1184.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for every https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1185.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> s j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1186.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of https://www.w3.org/1998/Math/MathML"> o j , o j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1187.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is a QoS-based full replica of https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1188.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

[Definition] An object https://www.w3.org/1998/Math/MathML"> o j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1189.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is an RoS-based replica of https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1190.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> on R iff there is one operation https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1191.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> s j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1192.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of https://www.w3.org/1998/Math/MathML"> o j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1193.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> such that https://www.w3.org/1998/Math/MathML"> Q o p j s j ⊇ Q o p i s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1194.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> Q o p i s i ⊇ R https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1195.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for every operation https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1196.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and state https://www.w3.org/1998/Math/MathML"> s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1197.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1198.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Here, if https://www.w3.org/1998/Math/MathML"> Q o p j s j = Q o p i s i ⊇ R https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1199.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for every https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1200.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> s j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1201.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of https://www.w3.org/1998/Math/MathML"> o j , o j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1202.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is an RoS-based full replica of https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1203.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

23.2. Update operations

The update operations can be considered to write some data to https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1204.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Here, let W be the applications’ requirement https://www.w3.org/1998/Math/MathML"> Q ∘ S ( RoS ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1205.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of the data to be stored in the system. The RoS-based replicas https://www.w3.org/1998/Math/MathML"> o 1 , … , o n https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1206.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1207.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> have to be changed in order to keep the states of objects semantically consistent. The replicas are manipulated according to the following rules:

If https://www.w3.org/1998/Math/MathML"> W ⊃ m a xQ o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1208.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , the application writes the state with https://www.w3.org/1998/Math/MathML"> m a xQ o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1209.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1210.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

If https://www.w3.org/1998/Math/MathML"> m i nQ o i ⊆ W ⊆ m a xQ o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1211.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , the application writes https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1212.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> with W in https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1213.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

If there is an object https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1214.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> such that https://www.w3.org/1998/Math/MathML"> W ⊂ m i nQ o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1215.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , the application can write no object.

Suppose an application stores video data to three multimedia objects https://www.w3.org/1998/Math/MathML"> M E 1 , M E 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1216.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and https://www.w3.org/1998/Math/MathML"> M E 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1217.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Suppose the application requires that each object support RoS R of 25 fps. Suppose https://www.w3.org/1998/Math/MathML"> M E i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1218.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> supports https://www.w3.org/1998/Math/MathML"> Q o S ⁡ Q M E i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1219.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> as shown in Table 1 . In this case, the application can store video data with https://www.w3.org/1998/Math/MathML"> 25 f p s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1220.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> which satisfies R because each object satisfies https://www.w3.org/1998/Math/MathML"> m i nQ M E i ⊆ R https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1221.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . However, https://www.w3.org/1998/Math/MathML"> M E 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1222.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> stores video data with 15 fps because https://www.w3.org/1998/Math/MathML"> m a xQ M E 3 = ⟨ 15 f p s ⟩ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1223.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . However, if RoS is https://www.w3.org/1998/Math/MathML"> 10 f p s , M E 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1224.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> cannot store video data with https://www.w3.org/1998/Math/MathML"> 10 f p s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1225.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> since https://www.w3.org/1998/Math/MathML"> m i nQ M E 2 = ⟨ 15 f p s ⟩ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1226.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Table 1: Maximal and minimal QoS.

https://www.w3.org/1998/Math/MathML"> M E i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1227.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> m a xQ M E i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1228.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> m i nQ M E i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1229.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> M E 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1230.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> 25 f p s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1231.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> 10 f p s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1232.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> M E 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1233.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> 30 f p s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1234.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> 15 f p s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1235.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> M E 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1236.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> 15 f p s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1237.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> 5 f p s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1238.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Concluding Remarks

This paper has discussed how to make the distributed system flexible with respect to QoS supported by the objects. We have discussed the novel equivalent and conflicting relations among the operations on the basis of QoS. We have also discussed the compensating method to undo the work done. A state equivalent with the previous qualified state with respect to QoS is obtained by computing the compensating operations of operations computed. We have also discussed the QoS-based replication to support required QoS in QoS change of objects.

Bibliography

Bernstein, P. A., Hadzilacos, V., and Goodman, N., “Concurrency Control and Recovery in Database Systems,”Addison-Wesley Publishing Company, 1987.

Budhiraja, N., Marzullo, K., Schneider, B. F., and Toueg, S., “The Primary-Backup Approach,” Distributed Computing Systems, ACM Press, 1994, pp.199-221.

Korth, H. F., Levy, E., and Silberschalz, A., “A Formal Approach to Recovery by Compensating transactions,” Proc. of the VLDB, 1990, pp.95-106.

Schmidt, D. C., Gokhale, A. S., Harrison, T. H., and Parulkar, G., “A High-Performance End System Architecture for Real-Time CORBA,” IEEE Communications Magazine, 1997, pp.72-77.

Schneider, B. F., “Replication Management using the State-Machine Approach,” Distributed Computing Systems, ACM Press, 1993, pp.169-197.

Takizawa, M. and Yasuzawa, S., “Uncompensatable Deadlock in Distributed ObjectOriented Systems,” Proc. of IEEE Int’l Conf. on Parallel and Distributed Systems (ICPADS-92), 1992, pp.150-157.

Tanaka, K. and Takizawa, M., “Distributed Checkpointing Based on Influential Messages,” Proc. of the 4 th IEEE Int’l Conf. on Parallel and Distributed Systems (ICPADS-96), 1996, pp. 440-447.

Yoshida, T. and Takizawa, M., “Model of Mobile Objects,” Proc. of the 7th Int’l Conf. on Database and Expert Systems Applications (DEXA’96), 1996, pp. 623-632.

Information Technology Center, Mitsubishi Electric Corporation

Hisao Koizumi

Department of Computer and System Engineering, Tokyo Denki University

Norio Shiratori Toh, Toku University Research Institute of Electrical Communication, Tohoku University ABSTRACT

Corporate information systems, aiming at reduction of cycle times from order receipt to shipment, are increasingly based on integrated package software. In development of such a system, joint application design (JAD) plays an important role. In this paper, we propose a model of processes for the development of corporate information systems using integrated software packages, and also propose a method of CSCW to support determination of specifications. In this model, development tasks are divided into a number of stages, in each of which JAD activities are conducted with members located at remote sites. This methodology was actually applied to development processes, and evaluation results confirmed the usefulness of the method.

1 Introduction

In corporate information systems, such subsystems as accounting and production management must be integrated through a single database in order to reduce cycle times from receipt of orders until shipment. In light of these requirements, system development using integrated package software is attracting considerable attention.

In development such a system JAD (joint application design), in which the integrated package is used in prototyping and the users and developers cooperatively define requirements and determine specifications based on the prototyping, plays a vital role.

In JAD, the participation of key personnel in specification determination is required. But because these persons are not necessarily in the same physical location, JAD activities with remote sites often become necessary. Such cooperative tasks can therefore be regarded as one mode of CSCW (computer-supported cooperative work).

In this paper, we propose a model for processes in the development of a corporate information system utilizing integrated package software, as well as a method for CSCW supporting determination of specifications. In this CSCW, development tasks are divided into several stages, and in each stage JAD activities are conducted with members at remote sites. This method was applied to an actual development process, and evaluation of the results confirmed the efficacy of the method.

Problems in Support for Specification

Using integrated package software, the various functions required in a corporate information system can be selected by setting parameters, so that systems can be developed far more efficiently than in the past. However, one problem faced in development of such a system is how to appropriately choose specifications for the system to be developed; and this in turn entails various other problems.

The need for remote cooperative activities

The concerned parties may not necessary be in physically proximate locations, so remote arrangements enabling persons at distant locations to participate in a suitable manner can play a vital role.

Problems relating to description of specifications

In traditional development, discussions are based on described documents, so that often discussions proceeded without the specifications having been conveyed in a suitable manner to participants. So, it is important that prototyping be used to actually operate a system.

Problems relating to modeling of specification determination processes Processes necessary for determining specifications must be based on such stages as identification of overall concepts, clarification of the overall flow, and specification of the individual functions. These processes must be established as a clear model.

Proposal of a Process Support Model Using Inte- grated Package Software

In development of corporate information systems using integrated package software, we refer to the tasks of specification definition, confirmation and finalization, which can be performed in an environment in which participants are in physically remote locations, as ‘Remote JAD’ activities. We here propose a model for development using remote JAD, as well as a model of process support for specification determination through remote JAD activities.

Figure 1: System development process using integrated package software.

27.1. Remote JAD environment

For remote JAD, an environment is necessary in which a prototype system using integrated package software can be operated, and the same task screens for this system can be viewed by participants at both local and remote sites while they exchange opinions orally. By using projectors to display the system screens on a large-format screen, the sense of presence of the participants can be enhanced. And, by displaying the images of participants as well as sharing task data among sites, cooperative activities can be further promoted.

27.2. Model of development process using an integrated package

illustrates a model of development using integrated package software. In the figure, the development processes are organized in stages consisting of the tasks described below.

Stage 1: Plan drafting

In this stage, a plan for system development is drafted, goals are clarified from the management perspective of system development, general system functions are elucidated, and processes, costs and other parameters are proposed. In this stage, prototype 1 is created, and remote JAD activities are conducted (JAD1). The contents of each JAD activities are indicated in Table 1.

Stage 2: Definition of requirements

In this stage, the system requirements are defined. Hearings are held on re- Table 1: Contents of JAD Process.

quired specifications based on the rough specifications resulting from the JAD1 activities, and requirements are defined. Next, prototype 2 is created based on this, and JAD2 is conducted. The parameters of the integrated package are set according to the requirements defined above to determine the functions of prototype 2 . Based on survey contents, the database fields and code system of the integrated package are mapped to those of the system under development, and data fields and code system settings for the prototype are chosen.

Stage 3: System design and implementation

Stage 3-1: System design: Based on required system specifications from stage 2 , the settings of the package parameters are studied, additional modules for development are designed, and prototype 3 is constructed. This prototype 3 is created by adding to prototype 2 the minimum necessary functions, and by setting more detailed parameters for package customization. Using this prototype 3, JAD3 activities are conducted.

Stage 3-2: System implementation: Here details of the additional functions are designed, programs are created and subsystem tests are conducted, including both additional modules and the integrated package modules.

Stage 4: Implementation of the operating environment: System installation in actual hardware is performed and data is transferred from current systems. And system tests are also performed. JAD4 is conducted for adjustment of system function.

Figure 2: JAD1 process of consensus-building on use of package.

Stage 5: System operation: This stage involves follow-up to the initial operation stage.

JAD participants include upper management, managers of individual divisions, key personnel in practical affairs, developers, and experts on the integrated package; these persons must participate at the proper times, and for this remote JAD, which is free from geographical constraints, is essential.

27.3. Modeling of processes in remote JAD

Next we discuss processes in different remote JAD activities. Each type of JAD has different goals and different participants, so processes will also be different.

27.3.1. JAD1

The process of remote JAD1 are as shown in Figure 2. In this process, initially the business problems which it is expected the system will solve are presented and agreed upon. Next, major functions-that is, system development goals-are presented and agreement is reached. Prototype 1 is operated to address each of these goals, it is confirmed that the current prototype specifications are in agreement with the general functions expected of the system, and if there are discrepancies, additional requirements are identified. The general specifications of each subsystem are also confirmed. After confirmation of each set of specifications is completed, JAD participants verify that there are no contradictions within the system and that no major functions are missing. If there are any problems related to these points, items for confirmation are again presented and agreement is again reached, and this process of specification confirmation is repeated. If no amount of repetition solves the problem, then use

Figure 3: Process of requirement making by JAD2.

of the integrated package is abandoned. If there are no problems, requirments are passed on to stage 2 as rough required specification.

27.3.2. JAD2

The process of remote JAD2 are as shown in Figure 3. The purpose of JAD2 is to elucidate required specifications through prototype operation, rather than through documents. In JAD2, the system requirements that become the premises for construction of prototype 2 are first presented, and participants reach agreement on these requirements. Next the prototype specifications are confirmed through operation of prototype 2 , and the validity of data fields set for this system in the database is verified. The process of determination consists of the following steps, as in the upper half of Figure 3 .

Analysis of differences between required specifications and prototype 2

Analysis of the feasibility of absorbing differences through adjustment of the parameters of the integrated package

Figure 4: JAD3 process of system design.

If the above is not possible, analysis of the possibility of absorbing differences through modification of business procedures in accordance with the functions of the integrated package

If business procedures cannot be changed, study of the specifications of additional functions corresponding to the required specifications

https://www.w3.org/1998/Math/MathML"> 3 . 3 . 3 J A D 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1239.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

The process of remote JAD3 are as shown in Figure 4 . Whereas the purpose of JAD2 was definition of required specifications, the aim of JAD3 is to determine the specifications of individual items in prototype 3 , which is customized in greater detail, and also to determine the specifications of functions for additional development. Moreover, in prototype 3 the minimum necessary functions are added to prototype 2 . Initially the required specifications representing the output of JAD2 are presented, and are confirmed by the JAD participants. In confirming operation, transaction data is input and the relevant subsystem started to confirm the specifications for the functions in question; if the JAD participants agree that there is no discrepancy with the required specifications, then that item is completed.

Application to System Development and Evaluation

29.1. Application to system development

29.1.1. Outline of the system for development

We here discuss the results of inspection in the development of a corporate information system for a certain company. The scope of system development included pro-

Figure 5: Verification system environment.

duction, material, purchasing, and accounting management. Approximately eleven months were required for development.

29.1.2. Remote JAD environment

The remote JAD environment of the verification system appears in Figure 5. This system employs a network in the company, connecting two points via PCs and using software with common screens.

The remote JAD participants project screen images on a large-format screen using a projector. A https://www.w3.org/1998/Math/MathML"> 10 M b p s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1240.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Ethernet LAN connect the PCs; this LAN is connected to LANs at other sites via the frame relay of a company wide-area network. The frame relay transmission rate is https://www.w3.org/1998/Math/MathML"> 128 k b p s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1241.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Voice transmissions employ an ordinary company telephone network. A Lotus Notes database can be used at both sites, and conference themes, the minutes of the previous conference are input in advance. In this study images of participants were not transmitted, so as to alleviate the load on the network.

29.1.3. Example of the contents of a remote JAD session

Of the remote JAD activities conducted in this study, we here describe one design process for the materials subsystem conducted as part of JAD3.

Participants

Site 1 (plant): Materials subsystem development leader four users of the materials subsystem; five persons total. – Site 2 (System Development Division): Three persons of materials subsystem development, one expert on the integrated package; four persons total.

Details of the design process

Required specifications: Design of rules for inventory inquiry when an order is received

Specification confirmation (1): In the current prototype system, when an order is received, inventory inquiry is performed only for currently existing stock.

Differences with required specifications: It was pointed out that there is a need to include those issuing purchasing orders (orders issued by the purchasing department to parties outside the company) and those making purchase requests (sent from the production planning department to the purchasing department). (At this company, production in the company and purchases from outside the company are conducted in parallel.)

Modification of prototype parameters: In package parameter settings, it is possible to include items the purchase of which has been ordered or requested. However, there is some debate over whether such settings are appropriate-that is, over the accuracy of the delivery date for ordered items. We confirmed the operation of the system in these cases based on previous data.

Specification confirmation (2): Based on past data under assumptions similar to those for the existing system, it was discovered that when order receipt processing is performed, the delivery date response is earlier by five days. The number of days elapsing until actual order of items for which an order request was sent from the onsite division to the materials division fluctuated greatly between one and seven days, and it was pointed out that inclusion of this period in the delivery date response would be reckless. However, the new system links purchase request data to the materials subsystem in real-time and so only one-day elapses until the actual order. Thus purchase-request items were made to be regarded as usable stock, and parameters were modified.

30.1.4. Overall state of execution of remote JAD

The participants and average number of persons involved in JAD1, 2,3 and 4 in the verification project, as well as the number of JAD sessions and average hour of each session, appear in Table 2. The effect of remote JAD was evaluated by comparing costs with the case in which all JAD activities were performed locally. The costs of local JAD sessions consist of participant costs, cost of participant movement, and losses involved in movement. Here participant costs are simply the number of JAD hours multiplied by the number of participants and by a unit cost per hour. Table 2: Status of JAD execution(Cost unit is 10 Kyen).

https://www.w3.org/1998/Math/MathML"> 5 ( 3 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1242.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> 7 ( 4 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1243.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> 9 ( 5 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1244.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> 4 ( 3 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1245.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Participant movement costs are the cost of movement (transportation) hours the number of persons, and transportation losses are the same unit cost per hour times the number of individuals, times the number of hours of movement. Remote JAD communication line and equipment costs consists of the respective unit costs times the number of JAD hours. Approximately half of the JAD participants participate from the remote site. From the table we see that remote JAD results in a cost reduction of approximately 7.4 million-Yen.

30.1. Evaluation and analysis

30.1.1. Evaluation of model of development process

JAD activities must be conducted at various levels corresponding to each stage of development. Hence the clarification of problems which is performed at the beginning of each process to determine specifications played a vital role in this development.

30.1.2. Evaluation of processes for specification determination

In this project, the appropriate members participated in each type of JAD activity, so that specifications were adopted in a highly efficient manner. This was due partly to the ability to secure the participation of the required members using remote JAD, and also because through system operation using historical data, as in the example of the JAD3 process, the participants were able to understand very clearly the significance of different parameters and their function within the system.

30.1.3. Evaluation of remote cooperative activities

Differences in costs due to use of remote JAD were shown in Table 2, from which we see that adoption of remote JAD produced a savings of about 7.4 million Yen. This is nearly one-tenth of the 95 million Yen total cost of the project, thus clearly demonstrating the efficacy of the remote JAD approach.

Conclusions

In this paper, we have proposed a model for development procedures when using integrated package software for software development, as well as a remote JAD method to support determination of specifications. On applying this method to the development of an actual system and evaluating the results, its effectiveness was confirmed. Themes for future research include the following: accumulation of experience in specification determination processes, and methods for reuse of this experience; estimation of productivity for system development by using JAD.

Bibliography

Koizumi et al., “A Proposal of Decision-Making Process Support Methods and It’s Implementation,” IPSJ Trans, Vol. 37, No. 5, pp. 911-919 (1996).

Fukazawa et al., “A group-ware Frame work -CCF for Cooperation of CSCW Applications,” IPSJ Group-ware workshop 18-5 (1996).

Grudin, “The History and future of CSCW and Group-ware: A Personal View,” IPSJ Group-ware workshop 12-6 (1995).

Tj Baldwin, “ A design for multimedia desk-to-desk conferencing,” IEEE conference Publish (Inst. Electronics Eng.), No. 371, pp. 160-166 (1993).

Masui et al., “Office system with group ware function,” EIC Trans. Vol. D-113, No. 12 (1995).

Takagi, “Communication Architecture in group decision making meeting,” IEE Trans., Vol. C114, No. 3 (1994).

Itho, “Corporate information development using Interrogated Package software,” IPSJ Journal, Vol. 37, No. 8 (1996).

James Martin, “Rapid Application Development,” Rictelecom (1994).

Vicarious Certification and Billing Agent for Web Information Service

ABSTRACT

n this paper, we describe the concepts and implementation of agent providing vicarious certification and billing methods in World Wide Web. The object of vicarious certification is to provide open interface to users using World Wide Web information service. The billing agent has enhanced functions for usage based mini payment method, vicarious billing management instead of each CP (Content Provider), which gives reduction of costs needed for billing management. Our approach works with every WWW browser on every system. No additional software has to be installed at the user’s computer or CP’s server side.

1 Introduction

The World Wide Web is a document distribution system based on a client/server model. https://www.w3.org/1998/Math/MathML">   1 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1246.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> The World Wide Web has experienced exponential growth over the last few years. https://www.w3.org/1998/Math/MathML">   2 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1247.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> For example, in the first ten months of 1994 the amount of WWW traffic on the Internet doubled roughly in every 11 weeks. There are many reasons for the success: very low entry costs, freely distributed browser or free noncommercial use, free servers and not too difficult installation for anyone with reasonable computing skills. https://www.w3.org/1998/Math/MathML">   3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1248.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Although noncommercial usage has dominated the Internet for a long time, some commercial applications have emerged recently. The portion of commercial World Wide Web sites has increased. There are several types of commercial World Wide Web services: on-line shopping, education, information providing, etc.

The Information providing service is a sort of commercial Internet services. We call the information service provider a CP (Content Provider). The CP provides many sorts of valuable information to Internet users such as on-line newspapers, picture database, patent, etc. Many commercial CPs exist, but there are some problems to widen the web information service. The main problem is billing for information usage. Billing is an important aspect of World Wide Web, and there are several billing mechanisms that are well established for many years. https://www.w3.org/1998/Math/MathML">   4 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1249.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Most of the suggested billing methods require some actions to the service user side and server side. A certification method is required to support billing, for example, basic authentication method, secure protocol, SSL (Secure Sockets Layer), etc. The information service user has to maintain certification for each information provider. Recently, the certification agent server technique has emerged, because formal identification is required for commercial use of Internet services. https://www.w3.org/1998/Math/MathML">   5 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1250.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> The most significant problem for billing is management. The CP must manage all processes of billing of their own. These processes require enormous efforts to collect the bill and to manage many service users.

In Korea, the INFOSHOP service was started on October 1995 by Korea Telecom. The INFOSHOP service is an open Value-Added Network (VAN) service concept that can provide a variety of value-added services such as videotex, facsimile mail, voice application, message switching, and information retrieval services. https://www.w3.org/1998/Math/MathML">   6 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1251.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> INFOSHOP is the abbreviation of Information and Shop. The service users access the INFOSHOP service via telephone line. In the traditional service mechanism, the service users has to keep their passwords separately whenever they register new service providers, and could not easily access another VAN service system without redialing and it was difficult to know where the desired information was. From an information provider’s perspective, he must keep the large subscriber database and has problems in charging for service usage rate and installation cost. From a common carrier’s perspective, he experiences congestion and overload problems in PSTN (Public Switched Telephone Network) because of mixture of voice and non-voice traffic. To cope with these problems and support Infoshop service, the INFOSHOP service system has been developed. Korea Telecom manages advertising, information usage fee demand, receipt, and administration instead of each information provider. The information providers concentrate on the development of the content of information DB (DataBase). This is a vicarious billing for information usage.

The vicarious billing for information usage gives reduction of investment cost needed for collecting the bill. The small-scale information provider can easily start his information providing business.

Vicarious Certification and Billing Agent(VCBA)

3.1. Conceptual model of vacarious certifiaction

Typically, a WWW (World Wide Web) client (usually a web browser) sends a HTTP (HyperText Transfer Protocol) request directly to the target WWW server, and that server returns the response directly to the client. The certification between client and server is done by exchanging credentials according to the certification method. The HTTP is a very simple semantic based application level protocol. Internet is also an open network to the world, so the security mechanism is required for the exchange of credentials. There are several types of security mechanisms such as basic authentication in HTTP 1.0, S-HTTP (Secure HTTP), SSL (Secure Sockets Layer), and encryption methods such as DES (Data Encryption Standard) https://www.w3.org/1998/Math/MathML">   7 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1252.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and RSA https://www.w3.org/1998/Math/MathML">   8 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1253.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . The client must know the type of security mechanism and certification method. The user (client) has responsibilities to protecting from being hacked. This fact is troublesome to service user, if there are many sites that the service user must maintain.

For example, in many charged sites, the certification method that is adopted is the basic authentication method provided in HTTP version 1.0. In this method, the service user must have a username and password for using the charged information provider’s web site. The service user must maintain each web site’s address, username and password. It is very hard to maintain such information on many charged web sites.

The purpose of vicarious certification is to provide an open interface to users (clients). The service user can use CPs charged information without identification. The vicarious certification and billing agent (VCBA) has a role of giving credentials to CPs instead of service user.

Figure 1: Conceptual model of Vicarious Certification

shows a conceptual model of vicarious certification. In this model, the certification agent has a role of vicarious certification. If the service user sends a request to charged CP, the vicarious agent sends credentials to the designated CP instead of the service user. There are no certification functions in the user (client) side. The service user can use the CP’s information without any trouble to manage credentials for each charged CPs. To provide full security for use of certification agent, the network between the user and certification agent must be a closed private access network like VAN (Value-Added Network), PSTN, or PSDN (Packet Switched Data Network). This means the network must have a security mechanism or must provide network access restriction against public access.

The network between Certification Agent and charged CPs is open as a public access network like Internet. The certification agent must provide a security mechanism to protect from hacker’s attack. All responsibilities for the security problem reside on the certification agent side. The role of certification is moved from the service user to the certification agent.

3.2. The concept of billing agent

The trends for billing in WWW information service are using credit card or bank transfer for information usage fee. The service user can use the CP’s information from one week to several months according to the bill. This billing method burdens a user with plenty of bills, especially the users who want to use the information from time to time. This fact is one of the reasons that the service user cannot easily decide to use charged WWW service.

The current method cannot prevent illegal use of information. Credit card payment has a risk of appropriation, and a pre-paid method through bank transfer may cause rejection symptoms of users. A post-paid method may cause difficulties for receipt. The most significant problem of billing is that each CP must manage all of these billing management burdens.

To improve these problems, the billing agent has the characteristics as follows:

Usage based mini payment method

the billing agent takes care of billing management

On the CP side, the function of billing management is moved to the billing agent. This gives reduction of costs needed for billing management. A major role of prices is to present information for people on the true costs of their actions. https://www.w3.org/1998/Math/MathML">   9 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1254.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Usage-based prices can be used to prioritize usage of a congested resource like a WWW server so that those who value access most get the highest priority. The usage rate is calculated according to the used time or amount of used data.

3.3. The application

In the proxy technique, the WWW client sends the full URL (including protocol and server portions) to the designated proxy, which then connects to the desired server via the desired protocol, issues the request, and forwards the result back to the initial client. The key observation is that the client uses HTTP to communicate with the proxy, regardless of the protocol specified in the URL. There are some researches on using proxy for application level transducer. https://www.w3.org/1998/Math/MathML">   10   31   1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1255.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> )

We use proxy HTTP daemon for VCBA. The request from the user is modified, and then transferred to Charged CP.

The interface between the user and billing agent is PSTN (Public Switched Telephone Network). The user is connected to the VCBA using PPP (Point-to-Point Protocol) over PSTN. The PSTN is a designated telephone line to an authorized user, so that it can provide the secured access to the VCBA.

There are several certification methods in the WWW. Currently, we provide the basic authentication method proposed in HTTP version 1.0 that is the standard WWW protocol. The system architecture of VCBA is independent from the authentication methods, and therefore, we can support any type of authentication methods. The service users do not mind what the method of authentication is.

is an example of Web Infoshop service system. In this system the VCBA has a function of vicarious certification and billing agent. The KORNET is one of the ISP’s (Internet Service Provider) Internet access lines in Korea. As our open access method allows a user to access KORNET without identification, everyone who wants to be connected to the Internet can do it. The WACS (Web infoshop node ACcess Subsystem) is a telephone network processing system. When a user is connected to the Web Infoshop System through WACS, the WACS detects the telephone subscriber number of the user using R2 signaling and displays a welcome message on the user’s PC. The detailed scenario is described in the next section. However, the detailed description of WACS is not within the scope of this paper. It works with a protocol converter from PPP to IP (Internet Protocol).

Figure 2: Web Infoshop Service System

Figure 3: Protocol Stack of Web Infoshop Service System

is the protocol stack of Web Infoshop service system. The WACS act as an IP router, which transmits IP packet to the VCBA and Internet. The TCP (Transmission Control Protocol) layer in WACS is used to transfer operational data of service.

Our approach works with every WWW browser on every system. No additional software has to be installed at the user’s computer or CP’s server side.

3.4. Scenarios for vicarious certification

is the scenario of vicarious certification when the user sends a request to the charged CPs. Steps 1,2,3 show modem connection by a user. The user dials a special telephone number designated by the VCBA system. If the modem connection is successful, the VCBA displays the introduction to the usage of VCBA, then shows selection menus of protocols that can be supported by the VCBA system. Steps 4,5,6 show PPP connection. If the user selects PPP connection method, the system sets up the PPP connection, then gives IP address to the user. From this time, the user can use the Internet service.

Figure 4: Scenario of Vicarious Certification

The user runs the web browser in step 7. At step 8, the user requests URL to the VCBA. The VCBA checks the URL whether the requested destination site is a charged CP. If the request is toward the charged CP, the VCBA sends notification to the user with billing information. If the user accepts the informed condition, then the billing agent adds the credentials for the designated charged CP and sends modified request to designated CP. The CP sends a response according to the request from VCBA. The VCBA finally responds to the user. Then the browser shows the information to the user.

3.5. Scenarios for billing

Figure 5: Scenario of Billing

The HTTP is a connectionless protocol, which makes TCP connection for each request. It is hard to find the user status of WWW usage whether the request is for the first time or not. To solve this problem, WACS sends the PPP connection and disconnection information to the VCBA. The VCBA makes and maintains PPP connection table using connection information, deletes the PPP connection table according to PPP termination info. The VCBA determines whether the requirement is the first request or not using the PPP connection table. Figure 5 is the scenario diagram for overall scenario.

Figure 6: MSC#1: VCBA initial request scenario

MSC #1 is the scenario for processing initial user request. MSC #2 is the scenario for processing subsequent user request.

Figure 7: MSC#2: VCBA subsequent request scenario

When the user finishes the PPP connection, the VCBA calculates the billing data for the user. When the user finishes the modem connection, the WACS calculates telephone usage, and sends it to OAM sub-system.

Characteristics

4.1. Open access to charged CP and usage based billing

The Web service user does not think about the identification to the charged CPs. Vicarious certification gives convenience of WWW usage and reduces the burden of credential management of a user. The billing data can be calculated by the billing agent with the unit of used time or the amount of used data, that is usage based billing. The billing agent has all security responsibilities; there is no risk from hacker to user side.

4.2. Flexible billing architecture independent from CP’s server

To use the billing agent, the CP must give credentials of their own to the billing agent’s manager. According to the basic authentication method, the credential is a pair of username and password. There are no needs to change the architecture of CP’s server or server software. These facts give flexibility to maintain CP’s server program. Only one server is necessary to maintain the charged CP sites if the access methods are different, i.e., from the billing agent or public Internet lines.

4.3. Authentic billing management via PSTN

It is a problem to receive the usage fee using the current payment method, because there is not authentic billing method. In our billing agent system, the usage fee demand is linked to the user’s telephone line. This guarantees the authentic billing management.

4.4. Convenient identification management to service users

If the user accesses the content provider in Internet without vicarious certification, the user must manage each identification values – username and password – of each CP. There is no problem if the number of managing sites is small. But as the number increases, the user may not remember each identification value. With the aids of vicarious certification, the user can access many Internet CPs with only one certification to web Infoshop system.

Conclusion

We developed an agent providing vicarious certification and billing methods. The Web service user can access the charged CP without identification, that is, open access method to the charged CP. We support a usage based billing method, which can reduce the user’s billing burden. From the standpoint of CP, the billing management function is moved from each CP to the billing agent. There is no need to change the server architecture of the charged CP servers, which gives flexibility of server management. Our system is best fitted to small-size electronic commerce on WWW Information providing services. For example, it is the special DB service, online publication, games, etc.

Currently, our system has a role of vicarious certification and billing, but the concept of agent is the application level HTTP gateway. In the application level HTTP gateway, the transformation of HTTP message can be done according to various application needs. It has a function of making the information to be valueadded.

Acknowledgment

This work is a part of the project “Web Infoshop Service Node Development” sponsored by Korea Telecom.

Bibliography

Radhika Malpani, Jacob Lorcb, David Berger, “Making World Wide Web Chaching Servers Cooperate,” Fourth International World Wide Web Conference, pp. 107-117 (1995).

O’Callaghan, D., “A central cashing proxy server for WWW users at the University of Melbourne,” Proceedings of AusWeb95, the first Australian World Wide Web Conference, March (1995).

Gavin Thomas Nicol, “DYNA WEB Integrating Large SGML Repositories and the WWW,” Fourth International World Wide Web Conference, pp. 549-558, December (1995).

Amir Herzberg, Hilik Yochai, “MiniPay: Charging per Click on the Web,” Sixth International World Wide Web Conference, pp 239-253, April (1997).

Adam Cain, “SECURITY, AUTHENTICATION, AND PRIVACY ON THE WEB,” Fourth International World Wide Web Conference, Tutorial notes pp 103-125, December (1995).

Dong Won Kim, Kyung Pyo Jun, Geun Teak Ryu, Hyeon Deok Bae, “Development of an Infoshop Service System,” ICCE’96, June, (1996).

Feistel H., “Cryptography and Computer Privacy,” Scientific American, May (1973).

Rivest R., Shamir A., Adleman L., “A Method for Obtaining Digital Signatures and Public Key Cryptosystems,” Communications of the ACM, Feburary (1978).

Jeffrey K. MacKie-Mason, Hal R. Varian, “Some FAQs about Usage-Based Pricing,” Second International World Wide Web Conference, pp. 302-311, December, (1993).

Charles Brooks, Murray S. Mazer, Scott Meeks, Jim Miller, “Application-Specific Proxy Servers as HTTP Stream Transducers,” Fourth International World Wide Web Conference, pp. 539-548, December, (1995).

Louis Perrochon, Andrea Kennel, “W3-Access for Blind People,” Fourth International World Wide Web Conference, Poster Session pp. 92-93, December, (1995).

Effectiveness of ATRAS Information Retrieval System in World-Wide Web

iroshi Nunokawa

Iwate Prefectural University

Norio Shiratori

Tohoku University

ABSTRACT

In this paper, we introduce a new search system, called ATRAS (Agent-based Total Resource Access System), to solve the current Internet search problems. We also propose the Evolving Information Retrieval Agents (EIRA), which is based on Genetic Algorithms (GAs) and the Weighting Network (WN), to improve the ATRAS performance. The GAs are used to adjust the search parameters in different environments and for evolving the information retrieval agents. The WN is designed for more efficient information search in the information retrieval network. By implementation of EIRA and WN, the ATRAS information retrieval system has some biological characteristics which increase the ATRAS performance.

Introduction

The rapid spread of the Internet and the increase of the WWW have made possible the information exchange in all world. The WWW provides the framework to share information which is available to everyone from anywhere and at any moment. But, it is not easy for everybody to find out the necessary information in the WWW.

Many WWW search systems have been proposed and developed to solve Internet search problems https://www.w3.org/1998/Math/MathML">   1,2 , 3,4 , 5 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1256.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Currently, many people use the search systems, called search engines, for information retrieval purposes. These search systems are very convenient to search the information. But, when the search systems have some troubles, everyone can’t use their services. Other WWW search systems can be used, but the users cannot keep in mind all server’s URL (Uniform Resource Locators). Furthermore, these search systems can’t search the newest information, because they use the Web Robots to gather the information in the WWW, which cause the congestion of the network traffic.

We introduce a new search system called ATRAS to solve the above problems of the standard WWW search systems and to construct the new framework of the information retrieval. The ATRAS includes the self-organizing information retrieval network and the migration search. The first one is the function which indicates the network expanding when a new WWW server host will appear in the information retrieval network. The second one is the function which indicates that the information retrieval agents move from one to another WWW server host freely. To improve the ATRAS performance, EIRA and WN are proposed. The EIRA use GAs to adjust the search parameters in different environments. The WN is designed for more efficient information search by information retrieval agents in the ATRAS information retrieval network.

This paper is organized as follows. The detail of the ATRAS and the results of the experiments are explained in Section 2. The evolving information retrieval system is described in Section 3 . The conclusions and future work are summarized in Section 4.

ATRAS

The ATRAS is an agent-based information retrieval system. By using the agents, the ATRAS has the following features: the self-managing WWW information, the migration search and the self-organizing information retrieval network. The ATRAS is described in the following

2.1 ATRAS Agents

The agent is defined as a hardware or software-based computer system which has the autonomy, social ability, reactivity and pro-activeness properties https://www.w3.org/1998/Math/MathML">   6 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1257.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . In ATRAS, the agent is defined as a process which has the autonomy and the social ability. The autonomy means, the agent operates without the direct intervention of human or the other agents. The social ability means, the agent interacts with each other via some kind of agent-communication language. The other feature of the agent is the internal clock, which means that the agent changes its state by its life cycle. On the other hand, the standard agent changes its state by outside factors. This is one of the difference between the ATRAS agent and the standard agent.

The ATRAS has five kinds of agents, which cooperate together to make the information retrieval. The ATRAS agents are described in following.

InfoManager exists on the WWW server, and manages the information and creates the search catalog in the WWW server. The InfoManager acts as the WWW search server such as search engines.

Figure 1: Self-managing information in the WWW host (the ATRAS host model).

InfoSeeker moves in each WWW server and searches the information, and also asks the InfoManager to search the information and gathers the search results. The InfoSeeker has the Search Termination Parameters (STP) and the Search Hosts List (SHL). The STP are the search condition. The SHL is the list of the searched host name.

SeekersManager manages the S’TP and the Identity Information (II) of the InfoSeekers. The SeekersManager receives the search request from the User Interface Agent (UIA).

GateKeeper secures the server host and manages the Connectable Host List (CHL), by which the GateKeeper routes the next search host for the InfoSeeker. The GateKeeper also organizes the information retrieval network. At first boot time, the GateKeeper gets the initial CHL from the default GateKeeper, which exists in the ATRAS information retrieval network.

Communicator is the user interface, and receives the search requests from the users. The Communicator also asks the SeekersManager to search for information and shows the search results to the users.

10.1. Self-managing Information

The self-managing information for the WWW is the basic feature of the ATRAS. This feature allows the WWW server host to manage its own information by itself and to act as search engines. To realize this function, all ATRAS agents are put in the WWW server host as shown in Fig.1. The self-managing information gives basis for the management and retrieval of the new information. For all practical purpose, the InfoManager manages the information and searches the database (search catalog) for search query. This host is called the ATRAS host.

10.2. Migration Search

The migration search is the information retrieval method in ATRAS. The mechanism is as follows. The InfoSeeker moves between the ATRAS hosts searching the information and gathering the search results. After the InfoSeeker finishes searching in the current host, it requests a decision of the next host to the GateKeeper. The GateKeeper receives the SHL from the InfoSeeker and decides the next host by using the SHL and the CHL. Then, the GateKeeper tells the next host to the InfoSeeker. At this time, the migrated GateKeeper checks whether the InfoSeeker is or isn’t valid in order to secure the host from the invalid InfoSeekers which may enter in the host. A simple example is shown in Fig.2. After the InfoSeeker finishes the search in Host (B), it moves to next Host (A) with the search results. Then, in Host (A), the InfoSeeker begins the search. The migration search enables the users to search

Figure 2: Migration search.

the necessary information without depending on the search server’s URL, because the InfoSeekers can move between the ATRAS hosts and search the information. Moreover, the migration search can provide a parallel information retrieval by using multiple agents simultaneously.

10.3. Information Retrieval Network

The information retrieval network of ATRAS is constructed by the GateKeepers and the migration search. The ATRAS information retrieval network can self-organize the network by itself. The self-organizing mechanism is very simple. If the InfoSeeker comes from an ATRAS host, which isn’t in the CHL, the GateKeeper adds the new

Figure 3: Mechanism of self-organizing information retrieval network.

host to the CHL (see Fig.3). The self-organizing information retrieval network allows the users to search the information even if the search servers have some troubles and also allows to search the newest information. In the standard WWW search systems, the users are connected direct to the search server in order to search the information. Therefore, the users can’t search the information when the search server has some troubles. On the other hand, the ATRAS can provide the stable search for the users, because the InfoSeekers can search the information and avoid the troubled host in the information retrieval network. In ATRAS, if new WWW server host, which is an ATRAS host, appears in the information retrieval network, the ATRAS host connects to the network by the GateKeeper automatically. Therefore, the users can search the information in new ATRAS host.

10.4. Information Retrieval Mechanism

The ATRAS information retrieval mechanism is shown in Fig.4. In this mechanism, the user asks the Communicator for information retrieval (1). The Communicator makes a search request to SeekersManager (2). The SeekersManager orders the InfoSeekers to search for information (3). The lnfoSeeker asks the GateKeeper for search host (4). The GateKeeper decides the next ATRAS host where the InfoSeeker should be migrated. At this time, the migrated host’s GateKeeper checks that the

Figure 4: ATRAS information retrieval mechanism.

InfoSeeker is valid by the SeekersManager in the InfoSeeker’s home host (5). The InfoSeeker migrates to the new ATRAS host (6). In the new host, the InfoManager searches for the information requested from the InfoSeeker and replies to InfoSeeker (7). The InfoSeeker repeats this search cycle until the search condition is satisfied (8). Then, the InfoSeeker returns to the home host and tells the search results to Communicator (9). Finally, the Communicator reports the search results to user https://www.w3.org/1998/Math/MathML"> ( 10 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1258.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

10.5. Experiments in Prototype System

The purpose of the experiments is to investigate the ATRAS behavior. In order to test the ATRAS performance, a simple WWW network is constructed over the campus network, and the ATRAS agents are implemented in different hosts.

The experimental server hosts are the host walrus (which is a special host and has a default GateKeeper), eagle, miffy, cat, donkey, monkey, tiger and goose (which are the standard WWW server hosts). In Fig.5, the migration search which is the ATRAS basic function was observed. The migration search path was as following: the host walrus https://www.w3.org/1998/Math/MathML"> → https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1259.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> cat https://www.w3.org/1998/Math/MathML"> → https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1260.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> monkey https://www.w3.org/1998/Math/MathML"> → https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1261.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> tiger https://www.w3.org/1998/Math/MathML"> → https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1262.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> eagle and returned to the host walrus. In this experiment, the expand of the information retrieval network by the migration search was observed.

When a new WWW server host goose appears in the information retrieval network, the GateKeeper in the host goose requires the initial CHL to the default GateKeeper’s host walrus automatically and the network is self-organized. This phenomenon was confirmed by the experiments. The migration search path also includes the new host goose.

In Fig.6, the GateKeeper in the host donkey was stopped to make the situation of the server trouble. In migration search, the InfoSeeker migrated from the host walrus to the host miffy and from the host miffy to the host monkey. The InfoSeeker tried to migrate from the host monkey to the host donkey, but failed because the GateKeeper was stopped in the host donkey. Nevertheless, the InfoSeeker avoided the host donkey and migrated from the host monkey to the host cat. This result shows that the users can search the information regardless of the search server condition.

Finally, the migration search was started from all hosts. It was checked whether the search was completed or not. The migration search was completed for all hosts. This results shows that the users can search the information without depending on the search server’s URL.

Evolving Information Retrieval System

The ATRAS can solve the problems of the standard WWW search systems. But, the migration search has the following problems:

(1) takes a long time to search the information,

(2) has to adapt to the various environments and user preferences,

(3) gets different results because the migration search depends on the selected ATRAS host.

The ATRAS can solve the problem of item (1) by parallel information retrieval using multiple information retrieval agents. But using this method, information retrieval agents may move to the same ATRAS hosts. To solve this problem, we propose two methods. The first one uses the unique ID for search request. The second one selects the migrated host according to the individuality of agents such as STP. The problem of item (2) is solved by applying GAs to the information retrieval agents. GAs generate the information retrieval agents which have the best search parameters to adapt to the various environments. We also improve the ATRAS

*..... One-way information retrieval network link

https://www.w3.org/1998/Math/MathML"> ⟶ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1263.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Two-way information retrieval network link

https://www.w3.org/1998/Math/MathML"> … … https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1264.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> One-way information retrieval network link

https://www.w3.org/1998/Math/MathML"> → https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1265.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Two-way information retrieval network link

Figure 6: Information retrieval net (2). to solve the problem of item (3) by WN. The WN is designed for more efficient information search of information retrieval agents and for more efficient selection of migrated ATRAS host. The WN enables the information retrieval agents to avoid the hosts with heavy CPU load, the hosts with few information and the hosts which have no search information.

12.3.1 GAs

GAs are search methods which solve optimization problems. The mechanism is based on the interaction between individuals and the natural environment. GAs comprise a set of individuals (the population) and a set of biologically inspired operators (the genetic operators). The individuals have genes which are the potential solutions for a problem. The genetic operators are crossover and mutation. GAs generate a sequence of populations by using genetic operators among individuals. As a result, only the most suited individuals in a population can survive and generate offsprings, thus transmitting their biological heredity to new generations https://www.w3.org/1998/Math/MathML">   7 , 8 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1266.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

GAs operate through a simple cycle of four stages. Each cycle produces a new generation of possible solutions for a given problem. At the first stage, an initial population of potential solutions is created as a starting point for the search. In the next stage, the performance (or fitness) of each individual is evaluated with respect to the constraints imposed by the problem. Based on each individual’s fitness, a selection mechanism chooses “parents” for the genetic operators: crossover and mutation. The crossover operator takes two chromosomes and swaps part of their genetic information to produce new chromosomes. The mutation operator introduces new genetic structures in the population by randomly modifying some of genes, helping the search algorithm escape from local minima’s traps. The offsprings produced by the genetic manipulation process are the next population to be evaluated. GAs can replace either a whole population or its less fitted members only. The creationevaluation-selection-manipulation cycle repeats until a satisfactory solution to the problem is found or some other termination criteria are is met.

12.1. Evolving Information Retrieval Agents

In ATRAS, the information retrieval agents have five search parameters: Maximum Search Host Number (MSHN), Maximum Search Item Number (MSIN), Search Information Acceptance Ratio (SIAR), Maximum Search Time (MST) and Maximum Migration Error Number (MMEN). The MSHN and MSIN are used for getting high quality results. To get high quality result, the information retrieval agents have to visit more ATRAS hosts and to gather more search results. The SIAR is a parameter to get appropriate results. The information retrieval agents gather search results which the information management agent selects according to the SIAR. The MST decides the search time for each information retrieval agent. The last parameter MMEN is used for avoiding the infinite migration loop.

These parameters have big effect for the search performance. The ATRAS hosts

Figure 7: New information retrieval agent generated based on GAs.

don’t have the same environments. The environments consist of the machine environment and the network environment. The machine environment has the number of users, the CPU power, the information quantity, the CPU load and the number of migrated agents. The network environment has the bandwidth, the network traffic and the property of line. Therefore, the ATRAS need to adapt to the various environments and user preferences. The search parameters must be different in all ATRAS hosts and have a suitable variation in order to adapt to each environment.

The information retrieval agents, which are based on GAs, are designed to adjust the search parameters in different environments. The search parameters are represented as the genes in chromosome. The genes in each agent varies with the evolution of the agents. The evolution of the agents is based on GAs cycle described in Section3.1. The genetic manipulation in GAs cycle generates the new information retrieval agent. The fitness of the information retrieval agent is evaluated by users, which decide the evaluation according to their satisfaction of search results. Then, the parents are selected based on each individual’s fitness. There exist many selection strategies, but we use the rank selection strategy, because this strategy has the best performance compared with the statistical and probable strategy, the keeping elite strategy, the rank strategy and the tournament strategy. The rank selection strategy is that each individual is ranked by its fitness and is given new selection probability based on its rank and parents are selected according to new selection probability. Fig.7 shows the mechanism that new information retrieval agent is generated by the genetic operators.

GAs control five search parameters of the information retrieval agents. The information retrieval agents will adapt gradually to their environments and the search parameters will have a suitable variation. Therefore, in every ATRAS host, the information retrieval agents will have the best search parameters and the users will be able to search the information under the best search condition.

12.2. Weighting Information Retrieval Network

In the current ATRAS information retrieval network, the information retrieval agents cannot search the information efficiently, because the decision of next migrated host is selected randomly in the CHL and the information retrieval depends on the migrated host. In order to solve this disadvantage, the information retrieval network is weighted by the feedback of search results from information retrieval agents. In other words, the ATRAS host which has various information and fast information retrieval is given higher priority. The information retrieval agents move to such hosts and search the information.

For example, the information retrieval agent moves from host (A) to host (B). It searches the information and gets the search results in host (B), then transmits the feedback of search results to host (A). The connection between host (A) and host (B) is stronger by the weight which is calculated with the feedback of search results.

There are two kinds of methods for the weight calculation. In first method, the weight is calculated by Search Hit Number (SHN) and Search Time (ST). The SHN is the number of information which satisfies the search query. The ST is the total times for searching the information in an ATRAS host. The new weight (WT) is calculated by the following expression:

https://www.w3.org/1998/Math/MathML"> WT = F ( SHN / ST ) . https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1267.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

In second method, the weight is calculated by Quality of Information (QoI) and Search Speed (SS). The QoI is the standard which is calculated by Amount of Information (AoI) in the search catalog and SHN. The SS is the speed of information search which is calculated by the Aol and ST. The SS reflects not only the CPU power but also the host load, because the ST depends on the machine environment. In this method, the WT is calculated by the following expression:

https://www.w3.org/1998/Math/MathML"> WT   = F ( QoI + SS ) QoI   = SHN / AoI SS   = AoI / ST . https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1268.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

In expression (15.1) and (15.2), the F is the function which renews current WT based on previous WT.

The WN enables the information retrieval agents to move the ATRAS host which has various information. As the connection between ATRAS hosts is stronger, the information retrieval agents can be migrated to the hosts which have various information.

Conclusions

In this paper, we have presented a new information retrieval system, called ATRAS, for searching in the WWW. We also have proposed the EIRA and WN to enhance the ATRAS performance. By using the EIRA and WN, the ATRAS has the following improvements:

(1) the information retrieval agents have the best search parameters;

(2) the users will be able to search the information under the best search condition;

(3) the information search will be more efficient for the information retrieval agents.

The authors are planning to test the effectiveness of ATRAS biological characteristics (EIRA and WN) to investigate what search parameters (genes) can satisfy the user search request, and to implement new search parameters (genes) to the information retrieval agents.

Bibliography

C. M. Bowman, P. B. Danzig, D. R. Hardy, U. Manber and M. F. Schwartz, “The Harvest Information Discovery and Access System”, Proc. of the Second International World Wide Web Conference, pp.763-771, 1994.

R. Armstrong, D. Freitag, T. Joachims and T. Mitchell, “WebWatcher: A Learning Apprentice for the World Wide Web”, Proc. of the Symposium on Information Gathering from Heterogeneous, Distributed Environments, AAAI Press, pp.6-12, 1995.

M. Balabanovic and Y. Shoham, “Learning Information Retrieval Agents: Experiments with Automated Web Browsing”, Proc. of the Symposium on Information Gathering from Heterogenous, Distributed Environments, AAAI Press, pp.13-18, 1995 .

F. Menczer, R. K. Belew and W. Willuhn, “Artificial Life Applied to Adaptive Information Agents”, Proc. of the Symposium on Information Gathering from Distributed, Heterogeneous Databases, AAAI Press, pp.128-132, 1995.

H. Lieberman, “Letizia: An Agent That Assists Web Browsing”, Proc. of IJCAI-95, pp.924-929, 1995.

M. Wooldridge and N. R. Jennings, “Intelligent Agents: Theory and Practice”, Knowledge Engineering Review https://www.w3.org/1998/Math/MathML"> 10 ( 2 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1269.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , https://www.doc.mmu.ac.uk/ STAFF/mike/ker95.ps, Oct.1994.

M. Srinivas and L. M. Patnaik, “Genetic Algorithms: A Survey”, IEEE COMPUTER Society Press, pp.17-26, Jun.1994.

J. L. R. Filho, P. C. Treleaven and C. Alippi, “Genetic-Algorithm Programming Environments”, IEEE COMPUTER Society Press, pp.28-43, Jun.1994.

Extracting Structures of HTML Documents Using a High-Level Stack Machine

Information on the Web, which are conglomeration of heterogeneous data such as texts, images and audio clips, are often accessed through documents written according to the HTML specification ?). According to the HTML specification, HTML documents are semistructured in nature. We propose a high-level stack machine (HSM) which accesses an HTML document through its URL and constructs a semistructured data graph (SDG) of the document. The SDG of an HTML document H precisely captures the structure of the semistructured data embedded in H based on the dependency relationship?) among the data objects in H. HSM is configurable to accommodate a user’s interest with respect to the HTML elements in H to be considered during the construction process of the SDG of H.

Introduction

During the early days of the World-Wide Web (WWW or Web), users relied heavily on the mouse-button-click navigation method using hyperlinks provided by Web browsers to retrieve information of interest and soon found themselves lost somewhere in the midst of cyberspace?). Since then Web designers, as well as Web users, have been looking for better alternatives. Two recent approaches for retrieving information from the Web are (i) the keyword search method using index servers, and (ii) the method of using Web query languages, including SQL-like query languages ?,?) and Datalog-like query languages ?).

To better understand this issue, we clarify three types of data, namely unstructured data, structured data, and semistructured data, with respect to their structures according to ?). Unstructured data are data which is stored in files such as executable files, plain text files which contain no formatting code, and audio files. (?) use the term unstructured data for any data of no rigid structure.) A typical example of structured data is tables in the relational database model. Semistructured data is anything between the two extreme types of data mentioned earlier. Examples of this type of data are text files that contain formatting codes, such as https://www.w3.org/1998/Math/MathML"> I A T E X https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1270.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and HTML files, and files which require strict inner structure but some of the structural components can be omitted, such as https://www.w3.org/1998/Math/MathML"> BIB T E X https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1271.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> files, Unix environment files, etc.

Our view of information on the Web is a collection of heterogeneous data, such as HTML documents by and large and other types of data including images, sound, and video clips. HTML specification??, which is the most widely used paradigm for posting information on the Web, does not require a uniform structure in HTML documents, e.g., an element which appears in an HTML document may be missing in other HTML documents. Hence, we treat an HTML document H as a textual representation of semistructured data embedded within H.

One of the benefits of using semistructured data is its flexibility in data representation ?). A theory of semistructured data, however, is still missing ?), and there is no universally standardized definition on semistructured data. In this paper, we consider a finite set of data objects https://www.w3.org/1998/Math/MathML"> o 1 , o 2 , … , o n https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1272.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> as semistructured data D if (i) the structure of D is irregular or incomplete?,?), (ii) the distinction between the schema of D and https://www.w3.org/1998/Math/MathML"> o 1 , o 2 , … , o n https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1273.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is blurred and the schema may change dynamically ?), and (iii) https://www.w3.org/1998/Math/MathML"> o i ( 1 ≤ i ≤ n ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1274.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is not type-sensitive.

In this paper, we present an approach for extracting the structure of semistructured data embedded within an HTML document H on WWW, assuming that H is written in compliance https://www.w3.org/1998/Math/MathML">   1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1275.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> with the HTML specification ?) and referred by a given URL. (Additional URLs can be further obtained from the hyperlinks specified in H.) We first propose a graphical data model of semistructured data, called the semistructured data graph (SDG), and then present a tool, a high-level stack machine (HSM) https://www.w3.org/1998/Math/MathML">   2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1276.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , to extract the structures embedded in H.

The main contribution of this paper is three-fold. First, we extend the concept of dependency relationship among database components defined in ?) to capture the structure of the semistructured data embedded in an HTML document. Second, we design and implement a simple automaton HSM, using the Java Language Environment, to construct the SDG of an HTML document specified by an URL. Since HSM is built based on pushdown automata, HSM is fairly easy to implement using a stack without concerning about sophisticated functions such as rereading or replacing an input, or assuming unlimited auxiliary memory as a Turing machine does. Third, our HSM is easily configurable according to the user’s need in terms of what HTML elements are to be included in an SDG. To configure HSM, a user simply provides a configuration file which contains a list of HTML elements in an HTML document H chosen by the user to be included in the SDG of H. Writing a configuration file does not require any knowledge on additional commands and their syntax, such as https://www.w3.org/1998/Math/MathML"> g e t ⁡ ( ) , s p l i t ⁡ ( ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1277.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and _citytemp https://www.w3.org/1998/Math/MathML"> [ 1 : 0 ] https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1278.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in ?).

This paper is organized as follows: In Section 2, we describe the details of SDGs. In Section 3, we propose HSM and demonstrate its application using a real-world example. In Section 4, we give the concluding remark.

https://www.w3.org/1998/Math/MathML"> 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1279.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Note that erroneous HTML documents are not excluded from our consideration.

https://www.w3.org/1998/Math/MathML"> 2 H S M https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1280.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is a variation of the well-known pushdown automata (PDA).

The Data Model

The fundamental of our data model for semistructured data, SDG, is based on the notion of dependency relationship ?) among database objects.

Definition 1 An object o in a set S is a triple https://www.w3.org/1998/Math/MathML"> ⟨ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1281.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> label, value, identifier https://www.w3.org/1998/Math/MathML"> ⟩ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1282.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , where label is the textual (i.e., a string) description of o, value is a finite ordered set of strings (if value is empty, then o is called a free object; otherwise, o is called a bound object), and identifier is a non-empty string that uniquely defines o in S.

In an SDG, the identifier and label of an object are static, whereas its value is dynamic. In other words, the identifier and label of an object do not change, whereas its value may change. We formalize and illustrate how the value of an object changes from free to bound in Definition 2 and Example 1. Also, type constraint is not straightly enforced on an object in an SDG, and hence the value of an object can be of any type. For instance, the value of object Month can be a string “January,” an integer “ 1 “, or a string encoded using a character set other than ASCII. This relaxation is desirable in that whenever a query is posted for an object o using values of types different from o’s, the system may gracefully fail to process the query rather than invoke an error?). For simplicity, we assume the value of an object is a set of strings since all the atomic and composite types, such as integer, real and boolean, and a set of objects of atomic type, can be represented as a string. In addition, we use str instead of https://www.w3.org/1998/Math/MathML"> { str } https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1283.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for each singleton set https://www.w3.org/1998/Math/MathML"> { str } https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1284.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and https://www.w3.org/1998/Math/MathML"> { A . B , A . C } https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1285.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is written as https://www.w3.org/1998/Math/MathML"> A ⋅ { B , C } https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1286.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> where A,B, and C are strings.

In conjunction with the definition of an object, we define the utility functions o.label () and o.value () such that for each object o, o.label () and o.value () return the label and the value of o, respectively. In addition, we define the binary function con: https://www.w3.org/1998/Math/MathML"> S × S → S https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1287.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , where https://www.w3.org/1998/Math/MathML"> S https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1288.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is a set of strings and https://www.w3.org/1998/Math/MathML"> c o n ⁡ a r g 1 , a r g 2 = a r g 1 ⋅ a r g 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1289.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Definition 2 An object https://www.w3.org/1998/Math/MathML"> o 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1290.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is said to directly depend on another object https://www.w3.org/1998/Math/MathML"> o 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1291.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , denoted https://www.w3.org/1998/Math/MathML"> o 1 ← o 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1292.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , if https://www.w3.org/1998/Math/MathML"> o 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1293.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .value () https://www.w3.org/1998/Math/MathML"> : = o 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1294.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .value () . Dependency is transitive, i.e., https://www.w3.org/1998/Math/MathML"> o 1 ← o 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1295.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> if https://www.w3.org/1998/Math/MathML"> o 1 ← o 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1296.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o 2 ← o 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1297.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and we say that https://www.w3.org/1998/Math/MathML"> o 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1298.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> indirectly depends on https://www.w3.org/1998/Math/MathML"> o 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1299.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , denoted https://www.w3.org/1998/Math/MathML"> o 1 ← o 2 ← o 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1300.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> or https://www.w3.org/1998/Math/MathML"> o 1 ← o 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1301.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . If https://www.w3.org/1998/Math/MathML"> o ← o 1 , ⋯ , o ← o n https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1302.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , then o.value () https://www.w3.org/1998/Math/MathML"> : = o 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1303.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> value () https://www.w3.org/1998/Math/MathML"> ∪ ⋯ ∪ o n https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1304.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> value () .

Example 1 Given below is a set of objects and their data values in the form of object https://www.w3.org/1998/Math/MathML"> ( https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1305.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> olabel () ; o.value () ; a list of objects on which o directly depends). A string which contains spaces is enclosed by double quotes, and ‘-‘ denotes an empty list.

Location (Location; (free); Address, “Time Zone”),

Address (Address; ( free); “Street Addr,” City, “Zip code”),

“Street Addr” (Street; (free); “11 E. Pine Lane”), City (City; (free); Orem),

“Zip code” (ZipCode; ( free); 84057), “Time Zone” (TimeZone; ( free); MST),

“11 E. Pine Lane” (“11 E. Pine Lane”; “11 E. Pine Lane”; -),

Orem (Orem; Orem; – ), https://www.w3.org/1998/Math/MathML"> 84057 ( 84057 ; 84057 ; - ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1306.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and

MST (MST; “Mountain Standard Time”; – ).

The dependency constraint of Address is Address https://www.w3.org/1998/Math/MathML"> ← https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1307.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> “Street Addr” https://www.w3.org/1998/Math/MathML"> ← ” 11 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1308.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> E. Pine Lane”, Address ← City https://www.w3.org/1998/Math/MathML"> ← https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1309.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Orem, and Address https://www.w3.org/1998/Math/MathML"> ← ” https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1310.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Zip code” https://www.w3.org/1998/Math/MathML"> ← 84057 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1311.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Hence,

https://www.w3.org/1998/Math/MathML"> Address.value   ( )   = { ”   Street    Addr ” .value   ( ) ,   City.value   ( ) , ”Zip   code ” .value   ( ) }   = { 11   E. Pine Lane ” .value   ( ) ,   Orem.value   ( ) , 84057 . value ( ) }   = { ” 11 E . Pine Lane ” , Orem,   84057 } . ◻ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1312.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

We now formally define the long label of an object and SDGs based on the dependency relationship of objects.

Definition 3 Given the dependency relationships among objects https://www.w3.org/1998/Math/MathML"> o 1 , o 2 , … , o N https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1313.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> such that https://www.w3.org/1998/Math/MathML"> o 1 ← o 2 ← … ← o N https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1314.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , the long label of https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1315.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , denoted https://www.w3.org/1998/Math/MathML"> o i . L a b e l ⁡ ( ) , 1 ≤ i ≤ N https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1316.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , is defined as https://www.w3.org/1998/Math/MathML"> o 1 ⋅ L a b e l ⁡ ( ) = o 1 ⋅ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1317.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> label (), and https://www.w3.org/1998/Math/MathML"> o i ⋅ L a b e l ⁡ ( ) = c o n ⁡ o i - 1 ⋅ L a b e l ⁡ ( ) , o i ⋅ l a b e l ⁡ ( ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1318.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , https://www.w3.org/1998/Math/MathML"> 2 ≤ i ≤ N https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1319.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Example 2 Consider the set of objects in Example 1. According to Definition 3, all the expressions listed below are valid.

Location.Label () https://www.w3.org/1998/Math/MathML"> = https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1320.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Location.label () https://www.w3.org/1998/Math/MathML"> = https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1321.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Location Orem.Label () https://www.w3.org/1998/Math/MathML"> = ( https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1322.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> City.Label () https://www.w3.org/1998/Math/MathML"> ) ⋅ ( https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1323.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Orem.label () https://www.w3.org/1998/Math/MathML"> ) = ( https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1324.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Address.Label () https://www.w3.org/1998/Math/MathML"> ) ⋅ ( https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1325.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> City.label () https://www.w3.org/1998/Math/MathML"> ) ⋅ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1326.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Orem https://www.w3.org/1998/Math/MathML"> = ( https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1327.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Location.Label () https://www.w3.org/1998/Math/MathML"> ) ⋅ ( https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1328.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Address.label () https://www.w3.org/1998/Math/MathML"> ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1329.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .City.Orem https://www.w3.org/1998/Math/MathML"> = ( https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1330.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Location.label () https://www.w3.org/1998/Math/MathML"> ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1331.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Address.City.Orem = Location.Address.City.Orem

“Time Zone”.Label() = Location.TimeZone

Definition 4 Given a semistructured data D, the semistructured data graph https://www.w3.org/1998/Math/MathML"> S D G 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1332.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of D is a triple https://www.w3.org/1998/Math/MathML"> ( V , E , g ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1333.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> which is a rooted, directed graph, where (i) V is a finite set of nodes and https://www.w3.org/1998/Math/MathML"> V = V R ∪ V I ∪ V L https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1334.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , where https://www.w3.org/1998/Math/MathML"> V R ∩ V I ∩ V L = ∅ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1335.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and https://www.w3.org/1998/Math/MathML"> V R https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1336.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> with label ‘ D ‘ is the root node of SDG which serves as the entry point of SDG and represents https://www.w3.org/1998/Math/MathML"> D , V L https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1337.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is a finite set of leaf nodes, and https://www.w3.org/1998/Math/MathML"> V I https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1338.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is a finite set of (internal) nodes other than https://www.w3.org/1998/Math/MathML"> V R https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1339.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> V L https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1340.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in SDG. https://www.w3.org/1998/Math/MathML"> n ∈ V I ∪ V L https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1341.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , which is labeled by ‘o’, represents an object o in D; (ii) E is a finite set of directed edges; and (iii) https://www.w3.org/1998/Math/MathML"> g : E → V × V https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1342.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> such that https://www.w3.org/1998/Math/MathML"> g ( e ) = n 1 , n 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1343.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> if and only if the object represented by https://www.w3.org/1998/Math/MathML"> n 1 ∈ V R ∪ V I https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1344.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> depends on the object represented by https://www.w3.org/1998/Math/MathML"> n 2 ∈ V I ∪ V L https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1345.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . https://www.w3.org/1998/Math/MathML"> ◻ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1346.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Figure 1: The SDG for Info

https://www.w3.org/1998/Math/MathML"> 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1347.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Although we define SDG on semistructured data, SDG can also be applied to structured data. In fact, semistructured data subsumes structured data. Example 3 Consider the object Location in Example 1 and suppose semistructured data Info is defined by Location. Given the dependency constraints for Location and its relevant objects, the SDG for Info is illustrated in Figure 1. A more comprehensive example of SDGs is presented in Section 3 .

Definition 5 Given the long label of an object https://www.w3.org/1998/Math/MathML"> o N o 1 ⋅ label ( ) ⋅ ( … ) ⋅ o N ⋅ la https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1348.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> vel () https://www.w3.org/1998/Math/MathML"> ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1349.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in an SDG, the path expression, pe, between https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1350.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1351.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and between https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1352.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o j ( 1 ≤ i < https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1353.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> j ≤ N ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1354.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is a binary function pe: https://www.w3.org/1998/Math/MathML"> S × S → S https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1355.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> such that pe https://www.w3.org/1998/Math/MathML"> o i , o i = o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1356.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .label () and https://www.w3.org/1998/Math/MathML"> pe o i , o j = c o n ⁡ pe o i , o j - 1 , o j . https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1357.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> label () https://www.w3.org/1998/Math/MathML"> ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1358.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , where https://www.w3.org/1998/Math/MathML"> S https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1359.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is a set of strings and https://www.w3.org/1998/Math/MathML"> o 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1360.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> denotes the root node of the SDG.

It is easy to see that https://www.w3.org/1998/Math/MathML"> p e ⁡ V R , o = o . L a b e l ⁡ ( ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1361.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , where https://www.w3.org/1998/Math/MathML"> V R https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1362.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is the root node and https://www.w3.org/1998/Math/MathML"> o ∈ V I ∪ V L https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1363.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of the corresponding SDG.

An SDG precisely captures the structure and values of semistructured data graphically. Given below is the definition of the lexical representation of an SDG. The lexical representation of a semistructured data D is useful in some situations, e.g., finding an object in D using a textual path expression.

Definition 6 Given an SDG https://www.w3.org/1998/Math/MathML"> = V R ∪ V I ∪ V L , E , g https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1364.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , the lexical representation https://www.w3.org/1998/Math/MathML"> L o https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1365.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> or lexical SDG of https://www.w3.org/1998/Math/MathML"> o ∈ V R ∪ V I ∪ V L https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1366.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is a textual representation of the subgraph S of SDG rooted at o such that https://www.w3.org/1998/Math/MathML"> L o = U ∀ i pe o , o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1367.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , where https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1368.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is a leaf node in S.

Example 4 Consider the SDG of Info in Figure 1. Listed below are a few path expressions and lexical representation of some objects in Info:

The lexical SDG of Info https://www.w3.org/1998/Math/MathML"> L Info   = https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1369.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Info.Location. https://www.w3.org/1998/Math/MathML"> { https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1370.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Address. https://www.w3.org/1998/Math/MathML"> { https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1371.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Street. “11 E. Pine Lane”, City.Orem, ZipCode.84057}, TimeZone.MST}.

Note that given an SDG https://www.w3.org/1998/Math/MathML"> = V R ∪ V I ∪ V L , E , g https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1372.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , the lexical representation of the SDG is obtained by https://www.w3.org/1998/Math/MathML"> U ∀ i pe V R , o i = U ∀ i o i . L a b e l ⁡ ( ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1373.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , where https://www.w3.org/1998/Math/MathML"> o i ∈ V L https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1374.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . It is obvious that the lexical representation L of an SDG is not as easy to interpret as the SDG itself. To resolve this problem, L can be formatted using indentation and line feed. An example of the formatted lexical representation of the SDG for the semistructured data Info is given below:

Definition 7 Given a semistructured data D and its corresponding semistructured data graph SDG https://www.w3.org/1998/Math/MathML"> = V R ∪ V I ∪ V L , E , g https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1375.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , the schema https://www.w3.org/1998/Math/MathML"> S https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1376.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of D represented by SDG is https://www.w3.org/1998/Math/MathML"> S = ∪ ∀ i pe o , o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1377.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , where https://www.w3.org/1998/Math/MathML"> o i ∈ V I https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1378.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and o is https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1379.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ‘s ancestor which is a child of https://www.w3.org/1998/Math/MathML"> V R https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1380.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Example 5 Consider Info in Example 3 again. The schema https://www.w3.org/1998/Math/MathML"> S https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1381.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of Info is

The High-level Stack Machine

In this section, we present a high-level stack machine (HSM) as a tool which extracts data structures embedded in an HTML document H and demonstrate the construction of the SDG for H specified by an URL using HSM https://www.w3.org/1998/Math/MathML">   4 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1382.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . See Figure 2 for an example of the HSM user interface.

To construct the SDG of a given HTML document, we propose HSM which processes HTML elements in the document. HSM is implemented in Java language environment as shown in Figure 2. The HTML elements, which are to be handled by HSM, can be determined by users using a configuration file as discussed earlier. The current version of HSM is implemented with a small set of HTML elements which are commonly used in HTML documents and is continuously being enhanced to handle more generic HTML documents.

As mentioned earlier, HSM is built based on pushdown automa (PDA). We are particularly interested in employing PDA since PDA is relatively easy to comprehend, design, and implement compared with Turing machines and has sufficient power to construct the SDGs for HTML documents.

With respect to the design of HSM, we classify the HTML elements in two types: (1) elements which begin with a start-tag and end with an end-tag, and (2) elements whose end-tags are either optional or do not exist. Most of the commonly used HTML elements are of type 1. Such elements include document element HTML, head element HEAD, body element BODY, headings H1 ... H6, title TITLE, anchor A, some of the block structuring elements such as list elements OL and UL, block quote BLOCKQUOTE, preformatted text PRE, directory list DIR, menu list MENU, address element ADDRESS, and phrase markups such as EM, B, I and STRONG. Examples of elements of type 2 are some of the block structuring elements such as list element LI, definition lists DT and DD, line break BR, and horizontal rule HR.

https://www.w3.org/1998/Math/MathML"> 4 S D G https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1383.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is constructed in various formats by using HSM, which are all equivalent with respect to the structure that SDG represents. The formats include the lexical SDG, a textual definition of the SDG using long labels of the objects or object identifiers, and a graphical display of the SDG on the screen. Each of these output formats can be chosen by the user.

Figure 2: An HSM user interface Some HTML elements, such as IMG, do not accompany an end-tag, but the closing angle brackets indicate where the end of the elements are. Therefore, we categorize IMG as an element of type 1 .

Besides the two types of HTML elements mentioned above, we treat some elements as ‘unproductive’ with respect to SDGs, i.e., they do not generate an output on an SDG in our current version of HSM, and are simply ignored by HSM. For instance, UPE, the set of unproductive elements, can be excluded from a user’s configuration file. At the current version of HSM, elements such as HR, B, CITE, DIR, TT, DL, DT, DD, and comments https://www.w3.org/1998/Math/MathML"> ⟨ ! … ⟩ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1384.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are treated as elements in UPE. In addition, we treat the set of elements of type 2 as a proper subset of UPE. However, when we consider a query language for SDG in our future work, it may be appropriate to adjust UPE accordingly to give more weight to styled text than plain text. (The styled text is surrounded by character style tags such as https://www.w3.org/1998/Math/MathML"> ⟨ B ⟩ , ⟨ B I G ⟩ , ⟨ S T R O N G ⟩ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1385.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and their corresponding end-tags.)

During the construction process of an SDG, the following two rules of HSM are applied to elements in an HTML document H : (1) Skip an element e if e∈ UPE. Also, no stack operation is necessary, and no changes occur in the SDG of H. (2) For an element https://www.w3.org/1998/Math/MathML"> e ' https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1386.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of type 1, push the corresponding stack symbol γ (defined in Definition 8) of https://www.w3.org/1998/Math/MathML"> e ' https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1387.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> onto the stack whenever the start-tag of https://www.w3.org/1998/Math/MathML"> e ' https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1388.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is encountered, and pop γ from the stack of HSM whenever the corresponding end-tag of https://www.w3.org/1998/Math/MathML"> e ' https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1389.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is detected. In general, given the top of the stack symbol p and the SDG being constructed which includes a node https://www.w3.org/1998/Math/MathML"> o p https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1390.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> created for p, whenever a new stack symbol γ is pushed, γ is attached to the SDG as a child c of https://www.w3.org/1998/Math/MathML"> o p https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1391.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> with the edge from c to https://www.w3.org/1998/Math/MathML"> o p https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1392.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . (It is assumed that append() is defined in HSM which appends a node or an edge to an SDG.)

Definition 8 HSM is a system https://www.w3.org/1998/Math/MathML"> Q , Σ , Γ , δ , q BOF , ϵ , F https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1393.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , where

Q is a finite set of states: https://www.w3.org/1998/Math/MathML"> q BOF , q 1 , q A , q A - ATTR , q B , q B - ATTR https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1394.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and https://www.w3.org/1998/Math/MathML"> q EOF https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1395.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . State symbol https://www.w3.org/1998/Math/MathML"> q BOF https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1396.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> denotes the beginning-of-the-file state and https://www.w3.org/1998/Math/MathML"> q EOF https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1397.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> denotes the endof-the-file state. States https://www.w3.org/1998/Math/MathML"> q A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1398.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> q A A ATTR https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1399.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are used for anchors and APPLETs, and https://www.w3.org/1998/Math/MathML"> q B https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1400.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> q B A TTR https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1401.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are used for processing the IMG and META elements. Also, when the machine is in state https://www.w3.org/1998/Math/MathML"> q 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1402.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , HSM is not currently processing the elements IMG, META, A, and APPLET.

https://www.w3.org/1998/Math/MathML"> Σ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1403.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is a finite set of input symbols https://www.w3.org/1998/Math/MathML"> ⟨ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1404.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> HTML https://www.w3.org/1998/Math/MathML"> ⟩ , ⟨ / https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1405.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> HTML https://www.w3.org/1998/Math/MathML"> ⟩ , ⟨ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1406.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> HEAD https://www.w3.org/1998/Math/MathML"> ⟩ , ⟨ / https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1407.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> HEAD https://www.w3.org/1998/Math/MathML"> ⟩ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1408.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , https://www.w3.org/1998/Math/MathML"> < https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1409.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> META https://www.w3.org/1998/Math/MathML"> > https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1410.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , HTTP-EQUIV, NAME, CONTENT,

Suppose a transaction https://www.w3.org/1998/Math/MathML"> T h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1411.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> invokes an operation https://www.w3.org/1998/Math/MathML"> o p h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1412.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to manipulate an object https://www.w3.org/1998/Math/MathML"> o a https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1413.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . A processor https://www.w3.org/1998/Math/MathML"> p s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1414.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> constructs a request message m as follows :

m.tno https://www.w3.org/1998/Math/MathML"> = ⟨ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1415.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> m.t, m.no https://www.w3.org/1998/Math/MathML"> ⟩ : = t n o ⁡ o p h = t T h , no o p h ; https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1416.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

m.op https://www.w3.org/1998/Math/MathML"> : = o p h ;  m . o : = o a ;   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1417.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> m.src https://www.w3.org/1998/Math/MathML"> : = p s ; https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1418.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

m.dst https://www.w3.org/1998/Math/MathML"> = https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1419.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> some https://www.w3.org/1998/Math/MathML"> p t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1420.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> with a replica of https://www.w3.org/1998/Math/MathML"> o a https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1421.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> if https://www.w3.org/1998/Math/MathML"> o p h = read https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1422.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , otherwise all the replicas.

A processor https://www.w3.org/1998/Math/MathML"> p s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1423.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> manipulates variables https://www.w3.org/1998/Math/MathML"> s q 1 , … , s q N https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1424.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to send messages. Each time https://www.w3.org/1998/Math/MathML"> p s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1425.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> sends a message to https://www.w3.org/1998/Math/MathML"> p t , s q t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1426.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is incremented by one. m carries https://www.w3.org/1998/Math/MathML"> s q u https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1427.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in a field https://www.w3.org/1998/Math/MathML"> m . s q u https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1428.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> ( u = 1 , … , N ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1429.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

https://www.w3.org/1998/Math/MathML"> s q t : = s q t + 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1430.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for every https://www.w3.org/1998/Math/MathML"> p t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1431.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in https://www.w3.org/1998/Math/MathML"> m . dst ;  m . s q u : = s q u ( u = 1 , … , N ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1432.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

A processor https://www.w3.org/1998/Math/MathML"> p t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1433.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> has to detect a gap between messages received from https://www.w3.org/1998/Math/MathML"> p s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1434.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> by checking the sequence number https://www.w3.org/1998/Math/MathML"> s q t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1435.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , i.e. messages lost or unexpectedly delayed. https://www.w3.org/1998/Math/MathML"> p t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1436.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> manipulates variables https://www.w3.org/1998/Math/MathML"> rs q 1 , … , rs q N https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1437.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to detect the gap. On receipt of a message m from https://www.w3.org/1998/Math/MathML"> p s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1438.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , there is no gap between m and messages sent before m if https://www.w3.org/1998/Math/MathML"> m . s q t = rs q s . https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1439.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> If https://www.w3.org/1998/Math/MathML"> m . s q t > rs q s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1440.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , there is a gap https://www.w3.org/1998/Math/MathML"> m ' https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1441.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> where https://www.w3.org/1998/Math/MathML"> m . s q t > m ' . s q t ≥ rs q s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1442.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . That is, https://www.w3.org/1998/Math/MathML"> p t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1443.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> does not receive https://www.w3.org/1998/Math/MathML"> m ' https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1444.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> which is sent by https://www.w3.org/1998/Math/MathML"> p s . m https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1445.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is correctly received by https://www.w3.org/1998/Math/MathML"> p t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1446.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> if https://www.w3.org/1998/Math/MathML"> p t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1447.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> receives every message https://www.w3.org/1998/Math/MathML"> m ' https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1448.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> where https://www.w3.org/1998/Math/MathML"> m ' . s q t < m . s q t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1449.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . That is, https://www.w3.org/1998/Math/MathML"> p t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1450.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> receives every message which https://www.w3.org/1998/Math/MathML"> p s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1451.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> sends to https://www.w3.org/1998/Math/MathML"> p t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1452.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> before m. https://www.w3.org/1998/Math/MathML"> p t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1453.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> enqueues m in a receipt queue https://www.w3.org/1998/Math/MathML"> R Q t ⋅ p t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1454.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> manipulates the object vector V as https://www.w3.org/1998/Math/MathML"> V a = https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1455.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> m a x V a , m . V a https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1456.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for https://www.w3.org/1998/Math/MathML"> a = 1 , … , M https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1457.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

If m.op completes to manipulate a replica https://www.w3.org/1998/Math/MathML"> o a t , p t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1458.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> sends back a response https://www.w3.org/1998/Math/MathML"> m ' https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1459.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of m to https://www.w3.org/1998/Math/MathML"> p s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1460.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . If https://www.w3.org/1998/Math/MathML"> m . op = read , m ' https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1461.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> carries data derived from https://www.w3.org/1998/Math/MathML"> o a t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1462.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in https://www.w3.org/1998/Math/MathML"> m ' . d https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1463.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and the version number https://www.w3.org/1998/Math/MathML"> v o a t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1464.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of https://www.w3.org/1998/Math/MathML"> o a t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1465.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in m.V. The object vector V is updated as https://www.w3.org/1998/Math/MathML"> V a = v o a t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1466.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . The response message https://www.w3.org/1998/Math/MathML"> m ' https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1467.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> carries V including not only the current version number https://www.w3.org/1998/Math/MathML"> v o a t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1468.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> but also the version numbers of the other replicas which https://www.w3.org/1998/Math/MathML"> p t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1469.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> knows. If https://www.w3.org/1998/Math/MathML"> m . op = write , v o a t : = https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1470.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> tno https://www.w3.org/1998/Math/MathML"> ( op ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1471.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> as presented in the preceding subsection.

https://www.w3.org/1998/Math/MathML"> m ' . https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1472.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> tno https://www.w3.org/1998/Math/MathML"> : = https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1473.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> m.tno; https://www.w3.org/1998/Math/MathML">   m ' . o : = o a ;   m ' . op : = https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1474.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> response https://www.w3.org/1998/Math/MathML"> ;   m ' . V : = V https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1475.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ;

0.1. Message delivery

A message https://www.w3.org/1998/Math/MathML"> m 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1476.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> significantly precedes https://www.w3.org/1998/Math/MathML"> m 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1477.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> if https://www.w3.org/1998/Math/MathML"> m 1 . V < m 2 . V . m 1 . V < m 2 . V https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1478.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> means that https://www.w3.org/1998/Math/MathML"> m 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1479.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> has to precede https://www.w3.org/1998/Math/MathML"> m 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1480.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> from the transaction point of view. Suppose that two transactions https://www.w3.org/1998/Math/MathML"> T 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1481.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> T 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1482.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> issue requests https://www.w3.org/1998/Math/MathML"> m 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1483.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> m 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1484.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to replicas https://www.w3.org/1998/Math/MathML"> x s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1485.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in https://www.w3.org/1998/Math/MathML"> p s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1486.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> x t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1487.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in https://www.w3.org/1998/Math/MathML"> p t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1488.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . If https://www.w3.org/1998/Math/MathML"> m 1 ⋅ V = m 2 ⋅ V https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1489.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> or https://www.w3.org/1998/Math/MathML"> m 1 ⋅ V https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1490.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> m 2 ⋅ V https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1491.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are not comparable, https://www.w3.org/1998/Math/MathML"> p s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1492.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> p t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1493.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> may compute https://www.w3.org/1998/Math/MathML"> m 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1494.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> m 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1495.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in different orders. If https://www.w3.org/1998/Math/MathML"> m 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1496.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> m 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1497.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are https://www.w3.org/1998/Math/MathML"> write , x s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1498.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> x t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1499.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> get inconsistent. Hence, https://www.w3.org/1998/Math/MathML"> m 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1500.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> m 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1501.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> have to be ordered if https://www.w3.org/1998/Math/MathML"> m 1 . op https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1502.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> m 2 . op https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1503.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> conflict.

[Ordering rules] A pair of messages https://www.w3.org/1998/Math/MathML"> m 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1504.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> m 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1505.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are ordered as “ https://www.w3.org/1998/Math/MathML"> m 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1506.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> precedes https://www.w3.org/1998/Math/MathML"> m 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1507.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> m 1 ⇒ m 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1508.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> “ if one of the following rules is satisfied ;

https://www.w3.org/1998/Math/MathML"> m 1 ⋅ V < m 2 ⋅ V https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1509.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

https://www.w3.org/1998/Math/MathML"> m 1 ⋅ V = m 2 ⋅ V https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1510.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and https://www.w3.org/1998/Math/MathML"> m 1 ⋅ t < m 2 ⋅ t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1511.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> m 1 ⋅ op https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1512.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> conflicts with https://www.w3.org/1998/Math/MathML"> m 2 ⋅ op https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1513.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

https://www.w3.org/1998/Math/MathML"> m 1 ⋅ V https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1514.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> m 2 ⋅ V https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1515.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are not comparable and https://www.w3.org/1998/Math/MathML"> m 1 ⋅ o = m 2 ⋅ o = o a https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1516.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and

a. https://www.w3.org/1998/Math/MathML"> m 1 ⋅ V a < m 2 ⋅ V a https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1517.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , or

b. https://www.w3.org/1998/Math/MathML"> m 1 ⋅ V a = m 2 ⋅ V a https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1518.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and https://www.w3.org/1998/Math/MathML"> m 1 ⋅ t < m 2 ⋅ t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1519.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> m 1 . op https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1520.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> conflicts with https://www.w3.org/1998/Math/MathML"> m 2 . op https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1521.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Messages received by https://www.w3.org/1998/Math/MathML"> p u https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1522.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are stored in https://www.w3.org/1998/Math/MathML"> R Q u https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1523.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in the order “ https://www.w3.org/1998/Math/MathML"> ⇒ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1524.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> “. If neither https://www.w3.org/1998/Math/MathML"> m 1 ⇒ m 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1525.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> nor https://www.w3.org/1998/Math/MathML"> m 2 ⇒ m 1 , m 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1526.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> m 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1527.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are stored in https://www.w3.org/1998/Math/MathML"> R Q u https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1528.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in the receipt order. [Example 3] In Figure 2, https://www.w3.org/1998/Math/MathML"> ⟨ α , β ⟩ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1529.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> shows values of an object vector https://www.w3.org/1998/Math/MathML"> V x , V y https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1530.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for objects x and y. Initially https://www.w3.org/1998/Math/MathML"> ⟨ 0,0 ⟩ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1531.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in every processor. Every processor has x and y in Figure 2. A transaction https://www.w3.org/1998/Math/MathML"> T 1 s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1532.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is computed in https://www.w3.org/1998/Math/MathML"> p s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1533.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Here, https://www.w3.org/1998/Math/MathML"> t T 1 s = 1 s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1534.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> where “ s “ is the processor number and “1” is the linear clock in https://www.w3.org/1998/Math/MathML"> p s . T 1 s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1535.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> sends a write request https://www.w3.org/1998/Math/MathML"> m 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1536.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of x to https://www.w3.org/1998/Math/MathML"> p s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1537.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , https://www.w3.org/1998/Math/MathML"> p t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1538.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and https://www.w3.org/1998/Math/MathML"> p u https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1539.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Here, https://www.w3.org/1998/Math/MathML"> m 1 . V = ⟨ 1 s 0,0 ⟩ , m 1 . op = https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1540.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> write , and https://www.w3.org/1998/Math/MathML"> m 1 . o = x . T 2 s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1541.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is initiated after https://www.w3.org/1998/Math/MathML"> T 1 s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1542.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> completes in https://www.w3.org/1998/Math/MathML"> p s . T 3 s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1543.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is initiated after https://www.w3.org/1998/Math/MathML"> T 2 s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1544.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is started, i.e. https://www.w3.org/1998/Math/MathML"> T 2 s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1545.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> T 3 s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1546.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are interleaved. In addition, https://www.w3.org/1998/Math/MathML"> p t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1547.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> initiates https://www.w3.org/1998/Math/MathML"> T 2 t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1548.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> after receiving https://www.w3.org/1998/Math/MathML"> m 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1549.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> from https://www.w3.org/1998/Math/MathML"> p s . T 2 s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1550.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> sends a read request https://www.w3.org/1998/Math/MathML"> m 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1551.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of x to https://www.w3.org/1998/Math/MathML"> p u https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1552.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . After https://www.w3.org/1998/Math/MathML"> T 2 s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1553.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> sends https://www.w3.org/1998/Math/MathML"> m 2 , T 3 s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1554.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> sends a read request https://www.w3.org/1998/Math/MathML"> m 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1555.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of y to https://www.w3.org/1998/Math/MathML"> p t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1556.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . After receiving https://www.w3.org/1998/Math/MathML"> m 3 , T 2 t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1557.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> sends a read request https://www.w3.org/1998/Math/MathML"> m 4 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1558.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of x to https://www.w3.org/1998/Math/MathML"> p u https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1559.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Here, https://www.w3.org/1998/Math/MathML"> m 1 . V = m 2 . V = https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1560.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> m 3 ⋅ V = m 4 ⋅ V = ⟨ 1   s 0,0 ⟩ . m 2 . op = m 3 . op = m 4 . op = https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1561.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> read https://www.w3.org/1998/Math/MathML"> . m 2 . o = m 4 . o = x https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1562.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> m 3 . o = y https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1563.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . In the traditional group protocols, https://www.w3.org/1998/Math/MathML"> m 1 → m 4 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1564.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> since https://www.w3.org/1998/Math/MathML"> m 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1565.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> causally precedes https://www.w3.org/1998/Math/MathML"> m 2 m 1 → m 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1566.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> m 2 → m 4 ⋅ p u https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1567.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> has to receive https://www.w3.org/1998/Math/MathML"> m 1 , m 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1568.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and https://www.w3.org/1998/Math/MathML"> m 4 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1569.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in this order. The messages received in https://www.w3.org/1998/Math/MathML"> R Q u https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1570.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are ordered by using the ordering rule. Here, https://www.w3.org/1998/Math/MathML"> m 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1571.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> precedes https://www.w3.org/1998/Math/MathML"> m 2 m 1 ⇒ m 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1572.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> m 1 ⇒ m 4 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1573.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in https://www.w3.org/1998/Math/MathML"> p u https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1574.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Since https://www.w3.org/1998/Math/MathML"> m 2 ⋅ V = m 4 ⋅ V ( = ⟨ 1   s 0,0 ⟩ ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1575.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> m 2 ⋅ t ( = https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1576.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> 2 s ) < m 4 ⋅ t ( = 2 t ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1577.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> but https://www.w3.org/1998/Math/MathML"> m 2 ⋅ op https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1578.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is compatible with https://www.w3.org/1998/Math/MathML"> m 4 ⋅ op https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1579.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , neither https://www.w3.org/1998/Math/MathML"> m 2 ⇒ m 4 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1580.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> nor https://www.w3.org/1998/Math/MathML"> m 4 ⇒ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1581.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> m 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1582.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in https://www.w3.org/1998/Math/MathML"> p u https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1583.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> by the ordering rule.

This example shows that https://www.w3.org/1998/Math/MathML"> m 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1584.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> causally precedes https://www.w3.org/1998/Math/MathML"> m 4 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1585.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> although https://www.w3.org/1998/Math/MathML"> m 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1586.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> m 4 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1587.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are not ordered by the ordering rule. That is, https://www.w3.org/1998/Math/MathML"> p u https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1588.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> can deliver https://www.w3.org/1998/Math/MathML"> m 4 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1589.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> if https://www.w3.org/1998/Math/MathML"> p u https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1590.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> receives https://www.w3.org/1998/Math/MathML"> m 4 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1591.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> before https://www.w3.org/1998/Math/MathML"> m 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1592.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> due to the delay or loss of https://www.w3.org/1998/Math/MathML"> m 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1593.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

https://www.w3.org/1998/Math/MathML"> [ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1594.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Theorem 3 https://www.w3.org/1998/Math/MathML"> ] https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1595.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Every pair of significant messages https://www.w3.org/1998/Math/MathML"> m 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1596.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> m 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1597.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are ordered in the same order https://www.w3.org/1998/Math/MathML"> ⇒ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1598.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in every common destination processor of https://www.w3.org/1998/Math/MathML"> m 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1599.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> m 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1600.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> by the ordering rule. [Proof] From theorem 2, https://www.w3.org/1998/Math/MathML"> m 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1601.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> significantly precedes https://www.w3.org/1998/Math/MathML"> m 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1602.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> if https://www.w3.org/1998/Math/MathML"> m 1 . V < m 2 . V . https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1603.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> If https://www.w3.org/1998/Math/MathML"> m 1 . V https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1604.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> = m 2 ⋅ V https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1605.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> or https://www.w3.org/1998/Math/MathML"> m 1 ⋅ V https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1606.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> m 2 ⋅ V https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1607.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are not comparable, https://www.w3.org/1998/Math/MathML"> m 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1608.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> m 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1609.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are ordered by the identifiers of the transactions issuing https://www.w3.org/1998/Math/MathML"> m 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1610.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> m 2 . m 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1611.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> m 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1612.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are ordered by the transaction identifiers.

A message m is a top message in https://www.w3.org/1998/Math/MathML"> R Q t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1613.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> iff there is no message https://www.w3.org/1998/Math/MathML"> m 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1614.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in https://www.w3.org/1998/Math/MathML"> R Q t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1615.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> such that https://www.w3.org/1998/Math/MathML"> m 1 ⇒ m https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1616.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . The top message https://www.w3.org/1998/Math/MathML"> m 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1617.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in https://www.w3.org/1998/Math/MathML"> R Q t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1618.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> still cannot be delivered because https://www.w3.org/1998/Math/MathML"> p t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1619.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> may not yet have received some message https://www.w3.org/1998/Math/MathML"> m 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1620.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> causally preceding https://www.w3.org/1998/Math/MathML"> m 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1621.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> due to the unexpected delay. We discuss what messages in https://www.w3.org/1998/Math/MathML"> R Q t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1622.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> can be delivered. Let m be a message from https://www.w3.org/1998/Math/MathML"> p u https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1623.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and stored in https://www.w3.org/1998/Math/MathML"> R Q t . m https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1624.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is stable in https://www.w3.org/1998/Math/MathML"> p t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1625.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> iff https://www.w3.org/1998/Math/MathML"> p t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1626.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> had received a message https://www.w3.org/1998/Math/MathML"> m 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1627.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> from https://www.w3.org/1998/Math/MathML"> p u https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1628.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in https://www.w3.org/1998/Math/MathML"> R Q t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1629.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> where https://www.w3.org/1998/Math/MathML"> m 1 ⋅ s q t = m ⋅ s q t + 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1630.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and https://www.w3.org/1998/Math/MathML"> p t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1631.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> correctly receives a message https://www.w3.org/1998/Math/MathML"> m 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1632.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in https://www.w3.org/1998/Math/MathML"> R Q t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1633.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> from every https://www.w3.org/1998/Math/MathML"> p u https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1634.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> where https://www.w3.org/1998/Math/MathML"> m ⇒ m 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1635.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . The top message m in https://www.w3.org/1998/Math/MathML"> R Q t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1636.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> can be delivered if m is stable, because every message causally preceding m in https://www.w3.org/1998/Math/MathML"> R Q t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1637.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> from the transaction point of view is surely delivered. A top message m in https://www.w3.org/1998/Math/MathML"> R Q t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1638.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is ready if https://www.w3.org/1998/Math/MathML"> p t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1639.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> computes no operation conflicting with m.op in a replica m.o. In addition, only significant messages which are not omissible in https://www.w3.org/1998/Math/MathML"> R Q t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1640.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are delivered by the following delivery procedure.

Delivery procedure] While each top message m in https://www.w3.org/1998/Math/MathML"> R Q t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1641.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is stable and ready, m is dequeued from https://www.w3.org/1998/Math/MathML"> R Q t ; m https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1642.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is neglected if m is omissible, otherwise m is delivered;

If https://www.w3.org/1998/Math/MathML"> p t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1643.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> receives read requests https://www.w3.org/1998/Math/MathML"> r 1 ( x ) , … , r h ( x ) ( h > 1 ) , p t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1644.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> computes https://www.w3.org/1998/Math/MathML"> r ( x ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1645.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> once and then sends the response to all the source processors of https://www.w3.org/1998/Math/MathML"> r 1 ( x ) , … , r h ( x ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1646.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Thus, the number of operations computed can be reduced.

Each https://www.w3.org/1998/Math/MathML"> p t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1647.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> has variables https://www.w3.org/1998/Math/MathML"> D 1 , … , D M https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1648.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> where each https://www.w3.org/1998/Math/MathML"> D a https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1649.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> shows the version number of an object https://www.w3.org/1998/Math/MathML"> o a https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1650.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to deliver messages https://www.w3.org/1998/Math/MathML"> ( a = 1 , … , M ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1651.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Each time a message m is delivered, https://www.w3.org/1998/Math/MathML"> D a : = m . t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1652.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> if https://www.w3.org/1998/Math/MathML"> m . o = o a https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1653.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> m . t ≥ D a https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1654.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Here, if https://www.w3.org/1998/Math/MathML"> m . t < D a , m https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1655.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is omitted. If some https://www.w3.org/1998/Math/MathML"> p u https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1656.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> sends no message to https://www.w3.org/1998/Math/MathML"> p t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1657.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , messages in https://www.w3.org/1998/Math/MathML"> R Q t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1658.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> cannot be stable. Hence, https://www.w3.org/1998/Math/MathML"> p u https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1659.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> sends a message without data to https://www.w3.org/1998/Math/MathML"> p t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1660.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> if https://www.w3.org/1998/Math/MathML"> p u https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1661.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> had not sent any message to https://www.w3.org/1998/Math/MathML"> p t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1662.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for some predetermined δ time units. https://www.w3.org/1998/Math/MathML"> p t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1663.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> considers that https://www.w3.org/1998/Math/MathML"> p t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1664.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> loses a message from https://www.w3.org/1998/Math/MathML"> p u https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1665.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> if https://www.w3.org/1998/Math/MathML"> p t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1666.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> does not receive any message from https://www.w3.org/1998/Math/MathML"> p u https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1667.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for δ time units or https://www.w3.org/1998/Math/MathML"> p t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1668.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> detects a message gap. Here, https://www.w3.org/1998/Math/MathML"> p t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1669.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> requires https://www.w3.org/1998/Math/MathML"> p u https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1670.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to resend https://www.w3.org/1998/Math/MathML"> m . p u https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1671.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> considers that https://www.w3.org/1998/Math/MathML"> p t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1672.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> may lose m unless https://www.w3.org/1998/Math/MathML"> p u https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1673.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> receives the receipt confirmation of m from https://www.w3.org/1998/Math/MathML"> p t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1674.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in https://www.w3.org/1998/Math/MathML"> 2 δ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1675.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> after https://www.w3.org/1998/Math/MathML"> p u https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1676.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> sends m to https://www.w3.org/1998/Math/MathML"> p t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1677.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Figure 3: Ratio of operations https://www.w3.org/1998/Math/MathML"> ( N = 3 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1678.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Evaluation

In the TBCO protocol, only significant messages are causally ordered. We evaluate the TBCO protocol in terms of the number of messages causally ordered compared with the traditional message-based group protocol. The TBCO protocol is realized in threads of a Cray Super Server 6400 with 10 Ultra Sparc CPUs. Each processor https://www.w3.org/1998/Math/MathML"> p t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1679.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is bound to one https://www.w3.org/1998/Math/MathML"> C P U https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1680.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . TCP https://www.w3.org/1998/Math/MathML">   16 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1681.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ) is used to exchange messages among the processors. Each processor randomly creates transactions each of which randomly manipulates objects by read and write.

In the evaluation, three objects are fully replicated in all the processors https://www.w3.org/1998/Math/MathML"> ( M = 3 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1682.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Each processor randomly initiates totally twenty transactions each of which issues ten arbitrary types of operations on arbitrary objects. Figure 3 shows the total number of requests computed in the objects for the ratio of write requests issued by the transactions for three processors https://www.w3.org/1998/Math/MathML"> ( N = 3 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1683.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . The more write requests are issued, the more messages are sent to the replicas. The figure shows that the more write messages are issued, the more messages can be omitted. For example, only https://www.w3.org/1998/Math/MathML"> 68 % https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1684.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of the messages transmitted in the message-based protocol are transmitted in the TBCO protocol in case that all the messages are writes, i.e. the write ratio is 1.0 while https://www.w3.org/1998/Math/MathML"> 50 % https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1685.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for the write ratio 0.4 and https://www.w3.org/1998/Math/MathML"> 90 % https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1686.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for the write ratio 0.0.

In Figures 4 and 5, the vertical axis indicates the ratio of the number of messages delivered to the number of messages transmitted for ten processors https://www.w3.org/1998/Math/MathML"> ( N = 10 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1687.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in the traditional message-based protocol. The dotted line shows TBCO and the solid line indicates the message-based protocol. Figures 4 and 5 show cases that https://www.w3.org/1998/Math/MathML"> 90 % https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1688.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> 50 % https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1689.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of the operations issued by each transaction are writes, respectively. These figures show that the number of messages delivered can be reduced by the TBCO protocol. About https://www.w3.org/1998/Math/MathML"> 30 % https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1690.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> 20 % https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1691.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of messages transmitted in the network are reduced for the write ratios https://www.w3.org/1998/Math/MathML"> 90 % https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1692.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> 50 % https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1693.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , respectively.

Figure 4: Ratio of messages.

Figure 5: Ratio of messages.

Concluding Remarks

This paper has discussed what messages to be ordered in replicated objects with read and write operations from the application point of view. We have proposed the novel object vector for significantly ordering messages based on the transaction concept. The scheme of the object vector depends on the number of the objects. The object vector is invariant in change of the group membership, i.e. transactions. The TBCO protocol orders only the messages to be significantly preceded for the applications. We have also discussed a way for omitting insignificant messages. We have shown that the TBCO protocol implies fewer number of operations computed than the message-based protocols.

Bibliography

Ahamad, M., Raynal, M., and Thia-Kime, G., “An Adaptive Protocol for Implementing Causally Consistent Distributed Services,” Proc. of IEEE ICDCS-18, pp. 86-93 (1998).

Bernstein, P. A., Hadzilacos, V., and Goodman, N., “Concurrency Control and Recovery in Database Systems,” Addison-Wesley, 1987.

Birman, K., “Lightweight Causal and Atomic Group Multicast,” ACM Trans. on Computer Systems, Vol.9, No.3, pp. 272-290 (1991).

Cheriton, D. R. and Skeen, D., “Understanding the Limitations of Causally and Totally Ordered Communication,” Proc. of ACM SIGOPS’93, pp. 44-57 (1993).

Enokido, T., Tachikawa, T., and Takizawa, M., “Transaction-Based Causally Ordered Protocol for Distributed Replicated Objects,” Proc. of IEEE ICPADS’97, pp.210-215 (1997).

Enokido, T., Higaki, H., and Takizawa, M., “Group Protocol for Distributed Replicated Objects,” to appear in Proc. of ICPP’98 (1998).

Enokido, T., Higaki, H., and Takizawa, M., “Protocol for Group of Objects,” to appear in Proc. of DEXA’98 (1998).

Lamport, L., “Time, Clocks, and the Ordering of Events in a Distributed System,” Comm. ACM, Vol. 21, No. 7, pp. 558-565 (1978).

Leong, H. V. and Agrawal, D., “Using Message Semantics to Reduce Rollback in Optimistic Message Logging Recovery Schemes,” Proc. of IEEE ICDCS-14, pp. 227-234 (1994).

Mattern, F., “Virtual Time and Global States of Distributed Systems,” Parallel and Distributed Algorithms (Cosnard, M. and Quinton, P. eds.), North-Holland, pp. 215226 (1989).

Melliar-Smith, P. M., Moser, L. E., and Agrawala, V., “Broadcast Protocols for Distributed Systems,” IEEE Trans. on Parallel and Distributed Systems, Vol. 1, No 1, pp. 17-25 (1990).

Nakamura, A., Tachikawa, T., and Takizawa, M., “Causally Ordering Broadcast Protocol,” Proc. of IEEE ICDCS-14, pp. 48-55 (1994).

Tachikawa, T. and Takizawa, M., “Significantly Ordered Delivery of Messages in Group Communication,” Computer Communications Journal, Vol. 20, No.9, pp. 724-731 (1997).

Tachikawa, T., Higaki, H., and Takizawa, M., “Group Communication Protocol for Realtime Applications,” Proc. of IEEE ICDCS-18, pp. 40-47 (1998).

Tanaka, K., Higaki, H., and Takizawa, M. “Object-Based Checkpoints in Distributed Systems,” Journal of Computer Systems Science and Engineering, Vol. 13, No.3, pp.125 https://www.w3.org/1998/Math/MathML"> 131 ( 1998 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1694.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Transmission Control Protocol, RFC793, pp. 1-26 (1981).

Predictive Method of Task Allocation

in Stream-based Computing

tatic methods of task allocation have less overhead at run-time but they are difficult to adapt to the environment. We propose the predictive method in order to increase the adaptability of static task allocation methods. In this method, optimal allocations are decided by using system dependent factors which have been measured. In addition, we introduce stream-based computing which is suitable for data streaming used in real-time video. In this computing model, it is easy to predict computing costs. In this paper, we describe the evaluations of our predictive method in the case of applying it to stream-based computing.

Introduction

Recently, in the field of HPC, the importance of data streaming https://www.w3.org/1998/Math/MathML">   2 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1695.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is increased. The data streaming can be realized by pipeline processing. Therefore, in such fields, task allocation for pipeline processing is very important. Generally, dynamic task allocation does not fit a fine-grained process environment, because it prevents original processing due to runtime overheads. Static task allocation has very low runtime overhead, but it is difficult to provide portability of tasks. In this article, we propose the predictive method of task allocation in stream-based computing in order to increase the adaptability of static task allocation methods. This algorithm uses throughput prediction for deciding the optimal allocation. On task allocation, patterns for possible task allocations increase enormously as the number of processors and the number of parallel objects increase, therefore it is difficult to decide the most suitable allocation pattern. This method uses Genetic Algorithm(GA) in order to decide the approximated solution of the optimal allocation pattern among generated patterns efficiently. By applying GA to our method, the amount of computation for the task allocation has been extremely reduced, and the effectiveness of our method is proved. a<In, Out, Behav, Cp>

Initialization

Figure 1: Composition of Actor.

This paper consists of the following sections. Section 2 introduces the Streambased Computing model which is used as a basis of our predictive task allocation method. Section 3 proposes our task allocation method. Section 4 shows an evaluation of this algorithm for example application of a random task. Section 5 shows the conclusion of our predictive task allocation method.

Stream-based Computing Model

In this section, we introduce Stream Computing Model which is easy to analyze tasks and suitable for data streaming, pipeline processing, and so on. In this model, a task is represented as cyclic pipeline processes composed of actors and streams, and its execution cycle can be calculated by static analysis of actors’ processing costs and streams’ communication costs.

2.1 Definition of the Model

First, we show conceptual definitions of the basics of the stream-based computing model. The stream-based computing model is an extended macro data flow model that applies several optimizations mentioned below. This model features the allowance of simultaneous tokens on one stream as communication channels. And the sequence of each token’s arrival will be preserved and guaranteed. Furthermore, this model consists of actors representing a primitive procedure and streams representing communication channels. The actor has two kinds of ports, one is for input, the other is for output. A stream is linked to those ports. In this model, a task is composed of one or more primitive actors. With this result, the task can be reconfigured easily without algorithm modification in order to adopt any number of processors.

2.2 Actor

An actor is an execution unit repeating a particular procedure and consists of ore initialization part and one loop part. Both parts are painted in gray in Figure 1. The metrics model of an actor is represented as https://www.w3.org/1998/Math/MathML"> https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1696.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> In, Out, Behav, https://www.w3.org/1998/Math/MathML"> C p https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1697.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , where In is the set of input ports, Out is the set of output ports, Behav is the behavior of the actor, and https://www.w3.org/1998/Math/MathML"> C p https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1698.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is the processing cost of the actor. The processing cost of an actor is defined as the period of an iteration. We assume that shared resources are not conflicted because each actor encapsulates a resource and maintains it. The loop part consists of the following sequence: (1) Waiting period for next cycle, (2) Input from a set of In ports, (3) Body of actor execution, (4) Output to a set of Out ports.

There are following kinds of primitive actors which based on data flow models: Operation actor, Conditional merge actor, Gate actor, and Switch actor. Users can define macro actors by combination of these primitive actors. For example, control structures are implemented by conditional merge actors and gate actors.

2.3 Stream

In this section, we give the measurement of communication cost. A stream is defined as a communication path from an Out port to an In port. The metrics model of a stream is represented as https://www.w3.org/1998/Math/MathML"> https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1699.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> In, Out, Type, https://www.w3.org/1998/Math/MathML"> C c https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1700.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , where Type is the data type of tokens in the stream, and https://www.w3.org/1998/Math/MathML"> C c https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1701.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is the communication cost of the stream. A stream has the following features: (1) It is easy to analyze because communicating objects are fixed, (2) The order of tokens in a stream is guaranteed, (3) It is easy to optimize the granularity of communication by turning buffer size.

There is a large difference between local communication and remote communication in the distributed system. Local communication is often realized by means of memory-to-memory copy. On the other hand, remote communication is realized in a variety of methods such as message passing, shared memory and so on. In this paper, we employ message passing to realize stream communication.

In general, the message is divided into fixed size pieces called packets. The sending time https://www.w3.org/1998/Math/MathML"> T s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1702.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is shown as follows:

https://www.w3.org/1998/Math/MathML"> T s = α ⋅ N Buf + β ⋅ N + T t ( N ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1703.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

where N is the data size in a message, Buf is the size of a packet, https://www.w3.org/1998/Math/MathML"> T t ( N ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1704.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> means a function giving transfer time and α,β are system dependent constants. The first term represents packet creation time, the second term represents data copy time to packet and the third term gives transfer time in the network. This transfer time is hidden in the case of asynchronous communication where this can be overlapped with other processing time. According to the investigation of the communication costs for AP https://www.w3.org/1998/Math/MathML"> 3000 3 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1705.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , the costs are measured as shown in Figure 2 . In this Figure, X axis is data size per a transfer, https://www.w3.org/1998/Math/MathML"> Y https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1706.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> axis is the time of a transfer where the line labeled “Local” shows local communication cost and the line labeled “Remote” shows remote communication cost. From Figure 2, parameters in equation 19.1 are given from the segment and slope of the graph such as https://www.w3.org/1998/Math/MathML"> Buf = 8192 , α = 0.14 , β = 6.8 × 10 - 6 , T t ( N ) = 0.215 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1707.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in data size over 1024(Bytes). We assume that communication conflicts merely occur.

Figure 2: Communication Cost.

Figure 3: Timing chart and execution cycle of a task.

2.4 Throughput

Here, we describe the throughput which is an important factor in stream-based computing. In this paper, we define the throughput th as follows:

https://www.w3.org/1998/Math/MathML"> th = 1 / T https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1708.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

where T is the execution cycle of the task.

shows how to get throughput of a task when one of possible patterns of the task allocation is given. The upper side in Figure 3 represents a sample task and one of its allocation pattern, and the under side represents a timing chart of the allocation pattern. The detail of generating allocation patterns is mentioned in section 3. In Figure 3, PU1, PU2 are processors and the symbols “a-e” are actors allocated into the processors. The under side in Figure 3 shows that actors are allocated according to the execution order “ https://www.w3.org/1998/Math/MathML"> a , b , c , d , e https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1709.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> “ and the timing chart is drawn. This execution order is determined from the allocating order lists mentioned in section 3.2.2, and the allocating order is used as chromosome in GA. The detail of applying GA is described in 3.2.3. This allocating order list is sorted by communication dependencies of actors, and the first element of sorted lists is given as the execution order. The total process is represented as repeated blocks and the maximum execution period among all of them is the execution cycle of the task. In Figure 3 , the execution cycle T becomes 8 , and the throughput th becomes https://www.w3.org/1998/Math/MathML"> 1 / 8 = 0.125 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1710.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Predictive Method of Task Allocation

3.1 Preparation of Task Allocation

The process of task analysis and allocation consists of following three stages:

System dependent Analysis. On the first time the stream-based computing model is implemented, or system configuration which affect system performance is changed, system dependent analysis is performed. Remote and local communication latencies are measured by evaluation programs. Then the parameter α,β in equation 19.1 are derived using the latencies. Thus communication cost for any data size can be calculated.

Compile Time Evaluation. Application dependent factors such as the behavior of a task are analyzed.

Pre-runtime allocation. Just before the executing the task, the number of available processors is given, then the task is executed with optimal allocation.

11.1. Task Allocation Algorithm

In this section, we explain the allocation method using knapsack algorithm https://www.w3.org/1998/Math/MathML">   4 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1711.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and Genetic Algorithm https://www.w3.org/1998/Math/MathML">   7 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1712.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . In the method, the task allocation is performed by allocating actors to processors.

11.1.1. Basic Algorithm of Task Allocation

In this section, we show the basic idea of our task allocation method in Figure 4. The allocation is decided by selecting the highest throughput allocation pattern among the patterns generated by using knapsack method.

In algorithm BA, allocation patterns are generated from all the permutation lists of allocating orders, and the best allocation pattern is selected by comparing predicted throughput of the allocation patterns. The example of allocating order lists are shown in right upper of Figure 3 . The function “allocate (Actors)” allocates actors in order of the list Actors and save the allocation pattern to al. The detail of

Figure 4: Basic Algorithm of Task Allocation.

“allocate https://www.w3.org/1998/Math/MathML"> ( al ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1713.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> “ is described in the next section. The function “get_throughput ( al )” returns the throughput of the allocation pattern al mentioned in section 2.4.

11.1.2. Generating Task allocation pattern using Knapsack Method

Generally, there are a lot of combinations of possible allocation patterns, but most of them are not suitable as a solution. So, in this allocation algorithm, allocation patterns are restricted as follows:

Actors communicating with larger communication latency are placed into the same processor to reduce communication costs.

The maximum processor load is limited to C in order to avoid an imbalance of processor loads. C is calculated as

https://www.w3.org/1998/Math/MathML"> C = e ⋅ T ideal   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1714.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

where e is the coefficient https://www.w3.org/1998/Math/MathML"> ( ≥ 1 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1715.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> which depends on applications, and https://www.w3.org/1998/Math/MathML"> T ideal   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1716.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is ideal execution cycle which is assumed that the task is equally divided into processors and there are no communication delays. It is calculated as

https://www.w3.org/1998/Math/MathML"> T ideal   = ∑ i = 1 n   p i / d https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1717.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1718.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> : processing cost of actor i

n : number of actors

d: number of divisions

With this restriction, the allocated load to the processors gets closer to equal.

shows the process of actor allocation using Knapsack method, and Figure 6 is the algorithm of this method.

In algorithm allocate, allocation patterns are decided from the allocating order list Actors. The list is shown in the right upper of Figure 5. Figure 5 is a process of actor allocation and Figure 6 is the allocation algorithm which is a variant of a knapsack algorithm. Allocation pattern consists of actor location to processors and executing order.

Next, we explain an example of actor allocation procedure. Figure 5 is a process of actor allocation according to the allocating order:

Figure 6: Actor Allocation based on Knapsack method.

list1: https://www.w3.org/1998/Math/MathML"> a , g , f , e , b , c , d https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1719.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> (‘ https://www.w3.org/1998/Math/MathML"> a https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1720.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ‘-‘ https://www.w3.org/1998/Math/MathML"> f https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1721.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ‘ are actor names)

In this figure, actors ‘ https://www.w3.org/1998/Math/MathML"> a https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1722.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ‘, ‘ https://www.w3.org/1998/Math/MathML"> g https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1723.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ‘, ‘ https://www.w3.org/1998/Math/MathML"> f https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1724.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ‘ are already allocated to processors and ‘ https://www.w3.org/1998/Math/MathML"> e https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1725.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ‘ is in the process of being allocated. To make the explanation simpler, all the actors’ processing costs are assumed to be 1 . At this time, the sum of load in https://www.w3.org/1998/Math/MathML"> P U 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1726.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is 1 , and in https://www.w3.org/1998/Math/MathML"> P U 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1727.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is 2 . The allocating actor ‘e’ is pulled by both ‘ https://www.w3.org/1998/Math/MathML"> a https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1728.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ‘ and ‘ https://www.w3.org/1998/Math/MathML"> g https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1729.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ‘, and the gravity (communication latency) to ‘ https://www.w3.org/1998/Math/MathML"> g https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1730.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ‘ is stronger, so ‘e’ is placed into https://www.w3.org/1998/Math/MathML"> P U 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1731.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> which has ‘ https://www.w3.org/1998/Math/MathML"> g https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1732.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ‘. Then the sum of the load of https://www.w3.org/1998/Math/MathML"> P U 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1733.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> becomes 3 . If the load of https://www.w3.org/1998/Math/MathML"> P U 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1734.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is over the limit, ‘e’ is placed into https://www.w3.org/1998/Math/MathML"> P U 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1735.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> which has extra space to take ‘e’.

In Figure 6. the function “gravity https://www.w3.org/1998/Math/MathML"> ( a , p ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1736.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> “ returns the sum of remote communication costs between allocating actor a and other actors in the processor p. The function “load_of https://www.w3.org/1998/Math/MathML"> ( p ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1737.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> “ returns the current load of the processor p. The function “place https://www.w3.org/1998/Math/MathML"> al , a , p alloc   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1738.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> “ places an actor a into the processor https://www.w3.org/1998/Math/MathML"> p alloc   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1739.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and the current allocation status al is changed. Actors communicating with high communication latency are placed into the same processor with this grouping policy.

11.1.3. GA-based algorithm of Task Allocation

Task allocation in this computing model is considered as an NP complete problem. So we introduced GA in order to get the approximated solution in a practical time.

GA is applied as follows:

Generate chromosome. Chromosome is defined by allocating order of actors, and it is used in the Knapsack method in section 3.2.2.

Repeat the following steps:

(a) Generate allocation patterns from chromosome by using the Knapsack method.

(b) Calculate the fitness of the allocation patterns as the evaluation of GA. Fitness is defined by the proportion of the predicted throughput to the ideal throughput https://www.w3.org/1998/Math/MathML"> T i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1740.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> deal in equation 19.4.

© Perform the GA operations: selection, crossover, and mutation.

Evaluations

Here, we present the evaluation of our predictive method of task allocation, the validity of throughput prediction and the degree of efficiency of GA-based allocation.

12.1. Comparison between Prediction and Measurement

shows the comparison between predicted throughput and the actual throughput on the Fujitsu AP3000 system https://www.w3.org/1998/Math/MathML">   3 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1741.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> (CPU: UltraSparc 143MHZ https://www.w3.org/1998/Math/MathML"> × 8 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1742.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , Memory: 128 MB). In this case, we employ a task which is generated at random as a sample application.

In Figure https://www.w3.org/1998/Math/MathML"> 7 , X https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1743.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> axis is the number of processors used in allocation, Y axis is the data transfer rate [ms], and https://www.w3.org/1998/Math/MathML"> Z https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1744.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> axis is the reciprocal number of throughput. As Data transfer rate depends on architectures, communication latency is changed as a parameter to show this allocation algorithm is applicable on other systems. Data transfer rate is the communication cost for sending a constant amount of data, and it is calculated in equation (19.1). At this time, parameter e in equation (19.3) is set to 1.5, and the number of processors https://www.w3.org/1998/Math/MathML"> n p https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1745.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is set in the range from 1 to 20 . The thick line in Figure 7 is drawn to connect the best throughput points for each number of divisions. As shown in this figure, the predicted throughput is close to the measured throughput.

12.2. GA based Improvement

BA is classified as an NP complete problem. In this section, we consider how to improve our method. In such problems, GA is usually used to reach a practical

Figure 7: Comparison between Prediction and Measurement.

Table 1: Number of trials of GA operations for deciding the optimal allocation.

https://www.w3.org/1998/Math/MathML"> n p https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1746.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> n trial   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1747.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> n trial   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1748.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> n p https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1749.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> : number of processors

https://www.w3.org/1998/Math/MathML"> n trial   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1750.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> : number of trials of GA operations

speedup: throughput https://www.w3.org/1998/Math/MathML"> n p / https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1751.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> throughput https://www.w3.org/1998/Math/MathML"> ( 1 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1752.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

throughput https://www.w3.org/1998/Math/MathML"> n p https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1753.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> : throughput of the allocation on https://www.w3.org/1998/Math/MathML"> n p https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1754.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> processors throughput(1): throughput of the allocation on 1 processor

solution. So we evaluate the efficiency of GA by applying our method. In order to apply GA to our allocation method, we define the list of allocating order as chromosome. The list of allocating order is used in the Knapsack allocation method in section 3.2.2, and the list is shown in the top right side of Figure 5. The initial generation set of the allocation order lists (e.g list 1,2 in Figure 7) is given at random. Then the next generation sets are created by applying crossover, mutation, and so on.

Table 1 is the comparison of average number of trials for deciding the allocation pattern between the GA based algorithm and BA algorithm described in 3.2.1. In this comparison, 8 actors are generated with random connection of streams. Actors’ processing cost is given as exponential random numbers with average https://www.w3.org/1998/Math/MathML"> 100   m s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1755.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and data size of the stream is set to 100 Bytes.

In table 1, speedup is the effect of speedup by increasing the number of processors https://www.w3.org/1998/Math/MathML"> n p https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1756.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . The speedup implies, the closer the value of speedup to https://www.w3.org/1998/Math/MathML"> n p https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1757.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is, the higher the throughput is. In BA method, https://www.w3.org/1998/Math/MathML"> n trial   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1758.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is the factorial of number of actors and the required https://www.w3.org/1998/Math/MathML"> n trial   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1759.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> becomes https://www.w3.org/1998/Math/MathML"> 8 ! = 40320 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1760.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . On the other hand, in our GA method, in order to get the same speedup of BA, https://www.w3.org/1998/Math/MathML"> n trial   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1761.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is only 120. In GA, https://www.w3.org/1998/Math/MathML"> n trial   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1762.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> varies to the condition of convergence judgement and number of initially generated chromosomes. From this table, the trial number of GA is improved to that of BA’s. So, the efficiency of applying GA on task allocation is proved.

Our objective for this algorithm is not to solve the actual optimal allocation but the practically optimal one. The role of throughput prediction is an evaluation function, so if you can get the practical solution by using anything else beside throughput, it can be used as a new metric in our method.

Conclusions

In this paper, we proposed the predictive method of task allocation. This method consists of three stages of analysis and the Knapsack allocation method. We employed https://www.w3.org/1998/Math/MathML"> G A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1763.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in order to reduce the number of computations for deciding the allocation. We evaluated the random task allocation in order to certify the validity of this algorithm. Using our predictive method and GA to the task allocation in stream-based computing, the optimal task allocation can be obtained efficiently.

Bibliography

Message Passing Interface Forum, “Document for a Standard Message-Passing Interface”, Technical Report No. CS-93-214 (revised), Apr. 1994.

Patrick T. Gaughan, “Data Streaming: Very Low Overhead Communication for Finegrained Multicomputing”, In Pro eedings of 7tr IEEE Symposium on Parallel and Distributed Processing, Oct. 1995.

Hiroyuki Oyake, Yuji Iguchi and Tsunemi Yamene, “Operating System of AP3000 Series Scalar-Type Parallel Servers”, FUJITSU Sci. Tech. J.,33,1,pp.31-38,June 1997.

Yoichi Aoyagi, Minoru Uehara and Hideki Mori, “A Case Study on Predictive Method of Task Allocation in Stream-based Computing”, The 12th International Conference on Information Networking(ICOIN-12),IPSJ,IEEE Tokyo and Taipei, pp.316-321, Jan. 1998.

Minoru Uehara and Mario Tokoro, “An Adaptive Load Balancing Method in Computational Field Model”, ACM OOPS Messenger, Vol. 2, No. 2, Apr. 1991.

Gustav Pospischil, Peter Puschner, Alexander Vrchoticky and Ralph Zainlinger, “Developing Real-Time Tasks with Predictable Timing”, IEEE SOFTWARE, pp.35-44, Sep. 1992.

Zbigniew Michalewicz, “Genetic Algorithms + Data Structures = Evolution Progrtams”, Springer-Verlag, 1994

Test Generation of a Communication Protocol in an EFSM model

In this paper, we generate conformance test cases for a communication protocol modeled in an EFSM(Extended Finite State Machine) by a transition-based fault coverage analysis. As the analysis model, we choose the expanded EFSM to resolve the inter-dependency problem between control and data flows within an EFSM. An expanded EFSM has several useful properties and makes it easy to generate test cases. For test case generation, at first we define data elements in the expanded EFSM. With the definition, we define some probable fault models in transitions of the expanded EFSM and discuss what test cases are needed for covering each fault model. The analysis shows that control flow test cases with full fault coverage and data flow test cases satisfying all-du-paths criterion are needed to guarantee high fault coverage in the expanded EFSM. A mass of generated test cases by high fault coverage is optimized through some steps. The result of a simple protocol shows the efficacy of this method.

Introduction

Lately the protocol model used for test case generation of conformance test is being changed from the FSM(Finite State Machine) model to the EFSM(Extended Finite State Machine) model, because the FSM model cannot fully specify communication protocols. As not considering data flows, control flow test using FSM model has also limited applicability, cannot detect any error of data flows, and moreover may be impractical for not considering executabilities of test sequences. The EFSM testing has both the control flow test part and the data flow test part. Its control flow test usually adopts the test methods used in FSM testing. In the data flow test part, the test sequences have been mostly used that can satisfy one of Weyuker’s data selection criteria https://www.w3.org/1998/Math/MathML">   8 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1764.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> based on data flow analysis of software testing https://www.w3.org/1998/Math/MathML">   7 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1765.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . But control flows and data flows are dependent each other and especially transitions in control flows gets decided executable by their data set. Lately some methods considering them have been proposed: EUIO(Executable-UIO)-method which considers data flows for generation of executable control flow test sequences https://www.w3.org/1998/Math/MathML">   5 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1766.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and a unified test sequence generation method whose sequences can test both control and data flows of IUT(Implementation Under Test https://www.w3.org/1998/Math/MathML"> ) 3 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1767.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . But the interdependency between control flows and data flows of an EFSM model of a protocol interferes with generation of each test cases having the desired test coverage. Some researches trying to solve this problem have been studied, one of which expands the EFSM by freeing predicate statements https://www.w3.org/1998/Math/MathML">   10 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1768.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ). To resolve the state explosion, this method assumes finite and countable domains of the variables that occur in predicate statements. From the expanded EFSM, test sequences can be generated using classic methods. But the expanded EFSM is not a pure FSM but still an EFSM, so new test case generations method are needed to test the expanded EFSM properly with considering fault coverage.

In section 2, we define an expanded EFSM and explain its properties. A test case generation method by fault coverage analysis for the expanded EFSM is proposed in section 3. In section 4, we discuss an optimization scheme for both control and data flow test cases. Finally the empirical result of a real protocol and conclusions lie in section 5 .

An Expanded EFSM and Its Properties

Conformance test of a protocol modeled in an EFSM is composed of the control flow test and the data flow test. Our concept of an EFSM is shown in Figure 1.

Figure 1: Transformation of EFSM structure

https://www.w3.org/1998/Math/MathML"> M 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1769.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> shows an outline of conventional EFSM structure. Control flows and data flows are mixed in conditional transitions, or transitions having predicate. This problem makes the fault coverage of each test not clear. So we will transform the EFSM to the expanded EFSM to separate control flows and data flows by eliminating predicates as shown in https://www.w3.org/1998/Math/MathML"> M 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1770.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . The properties of conditional transitions of the EFSM permeate both control flows and data flows, and the separated are functionally equiv- alent to the original. In addition, their independence makes it simple to generate their test cases. The generated expanded EFSM has more states than the original EFSM, but the number of states is finite if all the variables have a finite domain.

Figure 2: The test case generation procedure

shows our test case generation procedure for conformance testing of a protocol. It starts from a single module EFSM. A communicating multi-module EFSM itself is nearly impossible to analyze and to test, so the simplification is needed into the equivalent single module EFSM that has been a major issue in protocol testing. We already proposed a method to develop the loss-less transformation by the reachability analysis in another work before https://www.w3.org/1998/Math/MathML">   11 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1771.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ). Our target for the control flow test part is to generate test cases satisfying full fault coverage if possible, which guarantee the reliability of data flow test cases. For data flow test part, we also try to select test cases for the required fault coverage. The generated reliable control flow cases and desired data flow test cases are optimized to the unified final test cases. We, first, define an expanded EFSM. It was defined in https://www.w3.org/1998/Math/MathML">   10 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1772.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , but we modify it as follows.

Definition https://www.w3.org/1998/Math/MathML"> 1   A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1773.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> single module expanded EFSM is a 8-tuple https://www.w3.org/1998/Math/MathML"> < Σ , Ω , Π , V , S , I , O https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1774.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , https://www.w3.org/1998/Math/MathML"> T > https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1775.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , where https://www.w3.org/1998/Math/MathML"> Σ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1776.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is a general state set, https://www.w3.org/1998/Math/MathML"> Ω https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1777.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is a global and local variable set, II is a parameter set, https://www.w3.org/1998/Math/MathML"> V https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1778.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is a domain set of https://www.w3.org/1998/Math/MathML"> Ω , S https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1779.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is an extended state set which is https://www.w3.org/1998/Math/MathML"> Σ × V , I https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1780.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is a set of input declarations including the reset input ri and the delay input https://www.w3.org/1998/Math/MathML"> Δ , O https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1781.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is a set of output declarations including the null output ϕ, and https://www.w3.org/1998/Math/MathML"> T https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1782.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is a set of transitions which is https://www.w3.org/1998/Math/MathML"> S × I https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1783.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and is expressed as https://www.w3.org/1998/Math/MathML"> ⟨ I / I ( Π : R ) , M , O ( E ) ⟩ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1784.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , where https://www.w3.org/1998/Math/MathML"> I ∈ I , O ∈ O , R https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1785.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is an input range of https://www.w3.org/1998/Math/MathML"> Π , E https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1786.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is an output parameter expression that is https://www.w3.org/1998/Math/MathML"> f O ( Ω , Π ) , M https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1787.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is an action block and is expressed as https://www.w3.org/1998/Math/MathML"> Ω ← ( Ω , Π ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1788.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

An expanded EFSM can be considered a reachability-tested EFSM and can help the generation of test cases of control flow test and data flow test owing to the following properties.

All edges of an expanded EFSM are executable at any state.

The values of variables at each edge in an expanded EFSM are identical regardless of incoming paths.

The values of variables at each state in an expanded EFSM are identical regardless of incoming paths.

An expanded EFSM has no self-loop which has actions of variable.

Test Case Generation by Fault Coverage Analysis

In protocol testing and software testing, fault coverage of test cases has been a major issue. Because there is a trade-off relation between fault coverage and the length of test cases, how to select test cases by considering the relation is the policy of a tester like the selection of test purposes. Analyzing fault coverage of test cases, we think, can eliminate the redundant part of the test cases and make clear their detectability and undetectability of the probable faults. Fault coverage of control flow test cases of an FSM-modeled protocol has been mainly studied, but that of data flow test cases of an EFSM-modeled protocol has been rarely studied. The expanded EFSM can help the analysis of fault coverage.

We assume that the original EFSM representation of the protocol is deterministic and completely specified. Determinism and complete specification of an EFSM also mean that if there are predicates in an input declaration with parameters at a state, the regions satisfying the predicates are disjoint together and the union of the regions constructs the whole region.

17.1. Data elements in the expanded EFSM

The fault coverage of data flow test has been decided normally by using Weyuker’s data selection criteria which use def-clear paths as test elements and define some test criteria by the test coverage of them https://www.w3.org/1998/Math/MathML">   8 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1789.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . As there is no p-use of a predicate statement in the expanded EFSM, data flow elements of Weyuker’s should be modified for the expanded EFSM. We newly classify several defs and uses more clearly and redefine the meaning of a def-clear path to be fit for the protocol testing. The assumption that all the actions can be expressed as linear expressions would enable us to use matrix expressions. Definition 2 An assignment, https://www.w3.org/1998/Math/MathML"> ω ← ( ∅ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1790.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , II https://www.w3.org/1998/Math/MathML"> ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1791.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in an action block of an expanded EFSM contains an i-def(independent-def) of the variable ω where https://www.w3.org/1998/Math/MathML"> ω ∈ Ω https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1792.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> ∅ ≠ Π _ ⊂ Π https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1793.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . An assignment, https://www.w3.org/1998/Math/MathML"> ω ← ( Ω _ , Π _ ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1794.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in an action block contains a d-def(dependent-def) of the variable ω and a u-use(unobservable-use) of the variable https://www.w3.org/1998/Math/MathML"> ω _ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1795.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> where https://www.w3.org/1998/Math/MathML"> ω ∈ Ω , ω _ ∈ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1796.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> Ω _ , ∅ ≠ Ω ⊂ Ω https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1797.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and https://www.w3.org/1998/Math/MathML"> ∅ ≠ Π _ ⊂ Π https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1798.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . An output parameter expression https://www.w3.org/1998/Math/MathML"> ( Ω _ , Π _ ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1799.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in an output declaration in the expanded EFSM contains an o-use(observable-uses) and an i-deff (independent-def) of the variable https://www.w3.org/1998/Math/MathML"> ω _ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1800.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , where https://www.w3.org/1998/Math/MathML"> ω _ ∈ Ω _ , ∅ ≠ Ω _ ⊂ Ω https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1801.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and https://www.w3.org/1998/Math/MathML"> ∅ ≠ Π _ ⊂ Π https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1802.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Definition 3 We redefine a def-clear path of a variable as a path which starts an edge having an i-def of the variable and ends other edge having an o-use of the variable without passing any edge having another i-def of the variable in the expanded EFSM.

As Weyuker’s test data selection criteria are based on software testing, its inclusion relation between criteria may not be valid for a protocol modeled in an EFSM. As an EFSM has many edges that do not have data flow element, the test cases satisfying all-du-path criterion may not have all edges in the EFSM. If we assume that the probability of faults is thought to be almost equal, untested edges reveal ineffectiveness of the test method. We, here, take the minimal and necessary assumption that all the faults can lie only in the edges constructing def-clear paths, which is acceptable to almost EFSM. By the above assumption, all the edges constructing any of def-clear paths must be tested. Therefore we have to select the all-du-path criterion for data flow test.

For control flow test, we will use the UIO(Unique Input Output) method that has been widely used for detecting faults in control flows. We will generate test cases for the state identification part and the transition identification part for the high fault coverage https://www.w3.org/1998/Math/MathML">   2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1803.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

17.2. Fault models in transitions of the expanded EFSM

In the general EFSM, faults of variables or parameters in data flows may exist in the following parts: input declarations with parameters, predicates, action blocks, and output declarations with parameters. There are two kinds of faults. One is the modification fault that the existing part is wrongly modified. The other is the addition fault that the unspecified part is wrongly specified. Each kind of faults may occur alone or both two kinds of faults may occur together. We assume that there is no fault in edges added only for completely specified condition for simplification. We classify the probable faults as follows.

Type I: The faults of the assignments, https://www.w3.org/1998/Math/MathML"> ω * ← ( Ω _ , ∅ ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1804.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in action blocks alone. In the expanded EFSM, these faults may create new states and edges.

Type II: The faults of the assignments, https://www.w3.org/1998/Math/MathML"> ω * ← ( Ω _ , Π _ ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1805.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in action blocks alone. This type is the same as type I except that these faults are related with input parameters.

Type III: The faults of the parameters in input declarations alone. The parameters in the input declaration of an edge, to be meaningful, should be used in the edge.. These faults would mostly cause the faults of the action blocks or the output parameters in the edge. For the detection of this type of faults, therefore, we will check the faults of the action block with parameters, or type II faults, and the output declaration with parameters, or the next type IV faults.

Type IV: The faults of the parameters in output declarations alone. We assume that an expression with variables and parameters is allowed as an output parameter in an output declaration. We can detect these faults only by output declarations and values of their parameters. The faults of type I or II can be also detected by them. If we, therefore, consider type IV faults, the probable expression in an output parameter can be regarded as an extension of the action block of the edge. So we can regard this type of faults as those of type I or II.

Type V : The faults of the predicates not related with parameters. In case of modification faults, the executable region of the predicate is wrongly changed, which may cause the nondeterminism or incompleteness of the specification, but the problem is not our concern. If the regions are changed with holding our assumption that no fault will cause the nondeterminism or incompleteness, only the target states of the related edges are changed in the expanded EFSM. In case of addition faults, another partial executable region of the predicate can be created, which may cause the same problem as that of the modification faults. If all the modified executable regions of the edges hold the above assumption, the related edges will be divided into more than one edge. In the expanded EFSM, however, the edges are not divided but only their target states are also changed in the expanded EFSM, because there is no parameter in the predicate expression.

Type VI: The faults of the predicates having some relation with parameters. If the executable values of input parameters are unique each, this type can be treated as type V. But if not, their possible values firing the edge can be in closed or open region. In case of modification faults, their properties are the same as those of type V, except that they may create the target states of the related edges in the expanded EFSM. In case of addition faults, their properties are also the same as those of type V except that they divide the edges and may create the target states of the related edges in the expanded EFSM.

Type VII: The mixed faults of type I, II, and V of some edges. These faults may create many new states and edges in the expanded EFSM.

3.3 Test cases for the faults in transitions

Now, for each type of faults in transitions, we find out test cases fully covering the faults. Type I is the simplest. But these faults may increase the number of states and edges in the expanded EFSM. So, data flow test cases are needed. Test cases satisfying all-du-paths criterion will cover these faults. Even if test cases can not detect any fault, it does not matter because the faulty EFSM always works in the same manner to the original one.

Type II is a little more complicated. The defs of parameters of input declarations is different form those of variables in that the values of input parameters firing the edge may not be unique. We, the tester, do not know which value can surely detect this type of faults. To get feasible test cases covering these faults, we should assume the fault pattern of the implementation. If we assume that the action block, https://www.w3.org/1998/Math/MathML"> Ω ← ( Ω , Π ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1806.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is expressed as the linear functions like https://www.w3.org/1998/Math/MathML"> V = A V + B P + C https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1807.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , where https://www.w3.org/1998/Math/MathML"> V https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1808.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is the variable matrix, https://www.w3.org/1998/Math/MathML"> P https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1809.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is the parameter matrix and https://www.w3.org/1998/Math/MathML"> A , B https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1810.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and https://www.w3.org/1998/Math/MathML"> C https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1811.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are coefficient matrices, we can get the following theorem.

Theorem 1 In the expanded EFSM, if all assignments of action blocks are expressed linear functions and type I or II faults change the assignments to another linear expressions, two identical test cases having different values of the input parameter can cover the faults.

Proof By property 2 of the expanded EFSM, each variable in an edge has same value regardless of the previous paths. Therefore we can regard the action block of the edge, https://www.w3.org/1998/Math/MathML"> V = A V + B P + C https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1812.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> as https://www.w3.org/1998/Math/MathML"> V = B P + C ' https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1813.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , where https://www.w3.org/1998/Math/MathML"> C ' = A V + C https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1814.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . As this expression is a linear function of parameters, two different parameter values will determine the function. Therefore, two identical test cases having different values of input parameters can cover the faults.

Type V faults may cause wrong transitions without an addition of any extra edges in the expanded EFSM. This property clearly shows that these faults can be fully covered only by classic control flow test cases.

Test data selection of input parameters has been a major issue in software testing and protocol testing. The values of input parameters that make all the test cases executable may not be unique but may lie in closed or open region. The required test cases fully covering these faults, therefore, may not finite, so test data selection is necessary and it is the policy of the tester. Type VI faces this problem. Therefore we assume that there is no fault of type VI in the protocol implementation.

By the above analysis, we have only one combination type of faults, type VII faults. These faults are the most complex. Like type II, to surely get finite test cases, we should have the same assumption as that of type II faults. By the assumption, this type of faults can be also fully covered by the control flow test cases with the transition identification part and the state identification part and the data flow test cases satisfying all-du-paths criterion. Even if test cases can not detect any fault, it does not matter for the same reason as that of the type I fault.

A Unified Optimization Scheme

We tried to generate the test cases having high fault coverage. But the number of test cases needed for this purpose is tremendous, so the optimization of test cases is required. As there is generally a trade-off relation between the size of test cases and the fault coverage of test cases, optimizations may drop the fault coverage. We adopted an optimization scheme that can guarantee the desired fault coverage defined in the previous chapter. This optimization scheme is depicted in Figure 3.

Several implication checks at each step make test cases independent together as

Figure 3: The proposed optimization procedure

shown in Figure 3 . We adopted the overlap method and https://www.w3.org/1998/Math/MathML"> R C P https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1815.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> method https://www.w3.org/1998/Math/MathML">   1 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1816.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for optimization. We do not use MUIO(Multiple UIO) method https://www.w3.org/1998/Math/MathML">   6 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1817.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> because it needs another test cases for full fault coverage https://www.w3.org/1998/Math/MathML">   2 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1818.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . The serious defect of UIO method, not full applicability, can be almost overcome by applying properties of the expanded EFSM and adopting delay as an input declaration. Transitions with delay statements will keep the states from having their UIO sequences that have the same output declarations. In fact, however, the null output that outputs nothing is used as an output declaration in spite of the similar timing problem. Therefore we also use delay as an input declaration, which can extend the test coverage of control flow test cases.

The generated control flow test cases for both the state identification and the transition identification are checked if some test cases are implicated by others. The implicated test cases are discarded. Def-clear paths for all the variables compose data flow test cases, where the implication check is also run. In the EFSM, a major factor increasing test cases is the edges added for completeness of the specification, which have null actions and null output declarations. These edges are represented as loops in the expanded EFSM as well as in the normal EFSM. In the states having these edges or many incoming and outgoing edges, in fact most of states, the number of needed data flow test cases gets multiplied according to the number of edges. In the expanded EFSM, with the assumption of linearity, we solve the problem of those states as follows.

Definition 4 A state is called a knot-state if it lies in both more than 2 distinct incoming def-clear paths and more than 2 distinct outgoing def-clear paths in an expanded EFSM. A knot-state can have self-loops without data element.

Theorem 2 Let test cases have a common knot-state. When the knot-state connects m incoming def-clear paths and n outgoing def-clear paths and it has l self loops without data element, test cases having selected https://www.w3.org/1998/Math/MathML"> m + n + l - 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1819.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> def-clear paths among https://www.w3.org/1998/Math/MathML"> m × n × l https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1820.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> paths can satisfy all-du-paths criterion, if only linear faults are allowed in actions.

Figure 4: A model of knot-state

Proof If an edge in Figure 4 has a fault in one side, the upper side or the lower side, of the knot-state, a test case passing this edge may detect the fault. But the test case has another fault in the other side of the knot-state, it may not detect faults. Then another test case passing the edge having the latter fault may detect the fault. And the process can be repeated one after another. If test cases can not find any fault, this faulty specification is functionally equivalent to the original one. In other words, if all test cases can be connected in the edges without making any partition, they can find out the probable faults that can be detected by test cases satisfying all-du-paths criterion. A Loop at a knot state has the same property because it forms both incoming and outgoing edge except it is made of only one edge. The minimum number of needed paths that can connect the upper side having n+l sub-paths and the lower side having m+l sub-paths is https://www.w3.org/1998/Math/MathML"> n + m + 2 l - 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1821.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Because loops are counted twice there, the minimum number is https://www.w3.org/1998/Math/MathML"> n + m + l - 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1822.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

In the expanded EFSM, knot-states are naturally connected together. In other words, test cases having linked def-clear paths can contain multiple knot-states. For this case, the following theorem is valid.

Theorem 3 Let a part of an expanded EFSM have p edges composing def-clear paths, q knot states dependent together and r o-uses of a variable. Then test cases having selected https://www.w3.org/1998/Math/MathML"> p - q + r https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1823.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> def-clear paths can satisfy all-du-paths criterion in the part, if only linear faults of the variable in the action block are allowed.

Proof In a knot state having n incoming edges, l loops and m outgoing edges, the number of needed test cases is https://www.w3.org/1998/Math/MathML"> n + l + m - 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1824.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . This can be regarded as the number of incoming edges of the following knot-state. If we repeat this process to all the knot-states with all the outgoing edges having o-uses, the number of required test cases will be https://www.w3.org/1998/Math/MathML"> p - q ' https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1825.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> minimally where p is the number of edge composing the def-clear paths and https://www.w3.org/1998/Math/MathML"> q ' https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1826.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is the number of knot-states which def-clear paths pass through. In the last knot-state, the number of needed test cases is https://www.w3.org/1998/Math/MathML"> p - q ' + r - 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1827.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . If we count the last knot-state, the number gets https://www.w3.org/1998/Math/MathML"> p - q + r https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1828.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , where https://www.w3.org/1998/Math/MathML"> q = q ' + 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1829.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Empirical Results and Conclusions

To estimate the usefulness of the proposed method, we generated the test cases of a simple protocol, Inres https://www.w3.org/1998/Math/MathML">   3 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1830.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> used often for the reason. Initiator module in Inres protocol is the target EFSM, where delay and reset are treated as input declarations. The original EFSM of Initiator module freed of edges for completely specified condition has 4 states and 14 edges. The complete specified transformed expanded EFSM has 18 states and 147 edges, but the number of edges freed of the edges added for completeness of the specification is 57 . Among them one edge should not be omitted, because it is a part of a UIO sequence. We finally generated 46 test cases for control flow test and 3 test cases for data flow test by the proposed optimization scheme. This result shows that most of test cases for detecting faults of data flows is transferred to control flow test cases by the proposed method. 3 data flow test cases are linked to the control flow test cases by RCP method.

By now, there has been little study on the fault model for data flows and the optimization of data flow test cases for conformance testing of communication protocols. The major reasons are the complexity of data flows and inter-dependence between control and data flows. To resolve these problems, we transformed an original EFSM into the equivalent expanded EFSM that is good to analyze without being interfered by those problems. With the advantages of the expanded EFSM, we proposed a test case generation method by transition-based fault coverage analysis. The analysis shows that control flow test cases with full fault coverage and data flow test cases satisfying all-du-paths criterion are needed to guarantee high fault coverage. We also proposed an optimization scheme with some assumptions. The optimization scheme can cope with frequent knot-states in the expanded EFSM. The result of a sample protocol showed the efficacy of this method and applying it to real protocols like B-ISDN protocols can give it more applicability and reliability.

Bibliography

Alfred V. Aho et al., “An optimization technique for protocol conformance test generation based on UIO sequences and Rural Chinese Postman Tours,” Protocol Specification, Testing and Verification, Atlantic City, USA, pp. 75-86 (1988).

Ricardo Anido et al., “Guaranteeing full fault coverage for the UIO-based testing methods,” Int. Workshop on Protocol Test Systems ‘95, Evry, France, pp.221-236, (1995).

Samuel T.Chanson et al., “A unified approach to protocol test sequence generation,” IEEE INFOCOM ‘93, San Francisco, USA, pp. 106-114, (1993).

Do Young Lee, Jai Yong Lee, “A well-defined Estelle specification for the automatic test generation, “IEEE trans. on Computer, Vol.4, No.4, pp.526-542, (1991).

Xiangdong https://www.w3.org/1998/Math/MathML"> L i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1831.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> et al., “Automatic generation of extended UIO sequences for communication protocols in an EFSM model,” Int. Workshop on Protocol Test Systems ‘94, Tokyo, Japan, pp.213-228, (1994).

Y. N. Shen et al., “Protocol conformance testing using multiple UIO sequences,” Protocol Specification, Testing and Verification ‘90, Ottawa, Canada, pp.131-143, (1990).

Hasan Ural et al., “A test sequence selection method for protocol testing,” IEEE trans. on Comm., Vol.39, No.4, pp.514-523, (1991).

Elain J. Weyuker et al., “Selecting software test data using data flow information,” IEEE trans. on SE, Vol.11, No.4, pp.367-375, (1985).

Byungmoon Chin, Taehyong Kim, Minseok Jang, Iksoon Hwang, Jaiyong Lee, Sangbae Lee, “Generation of Reliable and Optimized Test Cases for Data Flow Test with a Formal Approach,”ICOIN-11, Taipei, Taiwan, (1997).

O. Henniger et al., “Transformation of Estelle modules aiming at test case generation,” Int. Workshop on Protocol Test Systems’95, Evry, France, pp.45-60, (1995).

Iksoon Hwang, Taehyong Kim, Minseok Jang, Jaiyong Lee and Sangbae Lee, “A Method to Derive a Sing-EFSM from Communicating Multi-EFSM for Data Part Testing,” Int. Workshop on Testing of Communicating Systems ‘97, Cheju, Korea, (1997).

Asynchronous Distributed Recovery with Multiple Checkpoints

This paper proposes a novel protocol for taking checkpoints and asynchronously restarting the processes for recovery in asynchronous distributed systems. In the protocol, only the minimum number of processes take checkpoints. The amount of execution of application program wasted by the recovery is also the minimum. Each process is asynchronously restarted at most once to recover from a failure of process. Hence, the livelocks can be avoided. Only https://www.w3.org/1998/Math/MathML"> O ( l ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1832.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> messages are transmitted where l is the number of channels in the system. Moreover, garbage collection to discard obsolete checkpoints is discussed.

Introduction

Information systems become distributed and are getting larger by including various kinds of component systems and interconnecting with various systems, e.g. by the Internet. The distributed systems are designed and developed by using widely a vailable products rather than specially designed ones. These products are not always guaranteed to support enough reliability and availability for the applications. It is important to discuss the mechanism to make and keep the systems so reliable and available that even fault-tolerant applications could be implemented.

Distributed applications are realized by cooperation of multiple processes in multiple processors. Checkpointing and recovery are well-known time-redundant faulttolerant techniques. Every process takes checkpoints by recording the state information in the logs while executing the applications. If some process fails, the processes are rolled back to the checkpoints by restoring the saved state information and then restarted to execute the applications from the checkpoints. Here, the system can tolerate transient failures, e.g. hardware errors, process crashes, transaction aborts, and communication deadlocks. These failures are unlikely to recur after the recovery.

The system has to be kept consistent even after the recovery. A global checkpoint is a set of checkpoints taken by all the processes in the system. A consistent global checkpoint of the distributed system is formalized by Chandy and Lamport 3). Many papers https://www.w3.org/1998/Math/MathML">   3,7 , 8,12,14 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1833.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> have proposed so far protocols for taking a consistent global checkpoint and for restarting the processes. The conventional checkpointing protocols require all the processes in the system to take checkpoints synchronously. However, in large-scale distributed systems, each process only communicates with a subset of the processes. Hence, a checkpointing protocol that allows the subset of the processes to take the checkpoints is necessary. On the other hand, the processes are required to be synchronously restarted. However, the recovery procedure may be slow down due to the synchronization. If checkpoints are taken in a subset of the processes to take a consistent checkpoint and the processes are asynchronously restarted, the recovery procedure may continue forever, i.e. a livelock may occur. In this paper, we propose a protocol for a livelock-free asynchronous recovery where only a subset of the processes are restarted.

In section 2, the conventional checkpointing and recovery protocols are reviewed and we show how the livelock occur while the system is asynchronously restarted from: a consistent regional checkpoint. In section 3, a livelock-free asynchronous recovery protocol is proposed. The evaluation of the protocol is presented in section 4.

Checkpoint and Recovery

23.1. Consistent state

A distributed system is composed of multiple processes interconnected by channels, i.e. https://www.w3.org/1998/Math/MathML"> S = ⟨ V , L ⟩ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1834.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> where https://www.w3.org/1998/Math/MathML"> V = p 1 , … , p n https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1835.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is a set of processes and https://www.w3.org/1998/Math/MathML"> L ⊆ V 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1836.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is a set of channels. https://www.w3.org/1998/Math/MathML"> p i , p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1837.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is a channel from https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1838.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to https://www.w3.org/1998/Math/MathML"> p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1839.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . In a process, three kinds of events occur: message-sending event https://www.w3.org/1998/Math/MathML"> s ( m ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1840.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of a message m, message-receipt event https://www.w3.org/1998/Math/MathML"> r ( m ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1841.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and local events. The happens before relation among the events is defined as follows:

Definition (happens before) An event e happens before another event https://www.w3.org/1998/Math/MathML"> e ' e → e ' https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1842.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> iff one of the following conditions is satisfied https://www.w3.org/1998/Math/MathML">   9 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1843.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ):

e occurs before https://www.w3.org/1998/Math/MathML"> e ' https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1844.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in the same process.

https://www.w3.org/1998/Math/MathML"> e = s ( m ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1845.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> e ' = r ( m ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1846.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for a message m.

There is an event https://www.w3.org/1998/Math/MathML"> e ' ' https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1847.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> where https://www.w3.org/1998/Math/MathML"> e → e ' ' https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1848.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> e ' ' → e ' . https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1849.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

A state of a process https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1850.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is changed each time an event occurs in https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1851.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Messages are transmitted from https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1852.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to https://www.w3.org/1998/Math/MathML"> p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1853.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> via a channel https://www.w3.org/1998/Math/MathML"> p i , p j ∈ L https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1854.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Here, https://www.w3.org/1998/Math/MathML"> p i , p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1855.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is named a channel of https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1856.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . If there is a channel https://www.w3.org/1998/Math/MathML"> p i , p j , p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1857.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is referred to as a neighbor of https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1858.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

A checkpoint https://www.w3.org/1998/Math/MathML"> c i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1859.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is taken in https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1860.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> by recording the state of https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1861.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in the log. A global checkpoint https://www.w3.org/1998/Math/MathML"> C = c 1 , … , c n https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1862.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is a set of checkpoints taken by all the processes in V. If the processes take the checkpoints and are restarted independently of the other processes, there may exist two kinds of inconsistent messages: lost messages and orphan messages. Here, suppose that https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1863.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> sends a message m to https://www.w3.org/1998/Math/MathML"> p j . m https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1864.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is a lost message iff https://www.w3.org/1998/Math/MathML"> s ( m ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1865.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> occurs before https://www.w3.org/1998/Math/MathML"> c i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1866.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and a https://www.w3.org/1998/Math/MathML"> r ( m ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1867.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> occurs after https://www.w3.org/1998/Math/MathML"> c j . m https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1868.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is an orphan message iff https://www.w3.org/1998/Math/MathML"> s ( m ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1869.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> occurs after https://www.w3.org/1998/Math/MathML"> c i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1870.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> r ( m ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1871.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> occurs before https://www.w3.org/1998/Math/MathML"> c j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1872.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . By recording the received messages in the https://www.w3.org/1998/Math/MathML"> l o g https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1873.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> after https://www.w3.org/1998/Math/MathML"> p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1874.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> takes https://www.w3.org/1998/Math/MathML"> c j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1875.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , lost messages can be received by taking them out of the https://www.w3.org/1998/Math/MathML"> l o g https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1876.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> after https://www.w3.org/1998/Math/MathML"> p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1877.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is restarted. However, if there exist orphan messages, the system becomes inconsistent after the recovery, even though https://www.w3.org/1998/Math/MathML"> p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1878.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> records m in the https://www.w3.org/1998/Math/MathML"> l o g https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1879.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> at https://www.w3.org/1998/Math/MathML"> s ( m ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1880.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Therefore, C is defined consistent iff there is no orphan message https://www.w3.org/1998/Math/MathML">   5 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1881.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Theorem 1 A global checkpoint C is consistent iff https://www.w3.org/1998/Math/MathML"> ∀ c 2 , c j ∈ C c i ↛ c j . https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1882.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

2.2 Checkpointing

There are two approaches toward taking a consistent global checkpoint C : asynchronous checkpointing and synchronous one. In the asynchronous checkpointing 2,6), each process takes checkpoints independently of the other processes. If some process fails, all the processes are coordinated to determine C. This approach implies less overhead during the failure-free execution. However, domino effects may occur in the recovery https://www.w3.org/1998/Math/MathML">   12 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1883.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ). On the other hand, in the synchronous checkpointing https://www.w3.org/1998/Math/MathML"> 3,7 , 8,12,14 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1884.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , all the processes are coordinated to take C. Here, additional messages are transmitted and the processes are blocked during the synchronization https://www.w3.org/1998/Math/MathML">   1 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1885.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> while no domino effect occurs. Our discussion is based on the synchronous checkpointing.

In the conventional synchronous checkpointing https://www.w3.org/1998/Math/MathML"> 3,6 , 8,12,14 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1886.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , additional messages are transmitted to take a consistent global checkpoint and the execution of the applications is blocked during the checkpointing procedure. Moreover, all the processes in the system are required to take the checkpoints simultaneously. However, in a large-scale distributed system, each process only communicates with a subset of the processes in the system. Hence, we define a regional checkpoint https://www.w3.org/1998/Math/MathML"> C ˜ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1887.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and a consistent regional checkpoint in https://www.w3.org/1998/Math/MathML"> S = ⟨ V , L ⟩ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1888.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Definition (regional checkpoint) A regional checkpoint https://www.w3.org/1998/Math/MathML"> C ˜ ( W ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1889.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of a subset W⊆V is defined as a set https://www.w3.org/1998/Math/MathML"> c i ∣ p i ∈ W https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1890.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of checkpoints.

Definition (consistent regional checkpoint) https://www.w3.org/1998/Math/MathML"> C ˜ ( W ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1891.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is consistent iff there is no orphan message in every channel of every process https://www.w3.org/1998/Math/MathML"> p i ∈ W https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1892.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Theorem https://www.w3.org/1998/Math/MathML"> 2 C ˜ ( W ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1893.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is consistent iff https://www.w3.org/1998/Math/MathML"> ∀ c i , c j ∈ C ˜ ( W ) c i ↛ c j . https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1894.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Theorem 3 Let https://www.w3.org/1998/Math/MathML"> s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1895.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> be a state of an operational process https://www.w3.org/1998/Math/MathML"> p i ∈ V - W https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1896.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . A global state denoted by https://www.w3.org/1998/Math/MathML"> C ˜ ( W ) ∪ s i ∣ p i ∈ V - W https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1897.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is consistent if https://www.w3.org/1998/Math/MathML"> C ˜ ( W ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1898.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is consistent.

S can be recovered from a failure of a process in W iff https://www.w3.org/1998/Math/MathML"> C ˜ ( W ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1899.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is consistent and only and all the processes in W are restarted from https://www.w3.org/1998/Math/MathML"> C ˜ ( W ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1900.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Here, suppose that https://www.w3.org/1998/Math/MathML"> c i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1901.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is taken by https://www.w3.org/1998/Math/MathML"> p i ∈ W https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1902.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . If a message m is the first message transmitted from https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1903.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to https://www.w3.org/1998/Math/MathML"> p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1904.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> after https://www.w3.org/1998/Math/MathML"> c i , m https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1905.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is referred to as a checkpoint message of https://www.w3.org/1998/Math/MathML"> c i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1906.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to https://www.w3.org/1998/Math/MathML"> p j . https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1907.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> In order to keep S consistent after S is restarted from https://www.w3.org/1998/Math/MathML"> C ˜ ( W ) , p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1908.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> has to take https://www.w3.org/1998/Math/MathML"> c j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1909.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1910.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> has to be included in W.

[Regional checkpointing] If https://www.w3.org/1998/Math/MathML"> r ( m ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1911.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of a checkpoint message m occurs in https://www.w3.org/1998/Math/MathML"> p j , p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1912.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> takes https://www.w3.org/1998/Math/MathML"> c j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1913.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> just before https://www.w3.org/1998/Math/MathML"> r ( m ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1914.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

If some process in W fails, only and all the processes to be restarted take the checkpoints and are included in W. Since m can carry the information on whether m is a checkpoint message or not, no additional message is required to be transmitted.

2.3 Recovery

In the conventional recovery protocols https://www.w3.org/1998/Math/MathML"> 3,6 , 8,12,14 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1915.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , the processes have to be synchronized to be restarted by the following procedure: 1) Request messages are transmitted from the coordinator process to all the other processes called cohort processes.

Each cohort is rolled back to the checkpoint. Reply messages are transmitted from every cohort to the coordinator.

The coordinator transmits restart messages to all the cohorts. Each cohort is restarted from the checkpoint.

In such synchronous protocols, all the processes are blocked and the additional messages are transmitted to synchronize all the processes. Thus, the recovery procedure is slow down and S becomes less available. In order to keep S highly available with the recovery, we propose an asynchronous recovery protocol.

https://www.w3.org/1998/Math/MathML"> c s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1916.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> represents the s th checkpoint taken by https://www.w3.org/1998/Math/MathML"> p i . r s , t i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1917.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> represents the possible recovery event occurring in https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1918.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> after https://www.w3.org/1998/Math/MathML"> c t i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1919.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is taken by https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1920.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> where https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1921.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is restarted from https://www.w3.org/1998/Math/MathML"> c s i ( s ≤ t ) ⋅ c s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1922.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is active if https://www.w3.org/1998/Math/MathML"> c s 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1923.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is taken but https://www.w3.org/1998/Math/MathML"> r t , u 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1924.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> where https://www.w3.org/1998/Math/MathML"> t ≤ s ≤ u https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1925.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> has not yet occurred. https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1926.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> may have multiple active checkpoints. If https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1927.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> fails, it is not sufficient to restart https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1928.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> from the most recent active checkpoint https://www.w3.org/1998/Math/MathML"> c s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1929.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> because the messages sent by https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1930.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> after https://www.w3.org/1998/Math/MathML"> c s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1931.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is taken become orphan messages. Hence, S has to be restarted from a consistent https://www.w3.org/1998/Math/MathML"> C ˜ D i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1932.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> where a recovery domain https://www.w3.org/1998/Math/MathML"> D i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1933.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is a subset of the processes including https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1934.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Here, https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1935.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> has to identify which processes are included in https://www.w3.org/1998/Math/MathML"> D i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1936.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Definition (checkpoint precedence) Let https://www.w3.org/1998/Math/MathML"> c i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1937.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> c j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1938.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> be active checkpoints taken by https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1939.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1940.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , respectively. https://www.w3.org/1998/Math/MathML"> c i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1941.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> precedes https://www.w3.org/1998/Math/MathML"> c j c i ⇒ c j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1942.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> if there exist events https://www.w3.org/1998/Math/MathML"> e i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1943.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1944.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> e j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1945.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in https://www.w3.org/1998/Math/MathML"> p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1946.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> where https://www.w3.org/1998/Math/MathML"> c i → e i , c j → e j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1947.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and https://www.w3.org/1998/Math/MathML"> e i → e j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1948.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Definition (recovery domain) A recovery domain https://www.w3.org/1998/Math/MathML"> D i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1949.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1950.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is defined to be a following set of processes:

https://www.w3.org/1998/Math/MathML"> p i ∈ D i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1951.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> if there is an active checkpoint in https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1952.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

https://www.w3.org/1998/Math/MathML"> p j ∈ D i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1953.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> if https://www.w3.org/1998/Math/MathML"> c s i ⇒ c t j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1954.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> where https://www.w3.org/1998/Math/MathML"> c s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1955.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is the most recent active checkpoint in https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1956.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> c t j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1957.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is an active checkpoint in https://www.w3.org/1998/Math/MathML"> p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1958.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Only the processes satisfying 1 ) and 2) are included in https://www.w3.org/1998/Math/MathML"> D i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1959.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

By the definition and Theorem 2, the following theorem is induced:

Theorem https://www.w3.org/1998/Math/MathML"> 4 C ˜ D i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1960.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is consistent for every rollback domain https://www.w3.org/1998/Math/MathML"> D i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1961.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

That is, a recovery domain is a region for the recovery. Suppose that https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1962.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> fails and is restarted from the most recent checkpoint https://www.w3.org/1998/Math/MathML"> c s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1963.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . If every process https://www.w3.org/1998/Math/MathML"> p j ∈ D i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1964.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is restarted from https://www.w3.org/1998/Math/MathML"> c t j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1965.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> where https://www.w3.org/1998/Math/MathML"> c s i ⇒ c t j , S https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1966.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is kept consistent. However, each process cannot know https://www.w3.org/1998/Math/MathML"> D i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1967.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> completely. If https://www.w3.org/1998/Math/MathML"> p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1968.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> sends a message to https://www.w3.org/1998/Math/MathML"> p k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1969.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> after https://www.w3.org/1998/Math/MathML"> c t j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1970.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> where https://www.w3.org/1998/Math/MathML"> c s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1971.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is the most recent checkpoint in https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1972.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> c s i ⇒ c t j , p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1973.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> knows that https://www.w3.org/1998/Math/MathML"> p k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1974.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is included in https://www.w3.org/1998/Math/MathML"> D i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1975.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Definition (recovery view) A recovery view https://www.w3.org/1998/Math/MathML"> W i j = p k ∣ p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1976.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> knows https://www.w3.org/1998/Math/MathML"> p k ∈ D i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1977.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Now, S can be asynchronously restarted from https://www.w3.org/1998/Math/MathML"> C ˜ D i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1978.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> by the message diffusion https://www.w3.org/1998/Math/MathML">   4 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1979.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

[Asynchronous recovery]

If https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1980.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> fails, https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1981.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> sends a restart request https://www.w3.org/1998/Math/MathML"> R req   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1982.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to every process https://www.w3.org/1998/Math/MathML"> p j ∈ W i i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1983.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and is restarted from the most recent checkpoint https://www.w3.org/1998/Math/MathML"> c s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1984.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

On receipt of https://www.w3.org/1998/Math/MathML"> R req   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1985.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> from https://www.w3.org/1998/Math/MathML"> p k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1986.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , each https://www.w3.org/1998/Math/MathML"> p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1987.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> also sends https://www.w3.org/1998/Math/MathML"> R req   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1988.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to every process in https://www.w3.org/1998/Math/MathML"> W i j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1989.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> except https://www.w3.org/1998/Math/MathML"> p k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1990.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and is restarted from the checkpoint https://www.w3.org/1998/Math/MathML"> c t j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1991.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> where https://www.w3.org/1998/Math/MathML"> c s i ⇒ c t j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1992.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Figure 1: Livelock in recovery.

2.4 Livelock

Let us consider the scenario shown in Figure 1:

https://www.w3.org/1998/Math/MathML"> p 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1993.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> takes https://www.w3.org/1998/Math/MathML"> c 1 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1994.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and sends https://www.w3.org/1998/Math/MathML"> m 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1995.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to https://www.w3.org/1998/Math/MathML"> p 2 . c 1 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1996.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is active and https://www.w3.org/1998/Math/MathML"> W 1 1 = p 1 , p 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1997.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

https://www.w3.org/1998/Math/MathML"> p 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1998.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> receives https://www.w3.org/1998/Math/MathML"> m 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq1999.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and takes https://www.w3.org/1998/Math/MathML"> c 1 2 ⋅ c 1 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2000.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is active and https://www.w3.org/1998/Math/MathML"> W 2 1 = p 1 , p 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2001.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . A recovery domain https://www.w3.org/1998/Math/MathML"> D 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2002.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of https://www.w3.org/1998/Math/MathML"> p 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2003.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is https://www.w3.org/1998/Math/MathML"> p 1 , p 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2004.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> C ˜ D 1 = c 1 1 , c 1 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2005.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is consistent.

https://www.w3.org/1998/Math/MathML"> p 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2006.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> sends https://www.w3.org/1998/Math/MathML"> m 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2007.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to https://www.w3.org/1998/Math/MathML"> p 3 . p 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2008.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> receives https://www.w3.org/1998/Math/MathML"> m 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2009.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and takes https://www.w3.org/1998/Math/MathML"> c 1 3 . c 1 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2010.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is active. https://www.w3.org/1998/Math/MathML"> D 1 = p 1 , p 2 , p 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2011.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> C ˜ D 1 = c 1 1 , c 1 2 , c 1 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2012.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is consistent. https://www.w3.org/1998/Math/MathML"> p 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2013.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> does not know that https://www.w3.org/1998/Math/MathML"> p 3 ∈ D 1 . W 1 1 = https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2014.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> p 1 , p 2 , W 2 1 = p 1 , p 2 , p 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2015.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> W 3 1 = p 2 , p 3 . https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2016.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> p 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2017.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> fails and is restarted from https://www.w3.org/1998/Math/MathML"> c 1 1 ⋅ c 1 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2018.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> becomes inactive. https://www.w3.org/1998/Math/MathML"> p 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2019.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> sends https://www.w3.org/1998/Math/MathML"> m restart   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2020.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to https://www.w3.org/1998/Math/MathML"> p 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2021.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and is restarted from https://www.w3.org/1998/Math/MathML"> c 1 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2022.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

https://www.w3.org/1998/Math/MathML"> p 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2023.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> sends https://www.w3.org/1998/Math/MathML"> m 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2024.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to https://www.w3.org/1998/Math/MathML"> p 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2025.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . https://www.w3.org/1998/Math/MathML"> p 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2026.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> receives https://www.w3.org/1998/Math/MathML"> m 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2027.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and takes https://www.w3.org/1998/Math/MathML"> c 2 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2028.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . https://www.w3.org/1998/Math/MathML"> c 2 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2029.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is active and https://www.w3.org/1998/Math/MathML"> W 1 1 = p 1 , p 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2030.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

On receipt of https://www.w3.org/1998/Math/MathML"> m restart   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2031.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> from https://www.w3.org/1998/Math/MathML"> p 1 , p 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2032.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is restarted from https://www.w3.org/1998/Math/MathML"> c 1 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2033.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Then, https://www.w3.org/1998/Math/MathML"> p 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2034.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> sends https://www.w3.org/1998/Math/MathML"> m restart   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2035.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to https://www.w3.org/1998/Math/MathML"> p 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2036.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and is restarted form https://www.w3.org/1998/Math/MathML"> c 1 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2037.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

https://www.w3.org/1998/Math/MathML"> p 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2038.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> sends https://www.w3.org/1998/Math/MathML"> m 4 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2039.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to https://www.w3.org/1998/Math/MathML"> p 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2040.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . https://www.w3.org/1998/Math/MathML"> p 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2041.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> receives https://www.w3.org/1998/Math/MathML"> m 4 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2042.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and takes https://www.w3.org/1998/Math/MathML"> c 2 2 . c 2 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2043.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is active and https://www.w3.org/1998/Math/MathML"> W 2 1 = p 1 , p 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2044.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

On receipt of https://www.w3.org/1998/Math/MathML"> m restart   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2045.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> from https://www.w3.org/1998/Math/MathML"> p 2 , p 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2046.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is restarted from https://www.w3.org/1998/Math/MathML"> c 1 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2047.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Then, https://www.w3.org/1998/Math/MathML"> p 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2048.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> sends https://www.w3.org/1998/Math/MathML"> m restart   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2049.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to https://www.w3.org/1998/Math/MathML"> p 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2050.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and is restarted form https://www.w3.org/1998/Math/MathML"> c 1 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2051.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

The recovery procedure may be continued forever, i.e. the livelock occurs. Now, we introduce a generation concept as follows:

Definition (generation of process) A generation https://www.w3.org/1998/Math/MathML"> g p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2052.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2053.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is assigned to s, i.e. https://www.w3.org/1998/Math/MathML"> g p i = s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2054.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> if the checkpoint most recently taken by https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2055.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is https://www.w3.org/1998/Math/MathML"> c s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2056.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Definition (generation of event) A generation https://www.w3.org/1998/Math/MathML"> g ( e ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2057.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of an event e in https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2058.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is assigned to s, i.e. https://www.w3.org/1998/Math/MathML"> g ( e ) = s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2059.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> if https://www.w3.org/1998/Math/MathML"> g p i = s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2060.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> when e occurs in https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2061.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

We assume that each process https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2062.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> takes https://www.w3.org/1998/Math/MathML"> c 1 i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2063.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> at the initial state. Each time https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2064.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> takes https://www.w3.org/1998/Math/MathML"> c s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2065.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , https://www.w3.org/1998/Math/MathML"> g p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2066.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is incremented by one. If a recovery https://www.w3.org/1998/Math/MathML"> r s , t i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2067.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> occurs in https://www.w3.org/1998/Math/MathML"> p i , p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2068.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> takes a checkpoint https://www.w3.org/1998/Math/MathML"> c t + 1 i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2069.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> just before https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2070.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is restarted. Each time https://www.w3.org/1998/Math/MathML"> s ( m ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2071.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> occurs in https://www.w3.org/1998/Math/MathML"> p i , g ( s ( m ) ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2072.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is piggied back by m. Suppose that an event https://www.w3.org/1998/Math/MathML"> e i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2073.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> occurs in https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2074.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2075.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> receives m sent by https://www.w3.org/1998/Math/MathML"> p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2076.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> at https://www.w3.org/1998/Math/MathML"> s ( m ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2077.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> where https://www.w3.org/1998/Math/MathML"> e i → s ( m ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2078.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . If https://www.w3.org/1998/Math/MathML"> r s , t i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2079.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> where https://www.w3.org/1998/Math/MathML"> s ≤ g e i ≤ t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2080.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> occurs in https://www.w3.org/1998/Math/MathML"> p i , p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2081.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> has to discard m. If https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2082.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> accepts m, the livelock occurs as shown in Figure 1. This is realized by the generations of events. If https://www.w3.org/1998/Math/MathML"> g ( e ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2083.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is piggied back by m and there has occurred https://www.w3.org/1998/Math/MathML"> r s , t i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2084.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> where https://www.w3.org/1998/Math/MathML"> s ≤ g ( e ) ≤ t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2085.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in https://www.w3.org/1998/Math/MathML"> p i , p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2086.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> has to discard m for the livelock-free recovery. In order to implement the livelock-free asynchronous recovery, generation vectors have to be piggied back by the messages transmitted among the processes.

Protocol

3.1 Assumptions

A distributed system https://www.w3.org/1998/Math/MathML"> S = ⟨ V , L ⟩ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2087.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> consists of a finite set https://www.w3.org/1998/Math/MathML"> V = p 1 , … , p n https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2088.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of processes and a set https://www.w3.org/1998/Math/MathML"> L ⊆ V 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2089.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of channels. We make the following assumptions on S.

A1 Every channel in L is reliable and FIFO.

A2 S is asynchronous, i.e. the maximum message transmission delay is unbounded.

A3 Each process has a stable storage.

https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2090.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> records the state information in the https://www.w3.org/1998/Math/MathML"> l o g https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2091.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> at each checkpoint. The s th checkpoint taken by https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2092.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is denoted by https://www.w3.org/1998/Math/MathML"> c s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2093.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Initially, every https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2094.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> takes https://www.w3.org/1998/Math/MathML"> c 1 i ⋅ p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2095.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is restarted from one of the checkpoints taken by https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2096.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> if https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2097.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> fails or https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2098.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> receives a restart request. If https://www.w3.org/1998/Math/MathML"> g p i = t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2099.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2100.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is restarted from https://www.w3.org/1998/Math/MathML"> c s i ( s ≤ t ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2101.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , the recovery is denoted by https://www.w3.org/1998/Math/MathML"> r s , t i . c u i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2102.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is active unless there occurs https://www.w3.org/1998/Math/MathML"> r s , t i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2103.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> where https://www.w3.org/1998/Math/MathML"> s ≤ u ≤ t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2104.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in https://www.w3.org/1998/Math/MathML"> p i . c u i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2105.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> becomes inactive if there occurs https://www.w3.org/1998/Math/MathML"> r s , t i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2106.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> where https://www.w3.org/1998/Math/MathML"> s ≤ u ≤ t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2107.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in https://www.w3.org/1998/Math/MathML"> p i . c u i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2108.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is obsolete if https://www.w3.org/1998/Math/MathML"> c u i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2109.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is inactive or https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2110.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> will never be restarted from https://www.w3.org/1998/Math/MathML"> c u i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2111.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . If https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2112.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> knows that https://www.w3.org/1998/Math/MathML"> c u i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2113.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is obsolete, https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2114.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> can remove https://www.w3.org/1998/Math/MathML"> c u i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2115.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

An application message m contains the data m.data and a generation vector https://www.w3.org/1998/Math/MathML"> m . G = m . g 1 , … , m . g n . https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2116.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> A restart request https://www.w3.org/1998/Math/MathML"> R req   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2117.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> contains a generation vector https://www.w3.org/1998/Math/MathML"> R req   . G = https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2118.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> R req   ⋅ g 1 , … , R req   ⋅ g n https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2119.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . A process https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2120.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> manipulates the following variables. Here, Neighbor https://www.w3.org/1998/Math/MathML">   i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2121.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> be a constant set of neighbor of https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2122.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

A generation vector https://www.w3.org/1998/Math/MathML"> G i = g 1 i , … , g n i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2123.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> named a checkpoint generation vector in https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2124.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Every event https://www.w3.org/1998/Math/MathML"> e i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2125.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> that will occur in https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2126.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> causally depends on an event https://www.w3.org/1998/Math/MathML"> e j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2127.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in https://www.w3.org/1998/Math/MathML"> p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2128.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> where https://www.w3.org/1998/Math/MathML"> g e j = g j i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2129.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , i.e. https://www.w3.org/1998/Math/MathML"> e j → e 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2130.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Initially, https://www.w3.org/1998/Math/MathML"> g i i = 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2131.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> g j i = 0 ( j ≠ i ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2132.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

A set of generation Inactive https://www.w3.org/1998/Math/MathML">   i . u ∈ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2133.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Inactive https://www.w3.org/1998/Math/MathML">   i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2134.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> iff https://www.w3.org/1998/Math/MathML"> c u i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2135.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is inactive, i.e. https://www.w3.org/1998/Math/MathML"> r s , t i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2136.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> occurs in https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2137.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , where https://www.w3.org/1998/Math/MathML"> s ≤ u ≤ t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2138.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

A subset https://www.w3.org/1998/Math/MathML"> Flo w i ⊆ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2139.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Neighbor https://www.w3.org/1998/Math/MathML">   i ⋅ p j ∈ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2140.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Flow https://www.w3.org/1998/Math/MathML">   i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2141.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> iff https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2142.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> sends a message to https://www.w3.org/1998/Math/MathML"> p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2143.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> after the most recent checkpoint. Each time https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2144.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> takes a checkpoint, Flow https://www.w3.org/1998/Math/MathML">   i = ∅ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2145.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

A sequence Receive https://www.w3.org/1998/Math/MathML">   2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2146.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of messages received after the most recent checkpoint in https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2147.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> : Each time https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2148.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> takes a checkpoint, Receive https://www.w3.org/1998/Math/MathML">   2 = ∅ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2149.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Each time https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2150.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> takes https://www.w3.org/1998/Math/MathML"> c s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2151.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , Flowi and Receive https://www.w3.org/1998/Math/MathML">   i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2152.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are recorded in the https://www.w3.org/1998/Math/MathML"> l o g https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2153.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> with the state information as Flows and Receive https://www.w3.org/1998/Math/MathML">   s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2154.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , respectively.

28.1. Failure-free execution

The protocol for taking consistent regional checkpoints is invoked each time a messagesending or message-receipt event occurs in a process. The protocol has to satisfy the following requirements:

R1 There is no orphan message even if S is restarted from one of the regional checkpoints.

R2 No message is lost.

R3 Each process https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2155.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> has the recovery view https://www.w3.org/1998/Math/MathML"> W i j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2156.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> if https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2157.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> recovers from the failure of https://www.w3.org/1998/Math/MathML"> p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2158.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . R4 No pretended checkpoint message is accepted.

For the requirements, the generation vector is manipulated as follows: 1) Each time https://www.w3.org/1998/Math/MathML"> s ( m ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2159.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of m occurs in https://www.w3.org/1998/Math/MathML"> p i , G i = g 1 i , … , g n i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2160.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is piggied back with m as m.G, i.e. https://www.w3.org/1998/Math/MathML"> m . g j ← g j i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2161.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for every j.

Each time https://www.w3.org/1998/Math/MathML"> r ( m ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2162.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of m occurs in https://www.w3.org/1998/Math/MathML"> p i , G i = m a x G i , m ⋅ G . G ' = m a x G i , G j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2163.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is defined as https://www.w3.org/1998/Math/MathML"> g k ' = m a x g k i , g k j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2164.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for every k.

If https://www.w3.org/1998/Math/MathML"> r ( m ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2165.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> occurs in https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2166.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> where https://www.w3.org/1998/Math/MathML"> g p i = s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2167.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and m is a checkpoint message from https://www.w3.org/1998/Math/MathML"> p j , p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2168.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> takes https://www.w3.org/1998/Math/MathML"> c s + 1 i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2169.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> just before https://www.w3.org/1998/Math/MathML"> r ( m ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2170.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Suppose that https://www.w3.org/1998/Math/MathML"> c t j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2171.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is the most recent checkpoint in https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2172.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . If https://www.w3.org/1998/Math/MathML"> m . g k ≤ g k i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2173.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for every process https://www.w3.org/1998/Math/MathML"> p k , p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2174.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is not required to take a checkpoint. https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2175.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is also restarted from https://www.w3.org/1998/Math/MathML"> c s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2176.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for the consistent recovery if https://www.w3.org/1998/Math/MathML"> p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2177.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is restarted from https://www.w3.org/1998/Math/MathML"> c t j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2178.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . On the other hand, if https://www.w3.org/1998/Math/MathML"> g k i < m . g k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2179.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for some https://www.w3.org/1998/Math/MathML"> p k , p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2180.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> has to take a checkpoint https://www.w3.org/1998/Math/MathML"> c s + 1 i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2181.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Unless https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2182.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> takes https://www.w3.org/1998/Math/MathML"> c s + 1 i , m https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2183.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> becomes an orphan message if https://www.w3.org/1998/Math/MathML"> p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2184.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is restarted from https://www.w3.org/1998/Math/MathML"> c t j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2185.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Hence, https://www.w3.org/1998/Math/MathML"> R 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2186.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is satisfied

To assure that no message be lost, if https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2187.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> receives m,m is added to Receive https://www.w3.org/1998/Math/MathML">   i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2188.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Each time https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2189.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> takes https://www.w3.org/1998/Math/MathML"> c s + 1 i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2190.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , the messages in Receive https://www.w3.org/1998/Math/MathML">   i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2191.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are moved to Receive https://www.w3.org/1998/Math/MathML">   s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2192.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and Receive https://www.w3.org/1998/Math/MathML">   i = ∅ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2193.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . If https://www.w3.org/1998/Math/MathML"> r s , t i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2194.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> occurs in https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2195.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , every message m satisfying the following conditions is received:

m∈ Receive https://www.w3.org/1998/Math/MathML">   u i ( s ≤ u < t ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2196.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> or m∈ Receive https://www.w3.org/1998/Math/MathML">   i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2197.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> m . g j < g j i s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2198.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for some https://www.w3.org/1998/Math/MathML"> p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2199.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> where https://www.w3.org/1998/Math/MathML"> G s i = g 1 i s , … , g n i s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2200.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is assigned to https://www.w3.org/1998/Math/MathML"> c s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2201.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Hence, R2 is satisfied.

If https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2202.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> sends an application message to a neighbor https://www.w3.org/1998/Math/MathML"> p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2203.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> at https://www.w3.org/1998/Math/MathML"> s ( m ) , p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2204.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is added to Flow https://www.w3.org/1998/Math/MathML">   i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2205.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Each time https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2206.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> takes https://www.w3.org/1998/Math/MathML"> c s + 1 i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2207.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , the processes in Flow https://www.w3.org/1998/Math/MathML">   i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2208.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are moved to Flows and Flow https://www.w3.org/1998/Math/MathML">   i = ∅ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2209.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . If https://www.w3.org/1998/Math/MathML"> r s , t i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2210.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> occurs in https://www.w3.org/1998/Math/MathML"> p i , p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2211.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> sends a restart request message https://www.w3.org/1998/Math/MathML"> R req   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2212.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to every neighbor https://www.w3.org/1998/Math/MathML"> p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2213.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> where https://www.w3.org/1998/Math/MathML"> p j ∈ ∪ s ≤ u < t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2214.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Flow https://www.w3.org/1998/Math/MathML">   u i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2215.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> or https://www.w3.org/1998/Math/MathML"> p j ∈ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2216.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Flow https://www.w3.org/1998/Math/MathML">   i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2217.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Hence, R3 is satisfied.

S has to prevent from the livelocks caused by the asynchronous recovery. By the generation vector, https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2218.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> never accepts phantom checkpoint messages. Each time https://www.w3.org/1998/Math/MathML"> r s , t i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2219.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> occurs in https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2220.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , Inactive https://www.w3.org/1998/Math/MathML">   i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2221.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is updated to Inactive https://www.w3.org/1998/Math/MathML">   i ∪ { u ∣ s ≤ u ≤ t } https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2222.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Let m be a message taken out of the channel https://www.w3.org/1998/Math/MathML"> p j , p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2223.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> where https://www.w3.org/1998/Math/MathML"> m . G = m . g 1 , … , m . g n https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2224.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is piggied back.

[Livelock-free message receipt] On receipt of m from https://www.w3.org/1998/Math/MathML"> p j , p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2225.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> discards m if https://www.w3.org/1998/Math/MathML"> m . g i ∈ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2226.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Inactive https://www.w3.org/1998/Math/MathML">   2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2227.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Otherwise, https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2228.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> accepts m.

If https://www.w3.org/1998/Math/MathML"> m . g i ∈ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2229.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Inactive https://www.w3.org/1998/Math/MathML">   i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2230.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , there exists an event https://www.w3.org/1998/Math/MathML"> e i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2231.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> such that https://www.w3.org/1998/Math/MathML"> g e i ∈ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2232.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Inactive https://www.w3.org/1998/Math/MathML">   i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2233.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> e i → https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2234.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> s ( m ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2235.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Since https://www.w3.org/1998/Math/MathML"> e i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2236.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is canceled by one of the recovery which occurred in https://www.w3.org/1998/Math/MathML"> p i , s ( m ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2237.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> also has to be canceled, i.e. m is a phantom checkpoint message. Thus, m is discarded and R4 is satisfied, i.e. the recovery becomes livelock-free.

3.3 Recovery

If a process https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2238.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> fails, the recovery procedure is initiated. https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2239.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is restarted from the most recent checkpoint https://www.w3.org/1998/Math/MathML"> c s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2240.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> where https://www.w3.org/1998/Math/MathML"> s = g p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2241.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . To keep S consistent, every process https://www.w3.org/1998/Math/MathML"> p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2242.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in which an event https://www.w3.org/1998/Math/MathML"> e j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2243.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> occurs where https://www.w3.org/1998/Math/MathML"> c s i → e j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2244.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> also has to be restarted. This is realized by using Flow https://www.w3.org/1998/Math/MathML">   i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2245.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and the message diffusion https://www.w3.org/1998/Math/MathML">   4 ) ⋅ p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2246.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> has to send restart requests to every process https://www.w3.org/1998/Math/MathML"> p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2247.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to which https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2248.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> sends an application message m after https://www.w3.org/1998/Math/MathML"> c s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2249.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Here, https://www.w3.org/1998/Math/MathML"> p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2250.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> has to be restarted from the checkpoint before https://www.w3.org/1998/Math/MathML"> r ( m ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2251.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . In our protocol, only and all the processes to be restarted are recorded in https://www.w3.org/1998/Math/MathML"> Flo w i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2252.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Thus, https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2253.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> sends a restart request to each https://www.w3.org/1998/Math/MathML"> p j ∈ Flo w i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2254.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Moreover, every message m received after https://www.w3.org/1998/Math/MathML"> c s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2255.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> has to be accepted by the application again. Since https://www.w3.org/1998/Math/MathML"> s ( m ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2256.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> satisfies https://www.w3.org/1998/Math/MathML"> c s i ↛ s ( m ) , m https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2257.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> becomes a lost message unless https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2258.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> accepts m again after the recovery. Thus, all the messages in Receive https://www.w3.org/1998/Math/MathML">   2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2259.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are put into the buffer in

Figure 2: Garbage collection.

https://www.w3.org/1998/Math/MathML"> p i . p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2260.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> accepts the messages again in the recovery procedure. Here, the failed process https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2261.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is restarted asynchronously.

On the other hand, if an operational process https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2262.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> receives a restart request, https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2263.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> also has to be restarted. At first, https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2264.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> finds the most recent checkpoint https://www.w3.org/1998/Math/MathML"> c s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2265.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to keep S consistent. This is realized by piggying back a generation vector https://www.w3.org/1998/Math/MathML"> R req   ⋅ G = R req   ⋅ g 1 , … , R req   ⋅ g n https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2266.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> named a recovery vector by each restart request https://www.w3.org/1998/Math/MathML"> R req.   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2267.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . If https://www.w3.org/1998/Math/MathML"> p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2268.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is restarted from https://www.w3.org/1998/Math/MathML"> c t j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2269.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , the value t is assigned to https://www.w3.org/1998/Math/MathML"> R req   ⋅ g j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2270.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2271.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> sends https://www.w3.org/1998/Math/MathML"> R req   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2272.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to all the processes in Flow https://www.w3.org/1998/Math/MathML">   j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2273.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Now, https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2274.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> finds the oldest checkpoint https://www.w3.org/1998/Math/MathML"> c s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2275.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> such that https://www.w3.org/1998/Math/MathML"> R req   ⋅ g j ≤ g j i s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2276.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for every https://www.w3.org/1998/Math/MathML"> p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2277.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . After that, https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2278.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> sends the restart requests and puts the received application messages to be accepted again after the recovery into the buffer as the failed process. Here, an operational process https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2279.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is also restarted from https://www.w3.org/1998/Math/MathML"> c s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2280.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> asynchronously.

Each process https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2281.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in which a recovery https://www.w3.org/1998/Math/MathML"> r s , t i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2282.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> occurs adds https://www.w3.org/1998/Math/MathML"> { s , … , t } https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2283.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to Inactive https://www.w3.org/1998/Math/MathML">   i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2284.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . If https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2285.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> receives an application message m where https://www.w3.org/1998/Math/MathML"> m . g i ∈ { s , … , t } , p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2286.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> discards m. According to this procedure, no livelock occurs even in the asynchronous recovery procedure.

29.1. Garbage collection

In order to reduce the storage used for the information at checkpoints, a garbage collection procedure has to be executed to remove the obsolete checkpoints. If https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2287.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> would never be restarted from https://www.w3.org/1998/Math/MathML"> c s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2288.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> both for recovering from the failure of https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2289.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and for keeping the system consistent even in the failure of any https://www.w3.org/1998/Math/MathML"> p j ≠ p i , c s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2290.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> has to be discarded. Here, we also use the generation vector. Let https://www.w3.org/1998/Math/MathML"> G s i = g 1 i s , … , g n i s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2291.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> be the checkpoint generation vector of https://www.w3.org/1998/Math/MathML"> c s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2292.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> G i = g 1 i , … , g n i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2293.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> be the generation vector manipulated in https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2294.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . If s≤t for every t where https://www.w3.org/1998/Math/MathML"> g j i t = g j i ≠ 0 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2295.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for some https://www.w3.org/1998/Math/MathML"> j , p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2296.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is restarted from https://www.w3.org/1998/Math/MathML"> c s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2297.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> when https://www.w3.org/1998/Math/MathML"> p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2298.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> fails. Otherwise, https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2299.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is never restarted from https://www.w3.org/1998/Math/MathML"> c s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2300.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2301.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> discards https://www.w3.org/1998/Math/MathML"> c s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2302.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

For example, in Figure https://www.w3.org/1998/Math/MathML"> 2 S = ⟨ V , L ⟩ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2303.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> where https://www.w3.org/1998/Math/MathML"> V = p 1 , p 2 , p 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2304.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . The checkpoint generation vectors for every https://www.w3.org/1998/Math/MathML"> c s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2305.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are as follows: https://www.w3.org/1998/Math/MathML"> c 1 1 = ⟨ 1,0 , 0 ⟩ , c 2 1 = ⟨ 2,0 , 1 ⟩ , c 1 2 = https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2306.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> ⟨ 0,1 , 0 ⟩ , c 2 2 = ⟨ 1,2 , 0 ⟩ , c 3 2 = ⟨ 1,3 , 0 ⟩ , c 4 2 = ⟨ 2,4 , 1 ⟩ , c 1 3 = ⟨ 0,0 , 1 ⟩ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2307.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . If https://www.w3.org/1998/Math/MathML"> p 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2308.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> fails, https://www.w3.org/1998/Math/MathML"> p 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2309.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> p 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2310.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are restarted from https://www.w3.org/1998/Math/MathML"> c 2 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2311.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> c 4 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2312.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , respectively. If https://www.w3.org/1998/Math/MathML"> p 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2313.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> fails, https://www.w3.org/1998/Math/MathML"> p 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2314.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is restarted from https://www.w3.org/1998/Math/MathML"> c 4 2 . p 1 , p 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2315.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> p 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2316.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are restarted from https://www.w3.org/1998/Math/MathML"> c 2 1 , c 2 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2317.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> c 1 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2318.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , respectively, if https://www.w3.org/1998/Math/MathML"> p 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2319.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> fails. Since https://www.w3.org/1998/Math/MathML"> c 1 1 , c 1 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2320.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> c 2 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2321.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are absolete, they have to be discarded. By using the garbage collection procedure, https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2322.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> has only one checkpoint from which https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2323.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is restarted if https://www.w3.org/1998/Math/MathML"> p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2324.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> fails and https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2325.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2326.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are in the same recovery domain.

Theorem 5 There are at most n active checkpoints in each https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2327.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Evaluation

In the proposed protocol, since https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2328.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> discards any phantom checkpoint messages, https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2329.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is restarted from the checkpoint at most once for a failure of process. Hence, the protocol realizes the asynchronous livelock-free recovery. Here, https://www.w3.org/1998/Math/MathML"> O ( l ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2330.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> restart requests are transmitted for the recovery from the failure of https://www.w3.org/1998/Math/MathML"> p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2331.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> where l is the number of processes included in https://www.w3.org/1998/Math/MathML"> D i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2332.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Now, we evaluate the overhead for the checkpointing procedure and the recovery procedure in the proposed protocol and the conventional synchronous protocol https://www.w3.org/1998/Math/MathML">   8 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2333.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . The conventional protocol is based on the two-phase commitment protocol both in checkpointing and recovery procedure. Thus, the number of the additional messages is https://www.w3.org/1998/Math/MathML"> O ( N ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2334.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> where N is the number of processes in S and the required time is https://www.w3.org/1998/Math/MathML"> O ( D ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2335.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> where D is the diameter of S. In our protocol, no additional message is transmitted in the checkpointing procedure. In the asynchronous recovery procedure, only https://www.w3.org/1998/Math/MathML"> O ( n ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2336.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> additional messages are transmitted where n is the number of processes included in a recovery domain of a failed process. The required time is https://www.w3.org/1998/Math/MathML"> O ( d ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2337.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> where d is the diameter of the recovery domain. Since n≪N and d≪D in a large-scale distributed system, our protocol reduces the overhead.

Conclusion

This paper has proposed the protocol for taking consistent regional checkpoints and restarting the processes asynchronously in a distributed system. In the checkpointing procedure, no additional messages are transmitted and no process is blocked. The number of processes required to take a checkpoint is the minimum. Each process keeps at most n checkpoints where n is the number of processes. If some process fails, the minimum number of processes are restarted from the checkpoints asynchronously. Since the process is restarted at most once for a failure of process by discarding phantom checkpoint messages, the recovery protocol is livelock-free. To realize the recovery, each message contains a n-size vector of generation and only https://www.w3.org/1998/Math/MathML"> O ( l ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2338.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> messages are transmitted where l is the number of channels. Hence, the reliable and available large-scale distributed systems can be easily and effectively developed and operated by using the protocol proposed in this paper.

Bibliography

Bernstein, P. A., Hadzilacos, V., and Goodman, N., “Concurrency Control and Recovery in Database Systems,” Addison-Wesley, pp. 222-261 (1987). 2) Bhargava, B. and Lian, S.R., “Independent Checkpointing and Concurrent Rollback for Recovery in Distributed Systems,” Proc. of the 7th International Symposium on Reliable Distributed Systems, pp. 3-12 (1988).

Chandy, K. M. and Lamport L., “Distributed Snapshots: Determining Global States of Distributed Systems,” ACM Trans. on Computer Systems, Vol. 3, No. 1, pp. 63-75 (1985).

Dijkstra, E. W. and Scholten, C. S., “Termination Detection for Diffusing Computation,” Information Processing Letters, Vol. 11, No. 1, pp. 1-4 (1980).

Higaki, H. and Takizawa, M., “Group Communication Protocol for Flexible Distributed Systems,” Proc. of the 3rd International Conference on Network Protocols, (1996).

Juang, T. T. Y. and Venkatesan, S., “Efficient Algorithms for Crash Recovery in Distributed Systems,” Proc. of the 10th Conference on Foundations of Software Technology and Theoretical Computer Science (LNCS), pp. 349-361 (1990).

Kim, J.L. and Park, T., “An Efficient Protocol for Checkpointing Recovery in Distributed Systems,” IEEE Trans. on Parallel and Distributed Systems, Vol. 4, No. 8, pp 955-960 (1993).

Koo, R. and Toueg, S., “Checkpointing and Rollback-Recovery for Distributed Systems,” IEEE Trans. on Software Engineering, Vol. SE-13, No. 1, pp. 23-31 (1987).

Lamport, L., “Time, Clocks, and the Ordering of Events in a Distributed System,” Communications of the ACM, Vol. 21, No. 7, pp. 558-565 (1978).

Manivannan, D. and Singhal, M., “A Low-Overhead Recovery Technique Using QuasiSynchronous Checkpointing,” Proc. of the 16th International Conference on Distributed Computing Systems, pp. 100-107 (1996).

Perterson, S. L. and Kearns, P., “Rollback Based on Vector Time,” Proc. of the 12th International Symposium on Reliable Distributed Systems, pp. 68-77 (1996).

Randell, B.,”System Structure for Software Fault Tolerance,” IEEE Trans. on Software Engineering, Vol. SE-1, No. 2, pp. 220-232 (1975).

Strom, R. E. and Yemini, S., “Optimistic Recovery in Distributed Systems,” ACM Trans on Computer Systems, Vol. 3, No. 3, pp. 204-226 (1985).

Tong, Z., Kain, R. Y., and Tsai, W. T., “Rollback Recovery in Distributed Systems Using Loosely Synchronized Clocks,” IEEE Trans. on Parallel and Distributed Systems, Vol. 3, No. 2, pp. 246-251 (1992).

Object-Based Locking Protocol for Replicated Objects

n object-based systems, the objects are replicated to increase the performance, reliability, and availability. We propose an object-based locking (OBL) protocol to lock replicas of objects supporting abstract operations by extending the quorumbased method to the abstract objects. Here, the number of the replicas locked is decided based on the access frequency and the strength of the lock mode. Unless two operations conftict, subsets of the replicas locked by the operations do not intersect even if the operations change the replicas. We newly propose a version vector to identify what operation instances are computed in a replica.

Introduction

In order to increase the reliability, availability, and performance of the system, objects are replicated in the system. The replicas of the object have to be mutually consistent. In the two-phase locking (2PL) protocol https://www.w3.org/1998/Math/MathML">   1,2 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2339.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , one of the replicas is locked for read and all the replicas for write, i.e. read-one-write-all principal is used. The method is not efficient for write-dominated applications. In the quorum-based protocol https://www.w3.org/1998/Math/MathML">   3 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2340.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , some numbers https://www.w3.org/1998/Math/MathML"> Q r https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2341.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> Q w https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2342.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of the replicas are locked for read and write, respectively. Here, https://www.w3.org/1998/Math/MathML"> Q r + Q w > a https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2343.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for the number a of the replicas. https://www.w3.org/1998/Math/MathML"> Q r https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2344.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> Q w https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2345.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are decided based on how frequently read and write are issued.

The distributed applications are modeled to be a collection of multiple objects which are cooperating. Object-based frameworks like CORBA https://www.w3.org/1998/Math/MathML">   7 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2346.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is widely used to develop distributed applications. The objects support more abstract operations like Deposit mode for Deposit operation in a bank object than read and write. Each object is locked in an abstract mode corresponding to the abstract operation. Two operations https://www.w3.org/1998/Math/MathML"> o p 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2347.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2348.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> supported by an object o conflict if the result obtained by applying https://www.w3.org/1998/Math/MathML"> o p 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2349.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2350.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to o depends on the computation order of https://www.w3.org/1998/Math/MathML"> o p 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2351.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p 2   11 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2352.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . In this paper, we propose a novel locking scheme for the replicated objects named OBL (object-based locking) protocol. The OBL protocol is an extension of the quorum-based protocol to the replicas of the abstract objects. Before computing an operation https://www.w3.org/1998/Math/MathML"> o p t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2353.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> on an object o, some number https://www.w3.org/1998/Math/MathML"> Q t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2354.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of the replicas of o are locked in the abstract mode for https://www.w3.org/1998/Math/MathML"> o p t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2355.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . https://www.w3.org/1998/Math/MathML"> Q t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2356.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> depends on how restricted the lock mode of https://www.w3.org/1998/Math/MathML"> o p t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2357.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is and how frequently op https://www.w3.org/1998/Math/MathML">   t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2358.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is invoked. The more restricted and frequently https://www.w3.org/1998/Math/MathML"> o p t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2359.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is used, the fewer number of the replicas are locked. Suppose two operations https://www.w3.org/1998/Math/MathML"> o p t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2360.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p u https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2361.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are issued to replicas of the object o. If https://www.w3.org/1998/Math/MathML"> o p t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2362.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p u https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2363.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> change the state of o, the traditional quorum-based protocol requires that https://www.w3.org/1998/Math/MathML"> Q t + Q u > a https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2364.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . That is, both https://www.w3.org/1998/Math/MathML"> o p t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2365.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p u https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2366.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are guaranteed to be computed on at least one replica. If https://www.w3.org/1998/Math/MathML"> o p t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2367.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p u https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2368.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are computed on replicas https://www.w3.org/1998/Math/MathML"> o t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2369.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o u https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2370.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , respectively, the states of https://www.w3.org/1998/Math/MathML"> o t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2371.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o u https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2372.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are different. Then, if https://www.w3.org/1998/Math/MathML"> o p t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2373.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p u https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2374.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are computed on https://www.w3.org/1998/Math/MathML"> o t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2375.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o u https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2376.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , respectively, https://www.w3.org/1998/Math/MathML"> o t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2377.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o u https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2378.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> get the same state if https://www.w3.org/1998/Math/MathML"> o p t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2379.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p u https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2380.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are compatible. In the quorum-based method, there must be at least one up-to-date replica where every write operation is computed. However, there can exist replicas from which the up-to-date version can be constructed even if there is no up-to-date replica. In order to identify what operations are computed in https://www.w3.org/1998/Math/MathML"> o t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2381.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o u https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2382.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , we newly propose a version vector. In the OBL protocol, fewer number of replicas are locked than the traditional quorum-based protocols and https://www.w3.org/1998/Math/MathML"> 2 PL https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2383.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

In section 2, we present the system model. In section 3, we discuss abstract lock modes for the objects. In section 4 , we discuss the OBL protocol.

Replicated Objects

A system is composed of objects https://www.w3.org/1998/Math/MathML"> o 1 , … , o n ( n ≥ 1 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2384.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> which are cooperating by exchanging messages in a network. Each object https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2385.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> supports a set of operations https://www.w3.org/1998/Math/MathML"> o p i 1 , … , o p i l i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2386.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for manipulating https://www.w3.org/1998/Math/MathML"> o i . o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2387.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is encapsulated so that https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2388.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> can be manipulated only through the operations supported by https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2389.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . By using the network, https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2390.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> can send messages to https://www.w3.org/1998/Math/MathML"> o j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2391.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> with no message loss in the sending order.

If a transaction T sends a request https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2392.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to an object https://www.w3.org/1998/Math/MathML"> o i , o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2393.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> computes https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2394.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Here, https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2395.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> may invoke an operation https://www.w3.org/1998/Math/MathML"> o p ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2396.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> on another object https://www.w3.org/1998/Math/MathML"> o ij . o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2397.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> sends the response of https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2398.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> back to T.T is an atomic sequence of operations. T commits only if all the operations invoked by T successfully complete, i.e. the operations commit. The operation op invoked by T commits only if all the operations invoked by op commit. op is also an atomic unit of computation. Thus, the operations are nested https://www.w3.org/1998/Math/MathML">   6 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2399.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . An operation which changes the state of the object is referred to as update operation.

Let https://www.w3.org/1998/Math/MathML"> op ( s ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2400.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> denote a state obtained by applying op to a state s of https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2401.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . An operation https://www.w3.org/1998/Math/MathML"> o p ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2402.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is compatible with https://www.w3.org/1998/Math/MathML"> o p ik https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2403.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> iff https://www.w3.org/1998/Math/MathML"> o p ij ∘ o p ik s i = o p ik ∘ o p ij s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2404.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for every state https://www.w3.org/1998/Math/MathML"> s i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2405.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of https://www.w3.org/1998/Math/MathML"> o j . o p ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2406.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> conflicts with https://www.w3.org/1998/Math/MathML"> o p ik https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2407.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> unless https://www.w3.org/1998/Math/MathML"> o p ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2408.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is compatible with https://www.w3.org/1998/Math/MathML"> o p ik https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2409.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . The interleaved and parallel computation of operations has to be serializable https://www.w3.org/1998/Math/MathML">   1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2410.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ). That is, if some operation https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2411.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of a transaction https://www.w3.org/1998/Math/MathML"> T i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2412.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> precedes https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2413.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of https://www.w3.org/1998/Math/MathML"> T j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2414.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> which conflicts with op https://www.w3.org/1998/Math/MathML">   i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2415.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , every conflicting operation of https://www.w3.org/1998/Math/MathML"> T i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2416.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> precedes https://www.w3.org/1998/Math/MathML"> T j . https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2417.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> On an operation receipt of a request opi, https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2418.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is locked in a lock mode https://www.w3.org/1998/Math/MathML"> μ o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2419.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in order to make the computation serializable. Here, let https://www.w3.org/1998/Math/MathML"> M i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2420.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> be a set of lock modes of https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2421.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . If operations https://www.w3.org/1998/Math/MathML"> o p 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2422.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2423.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are compatible, https://www.w3.org/1998/Math/MathML"> μ o p 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2424.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> μ o p 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2425.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are compatible. Otherwise, the modes conflict. For example, Dlock and Wlock denote lock modes of Deposit and Withdraw of the bank object B, respectively. Dlock and Wlock are compatible. After computing https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2426.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , the lock https://www.w3.org/1998/Math/MathML"> μ o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2427.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> on https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2428.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is released. Let https://www.w3.org/1998/Math/MathML"> C i ( m ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2429.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> be a set of lock modes with which m conflicts in https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2430.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , i.e. https://www.w3.org/1998/Math/MathML"> C i ( m ) = m ' ∣ m ' https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2431.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> conflicts with https://www.w3.org/1998/Math/MathML"> m https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2432.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . We assume that the compatibility relation is symmetric. Hence, m is in https://www.w3.org/1998/Math/MathML"> C i m ' https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2433.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for every https://www.w3.org/1998/Math/MathML"> m ' https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2434.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in https://www.w3.org/1998/Math/MathML"> C i ( m ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2435.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Suppose an object https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2436.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is locked in a mode m and https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2437.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> would be computed on https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2438.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> If https://www.w3.org/1998/Math/MathML"> μ o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2439.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is compatible with https://www.w3.org/1998/Math/MathML"> m , o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2440.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> can be started to be computed on https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2441.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Otherwise, https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2442.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> has to wait until the lock of m is released.

Abstract Lock Modes

Replicas of an object https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2443.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are locked in a mode https://www.w3.org/1998/Math/MathML"> μ o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2444.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> before https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2445.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is computed. If https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2446.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is already locked by modes conflicting with https://www.w3.org/1998/Math/MathML"> μ o p i , o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2447.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> blocks. The more modes conflict with https://www.w3.org/1998/Math/MathML"> μ o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2448.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , the more often https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2449.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> blocks. A lock mode https://www.w3.org/1998/Math/MathML"> m 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2450.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is more restricted than https://www.w3.org/1998/Math/MathML"> m 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2451.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> iff https://www.w3.org/1998/Math/MathML"> C i m 1 ⊇ C i m 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2452.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

[Example 1] Let rlock and wlock be lock modes for read and write, respectively, in a file object https://www.w3.org/1998/Math/MathML"> f . C f ( rlock ) = { wlock } https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2453.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> C f ( wlock ) = { wlock , rlock } https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2454.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Since https://www.w3.org/1998/Math/MathML"> C f ( https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2455.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> rlock https://www.w3.org/1998/Math/MathML"> ) ⊆ C f ( https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2456.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> wlock https://www.w3.org/1998/Math/MathML"> ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2457.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , wlock is more restricted than rlock.

[Example 2] A bank object B supports operations Deposit, Withdraw, Check, and Audit. Let Dlock, Wlock, Clock, and Alock show modes μ( Deposit https://www.w3.org/1998/Math/MathML"> ) , μ ( https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2458.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Withdraw https://www.w3.org/1998/Math/MathML"> ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2459.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , μ( Check https://www.w3.org/1998/Math/MathML"> ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2460.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and https://www.w3.org/1998/Math/MathML"> μ ( Audit ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2461.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , respectively. Dlock and Wlock are compatible. Clock conflicts with Dlock and Wlock. Audit gets the data on the accounts and stores them in B. Hence, Alock conflicts with Dlock and Wlock, but is compatible with Clock. https://www.w3.org/1998/Math/MathML"> C B ( D https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2462.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> lock https://www.w3.org/1998/Math/MathML"> ) = C B ( W https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2463.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> lock https://www.w3.org/1998/Math/MathML"> ) = { https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2464.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Alock, Clock https://www.w3.org/1998/Math/MathML"> } https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2465.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> C B ( https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2466.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Clock https://www.w3.org/1998/Math/MathML"> ) = C B ( https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2467.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Alock https://www.w3.org/1998/Math/MathML"> ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2468.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> = { D https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2469.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> lock, Wlock https://www.w3.org/1998/Math/MathML"> } https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2470.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Since https://www.w3.org/1998/Math/MathML"> C B ( D https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2471.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> lock https://www.w3.org/1998/Math/MathML"> ) ∩ C B ( Clock ) = ϕ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2472.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , there is no relation among Clock and Dlock.

Let https://www.w3.org/1998/Math/MathML"> φ ( m ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2473.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> be usage frequency of a mode m, i.e. how frequently operations of m are issued to https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2474.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Here, https://www.w3.org/1998/Math/MathML"> ∑ m ∈ M i   φ ( m ) = 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2475.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . The weighted strength https://www.w3.org/1998/Math/MathML"> C i ( m ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2476.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of m is defined to be https://www.w3.org/1998/Math/MathML"> ∑ m ' ∈ C i ( m )   φ m ' ( ≤ 1 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2477.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

[Definition] A mode https://www.w3.org/1998/Math/MathML"> m 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2478.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is stronger than https://www.w3.org/1998/Math/MathML"> m 2 m 1 ⪰ m 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2479.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> iff https://www.w3.org/1998/Math/MathML"> m 1 ∈ C i m 2 , m 2 ∈ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2480.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> C i m 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2481.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and https://www.w3.org/1998/Math/MathML"> C i m 1 ≥ C i m 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2482.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Let https://www.w3.org/1998/Math/MathML"> m 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2483.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> m 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2484.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> be modes https://www.w3.org/1998/Math/MathML"> μ o p 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2485.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> μ o p 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2486.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in an object https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2487.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , respectively. If https://www.w3.org/1998/Math/MathML"> C i m 1 ≥ C i m 2 , o p 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2488.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> has a bigger blocking probability that https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2489.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> waits for the release of the lock conflicting with https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2490.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> than https://www.w3.org/1998/Math/MathML"> o p 2 . https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2491.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

In Example 1, wlock https://www.w3.org/1998/Math/MathML"> ⪰ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2492.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> rlock since https://www.w3.org/1998/Math/MathML"> C f ( https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2493.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> wlock https://www.w3.org/1998/Math/MathML"> ) ⊂ C f ( https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2494.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> rlock https://www.w3.org/1998/Math/MathML"> ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2495.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . In Example 2, suppose that the usage ratios of Alock, Clock, Dlock, and Wlock are 10%, 20%, 40%, and https://www.w3.org/1998/Math/MathML"> 30 % https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2496.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , respectively, i.e. φ( Alock https://www.w3.org/1998/Math/MathML"> ) = 0.1 , φ ( https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2497.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Clock https://www.w3.org/1998/Math/MathML"> ) = 0.2 , φ ( D https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2498.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> lock https://www.w3.org/1998/Math/MathML"> ) = 0.4 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2499.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and φ( Wlock https://www.w3.org/1998/Math/MathML"> ) = 0.3 .   ∥ C B ( https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2500.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Clock https://www.w3.org/1998/Math/MathML"> ) ∥ = ∥ C B ( https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2501.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Alock https://www.w3.org/1998/Math/MathML"> ) ∥ = φ ( https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2502.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Dlock https://www.w3.org/1998/Math/MathML"> ) + φ ( https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2503.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Wlock https://www.w3.org/1998/Math/MathML"> ) = 0.7 . https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2504.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> C B ( Dlock ) = ∥ C B ( https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2505.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Wlock https://www.w3.org/1998/Math/MathML"> ) ∥ = φ ( https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2506.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Clock https://www.w3.org/1998/Math/MathML"> ) = 0.3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2507.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Hence, Dlock https://www.w3.org/1998/Math/MathML"> ⪯ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2508.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Clock, Wlock https://www.w3.org/1998/Math/MathML"> ⪯ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2509.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Clock, and Alock https://www.w3.org/1998/Math/MathML"> ⪯ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2510.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Clock since https://www.w3.org/1998/Math/MathML"> ∥ C B ( https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2511.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Dlock https://www.w3.org/1998/Math/MathML"> ) ∥ < ∥ C B ( https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2512.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Clock https://www.w3.org/1998/Math/MathML"> ) ∥ , ∥ C B ( https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2513.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , Wlock https://www.w3.org/1998/Math/MathML"> ) ∥ < https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2514.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> ∥ C B ( https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2515.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Dlock https://www.w3.org/1998/Math/MathML"> ) ∥ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2516.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and https://www.w3.org/1998/Math/MathML"> ∥ C B ( https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2517.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Alock https://www.w3.org/1998/Math/MathML"> ) ∥ ≤ ∥ C B ( https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2518.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Clock https://www.w3.org/1998/Math/MathML"> ) ∥ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2519.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

The modes supported by https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2520.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are partially ordered by the strength relation “\preceq”. A mode m is referred to as maximal in https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2521.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> iff there is no mode https://www.w3.org/1998/Math/MathML"> m ' https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2522.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> such that https://www.w3.org/1998/Math/MathML"> m ⪯ m ' https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2523.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . m is maximum iff https://www.w3.org/1998/Math/MathML"> m ' ⪯ m https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2524.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for every mode https://www.w3.org/1998/Math/MathML"> m ' https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2525.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . The minimal and minimum modes are similarly defined. m is a least upper bound https://www.w3.org/1998/Math/MathML"> ( lub ) m 1 ∪ m 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2526.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of modes https://www.w3.org/1998/Math/MathML"> m 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2527.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> m 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2528.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> iff https://www.w3.org/1998/Math/MathML"> m 1 ⪯ m , m 2 ⪯ m https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2529.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and there is no mode https://www.w3.org/1998/Math/MathML"> m ' https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2530.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> such that https://www.w3.org/1998/Math/MathML"> m 1 ⪯ m ' ⪯ m https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2531.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> m 2 ⪯ m ' https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2532.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> ⪯ m https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2533.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . The greatest lower bound https://www.w3.org/1998/Math/MathML"> ( https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2534.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> glb https://www.w3.org/1998/Math/MathML"> ) m 1 ∩ m 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2535.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is similarly defined.

Next, we discuss how to lock replicas https://www.w3.org/1998/Math/MathML"> o i 1 , … , o i a i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2536.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in the cluster https://www.w3.org/1998/Math/MathML"> R o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2537.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . We extend the traditional quorum-based protocol to the replicas in the object-based systems. Let https://www.w3.org/1998/Math/MathML"> N it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2538.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> be a set of replicas to be locked by https://www.w3.org/1998/Math/MathML"> o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2539.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , named a quorum set of https://www.w3.org/1998/Math/MathML"> o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2540.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Let https://www.w3.org/1998/Math/MathML"> Q it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2541.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> be https://www.w3.org/1998/Math/MathML"> N it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2542.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> named a quorum number of op it. The more replicas are locked, the more communication and computation are required. Hence, the more frequently op it is invoked, the fewer number of replicas are locked. https://www.w3.org/1998/Math/MathML"> Q it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2543.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is decided depending on the probability that https://www.w3.org/1998/Math/MathML"> o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2544.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> conflicts with other operations of https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2545.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

[OBL constraints]

If https://www.w3.org/1998/Math/MathML"> μ o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2546.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> conflicts with https://www.w3.org/1998/Math/MathML"> μ o p iu , Q it + Q iu > a i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2547.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

https://www.w3.org/1998/Math/MathML"> Q it ≥ Q iu https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2548.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> iff https://www.w3.org/1998/Math/MathML"> C i o p it ≥ C i o p iu https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2549.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

A transaction T locks replicas https://www.w3.org/1998/Math/MathML"> o i 1 , … , o i a i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2550.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2551.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> by the following locking scheme before manipulating the replicas by an operation https://www.w3.org/1998/Math/MathML"> o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2552.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

[Locking scheme]

First, a quorum set https://www.w3.org/1998/Math/MathML"> N it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2553.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is decided for https://www.w3.org/1998/Math/MathML"> o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2554.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Every replica in https://www.w3.org/1998/Math/MathML"> N it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2555.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is locked in the mode https://www.w3.org/1998/Math/MathML"> μ o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2556.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

If all the replicas in https://www.w3.org/1998/Math/MathML"> N it   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2557.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are locked, the replicas in https://www.w3.org/1998/Math/MathML"> N it   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2558.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are manipulated by https://www.w3.org/1998/Math/MathML"> o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2559.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

When T commits, the locks on the replicas in https://www.w3.org/1998/Math/MathML"> N it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2560.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are released.

Locking Protocol

38.1. Quorums on abstract operations

According to the quorum-based protocol, https://www.w3.org/1998/Math/MathML"> Q it + Q iu > a i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2561.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for a pair of operations https://www.w3.org/1998/Math/MathML"> o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2562.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p iu https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2563.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> where https://www.w3.org/1998/Math/MathML"> a i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2564.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is the number of the replicas of https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2565.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> if https://www.w3.org/1998/Math/MathML"> o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2566.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p iu https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2567.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are update operations. In the OBL protocol, https://www.w3.org/1998/Math/MathML"> Q it + Q iu > a i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2568.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> if https://www.w3.org/1998/Math/MathML"> o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2569.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p iu https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2570.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> conflict with one another. The OBL protocol satisfies the following properties.

[Properties] For every pair of conflicting operations https://www.w3.org/1998/Math/MathML"> o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2571.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p iu https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2572.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> :

At least one replica computes both of https://www.w3.org/1998/Math/MathML"> o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2573.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p iu https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2574.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

If two replicas https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2575.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o i k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2576.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> compute https://www.w3.org/1998/Math/MathML"> o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2577.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p iu , o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2578.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o i k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2579.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> compute https://www.w3.org/1998/Math/MathML"> o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2580.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p iu https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2581.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in the same order.

[Example 3] Replicas https://www.w3.org/1998/Math/MathML"> B 2 , B 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2582.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and https://www.w3.org/1998/Math/MathML"> B 4 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2583.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of the bank object B support four operations Deposit https://www.w3.org/1998/Math/MathML"> ( D ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2584.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , Withdraw https://www.w3.org/1998/Math/MathML"> ( W ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2585.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , Check https://www.w3.org/1998/Math/MathML"> ( C ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2586.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and https://www.w3.org/1998/Math/MathML"> A u d i t ⁡ ( A ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2587.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> shown in Example 2. D is compatible with W.C is compatible with A.D and W conflict with C and A. D,W, and A are update operations but C is not. Let https://www.w3.org/1998/Math/MathML"> Q D https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2588.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> be 3 and https://www.w3.org/1998/Math/MathML"> Q W https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2589.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> be 2. Each replica https://www.w3.org/1998/Math/MathML"> B i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2590.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> has a version number https://www.w3.org/1998/Math/MathML"> V i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2591.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> whose initial value is 0 . Hence, https://www.w3.org/1998/Math/MathML"> Q D + Q W > 4 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2592.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Hence, D is issued to https://www.w3.org/1998/Math/MathML"> B 1 , B 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2593.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and https://www.w3.org/1998/Math/MathML"> B 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2594.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> V 1 = V 2 = V 3 = 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2595.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Then, W is issued to https://www.w3.org/1998/Math/MathML"> B 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2596.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> B 4 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2597.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Since https://www.w3.org/1998/Math/MathML"> V 1 ( = 1 ) > V 4 ( = 0 ) , W https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2598.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is computed on https://www.w3.org/1998/Math/MathML"> B 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2599.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> V 1 = 2 . B 4 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2600.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is updated by sending the state of https://www.w3.org/1998/Math/MathML"> B 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2601.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Here, https://www.w3.org/1998/Math/MathML"> V 1 = V 4 = 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2602.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> V 2 = V 3 = 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2603.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . If the number of replicas to be locked is decided based on the conflicting relation among the abstract operations, we can reduce the number of the replicas to be locked but cannot decide which replica is up-to-date by using the version numbers. Here, https://www.w3.org/1998/Math/MathML"> Q it + https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2604.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> Q iu > a i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2605.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> if https://www.w3.org/1998/Math/MathML"> o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2606.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p iu https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2607.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> conflict. For example, https://www.w3.org/1998/Math/MathML"> Q D , Q W , Q C https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2608.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and https://www.w3.org/1998/Math/MathML"> Q A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2609.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> can be 2,2 , 3 , and 3 , respectively. First, suppose that D is issued to https://www.w3.org/1998/Math/MathML"> B 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2610.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> B 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2611.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and that W is – issued to https://www.w3.org/1998/Math/MathML"> B 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2612.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> B 4 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2613.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> since https://www.w3.org/1998/Math/MathML"> Q D = Q W = 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2614.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Here, the version numbers of the replicas are changed to 1 , i.e. https://www.w3.org/1998/Math/MathML"> V 1 = V 2 = V 3 = V 4 = 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2615.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Then, C is issued to https://www.w3.org/1998/Math/MathML"> B 1 , B 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2616.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and https://www.w3.org/1998/Math/MathML"> B 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2617.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> since https://www.w3.org/1998/Math/MathML"> Q C = 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2618.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Here, the state of https://www.w3.org/1998/Math/MathML"> B 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2619.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is different from the states of https://www.w3.org/1998/Math/MathML"> B 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2620.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> B 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2621.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> although they have the same version number 1 .

Since D and W are compatible, the replicas can be up-to-date if the instance of D computed on https://www.w3.org/1998/Math/MathML"> B 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2622.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> B 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2623.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is also computed on https://www.w3.org/1998/Math/MathML"> B 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2624.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> B 4 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2625.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and the instance of W computed on https://www.w3.org/1998/Math/MathML"> B 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2626.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> B 4 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2627.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is computed on https://www.w3.org/1998/Math/MathML"> B 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2628.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> B 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2629.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Then, C can be computed on one of the replicas, say https://www.w3.org/1998/Math/MathML"> B 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2630.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Thus, the replicas can be up-to-date by computing operations which are not computed on the replicas but computed on the others. Problem is that the version numbers of https://www.w3.org/1998/Math/MathML"> B 1 , B 2 , B 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2631.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and https://www.w3.org/1998/Math/MathML"> B 4 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2632.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are 1 after D and W are computed. We cannot consider that the states of https://www.w3.org/1998/Math/MathML"> B 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2633.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> B 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2634.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are different from https://www.w3.org/1998/Math/MathML"> B 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2635.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> B 4 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2636.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> by using the version numbers of the replicas.

A replica https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2637.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is considered to be newer than https://www.w3.org/1998/Math/MathML"> o i k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2638.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> if every operation computed in https://www.w3.org/1998/Math/MathML"> o i k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2639.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is computed in https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2640.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . We define a precedent relation “ https://www.w3.org/1998/Math/MathML"> → https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2641.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> “ among the replicas to show which replica is newer.

[Definition] A replica https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2642.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> precedes https://www.w3.org/1998/Math/MathML"> o i k o i h → o i k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2643.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> iff every update operation computed on https://www.w3.org/1998/Math/MathML"> o i k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2644.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is computed on https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2645.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

https://www.w3.org/1998/Math/MathML"> o i h → o i k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2646.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> means that https://www.w3.org/1998/Math/MathML"> o i k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2647.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is obsolete since some update operations computed on https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2648.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are not computed on https://www.w3.org/1998/Math/MathML"> o i k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2649.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . The quorum-based method requires that every quorum set include at least one maximum replica https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2650.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , i.e. https://www.w3.org/1998/Math/MathML"> o i h → o i k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2651.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for every replica https://www.w3.org/1998/Math/MathML"> o i k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2652.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . That is, if two update operations https://www.w3.org/1998/Math/MathML"> o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2653.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p iu https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2654.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are issued, at least one replica https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2655.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> computes both https://www.w3.org/1998/Math/MathML"> o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2656.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p iu https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2657.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . On the other hand, in our protocol, no replica may compute both of https://www.w3.org/1998/Math/MathML"> o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2658.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p iu https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2659.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> if https://www.w3.org/1998/Math/MathML"> o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2660.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p iu https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2661.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are compatible even if https://www.w3.org/1998/Math/MathML"> o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2662.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p iu https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2663.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are update ones. Hence, there may be no maximum replica but exist multiple maximal replicas. A cluster https://www.w3.org/1998/Math/MathML"> R o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2664.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is complete iff there is a maximum replica in https://www.w3.org/1998/Math/MathML"> R o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2665.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Although the https://www.w3.org/1998/Math/MathML"> R o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2666.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is complete in the quorum-based method, https://www.w3.org/1998/Math/MathML"> R o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2667.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> may be incomplete in our protocol. [Definition] Every pair of maximal replicas https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2668.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o i k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2669.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are unifiable iff https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2670.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o i k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2671.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> get the same state if every update operation not computed on one of https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2672.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o i k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2673.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is computed on the other replica.

Let https://www.w3.org/1998/Math/MathML"> o p h 1 , … , o p h l h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2674.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> be a sequence https://www.w3.org/1998/Math/MathML"> π hk https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2675.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of update operations computed on https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2676.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> but not on https://www.w3.org/1998/Math/MathML"> o i k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2677.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Let https://www.w3.org/1998/Math/MathML"> o p k 1 , … , o p k l k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2678.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> be a sequence https://www.w3.org/1998/Math/MathML"> π kh https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2679.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of update operations computed on https://www.w3.org/1998/Math/MathML"> o i k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2680.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> but not on https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2681.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . If every pair of https://www.w3.org/1998/Math/MathML"> o p hu https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2682.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p kv https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2683.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are compatible for https://www.w3.org/1998/Math/MathML"> u = 1 , … , l h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2684.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> v = 1 , … , l k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2685.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , a state obtained by applying https://www.w3.org/1998/Math/MathML"> π hk https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2686.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to https://www.w3.org/1998/Math/MathML"> o i k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2687.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is the same as a state obtained by applying https://www.w3.org/1998/Math/MathML"> π kh https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2688.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2689.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . The state obtained here is referred to as least upper bound https://www.w3.org/1998/Math/MathML"> ( lub ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2690.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2691.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o i k o i h ∪ o i k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2692.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> with respect to the precedent relation https://www.w3.org/1998/Math/MathML"> → https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2693.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . For example, suppose https://www.w3.org/1998/Math/MathML"> B 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2694.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> B 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2695.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> compute D and https://www.w3.org/1998/Math/MathML"> B 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2696.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> B 4 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2697.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> compute W in Example 3 . Here, https://www.w3.org/1998/Math/MathML"> π 13 = π 23 = ⟨ W ⟩ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2698.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> π 31 = π 41 = ⟨ D ⟩ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2699.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . The unifiable relation “三” is equivalent. Let https://www.w3.org/1998/Math/MathML"> U o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2700.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> be an equivalent set https://www.w3.org/1998/Math/MathML"> o i k ∣ o i k ≡ o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2701.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in https://www.w3.org/1998/Math/MathML"> R o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2702.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for a maximal replica https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2703.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . A cluster https://www.w3.org/1998/Math/MathML"> R o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2704.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is consistent iff https://www.w3.org/1998/Math/MathML"> U o i h = U o i k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2705.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for some pair of maximal replicas https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2706.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o i k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2707.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in https://www.w3.org/1998/Math/MathML"> R o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2708.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Here, https://www.w3.org/1998/Math/MathML"> U o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2709.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is referred to as unifiable set https://www.w3.org/1998/Math/MathML"> U o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2710.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . of https://www.w3.org/1998/Math/MathML"> R o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2711.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . In the consistent cluster, a least upper bound of https://www.w3.org/1998/Math/MathML"> U o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2712.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> shows a possible maximum replica to be obtained in https://www.w3.org/1998/Math/MathML"> R o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2713.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . In the quorum-based protocol, there exists a maximum replica. If https://www.w3.org/1998/Math/MathML"> R o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2714.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is inconsistent, the replicas cannot be consistent.

In an incomplete cluster https://www.w3.org/1998/Math/MathML"> R o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2715.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , some operations computed on a maximal replica have to be computed later on other maximal replicas which have not yet computed the operations. Incomplete operations are defined to be update operations which are computed on some replicas but not on every replica in a unifiable set https://www.w3.org/1998/Math/MathML"> U o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2716.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of https://www.w3.org/1998/Math/MathML"> R o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2717.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . In Example 3, D and W are incomplete operations. https://www.w3.org/1998/Math/MathML"> B 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2718.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> B 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2719.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are unifiable, i.e. https://www.w3.org/1998/Math/MathML"> B 1 ≡ B 2 . U o i = B 1 , B 2 , B 3 , B 4 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2720.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Every pair of incomplete operations not computed on the same replica are computed not on every replica. Complete operations are update operations computed on every replica in https://www.w3.org/1998/Math/MathML"> U o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2721.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Let us consider how an operation https://www.w3.org/1998/Math/MathML"> o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2722.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is computed on the replicas. op https://www.w3.org/1998/Math/MathML">   it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2723.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> can be computed on a replica https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2724.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in the quorum set https://www.w3.org/1998/Math/MathML"> N it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2725.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> if every incomplete operation which conflicts with https://www.w3.org/1998/Math/MathML"> o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2726.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is computed on https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2727.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . However, there might not exist such a replica https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2728.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in https://www.w3.org/1998/Math/MathML"> R o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2729.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Hence, op https://www.w3.org/1998/Math/MathML">   it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2730.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is computed as follows.

Before computing https://www.w3.org/1998/Math/MathML"> o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2731.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> on every replica in https://www.w3.org/1998/Math/MathML"> N it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2732.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , incomplete operations on each maximal replica in https://www.w3.org/1998/Math/MathML"> N it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2733.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are computed on the other maximal replicas in https://www.w3.org/1998/Math/MathML"> N it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2734.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> as presented before. Here, every maximal replica is the newest one.

Then, https://www.w3.org/1998/Math/MathML"> o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2735.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is computed on the maximal replicas.

3 . If https://www.w3.org/1998/Math/MathML"> o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2736.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is an update operation, the states of the replicas in https://www.w3.org/1998/Math/MathML"> N it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2737.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> have to be changed. The non-maximal replicas in https://www.w3.org/1998/Math/MathML"> R o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2738.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> compute every update operation computed in the maximal ones but not computed in the replicas. In another way, one of the maximal replicas sends the state to the other replicas.

Here, every replica in https://www.w3.org/1998/Math/MathML"> N it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2739.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is the newest one, i.e. maximum replica in https://www.w3.org/1998/Math/MathML"> R o it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2740.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

38.2. Version vector

In our protocol, it is critical to identify what operations each replica has computed. As presented before, the version number cannot be used to maintain the consistency among the object replicas. Because some pair of update operations may not be computed in any replica if they do not conflict.

We introduce a version vector to identify what operations are computed on each replica. Each replica https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2741.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> has a bitmap vector https://www.w3.org/1998/Math/MathML"> B M i h = B M i 1 h , … , B M i l i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2742.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and a counter vector https://www.w3.org/1998/Math/MathML"> U i h = U i 1 h , … , U i l i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2743.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Each element https://www.w3.org/1998/Math/MathML"> B M it h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2744.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> shows a version of https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2745.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> with respect to an operation opit of https://www.w3.org/1998/Math/MathML"> o i . B M it h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2746.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is a bitmap https://www.w3.org/1998/Math/MathML"> B M it h 1 , … , B M it h a i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2747.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> showing to which replica https://www.w3.org/1998/Math/MathML"> o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2748.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is issued. The k th bit https://www.w3.org/1998/Math/MathML"> B M it hk https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2749.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is 1 if https://www.w3.org/1998/Math/MathML"> o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2750.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is issued to https://www.w3.org/1998/Math/MathML"> o i k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2751.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , otherwise https://www.w3.org/1998/Math/MathML"> 0 k = 1 , … , a i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2752.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Each https://www.w3.org/1998/Math/MathML"> U it h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2753.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is a version number of https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2754.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> with respect to opit. https://www.w3.org/1998/Math/MathML"> U it h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2755.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is incremented by one each time op it is computed on https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2756.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and op it is an update operation. For example, vectors https://www.w3.org/1998/Math/MathML"> B M B i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2757.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> U B i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2758.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of a replica https://www.w3.org/1998/Math/MathML"> B i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2759.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are https://www.w3.org/1998/Math/MathML"> B M BD i , B M BW i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2760.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , https://www.w3.org/1998/Math/MathML"> B M BC i , B M BA i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2761.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> U BD i , U BW i , U BC i , U BA i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2762.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , respectively, in Example 3 [Figure1]. Here, let https://www.w3.org/1998/Math/MathML"> V it h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2763.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> denote https://www.w3.org/1998/Math/MathML"> U itB M it h h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2764.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . For example, https://www.w3.org/1998/Math/MathML"> V BD 2 = 3 1101 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2765.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> shows https://www.w3.org/1998/Math/MathML"> B M BD 2 = 1101 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2766.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> U BD 2 = 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2767.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . This means that three instances of D are computed on a replica https://www.w3.org/1998/Math/MathML"> B 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2768.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and

’seว![daI I\partialप70 әЧद https://www.w3.org/1998/Math/MathML"> O 7   z G   u https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2769.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML">   2   ' u ә Ч .   '   ∀ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2770.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> әұnduios ueว https://www.w3.org/1998/Math/MathML">   0   p u e   ε q   ' s ә q e https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2771.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> uo pәұnduros K [әIns әre https://www.w3.org/1998/Math/MathML"> C   f o   s a J u e q s u t   ә u r e s   ә ч https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2772.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> ⇒ a g b Λ = a q ε Λ = a g 2 Λ = a g 1 Λ   ‘ әгән  ⋅ q t Λ = q ε Λ = q   2 Λ Λ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2773.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> วre https://www.w3.org/1998/Math/MathML">   ∇ G https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2774.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> pue https://www.w3.org/1998/Math/MathML">   ε g ↓   ∇ g https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2775.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> pue pue https://www.w3.org/1998/Math/MathML"> https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2776.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> IIL https://www.w3.org/1998/Math/MathML">   I https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2777.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ‘ https://www.w3.org/1998/Math/MathML">   ' 0000 0 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2778.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ‘ ‘ I 00 s! V ‘Mo https://www.w3.org/1998/Math/MathML"> N https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2779.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ‘गplo Kue ul G äu! https://www.w3.org/1998/Math/MathML">   2 g https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2780.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> fo uoissa https://www.w3.org/1998/Math/MathML"> ( qnl )   p u n o q   r a d d n   p s e a   ә ч https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2781.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of ә\LambdaеЧ https://www.w3.org/1998/Math/MathML">   ε g https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2782.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> uo paqnduros M pue https://www.w3.org/1998/Math/MathML"> α   f o   s ә https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2783.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> = M 2 Λ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2784.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ‘uoț!PPe uI ‘pąnduos https://www.w3.org/1998/Math/MathML"> G   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2785.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> a g ε Λ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2786.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> pue oot https://www.w3.org/1998/Math/MathML"> I = ag Λ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2787.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> әouts ‘ https://www.w3.org/1998/Math/MathML">   b g https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2788.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> pue ‘ https://www.w3.org/1998/Math/MathML">   ε g https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2789.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ‘ https://www.w3.org/1998/Math/MathML">   2 g   o https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2790.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ‘ILOO ‘ ‘ILOO [\rangle https://www.w3.org/1998/Math/MathML"> = q σ Λ = q ε Λ   0 g https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2791.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> pue https://www.w3.org/1998/Math/MathML">   ε https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2792.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ‘uotqerado aqepdn ue quu s! D วכU!S ‘ https://www.w3.org/1998/Math/MathML">   τ g https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2793.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> uo pazndwos s! https://www.w3.org/1998/Math/MathML"> ρ   ' u ә ч . https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2794.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ‘ https://www.w3.org/1998/Math/MathML"> 00 I I I ⟩ = q   L Λ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2795.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ‘ә’ ‘ ‘ I too https://www.w3.org/1998/Math/MathML"> I   ә q   o f   p https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2796.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> M fo aวueqsut әЧ. ‘pәzృąәs s! rэ! https://www.w3.org/1998/Math/MathML"> ∏ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2797.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> dar https://www.w3.org/1998/Math/MathML">   K https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2798.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ఛечң мouy https://www.w3.org/1998/Math/MathML">   ε g https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2799.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> pue ‘ https://www.w3.org/1998/Math/MathML">   2 g https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2800.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> pue https://www.w3.org/1998/Math/MathML">   I g   o f   p a n s s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2801.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> pue oot https://www.w3.org/1998/Math/MathML">   I = a g 2 Λ = a T Λ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2802.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> әouts https://www.w3.org/1998/Math/MathML"> ⋅ g ε Λ ≠ q 2 Λ =   I https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2803.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> วsoddn https://www.w3.org/1998/Math/MathML"> S ⋅   00000 0   ' 0000 0   ' https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2804.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ‘ t t https://www.w3.org/1998/Math/MathML"> 00   ' I '   ' 0000 0 =   b Λ =   ε https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2805.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> ⋅ 0000 0   ' 0000   ' 00000   ' 00 c t I =   2 Λ =   L Λ   2 g https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2806.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> pue https://www.w3.org/1998/Math/MathML"> = c https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2807.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> lof https://www.w3.org/1998/Math/MathML"> c   ह ै   ए ग ़ ा d a https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2808.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Ioqวan uoṭsta e e st IOభวว แO!SI\partial https://www.w3.org/1998/Math/MathML"> Λ : https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2809.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> I ว.ngt.

https://www.w3.org/1998/Math/MathML"> $ 0000.0000 0 ⋅ 1100 l - 7700 l > 0 < 0000 0 ⋅ 0000 0 ⋅ l 00 l ⋅ 7700 l > https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2810.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML">   I   G https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2811.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> N ' a https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2812.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> 0000 0 ⋅ 0000 0 ⋅ 1100 l ⋅ 0000 0 > ∑ 0000 0 ⋅ 0000 0 - ⋅ 100 l = 0000 0 … x ‾ = 0000 0 - https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2813.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> 10000 0 ∘ . 0000 0 - . 7 TI 00 - 7 . 0000000000000000000000 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2814.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> < 0000 0 ⋅ 0000 0 0000 0 ⋅ 0000 0 > < 0000 0 ⋅ 0000 0 0000 0 ⋅ 0000 0 > - 0000000000 0 1 1   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2815.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> < 0000 0 ⋅ 0000 0 ⋅ 0000 0 ⋅ 0000 0 > < 0000 0 ⋅ 0000 0 ⋅ 0000 0 ⋅ 0000 0 > < 0000 0 ⋅ 0000 0 ⋅ 0000 0 ⋅ 0000 0 > < 0000 0 ⋅ 0000 0 ⋅ 0000 0 ⋅ 0000 0 > https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2816.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

pg

https://www.w3.org/1998/Math/MathML"> ε g https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2817.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> 2 g https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2818.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

18 https://www.w3.org/1998/Math/MathML"> B M i k B M i h ⊆ B M i k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2819.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> iff https://www.w3.org/1998/Math/MathML"> B M i kj = 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2820.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> if https://www.w3.org/1998/Math/MathML"> B M i hj = 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2821.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for https://www.w3.org/1998/Math/MathML"> j = 1 , … , a i . B M i h ∪ B M i k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2822.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> shows https://www.w3.org/1998/Math/MathML"> B M 1 , … , B M a i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2823.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> where https://www.w3.org/1998/Math/MathML"> B M j = 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2824.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> if https://www.w3.org/1998/Math/MathML"> B M i hj = B M i kj = 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2825.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , otherwise 0 for j https://www.w3.org/1998/Math/MathML"> = 1 , … , a i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2826.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

https://www.w3.org/1998/Math/MathML"> V it h ≤ V it k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2827.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> iff https://www.w3.org/1998/Math/MathML"> U it h ≤ U it k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2828.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> B M it h ⊆ B M it k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2829.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

https://www.w3.org/1998/Math/MathML"> V i h ≤ V i k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2830.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> iff https://www.w3.org/1998/Math/MathML"> V it h ≤ V it k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2831.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for every operation op https://www.w3.org/1998/Math/MathML">   it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2832.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

If https://www.w3.org/1998/Math/MathML"> B M it h ∩ B M it k ≠ ϕ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2833.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , there is no ordering relation between https://www.w3.org/1998/Math/MathML"> V it h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2834.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> V it k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2835.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> even if https://www.w3.org/1998/Math/MathML"> U it h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2836.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> ≤ U it k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2837.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> or https://www.w3.org/1998/Math/MathML"> U it k ≤ U it h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2838.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . For example, suppose https://www.w3.org/1998/Math/MathML"> V B 1 = 1 1100 , 0 0000 , 0 0000 , 0 0000 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2839.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> V B 3 = https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2840.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> 2 1110 , 0 0000 , 0 0000 , 0 0000 . https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2841.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Here, https://www.w3.org/1998/Math/MathML"> V B 1 ≤ V B 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2842.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Here, if https://www.w3.org/1998/Math/MathML"> V B 2 = 2 0011 , 0 0000 , 0 0000 , 0 0000 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2843.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , https://www.w3.org/1998/Math/MathML"> V B 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2844.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> V B 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2845.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are not compared. In a subset https://www.w3.org/1998/Math/MathML"> N ⊆ R o i , V i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2846.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is maximal iff there is no version vector https://www.w3.org/1998/Math/MathML"> V i k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2847.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of https://www.w3.org/1998/Math/MathML"> o i k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2848.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> such that https://www.w3.org/1998/Math/MathML"> V i k ≥ V i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2849.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

We define an operation U for a pair of vector elements https://www.w3.org/1998/Math/MathML"> V it h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2850.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> V it k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2851.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> on opit:

https://www.w3.org/1998/Math/MathML"> V it h ∪ V it k = V it k   if   V it h ≤ V it k . V it h   if   V it h ≥ V it k . U it h + U it k , B M it h ∪ B M it k   otherwise.   https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2852.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> V i h ∪ V i k = V i 1 h ∪ V i 1 k , … , V i l i h ∪ V i l i k . https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2853.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

For example, suppose https://www.w3.org/1998/Math/MathML"> V B 2 = 1 0011 , 0 0000 , 0 0000 , 0 0000 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2854.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> V B 3 = 1 1100 , 1 0011 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2855.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , https://www.w3.org/1998/Math/MathML"> 0 0000 , 0 0000 ⋅ V B 2 ∪ V B 3 = 2 1111 , 1 0011 , 0 0000 , 0 0000 . https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2856.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

[ Definition ] A version vector https://www.w3.org/1998/Math/MathML"> V i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2857.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is equivalent with https://www.w3.org/1998/Math/MathML"> V i k V i h ≡ V i k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2858.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> iff https://www.w3.org/1998/Math/MathML"> V iv h = V iv k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2859.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for every update operation https://www.w3.org/1998/Math/MathML"> o p iv https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2860.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> conflicting with every pair of compatible operations https://www.w3.org/1998/Math/MathML"> o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2861.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p iu https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2862.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

For example, D and W are compatible and conflict with A. Hence, https://www.w3.org/1998/Math/MathML"> V B 1 = 1 1100 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2863.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , https://www.w3.org/1998/Math/MathML"> 0 0000 , 0 0000 , 2 0101 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2864.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is equivalent with https://www.w3.org/1998/Math/MathML"> V B 2 = 0 0000 , 1 0011 , 0 0000 , 2 0101 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2865.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> since https://www.w3.org/1998/Math/MathML"> V BA 1 = https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2866.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> V BA 2 = 2 0101 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2867.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . If https://www.w3.org/1998/Math/MathML"> V i h ≡ V i k , o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2868.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o i k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2869.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> can get the same state by computing compatible operations which are not yet computed on the replicas. For example, https://www.w3.org/1998/Math/MathML"> B 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2870.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> B 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2871.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> get the same states if W is computed on https://www.w3.org/1998/Math/MathML"> B 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2872.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and D is computed on https://www.w3.org/1998/Math/MathML"> B 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2873.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

38.3. Locking protocol

We discuss a locking protocol by using the version vector. Suppose that op it is issued to an object https://www.w3.org/1998/Math/MathML"> o i . o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2874.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> has an operation https://www.w3.org/1998/Math/MathML"> l o g ⁡ l i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2875.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for storing a sequence of operation instances computed on https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2876.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Let https://www.w3.org/1998/Math/MathML"> l it h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2877.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> be a subsequence of instances of https://www.w3.org/1998/Math/MathML"> o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2878.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in the https://www.w3.org/1998/Math/MathML"> l o g ⁡ l i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2879.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . For each operation instance op, let op.BM be a bitmap showing replicas to which op is issued. https://www.w3.org/1998/Math/MathML"> U it h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2880.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> gives the number of operations in https://www.w3.org/1998/Math/MathML"> l it h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2881.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

[ Locking protocol] An object https://www.w3.org/1998/Math/MathML"> o s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2882.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> sends https://www.w3.org/1998/Math/MathML"> o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2883.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to every replica in https://www.w3.org/1998/Math/MathML"> N it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2884.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

All the replicas in https://www.w3.org/1998/Math/MathML"> N it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2885.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are locked in a mode https://www.w3.org/1998/Math/MathML"> μ o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2886.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Unless succeeded in locking the replicas, op https://www.w3.org/1998/Math/MathML">   it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2887.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> aborts. Each replica https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2888.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in https://www.w3.org/1998/Math/MathML"> N it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2889.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> sends back a response with the version vector https://www.w3.org/1998/Math/MathML"> V i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2890.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and the https://www.w3.org/1998/Math/MathML"> l o g ⁡ l i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2891.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to https://www.w3.org/1998/Math/MathML"> o s . https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2892.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

On receipt of the responses from all the replicas in https://www.w3.org/1998/Math/MathML"> N it , o s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2893.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> obtains https://www.w3.org/1998/Math/MathML"> V s = ∪ V i k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2894.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> ∣ o i k ∈ N it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2895.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Let https://www.w3.org/1998/Math/MathML"> P h o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2896.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> denote a set https://www.w3.org/1998/Math/MathML"> o p iu ∣ o p iu https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2897.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> conflicts with op https://www.w3.org/1998/Math/MathML">   it , op . BM https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2898.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> ≠ ⟨ 1 … 1 ⟩ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2899.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2900.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> computes https://www.w3.org/1998/Math/MathML"> o p iu https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2901.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of operations. https://www.w3.org/1998/Math/MathML"> o s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2902.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> finds a replica https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2903.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in https://www.w3.org/1998/Math/MathML"> N it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2904.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> which is maximal with respect to operations conflicting with https://www.w3.org/1998/Math/MathML"> o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2905.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

If https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2906.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is found at 2), https://www.w3.org/1998/Math/MathML"> o s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2907.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> requires https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2908.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to compute https://www.w3.org/1998/Math/MathML"> o p it . o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2909.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> computes https://www.w3.org/1998/Math/MathML"> o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2910.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

3-1 ) If https://www.w3.org/1998/Math/MathML"> o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2911.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is not an update operation, https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2912.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> sends a response to https://www.w3.org/1998/Math/MathML"> o s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2913.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . 3-2) Otherwise, https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2914.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> sends https://www.w3.org/1998/Math/MathML"> P h o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2915.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to a replica https://www.w3.org/1998/Math/MathML"> o i k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2916.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in https://www.w3.org/1998/Math/MathML"> N it . o i k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2917.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> computes every https://www.w3.org/1998/Math/MathML"> o p iu https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2918.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in https://www.w3.org/1998/Math/MathML"> P h o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2919.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> unless https://www.w3.org/1998/Math/MathML"> o i k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2920.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> had computed https://www.w3.org/1998/Math/MathML"> o p iu https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2921.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . For every https://www.w3.org/1998/Math/MathML"> o p iv https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2922.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in https://www.w3.org/1998/Math/MathML"> P h o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2923.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , https://www.w3.org/1998/Math/MathML"> o p iv ⋅ BM : = o p iv ⋅ BM ∨ o p it ⋅ BM . o i k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2924.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> sends a response back to https://www.w3.org/1998/Math/MathML"> o s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2925.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Unless https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2926.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is found, https://www.w3.org/1998/Math/MathML"> o s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2927.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> selects one maximal replica https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2928.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in https://www.w3.org/1998/Math/MathML"> N it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2929.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Let https://www.w3.org/1998/Math/MathML"> P o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2930.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> be { https://www.w3.org/1998/Math/MathML"> o p iu ∣ o p iu https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2931.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> conflicts with https://www.w3.org/1998/Math/MathML"> o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2932.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p iu https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2933.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is computed on some https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2934.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in https://www.w3.org/1998/Math/MathML"> N it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2935.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

4-1) If https://www.w3.org/1998/Math/MathML"> o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2936.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is an update operation, https://www.w3.org/1998/Math/MathML"> o s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2937.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> sends https://www.w3.org/1998/Math/MathML"> P o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2938.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to every replica in https://www.w3.org/1998/Math/MathML"> N it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2939.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Each replica https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2940.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in https://www.w3.org/1998/Math/MathML"> N it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2941.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> computes every update https://www.w3.org/1998/Math/MathML"> o p iu https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2942.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> computed in https://www.w3.org/1998/Math/MathML"> N it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2943.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> which is not computed on https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2944.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and then computes op it. For every op iu in https://www.w3.org/1998/Math/MathML"> P o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2945.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , https://www.w3.org/1998/Math/MathML"> o p iu ⋅ BM : = o p iu ⋅ BM ∨ op . BM https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2946.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in https://www.w3.org/1998/Math/MathML"> o i h . o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2947.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> sends a response back to https://www.w3.org/1998/Math/MathML"> o s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2948.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

4-2) If https://www.w3.org/1998/Math/MathML"> o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2949.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is not an update one, https://www.w3.org/1998/Math/MathML"> o s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2950.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> selects one maximal https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2951.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in https://www.w3.org/1998/Math/MathML"> N it . o s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2952.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> sends https://www.w3.org/1998/Math/MathML"> P o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2953.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to https://www.w3.org/1998/Math/MathML"> o i h . o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2954.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> computes every https://www.w3.org/1998/Math/MathML"> o p iu https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2955.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in https://www.w3.org/1998/Math/MathML"> P o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2956.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> if https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2957.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> had not computed https://www.w3.org/1998/Math/MathML"> o p iu https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2958.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Then, https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2959.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> computes https://www.w3.org/1998/Math/MathML"> o p it . o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2960.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> sends a response back to https://www.w3.org/1998/Math/MathML"> o s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2961.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Operations stored in the log have to be removed in order to reduce the size of the https://www.w3.org/1998/Math/MathML"> l o g ⁡ l i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2962.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . The bitmap opit. BM in the https://www.w3.org/1998/Math/MathML"> l o g ⁡ l i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2963.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> shows that https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2964.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> knows that the instance https://www.w3.org/1998/Math/MathML"> o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2965.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is computed on https://www.w3.org/1998/Math/MathML"> o i k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2966.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> if https://www.w3.org/1998/Math/MathML"> B M k = 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2967.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . If https://www.w3.org/1998/Math/MathML"> o p it ⋅ BM = ⟨ 1 … 1 ⟩ , o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2968.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> knows that https://www.w3.org/1998/Math/MathML"> o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2969.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is computed on every replica. However, https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2970.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> cannot remove https://www.w3.org/1998/Math/MathML"> o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2971.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> from https://www.w3.org/1998/Math/MathML"> l i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2972.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> because another replica https://www.w3.org/1998/Math/MathML"> o i k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2973.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> may not yet know that every replica has computed op https://www.w3.org/1998/Math/MathML">   it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2974.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Hence, an operation instance https://www.w3.org/1998/Math/MathML"> o p iu https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2975.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in https://www.w3.org/1998/Math/MathML"> l i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2976.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is removed as follows:

https://www.w3.org/1998/Math/MathML"> o p iu https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2977.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is removed from the https://www.w3.org/1998/Math/MathML"> l o g ⁡ l i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2978.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> if https://www.w3.org/1998/Math/MathML"> o p iu ⋅ BM = o p iv ⋅ BM = ⟨ 1 … 1 ⟩ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2979.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for every operation https://www.w3.org/1998/Math/MathML"> o p iv https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2980.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in https://www.w3.org/1998/Math/MathML"> l i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2981.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> which conflicts with https://www.w3.org/1998/Math/MathML"> o p iu https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2982.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and is computed before https://www.w3.org/1998/Math/MathML"> o p iu https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2983.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

When https://www.w3.org/1998/Math/MathML"> B M it h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2984.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> gets https://www.w3.org/1998/Math/MathML"> ⟨ 1 … 1 ⟩ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2985.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , the version number https://www.w3.org/1998/Math/MathML"> U it h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2986.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and the bitmap https://www.w3.org/1998/Math/MathML"> B M it h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2987.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are initialized again, i.e. https://www.w3.org/1998/Math/MathML"> U it h : = 0 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2988.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> B M it h : = ⟨ 0 … 0 ⟩ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2989.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . If https://www.w3.org/1998/Math/MathML"> B M it h = ⟨ 1 … 1 ⟩ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2990.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in some replica https://www.w3.org/1998/Math/MathML"> o i h , o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2991.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is computed on every replica https://www.w3.org/1998/Math/MathML"> o i k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2992.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in https://www.w3.org/1998/Math/MathML"> N it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2993.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Thus, https://www.w3.org/1998/Math/MathML"> U it h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2994.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> shows how many instances of https://www.w3.org/1998/Math/MathML"> o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2995.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are computed on https://www.w3.org/1998/Math/MathML"> o i t https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2996.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . If https://www.w3.org/1998/Math/MathML"> B M it h ∩ B M it k = ϕ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2997.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> U it h > 0 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2998.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> or https://www.w3.org/1998/Math/MathML"> U it k > 0 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq2999.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for an update operation https://www.w3.org/1998/Math/MathML"> o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3000.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , a sequence https://www.w3.org/1998/Math/MathML"> s h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3001.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of instances of https://www.w3.org/1998/Math/MathML"> o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3002.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> computed on https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3003.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is different from a sequence https://www.w3.org/1998/Math/MathML"> s k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3004.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in https://www.w3.org/1998/Math/MathML"> o i k ⋅ s h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3005.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> s k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3006.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> include https://www.w3.org/1998/Math/MathML"> U it h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3007.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> U it k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3008.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> instances of https://www.w3.org/1998/Math/MathML"> o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3009.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , respectively. In the OBL protocol, the sequences https://www.w3.org/1998/Math/MathML"> s k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3010.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> s h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3011.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are required to be computed on https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3012.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o i k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3013.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , respectively. Then, https://www.w3.org/1998/Math/MathML"> B M it h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3014.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> B M it k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3015.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> get https://www.w3.org/1998/Math/MathML"> B M it h ∩ B M it k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3016.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> U it h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3017.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> U it k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3018.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> get https://www.w3.org/1998/Math/MathML"> U it h + U it k + 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3019.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

[Proposition] For every update operation opit, https://www.w3.org/1998/Math/MathML"> B M it h = B M it k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3020.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> U it h = U it k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3021.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> if https://www.w3.org/1998/Math/MathML"> B M it h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3022.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> ∩ B M it k ≠ ϕ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3023.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

[Proposition] For every update operation https://www.w3.org/1998/Math/MathML"> o p it , U it h ≤ U it k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3024.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> if https://www.w3.org/1998/Math/MathML"> B M it h ⊆ B M it k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3025.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

https://www.w3.org/1998/Math/MathML"> https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3026.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Theorem] For every update operation https://www.w3.org/1998/Math/MathML"> o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3027.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , if https://www.w3.org/1998/Math/MathML"> B M it h ⊆ B M it k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3028.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> U it h ≤ U it k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3029.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , every instance of https://www.w3.org/1998/Math/MathML"> o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3030.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> computed on https://www.w3.org/1998/Math/MathML"> B i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3031.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is also computed on https://www.w3.org/1998/Math/MathML"> B i k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3032.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

From the theorem and the properties of the OBL protocol, the following theorem holds.

[Theorem] If https://www.w3.org/1998/Math/MathML"> V i h ≤ V i k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3033.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , every pair of conflicting operation instances https://www.w3.org/1998/Math/MathML"> o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3034.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p iu https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3035.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> computed on https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3036.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are computed on https://www.w3.org/1998/Math/MathML"> o i k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3037.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in the same order.

[Theorem] Every pair of maximal replicas https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3038.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o i k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3039.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are unifiable to one unique replica.

[Proof] Assume https://www.w3.org/1998/Math/MathML"> o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3040.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p iu https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3041.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> conflict. If https://www.w3.org/1998/Math/MathML"> o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3042.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is computed on https://www.w3.org/1998/Math/MathML"> o i h , o p iu https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3043.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is also computed on https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3044.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Otherwise, https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3045.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is not maximal. Here, both of https://www.w3.org/1998/Math/MathML"> o p it https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3046.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p iu https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3047.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are computed on https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3048.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> or https://www.w3.org/1998/Math/MathML"> o i k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3049.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> or on none of them from the OBL properties. Operation instances which are computed on either one of https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3050.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o i k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3051.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> do not conflict. These operations can be computed in any order. Therefore, if operation instances computed on one replica are computed on the other replica, https://www.w3.org/1998/Math/MathML"> o i h https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3052.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o i k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3053.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> get the same one.

[Theorem] All the replicas are unifiable to one unique replica in the OBL protocol.

Concluding Remarks

This paper has discussed the object-based locking https://www.w3.org/1998/Math/MathML"> ( OBL ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3054.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> protocol on the replicas of the objects. The objects support more abstract types of operations than read and write. The strength relation among the lock modes is defined based on the conflicting relation and the usage frequencies of the operations. In addition, the version vector has been proposed to maintain the mutual consistency of the replicas. The replicas are not required to compute every update operation instance which has been computed on the other replicas if the operation instance is compatible with instances computed. By using OBL protocol, the efficient access to replicated objects can be realized in the distributed system.

Bibliography

P. A. Bernstein, V. Hadzilacos, and N. Goodman, “Concurrency Control and Recovery in Database Systems,” Addison-Wesley (1987).

J. M. Carey and M. Livny, “Conflict Detection Tradeoffs for Replicated Data,” ACM TODS, Vol. 16, No.4, pp. 703-746 (1991).

H. Garcia-Molina and D. Barbara, “How to Assign Votes in a Distributed System,” Journal of ACM, Vol 32, No.4, pp. 841-860 (1985).

K. Hasegawa and M. Takizawa, “Optimistic Concurrency Control for Replicated Objects”, Proc. of the Int’l Symp. on Communications (ISCOM’97), pp. 149-152 (1997).

J. Jing, O. Bukhres, and A. Elmagarmid, “Distributed Lock Management for Mobile Transactions,” Proc. of IEEE ICDCS-15, pp. 118-125 (1995).

J. E. Moss, “Nested Transactions : An Approach to Reliable Distributed Computing,” The MIT Press Series in Information Systems (1985).

M. Silvano and C. S. Douglas, “Constructing Reliable Distributed Communication Systems with CORBA, “ IEEE Communications Magazine, Vol.35, No.2, pp.56-60 (1997).

T. Yoshida and M. Takizawa, “Model of Mobile Objects,” Proc. of the 7th DEXA (Lecture Notes in Computer Science, No 1134, Springer-Verlag), pp. 623-632 (1996).

The Algebra of Spatio-Temporal

Intervals

he relations among temporal intervals can be used to model time dependent objects. We propose a fast mechanism for temporal relation compositions. A temporal transitive closure table is derived, and an interval-based temporal relation algebraic system is constructed. Thus, we propagate the time constraints of arbitrary two objects across long distances https://www.w3.org/1998/Math/MathML"> n https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3055.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> by linear time. We also give a complete discussion of different possible domains of interval relations. A set of algorithms is proposed to detect time conflicts and to derive reasonable interval relations. The algorithms are extended for time-based media in an arbitrary n-dimensional space.

Introduction

Communication networks and multimedia applications usually contains a number of resources to be presented sequentially or concurrently. Temporal interval relations represent the timing among resources. These resources need to be analyzed to ensure that there is no time conflict among resources. Moreover, many of these resources, occupy period of time and screen space. These data can be heavily time-dependent, such as audio and video in a motion picture, and can require time-ordered presentation. The spatio-temporal relations among resources need to be computed and represented.

The importance of knowledge underlying temporal interval relations was found in many disciplines. As pointed out in [1], researchers of artificial intelligence, linguistics, and information science use temporal intervals as a time model for knowledge analysis. For instance, in a robot planning program, the outside world is constantly changed according to a robot’s actions. The notion of “number three box is on the left of number two box” is true only within a temporal interval. The work discussed in [1] analyzes the relations among temporal intervals. However, the work [1] only states temporal interval relations. No spatial relation were discussed. We found that these relations can be generalized for spatial modeling.

Many researchers propose temporal modeling of multimedia objects. The work discussed in [3] presents a framework for data modeling and semantic abstraction of image/video data. Seven generalized n-ary relations were used to describe the temporal relations among https://www.w3.org/1998/Math/MathML"> n https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3056.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> objects. The authors also defined spatial events in terms of these n-ary relations. A functional model extends media segments to include executable programs, live media streams and the links among them was proposed in [4]. Based on Allen’s temporal interval relations, a set of directional and topological spatial relations were addressed in [5]. The authors also provided a set of spatial inference rules for automatic deduction. A methodology for spatial and temporal object composition under a distributed multimedia environment was proposed in [6] A set of https://www.w3.org/1998/Math/MathML"> n https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3057.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> -ary temporal relations with their temporal constraints were discussed in https://www.w3.org/1998/Math/MathML"> [ 7 ] https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3058.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , which is an early result of the work addressed in [3]. The temporal model of reverse play and partial interval evaluation for midpoint suspension and resumption were also discussed. Algorithms for accessing objects in a database were presented. The work in [10] introduced a spatial and temporal model for actors of multimedia applications. A number of spatial and temporal operators were used to compose a presentation. The composition mechanism was defined in an extended BNF formal syntax definition. However, no discussion of the conflict situation among relations were found.

The Spatio-Temporal Relation Domains

According to the interval temporal relations intro-duced in [1], there are 13 relations ( https://www.w3.org/1998/Math/MathML"> { e , ⟨ , ⟩ , m , m i , d , d i , o https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3059.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , oi, https://www.w3.org/1998/Math/MathML"> s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3060.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , si, https://www.w3.org/1998/Math/MathML"> f , f i } https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3061.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ), between two temporal intervals. We describe the symbolic constraint propagation. The general idea is to use the existing information about the relations among time intervals or instants to derive the composition relations.

The composition may result in a multiple derivation. For example, if “ https://www.w3.org/1998/Math/MathML"> X https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3062.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> before Y “ and “ Y during Z “, the composed relation for X and Z could be “before”, “overlaps”, “meets”, “during”, or “starts”. If the composed relation could be any one of some relations, these derived relations are called reasonable relations in our discussion.

In some cases, relation compositions may result in a conflict specification due to the user specification or involved events synchronously. For example, if specifications “X before Y”, “Y before Z”, and “X after Z” are declared by the user, there exists a conflict between https://www.w3.org/1998/Math/MathML"> X https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3063.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> Z https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3064.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . When the specific relations are not found in derived reasonable set, the specification may cause conflicts.

We analyze the domain of interval temporal relations and use an directed graph to compute the relations of all possibilities.

Definition: An user edge denotes a relation between a pair of objects defined by the user. The relation may be reasonable or non-reasonable. Definition : A derived edge holds a non-empty set of reasonable relations derived by our algorithm. The relation of the objects connected by the derived edge can be any reasonable relation in the set.

The Finite Temporal Relations Group

Based on Allen’s work, transitivity table for the twelve temporal relations showing the composition of interval temporal relations. Compo-sitions of three or more relations are computed using algorithms based on set operations, such as set union and intersection. These set operations are expensive. The compositions of three or more obtained directly from our table. Algorithm ComputeTable 29 which consists of the compositions of 29 temporal relation sets. Based on the Table 29 , we found many properties of spatio-temporal relations.

The following table gives a summary of the 29 relation sets which contain all possible composition results:

Table 29 is generated by our program implemented based on the following algorithms.

Algorithm : Relcomp

Input : https://www.w3.org/1998/Math/MathML"> r s 1 ∈ 29 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3065.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> RelSet, https://www.w3.org/1998/Math/MathML"> r s 2 ∈ 29 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3066.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> RelSet

Output: rs https://www.w3.org/1998/Math/MathML"> ∈ 29 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3067.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> RelSet

Preconditions : true

Postconditions : true

Steps :

1.rs https://www.w3.org/1998/Math/MathML"> = ∪ ∀ r 1 ∈ r s 1 , ∀ r 2 ∈ r s 2 ∙ r 1 , r 2 ∈ r s 1 × r s 2 Table 13 r 1 , r 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3068.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Algorithm : ComputeTable 29

Input: Table 13

Output : Table29

Preconditions: true

Postconditions : relation composition is closed under I

Steps :

Construct a set of 13 atomic sets from the 13 relations, assuming that this set is called I, which is an index set for table look up.

Let Table https://www.w3.org/1998/Math/MathML"> 29 ( i , j ) = https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3069.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Table https://www.w3.org/1998/Math/MathML"> 13 ( i , j ) , i ∈ I , j ∈ I https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3070.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> ∀ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3071.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Table https://www.w3.org/1998/Math/MathML"> 29 ( i , j ) , i ∈ I , j ∈ I https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3072.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , do

3.1 if k= Table https://www.w3.org/1998/Math/MathML"> 29 ( i , j ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3073.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and not belongs to I then

3.1.1 https://www.w3.org/1998/Math/MathML"> I = I ∪ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3074.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Table https://www.w3.org/1998/Math/MathML"> 29 ( i , j ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3075.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> 3.1 . 2 ∀ m ∈ I https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3076.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , do

3.1.2.1 Table https://www.w3.org/1998/Math/MathML"> 29 ( k , m ) = R e l c o m p ⁡ ( k , m ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3077.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

3.1.2.2 Table29 https://www.w3.org/1998/Math/MathML"> ( m , k ) = R e l c o m p ⁡ ( m , k ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3078.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Algorithm ComputeTable 29 adds new relation sets computed by RelcCmp to the index set I, and computes the new elements of Talble 29 . There are https://www.w3.org/1998/Math/MathML"> 2 13 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3079.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> possible elements of I. However, from the computation of algorithm ComputeTable29, the cardinality of I results in 29. Based on this result, we argue that, for an arbitrary pair of temporal intervals, the possible relations between them must be an element of set I.

Table 2: The Temporal Transitive Closure Table

https://www.w3.org/1998/Math/MathML"> 0 01 02 0 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3080.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> 01 101 29 22 01 01 02 01 22 01 01 22 01 01 01 22 22 22 01 29 22 01 22 29 01 29 22 22 29 29 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3081.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> 02 ∣ 29 02 25 02 25 02 25 02 25 02 02 02 02 25 25 25 02 29 02 02 25 29 02 29 25 25 29 25 29 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3082.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> 03 101 02 03 29 22 25 01 02 03 25 03 22 03 29 25 22 29 22 25 22 25 22 29 29 25 29 29 29 29 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3083.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> 05 ∣ 01 23 16 24 18 26 01 17 05 14 16 18 05 24 26 22 27 18 28 22 14 22 29 24 28 27 27 29 29 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3084.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> 06 ∣ 24 02 15 23 26 19 14 02 15 19 06 17 06 28 25 26 23 27 19 17 25 27 23 29 25 28 29 28 29 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3085.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> 07 0 22 16 01 01 16 01 20 07 07 16 01 07 01 16 22 22 01 28 22 07 22 29 01 28 22 22 29 29 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3086.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> 08 ∣ 24 02 15 02 15 02 21 02 15 02 08 08 08 25 25 15 02 27 02 08 25 27 02 29 25 25 29 25 29 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3087.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> 10 24 02 15 04 14 06 14 08 21 10 06 04 10 14 15 26 17 24 19 17 21 27 23 24 25 26 27 28 29 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3088.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> 12 | 0 | 01 23 16 04 05 17 07 17 05 04 20 12 12 14 26 16 17 18 23 20 14 22 23 24 28 26 27 28 29 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3089.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> 13101 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3090.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> 16 101 23 16 29 22 28 01 23 16 28 16 22 16 29 28 22 29 22 28 22 28 22 29 29 28 29 29 29 29 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3091.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> 17 ∣ 24 23 26 23 26 23 14 23 26 23 17 17 17 28 28 26 23 27 23 17 28 27 23 29 28 28 29 28 29 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3092.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> 19 ∣ 29 02 25 23 28 19 28 02 25 19 19 23 19 28 25 28 23 29 19 23 25 29 23 29 25 28 29 28 29 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3093.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> 20 ∣ 01 23 16 23 16 23 07 23 16 23 20 20 20 28 28 16 23 22 23 20 28 22 23 29 28 28 29 28 29 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3094.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> 23 ∣ 29 23 28 23 28 23 28 23 28 23 23 23 23 28 28 28 23 29 23 23 28 29 23 29 28 28 29 28 29 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3095.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> 25 ∣ 29 02 25 29 29 25 29 02 25 25 25 29 25 29 25 29 29 29 25 29 25 29 29 29 25 29 29 29 29 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3096.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> 26 ∣ 24 23 26 29 27 28 24 23 26 28 26 27 26 29 28 27 29 27 28 27 28 27 29 29 28 29 29 29 29 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3097.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Using Table29, when composing temporal relations, the set union operation is replaced by a table look up operation. Therefore, the time complexity of relation composition is reduced. The cost of memory used in Table 29 is tolerable.

Theorem 3.1: Let https://www.w3.org/1998/Math/MathML"> ⟨ S , ∘ ⟩ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3098.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> be a temporal algebraic system, and https://www.w3.org/1998/Math/MathML"> S https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3099.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> be a set with a law of composition, then https://www.w3.org/1998/Math/MathML"> ⟨ S , ∘ ⟩ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3100.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is closed.

Proof: Since function https://www.w3.org/1998/Math/MathML"> 0 : S × S ⇒ S https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3101.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and S is equal to 29 RelSet, the function is closed to 29RelSet.

Theorem 3.2: Let https://www.w3.org/1998/Math/MathML"> ⟨ S , ∘ ⟩ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3102.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> be a temporal algebraic system, and S be a set with a law of composition, then all a∈S, exists b∈S, such that https://www.w3.org/1998/Math/MathML"> a ∘ b = b ∘ a = ( A , { e } , A ) , b https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3103.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is called inverse of a.

Proof: Assuming that https://www.w3.org/1998/Math/MathML"> a = ( A , rs , B ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3104.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , where A, and B are interval names, and rs is a temporal relation set. We want to find a https://www.w3.org/1998/Math/MathML"> r s - 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3105.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for each rs. The following table shows the inverse relation sets https://www.w3.org/1998/Math/MathML"> r s - 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3106.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for each rs :

Table 3: Inverse Relation Sets

Theorem 3.3: Let https://www.w3.org/1998/Math/MathML"> ⟨ S , ∘ ⟩ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3107.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> be a temporal algebraic system, and S be a set with a law of composition, then https://www.w3.org/1998/Math/MathML"> ⟨ S , ∘ ⟩ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3108.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> has an unique identity (A, {e },A). i.e. all https://www.w3.org/1998/Math/MathML"> a ∈ S , a ∘ ( A , { e } , A ) = a = ( A , { e } , A ) ∘ a https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3109.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Proof: To prove the identity of function https://www.w3.org/1998/Math/MathML"> ∘ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3110.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , we need to show that https://www.w3.org/1998/Math/MathML"> ∀ tt ∈ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3111.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> TemporalTuple

https://www.w3.org/1998/Math/MathML"> a ∘ a - 1 = ( A , { e } , A ) ∧ a - 1 ∘ a = ( A , { e } , A ) ∧ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3112.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> a ∘ ( A , { e } , A ) = a ∧ ( A , { e } , A ) ∘ a = a https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3113.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

From the table lookup of Table29, we can easily verify that https://www.w3.org/1998/Math/MathML"> ∀ rs ∈ 29 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3114.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> RelSet https://www.w3.org/1998/Math/MathML"> ∙ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3115.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> rs https://www.w3.org/1998/Math/MathML"> ∘ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3116.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> { e } = rs ∧ { e } ∘ rs = rs https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3117.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . It is clear that https://www.w3.org/1998/Math/MathML"> ∀ a ∈ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3118.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> TemporalTuple https://www.w3.org/1998/Math/MathML"> ∙ a ∘ ( A , { e } , A ) = https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3119.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> a ∧ ( A , { e } , A ) ∘ a = a https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3120.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Due to Theorem 3.2, and the inverse relation sets table given above, we can look at Table 29 for the composition of each pair of rs and https://www.w3.org/1998/Math/MathML"> r s - 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3121.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , as well as for each pair of https://www.w3.org/1998/Math/MathML"> r s - 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3122.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and rs.

Theorem 3.4: Let https://www.w3.org/1998/Math/MathML"> ⟨ S , 0 ⟩ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3123.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> be a temporal algebraic system, and S be a set with a law of composition, then https://www.w3.org/1998/Math/MathML"> ⟨ S , ∘ ⟩ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3124.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is associative. i.e. all https://www.w3.org/1998/Math/MathML"> a , b , c ∈ S , ( a ∘ b ) ∘ c = a ∘ ( b ∘ c ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3125.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Proof : Let L be an ordered list of relation sets obtained from I according to the order given in the 29 relation set table (i.e., https://www.w3.org/1998/Math/MathML"> L = ( 1,2 , 3 , … , 29 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3126.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ). We further define https://www.w3.org/1998/Math/MathML"> L 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3127.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to be an ordered list of elements obtained from Table 29 according to the row major order. https://www.w3.org/1998/Math/MathML"> L 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3128.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> has 841 (i.e., https://www.w3.org/1998/Math/MathML"> 29 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3129.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ) elements. We can easily compute a table https://www.w3.org/1998/Math/MathML"> T 29 × 841 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3130.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> from L and https://www.w3.org/1998/Math/MathML"> L 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3131.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> by :

https://www.w3.org/1998/Math/MathML"> ∀ X , Y , Z https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3132.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> : TemporalTuple

https://www.w3.org/1998/Math/MathML"> X = A , r s 1 , B ∧ r s 1 = L ( i ) ∧ 1 ≤ i ≤ 29 ∧ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3133.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> Y = B , r s 2 , C ∧ r s 2 = L 2 ( j ) ∧ 1 ≤ j ≤ 841 ∧ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3134.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> Z = A , r s 3 , c ∧ r s 3 = T ( i , j ) ⇔ X ∘ Y = Z https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3135.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Maintaining Time Constraints

Based on Table29, we propose a set of algorithms, using a directed graph, for fast temporal relation compositions. These algorithms can be used to compute the binary relation between an arbitrary pair of intervals. User edge conflicts are eliminated and derived edges and cycles without conflict are added.

Algorithm : ComputeRD1

Input: https://www.w3.org/1998/Math/MathML"> G = ( GV , GE ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3136.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Output: https://www.w3.org/1998/Math/MathML"> K n = K n V , K n E https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3137.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Preconditions : true

Postconditions : https://www.w3.org/1998/Math/MathML"> GV = K n V ∧ GEUE ∪ U E ' ⊆ K n E https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3138.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Steps :

https://www.w3.org/1998/Math/MathML"> 1 : G = https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3139.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Eliminate Con flicts https://www.w3.org/1998/Math/MathML"> ( G ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3140.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> 2 : K n = G ∧ pl = 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3141.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

3 : repeat until https://www.w3.org/1998/Math/MathML"> K n E = K n V * K n V - 1 / 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3142.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

3.1 : foreache https://www.w3.org/1998/Math/MathML"> = ( a , b ) ∧ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3143.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> enot https://www.w3.org/1998/Math/MathML"> ∈ K n E ∧ a ∈ K n V ∧ b ∈ K n V ∙ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3144.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

there is a path of user edges from a to b, with path length https://www.w3.org/1998/Math/MathML"> = pl https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3145.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

3.2 : suppose https://www.w3.org/1998/Math/MathML"> n 1 , n 2 , n 2 , n 3 , … , n k - 1 , n k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3146.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is a path with

https://www.w3.org/1998/Math/MathML"> a = n ∧ b = n ∧ k = pl + 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3147.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

3.3: sete.rs https://www.w3.org/1998/Math/MathML"> = https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3148.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Table https://www.w3.org/1998/Math/MathML"> 29 a , n k - 1 . rs , n k - 1 , b . rs https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3149.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> 3.4 : K n E = K n E ∪ { e } https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3150.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> 3.5 : pl = pl + 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3151.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Algorithm : EliminateConflicts

Input: https://www.w3.org/1998/Math/MathML"> G = ( GV , GE ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3152.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Output: https://www.w3.org/1998/Math/MathML"> G ' S = G ' SV , G ' SE https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3153.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Preconditions: G contains only user edges https://www.w3.org/1998/Math/MathML"> ∧ G ' S = G https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3154.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Postconditions: https://www.w3.org/1998/Math/MathML"> G ' S = G https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3155.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , but the reasonable sets of edges in https://www.w3.org/1998/Math/MathML"> G ' S https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3156.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> may be changed.

Steps:

for each https://www.w3.org/1998/Math/MathML"> P = n 1 , n 2 , n 2 , n 3 , … , n k - 1 , n k https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3157.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in https://www.w3.org/1998/Math/MathML"> G ' S https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3158.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> with https://www.w3.org/1998/Math/MathML"> n 1 = n k ∧ k > 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3159.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

1.1: for each https://www.w3.org/1998/Math/MathML"> i , 1 ≤ i ≤ k - 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3160.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

1.1.1: set https://www.w3.org/1998/Math/MathML"> n i , n i + 2 . rs = https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3161.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Table https://www.w3.org/1998/Math/MathML"> 29 n i , n i + 1 . rs , n i + 1 , n i + 2 . rs https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3162.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> 1.2 : rs = https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3163.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Table https://www.w3.org/1998/Math/MathML"> 29 n k , n k - 2 ⋅ rs , n k - 2 , n k - 1 ⋅ rs https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3164.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

1.3: if https://www.w3.org/1998/Math/MathML"> n k , n k - 1 . rnot ∈ rs https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3165.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> then

1.3.1: ask user to choose a https://www.w3.org/1998/Math/MathML"> r ' S ∈ rs https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3166.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

1.3.2: https://www.w3.org/1998/Math/MathML"> s e t ⁡ n k , n k - 1 ⋅ r = r ' S https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3167.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Considering the five user edges, the algorithm computes derived edges until the last edge is added to https://www.w3.org/1998/Math/MathML"> K n https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3168.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> :

User edges :

https://www.w3.org/1998/Math/MathML"> ( A , B ) = { < } = [ 1 ] https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3169.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> ( B , C ) = { m } = [ 7 ] https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3170.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> ( C , D ) = { d } = [ 3 ] https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3171.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> ( C , E ) = { s } = [ 9 ] https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3172.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> ( F , D ) = { < } = [ 1 ] https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3173.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Derivation based on user edges:

Path Length https://www.w3.org/1998/Math/MathML"> = 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3174.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> ( A , C ) = ( A , B ) ∘ ( B , C ) = [ 1 ] ∘ [ 7 ] = [ 1 ] = { < } https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3175.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> ( B , D ) = ( B , C ) ∘ ( C , D ) = [ 7 ] ∘ [ 3 ] = [ 16 ] = { o , d , s } https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3176.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> ( C , F ) = ( C , D ) ∘ ( D , F ) = [ 3 ] ∘ [ 1 ] - 1 = [ 3 ] ∘ [ 2 ] = { > } https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3177.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> ( D , E ) = ( D , C ) ∘ ( C , E ) = [ 4 ] ∘ [ 9 ] = [ 14 ] = { o , di , fi } https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3178.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> ( B , E ) = ( B , C ) ∘ ( C , E ) = [ 7 ] ∘ [ 9 ] = [ 7 ] = { m } https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3179.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Path Length https://www.w3.org/1998/Math/MathML"> = 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3180.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> ( A , E ) = ( A , B ) ∘ ( B , C ) ∘ ( C , E ) = [ 1 ] ∘ [ 9 ] = [ 1 ] = { < } https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3181.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> ( A , D ) = ( A , B ) ∘ ( B , C ) ∘ ( C , D ) = ( A , C ) ∘ ( C , D ) = [ 1 ] ∘ [ 3 ] = [ 22 ] = { < , o , m , d , s } https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3182.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> ( B , F ) = ( B , C ) ∘ ( C , D ) ∘ ( D , F ) = ( B , D ) ∘ ( D , F ) = [ 16 ] ∘ [ 1 ] - 1 = [ 23 ] = { > https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3183.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

, oi,mi,di, si}

https://www.w3.org/1998/Math/MathML"> ( E , F ) = ( E , C ) ∘ ( C , D ) ∘ ( D , F ) = ( E , D ) ∘ ( D , F ) = [ 14 ] - 1 ∘ [ 2 ] = [ 15 ] ∘ [ 2 ] = [ 2 ] = { > } https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3184.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Path Length https://www.w3.org/1998/Math/MathML"> = 4 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3185.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> ( A , F ) = ( A , B ) ∘ ( B , C ) ∘ ( C , D ) ∘ ( D , F ) = ( ( A , B ) ∘ ( B , C ) ) ∘ ( ( C , D ) ∘ ( D , F ) ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3186.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> = ( A , C ) ∘ ( C , F ) = [ 1 ] ∘ [ 2 ] = [ 29 ] = { < , > , d , di , o , oi , m , mi , f , fi , s , si , e } https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3187.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Extending algorithms to Spatial Relations

Let rs denote a set of 1-D temporal interval relations (i.e., https://www.w3.org/1998/Math/MathML"> rs ∈ 29 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3188.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> Relset). The relation composition table discussed in [1] can be refined (e.q., make each relation as an atomic set of that relation ) to a function maps from the Cartesian product of two rs to a rs. Assuming that https://www.w3.org/1998/Math/MathML"> f 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3189.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is the mapping function interpreting Allen’s table, we can compute https://www.w3.org/1998/Math/MathML"> f 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3190.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , the relation composition function of 2-D objects, and https://www.w3.org/1998/Math/MathML"> f 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3191.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , the one for 3-D objects, from https://www.w3.org/1998/Math/MathML"> f 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3192.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . There are 13 relations for 1-D objects. A conjunction of two 1-D relations, which denotes a 2-D relation, has https://www.w3.org/1998/Math/MathML"> 13 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3193.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> variations. Similarly, there are https://www.w3.org/1998/Math/MathML"> 13 3 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3194.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> -D relations.

where 29RelSet https://www.w3.org/1998/Math/MathML"> × 29 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3195.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> RelSet https://www.w3.org/1998/Math/MathML"> ∈ { { < } × { < } , { < } × { > } , … , { = } × { = } } 29 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3196.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> RelSet https://www.w3.org/1998/Math/MathML"> × https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3197.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> 29RelSet https://www.w3.org/1998/Math/MathML"> × 29 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3198.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> RelSet https://www.w3.org/1998/Math/MathML"> ∈ { { < } × { < } × { < } , { < } × { < } × { > } , … , { = } × { = } × { = } } https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3199.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Functions https://www.w3.org/1998/Math/MathML"> f 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3200.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> f 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3201.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are computed according to the following formulas:

where https://www.w3.org/1998/Math/MathML"> ΠA × B = { a × b ∣ ∀ a ∈ A , b ∈ B } ΠA × B × C = { a × b × c ∣ ∀ a ∈ A , b ∈ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3202.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> B , c ∈ C } https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3203.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

The functions are implemented as table mappings. Table generated by the above formula are stored in memory to reduce run-time computation load.

Conclusions

The main contributions of this paper is in building the algebra system of spatiotemporal interval relations and the set of enhanced mechanism for spatio-temporal relation composition. These algorithms deal with an arbitrary number of objects in an arbitrary n-dimensional space. We propose many properties of temporal interval relations and prove the correctness of these properties. We also argue that, many interesting researches in multimedia applications can benefit from using these spatiotemporal relations and our algorithms.

The algorithm proposed in this paper can be used in other computer applications. We hope that, with our analysis and algorithms, the knowledge underlying temporal interval relations can be used in many computer applications, especially in distributed multi-media computing and networking.

Bibliography

James F. Allen, “Maintaining Knowledge about Temporal Intervals”, Communications of the ACM, Vol. 26 , No. 11, 1983 .

Chi-Ming Chung, Timothy K. Shih, Jiung-Yao Huang, Ying-Hong Wang, and Tsu-Feng Kuo, “An Object-Oriented Approach and System for Intelligent Multimedia Presentation Designs” in Proceeding of the International Conference on Multimedia Computing and .Systems (ICMCS ‘S95), Washington DC, U.S.A., pp 278-281 May 15-18, 1995. 3) Young Francis Day, et. al., “Spatio-Temporal Modeling of Video Data for On-Line Object-Oriented Query Processing” in Proceedings of the International Conference on Multimedia Computing and Systems, Washington DC,U.S.A., pp 98-105, May 15-18, 1995 .

Cherif Keramane and Andrzej Duda, “Interval Expressions – A Function Model for Interactive Dynamic Multimedia Presentations” in Proceedings of the 1996 International Conference on Multimedia Computing and Systems, Hiroshima, Japan, pp 119-133, June 17-23, 1996 .

John Z. Li, M. TamerOzsu, and Duane Szafron, “Spatial Reasoning Rules in Multimedia Management Systems” in proceedings of the 1996 Multimedia Modeling International Conference (MMM’S96), Toulouse, France, pp 119-133, November 12-5, 1996 .

Thomas D. C. Little and Arif Ghafoor, “Spatio-Temporal Composition of Distributed Multimedia Objects for Value-Added Networks”, IEEE Computer, October 1991, pp 42-50.

Thomas D. C. Little and Arif Ghafoor “Interval Based Conceptual Models for TimeDependent Multimedia Data”, IEEE Transactions on Knowledge and Data Engineering, Vol. 5, No. 4,1993, pp 551-563.

Timothy K. Shih, Steven K. C. Lo, Szu-Jan Fu, and Julian B. Chang, “Using Interval Temporal Logic and Inference Rules for the Automatic Generation of Multimedia Presentations” in Proceedings of the IEEE International Conference on Multimedia Computing and Systems, Hiroshima, Japan, pp 425-428, June 17-23, 1996 .

Timothy K. Shih, Chin-Hwa Kuo, Huan-Chao Keh, Chao T. Fang-Tsou, and KuanShen An, “An Object-Oriented Database for Intelligent Multimedia Presentations” in Proceedings of the 1996 IEEE International Conference on Systems, Man and Cybernetics, Beijing, China, October 14-17,1996.

Michael Vazirgiannis, Yannis Theodoridis, and Timos Sellis “Spatio-Temporal Composition in Multimedia Applications” in Proceedings of the International Workshop on Multimedia Software Development, March 25-26, Berlin, Germany, pp 120-127, 1996 .

Efficient Key Distribution Protocols for Large-Scale Networks

As key distribution protocols (KDP) are usually the initial step for setting up a secure network-based service, they are very important in enabling the required security. Most of the existing KDPs make use of cryptographic algorithms, either secret key or public-key cryptography. However, it is also possible to employ secure keyed one-way hash functions (SKOWHF) in KDP designs. Though several works have been published in this area, they only focus on the small scale networks. In this paper, we first introduce the SKOWHF-based security trunks and security channels; then, two rules for KDP construction, KDR1 and KDR2, are described. Finally, a hierarchical KDP for large-scale networks is proposed.

Introduction

Before conducting a secure session using secret-key cryptographic technique, a secret key should be agreed upon by the communicants. To assure strict security, the secret key should be renewed for each session, i.e., it should be a session key, so that compromising one key will not divulge the contents of other sessions. The protocol for establishing a session key between the communicants is referred to as a key distribution protocol (KDP). As KDP is usually the initial process for setting up the secure network-based services, they are crucial in enabling the required security. To date, most KDPs employ either secret-key cryptosystems or public key cryptosystems. However, it is also possible to use one-way hash functions rather than encryption algorithms to construct KDP. Much research has been published in this area https://www.w3.org/1998/Math/MathML">   2 ) 3   4 45 6 ( 7 ) 8 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3204.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Gong https://www.w3.org/1998/Math/MathML">   2 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3205.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> presents the original idea of using a one-way hash function as the basic building block of a KDP. Later, Bull, Gong and Sollins https://www.w3.org/1998/Math/MathML">   3 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3206.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> propose a KDP also based on one-way hash function. Another well-known instance is KryptoKnight https://www.w3.org/1998/Math/MathML">   5 6 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3207.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ), which is a family of KDPs developed by IBM. Compared with encryption algorithms, a one-way hash function is easier to be implemented for not having to provide the invertible property https://www.w3.org/1998/Math/MathML">   2 ) 5 56 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3208.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ). It also makes the object codes and the source codes of them exportable https://www.w3.org/1998/Math/MathML">   2 ( 3 ) 5 ) 6 ( 7 ) 8 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3209.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . In particular, its computation is less complex https://www.w3.org/1998/Math/MathML">   556 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3210.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Maybe it is the reason why Global System for Mobile Communications (GSM) https://www.w3.org/1998/Math/MathML">   1 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3211.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> uses one-way functions in its security system.

However, it has been recognized that the characterization of the one-way hash function specified in the above mentioned works is not appropriate for the way they adopt it in a keyed manner https://www.w3.org/1998/Math/MathML">   7 ) 8 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3212.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ). Berson, Gong and Lomas redefine the properties of the suitable one-way hash function for security use, labeled as secure keyed one-way hash function (SKOWHF). In addition, mix-up of confidentiality and authentication usually makes the design more difficult to be analyzed or to be implemented. To solve this problem, Boyd and Mathuria https://www.w3.org/1998/Math/MathML">   8 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3213.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> propose a systematic method for KDP construction by sharply distinguishing between the confidentiality and authentication channels. Most of the existing SKOWHF-based KDPs involve only one trusted key server (or key distribution center) for key distribution. Since the number of users of networks increases extremely, it is inefficient for a single key server to handle the key distribution 9 ). That is, suitable KDPs for large-scale networks are on demand. In this paper, we first introduce the method of constructing security trunks and security channels by using SKOWHFs. Base on the security channels, two approaches to KDP construction are proposed. The first approach provides more flexibility for key generation while the second approach requires fewer computations. Finally, we use three scenarios to demonstrate the usage of the proposed methods for constructing efficient KDPs in large-scale and administratively heterogeneous networks.

SKOWHF-based Security Trunks

In this section, we describe the method of using SKOWHF in the construction of security trunks. For a sequence of Z nodes https://www.w3.org/1998/Math/MathML"> X 1 , X 2 , … , X Z - 1 , X Z https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3214.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> (not necessary in geographical order), we assume that there exists a common key for each pair of adjacent nodes. That is, https://www.w3.org/1998/Math/MathML"> X 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3215.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> X 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3216.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> have shared a common key https://www.w3.org/1998/Math/MathML"> C K 12 , X 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3217.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> X 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3218.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> have shared a common key https://www.w3.org/1998/Math/MathML"> C K 23 , … , X Z - 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3219.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> X Z https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3220.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> have shared a common key https://www.w3.org/1998/Math/MathML"> C K ( Z - 1 ) Z https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3221.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

For convenience, the definition of SKOWHF, which is proposed by Berson, Gong and Lomas https://www.w3.org/1998/Math/MathML">   7 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3222.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is repeated here. A function f is a SKOWHF if it satisfies:

f maps key k and a bit string x to a output string of fixed length.

Given k and x, it is easy to compute https://www.w3.org/1998/Math/MathML"> f ( k , { x } ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3223.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Given k and https://www.w3.org/1998/Math/MathML"> f ( k , { x } ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3224.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , it is computationally infeasible to compute x.

Given k, it is computationally infeasible to find two values x and https://www.w3.org/1998/Math/MathML"> y ( x ≠ y ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3225.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> such that https://www.w3.org/1998/Math/MathML"> f ( k , { x } ) = f ( k , { y } ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3226.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Given pairs x and https://www.w3.org/1998/Math/MathML"> f ( k , { x } ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3227.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , it is computationally infeasible to compute k.

Without knowledge of k, it is computationally infeasible to compute https://www.w3.org/1998/Math/MathML"> f ( k , { x } ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3228.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> for any x.

The mapping from https://www.w3.org/1998/Math/MathML"> k , { x } https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3229.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to https://www.w3.org/1998/Math/MathML"> f ( k , { x } ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3230.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is randomly chosen in the sense that it should not be possible to predict any portion of https://www.w3.org/1998/Math/MathML"> f ( k , { x } ) 8 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3231.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Some researchers are convinced that an SKOWHF can be constructed by using existing unkeyed hash functions such as MD5 https://www.w3.org/1998/Math/MathML">   10 , S H A - 1   11 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3232.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and Snefru https://www.w3.org/1998/Math/MathML">   12 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3233.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ). In the rest of this paper, f is used to represent an SKOWHF.

8.1. Confidentiality trunk

A confidentiality trunk for m from https://www.w3.org/1998/Math/MathML"> X i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3234.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to https://www.w3.org/1998/Math/MathML"> X i + 1 ( 1 ≤ i ≤ z - 1 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3235.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ensures that only the authorized https://www.w3.org/1998/Math/MathML"> X i + 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3236.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> will be able to read m sent by https://www.w3.org/1998/Math/MathML"> X i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3237.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and is denoted by

https://www.w3.org/1998/Math/MathML"> X i ( c ) → X i + 1 : m https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3238.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

This confidentiality trunk can be realized by using f accompanying with the one-time padding technique as follows:

https://www.w3.org/1998/Math/MathML"> X i → X i + 1 : n X i , f C K X i X i + 1 , n X i ⊕ m https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3239.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> where https://www.w3.org/1998/Math/MathML"> n X i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3240.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is the nonce issued by https://www.w3.org/1998/Math/MathML"> X i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3241.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , i.e., this cannot be repeatedly used by https://www.w3.org/1998/Math/MathML"> X i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3242.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> with the same key as https://www.w3.org/1998/Math/MathML"> C K X i X i + 1 . https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3243.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> By padding with https://www.w3.org/1998/Math/MathML"> f C K X i X i + 1 , n X i , X i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3244.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> can send m to https://www.w3.org/1998/Math/MathML"> X i + 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3245.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> without hesitating that it will be compromised to others. Note that a confidentiality trunk doesn’t ensure that the messages will be obtained by the expected recipient.

2.2 Integrity trunk

An integrity trunk for m from https://www.w3.org/1998/Math/MathML"> X i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3246.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to https://www.w3.org/1998/Math/MathML"> X i + 1 ( 1 ≤ i ≤ z - 1 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3247.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ensures that https://www.w3.org/1998/Math/MathML"> X i + 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3248.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> can check that the received m, which is sent by https://www.w3.org/1998/Math/MathML"> X i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3249.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , has never been tampered and is denoted by

https://www.w3.org/1998/Math/MathML"> X i ( i ) → X i + 1 : m https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3250.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

And, this integrity trunk can be realized by using f as in the following:

https://www.w3.org/1998/Math/MathML"> X i → X i + 1 : m , f C K X i X i + 1 , { m } . https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3251.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

From another view, https://www.w3.org/1998/Math/MathML"> X i + 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3252.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> can check to see whether m is (or was) actually sent by https://www.w3.org/1998/Math/MathML"> X i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3253.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Note that an integrity trunk doesn’t have to ensure that the received information is newly sent by the claimed sender. In other words, https://www.w3.org/1998/Math/MathML"> X i + 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3254.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> doesn’t need to verify the freshness of that message.

SKOWHF-based Security Channels

Now, we employ the previously described security trunks to build the security channels: confidentiality channel, integrity channel and authentication channel. Let https://www.w3.org/1998/Math/MathML"> X 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3255.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> X Z https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3256.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> represents the end users of the security channel, in addition, the intermediate nodes between them, i.e., https://www.w3.org/1998/Math/MathML"> X 2 , X 3 , … , X Z - 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3257.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , are trustworthy.

10.1. Confidentiality channel

The confidentiality channel for the message m from https://www.w3.org/1998/Math/MathML"> X 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3258.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to https://www.w3.org/1998/Math/MathML"> X Z https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3259.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is denoted by

https://www.w3.org/1998/Math/MathML"> X 1 ( c ) → X Z : m https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3260.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

and can be constructed by orderly cascading the following confidentiality trunks:

https://www.w3.org/1998/Math/MathML"> X 1 ( c ) → X 2 : m https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3261.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> X Z - 2 ( c ) → X Z - 1 : m https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3262.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> X Z - 1 ( c ) → X Z : m https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3263.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

and the following integrity trunks:

https://www.w3.org/1998/Math/MathML"> X 1 ( i ) → X 2 : m , I D X z https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3264.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> X Z - 2 ( i ) → X Z - 1 : m , I D X Z https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3265.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

where https://www.w3.org/1998/Math/MathML"> I D X Z https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3266.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> represents the identity of https://www.w3.org/1998/Math/MathML"> X Z https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3267.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Since the intermediate nodes https://www.w3.org/1998/Math/MathML"> X 2 , X 3 , … https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3268.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and https://www.w3.org/1998/Math/MathML"> X Z - 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3269.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are assumed to be trustworthy, https://www.w3.org/1998/Math/MathML"> X 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3270.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> can believe that only the authorized user https://www.w3.org/1998/Math/MathML"> X Z https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3271.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> will be able to read m.

10.2. Integrity channel

The integrity channel for the message m from https://www.w3.org/1998/Math/MathML"> X 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3272.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to https://www.w3.org/1998/Math/MathML"> X Z https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3273.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is denoted by

https://www.w3.org/1998/Math/MathML"> X 1 ( i ) → X Z : m https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3274.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

and can be constructed by orderly cascading the following security trunks:

https://www.w3.org/1998/Math/MathML"> X 1 ( i ) → X 2 : m https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3275.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> X 2 ( i ) → X 3 : m , I D X 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3276.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> X Z - 1 ( i ) → X Z : m , I D X 1 . https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3277.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

The integrity channel for m from https://www.w3.org/1998/Math/MathML"> X 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3278.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to https://www.w3.org/1998/Math/MathML"> X Z https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3279.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ensures that https://www.w3.org/1998/Math/MathML"> X Z https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3280.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> can check that m is or has been sent by https://www.w3.org/1998/Math/MathML"> X 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3281.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Moreover, each individual item contained in m cannot be modified alone unless the whole m is replaced with an old one ever sent by https://www.w3.org/1998/Math/MathML"> X 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3282.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

10.3. Authentication channel

The authentication channel for the message m from https://www.w3.org/1998/Math/MathML"> X 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3283.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to https://www.w3.org/1998/Math/MathML"> X Z https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3284.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is dented by

https://www.w3.org/1998/Math/MathML"> X 1 ( a ) → X Z : m https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3285.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

and can be constructed by directly using the integrity channel from https://www.w3.org/1998/Math/MathML"> X 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3286.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to https://www.w3.org/1998/Math/MathML"> X Z https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3287.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> : https://www.w3.org/1998/Math/MathML"> X 1 ( i ) → X Z : m , n X Z https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3288.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

where https://www.w3.org/1998/Math/MathML"> n X Z https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3289.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is a nonce issued by https://www.w3.org/1998/Math/MathML"> X Z https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3290.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and is used as the freshness identifier for m.

From this channel, https://www.w3.org/1998/Math/MathML"> X Z https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3291.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> should be able to check the freshness of m and the sender of m. If verified, https://www.w3.org/1998/Math/MathML"> X Z https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3292.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> can believe that m is newly sent by https://www.w3.org/1998/Math/MathML"> X 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3293.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Remark 1. The assumption of using trustworthy intermediate nodes between https://www.w3.org/1998/Math/MathML"> X 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3294.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> X Z https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3295.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> will be reasonably justified later in the proposed hierarchical KDP, in which. key servers rather than common users act these nodes.

Two Approaches to KDP Construction

In this section, two approaches to KDP construction are described. The major difference between these two approaches is the manner of generating a session key. In the first approach, the session key is generated by an independent random number generator. While in the second approach, the session key is generated by using an SKOWHF. Mutual confirmation can be achieved in both approaches so that one can check to see whether the peer end has obtained the right session key or not. In fact, Boyd and Mathuria omit such a function for simplification. However, for practical use, mutual confirmation should be considered in the KDP so that the resulting design can serve as a complete module for the adopted system. Symbols A (the originator) and B (the recipient) represent the two users who are going to establish a session key.

11.1. The first approach

A session key sk, which is independently generated, can be established between A and B using the authentication and confidentiality protocols according to the following key distribution rule.

KDR1:

(1) A sends https://www.w3.org/1998/Math/MathML"> n A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3296.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to B.

(2) https://www.w3.org/1998/Math/MathML"> B ( c ) → A : { sk , y } https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3297.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> B ( a ) → A : { sk , y } https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3298.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

(3) https://www.w3.org/1998/Math/MathML"> A → B : y https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3299.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Nonce y is issued by B and is used for confirming A ‘s knowledge of sk.

Theorem 1. According to KDR1, A and B can secretly share sk.

Proof: Since sk is independently generated by B, it implies that B believes it is a fresh session key. From the first part of https://www.w3.org/1998/Math/MathML"> ( 2 ) , { sk , y } https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3300.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> can be sent to A confidentially. From the second part of https://www.w3.org/1998/Math/MathML"> ( 2 ) , A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3301.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> can make sure that the retrieved https://www.w3.org/1998/Math/MathML"> { sk , y } https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3302.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is newly sent by B. If succeeds, A can also believe that B has obtained sk. From (3), B can check to see whether the received y is equal to the one previously issued, if so, he believes A has obtained the right sk. Consequently, sk is secretly shared by A and B.

11.2. The second approach

A session key can be generated by computing the session key generation formula (SKGF) rather than by a random number generator. With this approach, some SKOWHF computations can be mustered out.

KDR2:

(1) A sends https://www.w3.org/1998/Math/MathML"> n A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3303.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to B.

(2) Case I. If A and B have shared a common key https://www.w3.org/1998/Math/MathML"> C K AB , B https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3304.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> computes the SKGF, https://www.w3.org/1998/Math/MathML"> sk , h A , h B = f C K AB , n A , n B https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3305.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and then sends https://www.w3.org/1998/Math/MathML"> n B , h B https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3306.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to A. Next, A also computes the same formula as B does. Case II. If A and B don’t share a common key, B computes SKGF, https://www.w3.org/1998/Math/MathML"> sk , h A , h B = f C K BW , n A , n B , I D A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3307.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and then sends https://www.w3.org/1998/Math/MathML"> I D A , n A , n B , h B https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3308.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to his adjacent node W. Next, W also computes https://www.w3.org/1998/Math/MathML"> sk , h A , h B https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3309.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> as B does. If the computed https://www.w3.org/1998/Math/MathML"> h B https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3310.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> equals the received one, https://www.w3.org/1998/Math/MathML"> W ( c ) → A : sk , h A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3311.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and W https://www.w3.org/1998/Math/MathML"> ( a ) → A : sk , h A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3312.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

(3) https://www.w3.org/1998/Math/MathML"> A → B : h A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3313.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Handshake numbers https://www.w3.org/1998/Math/MathML"> h A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3314.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> h B https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3315.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are used by A and B, respectively, for mutual confirmation.

Theorem 2. Following KDR2, A and B can secretly share sk.

Proof: In case I, https://www.w3.org/1998/Math/MathML"> C K AB https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3316.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is only known to A and B, so no one else can obtain https://www.w3.org/1998/Math/MathML"> sk , h A , h B https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3317.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> using the SKGF. Furthermore, https://www.w3.org/1998/Math/MathML"> n A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3318.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> n B https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3319.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are in the input of f and it implies that https://www.w3.org/1998/Math/MathML"> sk , h A , h B https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3320.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is controlled by both A and B rather than by either one alone. On receiving https://www.w3.org/1998/Math/MathML"> n B , A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3321.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> can compute the SKGF to derive https://www.w3.org/1998/Math/MathML"> h B https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3322.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and then check to see whether it equals to the received one. If so, he believes that B has obtained the right session key. On receiving https://www.w3.org/1998/Math/MathML"> h A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3323.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in (3), B believes that A has obtained the right session key. In case II, a confidentiality channel and an integrity channel for https://www.w3.org/1998/Math/MathML"> sk , h A , h B https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3324.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> from A to W can be constructed. If the https://www.w3.org/1998/Math/MathML"> n A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3325.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> received by W is fresh, a confidentiality channel and an authentication channel for https://www.w3.org/1998/Math/MathML"> sk , h A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3326.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> from W to A is subsequently constructed. From the characteristic of the authentication channel, a confidentiality channel and an authentication channel for https://www.w3.org/1998/Math/MathML"> sk , h A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3327.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> from B to A is constructed. In the meanwhile, A believes that B has obtained the right session key. On receiving https://www.w3.org/1998/Math/MathML"> h A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3328.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in (3), B believes that A has obtained the right session key. Hence sk can be secretly shared by A and B no matter in case I or II.

Practical Key Distribution Protocols

For practical use, we use the proposed key distribution rules to construct KDP for users within a large-scale network such as Internet.

12.1. Model

Because the number of network users increases drastically, it is inefficient for a single key server (or key management center) to execute key distribution. To reduce the management complexity, the system can be organized hierarchically https://www.w3.org/1998/Math/MathML">   9 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3329.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . A number of users are under the control of a domain key server and a number of domain key servers are under the control of a cluster key server, and so on. It is assumed that each entity has shared a common key, or mater key, with his control server. To provide more flexibility, entities of the same level are allowed to share a common key. It is economical when they frequently communicate. Let A and B denote the originator and the corresponding user of the protocol, respectively. https://www.w3.org/1998/Math/MathML"> M K A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3330.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , the master key of A, is used as the common key for A and his key server. Similarly, https://www.w3.org/1998/Math/MathML"> M K B https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3331.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is the master key of B and is used as the common key for B and his key server.

5.2 Scenarios

Three scenarios are used to illustrate the described method of establishing session keys for the most common three spots in large-scale networks.

Scenario 1. A and B have already shared a common key https://www.w3.org/1998/Math/MathML"> C K AB https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3332.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . (Involved key servers: none.)

[Scenario 1 proceeds according to KDR1]:

In this situation, A and B can directly construct the needed confidentiality channel and authentication channel without the help of any key server. The KDP is illustrated as follows:

Step 1. https://www.w3.org/1998/Math/MathML"> A → B : n A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3333.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> B generates the session key sk using an independent key generator, e.g., a random number generator. Then, sk combined with another nonce y is transmitted back to A over the security channels where https://www.w3.org/1998/Math/MathML"> f C K AB , n B ⊕ { sk , y } https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3334.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> forms the confidentiality channel and https://www.w3.org/1998/Math/MathML"> f C K AB , sk , y , n A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3335.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> forms the authentication channel.

Step 2. https://www.w3.org/1998/Math/MathML"> B → A : n B , f C K AB , n B ⊕ { sk , y } , f C K AB , sk , y , n A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3336.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Once all the received messages have been verified, A believes that sk is newly sent by B. However, B doesn’t know that whether A has obtained the correct session key or not. Accordingly, a further confirmation from A to B should be conducted as follows:

Step 3. https://www.w3.org/1998/Math/MathML"> A → B : y https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3337.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

In the protocol, A needs to perform two SKOWHF computations, and so does B.

[Scenario 1 proceeds according to KDR2]

Clearly, the rule specified in case I of KDR2 can be directly used here.

Step 1. https://www.w3.org/1998/Math/MathML"> A → B : n A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3338.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

On receiving https://www.w3.org/1998/Math/MathML"> n A , B https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3339.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> generates https://www.w3.org/1998/Math/MathML"> n B https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3340.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and then computes the SKGF: https://www.w3.org/1998/Math/MathML"> sk , h A , h B = https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3341.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> f C K AB , n A , n B https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3342.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Next, B sends https://www.w3.org/1998/Math/MathML"> n B https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3343.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> h B https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3344.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> back to A.

Step 2. https://www.w3.org/1998/Math/MathML"> B → A : n B , h B https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3345.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

The handshake number https://www.w3.org/1998/Math/MathML"> h B https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3346.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is used by B to inform his knowledge of sk to A. After retrieving https://www.w3.org/1998/Math/MathML"> n B https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3347.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> from the received message, A also computes the SKGF. Next, he compares the computed https://www.w3.org/1998/Math/MathML"> h B https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3348.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> with the second item of the received message, if equal, he believes that B has obtained the same session key as his own and then sends https://www.w3.org/1998/Math/MathML"> h A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3349.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to B.

Step 3. https://www.w3.org/1998/Math/MathML"> A → B : h A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3350.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

https://www.w3.org/1998/Math/MathML"> h A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3351.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is used by A to inform his knowledge of sk to B.

In the protocol, A needs to perform one SKOWHF computation, and so does B.

Scenario 2. A and B don’t share a common key but both are under the control of S. (Involved key servers: S.)

[Scenario 2 proceeds according to KDR1]

Step 1. https://www.w3.org/1998/Math/MathML"> A → B : n A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3352.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Since S is the only intermediate server between A and B, there are two confidentiality trunks https://www.w3.org/1998/Math/MathML"> B ( c ) → S https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3353.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> S ( c ) → A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3354.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and two integrity trunks https://www.w3.org/1998/Math/MathML"> B ( i ) → S https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3355.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and S https://www.w3.org/1998/Math/MathML"> ( i ) → A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3356.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> should be established first to construct the required confidentiality and authentication channels. Step 2. https://www.w3.org/1998/Math/MathML"> B → S : n B , f M K B , n B ⊕ { sk , y } , I D A , n A , f M K B , sk , y , I D A , n A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3357.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

As https://www.w3.org/1998/Math/MathML"> M K B https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3358.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is a common key between B and S, we can regard B ‘s identity https://www.w3.org/1998/Math/MathML"> I D B https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3359.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> as being implicitly contained in the use of https://www.w3.org/1998/Math/MathML"> M K B https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3360.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , i.e. it could be omitted.

Step 3. https://www.w3.org/1998/Math/MathML"> S → A : n S , f M K A , n S ⊕ { sk , y } , f M K A , sk , y , I D B , n A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3361.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Note that https://www.w3.org/1998/Math/MathML"> I D B https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3362.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is not transmitted in clear mode in the flow. Obviously, A should know the identity of B.

Step 4. https://www.w3.org/1998/Math/MathML"> A → B : y https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3363.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

In this protocol, A and B need to respectively perform two SKOWHF computations while S needs four.

[Scenario 2 proceeds according to KDR2]

This could be regarded as the simplest instance of case II of KDR2. And, we will go into a more detail about the protocol. Similarly, sk is generated by computing the SKGF: https://www.w3.org/1998/Math/MathML"> sk , h A , h B = f M K B , n A , n B , I D A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3364.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Step 1. https://www.w3.org/1998/Math/MathML"> A → B : n A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3365.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Upon receiving this request, B generates https://www.w3.org/1998/Math/MathML"> n B https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3366.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and then computes the SKGF to derive https://www.w3.org/1998/Math/MathML"> sk , h A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3367.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Step 2. https://www.w3.org/1998/Math/MathML"> B → S : I D A , n A , n B , h B https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3368.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

On receiving the request from B in flow https://www.w3.org/1998/Math/MathML"> 2 , S https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3369.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> also computes according to the SKGF to derive https://www.w3.org/1998/Math/MathML"> sk , h A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3370.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> as B does. Then, he compares the https://www.w3.org/1998/Math/MathML"> h A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3371.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> retrieved from flow 2 with the computed one. Once unequal, S quits the protocol. Otherwise, S transmits https://www.w3.org/1998/Math/MathML"> sk , h A , h B https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3372.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to A through a confidentiality channel and an authentication channel.

Step 3. https://www.w3.org/1998/Math/MathML"> S → A : n S , f M K A , n S ⊕ sk , h A , f M K A , sk , h A , I D B , n A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3373.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Next, A can verify sk and recognize B ‘s knowledge of sk by checking the validity of the received messages. If correct, A sends https://www.w3.org/1998/Math/MathML"> h A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3374.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to B.

Step 4. https://www.w3.org/1998/Math/MathML"> A → B : h A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3375.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Then, B can recognize A ‘s knowledge of sk by comparing the https://www.w3.org/1998/Math/MathML"> h A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3376.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> retrieved from flow 4 and the one he holds. We can see that A authenticates S and B, and B authenticates S and A. However, S authenticate neither A nor B. In total, A needs to perform two SKOWHF computations, B needs one SKOWHF computation and S needs three SKOWHF computations.

Scenario 3. A and B don’t share a common key. But their key servers https://www.w3.org/1998/Math/MathML"> S 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3377.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> S 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3378.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> have shared a common key https://www.w3.org/1998/Math/MathML"> C K S 1 S 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3379.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . (Involved key servers: https://www.w3.org/1998/Math/MathML"> S 2 , S 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3380.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .) [Scenario 3 proceeds according to https://www.w3.org/1998/Math/MathML"> KDR 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3381.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ]:

As https://www.w3.org/1998/Math/MathML"> S 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3382.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> S 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3383.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are the intermediate servers between A and B, there are three confidentiality trunks https://www.w3.org/1998/Math/MathML"> B ( c ) → S 2 , S 2 ( c ) → S 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3384.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> S 1 ( c ) → A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3385.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and three integrity trunks https://www.w3.org/1998/Math/MathML"> B ( i ) → S 2 , S 2 ( i ) → S 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3386.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> S 1 ( i ) → A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3387.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> should be established first to construct the need confidentiality and authentication channels.

Step https://www.w3.org/1998/Math/MathML"> 1 . A → B : n A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3388.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Step 2. https://www.w3.org/1998/Math/MathML"> B → S 2 : n B , f M K B , n B ⊕ { sk , y } , I D A , n A , f M K B , sk , y , I D A , https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3389.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , https://www.w3.org/1998/Math/MathML"> n A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3390.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> )

Step 3. https://www.w3.org/1998/Math/MathML"> S 2 → S 1 : n S 2 , f C K S 1 S 2 , n S 2 ⊕ { sk , y } , I D A , I D B , n A , f C K S 1 S 2 , { sk https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3391.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , https://www.w3.org/1998/Math/MathML"> y , I D A , I D B , n A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3392.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Step 4. https://www.w3.org/1998/Math/MathML"> S 1 → A : n S 1 , f M K A , n S 1 ⊕ { sk , y } , f M K A , sk , y , I D B , n A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3393.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Step 5. https://www.w3.org/1998/Math/MathML"> A → B : y https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3394.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

[Scenario 3 proceeds according to KDR2]:

This protocol simply needs to establish two sets of security trunks should be established, i.e., https://www.w3.org/1998/Math/MathML"> S 2 ( c ) → S 1 , S 1 ( c ) → A , S 2 ( i ) → S 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3395.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and https://www.w3.org/1998/Math/MathML"> S 1 ( i ) → A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3396.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . SKGF: https://www.w3.org/1998/Math/MathML"> sk , h A , h B = f M K B , n A , n B , I D A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3397.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Step 1. https://www.w3.org/1998/Math/MathML"> A → B : n A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3398.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Step 2. https://www.w3.org/1998/Math/MathML"> B → S 2 : I D A , n A , n B , h B https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3399.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Step 3. https://www.w3.org/1998/Math/MathML"> S 2 → S 1 : n S 2 , f C K S 1 S 2 , n S 2 ⊕ sk , h A , I D A , I D B , n A , f C K S 1 S 2 , https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3400.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , https://www.w3.org/1998/Math/MathML"> sk , h A , I D A , I D B , n A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3401.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Step 4. https://www.w3.org/1998/Math/MathML"> S 1 → A : n S 1 , f M K A , n S 1 ⊕ sk , h A , f M K A , sk , h A , I D B , n A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3402.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Step 5. https://www.w3.org/1998/Math/MathML"> A → B : h A https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3403.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

Conclusion

A class of efficient KDPs suitable for large-scale networks is constructed based on SKOWHF. From the number of required SKOWHF computations by each constituent in all the three scenarios, we know that the protocols constructed according to the second approach demands fewer computations. It may be an advantage of the second approach over the first approach especially when computation should be performed in a light-weight device such as a smart card. In contrast, the first approach provides more flexibility for session key selection because the session key can be chosen to have a specific structure. However, it is questionable that the session key should have such a feature. With hierarchical structure of key servers, the concept of using security trunks to construct security channels is practical and can also be applied to any system employing cryptographic techniques. It should be emphasized that no intermediate key server needs to authenticate the received messages. Instead, only the expected recipient (end user) should authenticate the messages. It is the reason why the authentication trunk is not discussed in this paper. Conscious reader may find that the sequence of protocol steps in each scenario forms a loop-around pattern. However, either proving its optimization or contriving another better design is a topic for our further investigation.

Bibliography

Molva R., Samfat D., and Tsudik G., “Authentication of Mobile Users,” IEEE Network, pp. 26-34 (Mar./Apr., 1994).

Gong L., “Using one-way functions for Authentication,” ACMCCR, Vol. 19, No. 5, pp. 8-11 (Oct., 1989).

Bull J.A., Gong L., and Sollins K.R., “Towards security in an open systems federation,” in Y. Deswarte, G. Eizenberg, and J.-J. Quisquater (Eds.): Computer security – ESORICS 92’, Lect. Notes Comput. Sci., Vol. 648, pp. 3-20 (1992).

Mathuria A., “Addressing weaknesses of two cryptographic protocols of Bull, Gong and Sollins,” Elect. Lett., Vol. 31, pp. 1543-1544 (1995).

Bird R., Gopal I., Herzberg A., Janson P., Kutten S., Molva R., and Yung M., “Systematic design of a family of attack-resistant authentication protocols, “ IEEE J. Select. Areas Commun., Vol. 11, pp. 679-693 (June, 1993).

R. Bird, I. Gopal, A. Herzberg, P. Janson, S. Kutten, R. Molva, and M. Yung, “The KryptoKnight Family of Light-Weight Protocols for Authentication and Key Distribution, “IEEE/ACM Trans. on Networking, Vol. 3, No. 1, pp. 31-41 (Feb., 1995).

T.A. Berson, L. Gong, and T.M.A. Lomas, “Secure, keyed, and collisionful hash functions,” Technical report SRI-CSL-94-08, Computer Science Laboratory, SRI International Menlo Park, CA. (May, 1994)

C. Boyd, A.Mathuria, “Systematic design of key establishment protocols based on oneway functions,” IEE Proc.-Comput. Digit. Tech., Vol. 144, No. 2, pp. 93-99 (Mar., 1997).

T.Hwang and W.-C. Ku, “Reparable Key Distribution Protocols for Internet Environment,” IEEE Trans. on Commun., Vol. 43, No. 5, pp. 1947-1949 (May, 1995).

R. Rivest, “The MD5 Message Digest Algorithm,” Internet Draft (July, 1991).

National Institute of standards and Technology, “Secure Hash Standard,” NIST FIPS PUB 180-1, U.S. Department of Commerce (April, 1995).

R. C. Merkle, “A Fast Software One-Way Hash Function,” Journal of Cryptology, Vol. 3 , No. 1, pp. 43-58 (1990).

A Purpose-oriented Access Control Model in Object-based Systems

ABSTRACT

Distributed applications are realized by cooperation of multiple objects. Each object is manipulated through a method supported by the object and then the method may further invoke methods of other objects. Purpose-oriented access rules indicate what methods in objects can invoke methods of other objects. Information flow among the objects occurs if the requests and responses of the methods carry data. In this paper, we discuss how to specify purpose-oriented access rules so that the information flow occurring in the nested invocation is legal.

1 Introduction

It is significant to consider what subject s can access what object o by what operation t in the access control model https://www.w3.org/1998/Math/MathML">   1 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3404.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . The system is secure if and only if (iff) every object is manipulated according to the access rules. However, the access control model cannot resolve the confinement problem 4 where the information illegally flows among subjects and objects. The lattice-based model https://www.w3.org/1998/Math/MathML">   1,3 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3405.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> aims at protecting against the illegal information flow. One security class is given to each subject and object in the system. A flow relation among the security classes is defined to denote that information in one class https://www.w3.org/1998/Math/MathML"> s 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3406.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> can flow into https://www.w3.org/1998/Math/MathML"> s 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3407.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . In the mandatory model https://www.w3.org/1998/Math/MathML">   1,6 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3408.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , an access rule https://www.w3.org/1998/Math/MathML"> ⟨ s , o , t ⟩ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3409.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is specified so that the flow relation between a subject s and an object o holds. In the role-based model https://www.w3.org/1998/Math/MathML">   7,9 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3410.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , a role shows a function or job in the application, which is given in a set of operations on objects. The access rule is defined to bind a subject to the roles.

Distributed applications are modeled in an object-based model like CORBA https://www.w3.org/1998/Math/MathML">   5 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3411.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Each object is an encapsulation of data structure and methods. For example, a person s may withdraw money from a bank o in order to do house-keeping, but s cannot get money from o to go drinking. Thus, it is essential to discuss a purpose of s to manipulate o. In the purpose-oriented model https://www.w3.org/1998/Math/MathML">   8 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3412.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , an access rule shows for what each subject s manipulates an object o by a method t of o so as to keep the information flow legal. That is, a purpose-oriented access rule is specified in a form https://www.w3.org/1998/Math/MathML"> ⟨ s : u , o : t ⟩ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3413.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , where u shows the purpose. In the object-based system, on receipt of a request op from an object https://www.w3.org/1998/Math/MathML"> o 1 , o 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3414.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> computes op and then sends back the response of op to https://www.w3.org/1998/Math/MathML"> o 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3415.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . If the request and the response carry data, the data is exchanged among https://www.w3.org/1998/Math/MathML"> o 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3416.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3417.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Furthermore, the invocation of methods is nested in the object-based system, i.e. methods invoke further methods in other objects. Even if each purpose-oriented rule between a pair of objects satisfies the information flow relation, some data in one object may illegally flow to another object through the nested invocation. In this paper, we discuss what purpose-oriented access rules imply the legal information flow in the nested invocations.

In section 2, we present the purpose-oriented model in the object-based system. In section 3, we discuss the legal information flow.

Purpose-Oriented Models

2.1 Object-based model

The lattice-based model 1,3 https://www.w3.org/1998/Math/MathML"> ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3418.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is proposed to keep the information flow legal. Here, subjects and objects are referred to as entities. Each entity https://www.w3.org/1998/Math/MathML"> e i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3419.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is given one security class https://www.w3.org/1998/Math/MathML"> λ e i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3420.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . A security class https://www.w3.org/1998/Math/MathML"> s 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3421.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> can flow to https://www.w3.org/1998/Math/MathML"> s 2 s 1 → s 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3422.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> iff the information in an entity of https://www.w3.org/1998/Math/MathML"> s 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3423.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> can flow into an entity of https://www.w3.org/1998/Math/MathML"> s 2 . s 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3424.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> s 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3425.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are equivalent https://www.w3.org/1998/Math/MathML"> s 1 ≡ s 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3426.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> iff https://www.w3.org/1998/Math/MathML"> s 1 → s 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3427.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> s 2 → s 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3428.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . For every pair of security classes https://www.w3.org/1998/Math/MathML"> s 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3429.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> s 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3430.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in https://www.w3.org/1998/Math/MathML"> S , s 1 ≺ s 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3431.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> iff https://www.w3.org/1998/Math/MathML"> s 1 → s 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3432.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> but https://www.w3.org/1998/Math/MathML"> s 2 ↛ s 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3433.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Here, https://www.w3.org/1998/Math/MathML"> s 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3434.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> dominates https://www.w3.org/1998/Math/MathML"> s 1 s 1 ⪯ s 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3435.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> iff https://www.w3.org/1998/Math/MathML"> s 1 ≺ s 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3436.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> or https://www.w3.org/1998/Math/MathML"> s 1 ≡ s 2 . s 1 ⪯ s 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3437.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> means that https://www.w3.org/1998/Math/MathML"> s 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3438.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is more sensitive than https://www.w3.org/1998/Math/MathML"> s 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3439.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . https://www.w3.org/1998/Math/MathML"> ∪ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3440.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> ∩ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3441.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are the least upper bound https://www.w3.org/1998/Math/MathML"> ( lub ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3442.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and the greatest lower bound https://www.w3.org/1998/Math/MathML"> ( glb ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3443.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , respectively. In the mandatory model https://www.w3.org/1998/Math/MathML">   1,6 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3444.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , access rules are defined so as to satisfy “ “”. If s reads o, the information in o is derived by s, i.e. information in o flows to s. Hence, https://www.w3.org/1998/Math/MathML"> λ ( s ) ⪰ λ ( o ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3445.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is required to hold. If s writes o, https://www.w3.org/1998/Math/MathML"> λ ( s ) ⪯ λ ( o https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3446.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ) holds. Lastly, if s modifies https://www.w3.org/1998/Math/MathML"> o , λ ( s ) ≡ λ ( o ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3447.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

In the object-based system, each object https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3448.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> supports more abstract level of data structure and methods than read and write. In addition, https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3449.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is encapsulated so that https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3450.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> can be manipulated only through the methods supported by https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3451.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

First, methods are assumed to be unnested. An object s sends a request message q of https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3452.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to an object https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3453.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . On receipt of https://www.w3.org/1998/Math/MathML"> q , o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3454.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> computes https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3455.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and sends the response r back to s. q and r carry the input and output of https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3456.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , respectively. If https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3457.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> changes the state of https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3458.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> by using the input, the data in s may flow into https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3459.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> if q carries some data in s. If https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3460.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> derives data from https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3461.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and then returns the data to s, the data in https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3462.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> may flow out to s if r carries the data derived from https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3463.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> by https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3464.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Thus, input and output of https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3465.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> have to be discussed to clarify the information flow relation between s and https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3466.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Each method https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3467.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3468.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is characterized in terms of input https://www.w3.org/1998/Math/MathML"> I i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3469.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , output https://www.w3.org/1998/Math/MathML"> O i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3470.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and state transition of https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3471.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . The input https://www.w3.org/1998/Math/MathML"> I i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3472.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> exists if some data flows from s to https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3473.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , e.g. the request of https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3474.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> includes the data. The output https://www.w3.org/1998/Math/MathML"> O i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3475.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> exists if some data in https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3476.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> flows out to s. In this paper, the communication among objects is assumed to be secure. Only data stored in https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3477.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> can flow out from https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3478.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to s and the data in s can flow to https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3479.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in

(I) Non-flow (NF)

(2) Flow-in (FI)

(3) Flow-out (FO)

(4) Flow-in’/out (FIO)

Figure 1: Information flow.

the computation of the method of https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3480.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

Each method op https://www.w3.org/1998/Math/MathML">   i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3481.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is classified into one flow type https://www.w3.org/1998/Math/MathML"> τ o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3482.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> [Figure 1]: non-flow (NF), flow-in (FI), flow-out (FO), and flow-in/out (FIO). An NF method op implies no information flow from or to https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3483.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . In addition, https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3484.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> does not change https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3485.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Even if the input data https://www.w3.org/1998/Math/MathML"> I i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3486.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> exists, no information in s flows to https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3487.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> unless https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3488.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> changes https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3489.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Similarly, no data in https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3490.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> flows out to s unless the output data https://www.w3.org/1998/Math/MathML"> O i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3491.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is derived from https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3492.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . An FI method https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3493.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> changes https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3494.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> by using https://www.w3.org/1998/Math/MathML"> I i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3495.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> where data in s may flow into https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3496.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . write is FI. In addition, https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3497.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is updated without https://www.w3.org/1998/Math/MathML"> I i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3498.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . For example, a count-up method has no input but changes the counter. An FO method https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3499.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> does not change https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3500.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Since the output https://www.w3.org/1998/Math/MathML"> O i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3501.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3502.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> carries data in https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3503.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to s, data in https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3504.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> may flow to s. read is FO. An FIO method op https://www.w3.org/1998/Math/MathML">   i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3505.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> changes https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3506.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> by using https://www.w3.org/1998/Math/MathML"> I i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3507.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and sends https://www.w3.org/1998/Math/MathML"> O i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3508.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> including data in https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3509.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> back to s. Not only data in s may flow into https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3510.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> but also data in https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3511.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> may flow out to s. In modify, s first reads https://www.w3.org/1998/Math/MathML"> O i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3512.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3513.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and writes to https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3514.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . FIO may not carry https://www.w3.org/1998/Math/MathML"> I i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3515.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> like FI. The mandatory access rule is extended as follows https://www.w3.org/1998/Math/MathML">   8 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3516.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

[Extended access rules] The subject s can manipulate https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3517.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> by https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3518.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3519.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> according to the following rules.

(1) https://www.w3.org/1998/Math/MathML"> τ o p i ∈ { N F , F I } https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3520.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> only if https://www.w3.org/1998/Math/MathML"> λ ( s ) ⪯ λ o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3521.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

(2) https://www.w3.org/1998/Math/MathML"> τ o p i ∈ { N F , F O } https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3522.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> only if https://www.w3.org/1998/Math/MathML"> λ ( s ) ⪰ λ o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3523.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

(3) https://www.w3.org/1998/Math/MathML"> τ o p i ∈ { N F , F I , F O , F I O } https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3524.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> only if https://www.w3.org/1998/Math/MathML"> λ ( s ) ≡ λ o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3525.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

The types of methods and the security class https://www.w3.org/1998/Math/MathML"> λ o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3526.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3527.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are specified when https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3528.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is defined based on the semantics of https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3529.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Each time s invokes https://www.w3.org/1998/Math/MathML"> o p i , o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3530.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is accepted to be computed on https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3531.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> if https://www.w3.org/1998/Math/MathML"> τ o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3532.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> λ o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3533.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> satisfy the access rules.

[Example 1] Suppose https://www.w3.org/1998/Math/MathML"> WW W 2 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3534.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> server object w is manipulated by two hosts https://www.w3.org/1998/Math/MathML"> h 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3535.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> h 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3536.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Here, w supports GET and POST methods. GET is an FO type method because the output data is derived from w.POST is FI because w is updated by using the input data. If https://www.w3.org/1998/Math/MathML"> λ h 1 ⪯ λ ( w ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3537.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> λ h 2 ⪰ λ ( w ) , h 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3538.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> can POST but cannot GET data in w, and https://www.w3.org/1998/Math/MathML"> h 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3539.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> can GET but cannot POST data in w. w can also support abstract methods like Common Gateway Interface (CGI).

2.2 Purpose-oriented model

We assume a pair of methods https://www.w3.org/1998/Math/MathML"> o p 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3540.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3541.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> can exchange data only through the state of https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3542.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . If data d flowing from an object https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3543.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to https://www.w3.org/1998/Math/MathML"> o j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3544.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is neither derived from https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3545.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> nor stored

Figure 2: Purpose-oriented access control.

in https://www.w3.org/1998/Math/MathML"> o j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3546.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , it is meaningless to consider the information flow from https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3547.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to https://www.w3.org/1998/Math/MathML"> o j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3548.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . If data derived from https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3549.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is stored in https://www.w3.org/1998/Math/MathML"> o j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3550.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , the data may flow out to other objects.

Suppose a person p can withdraw money from a bank object b for the housekeeping. However, p cannot get money from b to go drinking. Thus, it is critical to consider a purpose for which s manipulates https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3551.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> by https://www.w3.org/1998/Math/MathML"> t i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3552.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

[Purpose-oriented (PO) rule] An access rule https://www.w3.org/1998/Math/MathML"> o i : o p i , o ij : o p ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3553.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> means that https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3554.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> can manipulate https://www.w3.org/1998/Math/MathML"> o ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3555.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> through a method https://www.w3.org/1998/Math/MathML"> o p ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3556.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> invoked by https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3557.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3558.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3559.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> shows a purpose for which https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3560.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> manipulates https://www.w3.org/1998/Math/MathML"> o ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3561.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> by https://www.w3.org/1998/Math/MathML"> o p ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3562.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Here, https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3563.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3564.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are named parent and child objects of the access rule, respectively.

[Example 2] If a person object p can withdraw money from a bank account b of p [Figure 2], an access rule https://www.w3.org/1998/Math/MathML"> ⟨ p : https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3565.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> house-keep, b: withdraw https://www.w3.org/1998/Math/MathML"> ⟩ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3566.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is specified. The method house-keeping of the object p invokes withdraw of b. Here, house-keeping shows the purpose for withdrawing money from b.

Information Flow

19.1. Invocation graph

On receipt of a request op, an object o creates a thread of op named an instance of op.op may invoke methods https://www.w3.org/1998/Math/MathML"> o p 1 , … , o p l https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3567.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> where each https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3568.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is computed on an object https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3569.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . In the serial invocation, op serially invokes https://www.w3.org/1998/Math/MathML"> o p 1 , … , o p l https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3570.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Hence, information carried by the response of https://www.w3.org/1998/Math/MathML"> o p i - 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3571.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> may flow to https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3572.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . In the parallel one, op invokes op https://www.w3.org/1998/Math/MathML">   1 , … , o p l https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3573.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in parallel. Each https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3574.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is computed on https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3575.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> independently of another https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3576.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . This means information carried by the response of https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3577.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> does not flow to https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3578.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . The invocations are represented in an ordered invocation tree. A parent-child branch https://www.w3.org/1998/Math/MathML"> op → o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3579.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> shows that op invokes op https://www.w3.org/1998/Math/MathML">   i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3580.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . If op invokes op https://www.w3.org/1998/Math/MathML">   i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3581.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> before op https://www.w3.org/1998/Math/MathML">   j , o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3582.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> precedes op https://www.w3.org/1998/Math/MathML">   j o p i → o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3583.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Suppose a user serially invokes two methods https://www.w3.org/1998/Math/MathML"> o p 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3584.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p 2 . o p 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3585.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> invokes https://www.w3.org/1998/Math/MathML"> o p 12 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3586.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p 13 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3587.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in parallel after https://www.w3.org/1998/Math/MathML"> o p 11 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3588.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . This is represented in an invocation tree as shown in Figure 3 . “ https://www.w3.org/1998/Math/MathML"> → https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3589.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> “ shows the computation order of the methods.

An object o invokes a method https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3590.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in https://www.w3.org/1998/Math/MathML"> o i . o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3591.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> invokes methods https://www.w3.org/1998/Math/MathML"> o p i 1 , … , o p i l i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3592.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> where each https://www.w3.org/1998/Math/MathML"> o p ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3593.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is in https://www.w3.org/1998/Math/MathML"> o ij . o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3594.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3595.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> communicates with o and https://www.w3.org/1998/Math/MathML"> o ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3596.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Hence, https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3597.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is modeled to be a collection of inputs https://www.w3.org/1998/Math/MathML"> α 1 , α 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3598.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and https://www.w3.org/1998/Math/MathML"> α 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3599.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and outputs https://www.w3.org/1998/Math/MathML"> β 1 , β 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3600.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and https://www.w3.org/1998/Math/MathML"> β 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3601.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> as shown in Figure 4. https://www.w3.org/1998/Math/MathML"> α 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3602.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> means the input https://www.w3.org/1998/Math/MathML"> I i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3603.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> from o to https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3604.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . For example, the request of https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3605.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> carries the input data https://www.w3.org/1998/Math/MathML"> α 1 . β 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3606.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> means the output data to o, e.g. the response of https://www.w3.org/1998/Math/MathML"> o p i . β 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3607.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> shows that https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3608.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is updated by using data carried by https://www.w3.org/1998/Math/MathML"> β 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3609.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . For example, the data of https://www.w3.org/1998/Math/MathML"> β 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3610.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is stored

Figure 3: Invocation tree.

Figure 4: Input and output.

in https://www.w3.org/1998/Math/MathML"> o i . α 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3611.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> means the data derived from https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3612.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is stored in https://www.w3.org/1998/Math/MathML"> o p i . β 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3613.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> means some data is output to https://www.w3.org/1998/Math/MathML"> o ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3614.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . For example, the request of another method op ij with the input https://www.w3.org/1998/Math/MathML"> I ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3615.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is sent to https://www.w3.org/1998/Math/MathML"> o ij . α 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3616.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> shows that some output of https://www.w3.org/1998/Math/MathML"> o ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3617.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is carried to https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3618.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . For example, the response with the output data is sent from https://www.w3.org/1998/Math/MathML"> o p ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3619.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

An invocation graph is introduced to show the information flow relation among methods. Each node indicates a method. There are two types of directed edges, i.e. request (Q) and response (S) edges. If a method op https://www.w3.org/1998/Math/MathML">   i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3620.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of an object https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3621.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> invokes https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3622.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of https://www.w3.org/1998/Math/MathML"> o j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3623.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , there is a Q edge from https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3624.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3625.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> denoted by a straight arrow line. There are two points on the Q edges: (a) whether or not https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3626.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> sends data in https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3627.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3628.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and (b) whether or not https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3629.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> changes the state of https://www.w3.org/1998/Math/MathML"> o j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3630.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Hence, there are four types of Q edges as shown in Figure 5. A QNN edge means https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3631.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> sends https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3632.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> a request message https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3633.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> without data and https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3634.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> does not change https://www.w3.org/1998/Math/MathML"> o j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3635.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . That is, neither https://www.w3.org/1998/Math/MathML"> β 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3636.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3637.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> α 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3638.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3639.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> nor https://www.w3.org/1998/Math/MathML"> β 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3640.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3641.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> carry data. No data flows from https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3642.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to https://www.w3.org/1998/Math/MathML"> o j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3643.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . QON means https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3644.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> sends a request https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3645.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> with data to https://www.w3.org/1998/Math/MathML"> o j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3646.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> but https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3647.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> does not change https://www.w3.org/1998/Math/MathML"> o j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3648.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Although some data is derived from https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3649.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , no data flows to https://www.w3.org/1998/Math/MathML"> o j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3650.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . QNI shows that https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3651.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> changes https://www.w3.org/1998/Math/MathML"> o j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3652.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> while https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3653.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> does not send data to https://www.w3.org/1998/Math/MathML"> o j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3654.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Some data flows into https://www.w3.org/1998/Math/MathML"> o j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3655.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> but the data does not flow out from https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3656.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . QOI indicates that https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3657.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> sends data to https://www.w3.org/1998/Math/MathML"> o j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3658.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3659.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> changes https://www.w3.org/1998/Math/MathML"> o j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3660.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Some data in https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3661.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> flows to https://www.w3.org/1998/Math/MathML"> o j . α 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3662.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> β 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3663.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3664.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> α 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3665.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> β 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3666.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> of https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3667.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> carry data.

Next, let us consider response (S) edges which show information flow carried by

(1) QNN

(2) QON

(3) QNI

(4) QOI

Figure 5: Request (Q) edges.

(2) SNO (3) SIN

(4) https://www.w3.org/1998/Math/MathML"> S I O https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3668.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

(1) SNN

Figure 6: Response (S) edges.

the responses from https://www.w3.org/1998/Math/MathML"> o j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3669.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3670.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . S edges are indicated by dotted arrow lines. There are two points on the S edges ; © whether or not https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3671.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> sends data in https://www.w3.org/1998/Math/MathML"> o j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3672.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3673.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and (d) whether or not https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3674.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> changes the state of https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3675.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . There are four types of https://www.w3.org/1998/Math/MathML"> S https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3676.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> edges as shown in Figure 6. SNN shows no information flow from https://www.w3.org/1998/Math/MathML"> o j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3677.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3678.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . SNO means https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3679.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> sends https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3680.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> the response with data derived from https://www.w3.org/1998/Math/MathML"> o j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3681.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , but https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3682.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> does not change https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3683.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . SIN shows https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3684.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> changes https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3685.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> but https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3686.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> sends the response without data to https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3687.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . SIO indicates https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3688.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> sends back the response with data derived from https://www.w3.org/1998/Math/MathML"> o j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3689.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3690.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3691.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> changes https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3692.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . That is, data in https://www.w3.org/1998/Math/MathML"> o j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3693.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> flows to https://www.w3.org/1998/Math/MathML"> o i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3694.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

If https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3695.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> invokes https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3696.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , a couple of https://www.w3.org/1998/Math/MathML"> Q https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3697.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> S https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3698.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> edges exist. One couple is denoted in a form α/β, where https://www.w3.org/1998/Math/MathML"> α ∈ { Q N N , Q N I , Q O N , Q O I } https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3699.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> β ∈ { S N N , S N O , S I N , S I O } https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3700.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Hence, there are sixteen possible couples for each invocation.

19.2. Flow graph and access rules

Suppose a method https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3701.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> invokes https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3702.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in an invocation tree T. There are a Q edge https://www.w3.org/1998/Math/MathML"> Q ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3703.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> from a parent https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3704.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to a child https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3705.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and an S edge https://www.w3.org/1998/Math/MathML"> S ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3706.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> from https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3707.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3708.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Thus, each branch between https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3709.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3710.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> represents a couple of https://www.w3.org/1998/Math/MathML"> Q ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3711.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> S ij https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3712.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> edges. Here, let root https://www.w3.org/1998/Math/MathML"> ( T ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3713.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> denote a root of the tree T. In order to analyze the information flow among the methods, a flow graph F is introduced.

[Construction of flow graph]

(1) Each node in F indicates a method of the invocation tree T.

(2) For each node https://www.w3.org/1998/Math/MathML"> o p d https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3714.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> connected to the parent by QNI or QOI edge in T, a path P from root https://www.w3.org/1998/Math/MathML"> ( T ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3715.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to https://www.w3.org/1998/Math/MathML"> o p d https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3716.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is obtained. For each node https://www.w3.org/1998/Math/MathML"> o p s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3717.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in P, there is a directed edge ops https://www.w3.org/1998/Math/MathML"> → o p d https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3718.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in F if there is a QON or QOI edge from ops to a child node in P [Figure 7 (1)].

(3) For each node https://www.w3.org/1998/Math/MathML"> o p p https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3719.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in https://www.w3.org/1998/Math/MathML"> T , o p c 1 → o p c 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3720.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> if https://www.w3.org/1998/Math/MathML"> o p c 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3721.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p c 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3722.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are descendents of https://www.w3.org/1998/Math/MathML"> o p p https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3723.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in T, which are included in different subtrees of https://www.w3.org/1998/Math/MathML"> o p p , o p c 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3724.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> has an SNO or SIO edge with the parent of https://www.w3.org/1998/Math/MathML"> o p c 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3725.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and https://www.w3.org/1998/Math/MathML"> o p c 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3726.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> has a QNI or QOI edge with the parent of https://www.w3.org/1998/Math/MathML"> o p c 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3727.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p c 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3728.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> precedes https://www.w3.org/1998/Math/MathML"> o p c 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3729.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in T [Figure 7 (2)].

(1)

(4)

(2)

(5)

(3)

(6)

Figure 7: Directed edges.

(4) https://www.w3.org/1998/Math/MathML"> o p 1 → o p 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3730.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> if https://www.w3.org/1998/Math/MathML"> o p 1 → o p 2 → o p 3 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3731.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> [Figure 7 (3)].

A leaf node https://www.w3.org/1998/Math/MathML"> o p l https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3732.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in the invocation tree T does not invoke other methods. If https://www.w3.org/1998/Math/MathML"> o p l https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3733.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is invoked with some data and sends back the response, opl may forward the input data carried by the request to the parent of https://www.w3.org/1998/Math/MathML"> o p l https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3734.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Therefore, we have to consider the following additional rules for each leaf node https://www.w3.org/1998/Math/MathML"> o p l https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3735.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

(5) For each node https://www.w3.org/1998/Math/MathML"> o p l https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3736.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> connected to the parent by an SNO or SIO edge in T, a path P from https://www.w3.org/1998/Math/MathML"> r o o t ⁡ ( T ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3737.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to https://www.w3.org/1998/Math/MathML"> o p l https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3738.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is obtained. For each node https://www.w3.org/1998/Math/MathML"> o p d https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3739.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in P, there is a directed edge https://www.w3.org/1998/Math/MathML"> o p l → o p d https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3740.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in F if there is an SIN or SIO edge from a child node to https://www.w3.org/1998/Math/MathML"> o p d https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3741.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> [Figure 7 (4)].

(6) For each leaf node https://www.w3.org/1998/Math/MathML"> o p l https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3742.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , a path P from root https://www.w3.org/1998/Math/MathML"> ( T ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3743.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to https://www.w3.org/1998/Math/MathML"> o p l https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3744.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is obtained. For every node https://www.w3.org/1998/Math/MathML"> o p s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3745.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in https://www.w3.org/1998/Math/MathML"> P , o p s … o p 4 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3746.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> if op, is connected with the child in a QON or QOI edge. For each node https://www.w3.org/1998/Math/MathML"> o p d https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3747.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in P, there is a directed edge https://www.w3.org/1998/Math/MathML"> o p l … o p d https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3748.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in F if https://www.w3.org/1998/Math/MathML"> o p d https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3749.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is connected to the child in an SIN or SIO edge. For each node https://www.w3.org/1998/Math/MathML"> o p s https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3750.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in P, there is a directed edge https://www.w3.org/1998/Math/MathML"> o p s → o p d https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3751.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> if a) https://www.w3.org/1998/Math/MathML"> o p s … o p l https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3752.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> or https://www.w3.org/1998/Math/MathML"> o p s → o p l https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3753.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and b) https://www.w3.org/1998/Math/MathML"> o p l … o p d https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3754.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> [Figure 7 (5)].

(7) For each node https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3755.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> connected to the parent in SNO or SIO edge, a path P from root https://www.w3.org/1998/Math/MathML"> ( T ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3756.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> to https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3757.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is obtained. If https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3758.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> in P is connected to the child in QNI or QOI and SIO or SIN edge, https://www.w3.org/1998/Math/MathML"> o p i → o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3759.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> [Figure 7 (6)].

[Example 3] Let us consider SSI commands https://www.w3.org/1998/Math/MathML">   2 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3760.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> [Figure 8]. An open method in a browser B accesses to an httpd server to GET a page P including two files https://www.w3.org/1998/Math/MathML"> F 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3761.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> F 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3762.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Suppose B invokes GET on P. After including these pages, B caches these data to a disk D. Figure https://www.w3.org/1998/Math/MathML"> 9 ( 1 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3763.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and (2) show the invocation tree and the flow graph F,

Figure 8: SSI-“include.”

Figure 9: Flow graph.

respectively. The data in the files https://www.w3.org/1998/Math/MathML"> F 1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3764.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> F 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3765.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> can flow to the disk D from F.

The flow graph F shows possible information flow to occur in the invocations of methods. Each purpose-oriented access rule https://www.w3.org/1998/Math/MathML"> o i : o p i , o j : o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3766.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> can be specified if the rule satisfies the information flow relation among the objects. A directed edge https://www.w3.org/1998/Math/MathML"> → https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3767.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> among https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3768.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3769.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is legal in F if the following rule is satisfied.

[Flow rules]

(1) https://www.w3.org/1998/Math/MathML"> o p i → o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3770.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> only if https://www.w3.org/1998/Math/MathML"> λ o i ⪯ λ o j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3771.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> .

(2) op https://www.w3.org/1998/Math/MathML">   i ← o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3772.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> only if https://www.w3.org/1998/Math/MathML"> λ o i ⪰ λ o j . https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3773.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>

(3) https://www.w3.org/1998/Math/MathML"> o p i ↔ o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3774.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> only if https://www.w3.org/1998/Math/MathML"> λ o i ≡ λ o j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3775.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> :

https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3776.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3777.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are referred to as legally related if every edge among https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3778.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3779.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is legal. A rule https://www.w3.org/1998/Math/MathML"> o i : o p i , o j : o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3780.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> can be specified if all the directed edges incident to and from https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3781.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3782.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are legal, i.e. https://www.w3.org/1998/Math/MathML"> o p i https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3783.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> and https://www.w3.org/1998/Math/MathML"> o p j https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3784.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are legally related.

[Example 4] In the flow graph F of Figure 9, GET → open is legal only if https://www.w3.org/1998/Math/MathML"> λ ( P ) ⪯ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3785.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> λ ( B ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3786.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> , and inc https://www.w3.org/1998/Math/MathML">   1 → GET https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3787.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is legal only if https://www.w3.org/1998/Math/MathML"> λ F 1 ⪯ λ ( P ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3788.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . That is, the rules https://www.w3.org/1998/Math/MathML"> ⟨ B : https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3789.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> open, P: GET⟩ and https://www.w3.org/1998/Math/MathML"> P : GET , F 1 : https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3790.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> inc https://www.w3.org/1998/Math/MathML">   1 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3791.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> are legal. However, inc https://www.w3.org/1998/Math/MathML">   2 → GET https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3792.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is illegal if https://www.w3.org/1998/Math/MathML"> λ F 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3793.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> https://www.w3.org/1998/Math/MathML"> ⪰ λ ( P ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3794.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . That is, https://www.w3.org/1998/Math/MathML"> P : GET , F 2 : https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3795.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> inc https://www.w3.org/1998/Math/MathML">   2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3796.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is illegal. Illegal information flow between P and https://www.w3.org/1998/Math/MathML"> F 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3797.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> may occur if GET on P invokes inc https://www.w3.org/1998/Math/MathML">   2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3798.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> on https://www.w3.org/1998/Math/MathML"> F 2 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3799.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> . Hence, https://www.w3.org/1998/Math/MathML"> ⟨ B : https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3800.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> open, https://www.w3.org/1998/Math/MathML"> P : GET ⟩ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3801.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> is illegal and B cannot invoke GET on P through open.

Concluding Remarks

In the distributed systems, objects support more abstract level of methods than read and write. The purpose-oriented access control model discusses why an object manipulates other objects in the object-based systems while the traditional access control model discusses if each subject can use an object by a method. In addition, the methods of the objects are invoked in a nested manner. The access rules have to satisfy the information flow relation among objects. In this paper, we have discussed how to validate the purpose-oriented access rules with respect to the information flow constraints.

Bibliography

Bell, D. E. and LaPadula, L. J., “Secure Computer Systems: Mathematical Foundations and Model,” Mitre Corp. Report No. M74-244 (1975).

Berners-Lee, T., Fielding, R., and Frystyk, H., “Hypertext Transfer Protocol HTTP/1.0,” RFC-1945 (1996).

Denning, D. E., “A Lattice Model of Secure Information Flow,” Communications of the ACM, Vol. 19, No. 5, pp. 236-243 (1976).

Denning, D. E. and Denning, P. J., Cryptography and Data Security, Addison-Wesley (1982).

Object Management Group Inc., “The Common Object Request Broker : Architecture and Specification,” Rev. 2.1 (1997).

Sandhu, R. S., “Lattice-Based Access Control Models,” IEEE Computer, Vol. 26, No. 11, pp. 9-19 (1993).

Sandhu, R. S., Coyne, E. J., Feinstein, H. L., and Youman, C. E., “Role-Based Access Control Models,” IEEE Computer, Vol. 29, No. 2, pp. 38-47 (1996).

Tachikawa, T., Yasuda, M., Higaki, H., and Takizawa, M., “Purpose-Oriented Access Control Model in Object-Based Systems,” Proc. of the 2nd Australasian Conf. on Information Security and Privacy (ACISP’g7), pp. 38-49 (1997).

Tari, Z. and Chan, S. W., “A Role-Based Access Control for Intranet Security,” IEEE Internet Computing, Vol. 1, No. 5, pp. 24-34 (1997).

Issues in Document Security Enforcement for Activity Execution in CapBasED-AMS

Hong Kong University of Science and Technology

ABSTRACT

Workflow systems are becoming very popular and are being used to support many of the day to day activities in large organizations. One of the major problems with workflow systems is that they often use heterogeneous and distributed hardware and software systems to execute a given activity (a set of tasks). This gives rise to decentralized security policies and mechanisms, which, in order to enable activity execution, give too many privileges to the agents (humans or systems) executing the work. The Capability-based and Event-driven Activity Management System (CapBasED-AMS) deals with the management and execution of activities. A Problem Solving Agent (PSA) is a human, or a hardware system, or a software system having an ability to execute activities. A task usually involves some processing of documents. Since many of the documents have sensitive information, document security issues have to be modeled, enforced, and managed by the activity management system. In this paper, we discuss three important issues for research in document security: least privilege, dynamic authorization of document access, and deduction of document privilege information from event observation.

Keywords: workflow system, activity management system, activity execution, document management, security control, least privilege, dynamic authorization.

Introduction

Workflow systems are becoming very popular and are being used to support many of the day to day activities in large organizations. These activities require interaction between humans and systems and among systems for their execution. The CapBasED-AMS (Capability-based and Event-driven Activity Management System), a workflow system, developed in https://www.w3.org/1998/Math/MathML"> 1,2 , 3,4 , 6,7 , 8,9 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3802.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ) deals with the specification, management and execution of activities. A Problem Solving Agent (PSA) is a human, or a hardware system, or a software system having an ability to execute activities. An activity consists of multiple in er-dependent tasks that need to be coordinated, scheduled and executed by a set of PSAs, where each task is an atomic activity executed by exactly one PSA. Since security is essential and integral part of activities, the activity management system has to manage and execute the activities in a secure way. In the CapBasED-AMS, threats, such as, unauthorized access or modification are identified as events. The security pilferage or illegal violation of privacy through accessing of specification time, compile time, or run-time data from activity management system and PSAs is monitored, controlled and reported. The activity execution is based on the occurrence of events. That is, a PSA after completion of a task (atomic activity) generates events which are captured by the activity management system, for initiating the execution of the next task.

In order to ensure integrity of activity execution, the detection of events and their transmission must be accomplished in an unambiguous, authentic and secure manner. A task can potentially involve some processing of documents, especially when executing document intensive task. Since many of the documents have sensitive information, document security issues have to be modeled, enforced, and managed by activity management system properly. We have developed a secure CapBasED-AMS (See Figure 1.) by taking into consideration the system infrastructure, secure matchmaking with additional security constraints, security policies, and secure PSA. Further, we developed a task coordination model for security document control and from the PSA viewpoint, organization viewpoint, task viewpoint, and activity viewpoint by adapting a role-based document security model, and protocols to facilitate event transmission and management for supporting the integrity of activity execution. In this paper, we discuss the issues for document security enforcement by considering the aspects of least privilege, dynamic authorization of document access and deduction of privilege information by event observation. The rest of the paper is organized as follows, section 2 describes the least privilege and the dynamic authorization of document access, section 3 describes the deduction of document privilege information from event observation, knowledge section 4 describes the case studies of additional issues in document security enforcement and section 5 presents the summary and future work.

Least Privilege Concept

Workflow systems are becoming very popular and are being used to support many of the day to day activities in large organizations. These activities require interaction between humans and systems and among systems for their execution. The CapBasED-AMS (Capability-based and Event-driven Activity Management System), a workflow system, developed in https://www.w3.org/1998/Math/MathML"> 1,2 , 3,4 , 6,7 , 8,9 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3803.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> deals with the specification, management and execution of activities. A Problem Solving Agent (PSA) is a human, or a hardware system, or a software system having an ability to execute activities. An activity consists of multiple in er-dependent tasks that need to be coordinated,

Figure 1: Architecture of Secure CapBasED-Activity Management System scheduled and executed by a set of PSAs, where each task is an atomic activity executed by exactly one PSA. Since security is essential and integral part of activities, the activity management system has to manage and execute the activities in a secure way. In the CapBasED-AMS, threats, such as, unauthorized access or modification are identified as events. The security pilferage or illegal violation of privacy through accessing of specification time, compile time, or run-time data from activity management system and PSAs is monitored, controlled and reported. The activity execution is based on the occurrence of events. That is, a PSA after completion of a task (atomic activity) generates events which are captured by the activity management system, for initiating the execution of the next task.

In order to ensure integrity of activity execution, the detection of events and their transmission must be accomplished in an unambiguous, authentic and secure manner. A task can potentially involve some processing of documents, especially when executing document intensive task. Since many of the documents have sensitive in- formation, document security issues have to be modeled, enforced, and managed by activity management system properly. We have developed a secure CapBasED-AMS (See Figure 1.) by taking into consideration the system infrastructure, secure matchmaking with additional security constraints, security policies, and secure PSA. Further, we developed a task coordination model for security document control and from the PSA viewpoint, organization viewpoint, task viewpoint, and activity viewpoint by adapting a role-based document security model, and protocols to facilitate event transmission and management for supporting the integrity of activity execution. In this paper, we discuss the issues for document security enforcement by considering the aspects of least privilege, dynamic authorization of document access and deduction of privilege information by event observation. The rest of the paper is organized as follows, section 2 describes the least privilege and the dynamic authorization of document access, section 3 describes the deduction of document privilege information from event observation, section 4 describes the case studies of additional issues in document security enforcement and section 5 presents the summary and future work.

The principle of least privilege for document access requires that each PSA in CapBasED-AMS be granted the most restrictive set of privileges (or lowest clearance) of document access needed for the execution of assigned tasks during a session. A session is a time interval during which a task of an activity gets executed. Least privilege with Discretionary Access Control (DAC) and Mandatory Access Control (MAC) set up tight domains of privilege in which specific PSAs can access to a specific document. The application of this preventive security principle limits the damage that can result from accident, error, or unauthorized use. In the next two subsections, we consider this principle from three perspectives: (1) static least privilege analysis of an activity specification, (2) dynamic least privilege enforcement during activity execution, and (3) dynamic evolution of least privileges.

23.1. Static Least Privilege Analysis

A practical problem with security controls is that they “get in the way” when people want to do their work. For example, when a PSA needs to edit a file, it is a significant annoyance if he does not have write permission for the file and must go to the file owner to be granted permission. As a result, file owners find it convenient to grant liberal permissions, e.g., read/write/execute permission to everyone. Thus, we see that user and PSA convenience is in direct conflict with the principle of least privilege. To address this concern, it would be useful to have a static analysis tool that identifies the least set of privileges that are sufficient for people to get their jobs done. More generally, document owners and security officers can work with the tool to identify a set of privileges that are sufficient for people to do their jobs, yet acceptable from the viewpoint of whether those people are trusted with those privileges (e.g., as determined by a personnel security background check). Such a tool is made possible using CapBasED-AMS specifications. Essentially, the task specifications provide the information about privileges are needed for PSAs to do their job. During the static specification of a task, the task creator or Security Officer specifies the set of documents and access privileges that the task requires to be executed successfully. Every task has both input and output event(s) (except the “START” and “END” task in the coordination plan as developed in https://www.w3.org/1998/Math/MathML">   2,8 ) https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3804.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ), plus there may be documents embedded in events as shown in figure 2.

In Doc.1, ..., In Doc. N are the set of documents embedded in the input event(s). Also, some documents from In Doc. or New Doc. may be archived in the document system by the PSA. The output document Out Doc. includes the documents of the input document In Doc. and new document New Doc., but does not include the document in the Archives Doc., i.e., Out Doc. \subseteq (In Doc. https://www.w3.org/1998/Math/MathML"> ∪ https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3805.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> New Doc.) – Archives Doc.. There may be more than one output event of a task, in which case there may be more than one output document which carries semantic value to the next coordinated task as well, i.e., Out Doc.1, ..., Out Doc.N. For example, as shown in Figure 2, the output document of Task 1 is the input document of next coordinated Task 2, i.e. Out Doc1. https://www.w3.org/1998/Math/MathML"> → https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3806.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> In Doc2..

In addition to the static specification of tasks, an AMS specification includes specifications of PSAs and their capabilities. In particular, for any given task, it is possible to derive the set of PSAs who are capable (but not necessarily permitted) of performing the task. From this information, it is possible to derive a feasible assignment of PSAs to tasks. Such an assignment must take into account estimates of task completion times as well as inter-task dependencies. Finally, from such an assignment, the tool can derive the least set of privileges that would be needed to carry out all tasks. Note that the above analysis is done statically-at task specification time-and would be used to grant a set of privileges prior to task execution. Thus, we can employ a least privilege principle, while avoiding to the greatest possible extent the annoyance of have to consult document owners and/or security officers to grant new privileges at task execution time.

2.2 Dynamic Least Privilege Enforcement

In addition to the static identification and assignment of privileges, it is desirable to further restrict the privileges of PSAs dynamically, i.e., during task execution. For example, suppose a PSA is granted the privilege to write a particular file, say F, for the purpose of performing a particular task, say T. In this case, the PSA does not need to write F before he has started task T. Nor does he need to write F after T is finished. The principle of least privilege indicates that ideally, the PSA would be allowed to write F only while he is actively engaged in task T. Again, the use of an activity management system such as CapBasED-AMS allows us to implement such dynamic enforcement. The task needs to access various documents, like read and write, in order to be executed. The PSA who is assigned to the task dynamically (i.e., at runtime) will be granted the least privileges to the documents required for the execution of the task. Therefore, the PSA can access those required documents during the execution of task. This approach is called the execution time centralized PSA driven based document access control. These privileges will be revoked from the PSA after it has finished the execution. This policy will reduce the possibilities

Document Flow within Task

Document Flow between Tasks

Figure 2: Document Flow in Task

of information being released to third parties as the PSA is denied access to that information after the execution of the task.

2.3 Dynamic Evolution of Least Privileges

Owing to unforeseen requirements of a given task, a PSA may need to access more documents than those specified (statically) by the task creator. For example, the PSA may perform certain operations on input documents and create a set of new documents New Doc. with value added information. (See Figure 2.) Such exceptional cases will need to be handled by CapBasED-AMS. If the privilege has been granted to the PSA statically (e.g., in the context of another task), the privilege may be dynamically granted to the PSA in this exceptional case. This would be done for the convenience of the PSA and to avoid work delays; however, an alert would be sent to the task creator or system officer to inform them that the PSA is making use of his static privileges in an exceptional situation. Action could then be taken to investigate the matter, update the static privileges, etc, as appropriate. On the other hand, if the PSA does not have the required static privilege, human intervention is inevitable. Before proceeding, the task creator or security officer must be contacted to make a decision to grant or deny the privilege.

Besides exceptional requests for privileges, it may turn out that certain privileges that were specified by the task creator are never used during task execution. According to the principle of least privilege, such unnecessary privileges should not be granted to the PSA. Ideally, the activity management system would identify such unneeded privileges and after consulting the task creator or security officer (say, during a monthly review) these privileges could be revoked from the relevant PSAs.

To support such evolutionary development of access privileges, CapBasED-AMS is being designed to maintain a record of the runtime invocation of access privileges. When a PSA makes use of an access privilege in the context of a given task, CapBasED-AMS stores that fact. Thus, any reduction or expansion of the input and output document for the task can be identified and reflected back to the task creator or security administrator so that the static security specification of the task can be updated accordingly.

Document Privilege Detection

Figure 3: Deduction of Document Privilege Information By Event Observation In many situations, the privilege information of document access can be deduced by third party, e.g., observer, by observing the events triggered during the execution of activity. The observer can also be a PSA involved in the activity, because no PSA will know other PSAs work and status, or communicate with other PSA directly during task execution in the same activity. In Figure 3 we present an example of “Travel Claim Activity”. This activity is executed when the applicant submits the application form for travel claim. If the applicant is the observer, the observer can deduce privilege information through the flow of various documents during task execution. For example, the observer can deduce a set of privileges attached with his application form to the PSA who will execute this activity. After the execution of activity is finished, the observer may receive some documents from the result. Based on the information received, the observer can deduce partial picture of document flow in this activity as shown in Figure 3 .

Furthermore, the observer can grasp more privileged information about document by sending detective event during the execution of activity as shown in figure 4 . For example, the observer can keep on enquiring about the status of his application from the PSA involved. Then the observer may be able to grasp more information by invoking the detective event during the execution of activity.

Figure 4: Deduction of Document Privilege Information By Detective Event

Figure 5: Prevention of Privilege Information Deduced By Cover Story

Figure 6: Prevention of Privilege Information Deduced By Noise

To prevent the observer from deducing the information for illegal or improper purpose. One way to prevent this situation to be from happening is to use cover story in order to hide all the information. In Figure 5, the “rampart” (guard) is used to prevent any information released to observer or only allow certain form of information to be released to observer. For example, in the “Travel Claim Activity”, the activity will hide the name of the PSA has the right to approve the application from the applicant. In Figure 6 , we present another method which is more destructive. The activity releases the noise (flawed event) to observer when some information needs to be kept highly confidential. This method is usually used for fudging highly confidential information. For example, a police officer investigates the crime and releases the flawed information to public in order to cover the status of investigation.

Additional Security Issues

Figure 8: Travel Claim Activity

In this section, we discuss two examples which present additional issues for in document security enforcement during the execution. In Figure 7 shows a “Poster Design” activity that involves the hierarchy of PSAs in a design company. When there is a proposal for poster design sought, the first task “Generate Design Plan” will be assigned to the PSA “Designer”. The “Designer” will create the poster and submit the plan to next task “Evaluation” for approval. If there is nothing to change in the plan, then the whole activity will be finished. Otherwise, it will re-execute the task “Generate Design Plan” again until the plan is approved. In this company, the PSA “Supervisor” can view and read the documents involved in the whole activity according to the organization struc ure. For example, the PSA who executes the task “Evaluation” will write some criticism on the document for the design plan submitted by the “Designer”. The “Designer” is allowed to see the criticism, but not the name of the PSA who did the evaluation, whereas the “Supervisor” is allowed to see both the criticism and the name. But the problem occurs when the “Designer” promoted to “Supervisor”. The name of the PSA who wrote criticism of the “Supervisor” previous works should not be readable by this “Supervisor” even though “Supervisor” has the right to read it by default.

In Figure 8, it shows the other activity “Travel Claim”. In this case, the PSA1 who submitted the application form in task “Apply Travel Claim” must not be the PSA2 who approve the claim in task “Approve Application”. Therefore, the document “Travel Claim Application Form” can not be written and approved by the same PSA. This document access constraint also restricts the match making of the PSA to task in this case. This can be only supported by match making module.

27.1. Conflicts in Document Access

In some cases, the PSA may be able to access the same document by different privileges in different session. In Figure 9 , it is possible that an identical PSA, like PSA1 executes Task1 and Task3 or PSA2 executes Task2 and Task4, execute more than one task in the same activity. If there are some security restrictions or constraints on the document that does not allow the same PSA to read and write the same document. This will have the security conflicts since PSA1 can write the document during the session of Task1 execution and it can also read and write the same document during the session of Task 3 execution. In case of CapBasED-AMS, the Match Maker should be able to detect this conflict and assign these two tasks to different PSAs based on the security constraint imposed on the document. Furthermore, the same situation will also occur in multi activities environment as shown in Figure 10 . In this case, the Match Maker should be able to detect the document access conflicts among different activities as well.

Figure 9: Document Access Conflict in Single Activity Environment

Summary and Future Work

The main focus of this paper is to raise some important issues for document security enforcement for the execution of activity. We introduce three important problems, namely, principle of least privilege, dynamic privilege enforcement, and deduction of document privilege information by event observation. And also, we raise the new concept in evaluation of security risk factor based on knowledge accumulation and dissemination factor. All these problems relate to maintaining security while providing less hindrance to the execution of the activities. The problem of least privilege is very challenging in an dynamic environment wherein the document needs of a task change over time. The intuitive notion of least privilege is not new. In

Figure 10: Document Access Conflict in Multi Activities Environment

fact, it has appeared in the (US government standard) “Trusted Computing Systems Evaluation Criteria” as far back as 1985 . We are not aware of any current work that addresses these problems in the framework of an activity management system.

The goal of this paper is bring these three important problems to the notice of the researchers and promote further work in this challenging area of security enforcement in activity management systems. We have already addressed some basic issues by developing a framework of security enforcement in activity management systems and are currently enhancing the prototype implementation of CapBasED-AMS https://www.w3.org/1998/Math/MathML">   6 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3807.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ) to incorporate security features. Furthermore, we are also developing the web based secure CapBasED-AMS for use in Internet/WWW environments. Beyond this, we have been developing mechanisms for dynamic enforcement of least privilege, as well as a framework for exploring the tradeoff between security and fault resilience https://www.w3.org/1998/Math/MathML">   5 https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780429081897/8b3c3edd-5cb2-4237-bdb7-6714c51d8710/content/eq3808.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/> ). To date, our work has been in terms of the Secure CapBasED-AMS (Capability-based and Event-driven Activity Management System); however, we believe the work can be applied in other settings. In particular, the basic feature of the Secure CapBasEDAMS that makes it suitable for exploring least privilege is that it provides a vehicle to describe what needs to be done by the users of the system. It is the interaction between what the users need to do (what needs to be allowed) and the least privilege security requirement (what needs to be disallowed) that makes least privilege a difficult problem.

Bibliography

S. Chakravarthy, K. Karlapalem, S. B. Navathe, and A. Tanaka. Database Supported Cooperative Problem Solving. International Journal of Intelligent and Cooperative Information System, September 1993.

P. Hung. A Capability-Based Activity Specification and Decomposition for an Activity Management System. Master’s thesis, The Hong Kong University of Science and Technology, 1995 . 3) P. C. K. Hung and K. Karlapalem. Task Oriented Modeling of Document Security in CapBasED-AMS. In IPIC’96, Rethinking Documents, Boston, November, 1996 .

P. C. K. Hung and K. Karlapalem. A Paradigm for Security Enforcement in CapBasEDAMS. In Second IFCIS Conference on Cooperative Information Systems, CHARLESTON, June, 1997.

P. C. K. Hung, K. Karlapalem, and J. Gray. A Study of Least Privilege in CapBasED. AMS. Third IFCIS Conference on Cooperative Information Systems (CoopIS’98), 1998 .

P. C. K. Hung, H. P. Yeung, and K. Karlapalem. CapBasED-AMS: A Capability-based and Event-driven Activity Management System (Demonstrations). Proceedings of the ACM SIGMOD Conference on Management of Data, June 1996.

K. Karlapalem and P.C.K. Hung. Security Enforcement in Activity Management System. In Workfow Management Systems and Interoperability, Turkey, August, 1997.

K. Karlapalem, H. P. Yeung, and P. C. K. Hung. CapBasED-AMS – A Framework for Capability-Based and Event-Driven Activity Management System. Proceedings of the Third International Conference on Cooperative Information Systems, 1995.

H. Yeung. An Event-driven Activity Execution for An Activity Management System. Master’s thesis, The Hong Kong University of Science and Technology, 1995 .