org.objectweb.cjdbc.controller.loadbalancer.raidb1
Class RAIDb1ec_WRR

java.lang.Object
  extended byorg.objectweb.cjdbc.controller.loadbalancer.AbstractLoadBalancer
      extended byorg.objectweb.cjdbc.controller.loadbalancer.raidb1.RAIDb1
          extended byorg.objectweb.cjdbc.controller.loadbalancer.raidb1.RAIDb1ec
              extended byorg.objectweb.cjdbc.controller.loadbalancer.raidb1.RAIDb1ec_WRR

public class RAIDb1ec_WRR
extends RAIDb1ec

RAIDb-1 Weighted Round Robin load balancer with error checking.

This load balancer tolerates byzantine failures of databases. The read requests coming from the Request Manager are sent to multiple backend nodes and the results are compared. Write requests are broadcasted to all backends.

Version:
1.0
Author:
Emmanuel Cecchet, Julie Marguerite

Field Summary
private  int index
           
private  java.util.HashMap weights
           
 
Fields inherited from class org.objectweb.cjdbc.controller.loadbalancer.raidb1.RAIDb1ec
backendReadThreads, errorCheckingPolicy, logger, nbOfConcurrentReads
 
Fields inherited from class org.objectweb.cjdbc.controller.loadbalancer.raidb1.RAIDb1
backendBlockingThreads, backendBlockingThreadsRWLock, backendNonBlockingThreads, backendNonBlockingThreadsRWLock
 
Fields inherited from class org.objectweb.cjdbc.controller.loadbalancer.AbstractLoadBalancer
parsingGranularity, raidbLevel, vdb
 
Constructor Summary
RAIDb1ec_WRR(VirtualDatabase vdb, WaitForCompletionPolicy waitForCompletionPolicy, ErrorCheckingPolicy errorCheckingPolicy, int nbOfConcurrentReads)
          Creates a new RAIDb-1 Weighted Round Robin with error checking request load balancer.
 
Method Summary
 java.sql.ResultSet execReadRequest(SelectRequest request)
          Not implemented.
 java.lang.String getInformation()
          Gets information about the request load balancer.
 java.lang.String getRaidb1Xml()
          Surrounding raidb1 tags can be treated by getXmlInformation above, but more detailed content have to be returned by the method getRaidb1Xmlbelow.
 void setWeight(java.lang.String name, int w)
          Associate a weight to a backend identified by its logical name.
 
Methods inherited from class org.objectweb.cjdbc.controller.loadbalancer.raidb1.RAIDb1ec
disableBackend, enableBackend, getXmlInformation
 
Methods inherited from class org.objectweb.cjdbc.controller.loadbalancer.raidb1.RAIDb1
begin, commit, execReadStoredProcedure, executeRequest, execWriteRequest, execWriteRequestWithKeys, execWriteStoredProcedure, getXmlWaitPolicy, rollback, waitForAllWritesToComplete, waitForAllWritesToComplete, waitForAllWritesToComplete
 
Methods inherited from class org.objectweb.cjdbc.controller.loadbalancer.AbstractLoadBalancer
getParsingGranularity, getRAIDbLevel, setParsingGranularity, setRAIDbLevel
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

index

private int index

weights

private java.util.HashMap weights
Constructor Detail

RAIDb1ec_WRR

public RAIDb1ec_WRR(VirtualDatabase vdb,
                    WaitForCompletionPolicy waitForCompletionPolicy,
                    ErrorCheckingPolicy errorCheckingPolicy,
                    int nbOfConcurrentReads)
             throws java.sql.SQLException
Creates a new RAIDb-1 Weighted Round Robin with error checking request load balancer.

Parameters:
vdb - the virtual database this load balancer belongs to.
waitForCompletionPolicy - How many backends must complete before returning the result?
errorCheckingPolicy - policy to apply for error checking.
nbOfConcurrentReads - number of concurrent reads allowed
Throws:
java.sql.SQLException - if an error occurs
Method Detail

execReadRequest

public java.sql.ResultSet execReadRequest(SelectRequest request)
                                   throws java.sql.SQLException
Not implemented.

Specified by:
execReadRequest in class RAIDb1
Throws:
java.sql.SQLException
See Also:
RAIDb1.executeRequest(SelectRequest, DatabaseBackend)

setWeight

public void setWeight(java.lang.String name,
                      int w)
               throws java.sql.SQLException
Description copied from class: AbstractLoadBalancer
Associate a weight to a backend identified by its logical name.

Overrides:
setWeight in class AbstractLoadBalancer
Parameters:
name - the backend name
w - the weight
Throws:
java.sql.SQLException - if an error occurs
See Also:
AbstractLoadBalancer.setWeight(String, int)

getInformation

public java.lang.String getInformation()
Gets information about the request load balancer.

Specified by:
getInformation in class AbstractLoadBalancer
Returns:
String containing information

getRaidb1Xml

public java.lang.String getRaidb1Xml()
Description copied from class: RAIDb1
Surrounding raidb1 tags can be treated by getXmlInformation above, but more detailed content have to be returned by the method getRaidb1Xmlbelow.

Specified by:
getRaidb1Xml in class RAIDb1
Returns:
content of Raidb1 xml
See Also:
RAIDb1.getRaidb1Xml()


Copyright © 2002, 2003 - ObjectWeb Consortium - All Rights Reserved.