项目作者: evapujals

项目描述 :
Lamport clocks, total ordering, failure tolerance, leader election
高级语言: Python
项目地址: git://github.com/evapujals/GroupCast.git
创建时间: 2017-04-06T09:13:03Z
项目社区:https://github.com/evapujals/GroupCast

开源协议:

下载


GroupCast

Code Health
Build Status


Task #2: Lamport clocks, total ordering, failure tolerance, leader election

Group.py

Group is responsible of membership management functions.
The classical functionality: join, leave and get_members.

Peer.py

Peer

Basic implementation to manage a member of a group.

LamportPeer

Each message m is always timestamped with the current Lamport clock of its sender.

Sequencer.py

Sequencer is used to implement total ordering.

A sequencer is a process that assigns a unique timestamp seq to every message m that it receives, and multicasts it to every other member of the group.

A failure tolerance mechanism is provided in this part.

The bully leader election algorithm to elect a new sequencer when it fails is implemented.

Impress.py

Impress has been implemented in order to avoid problems with printing using intervals.