executed W , which is the number of check-pointing
messages: W =
∑
(U + V ), is saved in the stable
M2
sm
storage. In a worst case scenario all the N
cluster M
mp
nodes will send a Rep
mp
at random times
to M
sm
while all child M
sm
nodes (in a K-ary tree)
send Req
sm
. This results in a message complexity of
O(W ).
5 CONCLUSIONS
We proposed a fault tolerant distributed CDA algo-
rithm for energy allocation within computationally
constrained microgrids. The fault tolerance proposed
specifically addresses crash faults. Instead of by-
passing the failed node and reconnecting the remain-
ing spanning tree segments, our algorithm masks fail-
ure by incorporating redundancy to each cluster head
node. The fault tolerant CDA allows trading agents
to have mutually exclusive permission to participate
in the auction market despite the presence of crash
failures. We present the correctness and efficiency of
the fault tolerant algorithm. The runtime of the al-
gorithm is linearly dependent on the input size i. The
time complexity for a single agent (hosted on a cluster
node) to trade in the auction market is O(N) where N
is number of cluster nodes; and the message complex-
ity is O(W ), where W is the number of check-pointing
messages; N is the number messages exchanged per
critical section execution. These are reasonable up-
per bounds of a fault tolerant supported CDA al-
gorithm employing redundancy and check-pointing.
While minimal redundancy is likely to be appropri-
ate for the microgrid case, as future work we seeks to
make a comparative evaluation to other schemes that
might be expensive for small amounts of extra fault-
tolerance, but whose costs are lower when higher de-
grees of fault tolerance are desired. In distant future
work we seek to investigate how malware may affect
fairness, thus stability of a fault tolerant CDA aug-
mented microgrid.
ACKNOWLEDGEMENTS
This work was done with the joint SANCOOP pro-
gramme of the Norwegian Research Council and the
South African National Research Foundation under
NRF grant 237817; the Hasso-Plattner-Institute at
UCT; and UCT postgraduate funding.
REFERENCES
Bloch, A. (2003). Murphy’s law. Penguin.
Borenstein, S., Jaske, M., and Rosenfeld, A. (2002). Dy-
namic pricing, advanced metering, and demand re-
sponse in electricity markets. Center for the Study of
Energy Markets.
Chang, Y.-I., Singhal, M., and Liu, M. T. (1990). A fault
tolerant algorithm for distributed mutual exclusion.
In Reliable Distributed Systems, 1990. Proceedings.,
Ninth Symposium on, pages 146–154. IEEE.
Cui, T., Wang, Y., Nazarian, S., and Pedram, M. (2014). An
Electricity Trade Model for Microgrid Communities
in Smart Grid. In Innovative Smart Grid Technolo-
gies Conference (ISGT), 2014 IEEE PES, pages 1–5.
IEEE.
Dhamdhere, D. M. and Kulkarni, S. S. (1994). A to-
ken based k-resilient mutual exclusion algorithm for
distributed systems. Information Processing Letters,
50(3):151–157.
Fokkink, W. (2013). Distributed Algorithms: An Intuitive
Approach. MIT Press.
Garg, V. K. (2011). Principles of distributed systems.
Springer Publishing Company, Incorporated.
Ghosh, S. (2014). Distributed systems: an algorithmic ap-
proach. CRC press.
Izakian, H., Abraham, A., and Ladani, B. T. (2010). An
auction method for Resource Allocation in Computa-
tional Grids. Future Generation Computer Systems,
26(2):228–235.
Jalote, P. (1994). Fault Tolerance in Distributed Systems.
Prentice-Hall, Inc.
Kshemkalyani, A. D. and Singhal, M. (2008). Distributed
computing: Principles, Algorithms, and Systems.
Cambridge University Press.
Marufu, A. M., Kayem, A. V., and Wothulsen, S. (2015). A
distributed continuous double auction framework for
resource constrained microgrids. In Critical Informa-
tion Infrastructures Security, 2015. The 10th Interna-
tional Conference on, pages –. IEEE.
M
´
edard, M. and Lumetta, S. S. (2003). Network reliability
and fault tolerance. Encyclopedia of Telecommunica-
tions.
Pałka, P., Radziszewska, W., and Nahorski, Z. (2012).
Balancing electric power in a microgrid via pro-
grammable agents auctions. Control and Cybernetics,
41.
Raymond, K. (1989). A tree-based algorithm for distributed
mutual exclusion. ACM Transactions on Computer
Systems (TOCS), 7(1):61–77.
Raynal, M. (1986). Algorithms for mutual exclusion.
Revannaswamy, V. and Bhatt, P. (1997). A fault tolerant
protocol as an extension to a distributed mutual ex-
clusion algorithm. In Parallel and Distributed Sys-
tems, 1997. Proceedings., 1997 International Confer-
ence on, pages 730–735. IEEE.
Sta
´
nczak, J., Radziszewska, W., and Nahorski, Z. (2015).
Dynamic Pricing and Balancing Mechanism for a Mi-
crogrid Electricity Market. In Intelligent Systems’
2014, pages 793–806. Springer.
Fault-tolerant Distributed Continuous Double Auctioning on Computationally Constrained Microgrids
455