• Non ci sono risultati.

Field Summary

N/A
N/A
Protected

Academic year: 2021

Condividi "Field Summary"

Copied!
65
0
0

Testo completo

(1)

Appendice A

In questa appendice, è illustrata l’architettura logica del sistema realizzato. Le classi principali, delle quali si fornisce il diagramma delle classi, sono :

Aggregator Agent

Poiché sia lo Agent che lo Aggregator sono Grid Service, entrambi estendono ed implementano, rispettivamente, GridServiceImpl e GridServiceCallback.

GridServiceImpl, è la classe base di tutti i Grid Service, mentre GridServiceCallback è l’interfaccia che definisce i metodi necessari alla gestione del lifecycle di un Grid Service.

Infine sia lo Agent, sia lo Aggregator utilizzano il package utils che racchiude le classi Constant, contenente valori per alcune costanti e Message, utilizzata per stabilire il formato dei messaggi mediante i quali le entità del sistema comunicano tra loro.

Aggregator

Lo Aggregator gestisce sia le informazioni pubblicate dai propri Agent sulle quali possono essere effettuate ricerche, sia un indice delle risorse contenute negli Aggregator della propria organizzazione virtuale o di altre organizzazioni.

Nel fare ciò lo Aggregator utilizza le seguenti classi:

• Neighbour: memorizza informazioni sulla raggiungibilità di uno Aggregator,

• MessageReceiver: riceve ed invia messaggi per la comunicazione sia con altri Aggregator, sia con gli Agent,

• Query: memorizza informazioni su una determinata query.

(2)
(3)

Agent

Lo Agent genera le informazioni sulle risorse sotto forma di Service Data (SD).

La classe utilizzata dallo Agent è ProviderExecution che schedula gli Information Provider per la generazione dei Service Data.

(4)

Overview Package Class Tree Deprecated Index Help

PREV CLASS NEXT CLASS FRAMES NO FRAMES All Classes

SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD

agent.impl

Class AgentImpl

java.lang.Object |

+--org.globus.ogsa.impl.core.service.ServicePropertiesImpl |

+--org.globus.ogsa.impl.ogsi.GridServiceImpl |

+--agent.impl.AgentImpl

All Implemented Interfaces:

org.gridforum.ogsi.GridService, org.globus.ogsa.GridServiceBase, org.globus.ogsa.GridServiceCallback, java.rmi.Remote, org.globus.ogsa.ServiceDataValueCallback,

org.globus.ogsa.ServiceProperties

public class AgentImpl

extends org.globus.ogsa.impl.ogsi.GridServiceImpl implements org.globus.ogsa.GridServiceCallback

Grid Service che va in esecuzione su ogni macchina della Griglia occupandosi di generare informazioni sulle risorse. Memorizza queste informazioni come Service Data.

Field Summary

private org.w3c.dom.Document configDoc

(5)

Documento contenente la configurazione dello Agent.

private java.lang.String fileName

Nome del file di configurazione dello Agent con relativo path.

(package private) org.gridforum.ogsi.HandleType

handle

Contiene lo handle del Grid Service 'Agent'.

private org.globus.ogsa.GridServiceBase

hostService

Contiene le proprietà del Grid Service 'Agent'.

(package private) java.net.InetAddress

localAddress

Nome della macchina locale.

(package private) static org.apache.commons.logging.Log

logger

Logger della classe.

private java.util.Hashtable map

Associa ad ogni possibile combinazione degli attributi della tassonomia il relativo IP.

private org.globus.ogsa.ServiceData serviceData

(package private) org.globus.ogsa.ServiceDataSet

serviceDataSet

Contiene l'insieme dei Service Data creati dallo Agent.

private java.util.Hashtable timerList

Associa al nome di un Service Data il provider, che aggiorna le informazioni contenute nel Service

(6)

Data stesso, e il timer, con il quale il provider è stato schedulato.

Fields inherited from class org.globus.ogsa.impl.ogsi.GridServiceImpl

queryEngine

Fields inherited from class

org.globus.ogsa.impl.core.service.ServicePropertiesImpl

Fields inherited from interface org.globus.ogsa.ServiceProperties

ACTIVATE_ON_STARTUP, ACTIVATION, BASE_CLASS_NAME, BOOTSTRAP, CONFIG_PATH, CONTAINS_REFERENCE, CREATION_EXTENSIBILITY, CREATION_EXTENSIBILITY_OUTPUT, CUSTOM_EXTENSIBILITY_DESERIALIZER, CUSTOM_EXTENSIBILITY_SERIALIZER, CUSTOM_MAPPING_REGISTERED, DEACTIVATED_PERSISTENT, DEACTIVATED_STATE, DEACTIVATED_TRANSIENT, DEACTIVATION, DESTROY_LISTENER, DESTRUCTION_SKELETON, DISABLE_FACTORY_REGISTRY, ENDPOINT, ENTRY_INSTANCE_CREATION, FACTORY, FACTORY_CALLBACK, FACTORY_HANDLE, FACTORY_PROVIDER, FACTORY_REGISTRY, GSR_DESCRIPTION, HANDLE, HANDLE_PORT, HANDLE_PROTOCOL, INSTANCE_CLASS, INSTANCE_DEACTIVATION, INSTANCE_GSR_DESCRIPTION, INSTANCE_LIFECYCLE, INSTANCE_PORT_TYPE, INSTANCE_PORT_TYPE_NS, INSTANCE_PREFIX, INSTANCE_REGISTRY, INSTANCE_SCHEMA_PATH, INSTANCE_WSDL, INTERFACE_CLASS_NAME, INVOCATION_ID, LAZY_CREATION, LIFECYCLE, LIFECYCLE_MONITOR, LIFECYCLE_MONITOR_CLASS, NAME, NOTIFICATION_ENGINE, NOTIFICATION_FACTORY, NOTIFICATION_SOURCE, OPERATION_PROVIDERS, PERSISTENT, PERSISTENT_PROPERTIES, PORT, PORT_TYPE, PORT_TYPE_NS, PRIMARY_KEY, PROTOCOL, QUERY_ENGINE, REDIRECT_RESOLVER, REGISTRY, RESOLVER_CACHE, ROUTER_HEADER, ROUTER_VIA, SCHEMA_LOCATION, SCHEMA_PATH, SERVICE_ACTIVATOR, SERVICE_DATA, SERVICE_DEPLOYMENT, SERVICE_GROUP_ENTRY, SERVICE_GROUP_PROVIDER, SERVICE_LOADER,

(7)

TIMEOUT, TIMESTAMP, TRANSIENT, TYPE, USER, WEBSTART_PANEL_NAME, WEBSTART_URL, WSDL

Constructor Summary

AgentImpl()

Method Summary

private void

initMap()

Inizializza la tabella hash 'map'.

private void

load()

Controlla se esiste il file di configurazione dello Agent e agisce di conseguenza.

void postCreate(org.globus.ogsa.GridContext context)

Callback invocata quando il Grid Service 'Agent' è stato creato e tutta la sua configurazione è stata caricata.

void preCreate(org.globus.ogsa.GridServiceBase base)

Callback invocata quando inizia il processo di creazione del Grid Service 'Agent'.

void preDestroy(org.globus.ogsa.GridContext context)

Callback invocata appena prima che il Grid Service 'Agent' viene distrutto.

void publishIP(java.lang.String resourceDescriptor)

Crea un Service Data contenente informazioni su una determinata risorsa e schedula un provider per aggiornare queste informazioni.

void removeIP(java.lang.String resourceDescriptor)

Cancella il Service Data contenente informazioni su una

(8)

determinata risorsa e fa terminare lo Information Provider che ha il compito di aggiornare le informazioni su quella risorsa.

void reschedule()

Vengono rischedulati gli IP statici.

private void

schedule(agent.impl.ProviderExecution providerExecution)

Schedula il TimerTask 'providerExecution' che aggiornerà le informazioni su una determinata risorsa.

private void

sendObject(utils.Message msgToSend, java.net.InetAddress receiverAddress) Invia un messaggio.

private void

setServiceData(org.globus.ogsa.ServiceData serviceData) Imposta il valore degli attributi del Service Data.

Methods inherited from class org.globus.ogsa.impl.ogsi.GridServiceImpl

activate, addOperationProvider, deactivate, destroy, findServiceData, getInstanceProperty, getOperationProvider, getQueryEngine, getServiceDataSet, getServiceDataValues, getServiceInterface, getTerminationTime, populateInstanceProperties, requestTerminationAfter, requestTerminationBefore, setDefaultTermination, setQueryEngine, setServiceData, setServiceDataSet

Methods inherited from class

org.globus.ogsa.impl.core.service.ServicePropertiesImpl

flush, getPersistentProperty, getProperty, keySet, setPersistentProperty, setProperty

Methods inherited from class java.lang.Object

(9)

toString, wait, wait, wait

Methods inherited from interface org.globus.ogsa.GridServiceCallback

activate, deactivate

Methods inherited from interface org.globus.ogsa.ServiceProperties

flush, getPersistentProperty, getProperty, setPersistentProperty, setProperty

Field Detail

logger

static org.apache.commons.logging.Log logger

Logger della classe.

configDoc

private org.w3c.dom.Document configDoc

Documento contenente la configurazione dello Agent.

hostService

private org.globus.ogsa.GridServiceBase hostService

Contiene le proprietà del Grid Service 'Agent'.

(10)

handle

org.gridforum.ogsi.HandleType handle

Contiene lo handle del Grid Service 'Agent'.

map

private java.util.Hashtable map

Associa ad ogni possibile combinazione degli attributi della tassonomia il relativo IP.

timerList

private java.util.Hashtable timerList

Associa al nome di un Service Data il provider, che aggiorna le informazioni contenute nel Service Data stesso, e il timer, con il quale il provider è stato schedulato.

serviceData

private org.globus.ogsa.ServiceData serviceData

serviceDataSet

org.globus.ogsa.ServiceDataSet serviceDataSet

Contiene l'insieme dei Service Data creati dallo Agent.

(11)

fileName

private java.lang.String fileName

Nome del file di configurazione dello Agent con relativo path.

localAddress

java.net.InetAddress localAddress

Nome della macchina locale.

Constructor Detail

AgentImpl

public AgentImpl()

Method Detail

preCreate

public void preCreate(org.globus.ogsa.GridServiceBase base) throws org.globus.ogsa.GridServiceException

Callback invocata quando inizia il processo di creazione del Grid Service 'Agent'. Carica la configurazione del Grid Service.

Specified by:

preCreate in interface org.globus.ogsa.GridServiceCallback

Overrides:

preCreate in class org.globus.ogsa.impl.ogsi.GridServiceImpl

Parameters:

base - GridServiceBase

(12)

org.globus.ogsa.GridServiceException

postCreate

public void postCreate(org.globus.ogsa.GridContext context) throws org.globus.ogsa.GridServiceException

Callback invocata quando il Grid Service 'Agent' è stato creato e tutta la sua configurazione è stata caricata. Crea il MulticastSocket per la comunicazione con tutti gli Aggregator della propria organizzazione virtuale ed effettua il processo di inizializzazione delle strutture dati.

Specified by:

postCreate in interface org.globus.ogsa.GridServiceCallback

Overrides:

postCreate in class org.globus.ogsa.impl.ogsi.GridServiceImpl

Parameters:

context - GridContext Throws:

org.globus.ogsa.GridServiceException

preDestroy

public void preDestroy(org.globus.ogsa.GridContext context)

Callback invocata appena prima che il Grid Service 'Agent' viene distrutto.

Elimina tutti i Timer presenti nella timerList.

Specified by:

preDestroy in interface org.globus.ogsa.GridServiceCallback

Overrides:

preDestroy in class org.globus.ogsa.impl.ogsi.GridServiceImpl

(13)

context - GridContext

initMap

private void initMap()

Inizializza la tabella hash 'map'.

load

private void load()

throws org.globus.ogsa.GridServiceException

Controlla se esiste il file di configurazione dello Agent e agisce di conseguenza. Nel caso in cui il file non esiste allora lo crea; altrimenti, legge dal file di configurazione tutti i tag "providerEntry" che forniscono informazioni sui provider da schedulare e sui Service Data che dovrebbero essere aggiornati da questi provider. Quindi, per ogni tag presente nel file di configurazione, crea un Service Data vuoto e schedula il provider che genererà ed aggiornerà le informazioni che dovranno essere memorizzate nel Service Data creato. Infine, invia un messaggio in multicast per informare tutti gli Aggregator, all'interno della stessa organizzazione virtuale di cui fa parte lo Agent, della creazione di un nuovo Service Data.

Throws:

org.globus.ogsa.GridServiceException

reschedule

public void reschedule()

Vengono rischedulati gli IP statici.

(14)

setServiceData

private void setServiceData(org.globus.ogsa.ServiceData serviceData) throws org.globus.ogsa.GridServiceException

Imposta il valore degli attributi del Service Data.

Parameters:

serviceData - Service Data di cui bisogna impostare i valori degli attributi Throws:

org.globus.ogsa.GridServiceException

sendObject

private void sendObject(utils.Message msgToSend,

java.net.InetAddress receiverAddress)

Invia un messaggio.

Parameters:

msgToSend - Messaggio da inviare

receiverAddress - Indirizzo del destinatario del messaggio

publishIP

public void publishIP(java.lang.String resourceDescriptor) throws java.rmi.RemoteException

Crea un Service Data contenente informazioni su una determinata risorsa e schedula un provider per aggiornare queste informazioni. Inoltre, aggiorna il file di configurazione dello Agent e invia un messaggio per informare tutti gli Aggregator della creazione di un nuovo Service Data. Il nome del

(15)

Service Data è ottenuto mediante la tabella hash 'map' mentre le informazioni contenute nel Service Data sono ottenute tramite il descrittore della risorsa che viene passato come parametro.

Parameters:

resourceDescriptor - Nome del descrittore della risorsa Throws:

java.rmi.RemoteException

removeIP

public void removeIP(java.lang.String resourceDescriptor) throws java.rmi.RemoteException

Cancella il Service Data contenente informazioni su una determinata risorsa e fa terminare lo Information Provider che ha il compito di aggiornare le informazioni su quella risorsa. Inoltre, aggiorna il file di configurazione dello Agent e invia un messaggio per informare tutti gli Aggregator della cancellazione del Service Data.

Parameters:

resourceDescriptor - Nome del descrittore della risorsa Throws:

java.rmi.RemoteException

schedule

private void schedule(agent.impl.ProviderExecution providerExecution)

Schedula il TimerTask 'providerExecution' che aggiornerà le informazioni su una determinata risorsa.

Parameters:

(16)

Overview Package Class Tree Deprecated Index Help

PREV CLASS NEXT CLASS FRAMES NO FRAMES All Classes

SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD

aggregator.impl

Class AggregatorImpl

java.lang.Object |

+--org.globus.ogsa.impl.core.service.ServicePropertiesImpl |

+--org.globus.ogsa.impl.ogsi.GridServiceImpl |

+--aggregator.impl.AggregatorImpl

All Implemented Interfaces:

org.gridforum.ogsi.GridService, org.globus.ogsa.GridServiceBase, org.globus.ogsa.GridServiceCallback, java.rmi.Remote, org.globus.ogsa.ServiceDataValueCallback,

org.globus.ogsa.ServiceProperties

public class AggregatorImpl

extends org.globus.ogsa.impl.ogsi.GridServiceImpl implements org.globus.ogsa.GridServiceCallback

Grid Service che implementa un meccanismo di caching per i Service Data creati dai vari Agent presenti nella stessa organizzazione virtuale dello Aggregator.

Field Summary

(17)

private java.util.Hashtable aggregatorList

Associa al nome di ogni aggregator, presente nel file di configurazione ed esterno all'organizzazione virtuale, informazioni riguardanti la sua reperibilità.

private javax.swing.Timer clock

Utilizzati per eseguire dei task dopo un tempo specificato

private javax.swing.Timer clock1

private org.w3c.dom.Document configDoc

Documento contenente la configurazione dello Aggregator.

private java.lang.String fileName

Nome del file di configurazione dello Aggregator con relativo path.

private org.gridforum.ogsi.HandleType handle

Contiene lo handle del Grid Service 'Aggregator'.

private org.globus.ogsa.GridServiceBase hostService

Contiene le proprietà del Grid Service 'Aggregator'.

private java.net.InetAddress localAddress

Nome della macchina locale.

(18)

private java.util.Hashtable localIndex

Associa ad ogni parola chiave la lista dei Service Data che contengono quella parola chiave.

(package private) static org.apache.commons.logging.Log

logger

Logger della classe.

private int numChange

Identifica il numero dei cambiamenti nell'indice locale.

private int numQuery

Contiene il numero delle query sottomesse al sistema ed e' utilizzato come parte dell'identificatore di una query.

private aggregator.impl.MessageReceiver PtoP

Oggetto con il quale vengono inviati messaggi in peer-to-peer.

private java.util.Hashtable querySentToIP

Associa ad ogni identificatore di query la lista dei nomi degli Aggregator ai quali la query e' stata inviata.

private java.util.Hashtable routingTable

Associa al nome di ogni aggregator il suo Routing Indices.

(19)

private org.globus.ogsa.ServiceDataSet serviceDataSet

Contiene l'insieme dei Service Data creati dallo Aggregator.

private org.gridforum.ogsi.OGSIServiceGridLocator

serviceLocator

Oggetto utilizzato per ottenere il riferimento alla PortType di un Grid Service

private java.util.Hashtable subscriptions

Contiene l'insieme delle sottoscrizioni dell'Aggregator.

Fields inherited from class org.globus.ogsa.impl.ogsi.GridServiceImpl

queryEngine, serviceData

Fields inherited from class

org.globus.ogsa.impl.core.service.ServicePropertiesImpl

Fields inherited from interface org.globus.ogsa.ServiceProperties

ACTIVATE_ON_STARTUP, ACTIVATION, BASE_CLASS_NAME, BOOTSTRAP, CONFIG_PATH, CONTAINS_REFERENCE, CREATION_EXTENSIBILITY, CREATION_EXTENSIBILITY_OUTPUT, CUSTOM_EXTENSIBILITY_DESERIALIZER, CUSTOM_EXTENSIBILITY_SERIALIZER, CUSTOM_MAPPING_REGISTERED, DEACTIVATED_PERSISTENT, DEACTIVATED_STATE, DEACTIVATED_TRANSIENT, DEACTIVATION, DESTROY_LISTENER, DESTRUCTION_SKELETON, DISABLE_FACTORY_REGISTRY, ENDPOINT, ENTRY_INSTANCE_CREATION, FACTORY, FACTORY_CALLBACK, FACTORY_HANDLE, FACTORY_PROVIDER, FACTORY_REGISTRY, GSR_DESCRIPTION, HANDLE, HANDLE_PORT, HANDLE_PROTOCOL, INSTANCE_CLASS,

(20)

INSTANCE_DEACTIVATION, INSTANCE_GSR_DESCRIPTION, INSTANCE_LIFECYCLE, INSTANCE_PORT_TYPE, INSTANCE_PORT_TYPE_NS, INSTANCE_PREFIX, INSTANCE_REGISTRY, INSTANCE_SCHEMA_PATH, INSTANCE_WSDL, INTERFACE_CLASS_NAME, INVOCATION_ID, LAZY_CREATION, LIFECYCLE, LIFECYCLE_MONITOR, LIFECYCLE_MONITOR_CLASS, NAME, NOTIFICATION_ENGINE, NOTIFICATION_FACTORY, NOTIFICATION_SOURCE, OPERATION_PROVIDERS, PERSISTENT, PERSISTENT_PROPERTIES, PORT, PORT_TYPE, PORT_TYPE_NS, PRIMARY_KEY, PROTOCOL, QUERY_ENGINE, REDIRECT_RESOLVER, REGISTRY, RESOLVER_CACHE, ROUTER_HEADER, ROUTER_VIA, SCHEMA_LOCATION, SCHEMA_PATH, SERVICE_ACTIVATOR, SERVICE_DATA, SERVICE_DEPLOYMENT, SERVICE_GROUP_ENTRY, SERVICE_GROUP_PROVIDER, SERVICE_LOADER, SERVICE_NODE, SERVICE_PATH, SINK_ID, STARTUP_STATE, SWEEP_SERVICE_DATA, TIMEOUT, TIMESTAMP, TRANSIENT, TYPE, USER, WEBSTART_PANEL_NAME, WEBSTART_URL, WSDL

Constructor Summary

AggregatorImpl()

Method Summary

void addSubscription(org.gridforum.ogsi.HandleType gs h, java.lang.String serviceDataName)

Effettua la sottoscrizione ad un ServiceData.

private java.util.Hashtable[]

aggregateRoutingIndices(java.lang.String aggrega torHostName)

Calcola il routing indices aggregato per un dato Aggregator.

private java.lang.String

calculateBestNeighbor(utils.Query q)

Tra tutti gli Aggregator presenti nella tabella di routing, calcola lo Aggregator che ha il maggior

(21)

numero di documenti che contengono le parole chiave presenti nella query ricevuta come parametro.

private void createRoutingTable()

Crea la tabella di routing che associa ad ogni Aggregator un array di Routing Indices.

void deliverNotification(org.gridforum.ogsi.Extensibi lityType any)

Notifica il cambiamento di un Service Data.

private void findLocalResult(utils.Query q)

Valuta la query con i documenti disponibili localmente.

void forwardingQuery(utils.Query queryToForward) Inoltra la query ad un Aggregator.

void getList(java.net.InetAddress address)

Invia ad un server specializzato, all'interno della VO, il messaggio di getList con il quale si vuole ottenere: la lista dei nodi vicini, la lista dei super peer della propria VO e la lista dei client.

void keepAlive(java.lang.String aggregatorHostName) Aggiorna le informazioni riguardanti la reperibilita' degli Aggregator appartenenti a differenti organizzazioni virtuali.

private void load()

Controlla se esiste il file di configurazione dello Aggregator e agisce di conseguenza.

private void modifyLocalIndex(org.globus.ogsa.ServiceData ser

viceData, boolean incr)

Aggiorna l'indice dei documenti disponibili

(22)

localmente.

void postCreate(org.globus.ogsa.GridContext context) Callback invocata quando il Grid Service 'Aggregator' è stato creato e tutta la sua configurazione è stata caricata.

void preCreate(org.globus.ogsa.GridServiceBase base) Callback invocata quando inizia il processo di creazione del Grid Service 'Aggregator'.

void preDestroy(org.globus.ogsa.GridContext context) Callback invocata appena prima che il Grid Service 'Aggregator' viene distrutto.

void putList(java.util.HashSet neighborList, java.util.HashSet superPeerList,

java.util.HashSet clientList)

Riceve come parametro le tre liste richieste con un messaggio di getList, e le memorizza in apposite strutture dati.

void query(utils.Query query)

Implementa il processo di query.

private java.lang.Object[]

readKeys(org.globus.ogsa.ServiceData serviceData )

Legge le parole chiave contenute nel Service Data.

void removeSubscription(java.lang.String gsh, java.lang.String serviceDataName)

Rimuove la sottoscrizione ad un Service Data.

private void sendRI(java.lang.String aggregatorHostName, int hopCount)

Invia il routing indices aggregato allo Aggregator

(23)

'aggregatorHostName' passato come parametro.

private void startTimer()

Definisce due 'ActionListener' (checkActiveAggregator e checkLifetimeQuery) che eseguiranno dei controlli a determinati intervalli di tempo.

void updateRoutingTable(java.lang.String aggregatorHo stName, java.lang.Object objectMessage, int hopCount)

Aggiorna la tabella di routing in seguito alla ricezione di un routing indices aggregato da parte di un Aggregator appartenente ad una differente organizzazione virtuale.

Methods inherited from class org.globus.ogsa.impl.ogsi.GridServiceImpl

activate, addOperationProvider, deactivate, destroy, findServiceData, getInstanceProperty, getOperationProvider, getQueryEngine, getServiceDataSet, getServiceDataValues, getServiceInterface, getTerminationTime, populateInstanceProperties, requestTerminationAfter, requestTerminationBefore, setDefaultTermination, setQueryEngine, setServiceData, setServiceDataSet

Methods inherited from class

org.globus.ogsa.impl.core.service.ServicePropertiesImpl

flush, getPersistentProperty, getProperty, keySet, setPersistentProperty, setProperty

Methods inherited from class java.lang.Object

(24)

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Methods inherited from interface org.globus.ogsa.GridServiceCallback

activate, deactivate

Methods inherited from interface org.globus.ogsa.ServiceProperties

flush, getPersistentProperty, getProperty, setPersistentProperty, setProperty

Field Detail

logger

static org.apache.commons.logging.Log logger

Logger della classe.

configDoc

private org.w3c.dom.Document configDoc

Documento contenente la configurazione dello Aggregator.

localAddress

private java.net.InetAddress localAddress

Nome della macchina locale.

(25)

hostService

private org.globus.ogsa.GridServiceBase hostService

Contiene le proprietà del Grid Service 'Aggregator'.

handle

private org.gridforum.ogsi.HandleType handle

Contiene lo handle del Grid Service 'Aggregator'.

aggregatorList

private java.util.Hashtable aggregatorList

Associa al nome di ogni aggregator, presente nel file di configurazione ed esterno all'organizzazione virtuale, informazioni riguardanti la sua reperibilità.

routingTable

private java.util.Hashtable routingTable

Associa al nome di ogni aggregator il suo Routing Indices.

localIndex

private java.util.Hashtable localIndex

Associa ad ogni parola chiave la lista dei Service Data che contengono quella parola chiave.

(26)

querySentToIP

private java.util.Hashtable querySentToIP

Associa ad ogni identificatore di query la lista dei nomi degli Aggregator ai quali la query e' stata inviata.

subscriptions

private java.util.Hashtable subscriptions

Contiene l'insieme delle sottoscrizioni dell'Aggregator.

numQuery

private int numQuery

Contiene il numero delle query sottomesse al sistema ed e' utilizzato come parte dell'identificatore di una query.

numChange

private int numChange

Identifica il numero dei cambiamenti nell'indice locale.

PtoP

(27)

Oggetto con il quale vengono inviati messaggi in peer-to-peer.

serviceLocator

private org.gridforum.ogsi.OGSIServiceGridLocator serviceLocator

Oggetto utilizzato per ottenere il riferimento alla PortType di un Grid Service

serviceDataSet

private org.globus.ogsa.ServiceDataSet serviceDataSet

Contiene l'insieme dei Service Data creati dallo Aggregator.

fileName

private java.lang.String fileName

Nome del file di configurazione dello Aggregator con relativo path.

clock

private javax.swing.Timer clock

Utilizzati per eseguire dei task dopo un tempo specificato

clock1

private javax.swing.Timer clock1

(28)

Constructor Detail

AggregatorImpl

public AggregatorImpl()

Method Detail

preCreate

public void preCreate(org.globus.ogsa.GridServiceBase base) throws org.globus.ogsa.GridServiceException

Callback invocata quando inizia il processo di creazione del Grid Service 'Aggregator'. Carica la configurazione del Grid Service.

Specified by:

preCreate in interface org.globus.ogsa.GridServiceCallback

Overrides:

preCreate in class org.globus.ogsa.impl.ogsi.GridServiceImpl

Parameters:

base - GridServiceBase Throws:

org.globus.ogsa.GridServiceException

postCreate

public void postCreate(org.globus.ogsa.GridContext context) throws org.globus.ogsa.GridServiceException

Callback invocata quando il Grid Service 'Aggregator' è stato creato e tutta la sua configurazione è stata caricata. Crea due thread, multicast e PtoP, che

(29)

Agent e messaggi peer-to-peer da parte degli Aggregator appartenenti a differenti organizzazioni virtuali; inoltre effettua il processo di inizializzazione delle strutture dati.

Specified by:

postCreate in interface org.globus.ogsa.GridServiceCallback

Overrides:

postCreate in class org.globus.ogsa.impl.ogsi.GridServiceImpl

Parameters:

context - GridContext Throws:

org.globus.ogsa.GridServiceException

preDestroy

public void preDestroy(org.globus.ogsa.GridContext context) throws org.globus.ogsa.GridServiceException

Callback invocata appena prima che il Grid Service 'Aggregator' viene distrutto. Cancella tutte le sottoscrizioni sia all'interno della tabella hash 'subscriptions' sia dal file di configurazione. Inoltre causa la terminazione dei thread utilizzati per la comunicazione sia in multicast che in peer-to- peer.

Specified by:

preDestroy in interface org.globus.ogsa.GridServiceCallback

Overrides:

preDestroy in class org.globus.ogsa.impl.ogsi.GridServiceImpl

Parameters:

context - GridContext Throws:

org.globus.ogsa.GridServiceException

(30)

createRoutingTable

private void createRoutingTable()

Crea la tabella di routing che associa ad ogni Aggregator un array di Routing Indices. L'array ha una dimensione pari a 'Constant.HORIZON' che rappresenta l'orizzonte oltre il quale i routing indices aggregati non vengono inviati. La tabella viene inizializzata con due chiavi speciali: - localhost: a questa chiave e' associata una tabella hash contenente, per ogni parola chiave, il numero dei documenti disponibili localmente - summary: a questa chiave e' associata un array di tabelle hash contenenti, per ogni parola chiave, il numero totale dei documenti raggiungibili tramite gli Aggregator, presenti nel file di configurazione, appartenenti ad organizzazioni virtuali differenti.

sendRI

private void sendRI(java.lang.String aggregatorHostName, int hopCount)

Invia il routing indices aggregato allo Aggregator 'aggregatorHostName' passato come parametro.

Parameters:

aggregatorHostName - Hostname dello Aggregator al quale inviare il Routing Indices

hopCount - Numero di salti finora effettuati

(31)

updateRoutingTable

public void updateRoutingTable(java.lang.String aggregatorHostName, java.lang.Object objectMessage, int hopCount)

Aggiorna la tabella di routing in seguito alla ricezione di un routing indices aggregato da parte di un Aggregator appartenente ad una differente organizzazione virtuale.

Parameters:

aggregatorHostName - Hostname dello Aggregator che ha inviato objectMessage

objectMessage - Contiene il Routing Indices di objectAggregator

hopCount - Numero di salti finora effettuati

aggregateRoutingIndices

private java.util.Hashtable[]

aggregateRoutingIndices(java.lang.String aggregatorHostName)

Calcola il routing indices aggregato per un dato Aggregator.

Parameters:

aggregatorHostName - Hostname dello Aggregator rispetto al quale deve essere calcolato il Routing indices

Returns:

Un array di Hashtable che rappresenta il routing indices aggregato

modifyLocalIndex

private void modifyLocalIndex(org.globus.ogsa.ServiceData serviceData, boolean incr)

(32)

throws org.globus.ogsa.GridServiceException

Aggiorna l'indice dei documenti disponibili localmente. Di conseguenza verra' aggiornata anche la tabella di routing.

Parameters:

serviceData - Contiene informazioni sulla risorsa da indicizzare

incr - Indica se i valori contenuti nel Routing Indices devono essere sommati ai valori dell'indice locale

Throws:

org.globus.ogsa.GridServiceException

keepAlive

public void keepAlive(java.lang.String aggregatorHostName)

Aggiorna le informazioni riguardanti la reperibilita' degli Aggregator appartenenti a differenti organizzazioni virtuali.

Parameters:

aggregatorHostName - Hostname dello Aggregator del quale si devono aggiornare le informazioni sulla reperibilità

startTimer

private void startTimer()

Definisce due 'ActionListener' (checkActiveAggregator e checkLifetimeQuery) che eseguiranno dei controlli a determinati intervalli di tempo. Con il primo ActionListener si segnala la propria disponibilita' a tutti gli Aggregator presenti in aggregatorList e si controlla la raggiungibilita' di ognuno di essi. Nel caso in cui un Aggregator non sia

(33)

raggiungibilita' e deve essere eliminato il suo routing indices dalla tabella di routing. Con il secondo ActionListener si controlla la validita' delle query presenti in queryList. Nel caso in cui una query non e' piu' valida viene eliminata sia da queryList che da querySentToIP.

load

private void load()

throws org.globus.ogsa.GridServiceException

Controlla se esiste il file di configurazione dello Aggregator e agisce di conseguenza. Nel caso in cui il file non esiste allora lo crea; altrimenti, legge dal file di configurazione tutti i tag "subscriptionEntry" e tutti i tag

"aggregatorEntry". Per ogni tag "subscriptionEntry", se presente, vengono letti i campi "subscriptionID" ed "endpoint" che permettono di risalire alla sottoscrizione, ad un particolare Service Data, per poterla cancellare. Una volta cancellate le sottoscrizioni, si provvede a cancellare il tag

"subscriptionEntry" dal file di configurazione. Per ogni "aggregatorEntry", se presente, viene letto il campo "aggregatorIP" tramite il quale viene creato l'oggetto IP contenente informazioni sulla reperibilita' dello stesso Aggregator al quale viene inviato un messaggio di "keepAlive". Infine, viene inviato un messaggio di "getList" in multicast per ottenere, da qualsiasi altro Aggregator appartenente alla stessa organizzazione vrtuale, la lista dei Service Data ai quali si è sottoscritto.

Throws:

org.globus.ogsa.GridServiceException

getList

(34)

public void getList(java.net.InetAddress address)

Invia ad un server specializzato, all'interno della VO, il messaggio di getList con il quale si vuole ottenere: la lista dei nodi vicini, la lista dei super peer della propria VO e la lista dei client.

Parameters:

address - Indirizzo ip del server specializzato

putList

public void putList(java.util.HashSet neighborList, java.util.HashSet superPeerList, java.util.HashSet clientList)

Riceve come parametro le tre liste richieste con un messaggio di getList, e le memorizza in apposite strutture dati.

Parameters:

neighborList - lista dei vicini

superPeerList - lista dei super peer del proprio cluster

clientList - lista dei client

readKeys

private java.lang.Object[]

readKeys(org.globus.ogsa.ServiceData serviceData) throws

org.globus.ogsa.GridServiceException

Legge le parole chiave contenute nel Service Data.

Parameters:

serviceData - ServiceData contenente le parole chiave da leggere

(35)

Un array di stringhe contenente le parole chiave lette Throws:

org.globus.ogsa.GridServiceException

addSubscription

public void addSubscription(org.gridforum.ogsi.HandleType gsh, java.lang.String serviceDataName) throws java.rmi.RemoteException

Effettua la sottoscrizione ad un ServiceData.

Parameters:

gsh - Handle del servizio che si sottoscriverà al Service Data con nome serviceDataName

serviceDataName - Nome del Service Data Throws:

java.rmi.RemoteException

removeSubscription

public void removeSubscription(java.lang.String gsh,

java.lang.String serviceDataName) throws java.rmi.RemoteException

Rimuove la sottoscrizione ad un Service Data.

Parameters:

gsh - Handle del servizio, sotto forma di stringa, che è sottoscritto al Service Data con nome serviceDataName

serviceDataName - Nome del Service Data Throws:

java.rmi.RemoteException

(36)

deliverNotification

public void

deliverNotification(org.gridforum.ogsi.ExtensibilityType any) throws java.rmi.RemoteException

Notifica il cambiamento di un Service Data.

Parameters:

any - Contiene il Service Data al quale lo Aggregator si è sottoscritto e il cui valore è stato modificato

Throws:

java.rmi.RemoteException

forwardingQuery

public void forwardingQuery(utils.Query queryToForward)

Inoltra la query ad un Aggregator.

Parameters:

queryToForward - Query da inoltrare

calculateBestNeighbor

private java.lang.String calculateBestNeighbor(utils.Query q)

Tra tutti gli Aggregator presenti nella tabella di routing, calcola lo Aggregator che ha il maggior numero di documenti che contengono le parole chiave presenti nella query ricevuta come parametro.

Parameters:

(37)

Returns:

Il "miglior" vicino al quale inoltrare la query q

query

public void query(utils.Query query)

Implementa il processo di query.

Parameters:

query - Query da soddisfare

findLocalResult

private void findLocalResult(utils.Query q)

Valuta la query con i documenti disponibili localmente.

Parameters:

q - Query da valutare

Overview Package Class Tree Deprecated Index Help

PREV CLASS NEXT CLASS FRAMES NO FRAMES All Classes

SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD

utils

Class Constant

java.lang.Object |

(38)

+--utils.Constant

public class Constant extends java.lang.Object

Contiene valori per alcune costanti

Field Summary

static int DELAY

Ritardo di tempo tra l'esecuzione di due listener

static int DELAY_IP

Ritardo esecuzione IP statici

static double FANOUT

Fattore di ramificazione

static int HORIZON

Orizzonte dello Hop Count Routing Indices

static int LIFE_TIME_QUERY

Tempo di validità della query

static java.lang.String LOCAL_ADDRESS

Stringa 'localhost'

static int PORT_NUMBER_IN

Numero di porta utilizzato per le comunicazioni in ingresso

static int PORT_NUMBER_OUT

Numero di porta utilizzato per le comunicazioni in uscita

static java.lang.String SUMMARY

Stringa 'summary'

(39)

Valore massimo di modifiche che possono essere fatte all'indice locale prima di inviare i routing indices

static int TIMEOUT

Timeout dei socket

Constructor Summary

Constant()

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Detail

SUMMARY

public static final java.lang.String SUMMARY

Stringa 'summary' See Also:

Constant Field Values

LOCAL_ADDRESS

public static final java.lang.String LOCAL_ADDRESS

Stringa 'localhost'

(40)

See Also:

Constant Field Values

PORT_NUMBER_IN

public static final int PORT_NUMBER_IN

Numero di porta utilizzato per le comunicazioni in ingresso See Also:

Constant Field Values

PORT_NUMBER_OUT

public static final int PORT_NUMBER_OUT

Numero di porta utilizzato per le comunicazioni in uscita See Also:

Constant Field Values

TIMEOUT

public static final int TIMEOUT

Timeout dei socket See Also:

Constant Field Values

THRESHOLD

(41)

Valore massimo di modifiche che possono essere fatte all'indice locale prima di inviare i routing indices

See Also:

Constant Field Values

HORIZON

public static final int HORIZON

Orizzonte dello Hop Count Routing Indices See Also:

Constant Field Values

FANOUT

public static final double FANOUT

Fattore di ramificazione See Also:

Constant Field Values

DELAY_IP

public static final int DELAY_IP

Ritardo esecuzione IP statici See Also:

Constant Field Values

(42)

DELAY

public static final int DELAY

Ritardo di tempo tra l'esecuzione di due listener See Also:

Constant Field Values

LIFE_TIME_QUERY

public static final int LIFE_TIME_QUERY

Tempo di validità della query See Also:

Constant Field Values

Constructor Detail

Constant

public Constant()

Overview Package Class Tree Deprecated Index Help

PREV CLASS NEXT CLASS FRAMES NO FRAMES All Classes

SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD

utils

Class Message

(43)

+--utils.Message

All Implemented Interfaces:

java.io.Serializable

public class Message extends java.lang.Object

implements java.io.Serializable

Crea i diversi tipi di messaggi che possono essere scambiati tra le varie entità del sistema

See Also:

Serialized Form

Field Summary

private java.lang.Object

content

Contenuto del messaggio

private java.lang.String

type

Tipo del messaggio

Constructor Summary

Message(java.lang.String type)

Message(java.lang.String type, java.lang.Object content)

Method Summary

java.lang.Object getContent()

(44)

Restituisce il contenuto del messaggio

java.lang.String getType()

Restituisce il tipo del messaggio

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Detail

type

private java.lang.String type

Tipo del messaggio

content

private java.lang.Object content

Contenuto del messaggio

Constructor Detail

Message

public Message(java.lang.String type)

Message

(45)

public Message(java.lang.String type, java.lang.Object content)

Method Detail

getType

public java.lang.String getType()

Restituisce il tipo del messaggio Returns:

Il tipo del messaggio

getContent

public java.lang.Object getContent()

Restituisce il contenuto del messaggio Returns:

Il contenuto del messaggio

Overview Package Class Tree Deprecated Index Help

PREV CLASS NEXT CLASS FRAMES NO FRAMES All Classes

SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD

aggregator.impl

Class MessageReceiver

java.lang.Object

(46)

+--java.lang.Thread |

+--aggregator.impl.MessageReceiver

All Implemented Interfaces:

java.lang.Runnable

public class MessageReceiver extends java.lang.Thread

Thread utilizzato per la ricezione e l'invio dei messaggi.

Field Summary

private aggregator.impl.AggregatorImpl

aggregator

Utilizzato per invocare i metodi di Aggregator

private java.net.ServerSocket serverSocket

Utilizzato per la ricezione dei messaggi

private boolean state

Utilizzato per la terminazione di MessageReceiver

Fields inherited from class java.lang.Thread

MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY

Constructor Summary

MessageReceiver(aggregator.impl.AggregatorImpl aggregator, boolean isMulticast)

(47)

Method Summary

void run()

Ricezione dei messaggi e invocazione dei metodi, identificati dal tipo di messaggio ricevuto, dell'Aggregator.

void sendMessage(utils.Message msgToSend,

java.net.InetAddress address, int destinationPort)

Invia un messaggio.

void terminate()

Provoca la terminazione del thread.

Methods inherited from class java.lang.Thread

activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getContextClassLoader, getName, getPriority, getThreadGroup, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setName, setPriority, sleep, sleep, start, stop, stop, suspend, toString, yield

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Field Detail

aggregator

private aggregator.impl.AggregatorImpl aggregator

Utilizzato per invocare i metodi di Aggregator

(48)

state

private boolean state

Utilizzato per la terminazione di MessageReceiver

serverSocket

private java.net.ServerSocket serverSocket

Utilizzato per la ricezione dei messaggi

Constructor Detail

MessageReceiver

public MessageReceiver(aggregator.impl.AggregatorImpl aggregator, boolean isMulticast)

Method Detail

sendMessage

public void sendMessage(utils.Message msgToSend, java.net.InetAddress address, int destinationPort)

Invia un messaggio.

Parameters:

msgToSend - messaggio da inviare

address - indirizzo ip al quale inviare il messaggio

destinationPort - porta sulla quale è in ascolto il destinatario del messaggio

(49)

terminate

public void terminate()

Provoca la terminazione del thread.

run

public void run()

Ricezione dei messaggi e invocazione dei metodi, identificati dal tipo di messaggio ricevuto, dell'Aggregator.

Specified by:

run in interface java.lang.Runnable

Overrides:

run in class java.lang.Thread

Overview Package Class Tree Deprecated Index Help

PREV CLASS NEXT CLASS FRAMES NO FRAMES All Classes

SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD

aggregator.impl

Class Neighbour

java.lang.Object |

+--aggregator.impl.Neighbour

(50)

public class Neighbour extends java.lang.Object

Contiene le informazioni relative alla raggiungibilità di un nodo vicino.

Field Summary

private boolean alive

Indica se il nodo è raggiungibile

private java.util.Calendar

lastKeepAliveTime

Istante di tempo in cui è stato inviato l'ultimo messaggio di keepAlive

private java.lang.String

name

Hostname del nodo

Constructor Summary

Neighbour(java.lang.String name)

Method Summary

java.util.Calendar getLastKeepAliveTime()

Restituisce l'istante di tempo in cui è stato inviato l'ultimo messaggio di keepAlive

java.lang.String getName()

Restituisce lo hostname del nodo

boolean isAlive()

Controlla la raggiungibilità di un nodo

isExpired()

(51)

Controlla se ha ricevuto gli ultimi messaggi di keepAlive.

void setAlive(boolean isAlive)

Imposta la raggiungibilità di un nodo

void setLastKeepAliveTime()

Memorizza l'istante di tempo in cui viene inviato l'ultimo messaggio di keepAlive

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Detail

name

private java.lang.String name

Hostname del nodo

alive

private boolean alive

Indica se il nodo è raggiungibile

lastKeepAliveTime

private java.util.Calendar lastKeepAliveTime

(52)

Istante di tempo in cui è stato inviato l'ultimo messaggio di keepAlive

Constructor Detail

Neighbour

public Neighbour(java.lang.String name)

Method Detail

getName

public java.lang.String getName()

Restituisce lo hostname del nodo Returns:

Lo hostname del nodo

setAlive

public void setAlive(boolean isAlive)

Imposta la raggiungibilità di un nodo Parameters:

isAlive - Indica se il nodo è raggiungibile

isAlive

public boolean isAlive()

Controlla la raggiungibilità di un nodo Returns:

(53)

True, se il nodo è raggiungibile

setLastKeepAliveTime

public void setLastKeepAliveTime()

Memorizza l'istante di tempo in cui viene inviato l'ultimo messaggio di keepAlive

getLastKeepAliveTime

public java.util.Calendar getLastKeepAliveTime()

Restituisce l'istante di tempo in cui è stato inviato l'ultimo messaggio di keepAlive

Returns:

Istante di tempo in cui è stato inviato l'ultimo messaggio di keepAlive

isExpired

public boolean isExpired()

Controlla se ha ricevuto gli ultimi messaggi di keepAlive.

Returns:

True, se ha ricevuto gli ultimi messaggi di keepAlive

Overview Package Class Tree Deprecated Index Help

PREV CLASS NEXT CLASS FRAMES NO FRAMES All Classes

SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD

(54)

agent.impl

Class ProviderExecution

java.lang.Object |

+--java.util.TimerTask |

+--agent.impl.ProviderExecution

All Implemented Interfaces:

java.lang.Runnable

public class ProviderExecution extends java.util.TimerTask

Contenitore per gli InformationProvider da schedulare.

Field Summary

private agent.impl.AgentImpl

agent

Utilizzato per invocare i metodi di Agent

private long expiredTime

Tempo di validità del Service Data

private java.lang.Object[]

keys

Parole chiave usate per indicizzare il Service Data

private java.lang.String

providerClassName

Nome dell'Information Provider da schedulare

private java.lang.String

resourceDescriptor

Nome del descrittore della risorsa

private java.lang.String

serviceDataName

Nome del Service Data da modificare

(55)

Fields inherited from class java.util.TimerTask

Constructor Summary

ProviderExecution(agent.impl.AgentImpl agent,

java.lang.String serviceDataName, java.lang.String providerClassName, java.lang.String resourceDescriptor, long expiredTime, java.lang.Object[] keys)

Method Summary

agent.impl.ProviderExecution cloneProvider()

Crea un clone del Provider

long getExpiredTime()

Restituisce il tempo di validità del Service Data

java.lang.String getServiceDataName()

Restituisce il nome del Service Data

void run()

Schedula lo Information Provider e aggiorna il valore del Service Data

Methods inherited from class java.util.TimerTask

cancel, scheduledExecutionTime

Methods inherited from class java.lang.Object

(56)

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Detail

agent

private agent.impl.AgentImpl agent

Utilizzato per invocare i metodi di Agent

serviceDataName

private java.lang.String serviceDataName

Nome del Service Data da modificare

providerClassName

private java.lang.String providerClassName

Nome dell'Information Provider da schedulare

resourceDescriptor

private java.lang.String resourceDescriptor

Nome del descrittore della risorsa

expiredTime

(57)

private long expiredTime

Tempo di validità del Service Data

keys

private java.lang.Object[] keys

Parole chiave usate per indicizzare il Service Data

Constructor Detail

ProviderExecution

public ProviderExecution(agent.impl.AgentImpl agent,

java.lang.String serviceDataName, java.lang.String providerClassName, java.lang.String resourceDescriptor, long expiredTime,

java.lang.Object[] keys)

throws org.globus.ogsa.GridServiceException

Method Detail

getServiceDataName

public java.lang.String getServiceDataName()

Restituisce il nome del Service Data Returns:

Il nome del Service Data

getExpiredTime

(58)

public long getExpiredTime()

Restituisce il tempo di validità del Service Data Returns:

Il tempo di validità del Service Data

cloneProvider

public agent.impl.ProviderExecution cloneProvider() throws org.globus.ogsa.GridServiceException

Crea un clone del Provider Throws:

org.globus.ogsa.GridServiceException

run

public void run()

Schedula lo Information Provider e aggiorna il valore del Service Data Specified by:

run in interface java.lang.Runnable

Specified by:

run in class java.util.TimerTask

Overview Package Class Tree Deprecated Index Help

PREV CLASS NEXT CLASS FRAMES NO FRAMES All Classes

SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD

Riferimenti

Documenti correlati

Ma negli anni settanta, non c’erano solo aerei civili che volevano volare più velocemente per far arrivare prima a destinazione i propri passeggeri; ce n’erano anche altri che, ad

Affidarsi noi, e alla nostra rete professionale di Organizzatori di Produzione, Registi, DOP, Operatori, Motion Designer, 3D Artist e, su richiesta, Scenografi, Make Up Artist e

Tramite TFTP: il metodo TFTP (Trivial File Transfer Protocol) viene scelto per scaricare o eseguire il backup del file di configurazione tramite TFTP.. Il protocollo TFTP

Backup automatico della configurazione utilizzando il metodo Kron Backup della configurazione su un server

La professione e l’attività di “professionista o consulente” della sicurezza si fonda sul valore, l'irripetibilità, l'unicità, la dignità e il rispetto dei diritti delle

• Per suoli profondi se lo strato inferiore del suolo è stato depositato transitoriamente per lunghi periodi (> 8-9 mesi) può essere utile effettuare un inerbimento intermedio

Nei bambini diventa un importante mezzo per esplorare il mondo dell‘acqua, permettendogli di crescere innamorandosi del nuoto grazie al gioco che, gradualmente, lo porterà

ALLA SEDE EFFETTUARE L’APERTURA DEL NUOVO ESERCIZIO E AL TERMINE LA GENERAZIONE DEI DATI DA TRASFERIMENTI -> GENERA FILE DATI PALMARI AGENTI IMPORTANTE -> QUANDO SI ESEGUE