org.objectweb.proactive.core.body.ft.servers.storage
Interface CheckpointServer

All Superinterfaces:
java.rmi.Remote
All Known Implementing Classes:
CheckpointServerImpl, FTServer

public interface CheckpointServer
extends java.rmi.Remote

An object implementiong this interface provides services for storing and retreiving checkpoints and checkpointInfos. Its provides also a classserver used during deserialization of checkpoints for a recovery. This server is an RMI object.

Since:
ProActive 2.2
Author:
cdelbe

Method Summary
 void addInfoToCheckpoint(CheckpointInfo ci, UniqueID id, int sequenceNumber, int incarnation)
          Add informations to an already stored checkpoint
 void commitHistory(HistoryUpdater rh)
          Add an history to a checkpoint.
 Checkpoint getCheckpoint(UniqueID id, int sequenceNumber)
          Return a checkpoint of the object identified by id.
 CheckpointInfo getInfoFromCheckpoint(UniqueID id, int sequenceNumber)
          Return informations on the given checkpoint
 Checkpoint getLastCheckpoint(UniqueID id)
          Return the latest checkpoint of the object identified by id
 java.lang.String getServerCodebase()
          Return the URL of the classServer linked to this checkpointServer.
 void initialize()
          Reinit the state of the location server.
 void outputCommit(MessageInfo mi)
          The state of the system must be commited before the sent of the message linked to the messageInfo mi.
 int storeCheckpoint(Checkpoint c, int incarnation)
          Store a checkpoint in the checkpoint server.
 void storeReply(UniqueID receiverID, Reply reply)
          The reply passed in paramter must be synchronously logged on the server.
 void storeRequest(UniqueID receiverId, Request request)
          The request passed in paramter must be synchronously logged on the server.
 

Method Detail

storeCheckpoint

public int storeCheckpoint(Checkpoint c,
                           int incarnation)
                    throws java.rmi.RemoteException
Store a checkpoint in the checkpoint server.

Parameters:
c - the checkpoint to stored
incarnation - incarnation number of the caller
Returns:
the last global state of the system, i.e. the index of the latest completed image of the system.
Throws:
java.rmi.RemoteException

getCheckpoint

public Checkpoint getCheckpoint(UniqueID id,
                                int sequenceNumber)
                         throws java.rmi.RemoteException
Return a checkpoint of the object identified by id.

Parameters:
id - the owner of the returned checkpoint
sequenceNumber - the index of the requiered checkpoint
Returns:
a checkpoint of the object identified by id
Throws:
java.rmi.RemoteException

getLastCheckpoint

public Checkpoint getLastCheckpoint(UniqueID id)
                             throws java.rmi.RemoteException
Return the latest checkpoint of the object identified by id

Parameters:
id - the owner of the returned checkpoint
Returns:
the latest checkpoint of the object identified by id
Throws:
java.rmi.RemoteException

addInfoToCheckpoint

public void addInfoToCheckpoint(CheckpointInfo ci,
                                UniqueID id,
                                int sequenceNumber,
                                int incarnation)
                         throws java.rmi.RemoteException
Add informations to an already stored checkpoint

Parameters:
ci - informations that have to be added
id - owner of the considered checkpoint
sequenceNumber - index of the considered checkpoint
incarnation - incarnation number of the caller
Throws:
java.rmi.RemoteException

getInfoFromCheckpoint

public CheckpointInfo getInfoFromCheckpoint(UniqueID id,
                                            int sequenceNumber)
                                     throws java.rmi.RemoteException
Return informations on the given checkpoint

Parameters:
id - owner of the considered checkpoint
sequenceNumber - index of the considered checkpoint
Returns:
informations on the given checkpoint
Throws:
java.rmi.RemoteException

commitHistory

public void commitHistory(HistoryUpdater rh)
                   throws java.rmi.RemoteException
Add an history to a checkpoint. Informations about the corresponding checkpoint are stored in the HistoryUpdater object.

Parameters:
rh - the history updater.
Throws:
java.rmi.RemoteException

outputCommit

public void outputCommit(MessageInfo mi)
                  throws java.rmi.RemoteException
The state of the system must be commited before the sent of the message linked to the messageInfo mi.

Parameters:
mi - the message information linked to the message that is sent to the outside world
Throws:
java.rmi.RemoteException

getServerCodebase

public java.lang.String getServerCodebase()
                                   throws java.rmi.RemoteException
Return the URL of the classServer linked to this checkpointServer. This classServer is used by recovering active objects

Returns:
the URL of the classServer linked to this checkpointServer
Throws:
java.rmi.RemoteException

storeRequest

public void storeRequest(UniqueID receiverId,
                         Request request)
                  throws java.rmi.RemoteException
The request passed in paramter must be synchronously logged on the server. It must be associated with the ID passed in parameter.

Parameters:
receiverId - the ID associated to the request.
request - the request to log.
Throws:
java.rmi.RemoteException - If communication with server fails.

storeReply

public void storeReply(UniqueID receiverID,
                       Reply reply)
                throws java.rmi.RemoteException
The reply passed in paramter must be synchronously logged on the server. It must be associated with the ID passed in parameter.

Parameters:
receiverID - the ID associated to the reply.
reply - the reply to log.
Throws:
java.rmi.RemoteException - If communication with server fails.

initialize

public void initialize()
                throws java.rmi.RemoteException
Reinit the state of the location server.

Throws:
java.rmi.RemoteException


Copyright 2001-2005 INRIA All Rights Reserved.