Grazie alle tecnologie capaci di semplificare l'integrazione tra
programmi remoti ospitati da differenti organizzazioni,
le comunità scientifica ed ingegneristica stanno adottando
architetture orientate ai servizi per: aggregare, condividere e
distribuire le loro risorse di calcolo, per gestire grandi
quantità di dati e per eseguire simulazioni attraverso Internet.
I Web Service, per esempio, permettono ad un'organizzazione di
esporre, in Internet, le funzionalità dei loro sistemi e di
renderle scopribili ed accessibili in un modo controllato.
Questo progresso tecnologico può permettere nuove applicazioni
anche nell'area dell'ottimizzazione di progetti. Gli attuali
sistemi di ottimizzazione di progetti sono di solito confinati
all'interno di una singola organizzazione o dipartimento.
D'altra parte, i moderni prodotti manifatturieri sono
l'assemblaggio di componenti provenienti da diverse
organizzazioni. Componendo i servizi delle organizzazioni
coinvolte, si può creare un workflow che descrive il modello del
prodotto composto. Questo servizio composto puo a sua volta
essere usato da un sistema di ottimizzazione
inter-organizzazione.
I compromessi progettuali che sono implicitamente incorporati
per architetture locali, devono essere riconsiderati quando
questi sistemi sono messi in opera su scala globale in Internet.
Ad esempio: i) la qualità delle connessioni tra i nodi può
variare in modo impredicibile; ii) i nodi di terze parti
mantengono il pieno controllo delle loro risorse, incluso, per
esempio, il diritto di diminuire le risorse in modo temporaneo
ed impredicibile.
Dal punto di vista del sistema come un'entità unica, si
vorrebbero massimizzare le prestazioni, cioè, per esempio, il
throughput inteso come numero di progetti candidati valutati per
unità di tempo. Dal punto di vista delle organizzazioni
partecipanti al workflow si vorrebbe, invece, minimizzare il
costo associato ad ogni valutazione. Questo costo può essere un
ostacolo all'adozione del paradigma distribuito, perché le
organizzazioni partecipanti condividono le loro risorse (cioè
CPU, connessioni, larghezza di banda e licenze software) con
altre organizzazioni potenzialmente sconosciute. Minimizzare
questo costo, mentre si mantengono le prestazioni fornite ai
clienti ad un livello accettabile, può essere un potente fattore
per incoraggiare le organizzazioni a condividere effettvivamente
le proprie risorse.
Lo scheduling di istanze di workflows, ovvero stabilire quando
e dove eseguire un certo workflow, in un tale ambiente
multi-organizzazione, multi-livello e geograficamente disperso,
ha un forte impatto sulle prestazioni. Questo lavoro investiga
alcuni dei problemi essenziali di prestazioni e di costo legati
a questo nuovo scenario. Per risolvere i problemi inviduati,
si propone un sistema di controllo dell'accesso adattativo
davanti al workflow engine che limita il numero di esecuzioni
concorrenti. Questa proposta può essere implementata in modo
molto semplice: tratta i servizi come black-box e non richiede
alcuna interazione da parte delle organizzazioni partecipanti.
La tecnica è stata valutata in un ampio spettro di scenari,
attraverso simulazione ad eventi discreti. I risultati
sperimentali suggeriscono che questa tecnica può fornire dei
significativi benefici garantendo alti livelli di throughput
e bassi costi.