1 / 12

Negoziazione e vincoli di qualità Rapporto 2.2.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)

jonco
Download Presentation

Negoziazione e vincoli di qualità Rapporto 2.2.2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Negoziazione e vincoli di qualitàRapporto 2.2.2 D. Ardagna, M. Comuzzi – WP 2

  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

  3. 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)

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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)

  10. 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

  11. 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)

  12. 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)

More Related