Per il corso di Sistemi Operativi Avanzati ho studiato l'articolo "Google File System" scritto da Sanjay Ghemawat, Howard Gobioff, e Shun-Tak Leung, inquadrandone il contesto storico, gli obiettivi, le prestazioni e le principali differenze con l'HDFS.
I risultati dell'applicazione del modello sono pubblicati all'interno di un moderno sistema informativo Web-based, che integra una SDI (Spatial Data Infrastructure) e architetture avanzate client/server. Sarà presentato tale sistema che mira al potenziamento degli strumenti di gestione ambientale e alla promozione di approcci innovativi per il settore, che consentano di colmare le attuali lacune dei sistemi di osservazione e rappresentazione dei dati.
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDBSteve Maraspin
Pirma parte del seminario su NoSQL al DiTeDi di Udine del 15/12/2012. Affrontato il caso di studio di un'architettura enterprise, basata su datastore relazionali (PostgreSQL) e non (CouchDB, MongoDB, Redis e OrientDB).
Apache Hadoop HDFS Re-documentation taking into account both the source code of both the existing documentation available to https://hadoop.apache.org/ site. They were identified known software patterns that exist between NameNode and DataNode for the distributed file system management.
Definire, configurare ed implementare soluzioni scalabili su sistemi di Cloud...festival ICT 2016
Il laboratorio inquadra e classifica le casistiche più comuni che richiedono l’implementazione di sistemi scalabili orizzontalmente, delineando le possibili soluzioni e la loro applicazione. Vengono affrontate
problematiche di performance e affidabilità con soluzioni di distribuzione dei carichi di lavoro comprendenti sessioni distribuite, distribuzione dei dati, storage esterno, bilanciamento di carico.
Master Informatica del Testo – Edizione elettronica - Arezzo - 2012Walter Volpi
Università degli studi di Siena – Sede di Arezzo
Dipartimento di Teoria e documentazione delle tradizioni culturali
Master Informatica del Testo – Edizione elettronica
2012
Descrizione delle principali tecnologie abilitanti alla gestione dei Big Data, con particolare attenzione all’ecosistema che gravita intorno al framework Hadoop di Apache.
Slide dell'evento One Day Cache (http://www.xedotnet.org/eventi/one-day-performance-optimization/)
ABSTRACT: Cache, amica e nemica di molti dev.
Uno dei modi per incrementare le performance di un'applicativo è l'utilizzo della cache, ma non è tutto oro quel che luccica.
In questa sessione vedremo quali tipologie di cache esistono, ed il come poterle utilizzare al meglio. Output cache, cache applicativa, Redis, Memcached...cerchiamo di fare un pò di chiarezza e capiamo i pro e contro delle varie soluzioni.
Descrizione delle principali tecnologie abilitanti alla gestione dei Big Data, con particolare attenzione all’ecosistema che gravita intorno al framework Hadoop di Apache.
Undo for Mobile Phones Does Your Mobile Phone Need an Undo Key? Do You?Marco Loregian
The undo function is not accessory, but still it has not been
introduced to mobile devices in an appropriate way. Undo is still
shaped to fit text editing, and it has changed a little only for
graphical editing so far. In this paper, we report the results of a
survey with which we investigated why and how to add this
functionality to regular mobile phones – not only to smartphones
or high-end handheld devices. Our respondents suggested an undo
model that is linear, sequential, with variable granularity
(according to the context of use) and requiring confirmation
before execution (both to improve awareness and avoid additional
mistakes).
Undo in Context-aware Collaborative Ubiquitous-Computing EnvironmentsMarco Loregian
A comprehensive approach to the design of Ubiquitous Computing systems must deal with the issues related to the restoration of an earlier or acceptable state of the system, if possible, when users intentionally want to undo some previous actions. Systems supporting collaborative Ubiquitous Computing environments should provide a default undo function, but also provide users and applications with awareness information to correctly decide which (compensative) actions should be undertaken. In this paper we describe how to achieve undo in distributed, dynamic, context-aware systems. We present a general approach to undo in collaborative Ubiquitous Computing environments in terms of the CASMAS model: part of the approach relies on the notion of active coordination artifacts, as defined also in CSCW literature.
More Related Content
Similar to Sistemi context-aware, esercitazione 2 (3 giugno 2009)
Per il corso di Sistemi Operativi Avanzati ho studiato l'articolo "Google File System" scritto da Sanjay Ghemawat, Howard Gobioff, e Shun-Tak Leung, inquadrandone il contesto storico, gli obiettivi, le prestazioni e le principali differenze con l'HDFS.
I risultati dell'applicazione del modello sono pubblicati all'interno di un moderno sistema informativo Web-based, che integra una SDI (Spatial Data Infrastructure) e architetture avanzate client/server. Sarà presentato tale sistema che mira al potenziamento degli strumenti di gestione ambientale e alla promozione di approcci innovativi per il settore, che consentano di colmare le attuali lacune dei sistemi di osservazione e rappresentazione dei dati.
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDBSteve Maraspin
Pirma parte del seminario su NoSQL al DiTeDi di Udine del 15/12/2012. Affrontato il caso di studio di un'architettura enterprise, basata su datastore relazionali (PostgreSQL) e non (CouchDB, MongoDB, Redis e OrientDB).
Apache Hadoop HDFS Re-documentation taking into account both the source code of both the existing documentation available to https://hadoop.apache.org/ site. They were identified known software patterns that exist between NameNode and DataNode for the distributed file system management.
Definire, configurare ed implementare soluzioni scalabili su sistemi di Cloud...festival ICT 2016
Il laboratorio inquadra e classifica le casistiche più comuni che richiedono l’implementazione di sistemi scalabili orizzontalmente, delineando le possibili soluzioni e la loro applicazione. Vengono affrontate
problematiche di performance e affidabilità con soluzioni di distribuzione dei carichi di lavoro comprendenti sessioni distribuite, distribuzione dei dati, storage esterno, bilanciamento di carico.
Master Informatica del Testo – Edizione elettronica - Arezzo - 2012Walter Volpi
Università degli studi di Siena – Sede di Arezzo
Dipartimento di Teoria e documentazione delle tradizioni culturali
Master Informatica del Testo – Edizione elettronica
2012
Descrizione delle principali tecnologie abilitanti alla gestione dei Big Data, con particolare attenzione all’ecosistema che gravita intorno al framework Hadoop di Apache.
Slide dell'evento One Day Cache (http://www.xedotnet.org/eventi/one-day-performance-optimization/)
ABSTRACT: Cache, amica e nemica di molti dev.
Uno dei modi per incrementare le performance di un'applicativo è l'utilizzo della cache, ma non è tutto oro quel che luccica.
In questa sessione vedremo quali tipologie di cache esistono, ed il come poterle utilizzare al meglio. Output cache, cache applicativa, Redis, Memcached...cerchiamo di fare un pò di chiarezza e capiamo i pro e contro delle varie soluzioni.
Descrizione delle principali tecnologie abilitanti alla gestione dei Big Data, con particolare attenzione all’ecosistema che gravita intorno al framework Hadoop di Apache.
Undo for Mobile Phones Does Your Mobile Phone Need an Undo Key? Do You?Marco Loregian
The undo function is not accessory, but still it has not been
introduced to mobile devices in an appropriate way. Undo is still
shaped to fit text editing, and it has changed a little only for
graphical editing so far. In this paper, we report the results of a
survey with which we investigated why and how to add this
functionality to regular mobile phones – not only to smartphones
or high-end handheld devices. Our respondents suggested an undo
model that is linear, sequential, with variable granularity
(according to the context of use) and requiring confirmation
before execution (both to improve awareness and avoid additional
mistakes).
Undo in Context-aware Collaborative Ubiquitous-Computing EnvironmentsMarco Loregian
A comprehensive approach to the design of Ubiquitous Computing systems must deal with the issues related to the restoration of an earlier or acceptable state of the system, if possible, when users intentionally want to undo some previous actions. Systems supporting collaborative Ubiquitous Computing environments should provide a default undo function, but also provide users and applications with awareness information to correctly decide which (compensative) actions should be undertaken. In this paper we describe how to achieve undo in distributed, dynamic, context-aware systems. We present a general approach to undo in collaborative Ubiquitous Computing environments in terms of the CASMAS model: part of the approach relies on the notion of active coordination artifacts, as defined also in CSCW literature.
Sistemi context-aware, esercitazione 2 (3 giugno 2009)
1. Un esempio di
Context Awareness
Esercitazione 2 del corso di Sistemi Context-aware
http://www.siti.disco.unimib.it/didattica/sistemica
Marco Loregian
loregian@disco.unimib.it
2. Sommario
• Modellazione e uso del contesto
• L’infrastruttura di Gaia [ ]
http://gaia.cs.uiuc.edu/
• Homework Abb
i vi iamo
l’a deo
• References ltr di
vis
a v Gaia
ser olt
to
riv
ede ve a,
rli
?
3. Introduzione
• Un sistema context-aware si adatta/adegua
alla situazione in cui è immerso
• In generale (“nel mondo”) non c’è un
riferimento formale (modello) ufficiale
(standard) o universale (condiviso, riusabile)
• Né come architettura, né come “idea/
concezione” di contesto
4. Un sistema context-
aware deve
• Raccogliere
• Elaborare
• Produrre
informazioni relative al contesto
...ed agire in base ad esse
5. Tipi di contesto
• Fisico (spazio/tempo)
• Ambientale (clima, illuminazione, ...)
• Informativo (listino azionario, notizie del
giorno, ...)
• Personale (salute, umore, ...)
• Sociale (relazioni, co-presenza, ...)
• Applicativo (email, siti Web visitati, ...)
• Sistema (stato delle periferiche, ...)
...eccetera...
6. Modellare il contesto
Rappresentazione
computabile del
dominio applicativo
• Il problema è trovare un modello
• adatto (uniforme)
• flessibile
• espressivo
...allo stesso tempo
7. L’infrastruttura di Gaia
• Architettura basata su:
• context providers (sensori), consumers e
synthesizers
• meccanismo subscribe-notify
• predicati nella logica del primo ordine
• sistema a regole
• Dettagli in [1]
8. Logica del primo ordine
• Predicati su individui di un insieme ma non
sui sottoinsiemi
• Congiunzione, disgiunzione, negazione
• Quantificazione esistenziale e universale
• Per un ripasso veloce:
http://plato.stanford.edu/entries/logic-classical/
http://www.fecundity.com/codex/forallx.pdf
http://en.wikipedia.org/wiki/First-order_logic (con beneficio d’inventario)
http://it.wikipedia.org/wiki/Linguaggio_del_primo_ordine
9. Esempi
• Esprimo i contesti nella forma
• Location (chris, entering, room 123)
• Temperature (room 123, “=”, 15 C)
• Sister (venus, serena)
nome del
argomenti
predicato
10. Ontologia di Gaia
• I predicati variano, e coinvolgono parametri
di tipo diverso
• Un’ontologia di riferimento permette di
controllare la validità (correttezza della
forma) dei predicati
• Viene fornita una semantica dei predicati
condivisa tra i componenti del sistema, ed
“esportabile”
11. I predicati
• Sono consentite tutte le operazioni della
logica del primo ordine
• I componenti del sistema possono invocare
funzioni programmate (in C)
• ∃Person s Location (s, Entering, currentRoom())
• Posso derivare contesti
Sound (Room 3234, ‘‘>’’, 40 dB) ∧ Lighting (Room 3234,
Stroboscopic) ∧ #People (Room 3234, ‘‘ >’’, 6) Social
Activity (Room 3234, Party)
13. Context Providers
• Consentono alle applicazioni di avere informazioni complesse
sui contesti, esprimendole ancora come predicati
• Possono inviare informazioni periodicamente, in risposta ad
un evento (cambiamento), e/o se interrogati
• Tutti i CP hanno la stessa interfaccia generica
• Valutano i predicati su un insieme finito di valori (decidibilità
assicurata)
• Motore di reasoning: XSB
• Ontologia di riferimento in DAML+OIL (evoluto oggi
come OWL)
14. Context Consumers
• Context-aware applications (parti del
sistema complesso)
• Ottengono informazioni dai Context
Producers
• Ricevono e/o richiedono
• Possono lavorare direttamente coi contesti
di base, dei Context Providers, ma spesso
può servire qualcosa di più ricco...
15. Context Synthesizers
• Elaborano informazioni da uno o più Context
Providers per generare (inferendo) qualcosa di
più complesso
• Basati su regole
• Più di una regola può risultare vera nello stesso
momento
• Conflitti generati nel sistema risolti (se
possibile) in base a priorità
• Rischio di comportamenti inattesi o
impredicibili, caratteristica “classica” dei
sistemi a regole
16. Apprendimento
• I sintetizzatori possono essere migliorati
utilizzando tecniche di apprendimento
• Vengono sottoposti a training (ad esempio)
monitorando i comportamenti degli utenti
e chiedendo feedback sul loro operato
17. Context History
• Le applicazioni possono sfruttare
l’evoluzione dei contesti per riuscire ad
adattarsi meglio
• Esempio: correlazione tra i cambiamenti
d’umore di un utente e i cambiamenti di
contesto
• Utilizzata per l’apprendimento
18. CP Lookup Service
• Data l’architettura scelta, questo servizio
permette ad un Consumer di cercare un
Provider (o un Synthesizer) che sia in grado
di fornirgli i dati che gli servono
19. Definire le applicazioni
• Le applicazioni hanno comportamenti diversi
in contesti diversi
• Il collegamento contesto → comportamento
viene descritto in un file di configurazione
che specifica quale metodo invocare quando
si verifica un contesto
• Gestione delle priorità
20. Esempio
applicazione di file system context-aware
• Organizzazione dei dati di un’applicazione
in base al contesto
• apertura dei files di un utente (sessione:
data cloud) in base alla presenza fisica
• conversione del formato dei files aperti in
base allo stato dei dispositivi disponibili
• http://gaia.cs.uiuc.edu/html/videos.htm
• Dettagli in [2]
21. Caratteristiche del CFS
• mobile users to make their data available to the local
space
• context to define what information is important for an
activity
• automatically launched applications to find data
• users to inject data into running applications
• users to import application configurations into specific
spaces
• data to be accessed in different formats
22. Implementazione
Organizzazione dei dati
• Un namespace per ogni active space
(“stanza”), con dentro una cartella per ogni
utente localizzato
• Gestione tramite formato XML
• Accesso: File mode vs. Context mode
• vista per navigazione vs. vista filtrata /
limitata dal contesto
• su tutto lo spazio
23. Implementazione
Tagging
• File e directories sono descritte da
metadati, usati dalle applicazioni
• File System + DB
• Possibile fare ricerche (velocemente) per
trovare i dati necessari
• Definizione condivisa degli attributi
• Es. taggo un file con informazioni sulla
location in cui deve essere accessibile
24. Attributi
• Location (stanza, ...)
• Identity (persona, dispositivo, oggetto)
• Activity (riunione, lezione, ...)
• Space (privato, condiviso)
• Time (validità di un dato)
• Device (caratteristiche di un dispositivo)
25. Uso degli attributi
• Creazione di cartelle virtuali (viste)
identificate con un path comprensibile
(tipo/valore)
• Queries sulle tag (con operatori booleani)
• ...
26. Implementazione
Conversione
• Dispositivi eterogenei Tipi dinamici
• Principale fattore: limitazioni nella
presentazione
• Il software scritto per un dispositivo “sa”
che tipi di documenti può manipolare
• Possibile prevedere funzioni di
conversione
27. Implementazione
Architettura
MS = Mount Server
FS = File Server
(accesso al disco
fisico)
28. Mount Server
• Implementa le funzionalità sul database
(merge, queries, ...)
• Tabelle di references ai dati distribuiti sui
vari dischi (gestiti da FS)
• Vista sul contesto corrente (allegata alle /
usata per gestire le richieste), in modo da
poter processare
• Gestione temporale dei dati (vd. attributi)
29. File Server
• Gestione dei dati su supporto fisico
• Conversione formato documenti
• Meccanismo basato su grafi di
conversione
• Trasparente per chi sviluppa
l’applicazione
30. Deployment del CFS
• Il CFS è un servizio di Gaia
• Altri servizi: gestione eventi, presenza
utenti, autenticazione, ...
• Può interagire con altre applicazioni
31. Applicazioni di test
• Data browser
• Registro presenze
• Juke-box
• Archivio articoli
• Visore GIF per PDA
• Greeting engine
32. Homework
• Leggere i due articoli segnalati come
riferimenti
• Contribuire al SITI blog
www.siti.disco.unimib.it/blog !
33. Riferimenti
1. Anand Ranganathan, Roy H. Campbell: An
infrastructure for context-awareness based on first
order logic. Personal and Ubiquitous Computing 7(6):
353-364 (2003) http://dx.doi.org/10.1007/
s00779-003-0251-x
2. Christopher K. Hess, Roy H. Campbell: An application
of a context-aware file system. Personal and
Ubiquitous Computing 7(6): 339-352 (2003) http://
dx.doi.org/10.1007/s00779-003-0250-y