In current information systems, a huge number of IoT (Internet of Things) devices are interconnected with various kinds of networks like WiFi and 5G networks. A large volume of data is gathered into servers from a huge number of IoT devices and is manipulated to provide application services. Gathered data is encapsulated along with methods to manipulate the data as an object like a database system. In object-based systems, each application is composed of multiple objects. In addition, each object is replicated on multiple physical servers in order to increase availability, reliability, and performance of an application service. On the other hand, replicas of each object is required to be mutually consistent in presence of multiple transactions. Here, a larger amount of electric energy and computation resources are consumed in physical servers than non-replication approaches to serialize conflicting transactions on multiple replicas. Many algorithms to synchronize conflicting transactions are so far proposed like 2PL (Two-Phase Locking) and TO (Timestamp Ordering). However, the electric energy consumption is not considered. In this paper, an EEQBL-OMM (Energy-Efficient Quorum-Based Locking with Omitting Meaningless Method) protocol is newly proposed to reduce not only the average execution time of each transaction but also the total electric energy consumption of servers by omitting the execution of meaningless methods on replicas of each object. Evaluation results show the total electric energy consumption of servers, the average execution time of each transaction, and the number of aborted instances of transactions in the EEQBL-OMM protocol can be on average reduced to 79%, 62%, and 80% of the ECLBQS (Energy Consumption Laxity-Based Quorum Selection) protocol which is proposed in our previous studies in a homogeneous set of servers, respectively. In addition, the evaluation results show the total electric energy consumption of servers, the average execution time of each transaction, and the number of aborted instances of transactions in the EEQBL-OMM protocol can be on average reduced to 73%, 50%, and 67% of the ECLBQS protocol in a heterogeneous set of servers, respectively. The evaluation results also show at most 48% and 51% of the total number of methods can be omitted as meaningless methods in a homogeneous set and heterogeneous set of servers, respectively, in the EEQBL-OMM protocol.
Various types of IoT (Internet of Things) [3,16,21] devices which combine various kinds of hardware components like sensors, actuators, and cameras are developed to sense various situations and respond to the change of state. These IoT devices are embedded into various kinds of equipments like home electric appliances [20] and factory automation equipments [34], and provide the connection to various types of networks like wireless and wired networks. In current information systems, a huge number of IoT devices are interconnected with various kinds of network systems like Ethernet, WiFi, and 5G networks to provide various types of distributed application services like factory automation [34], home management [20], and vehicle network services [2,30]. IoT devices sense various kinds of events like sounds and air vibrations, and send the sensor data to servers in a system to store and manipulate the data. Hence, a large volume of data is gathered into servers from a huge number of IoT devices and is manipulated to provide application services. High performance, scalable, and fault-tolerant computing systems like cloud [4,22,35] and fog [23,32] computing systems with IoT networks are required to design and implement these distributed application services. Data gathered from IoT devices is encapsulated along with methods to manipulate the data as an object [27]. An object [27] is an unit of computation resource like a database system. Data in an object can be manipulated by using only methods encapsulated in the object. Objects are distributed on multiple physical servers in a system. In object-based systems, each application is composed of multiple objects distributed in multiple physical servers.
A transaction [1] is an atomic sequence of methods to manipulate target objects. Each transaction created on a client issues methods supported by target objects to use a provided application service. A composition means that a state obtained by performing a method after another method on an object o. Here, a method conflicts with another method iff (if and only if) . Otherwise, a pair of methods and is compatible with each other. For example, a write method conflicts with a read method on an object. On the other hand, a pair of read methods are compatible on an object. Conflicting methods issued by multiple transactions might be concurrently performed on each object and have to be serialized to keep all the objects mutually consistent. The 2PL (Two-Phase Locking) protocol [1] and the TO (Timestamp Ordering) scheduler [1] are widely used to serialize multiple conflicting transactions. In the 2PL protocol and TO scheduler, multiple conflicting transactions are serialized based on principles “first comer is a winner” and “timestamp order”, respectively. In our previous studies, the RO (Role Ordering) scheduler [12] is proposed to serialize multiple conflicting transaction based on the significant dominant relation among roles [24]. The LIF (Legal Information Flow) scheduler [8] and the PM (Purpose-Marking) protocol [13] are proposed to not only serialize multiple conflicting transactions but also prevent illegal information flow.
In order to increase availability, reliability, and performance of an application service, replication approaches [26] are widely used in object-based systems. Each object which constructs an application service is replicated on multiple physical servers. Here, replicas of each object have to be serialized to keep replicas of each object mutually consistent. The 2PL protocol with “read-one-write-all” scheme [26] and QBL (Quorum-Based Locking) protocol [17] are widely used to serialize multiple conflicting transactions in the replication approach. Replicas of each object can be mutually consistent by using the 2PL and QBL protocols in the replication approach. However, a larger amount of electric energy is consumed in servers than non-replication approaches since each method issued to an object is performed on multiple replicas allocated to multiple physical servers. In order to design and implement a reliable, available and high performance application service in object-based systems, the energy-efficient concurrency control mechanism is required to not only serialize multiple conflicting transactions on replicas of each object in an application but also reduce the total electric energy consumption of servers to perform methods issued by the transactions as discussed in Green computing [11,28,31].
In our previous studies, the ECLBQS (Energy Consumption Laxity-Based Quorum Selection) protocol [9] is proposed to select a quorum of replicas for each method issued by a transaction so that the total electric energy consumption of servers to perform read and write methods can be reduced in the QBL protocol. However, every method issued by each transaction is surely performed on every replica in a quorum selected by the ECLBQS protocol. As a result, the more number of transactions are issued in an application, the larger amount of electric energy is consumed in the ECLBQS protocol compared with non-replication approaches. In this paper, meaningless methods which are not required to be performed on each replica of an object are defined based on the semantics of methods supported by each object and the precedent relation among methods issued by transactions. Then, an EEQBL-OMM (Energy-Efficient Quorum-Based Locking with Omitting Meaningless Method) protocol is newly proposed to furthermore reduce the total electric energy consumption of servers than the ECLBQS protocol by omitting the execution of meaningless methods on replicas of each object. The EEQBL-OMM protocol is evaluated in terms of the total electric energy consumption of servers to perform methods issued by transactions, the average execution time of each transaction, the number of aborted transactions, and the ratio of meaningless methods to the total number of methods issued by transactions compared with the ECLBQS protocol in sets of homogeneous and heterogeneous servers, respectively. The evaluation results show the total electric energy consumption of servers, the average execution time of each transaction, and the number of aborted instances of transactions in the EEQBL-OMM protocol can be on average reduced to 79%, 62%, and 80% of the ECLBQS protocol, respectively, in a homogeneous set of servers. The total electric energy consumption of servers, the average execution time of each transaction, and the number of aborted instances of transactions in the EEQBL-OMM protocol can be reduced to at most 83%, 72%, and 93% of the ECLBQS protocol, respectively, in a homogeneous set of servers. In addition, the total electric energy consumption of servers, the average execution time of each transaction, and the number of aborted instances of transactions in the EEQBL-OMM protocol can be on average reduced to 73%, 50%, and 67% of the ECLBQS protocol, respectively, in a heterogeneous set of servers. The total electric energy consumption of servers, the average execution time of each transaction, and the number of aborted instances of transactions in the EEQBL-OMM protocol can be reduced to at most 81%, 66%, and 88% of the ECLBQS protocol, respectively, in a heterogeneous set of servers. In addition, the evaluation results show at most 48% and 51% of the total number of methods issued by transaction can be omitted as meaningless methods in a homogeneous set and heterogeneous set of servers, respectively, in the EEQBL-OMM protocol while every method is surely performed in the ECLBQS protocol.
In Section 2, we show related studies on concurrency control mechanisms and energy-efficient information systems. In Section 3, we discuss the system model of this paper. In Section 4, we define the meaningless methods and propose the EEQBL-OMM protocol. In Section 5, we evaluate the EEQBL-OMM protocol compared with the ECLBQS protocol. Table 1 shows a list of acronyms used in this paper.
List of acronyms
Acronyms
Definitions
AAT
Average number of Aborted instances for each Transaction
AET
Average Execution Time
ATPEE
Average Total Processing Electric Energy
ECLBQS
Energy Consumption Laxity-Based Quorum Selection
EEQBL-OMM
Energy-Efficient Quorum-Based Locking with Omitting Meaningless Method
LIF
Legal Information Flow
OBO
Object-Based Ordered
OG
Object-based Group
PEP
Processing Electric Power
PCS
Power Consumption model for a Storage server
PM
Purpose Marking
QBL
Quorum-Based Locking
QOL
Quorum-based Object Locking
RO
Role Ordering
TEE
Total Electric Energy
TNM
Total Number of Methods
TNMM
Total Number of Meaningless Methods
TO
Timestamp Ordering
TPEE
Total Processing Electric Energy
2PL
Two-Phase Locking
Λ
Average Ratio of the Total Number of Meaningless Methods
Related works
There are various kinds of approaches to serializing multiple conflicting transactions. In our previous studies, the OBO (Object-Based Ordered) relation [10] among request and response messages is defined based on the conflicting and precedent relations among methods performed on each object. Then, the OG (Object-based Group) protocol [10] is proposed based on the OBO relation to not only serialize multiple conflicting methods on each object but also order only messages which are required to be ordered at application level. The role-based access control model [24] is widely used in object-based systems. A role is a job function in an enterprise and is defined to be a set of access rights in a system. The significant dominant relation among roles [12] is defined based on the significancy of objects, methods, and access rights in our previous studies. Then, the RO (Role Ordering) scheduler [12] is proposed to serialize multiple conflicting transactions based on the significancy of roles granted to subjects which issue the transactions. The LIF (Legal Information Flow) relation [8] among roles is defined based on the precedent relation among roles. Then, the LIF scheduler [8] is proposed to not only prevent illegal information flow but also serialize conflicting transactions based on the significancy and information flow relation among roles. The purpose concept [13,33] is proposed based on the role concept [12,24]. A purpose of a transaction is a subfamily of roles granted to the subject who created the transaction. The PM (Purpose Marking) protocol [13] is proposed based on the purpose concept to not only serialize multiple conflicting transaction in significancy of purposes but also prevent illegal information flow. In object-based systems, each object might be replicated on multiple physical servers in order to increase the availability, reliability, and performance of an application service. However, in these serialization approaches, the replication of objects is not considered.
Physical servers might stop by fault [1,18,19,26]. If a physical server stops by fault, methods which are being performed on objects in the physical server also stop. Then, transactions which issue the methods to the objects in the faulty physical server also have to abort. As a result, an application service stops due to the fault of the physical server. Types of replication approaches [26] are widely used to increase availability and reliability of an application service. In the replication approach, each object which constructs an application service is replicated on multiple physical servers. Availability and reliability of an application service can increase by using the replication approach. On the other hand, throughput of an application service might decrease since conflicting methods issued by multiple transactions have to be serialized to keep replicas of each object mutually consistent. The 2PL (Two-Phase Locking) protocol [1] is widely used in object-based systems to serialize multiple conflicting transaction where each object is replicated on multiple physical servers. In the 2PL protocol, each transaction has to lock replicas of each target object before manipulating the object. Hence, only a transaction which locks replicas of an target object earlier than the other transactions can manipulate the object. The other transactions have to wait for releasing locks on the replicas of the object. Therefore, in the 2PL protocol, multiple conflicting transactions are serialized based on a mechanism that only the first comer is a winner and the others are losers. In the 2PL protocol, the “read-one-write-all” scheme [1,26] is widely used to serialize multiple conflicting transactions where each object is replicated on multiple physical servers. In the read-one-write-all scheme, one replica of an object and all the replicas of an object are locked for each of read and write methods, respectively, before manipulating the object. However, the read-one-write-all scheme is not efficient for the write dominant application services since each transaction has to lock every replica for each target object before issuing a write method. As a result, throughput of an application service decreases since the overhead to lock replicas of each object increases in write dominant application services. The QBL (Quorum-Based Locking) protocol [17] is proposed as an object replication approach to not only serialize multiple conflicting transactions but also reduce the overhead to perform write methods on replicas of each object. In the QBL protocol, each transaction locks subsets of replicas for read and write methods, respectively, before manipulating an object. Subsets of replicas locked for read and write methods are referred to as (r-) and (w-), respectively. Let and be quorum numbers for read and write methods, respectively, i.e. the number of replicas to be locked for read and write methods. In the QBL protocol, the condition “” has to be satisfied where N is the total number of replicas of an object. The more number of write methods are issued and concurrently performed on an object, the fewer write quorum number can be taken in the QBL protocol. As a result, the overhead to lock replicas of each object and perform write methods can be reduced in the QBL protocol than the 2PL protocol with read-one-write-all scheme. In our previous studies, the QOL (Quorum-based Object Locking) protocol [29] is proposed to furthermore reduce the overhead to lock the replicas of each object than the QBL protocol by considering abstract methods supported by each object. In the TO (Timestamp Ordering) scheduler [1], multiple conflicting transactions can be serialized without a locking mechanism. In TO scheduler, every transaction is given a timestamp when the transaction is created in a system. Hence, transactions can be totally ordered by using their timestamps. In the TO scheduler, multiple conflicting transactions are serialized based on the timestamp order of the transactions. However, in these protocols and schedulers, every method issued by each transaction is surely performed on every target replicas. As a result, the more number of transactions are issued in a system and concurrently performed on replicas of each object, a larger electric energy is consumed in servers than non-replication approaches. Hence, an energy-efficient concurrency control mechanism where each object is replicated on multiple servers has to be designed and implemented to not only serialize multiple conflicting transactions but also reduce the total electric energy consumption of servers to perform methods on replicas of each object as discussed in Green computing [11,28,31].
The electric power consumed in a server depends on not only hardware devices equipped in the server but also types of application processes performed on the server. In our previous studies, the electric power of a physical server is measured to perform computation [5–7,16], communication [14], storage [25], and general [15] types of application processes. Then, the PCS (Power Consumption model for a Storage server) model [25] to concurrently perform storage and computation types of application processes on a server is proposed. Based on the PCS model, the ECLBQS (Energy Consumption Laxity-Based Quorum Selection) protocol [9] is proposed to reduce the total electric energy consumption of physical servers in the QBL protocol. In the ECLBQS protocol, each time a transaction selects a quorum for each method, the transaction selects members of the quorum so that the total electric energy consumption of servers to perform the method is the minimum. As a result, the total electric energy consumption of servers can be more reduced in the ECLBQS protocol than the QBL protocol. However, every method issued by each transaction is surely performed on every replica in each quorum selected by the ECLBQS protocol. Hence, we newly define meaningless methods which are not required to be performed on each replica based on the semantics and the precedent relation among methods supported by each object in this paper. In addition, we newly propose the EEQBL-OMM (Energy-Efficient Quorum-Based Locking with Omitting Meaningless Method) protocol to furthermore reduce the total electric energy consumption of servers than the ECLBQS protocol by omitting the execution of meaningless methods on replicas of each object.
System model
Object-based systems
An object-based system is composed of a set S of multiple physical servers () and clients interconnected in reliable networks. In this paper, a term server means a physical server. An application service is composed of a set O of objects () [27]. An object is an unit of computation resource like a database system. Each object is an encapsulation of data and methods to manipulate the data in the object . Methods supported by each object are classified into read (r) and (w) methods. Write methods are furthermore classified in to partial write () and full write () methods, i.e. . In this paper, we assume data in an object is fully read by a read method. A part of data in an object is written by a partial write method. A whole data in an object is fully written by a full write method. For example, suppose a file object F supports create, drop, modify, and read methods. Here, a pair of create and drop methods are full write methods. A modify method is a partial write method since only some field of a record is changed. A notation shows a state of an object obtained by performing a method (). Let be a state of an object by performing a method before another method . A method conflicts with another method on an object iff (if and only if) . Otherwise, a pair of methods and on an object are with each other, i.e. for every state of an object . In this paper, the conflicting relations among methods is assumed to hold as shown in Table 2 and the conflicting relation among methods is symmetric. For example, a pair of read methods on a file object F are compatible. On the other hand, a read method conflicts with create, drop, modify methods, respectively, on the file object F.
Conflicting relation among methods
read (r)
full write ()
partial write ()
read (r)
◯
×
×
full write ()
×
×
×
partial write ()
×
×
×
◯: compatible. ×: conflict.
Each object is replicated on multiple servers to increase availability, reliability, and performance of an application service. A notation shows a set of replicas () [26] of an object . Let be the total number of replicas of an object , i.e. . Replicas of each object are distributed on multiple servers in a set S of physical servers where each pair of replicas and are on different physical servers. A notation denotes a subset of physical servers which hold a replica of an object (). For example, a set S of multiple physical servers is composed of three servers , , and as shown in Fig. 1. An application service is composed of two objects and , i.e. . Each object is replicated on two servers in a set S of servers, i.e. (). For the object , and . and for the object .
Replication of objects.
Transactions and Quorum-Based Locking (QBL) protocol
A transaction [1] is an atomic sequence of methods. A transaction is created on a client and issues read (r) and write (w) methods to manipulate replicas of objects. Let T be a set () of transactions created in a system. Multiple conflicting methods issued by multiple transactions are required be serializable [1,18,26] to keep replicas of every object mutually consistent. A notation denotes a schedule of transactions in a set T of transactions. A transaction precedes another transaction () in a schedule iff (if and only if) a method issued by the transaction is performed before another method issued by the transaction and the method conflicts with the method . A schedule is serializable iff the precedent relation is acyclic [1].
The QBL (Quorum-Based Locking) protocol [17,29] is proposed to serialize multiple conflicting transactions in order to keep replicas of every object in a system mutually consistent. In this paper, we assume each object is replicated on multiple servers and multiple conflicting transactions are serialized based on the QBL protocol. Let be a lock mode of a method (). A lock mode conflicts with another lock mode iff a method conflicts with another method on an object . Otherwise, a pair of lock modes and are compatible, i.e. a pair of methods and are compatible on an object . For example, a lock mode conflicts with a lock mode on a file object F since a drop method conflicts with a read method on the file object F. On the other hand, a pair of lock modes are compatible since a pair of read methods are compatible on the file object F. A notation () shows a subset of replicas of an object to be locked by a method . A subset of replicas is referred to as a quorum [17,29] of a method on an object . Let be the quorum number of a method on a object , i.e. the number of replicas in a set ().
Quorum conditions
Every quorum has to satisfy the following conditions:
, , and .
, i.e. .
.
Suppose there are three replicas , , and of an object . If a pair of replicas and are updated but the replica is not updated, a pair of replicas and are newer than the replica . If the quorum conditions are satisfy, at least one newest replica of an object is surely included in every quorum. Each transaction locks replicas of an object before manipulating the replicas with a method by the following QBL protocol [17,29]:
Quorum-Based Locking (QBL) Protocol
A transaction selects replicas in a set of replicas of an object according to the quorum conditions. A quorum for a method is composed of the selected replicas.
If the transaction could lock every replica in a quorum by a lock mode , the transaction issues the method and the replicas in the quorum are manipulated by the method .
When the transaction commits or aborts, the locks on the replicas in the quorum are released. Once the transaction releases locks on the replicas in the quorum , the transaction does not lock replicas on any object until the transaction commits or aborts.
In the QBL protocol, each replica has a version number. Suppose a transaction is created on a client to read an object . The transaction selects replicas in a set according to the quorum conditions, i.e. the transaction selects a read (r-) quorum for a read method. If the transaction could lock every replica in the r-quorum by a lock mode , the transaction reads data d in a replica whose version number is the maximum in the r-quorum . Suppose a transaction is created on a client to write data in an object . The transaction selects replicas in a set , i.e. the transaction selects (w-) quorum for a write method. If the transaction could lock every replica in the w-quorum by a lock mode , the transaction writes data d in a replica whose version number is maximum in the w-quorum . In addition, the version number of the replica is incremented by one. The updated data d and version number of the replica are sent to every other replica in the w-quorum . On receipt of the updated data d and version number , each replica in the w-quorum replaces their data and version number with the newest values.
Data access model of read and write methods
In object-based systems, each transaction can manipulate objects only through methods supported by the objects. Methods which are being performed on replicas of objects are current at time τ. Let and be sets of current read (r) and write (w) methods performed on a server at time τ, respectively. A notation denotes a set of current read and write methods on a server at time τ, i.e. . Let be a read method issued by a transaction to read data in a replica stored in a server . Let be a write method issued by a transaction to write data in a replica on a server . At time τ, a current read method in a set reads data in a replica at rate [Bytes/sec (B/sec)]. A current write method in a set writes data in a replica at rate [B/sec]. Let and be the maximum read and write rates [B/sec] supported by a server , respectively. At time τ, the read rate [B/sec] () and write rate [B/sec] () for each read and write method performed on a server are given as Eq. (1), respectively
Here, and are degradation ratios of the read rate and write rate , respectively. The degradation ratio is where . The degradation ratio is where . The read rate and write rate for each read and write method depend on the number of current read and write methods being performed on a server at time τ.
The read laxity [Bytes (B)] and write laxity [B] of methods and show how much amount of data are to be read and written in a replica by the methods and , respectively, at time τ. Suppose that methods and start on a server at time , respectively. At time , the read laxity is [B] where is the size of data in a replica to be read by a read method . The write laxity is [B] where is the size of data to be written in a replica by a write method . The read laxity [B] and write laxity [B] at time τ are given as Eq. (2), respectively
Electric power consumption model of a server
The PCS (Power Consumption model for a Storage server) model [25] to concurrently perform storage and computation processes is proposed in our previous studies. A notation shows the electric power [W] consumed by a server at time τ. Let and be the maximum and minimum electric power [W] consumed by a server , respectively. In this paper, we assume only read and write methods are performed on a server to manipulate replicas of objects allocated to the server . According to the PCS model, the electric power [W] of a server at time τ to concurrently perform multiple read and write methods is given as Eq. (3).
The electric power consumed in a server is the minimum electric power [W] if no method is performed on the server , i.e. the electric power where the server is in the idle state. The server consumes the electric power [W] if only read methods are performed on the server . The server consumes the electric power [W] if only write methods are performed on the server . The server consumes the electric power [W] where if both at least one read method and at least one write method are concurrently performed in the server . Here, .
In this paper, time is modeled to be a discrete sequence of time units [tu]. The total electric energy (TEE) [J] consumed in a server between time and is . The processing electric power (PEP) [W] consumed in a server at time τ is - . The total processing electric energy (TPEE) [J] consumed in a server between time and is given as . The total processing electric energy laxity [J] [9] of a server shows how much electric energy the server has to consume to perform every current read and write methods on the server at time τ. In our previous studies, the procedure [9] is proposed to calculate the total processing electric energy laxity [J] of a server at time .
Energy-efficient protocol
Quorum selection with the ECLBQS protocol
In our previous studies, the ECLBQS (Energy Consumption Laxity-Based Quorum Selection) protocol [9] is proposed to select a quorum for each method issued by a transaction so that the total electric energy consumption of a set of servers ( 1) to perform read and write methods can be reduced. Suppose a transaction issues a method ( = {, }) to manipulate replicas of an target object at time . The transaction selects replicas to be members of a quorum for the method so that the total electric energy consumption of a set of servers to perform the method is the minimum in the ECLBQS protocol. In the ECLBQS protocol, each transaction selects a subset () of servers which hold replicas of target objects, whose total processing electric energy laxity is the minimum by the ECLBQS protocol [9] as shown in Algorithm 1.
ECLBQS protocol
EEQBL-OMM protocol
In this paper, we newly define meaningless methods which are not required to be performed on each replica of an object based on the semantics of methods supported by each object and the precedent relation among methods issued by transactions. Then, an EEQBL-OMM (Energy-Efficient Quorum-Based Locking with Omitting Meaningless Method) protocol is newly proposed to furthermore reduce the total electric energy consumption of a set of servers than the ECLBQS protocol by omitting the execution of meaningless methods on replicas of each object.
A method precedes another method in a schedule () iff (if and only if) one of the following conditions holds:
The methods is issued before another method by a same transaction .
The method issued by a transaction conflicts with the method issued by a transaction and .
for some method .
A notation shows a local schedule of methods which are performed on a replica of an object in a schedule in a set T of transactions.
A method locally precedes another method in a local schedule () iff .
Suppose a partial write method issued by a transaction locally precedes a full write method issued by another transaction in a local schedule () on a replica of an object . Here, it is not necessary to perform the partial write method on the replica of the object if the full write method is surely performed on the replica just after the partial write method , i.e. the full write method issued by the transaction can absorb the partial write method issued by the transaction on the replica .
A full write method absorbs another partial or full write method in a local subschedule on a replica of an object iff one of the following conditions is hold:
and there is no read method such that .
absorbs and absorbs for some method .
A read method absorbs another read method in a local subschedule on a replica of an object iff one of the following conditions is hold:
and there is no write method such that .
absorbs and absorbs for some method .
A method is meaningless iff the method is absorbed by another method in the local subschedule on a replica of an object .
In the EEQBL-OMM protocol, the total electric energy consumption of a set of servers can be more reduced than the ECLBQS protocol by omitting the execution of meaningless methods on replicas of each object. Suppose a set of servers is composed of five servers , i.e. ={, , , , }. An object is replicated on the five servers, i.e. and . Initially, the version numbers , , , , and of replicas , , , , and are 2, 1, 2, 2, and 1, respectively, as shown in Fig. 2 and Fig. 3. The quorum numbers and for the object are three according to the quorum conditions. A notation . shows a quorum to perform a method issued by a transaction on an object . Let . be a subset of servers which hold replicas in a quorum ..
Suppose a transaction selects three replicas , , and as a r-quorum. (= {, , }) by using the ECLBQS protocol [9] to perform a read method on an object . Three replicas , , and are locked by the transaction with a lock mode . Then, the read method is issued to the r-quorum.. The read method is performed on a replica since the version number (= 2) is the maximum in the -quorum . as shown in Fig. 2. Another transaction locks three replicas , , and with a lock mode and a read method is issued to a -quorum . (= {, , }). Suppose the read method is performed on the replica since the version number (= 2) is the maximum in the -quorum ., i.e. a pair of read methods and are concurrently performed on a replica and . Here, the read method issued by the transaction is a meaningless method since the read method issued by the transaction is being performed on the replica and absorbs the read method . Hence, the read method is not performed on a replica and a result obtained by performing the read method is sent to a pair of transactions and . This means that the meaningless read method is omitted on the replica .
A meaningless read method.
Suppose three replicas , , and are locked by a transaction with lock mode and a partial write methods is issued to a -quorum . (= {, , }) as shown in Fig. 3. The partial write method is performed on the replica since the version number (= 2) of the replica is the maximum in the -quorum .. Then, the version number is incremented by one, i.e. . The updated data and version number (= 3) are sent to a pair of replicas and . In the QBL protocol, data and version numbers of a pair of replicas and are replaced with the newest values as soon as the replicas and receive the updated data and version number, respectively. In the EEQBL-OMM protocol, a pair of version numbers and of the replicas and are replaced with the newest value but data of the replicas and are not replaced with the newest values until the next method is performed on the replicas and , respectively. This means that a pair of partial write methods and to replace data of the replicas and are delayed until the next method is performed on the replicas and , respectively. Suppose three replicas , , and are locked by a transaction with lock mode and a full write methods is issued to a -quorum . (= {, , }) after the transaction commits. Suppose the full write method issued by the transaction is performed on the replica since the version number (= 3) is the maximum in the -quorum .. Here, the partial write method issued by the transaction is a meaningless method since the full write method absorbs the partial write method on the replica . Hence, the full write method can be performed on the replica without performing the partial write method and the version number of the replica is incremented by one, i.e. . This means that the meaningless write method is omitted on a replica .
A meaningless write method.
Suppose three replicas , , and are locked by a transaction with lock mode and a read method is issued to a -quorum . (= {, , }) after the transaction commits as shown in Fig. 3. The transaction reads data in the replica since the version number (= 3) is the maximum in the -quorum .. Here, the partial write method issued by a transaction has to be performed before the read method is performed on the replica since the read method has to read data written by the partial write method issued by the transaction .
A notation . shows a read method issued by a transaction , which is being performed on a replica in a server . Let . be a write method issued by a transaction to replace data of a replica in a server with the updated data , which is waiting for the next method to be performed on the replica . Suppose a transaction issues a method to a quorum for manipulating an object . The method is performed on a replica whose version number is the maximum in the quorum . In the EEQBL-OMM protocol, the method is performed on the replica whose version number is the maximum in the quorum by the EEQBL-OMM_Perform_Method procedure as shown in Algorithm 2.
EEQBL-OMM_Perform_Method Procedure
Each time a replica in a write quorum receives the newest version number and updated data from another replica , the replica manipulates the version number and updated data by the EEQBL-OMM_Replace procedure as shown in Algorithm 3.
EEQBL-OMM_Replace Procedure
In the EEQBL-OMM protocol, meaningless methods are omitted on replicas of each object by using the EEQBL-OMM_Perform_Method and EEQBL-OMM_Replace procedures. As a result, the total electric energy consumption of a set of servers can be more reduced in the EEQBL-OMM protocol than the ECLBQS protocol.
Evaluation results
Evaluation environment
We evaluate the EEQBL-OMM protocol in terms of the total electric energy consumption of servers in a system, the average execution time of transactions, and the average number of aborted transactions compared with the ECLBQS protocol. In this evaluation, we consider a homogeneous set and a heterogeneous set of servers. The homogeneous set of servers is composed of twenty servers () and every server () follows the same data access model and power consumption model as shown in Table 3. The parameters of the data access model and power consumption model of every server in the set are given based on the experimentations [25]. The maximum read rate [B/sec] and write rate [B/sec] supported by every server are 80 and 45 [MB/sec], respectively. The parameters and in the read and write degradation ratios and of every server are 0.5, respectively. The minimum electric power [W] of every server is 39 [W]. The electric power of every server where only write methods are performed is 53 [W]. The electric power of every server where only read methods are performed is 43 [W]. An example of the server is the Orion server used in the experimentation [25]. The Orion server is equipped with an Intel core-i7-4790 CPU, eight mega-bytes memory, and two tera-bytes hard disk drive.
A homogeneous set of servers ()
server
80 [MB/sec]
45 [MB/sec]
0.5
0.5
39 [W]
53 [W]
43 [W]
The heterogeneous set of servers is composed of twenty servers (). There are three types of servers , , as shown in Table 4. The parameter of data access model and power consumption model of every server of each type is the same for each server type. In , every parameter of seven servers on data access model and power consumption model is the same as a server () in the homogeneous set servers. In , the maximum read rate [B/sec] and write rate [B/sec] supported by seven servers are 120 and 67 [MB/sec], respectively. The parameters and in the read and write degradation ratios and of every server in are 0.5, respectively. The minimum electric power [W] of every server in is 59 [W]. The electric powers and of every server in are 80 [W] 64 [W], respectively. In , [MB/sec] and [MB/sec] for every server (). The parameters and in the read and write degradation ratios and of every server in are 0.5, respectively. The minimum electric power [W] of every server in is 45 [W]. The electric powers and in are 60 [W] and 49 [W], respectively. An example of the server is the Orion server used in the homogeneous set of servers. The parameters of and servers are defined based on the parameters of the Orion server [25].
A heterogeneous set of servers ()
Type
server
80 [MB/sec]
45 [MB/sec]
0.5
0.5
39 [W]
53 [W]
43 [W]
120 [MB/sec]
67 [MB/sec]
0.5
0.5
59 [W]
80 [W]
64 [W]
136 [MB/sec]
76 [MB/sec]
0.5
0.5
45 [W]
60 [W]
49 [W]
A set of object is composed of sixty objects () as shown in Table 5, i.e. . Each object supports partial write (), full write (), and read () methods. The size of data in each object is randomly selected between 10 and 200 [MB]. The total number of replicas for every object is five, i.e. and (). Replicas of each object are randomly distributed on twenty servers in the homogeneous set and heterogeneous set of servers, respectively. The quorum numbers and on every object are three. The total number of transactions () are issues to manipulate objects. Each transaction issues three methods randomly selected from one-hundred eighty methods on the sixty objects. The total amount of data of an object is fully read and written by each read () and full write () methods, respectively. On the other hand, a half size of data of an object is written by each partial write () method. The starting time of each transaction is randomly selected in a unit of one second between 1 and 360 [sec].
A set of objects () and a set of replicas ()
Object
Size of data
Supported methods
10 ∼ 200 [MB]
, ,
5
3
3
Total processing electric energy consumption
The EEQBL-OMM protocol is evaluated in terms of the average total processing electric energy consumption [J] of the homogeneous set and heterogeneous set of servers to perform the total number () of transactions compared with the ECLBQS protocol. The total processing electric energy consumption [J] of the homogeneous set and heterogeneous set of servers is measured ten times for each number of transactions. The average total processing electric energy ATPEE consumption [J] is the average value of ten times measurement of the total processing electric energy consumption.
Figure 4 shows the average total processing electric energy ATPEE consumption [KJ] of the homogeneous set of servers to perform the number of transactions in the EEQBL-OMM and ECLBQS protocols. The average total processing electric energy ATPEE consumption of the homogeneous set of servers increases as the number of transactions increases in the EEQBL-OMM and ECLBQS protocols. For , the average total processing electric energy ATPEE consumption of the homogeneous set of servers can be more reduced in the EEQBL-OMM protocol than the ECLBQS protocol. In the EEQBL-OMM protocol, meaningless methods are omitted on replicas of each object while every method issued by each transaction are surly performed on every target replicas of each object in the ECLBQS protocol. As a result, the average total processing electric energy ATPEE consumption [KJ] of the homogeneous set of servers can be more reduced in the EEQBL-OMM protocol than the ECLBQS protocol. For example, for ,000, the average total processing electric energy ATPEE consumption [KJ] of the homogeneous set of servers in the EEQBL-OMM and ECLBQS protocols are 242 and 1479 [KJ], respectively. This means the average total processing electric energy ATPEE consumption [KJ] of the homogeneous set of servers in the EEQBL-OMM protocol can be reduced to at most 83% of the ECLBQS protocol. The average total processing electric energy ATPEE consumption [KJ] of the homogeneous set of servers in the EEQBL-OMM protocol can be on average reduced to 79% of the ECLBQS protocol for .
Average total processing electric energy ATPEE consumption [KJ] in the homogeneous set of servers.
Figure 5 shows the average total processing electric energy ATPEE consumption [KJ] of the heterogeneous set of servers to perform the number of transactions in the EEQBL-OMM and ECLBQS protocols. The average total processing electric energy ATPEE consumption of the heterogeneous set of servers increases as the number of transactions increases in the EEQBL-OMM and ECLBQS protocols. For , the average total processing electric energy ATPEE consumption of the heterogeneous set of servers can be more reduced in the EEQBL-OMM protocol than the ECLBQS protocol since meaningless methods are omitted in the EEQBL-OMM protocol. For example, for , the average total processing electric energy ATPEE consumption [KJ] of the heterogeneous set of servers in the EEQBL-OMM and ECLBQS protocols are 73 and 394 [KJ], respectively. This means the average total processing electric energy ATPEE consumption [KJ] of the heterogeneous set of servers in the EEQBL-OMM protocol can be reduced to at most 81% of the ECLBQS protocol. The average total processing electric energy ATPEE consumption [KJ] of the heterogeneous set of servers in the EEQBL-OMM protocol can be on average reduced to 73% of the ECLBQS protocol for .
Average total processing electric energy ATPEE consumption [KJ] in the heterogeneous set of servers.
Average execution time of transactions
The EEQBL-OMM protocol is evaluated in terms of the average execution time [sec] of transactions in the homogeneous set and heterogeneous set of servers, respectively, to perform the total number () of transactions compared with the ECLBQS protocol. Suppose a transaction starts at time and commits at time . The execution time [sec] of the transaction where the transaction commits is - [sec]. The execution time for each transaction is measured ten times for each total number of transactions (). Let be the execution time obtained in -th simulation. The average execution time AET [sec] of transactions for each total number of transactions is .
Figure 6 shows the average execution time AET [sec] of transactions in the homogeneous set of servers to perform the number of transactions in the EEQBL-OMM and ECLBQS protocols. In the EEQBL-OMM and ECLBQS protocols, the average execution time AET of transactions increases as the total number of transactions increases since more number of transactions are concurrently performed. For , the average execution time AET of transactions can be more reduced in the EEQBL-OMM protocol than the ECLBQS protocol. In the EEQBL-OMM protocol, meaningless methods are omitted on replicas of each object while every method issued by each transaction are surly performed on every target replicas of each object in the ECLBQS protocol. As a result, the average execution time AET of transactions can be more reduced in the EEQBL-OMM protocol than the ECLBQS protocol since each transaction can commit without waiting for performing meaningless methods on target replicas of each object in the EEQBL-OMM protocol. For example, for , the average execution time AET [sec] of transactions in the homogeneous set of servers in the EEQBL-OMM and ECLBQS protocols are 5.3 and 19.4 [sec], respectively. This means the average execution time AET [sec] of transactions in the homogeneous set of servers in the EEQBL-OMM protocol can be reduced to at most 72% of the ECLBQS protocol. The average execution time AET [sec] of transactions in the homogeneous set of servers in the EEQBL-OMM protocol can be on average reduced to 62% of the ECLBQS protocol for .
Average execution time AET [sec] of transactions in the homogeneous set of servers.
Figure 7 shows the average execution time AET [sec] of transactions in the heterogeneous set of servers to perform the number of transactions in the EEQBL-OMM and ECLBQS protocols. In the EEQBL-OMM and ECLBQS protocols, the average execution time AET of transactions increases as the total number of transactions increases since more number of transactions are concurrently performed. For , the average execution time AET of transactions can be more reduced in the EEQBL-OMM protocol than the ECLBQS protocol. The average execution time AET of transactions in the heterogeneous set of servers can be more reduced in the EEQBL-OMM protocol than the ECLBQS protocol since each transaction can commit without waiting for performing meaningless methods on target replicas of each object in the EEQBL-OMM protocol. For example, for , the average execution time AET [sec] of transactions in the heterogeneous set of servers in the EEQBL-OMM and ECLBQS protocols are 3.6 and 10.7 [sec], respectively. This means the average execution time AET [sec] of each transaction in the heterogeneous set of servers in the EEQBL-OMM protocol can be reduced to at most 66% of the ECLBQS protocol. The average execution time AET [sec] of transactions in the heterogeneous set of servers in the EEQBL-OMM protocol can be on average reduced to 50% of the ECLBQS protocol for .
Average execution time AET [sec] of transactions in the heterogeneous set of servers.
Average number of aborted transaction
The EEQBL-OMM protocol is evaluated in terms of the average number of aborted instances of transactions in the homogeneous set and heterogeneous set of servers to perform the total number () of transactions compared with the ECLBQS protocol. A transaction aborts if the transaction could not lock every replica in an -quorum or -quorum before manipulating target objects. In this evaluation, a transaction is restarted after time units [sec] if the transaction aborts. Every transaction is restarted until the transaction commits. The time units [sec] is randomly selected between twenty and thirty seconds () in this evaluation. Each execution of a transaction is referred to as a transaction instance. We measure how many number of transaction instances are aborted until each transaction commits. Let be the number of aborted instances of a transaction . The number of aborted instances for each transaction is measured ten times for each total number of transactions (). Let be the number of aborted instances of transactions obtained in -th simulation. The average number AAT of aborted instances of each transaction for each total number of transactions is .
Figure 8 shows the average number AAT of aborted instances for each transaction in the homogeneous set of servers to perform the total number of transactions in the EEQBL-OMM and ECLBQS protocols. The more number of transactions are concurrently performed in a system, the more number of transactions cannot lock replicas. As a result, the average number AAT of aborted instances of transactions increases in the EEQBL-OMM and ECLBQS protocols as the total number of transactions increases. For , the average number AAT of aborted instances of each transaction can be more reduced in the EEQBL-OMM protocol than the ECLBQS protocol. The average execution time of each transaction can be reduced in the EEQBL-OMM protocol than the ECLBQS protocol since each transaction can commit without waiting for performing meaningless methods on target replicas of each object in the EEQBL-OMM protocol. As a result, the average number AAT of aborted instances of transactions in the homogeneous set of servers can be more reduced in the EEQBL-OMM protocol than the ECLBQS protocol since the number of transactions to be concurrently performed can be more reduced in the EEQBL-OMM protocol than the ECLBQS protocol. For example, for , the average number AAT of aborted instances of transactions in the homogeneous set of servers in the EEQBL-OMM and ECLBQS protocols are 5.5 and 82.5, respectively. This means the average number AAT of aborted instances of transactions in the homogeneous set of servers in the EEQBL-OMM protocol can be reduced to at most 93% of the ECLBQS protocol. The average number AAT of aborted instances of transactions in the homogeneous set of servers in the EEQBL-OMM protocol can be on average reduced to 80% of the ECLBQS protocol for .
Average number AAT of aborted instances for each transaction in the homogeneous set of servers.
Figure 9 shows the average number AAT of aborted instances for each transaction in the heterogeneous set of servers to perform the total number of transactions in the EEQBL-OMM and ECLBQS protocols. The average number AAT of aborted instances of transactions increases in the EEQBL-OMM and ECLBQS protocols as the total number of transactions increases. For , the average number AAT of aborted instances of each transaction can be more reduced in the EEQBL-OMM protocol than the ECLBQS protocol. The average number AAT of aborted instances of transactions in the heterogeneous set of servers can be more reduced in the EEQBL-OMM protocol than the ECLBQS protocol since the number of transactions to be concurrently performed can be more reduced in the EEQBL-OMM protocol than the ECLBQS protocol by omitting meaningless methods on target replicas of each object. For example, for , the average number AAT of aborted instances of transactions in the heterogeneous set of servers in the EEQBL-OMM and ECLBQS protocols are 4.5 and 40.8, respectively. This means the average number AAT of aborted instances of transactions in the heterogeneous set of servers in the EEQBL-OMM protocol can be reduced to at most 88% of the ECLBQS protocol. The average number AAT of aborted instances of transactions in the heterogeneous set of servers in the EEQBL-OMM protocol can be on average reduced to 67% of the ECLBQS protocol for .
Average number AAT of aborted instances for each transaction in the heterogeneous set of servers.
Ratio of meaningless methods
We measure how many meaningless methods are omitted in the EEQBL-OMM protocol in the homogeneous set and heterogeneous set of servers to perform the total number () of transactions compared with the ECLBQS protocol. Let TNM be the total number of methods issued by the total number of transactions until every transaction commits. Let TNMM be the total number of meaningless methods which are omitted on each replica while the total number TNM of methods are issued. Let be the ratio of the total number TNMM of meaningless methods to the total number TNM of methods, i.e. / TNM. if there is no meaningless method, i.e. every method is performed on each replica. if every method is meaningless, i.e. every method is omitted on each replica. The larger is, the more number of meaningless methods are omitted on each replica. The ratio is measured ten times for each total number of transactions (). Let be the ratio obtained in -th simulation. The average ratio Λ of the total number of meaningless methods for each total number of transactions is .
Figure 10 shows the average ratio Λ of the total number of meaningless methods in the homogeneous set of servers to perform the total number of transactions in the EEQBL-OMM and ECLBQS protocols. For , the average ratio Λ of the total number of meaningless methods in the ECLBQS protocol is zero since every method issued by each transaction is surely performed on every replica. On the other hand, the average ratio Λ of the total number of meaningless methods in the EEQBL-OMM protocol increases for . For , the average ratio Λ of the total number of meaningless methods in the EEQBL-OMM protocol is constant. For example, for , the average ratio Λ of the total number of meaningless methods in the EEQBL-OMM protocol is 0.48. This means that at most 48% of the total number of methods can be omitted as meaningless methods in the EEQBL-OMM protocol. For , the average value of the average ratio Λ of the total number of meaningless methods in the EEQBL-OMM protocol is 0.44. This means 44% of the total number of methods can be on average omitted as meaningless methods in the EEQBL-OMM protocol for .
Average ratio Λ of the total number of meaningless methods in the homogeneous set of servers.
Figure 11 shows the average ratio Λ of the total number of meaningless methods in the heterogeneous set of servers to perform the total number of transactions in the EEQBL-OMM and ECLBQS protocols. For , the average ratio Λ of the total number of meaningless methods in the ECLBQS protocol is zero since every method issued by each transaction is surely performed on every replica. On the other hand, the average ratio Λ of the total number of meaningless methods in the EEQBL-OMM protocol increases for . For , the average ratio Λ of the total number of meaningless methods in the EEQBL-OMM protocol is constant. For example, for , the average ratio Λ of the total number of meaningless methods in the EEQBL-OMM protocol is 0.51. This means that at most 51% of the total number of methods can be omitted as meaningless methods in the EEQBL-OMM protocol. For , the average value of the average ratio Λ of the total number of meaningless methods in the EEQBL-OMM protocol is 0.49. This means 49% of the total number of methods can be on average omitted as meaningless methods in the EEQBL-OMM protocol for .
Average ratio Λ of the total number of meaningless methods in the heterogeneous set of servers.
Following the evaluation, the total electric energy consumption of servers, the average execution time of each transaction, and the number of aborted instances of transactions in the homogeneous set and heterogeneous set of servers can be more reduced in the EEQBL-OMM protocol than the ECLBQS protocol. Hence, the EEQBL-OMM protocol is more useful than the ECLBQS protocol.
Concluding remarks
In this paper, meaningless methods which are not required to be performed on replicas of each object were newly defined based on the semantics of methods supported by each object and the precedent relation among methods issued by transactions. Then, the EEQBL-OMM (Energy-Efficient Quorum-Based Locking with Omitting Meaningless Method) protocol was newly proposed to furthermore reduce the total electric energy consumption of servers, the average execution time of each transaction, and the number of aborted instances of transactions than the ECLBQS protocol by omitting the execution of meaningless methods on replicas of objects. We evaluated the EEQBL-OMM protocol in terms of the total electric energy consumption of servers, the average execution time of each transaction, the number of aborted instances of transactions, and the ratio of meaningless methods to the total number of methods issued by transactions in sets of homogeneous and heterogeneous servers compared with the ECLBQS protocol. The evaluation results show the total electric energy consumption of servers, the average execution time of each transaction, and the number of aborted instances of transactions in the EEQBL-OMM protocol can be on average reduced to 79%, 62%, and 80% of the ECLBQS protocol in a homogeneous set of servers, respectively. In addition, the evaluation results show the total electric energy consumption of servers, the average execution time of each transaction, and the number of aborted instances of transactions in the EEQBL-OMM protocol can be on average reduced to 73%, 50%, and 67% of the ECLBQS protocol in a heterogeneous set of servers, respectively. The evaluation results show at most 48% and 51% of the total number of methods issued by transaction can be omitted as meaningless methods in a homogeneous set and heterogeneous set of servers, respectively, in the EEQBL-OMM protocol while every method is surely performed in the ECLBQS protocol. Following the evaluation, the EEQBL-OMM protocol is more useful than the ECLBQS protocol where each object is replicated to multiple servers in object-based systems. In high performance, scalable, and fault-tolerant computing systems like cloud and fog computing systems, object replication approaches are widely used to increase availability, reliability, and performance of an application service. The EEQBL-OMM protocol can be applied to increase availability, reliability, and performance of application services designed and implemented on the cloud and fog computing systems.
Conflict of interest
None to report.
References
1.
P.A.Bernstein, V.Hadzilacos and N.Goodman, Concurrency Control and Recovery in Database Systems, Addison-Wesley, 1987.
2.
K.Bylykbashi, E.Qafzezi, P.Ampririt, M.Ikeda, K.Matsuo and L.Barolli, Effect of vehicle technical condition on real-time driving risk management in Internet of Vehicles: Design and performance evaluation of an integrated fuzzy-based system, Internet of Things13 (2021), 100363. doi:10.1016/j.iot.2021.100363.
3.
M.Cuka, D.Elmazi, M.Ikeda, K.Matsuo, L.Barolli and M.Takizawa, Application of fuzzy logic for IoT node elimination and selection in opportunistic networks: Performance evaluation of two fuzzy-based systems, World Wide Web24(3) (2021), 929–940. doi:10.1007/s11280-020-00835-6.
4.
K.K.Désiré, E.Dhib, N.Tabbane and O.Asseu, QoS and QoE aware multi objective resource allocation algorithm for cloud gaming, Journal of High Speed Networks27(2) (2021), 121–138. doi:10.3233/JHS-210655.
5.
T.Enokido, A.Aikebaier and M.Takizawa, A model for reducing power consumption in peer-to-peer systems, IEEE Systems Journal4(2) (2010), 221–229. doi:10.1109/JSYST.2010.2047296.
6.
T.Enokido, A.Aikebaier and M.Takizawa, Process allocation algorithms for saving power consumption in peer-to-peer systems, IEEE Trans. on Industrial Electronics58(6) (2011), 2216–2225. doi:10.1109/TIE.2010.2051393.
7.
T.Enokido, A.Aikebaier and M.Takizawa, An extended simple power consumption model for selecting a server to perform computation type processes in digital ecosystems, IEEE Trans. on Industrial Informatics10(2) (2014), 1627–1636. doi:10.1109/TII.2014.2303315.
8.
T.Enokido, V.Barolli and M.Takizawa, A legal information flow (LIF) scheduler based on role-based access control model, Computer Standards & Interfaces31(5) (2009), 906–912. doi:10.1016/j.csi.2008.03.013.
9.
T.Enokido, D.Duolikun and M.Takizawa, Energy consumption laxity-based quorum selection for distributed object-based systems, Evolutionary Intelligence13 (2020), 71–82. doi:10.1007/s12065-018-0157-1.
10.
T.Enokido, H.Higaki and M.Takizawa, Object-based ordered delivery of messages in object-based systems, in: Proceedings of the 1999 International Conference on Parallel Processing (ICPP-1999), 1989, pp. 380–387.
11.
T.Enokido, T.Inoue, A.Aikebaire and M.Takizawa, Macro level models of power consumption for servers in distributed systems, in: Evolutionary Based Solutions for Green Computing, Springer, Berlin, Heidelberg, 2013, pp. 55–94. doi:10.1007/978-3-642-30659-4_3.
12.
T.Enokido and M.Takizawa, Role-based concurrency control for distributed systems, in: Proceedings of the 20th IEEE International Conference on Advanced Information Networking and Applications, Vol. 1, 2006, pp. 407–412.
13.
T.Enokido and M.Takizawa, Purpose-based information flow control for cyber engineering, IEEE Transactions on Industrial Electronics58(6) (2011), 2216–2225. doi:10.1109/TIE.2010.2051393.
14.
T.Enokido and M.Takizawa, The evaluation of the extended transmission power consumption (ETPC) model to perform communication type processes, Computing95(10–11) (2013), 1019–1037. doi:10.1007/s00607-012-0222-z.
15.
T.Enokido and M.Takizawa, Integrated power consumption model for distributed systems, IEEE Trans. on Industrial Electronics60(2) (2013), 824–836. doi:10.1109/TIE.2012.2206357.
16.
T.Enokido and M.Takizawa, The redundant energy consumption laxity based algorithm to perform computation processes for IoT services, Internet of Things9 (2020), 100165. doi:10.1016/j.iot.2020.100165.
17.
H.Garcia-Molina and D.Barbara, How to assign votes in a distributed system, Journal of the ACM32(4) (1985), 841–860. doi:10.1145/4221.4223.
18.
J.Gray, Notes on Database Operating Systems, Operating Systems: An Advanced Course, Lecture Notes in Computer Science, Vol. 60, Springer Verlag, 1978, pp. 397–405.
19.
R.Lamport, R.Shostak and M.Pease, The byzantine generals problems, ACM Trans. on Programing Language and Systems4(3) (1982), 382–401. doi:10.1145/357172.357176.
20.
S.Lee, H.Shi, K.Tan, Y.Liu, S.Lee and Y.Cui, S2Net: Preserving privacy in smart home routers, IEEE Transactions on Dependable and Secure Computing18(3) (2021), 1409–1424.
21.
S.Nakamura, T.Enokido and M.Takizawa, Implementation and evaluation of the information flow control for the Internet of Things, in: Concurrency and Computation: Practice and Experience, Vol. 33, 2021. doi:10.1002/cpe.6311.
22.
X.Niu and J.Jiang, Single node repair algorithm for a multimedia cloud storage system based on network coding, Journal of High Speed Networks27(3) (2021), 205–214. doi:10.3233/JHS-210661.
23.
R.Oma, S.Nakamura, T.Enokido and T.Takizawa, Fault-tolerant strategies in the tree-based fog computing model, International Journal of Distributed Systems and Technologies (IJDST)11(4) (2020), 72–91. doi:10.4018/IJDST.2020100105.
24.
R.S.Sandhu, E.J.Coyne, H.L.Feinsteink and C.E.Youman, Role-based access control models, IEEE Computer29(2) (1996), 38–47. doi:10.1109/2.485845.
25.
A.Sawada, H.Kataoka, D.Duolikun, T.Enokido and M.Takizawa, Energy-aware clusters of servers for storage and computation applications, in: Proceedings of the 30th IEEE International Conference on Advanced Information Networking and Applications (AINA-2016), 2016, pp. 400–407.
26.
F.B.Schneider, Chapter 7: Replication management using the state-machine approach, in: Distributed Systems, 2nd edn, ACM Press, 1993.
27.
J.Siegel, CORBA 3 Fundamentals and Programming, John Wiley & Sons, 2000.
28.
X.Sun and N.Ansari, Green cloudlet network: A sustainable platform for mobile cloud computing, IEEE Transactions on Cloud Computing8(1) (2020), 180–192. doi:10.1109/TCC.2017.2764463.
29.
K.Tanaka, K.Hasegawa and M.Takizawa, Quorum-based replication in object-based systems, Journal of Information Science and Engineering16(3) (2000), 317–331.
30.
P.Verma and N.Singh, Fuzzy assisted vehicle-id based congestion control scheme (FUZZ-CCS) for CAM broadcast over control channel in VANETs, Journal of High Speed Networks25(2) (2019), 139–153. doi:10.3233/JHS-190608.
31.
S.Wang, A.Zhou, R.Bao, W.Chou and S.S.Yau, Towards green service composition approach in the cloud, IEEE Transactions on Services Computing14(4) (2021), 1238–1250. doi:10.1109/TSC.2018.2868356.
32.
M.Whaiduzzaman, N.Farjana, A.Barros, M.J.N.Mahi, M.S.Satu, S.Roy and C.Fidge, HIBAF: A data security scheme for fog computing, Journal of High Speed Networks27(4) (2021), 381–402. doi:10.3233/JHS-210673.
33.
M.Yasuda, H.Higaki and M.Takizawa, A purpose-oriented access control model for information flow management, in: Proceedings of the 14th IFIP International Information Security Conference (SEC’98), 1998, pp. 230–239.
34.
L.Zeng, X.Chen, Z.Zhou, L.Yang and J.Zhang, CoEdge: Cooperative DNN inference with adaptive workload partitioning over heterogeneous edge devices, IEEE/ACM Transactions on Networking29(2) (2021), 595–608. doi:10.1109/TNET.2020.3042320.
35.
Y.Zhang, X.Lan, J.Ren and L.Cai, Efficient computing resource sharing for mobile edge-cloud computing networks, IEEE/ACM Transactions on Networking28(3) (2020), 1227–1240. doi:10.1109/TNET.2020.2979807.