|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.objectweb.proactive.p2p.service.P2PService
ProActive Peer-to-Peer Service.
This class is made to be actived.
Field Summary |
Fields inherited from interface org.objectweb.proactive.p2p.service.util.P2PConstants |
HIDE_P2PNODE_MONITORING, MAX_NODE, P2P_NODE_NAME, PROPERPY_XML_PATH, PROPERTY_ACQUISITION, PROPERTY_EXPLORING_MSG, PROPERTY_LOAD_BAL, PROPERTY_LOOKUP_FREQ, PROPERTY_MSG_MEMORY, PROPERTY_MULTI_PROC_NODES, PROPERTY_NO_SHARING, PROPERTY_NOA, PROPERTY_NODES_ACQUISITION_T0, PROPERTY_PORT, PROPERTY_TTL, PROPERTY_TTU, SHARED_NODE_NAME, VN_NAME |
Constructor Summary | |
P2PService()
The empty constructor. |
Method Summary | |
boolean |
amIUnderloaded()
|
boolean |
amIUnderloaded(double ranking)
Ask to the Load Balancer object if the state is underloaded |
void |
askingNode(int ttl,
UniversalUniqueID uuid,
P2PService remoteService,
int numberOfNodes,
P2PNodeLookup lookup,
java.lang.String vnName,
java.lang.String jobId)
Method automaticly forwarded by run activity if needed. |
void |
askingNode(int ttl,
UniversalUniqueID uuid,
P2PService remoteService,
int numberOfNodes,
P2PNodeLookup lookup,
java.lang.String vnName,
java.lang.String jobId,
boolean underloadedOnly)
Method called on Load Balanced enviroments. |
void |
balanceWithMe(P2PService sender,
double ranking)
This method is remotely called by an overloaded peer, looking for a balance. |
void |
exploring(int ttl,
UniversalUniqueID uuid,
P2PService remoteService)
Method automaticly forwarded by run activity if needed. |
void |
firstContact(java.util.Vector peers)
Contact all specified peers to enter in the existing P2P network. |
StringWrapper |
getAddress()
For load balancing. |
Node |
getANode(java.lang.String vnName,
java.lang.String jobId)
For asking a single node to the p2p infrastructure. |
Node |
getANode(java.lang.String vnName,
java.lang.String jobId,
P2PService service)
***For internal use only*** |
P2PNodeLookup |
getMaximunNodes(java.lang.String vnName,
java.lang.String jobId)
Put in a P2PNodeLookup all available nodes during all the
time where it is actived. |
P2PNodeLookup |
getNodes(int numberOfNodes,
java.lang.String vnName,
java.lang.String jobId)
Put in a P2PNodeLookup , the number of asked nodes. |
P2PNodeLookup |
getNodes(int numberOfNodes,
java.lang.String vnName,
java.lang.String jobId,
boolean onlyUnderloaded)
|
P2PAcquaintanceManager |
getP2PAcquaintanceManager()
|
void |
heartBeat()
Just to test if the peer is alive. |
void |
ImStealingYou(double ranking,
java.lang.String remoteNodeAddress)
This method is remotely called by an underloaded peer, looking for a balance. |
void |
initActivity(Body body)
Initializes the activity of the active object. |
void |
P2PloadBalance(Node destNode)
This method is remotely called by an underloaded peer to start the load balancing. |
void |
register(P2PService service)
Add the remote P2P service in the local acquaintances group if NOA is not yet reached. |
void |
removeWaitingAccessor(P2PNodeLookup accessorToRemove)
/** Remove a no more waiting nodes accessor. |
void |
startStealingNeighbors(double ranking,
java.lang.String myNodeAddress)
This method is called by the LoadBalancer object in order to start the work stealing |
void |
tellToMyNeighborsThatIWantToShareActiveObjects(double ranking)
This method is called by the LoadBalancer object in order to send the balance request to its neighbors |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public P2PService()
ProActive
Method Detail |
public void firstContact(java.util.Vector peers)
peers
- a list of peers URL.public void register(P2PService service)
service
- the remote P2P service.public void heartBeat()
public void exploring(int ttl, UniversalUniqueID uuid, P2PService remoteService)
Using a random fonction to choose if this peer should be know by the remote peer or not.
ttl
- Time to live of the message, in number of hops.uuid
- UUID of the message.remoteService
- The original sender.public void askingNode(int ttl, UniversalUniqueID uuid, P2PService remoteService, int numberOfNodes, P2PNodeLookup lookup, java.lang.String vnName, java.lang.String jobId)
Booking a free node.
ttl
- Time to live of the message, in number of hops.uuid
- UUID of the message.remoteService
- The original sender.numberOfNodes
- Number of asked nodes.lookup
- The P2P nodes lookup.vnName
- Virtual node name.jobId
- public void askingNode(int ttl, UniversalUniqueID uuid, P2PService remoteService, int numberOfNodes, P2PNodeLookup lookup, java.lang.String vnName, java.lang.String jobId, boolean underloadedOnly)
Booking a free node.
ttl
- Time to live of the message, in number of hops.uuid
- UUID of the message.remoteService
- The original sender.numberOfNodes
- Number of asked nodes.lookup
- The P2P nodes lookup.vnName
- Virtual node name.jobId
- underloadedOnly
- determines if it replies with normal "askingNode" method or discard the callpublic P2PNodeLookup getNodes(int numberOfNodes, java.lang.String vnName, java.lang.String jobId)
P2PNodeLookup
, the number of asked nodes.
numberOfNodes
- the number of asked nodes.vnName
- Virtual node name.jobId
- of the vn.
public P2PNodeLookup getNodes(int numberOfNodes, java.lang.String vnName, java.lang.String jobId, boolean onlyUnderloaded)
public Node getANode(java.lang.String vnName, java.lang.String jobId)
vnName
- the virtual node name.jobId
- the job ID.
public Node getANode(java.lang.String vnName, java.lang.String jobId, P2PService service)
vnName
- the virtual node name.jobId
- the job ID.service
- a stub on the requester
public P2PNodeLookup getMaximunNodes(java.lang.String vnName, java.lang.String jobId)
P2PNodeLookup
all available nodes during all the
time where it is actived.
vnName
- Virtual node name.jobId
-
public StringWrapper getAddress()
public void removeWaitingAccessor(P2PNodeLookup accessorToRemove)
accessorToRemove
- the accessor to remove.public P2PAcquaintanceManager getP2PAcquaintanceManager()
public void initActivity(Body body)
InitActive
initActivity
in interface InitActive
body
- the body of the active object being initializedInitActive.initActivity(org.objectweb.proactive.Body)
public boolean amIUnderloaded()
public boolean amIUnderloaded(double ranking)
ranking
-
true
if the state is underloaded, false
else.public void balanceWithMe(P2PService sender, double ranking)
sender
- the reference of the overloaded machineranking
- the ranking of the callerpublic void ImStealingYou(double ranking, java.lang.String remoteNodeAddress)
ranking
- the ranking of the callerremoteNodeAddress
- the reference to the remote machinepublic void P2PloadBalance(Node destNode)
destNode
- is the new place for the active objectspublic void tellToMyNeighborsThatIWantToShareActiveObjects(double ranking)
ranking
- the ranking of the callerpublic void startStealingNeighbors(double ranking, java.lang.String myNodeAddress)
ranking
- the ranking of the callermyNodeAddress
- addres of the local node
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |