IoT & Microsoft Orleans Agenti software che vivono nel cloud come Avatar di dispositivi fisici che vivono…nel mondo reale.

Slides:



Advertisements
Presentazioni simili
easyBI (Business Interconnect server)
Advertisements

Perché.NET di Marco Maraglino don't worry...B-bright !
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA
Architetture dei sistemi distribuiti Prof
INTRODUZIONE Il framework.NET. Un po di storia Sin dalla prima versione del sistema operativo Windows (1990 circa), nacque la necessità di far comunicare.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità A1 Introduzione a Java.
POLITECNICO DI MILANO DRCP: Come gestire in modo efficiente la riconfigurazione parziale dinamica su FPGA Luca Cerri: Relatore: Prof.
Java Enterprise Edition (JEE)
UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica Progetto e sviluppo di.
Progetto MODA-ML Biella, 30 novembre 2001 Sistema di interscambio messaggi Luca Mainetti HOC - Hypermedia Open Center Dipartimento di Elettronica e Informazione.
I modelli di riferimento OSI e TCP/IP
INTRODUZIONE AI SISTEMI OPERATIVI
Ingegneria del Software Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione Università di Siena Via Roma 56 – – SIENA Uff
Prototipo di uno strumento per la produzione di siti Web adattativi in grado di gestire varie coordinate di adattamento Riccardo Torlone Milano, novembre.
Middleware per MANET WP3 Alessandro Ghioni
Riccardo Torlone RM1, RM3, Polimi, IFAC, CEFRIEL, Engineering, ISUFI
Progetto realizzato da: Francesco Seccia Matr Marco Spinelli Matr
Perché.Net e non più COM/DCOM ? Superamento dei problemi di COM: Richiede una infrastruttura "non semplice" da ogni applicazione (ad esempio Class Factory.
Integrazione di una piattaforma IPTV in un’architettura SOA
Struttura dei sistemi operativi (panoramica)
2) Sistemi operativi Lab. Calc. AA2004/05 - cap.2.
XML e la generazione di cataloghi multimediali F. Garzotto, L. Mainetti, P. Paolini Politecnico di Milano HOC - Hypermedia Open Center Dipartimento di.
Struts. Framework open source per lo sviluppo di applicazioni web su piattaforma J2EE. Progetto inizialmente sviluppato come sotto-progetto di Apache.
Progetto Di Uninfrastruttura Che Permetta La Modifica Di Dati Condivisi Distribuiti Su Più Nodi Reti di calcolatori L-S Gozzi Daniele
1 Packet Manager Sistema di gestione di pacchetti software per il progetto dell'esame di Reti di Calcolatori LS Progetto realizzato da Fabio Parisini.
Supporto in RMI per la collaborazione in rete Autore:Vincenzo Coco Matricola: Corso di Reti di Calcolatori LS 2006/2007 Docente: Antonio Corradi.
M.A.E.A.I. Mobile Agent and Enterprise Architecture Integration Il gestore delle politiche Valerio Siri Reti di Calcolatori LS Docente: Antonio Corradi.
Progetto di una architettura per lesecuzione distribuita e coordinata di azioni Progetto per lesame di Reti di Calcolatori L-S Prof. Antonio Corradi Finistauri.
Reti di Calcolatori L-S Un Sistema Decentrato di Allocazione del Carico per Applicazioni di Calcolo Distribuito Mauro Bampo.
Benvenuti a Un incontro informativo di grande valore ed alto contenuto sulla Virtualizzazione e sistemi ad alta disponibiltà per le PMI.
Modulo 1 - Hardware u.d. 3 (syllabus – 1.3.5)
Building the Internet of Things
1. Che cosa fa Db-Line? 17 anni di storia dei videogiochi Db-Line è stata fondata nel Lazienda è cresciuta posizionandosi come solido punto di riferimento.
Introduzione alla programmazione Object Oriented
1. Che cosa fa Db-Line? 18 anni di storia dei videogiochi Db-Line è stata fondata nel Lazienda è cresciuta posizionandosi come solido punto di riferimento.
© 2011 Db-Line Srl  
Tesi di laurea Progettazione ed implementazione di un sistema di supporto al ramp management basato su architettura multiagente Anno Accademico 2008/2009.
Firenze – Festival della Creatività 2009 Comm.it s.r.l. – Ing. Davide Rogai, Ph.D. – Software >> fast on demand software.
Servizi Grid ed agenti mobili : un ambiente di sviluppo e delivering
Soluzioni Windows Server per piccole imprese
FASTVID RENTALS: CONCLUSIONI I PUNTI DI FORZA DEL PROGETTO, GLI SVILUPPI FUTURI 1.
Simulatore per un servizio di consistenza su architettura Grid
Reti di calcolatori 14 novembre 2003 INFORMATICA GENERALE Scienze per Operatori dei Servizi Giuridici Anno Accademico
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Programma del Corso.
Java Enterprise Edition
La comunicazione attraverso il mondo digitale
QMAN Queue Manager Documentazione Commerciale Presentazione prodotti.
FESR Consorzio COMETA Giuseppe Andronico Industry Day Catania, 30 Giugno 2011 IaaS, PaaS e SaaS: cosa significano per le aziende.
I processi.
Lezione 1 Panoramica sui paradigmi di programmazione
Nemesi Creazione e pubblicazione di una rivista online tramite l’utilizzo di Java Message Service.
PIATTAFORMA MAESTRA.
Diagramma delle Classi
Mobile Agent and Enterprise Architecture Integration Il gestore della mobilità degli agenti Raffaelli Massimo matricola
Supporto per la replicazione attiva di servizi Progetto per il corso di Reti di Calcolatori LS Montanari Mirko Matr:
Capitolo 1 Il middleware
Lucia Melotti 1/14 Bologna, 7 luglio 2004 Aspetti di sicurezza nello scambio di messaggi XML tra un partner ebXML ed un Web Service di Lucia Melotti Relatore:
SnippetSearch Database di snippet bilanciato e replicato di Gianluigi Salvi Reti di calcolatori LS – Prof. A.Corradi.
1 Ethereal. 2 I protocolli di rete Per meglio comprendere i protocolli di rete, è molto utile vederli “in azione”, osservando la sequenza dei messaggi.
Eprogram informatica V anno.
INTRODUZIONE AI SISTEMI OPERATIVI. Introduzione Il software può essere diviso un due grandi classi: Il software può essere diviso un due grandi classi:
Architetture software
.NET vNext e lo sviluppo web cross-platform
Sistemi distribuiti Sistema distribuito indica una tipologia di sistema informatico costituito da un insieme di processi interconnessi tra loro in cui.
Organizzato da: Italo: start-up e canali di vendita Giacomo Troiano responsabile Sistemi per il Mercato Direzione Sistemi Informativi NTV.
Implementazioni di un analizzatore di protocollo Esistono quattro fondamentali tradeoff per la realizzazione di un analizzatore di protocollo:  Analisi.
Open City Platform è un progetto finanziato da Application Store Tutorial 30/09/2015.
Dal problema al programma – ciclo di sviluppo del software La scrittura del programma è solo una delle fasi del processo di sviluppo di un'applicazione.
1 Informatica di Base Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
DA e controlli DAFNE Riccardo Gargana Frascati 13/12/ /12/13.
Transcript della presentazione:

IoT & Microsoft Orleans Agenti software che vivono nel cloud come Avatar di dispositivi fisici che vivono…nel mondo reale.

Sponsor

Microsoft Orleans (& IoT)

Criticità dei sistemi IoT Enterprise I tradizionali modelli di sviluppo delle soluzioni IoT non forniscono una soluzione valida quando i numeri crescono Razionalizzare una soluzione comporta una suddivisione di competenze tra diversi Servizi, che al crescere della dimensione del problema tendono a diventare «bottleneck» o «single point of failure» Spesso però esiste la possibilità di una decomposizione del problema in sotto-problemi più semplici, che inoltre beneficiano della capacità di essere parallelizzati e distribuiti

Il Cloud è una soluzione? Storage: utile, anzi utilissimo, ma non gestisce la logica funzionale di una soluzione Hosting Web: contenitore ideale per ospitare il front- end di un sistema…ma non certo per ospitare il sistema in se’ Hosting «Worker»: riesce ad astrarre parzialmente la runtime che «esegue» i nostri Servizi, il sistema operativo che incapsula la runtime e la macchina che ospita il sistema operativo…ma è un contenitore troppo «sottile», privo di Servizi utili alla mia applicazione Infrastruttura di comunicazione: indispensabile…ma fornisce di fatto solo dei «canali di comunicazione»

Serve un nuovo modello! Vorrei poter: Sviluppare logiche applicative in termini di oggetti che implementano le funzionalità «business» richieste Far interagire tra loro tali oggetti, utilizzando i tradizionali concetti dell’OOP Ignorare la complessità della gestione asincrona/parallela di più oggetti che operano simultaneamente Far “girare” questi oggetti liberamente all’interno del Cloud, trascurando la complessità degli aspetti di un deployment distribuito ed adattivo

Microsoft Orleans É una piattaforma che implementa il cosiddetto «Actor Model», in cui gli «Attori» vengono chiamati «Grain» Ogni (istanza di) Grain in Orleans viene eseguita con semantica «single-thread» Ogni Grain è stateful e può persistere il proprio stato nello storage che preferisce I Grain sono creati e distrutti in maniera dinamica, a seconda delle risorse hardware disponibili I Grain comunicano tra loro e con i loro client tramite metodi ed eventi/callback, utilizzando i servizi di remotizzazione della piattaforma Orleans Sono stati appena introdotti anche gli «Stream»!

Un’immagine vale più…

Microsoft Orleans #2 É una piattaforma già matura, in produzione da diversi anni, rilasciata pubblicamente nei primi del 2014 e resa «open» circa un anno dopo Un White Paper di MS Research su Orleans riporta i dati di diversi «lab» sviluppati internamente, uno dei quali replica il backend di Twitter (!), dimostrando performance significativamente superiori Si integra perfettamente nel «ciclo» di sviluppo.NET (supporto NuGet, estensioni per la generazione automatica di codice client, ecc.) PROFEZIA: in futuro lo chiameremo «Azure CLR»

Sviluppare per Orleans Si definiscono le interfacce Interfacce pubbliche dei Grain Interfacce pubbliche dei GrainObserver Modelli POCO/Serializable delle entità business esposte o consumate da Grain e GrainObserver Si definiscono le implementazioni per tali interfacce Metodi delle interfacce Grain Oggetti che implementano le interfacce GrainObserver Modelli POCO/Serializable che definiscono lo stato dei Grain stateful-persistenti Si implementano i front-end Client Web (ASP.NET WebForm, MVC, SignalR, OWIN) Client Worker (per esporre i Grain ad altre applicazioni)

Grain come «Avatar» di Device Mappando mentalmente un (tipo di) «Grain» su un (tipo di) device è facile riconoscere una naturale «empatia» tra i due concetti Entrambi operano parallelamente, indipendentemente e in maniera asincrona Entrambi interagiscono scambiando informazioni strutturate secondo schemi, canali, formati e pattern di messaging ben precisi Entrambi possono contare un numero di istanze ragguardevole, ciascuna delle quali in grado di produrre o consumare un numero spaventoso di messaggi Entrambi mantengono uno stato persistente

DEMO Orleans Railway

Demo: Orleans Railway Il sistema implementa una rete ferroviaria fittizia (magazzino automatico, navette «guida» per ospedali, carrelli robotizzati per centri commerciali, ecc.) Il grafo ferroviario è rappresentato da nodi ( Stazioni ) e archi direzionati ( Strade ), questi ultimi con uno specifico costo/tempo di percorrenza Ogni Navetta fisica ha un proprio Grain «omologo» che ne rappresenta l’Avatar La Demo utilizza un simulatore ( esterno ) che processa i comandi e genera notifiche per conto delle navette device “simulate” ( N_1,...,N_4 )

Demo: Orleans Railway Live Per seguire la demo «live»: Collegatevi all’access-point TP-LINK_TRIFIDO Navigate su

DEMO Orleans Railway (con Simulatore Navette)

Demo: Orleans Railway #2 Validiamo il sistema con dispositivi fisici: Una navetta “fisica” deve processare i comandi inviati (tramite il front-end M2M) dal suo Grain “Avatar” Una navetta “fisica” deve generare notifiche (tramite il front-end M2M) destinate al suo Grain “Avatar” Una navetta “fisica” deve…interagire con il mondo fisico! “Sentire” la prossimità di Strade e Stazioni “Muoversi” lungo i binari (ok, quello lo faccio io )

DEMO Orleans Railway (con Navetta «fisica»)

Q&A #1: Performance Using X-Large VMs (8 CPU Cores / 14 GB RAM) on Microsoft Azure, with one “silo” per VM: A grain will handle a maximum of 1,000 requests per second. A silo will handle a maximum of 10,000 requests per second. A silo will hold 100,000 active grains.

Q&A #2: Orleans Railway Il front-end UI è implementato con SignalR su infrastruttura OWIN Il front-end M2M è implementato sotto forma di client MQTT Il detecting della prossimità di Stazioni e Strade da parte della «Navetta» è implementato con BLE+iBeacon Il gateway iBeacon/MQTT ed il simulatore di navette sono implementati come «flow» Node-Red Il firmware in esecuzione sulla «Navetta» è realizzato con.NET Micro Framework (con il contributo di M2Mqtt di Paolo Patierno e di NETMFBLE del sottoscritto )

Modulo di Feedback per l’evento di oggi

Sponsor