Negoziazione e vincoli di qualità Rapporto 2.2.2 D. Ardagna, M. Comuzzi – WP 2.
-
Upload
romhilda-bernasconi -
Category
Documents
-
view
213 -
download
1
Transcript of Negoziazione e vincoli di qualità Rapporto 2.2.2 D. Ardagna, M. Comuzzi – WP 2.
Negoziazione e vincoli di qualitàRapporto 2.2.2
D. Ardagna, M. Comuzzi – WP 2
Indice
Concretizator: individuare il miglior insieme di servizi concreti che implementi un servizio astratto (semplice o complesso)
Negotiator: gestire processi di negoziazione per fissare i parametri di QoS di un servizio concreto
Concretizator
Obiettivo: selezionare il miglior insieme di servizi concreti in grado di effettuare l’esecuzione di un servizio astratto complesso (o semplice).
Il Concretizator MAIS individua il piano di esecuzione, l’insieme di coppie (servizio astratto, servizio concreto). Obiettivo:
• Massimizzare la qualità di servizio percepita dall’utente finale
• Garantire vincoli locali e globali (es. il tempo totale di esecuzione del servizio complesso o il suo prezzo)
Concretizator – Moduli cooperanti
CSI: fornisce la specifica del processo astratto ed il contesto dell’utente (a diversi contesti possono corrispondere diverse preferenze per la QoS)
Negotiator: determina il profilo dei servizi in termini di QoS e prezzo, se i servizi presentano nel MAIS registry qualità negoziabili e l’utente ha abilitato la negoziazione
Process Orchestrator: utilizza il piano di esecuzione per supportare l’esecuzione di servizi complessi. Il Process Orchestrator può richiedere la ri-ottimizzazione del piano:• se l’utente cambia contesto• se un servizio del piano non è disponibile a tempo di
esecuzione• periodicamente
Behavioral Compatibility Engine: se non esiste una soluzione ammissibile, sostituisce l’attività astratta a cui corrisponde il vincolo maggiormente violato con un insieme di servizi equivalenti
Vincoli di qualità del servizio in servizi complessi
Dimensioni di qualità:• Tempo di esecuzione medio (lead-time)• Availability• Prezzo• Reputation• Data quality (funzione di Timeliness, Accuracy, Completeness)
Problema di ottimizzazione Composizione Servizi (CS): determinare l’insieme dei servizi concreti candidati all’esecuzione di un processo tale che
• Viene massimizzato il valore “medio” della qualità del servizio per l’utente finale
• Vengono garantiti vincoli del tipo:• Tempo di esecuzione ≤R• Availability≥A• Prezzo ≤B• Reputation ≥T• Data quality ≥DQ
• Vincoli locali: su un singolo servizio• Vincoli globali: sul servizio complesso o un sottoinsieme di task
della specifica
Il problema di ottimizzazione
Il problema è multi-obiettivo, viene affrontato applicando la tecnica Simple Additive Weighting (SAW)• Funzione di score• Fase di scaling• Fase di weighting
Il problema può essere formulato come un modello lineare a variabili binarie
Il problema è un caso particolare del Multiple-choice Multiple-dimension Knapsack (MMKP)
Soluzione:• Decomposizione (formulazione per path singoli di
esecuzione, estensione di Zeng et al. 2004)• Determinazione di una soluzione ammissibile• Euristica HEU per MMKP
Concretizator - Future work
Pre-processing della specifica BPEL4WS per ottimizzare l’algoritmo di soluzione
Confronto del metodo globale con approcci greedy (locali) che selezionano oggetti a tempo di esecuzione e non considerano vincoli globali
In ambienti dinamici anche metodi globali non possono garantire il soddisfacimento di vincoli globali:
• Soglie per avere margine nel soddisfacimento di vincoli e garantire i vincoli globali in probabilità
Piano ottimo: 1 servizio vs. ranking dei servizi candidati all’esecuzione di ogni attività astratta
Pre-calcolo del piano ottimo per ogni contesto dell’utente per ridurre i tempi di hand-over
Negotiator
Gestisce le negoziazioni a livello applicativo tra servizi concreti per stabilire i parametri di QoS
E’ invocato dal Concretizator quando i servizi concreti candidati hanno dichiarato parametri negoziabili
Ritorna al Concretizator i risultati del processo di negoziazione, eventualmente ordinati
Es.: aste tra servizi per determinare il prezzo
Negotiator
I servizi concreti definiscono “policies” con informazioni su:
• Parametri negoziabili
• Protocolli supportati per la negoziazione di tali parametri
Il processo di negoziazione è costituito da 2 fasi:
• Coordinamento orizzontale
• Contesto generale di negoziazione
• Notifica dei risultati
• Coordinamento verticale
• Interazione dipendente dal protocollo utilizzato (es.: asta, neg. bilaterale o molti a molti)
Negotiator – Implementazione della negoziazione
Il processo di negoziazione è gestito secondo la specifica di WS-Coordination
Negotiator assume 2 ruoli:
• Broker di messaggi tra i partecipanti
• Controllore dell’adesione delle conversazioni al protocollo selezionato
Negotiator – Future work
Studio della specifica di diversi protocolli per negoziazione automatica
Analisi dell’insieme delle qualità nella piattaforma MAIS
Analisi del problema della negoziazione a diversi livelli dell’architettura (user model, service model, architettura estesa e base)
Problemi di zaino
Knapsack Problem (KP):
• Insieme di oggetti: ogni oggetto ha un valore e un peso
• Scegliere l’insieme di oggetti in modo da massimizzare il valore totale rispettando il vincolo di capacità dello zaino
Multiple Choice Knapsack (MKP): estensione di KP in cui gli oggetti sono divisi in gruppi ed è necessario prendere un oggetto da ogni gruppo
MMKP è un’estensione di MKP in cui gli oggetti hanno più dimensioni (es. peso e volume)
Riduzione di CS a MMKP: ogni attività è un gruppo, ogni dimensione di qualità è una dimensione fisica di un oggetto, il valore dell’oggetto è ottenuto dalla valutazione della funzione di score (SAW)