ostore.agree
Class ThresholdByzantine
java.lang.Object
  |
  +--ostore.agree.ThresholdByzantine
- All Implemented Interfaces: 
 - AgreementStageIF, EventHandlerIF, ProfilableIF, SingleThreadedEventHandlerIF
 
- public class ThresholdByzantine
- extends Object
- implements SingleThreadedEventHandlerIF, EventHandlerIF, AgreementStageIF, ProfilableIF
   
Byzantine agreement using an RSA-based threshold signature scheme.  This
 algorithm was originally modelled on that by Castro-Liskov, but contains
 several important changes.  Most importantly, the results of agreements
 are signed, allowing offline verification later.
 
Interaction with the client of this stage (currently, FakeInner) is
 as follows:
 
 Client     Replica.inner    Replica.agree    General.agree   General.inner
   |              |                 |                |               |
   |   xReqMsg    |                 |                |               |
   |------------->|    AgreeInit    |                |               |
   |              |---------------->|                |               |
   |              |                 |                |    xReqMsg    |
   |---------------------------------------------------------------->|
   |              |                 |                |               |
   |              |                 |                |   AgreeInit   |
   |              |                 |                |<--------------|
   |              |                 |                |               |
   |              |                 |   Preprepare   |               |
   |              |                 |<---------------|               |
   |              |                 |                |               |
   |              |                 |    Prepare     |               |
   |              |                 |--------------->|               |
   |              |                 |                |               |
   |              |                 |     Commit     |               |
   |              |                 |<---------------|               |
   |              |                 |--------------->|               |
   |              |   AgreeExeReq   |                |  AgreeExeReq  |
   |              |<----------------|                |-------------->|
   |              |                 |                |               |
   |              |   AgreeExeResp  |                |  AgreeExeResp |
   |              |---------------->|                |<--------------|
   |              |                 |     Result     |               |
   |              |                 |<---------------|               |
   |              |                 |--------------->|               |
   |              |   AgreeSuccess  |                |  AgreeSuccess |
   |              |<----------------|                |-------------->|
   |   xRespMsg   |                 |                |               |
   |<-------------|                 |                |               |
   |              |                 |                |               |
   |              |                 |                |               |
- Version: 
 
  - $Id: ThresholdByzantine.java,v 1.39 2004/05/13 19:20:47 hweather Exp $
 
- Author: 
 
  - Sean C. Rhea
 
 
 
| Methods inherited from class java.lang.Object | 
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
 
ThresholdByzantine
public ThresholdByzantine()
member_count
public int member_count(SecureHash ring_id)
- Description copied from interface: 
AgreementStageIF 
- How many people are participating in the agreement process.
- Specified by: 
 member_count in interface AgreementStageIF
 
- Returns:
 - how many people are participating in the agreement process
 
 
 
member_number
public int member_number(SecureHash ring_id)
- Description copied from interface: 
AgreementStageIF 
- Which of the participants are we?
- Specified by: 
 member_number in interface AgreementStageIF
 
- Returns:
 - which participant we are in the agreement process, from
 
0 to member_count () - 1. 
 
 
init
public void init(ConfigDataIF config)
          throws Exception
- Specified by: 
 init in interface EventHandlerIF
 
Exception
 
destroy
public void destroy()
             throws Exception
- Specified by: 
 destroy in interface EventHandlerIF
 
Exception
 
profileSize
public int profileSize()
- Specified by: 
 profileSize in interface ProfilableIF
 
 
handleEvent
public void handleEvent(QueueElementIF item)
                 throws EventHandlerException
- Specified by: 
 handleEvent in interface EventHandlerIF
 
EventHandlerException
 
handleEvents
public void handleEvents(QueueElementIF[] items)
                  throws EventHandlerException
- Specified by: 
 handleEvents in interface EventHandlerIF
 
EventHandlerException