Table of Contents
OIL2 Class Standard.ReplicaHTTPsession
class Standard . ReplicaHTTPsession {
oid creatorObj;
int32 faultsToTolerate;
string nodeName;
string proxyVariableName;
oid replicaDir;
string sessionID;
string stateVariableName;
} inherits from Object;
DESCRIPTION
The class ReplicaHTTPsession initializes a new Byzantine fault-tolerant
transaction session. Objects of this class are created as needed
by the CreateReplicaHTTPsession service.
METHODS
Standard.ReplicaHTTPsession:create
ReplicaHTTPsession:create(string assignedID, oid creator, string serverPoolName, any proxyClassName, assoc queryData, array requestData, assoc options, string replyMethod, any replyDest)
Method Description
The universally unique session ID (assignedID) is computed by
the local CreateReplicaHTTPsession service, whose object Id is
passed as creator. When a session is deleted, the creator
object must be sent a noteSessionTerminated
message and passed both the object Id and session ID of the
ReplicaHTTPsession object.
Application Arguments
The argument serverPoolName identifies the collection of servers
that are to support the new Byzantine fault-tolerant transaction session.
A CreateReplicasOnServers object is created to perform the setup.
The queryData argument contains the parsed parameters from the
HTTP request (processed by the parseHTTPformData() function). The
requestData argument is the tokenized HTTP request.
The options argument is a set of environment variables, typically
used for server-side-include processing (e.g., HTTP_SSIprocessor). The
resulting dynamically-generated
page needs to be sent to the replyDest object by sending it a
replyMethod message.
HTTP Parameters
Key elements of the request are obtained from the HTTP query data
made available in the queryData argument.
- type
- Indicates the type of the new transaction. The specified name
is used to determine the name of the implementation class and must
have been previously registered by a RegisterReplicaHTTPclass
object.
- page
- Indicates the page to which the remote client browser should be
redirected.
- maxFaults
- optional parameter that indicate the number of simultaneous faults
to be tolerated. It defaults to 1 and must be assigned a positive value.
The number of servers required is 2 * maxFaults + 1.
- maxInitialFaults
- optional parameter which indicates the maximum number of
initial faults that can be tolerated at the time the session is
created. Valid values are between 0 and the value of maxFaults.
It defaults to its maximum permissible value (i.e., maxFaults
if minReliability is 2 or else 3 * maxFaults
if minReliability is 0), which maintains the correctness
guarantees asserted by Byzantine fault-tolerance or merely best-effort.
- minReliability
- optional parameter that permits creation of a session with limited
fault-tolerance semantics. It defaults to a value of 2, which indicates
Byzantine fault-tolerance. If set to 0, best-effort reliability will be
performed if there are too many inital faults, which make it impossible
to establish a Byzantine fault-tolerant session. In such a situation,
all activity will be performed on a single server and the correctness
guarantees provided by Byzantine fault-tolerance cannot be assurred.
This is a significant negative, but it may outweigh the alternative of
denying service in the presence of too many faults even though at least one
system remains operational and capable of performing transactions.