974 resultados para virtualizzazione, reti, virtual networking, sistemi operativi
Resumo:
L'obiettivo su cui è stata basata questa Tesi di Laurea è stato quello di integrare la tecnologia delle Wireless Sensor Networks (WSN) al contesto dell'Internet delle cose (IoT). Per poter raggiungere questo obiettivo, il primo passo è stato quello di approfondire il concetto dell'Internet delle cose, in modo tale da comprendere se effettivamente fosse stato possibile applicarlo anche alle WSNs. Quindi è stata analizzata l'architettura delle WSNs e successivamente è stata fatta una ricerca per capire quali fossero stati i vari tipi di sistemi operativi e protocolli di comunicazione supportati da queste reti. Infine sono state studiate alcune IoT software platforms. Il secondo passo è stato quindi di implementare uno stack software che abilitasse la comunicazione tra WSNs e una IoT platform. Come protocollo applicativo da utilizzare per la comunicazione con le WSNs è stato usato CoAP. Lo sviluppo di questo stack ha consentito di estendere la piattaforma SensibleThings e il linguaggio di programmazione utilizzato è stato Java. Come terzo passo è stata effettuata una ricerca per comprendere a quale scenario di applicazione reale, lo stack software progettato potesse essere applicato. Successivamente, al fine di testare il corretto funzionamento dello stack CoAP, è stata sviluppata una proof of concept application che simulasse un sistema per la rilevazione di incendi. Questo scenario era caratterizzato da due WSNs che inviavano la temperatura rilevata da sensori termici ad un terzo nodo che fungeva da control center, il cui compito era quello di capire se i valori ricevuti erano al di sopra di una certa soglia e quindi attivare un allarme. Infine, l'ultimo passo di questo lavoro di tesi è stato quello di valutare le performance del sistema sviluppato. I parametri usati per effettuare queste valutazioni sono stati: tempi di durata delle richieste CoAP, overhead introdotto dallo stack CoAP alla piattaforma Sensible Things e la scalabilità di un particolare componente dello stack. I risultati di questi test hanno mostrato che la soluzione sviluppata in questa tesi ha introdotto un overheadmolto limitato alla piattaforma preesistente e inoltre che non tutte le richieste hanno la stessa durata, in quanto essa dipende dal tipo della richiesta inviata verso una WSN. Tuttavia, le performance del sistema potrebbero essere ulteriormente migliorate, ad esempio sviluppando un algoritmo che consenta la gestione concorrente di richieste CoAP multiple inviate da uno stesso nodo. Inoltre, poichè in questo lavoro di tesi non è stato considerato il problema della sicurezza, una possibile estensione al lavoro svolto potrebbe essere quello di implementare delle politiche per una comunicazione sicura tra Sensible Things e le WSNs.
Resumo:
L’obbiettivo di questa tesi è realizzare il prototipo di un’applicazione client-server che permetta di utilizzare in remoto applicazioni in Virtual Reality, fornendo allo stesso tempo supporto alla multiutenza. L’applicazione in realtà virtuale dovrà girare sul server, dispositivo con capacità di calcolo notevolmente superiori rispetto a quelle del client. Più utenti dovranno avere la possibilità di connettersi contemporaneamente e condividere lo stesso spazio virtuale. Il client sarà, in questo caso, un’applicazione Android che si connetterà al server e avrà il compito di mostrare all'utente l’output dell’applicazione in Virtual Reality e allo stesso tempo ricevere l’input da inviare al server. Un altro obbiettivo durante lo sviluppo del prototipo è quello di realizzare una libreria che offra le funzionalità sopraelencate, facilmente integrabile in nuovi progetti o in progetti già esistenti. Utilizzando questa struttura client-server sarà possibile sviluppare applicazioni che permettano a più persone di condividere lo stesso spazio virtuale, ognuno dal proprio punto di vista, utilizzando visori e sistemi operativi diversi.
Resumo:
VNC是网络计算领域的一个重要发展,适用于运行在"瘦客户端"甚至"极瘦客户端"的终端设备上.但VNC在网络安全、会话保持、信息管理、交互性和兼容性功能上的不足与缺陷,使之并不能够应用于应用服务系统.该文面向应用服务系统,基于VNC并针对VNC的不足之处,扩展了其协议,增加了安全层,以及对用户会话的管理机制,设计实现了一个智能应用服务系统.
Resumo:
Lo stato attuale del mercato continua a dimostrare come l'interesse del pubblico verso i dispositivi mobili sia in costante crescita; se fino a pochi anni fa il termine smartphone era ai piu' privo di significato, ora e' abbastanza comune per giovani e adulti essere concentrati su piccoli dispositivi dove si possono contattare i clienti via e-mail, verificare lo stato di avanzamento dei processi aziendali, consultare il web e cosi' via. L'obiettivo di questa tesi e' introdurre l'utilizzo di diverse tipologie di framework, prendendo come riferimento i sistemi operativi per i dispositivi mobili e quello di presentare soluzioni (attraverso i framework) per lo sviluppo di applicazioni mobili su diverse piattaforme software.
Resumo:
Uno dei temi più discussi ed interessanti nel mondo dell’informatica al giorno d’oggi è sicuramente il Cloud Computing. Nuove organizzazioni che offrono servizi di questo tipo stanno nascendo ovunque e molte aziende oggi desiderano imparare ad utilizzarli, migrando i loro centri di dati e le loro applicazioni nel Cloud. Ciò sta avvenendo anche grazie alla spinta sempre più forte che stanno imprimendo le grandi compagnie nella comunità informatica: Google, Amazon, Microsoft, Apple e tante altre ancora parlano sempre più frequentemente di Cloud Computing e si stanno a loro volta ristrutturando profondamente per poter offrire servizi Cloud adeguandosi così a questo grande cambiamento che sta avvenendo nel settore dell’informatica. Tuttavia il grande movimento di energie, capitali, investimenti ed interesse che l’avvento del Cloud Computing sta causando non aiuta a comprendere in realtà che cosa esso sia, al punto tale che oggi non ne esiste ancora una definizione univoca e condivisa. La grande pressione inoltre che esso subisce da parte del mondo del mercato fa sì che molte delle sue più peculiari caratteristiche, dal punto di vista dell’ingegneria del software, vengano nascoste e soverchiate da altre sue proprietà, architetturalmente meno importanti, ma con un più grande impatto sul pubblico di potenziali clienti. L’obbiettivo che ci poniamo con questa tesi è quindi quello di esplorare il nascente mondo del Cloud Computing, cercando di comprenderne a fondo le principali caratteristiche architetturali e focalizzando l’attenzione in particolare sullo sviluppo di applicazioni in ambiente Cloud, processo che sotto alcuni aspetti si differenzia molto dallo sviluppo orientato ad ambienti più classici. La tesi è così strutturata: nel primo capitolo verrà fornita una panoramica sul Cloud Computing nella quale saranno date anche le prime definizioni e verranno esposti tutti i temi fondamentali sviluppati nei capitoli successivi. Il secondo capitolo costituisce un approfondimento su un argomento specifico, quello dei Cloud Operating System, componenti fondamentali che permettono di trasformare una qualunque infrastruttura informatica in un’infrastruttura Cloud. Essi verranno presentati anche per mezzo di molte analogie con i classici sistemi operativi desktop. Con il terzo capitolo ci si addentra più a fondo nel cuore del Cloud Computing, studiandone il livello chiamato Infrastructure as a Service tramite un esempio concreto di Cloud provider: Amazon, che fornisce i suoi servizi nel progetto Amazon Web Services. A questo punto, più volte nel corso della trattazione di vari temi saremo stati costretti ad affrontare le problematiche relative alla gestione di enormi moli di dati, che spesso sono il punto centrale di molte applicazioni Cloud. Ci è parso quindi importante approfondire questo argomento in un capitolo appositamente dedicato, il quarto, supportando anche in questo caso la trattazione teorica con un esempio concreto: BigTable, il sistema di Google per la gestione della memorizzazione di grandi quantità di dati. Dopo questo intermezzo, la trattazione procede risalendo lungo i livelli dell’architettura Cloud, ricalcando anche quella che è stata l’evoluzione temporale del Cloud Computing: nel quinto capitolo, dal livello Infrastructure as a Service si passa quindi a quello Platform as a Service, tramite lo studio dei servizi offerti da Google Cloud Platform. Il sesto capitolo costituisce invece il punto centrale della tesi, quello che ne soddisfa l’obbiettivo principale: esso contiene infatti uno studio approfondito sullo sviluppo di applicazioni orientate all’ambiente Cloud. Infine, il settimo capitolo si pone come un ponte verso possibili sviluppi futuri, analizzando quali sono i limiti principali delle tecnologie, dei modelli e dei linguaggi che oggi supportano il Cloud Computing. In esso viene proposto come possibile soluzione il modello ad attori; inoltre viene anche presentato il framework Orleans, che Microsoft sta sviluppando negli ultimi anni con lo scopo appunto di supportare lo sviluppo di applicazioni in ambiente Cloud.
Resumo:
In questa Tesi di laurea, si è affrontato il problema della mobilità veicolare in caso di nebbie. Si è quindi sviluppato un prototipo con architettura Client-Server, che si è soffermato maggiormente sull’analisi dei dati per la creazione di un percorso alternativo. Si è preso in considerazione il sistema operativo mobile di Apple, iOS7 che rappresenta uno dei Sistemi Operativi mobili maggiormente presenti sul mercato oggigiorno e che possiede un buon bacino di utenze. La parte Server è stata sviluppata secondo l’architettura REST; è presente un Server HTTP che riceve richieste e risponde in modo adeguato ai Client tramite lo scambio bidirezionale di dati in formato JSON. Nella parte Server è inclusa la base di dati: un componente molto importante poiché implementa al suo interno, parte della logica di Sistema tramite stored procedure. La parte Client è un’applicazione per dispositivi iPad e iPhone chiamata Fog Escaping; essa è stata sviluppata secondo il pattern MVC (Model- View-Controller). Fog Escaping implementa un algoritmo Greedy di ricerca del percorso alternativo, che può essere utilizzato per diverse tipologie di applicazioni.
Resumo:
Questa tesi riguarda un progetto svolto con l’azienda SMS.it di Bologna la quale, già specializzata nella pianificazione, nello sviluppo e nelle forniture di servizi di telefonia, ha commissionato l’implementazione di un’applicazione cross-platform che sia compatibile con la maggior parte possibile dei sistemi operativi per dispositivi mobili.
Resumo:
Grazie al progresso dell'elettronica, ai giorni nostri, è possibile costruire dispositivi elettronici molto piccoli, che col passare del tempo lo sono sempre più. Questo ci permette di poter imboccare nuove strade nel mondo dell'informatica, sfruttando proprio questo fatto. Le dimensioni ridotte dei dispositivi in commercio, come sensori, attuatori, tag e tanto altro, sono particolarmente adatte a nuovi scenari applicativi. Internet of Things è una visione in cui Internet viene esteso alle cose. Facendo largo uso di dispositivi come sensori e tag è possibile realizzare sistemi intelligenti che possono avere riscontri positivi nella vita di tutti i giorni. Tracciare la posizione degli oggetti, monitorare pazienti da remoto, rilevare dati sull'ambiente per realizzare sistemi automatici (ad esempio regolare automaticamente la luce o la temperatura di una stanza) sono solo alcuni esempi. Internet of Things è la naturale evoluzione di Internet, ed è destinato a cambiare radicalmente la nostra vita futura, poichè la tecnologia sarà sempre più parte integrante della nostra vita, aumentando sempre più il nostro benessere e riducendo sempre più il numero delle azioni quotidiane da compiere. Sempre più sono middleware, le piattaforme e i sistemi operativi che nascono per cercare di eliminare o ridurre le problematiche relative allo sviluppo di sistemi di questo genere, e lo scopo di questa tesi è proprio sottolinearne l'importanza e di analizzare gli aspetti che questi middleware devono affrontare. La tesi è strutturata in questo modo: nel capitolo uno verrà fatta una introduzione a Internet of Things, analizzando alcuni degli innumerevoli scenari applicativi che ne derivano, insieme però alle inevitabili problematiche di tipo tecnologico e sociale. Nel secondo capitolo verranno illustrate le tecnologie abilitanti di Internet of Things, grazie alle quali è possibile realizzare sistemi intelligenti. Nel terzo capitolo verranno analizzati gli aspetti relativi ai middleware, sottolineandone l'importanza e prestando attenzione alle funzioni che devono svolgere, il tutto riportando anche degli esempi di middleware esistenti. Nel quarto capitolo verrà approfondito il middleware Java Embedded di Oracle.
Resumo:
Lo scopo di questa tesi è di usare i sensori dello smartphone per cercare di rilevare alcune tra le attività umane più frequenti, come il salire una scala. Si presenta quindi lo smartphone in termini di hardware elencando i possibili sensori contenuti in esso e descrivendone le qualità. Vengono presentati i principali sistemi operativi mobili adottati per questi tipi di dispositivi mostrando un confronto tra di essi in termini di pregi e difetti e viene narrata un minimo di storia relativa ai dispositivi mobili in generale spiegando come lo smartphone abbia sostituito il classico telefono cellulare. Nel documento di tesi verranno poi presentati i principali strumenti con cui verrà sviluppata l'applicazione di rilevamento e verranno presi in considerazione due programmi di sviluppo per due linguaggi e tipologie di smartphone differenti: Windows Phone e Android. Tuttavia per lo sviluppo del progetto di tesi verrà impiegata solo la strumentazione relativa a Windows Phone. In seguito verrà presentata l'applicazione d'ausilio alla progettazione dei metodi, Scilab. Per il rilevamento dell'attività verranno esposti due diversi metodi e ne verranno mostrati il codice per l'implementazione e i relativi risultati. Questi verranno poi discussi e confrontati per analizzare l'affidabilità di entrambi i metodi.
Resumo:
Il mondo di Internet ha vissuto un radicale e inarrestabile processo di rinnovamento nel corso dell'ultimo decennio. Nel giro di pochi anni, i siti che popolano il World Wide Web si sono evoluti divenendo vere e proprie applicazioni in grado di fornire un livello di interattività e di coinvolgimento fino ad allora impensabile. Il mondo del Web è mutato, e con esso quello dei browser, i quali assumono sempre più le conformazioni di "sistemi operativi nei sistemi operativi": si sono tramutati in complesse piattaforme di sviluppo in grado di fornire a programmatori e web designer potenti librerie e API relative a qualsiasi ambito, nonché avanzati strumenti di debugging. Numerosi standard che governano l'ecosistema di Internet hanno raggiunto la maturità in questo contesto: fra tutti HTML5, il quale ha arricchito enormemente le potenzialità di un browser introducendo nuovi strumenti orientati alla multimedialità e alla classificazione semantica delle risorse. Altri standard altrettanto importanti hanno visto la luce in questi anni, affermandosi e conquistando, nel giro di pochissimi anni, l'interesse di un'ampia platea di sviluppatori. E' il caso di WebGL, una potente e flessibile libreria grafica derivata dal mondo di OpenGL che ha aperto le porte al rendering di scene tridimensionali all'interno di un qualsiasi browser moderno. WebGL ha rappresentato un punto di svolta abbattendo un'ulteriore barriera tra il mondo del web che vive all'interno di un browser e la dimensione delle applicazioni native che popolano un sistema operativo, consolidando il già affermato concetto di web app che lentamente sta seppellendo l'idea di "sito" così come era stato concepito all'inizio del nuovo millennio. Scopo di questo elaborato è quello di fornire una panoramica delle principali funzionalità offerte dalla libreria WebGL (con una particolare attenzione per il supporto cross browser) e di analizzare le possibilità che essa offre, studiando e implementando i principali modelli di illuminazione e le tecniche di applicazione texture per definire un ambiente tridimensionale esplorabile e il più possibile realistico all'interno della dimensione del web.
Resumo:
Negli ultimi anni si è imposto il concetto di Ubiquitous Computing, ovvero la possibilità di accedere al web e di usare applicazioni per divertimento o lavoro in qualsiasi momento e in qualsiasi luogo. Questo fenomeno sta cambiando notevolmente le abitudini delle persone e ciò è testimoniato anche dal fatto che il mercato mobile è in forte ascesa: da fine 2014 sono 45 milioni gli smartphone e 12 milioni i tablet in circolazione in Italia. Sembra quasi impossibile, dunque, rinunciare al mobile, soprattutto per le aziende: il nuovo modo di comunicare ha reso necessaria l’introduzione del Mobile Marketing e per raggiungere i propri clienti ora uno degli strumenti più efficaci e diretti sono le applicazioni. Esse si definiscono native se si pongono come traguardo un determinato smartphone e possono funzionare solo per quel sistema operativo. Infatti un’app costruita, per esempio, per Android non può funzionare su dispositivi Apple o Windows Phone a meno che non si ricorra al processo di porting. Ultimamente però è richiesto un numero sempre maggiore di app per piattaforma e i dispositivi presenti attualmente sul mercato presentano differenze tra le CPU, le interfacce (Application Programming Interface), i sistemi operativi, l’hardware, etc. Nasce quindi la necessità di creare applicazioni che possano funzionare su più sistemi operativi, ovvero le applicazioni platform-independent. Per facilitare e supportare questo genere di lavoro sono stati definiti nuovi ambienti di sviluppo tra i quali Sencha Touch e Apache Cordova. Il risultato finale dello sviluppo di un’app attraverso questi framework è proprio quello di ottenere un oggetto che possa essere eseguito su qualsiasi dispositivo. Naturalmente la resa non sarà la stessa di un’app nativa, la quale ha libero accesso a tutte le funzionalità del dispositivo (rubrica, messaggi, notifiche, geolocalizzazione, fotocamera, accelerometro, etc.), però con questa nuova app vi è la garanzia di un costo di sviluppo minore e di una richiesta considerevole sul mercato. L’obiettivo della tesi è quello di analizzare questo scenario attraverso un caso di studio proveniente da una realtà aziendale che presenta proprio la necessità di sviluppare un’applicazione per più piattaforme. Nella prima parte della tesi viene affrontata la tematica del mobile computing e quella del dualismo tra la programmazione nativa e le web app: verranno analizzate le caratteristiche delle due diverse tipologie cercando di capire quale delle due risulti essere la migliore. Nella seconda parte sarà data luce a uno dei più importanti framework per la costruzione di app multi-piattaforma: Sencha Touch. Ne verranno analizzate le caratteristiche, soffermandosi in particolare sul pattern MVC e si potrà vedere un confronto con altri framework. Nella terza parte si tratterà il caso di studio, un app mobile per Retail basata su Sencha Touch e Apache Cordova. Nella parte finale si troveranno alcune riflessioni e conclusioni sul mobile platform-independent e sui vantaggi e gli svantaggi dell’utilizzo di JavaScript per sviluppare app.
Resumo:
Poiché nell’ultimo decennio i dispositivi mobile assumono un ruolo sempre più determinante nello svolgimento della vita stessa, nel corso del tempo si sono ricercate e sviluppate app per facilitare le più svariate operazioni quotidiane. Visto la vastità del mercato degli smartphone, nel tempo sono stati sviluppati vari sistemi operativi in grado di governare queste piattaforme. Per una azienda, tuttavia, gestire i costi di implementazione di una stessa app in ambienti differenti risulta più oneroso che gestire i costi di una sola in grado di operare nei diversi sistemi operativi. Quest’ultimo tipo di app viene comunemente denominato app multipiattaforma. Un modo per implementare questo genere di applicazioni vede come strumento di utilizzo Visual Studio, noto IDE. Nel caso specifico Visual Studio ha integrato il progetto Apache Cordova per le creazione di applicativi multipiattaforma. In questo elaborato di tesi tramite i due strumenti appena introdotti si sono sviluppate due differenti app, al fine di valutarne le performance in termini di tempo. La prima app propone la risoluzione di un noto problema di calcolo combinatorio conosciuto con il nome di Knapsack, ovvero il problema dello zaino. La seconda cerca invece di digitalizzare una semplice espressione matematica contenuta in un’immagine e di fornirne quindi il risultato. Dai dati ottenuti si possono operare confronti per determinare la validità dello strumento di sviluppo, mettendo in luce anche possibili evoluzioni di queste due app.
Resumo:
Ogni giorno, l'utente di smartphon e tablet, spesso senza rendersene conto, condivide, tramite varie applicazioni, un'enorme quantità di informazioni. Negli attuali sistemi operativi, l'assenza di meccanismi utili a garantire adeguatamente l'utente, ha spinto questo lavoro di ricerca verso lo sviluppo di un inedito framework.È stato necessario uno studio approfondito dello stato dell'arte di soluzioni con gli stessi obiettivi. Sono stati esaminati sia modelli teorici che pratici, con l'analisi accurata del relativo codice. Il lavoro, in stretto contatto con i colleghi dell'Università Centrale della Florida e la condivisione delle conoscenze con gli stessi, ha portato ad importanti risultati. Questo lavoro ha prodotto un framework personalizzato per gestire la privacy nelle applicazioni mobili che, nello specifico, è stato sviluppato per Android OS e necessita dei permessi di root per poter realizzare il suo funzionamento. Il framework in questione sfrutta le funzionalità offerte dal Xposed Framework, con il risultato di implementare modifiche al sistema operativo, senza dover cambiare il codice di Android o delle applicazioni che eseguono su quest’ultimo. Il framework sviluppato controlla l’accesso da parte delle varie applicazioni in esecuzione verso le informazioni sensibili dell’utente e stima l’importanza che queste informazioni hanno per l’utente medesimo. Le informazioni raccolte dal framework sulle preferenze e sulle valutazioni dell’utente vengono usate per costruire un modello decisionale che viene sfruttato da un algoritmo di machine-learning per migliorare l’interazione del sistema con l’utente e prevedere quelle che possono essere le decisioni dell'utente stesso, circa la propria privacy. Questo lavoro di tesi realizza gli obbiettivi sopra citati e pone un'attenzione particolare nel limitare la pervasività del sistema per la gestione della privacy, nella quotidiana esperienza dell'utente con i dispositivi mobili.
Resumo:
Questo volume di tesi descrive lo sviluppo di un'applicazione cross-platform per la raccolta dati sull'accessibilità urbana. E' stato creato un Pervasive GWAP strutturato in modo tale da raccogliere, tramite un gioco in mixed-reality, dati sulla geolocalizzazione delle barriere/facility architettoniche in ambiente urbano, in modo da mappare il territorio. Il gioco è rivolto a bambini accompagnati da insegnanti/genitori e prevede l'utilizzo di dispositivi mobili quali tablet e smartphone con sistema operativo Andoid. E' stata utilizzata la funzione GPS dei dispositivi per la geolocalizzazione dei giocatori e delle barriere/facility segnalate e la CAMERA per lo scan dei Qr-Code utilizzati come incentivo per intrattenere gli utenti. L'applicazione è scritta utilizzando tecnologie web quali HTML, CSS, JavaScript, PHP, JSON e grazie all'utilizzo del framework Apache Cordova è stato possibile lo sviluppo multipiattaforma. Questo strumento permette di utilizzare tecnologie web per lo sviluppo di applicazioni mobile, generando codice nativo supportato da sistemi operativi quali Android, iOS, BlackBerry.
Resumo:
Cloud computing enables independent end users and applications to share data and pooled resources, possibly located in geographically distributed Data Centers, in a fully transparent way. This need is particularly felt by scientific applications to exploit distributed resources in efficient and scalable way for the processing of big amount of data. This paper proposes an open so- lution to deploy a Platform as a service (PaaS) over a set of multi- site data centers by applying open source virtualization tools to facilitate operation among virtual machines while optimizing the usage of distributed resources. An experimental testbed is set up in Openstack environment to obtain evaluations with different types of TCP sample connections to demonstrate the functionality of the proposed solution and to obtain throughput measurements in relation to relevant design parameters.