|
|||||||||||
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. |
java.lang.String |
getAddress()
For load balancing. |
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 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 java.lang.String 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 |