Negoziazione e vincoli di qualità Rapporto 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 lesecuzione di un servizio astratto complesso (o semplice). Il Concretizator MAIS individua il piano di esecuzione, linsieme di coppie (servizio astratto, servizio concreto). Obiettivo: Massimizzare la qualità di servizio percepita dallutente 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 dellutente (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 lutente ha abilitato la negoziazione Process Orchestrator: utilizza il piano di esecuzione per supportare lesecuzione di servizi complessi. Il Process Orchestrator può richiedere la ri-ottimizzazione del piano: se lutente cambia contesto se un servizio del piano non è disponibile a tempo di esecuzione periodicamente Behavioral Compatibility Engine: se non esiste una soluzione ammissibile, sostituisce lattività 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 linsieme dei servizi concreti candidati allesecuzione di un processo tale che Viene massimizzato il valore medio della qualità del servizio per lutente finale Vengono garantiti vincoli del tipo: Tempo di esecuzione R AvailabilityA 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 lalgoritmo 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 allesecuzione di ogni attività astratta Pre-calcolo del piano ottimo per ogni contesto dellutente 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 delladesione delle conversazioni al protocollo selezionato
Negotiator – Future work Studio della specifica di diversi protocolli per negoziazione automatica Analisi dellinsieme delle qualità nella piattaforma MAIS Analisi del problema della negoziazione a diversi livelli dellarchitettura (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 linsieme 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 è unestensione 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 delloggetto è ottenuto dalla valutazione della funzione di score (SAW)