120 likes | 252 Views
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)
E N D
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)