SlideShare une entreprise Scribd logo
1  sur  27
PhD Interview

          Simone Mora
          via E.Fermi 23
          24060-Casazza (BG) Italy
          +393493196360
          morasimone@gmail.com




   April, 20th 2010
Simone Mora - About myself




Education and Training:

❖   Musical Theory Diploma (2000)

❖   Scientific High School Diploma (2002)

❖   Bachelor Degree in Industrial Engineering
    (University of Bergamo, 2006)

❖   Master Degree in Computer Science
    (University of Bergamo, 2009)

    ❖   Partecipant of the ERASMUS program (2007)
    ❖   Master Thesis during an exchange period at NTNU
        (Norwegian University of Science and Technology) (2009)
Simone Mora - About myself




Work Experiences:

❖   Job as ResearcherDeveloper for IDI-NTNU
    projects (July 2009 - March 2010):
     ❖   UbiCollab, Ubiquitous Collaboration
     ❖   ASTRA: Awareness Services and Systems -

         Towards Theory and Realization (IST-FP6)
Simone Mora - About myself



Research Interests:

-   Ubiquitous Computing
-   HCI
-   CSCW
-   Pervasive Healthcare
-   Multimedia Signal Processing


Technologies:

-   C++, Java, OSGi, eRCPeSWT
-   JSP, HTML, CSS, JavaScript, WebServices
-   Mac OS X, Linux, Ms Windows
-   QR, Datamatrix, RFID
-   LaTeX
Service Discovery in:


    UbiCollab
Ubiquitous and pervasive collaboration




              Simone Mora
                IDI-NTNU
UbiCollab
                                   Mission

 Build a platform for
 supporting:

• Collaboration among
 geographically distributed
 people and their devices
 services in physical spaces.

• Sharing context (meaning)
 through a collaboration
 instance (CI)

• Adaptability and automatic
 configuration of spaces and
 devices/services.
Problems and Motivations

Collaboration: “a recursive process where two or more people or organizations
               work together in an intersection of common goals”

What collaboration involves:




    Informations                                                    Devices




    Sharing of              Access of Devices and             Access to Devices:
  Informations:                 Informations:                 Ambient Intelligence
 Social Networks             Pervasive Healthcare              Home Automation

                                                Needs Service
                                                 Discovery!
UbiCollab Architecture



‣ Mobile


‣ Runs on smartphones (with JavaME CDC)


‣ Service Oriented


‣ Extendible without extensive coding
UbiNode

•   Service Discovery Manager:
    Takes care of discovery over
    multiple protocols, needs d. plugins


•   Space Manager:
    Allows user to create and maintain
    spaces.


•   CI Manager:
    Allows creating and joining
    collaboration instances


•   Additionally:
    Discovery Plugins, Proxies,
    Applications
Retroactive Service Discovery


    Where retroactive discovery fails?




•   Retroactive Service Discovery protocols
    (uPNP, BT,...) lack in effectiveness and
    context awareness.




•   Handheld devices have limited resources,
    user shouldn’t be prompted for a long list of
    discovery results




•   Self-Advertising discovery protocols, like
    Bluetooth, are not user-friendly enough.
Service Discovery in UbiCollab
             from a Retroactive to a Proactive Discovery




                                                                     Code:
                                                                     1020

         ?
     ?       ?

                                                                             Code:
                                                                              0000




      HOME                                             HOME




      WORK
                                                       WORK


   RETROACTIVE                                      PROACTIVE
RESOURCE DISCOVERY                              RESOURCE DISCOVERY
Proactive Service Discovery in UbiCollab

                              Services Advertisement




                    Code:
                    XXXX
Proactive Service Discovery in UbiCollab

                              Services Advertisement




                    Code:
                    XXXX
Proactive Service Discovery in UbiCollab

                              Services Advertisement




                    Code:
                    XXXX
Home Lights App




                                                               10101
                                                                                  10101


                                                                                          10101
                                                    House              10101
                                                  power grid

                                                    X10
                                                   Server




- The HomeLights app uses a X10 server to switch onoff devices connected to the power grid
Proxies




                                                                  WS Proxy Stub
                          BundleContext




                                          BundleContext




                                                                                                     WS API
             UbiCollab                                                            SOAP Invocations             Shared
                                                          Proxy                     over HTTP
            Application                                                                                       Resource



          OSGi Domain                                                                                           WS Domain




•   Discovered services/resources are heterogeneous


•   Proxy services act as “software drivers” for these services/resources


•   A Proxy service provides:
    -   APIs to UbiCollab applications and core modules
    -   A native interface to the heterogeneous service/resource
Applications



                Application           << SOAP Invocations>>       Device
                              PROXY




                Application           << SOAP Invocations>>       Device
                              PROXY




      UbiNode                                                 Remote Resources




•   Softwares directly operated by the user by multiple User Interfaces: GUI, voice,
    gestures

•   Can use proxies to get informations and control remote resources

•   Can be discovered in the same ways as proxies

•   UbiCollab provides an SDK for building rich applications without extensive coding,
    it includes frames and graphical widgets for developing touch based UIs

•   Application can even be external to the UbiCollab framework (e.g. ASTRA)
Astra Connector


                                call(naztabag,rotateHear,90);                      rotateHear(90);            hear_pos(5A);
                                                                                                     proxy
                                    <<SOAP over HTTP>>                                                       <<SOAP over HTTP>>
                                                                 AstraConnector
                   Back-end

                                                                                                                              Third-party
                 ASTRA Domain                                   UbiCollab Domain
                                                                                                                              resource Domain




•   Integration between UbiCollab and the european founded project ASTRA

•   Improve ASTRAʼs capability in resource discovery field providing a user friendly way
    to add external devices to an ASTRA node

•   Provides to ASTRA information about the proxies installed in the UbiNode and a
    exposes a WebService interface capable to drive them from an ASTRA node

•   Make use of Java Reflection to build representations of ASTRA applications inside
    the UbiNode
The full picture: on-the-fly discovery
User with UbiNode                                                                           Shared Resources




                                                                                Code:                    Code:
                                                                                xxxx                     xxxx



                                            Resource Advertisement


                                    Code:
                                                                                             Code:
                                    xxxx                                                     xxxx


                                                                                                                     6
                      1               1           1



     TAN            QRCode            RFID
    Plugin           Plugin           Plugin                jpeg       Application             5       proxy

               Resource Discovery
                   Manager

                                                   2
             Service Domain Manager


                                                                                                   4

Platform Space                                                                                         User Space
                                                                   3
UbiNode




                                                                                        UbiCollab Proxy Repository
Life Shirt App




WiFi        WebServices                 SMS
                          SMS Gateway




                                          SMS from UCLifeShirt
                                               EMERGENCY ALERT
                                              Patient's name: Arne Lars
                                                 Blood Pressure: 20
                                                 Patient's Location:
                                                63.4164N 10.3943E

                                                        Ok
Technical Overview


 Third-Party Technologies adopted in UbiCollab:



‣ OSGi - Open Services Gateway Initiative

‣ IBM J9 CDC JVM

‣ Eclipse eRCPeSWT

‣ Apache Axis

‣ X10 PLC (Power Line Comonication) protocol

‣ Phidgets Sensing and Control
Conclusion & Future Work


•   Work review driven by user-testing feedbacks

•   Solve Security and Concurrency issues

•   Porting of the platform to iPhone and Android

•   More proxies: Car, ...

•   More Discovery Plugin: Voice Recognition, ...




                                 Thank you!
Technical Overview
Module Architecture
org.ubicollab.[core | sdp | app | proxy | services].x.#.#.#.jar




                                                                             org.ubicollab.
                                                                  [core | sdp | app | proxy | services].   Component UI View(s) Implementation
                                                                                   x.ui

                                                                               Controller

                                                                             org.ubicollab.
                                                                  [core | sdp | app | proxy | services].   Component Model Implementation
                                                                                 x.model

                                                                                Activator


                                                                     org.ubicollab.services.axis.x         Connection to remote WebServices



                                                                               plugin.xml                  Connection to the UI framework

                                                                              manifest.mf                  Connection to the OSGi Framework


                                                                                                                               Mandatory units           Optional units

                                                                                                                              Mandatory classes        Optional Classes
                                                                                                                             x is the name of the implemented component
Framework Overview

                                                                       OSGi

                                                                                eRCP

     OSGi
                  org.eclipse.core.runtime            org.eclipse.ui
    Bundle                                                                                                                     eJFace
    Registry                                                                       ..core           ..core
                                                                                component..      component..

                   applications.exsd         views.exsd   perspectives.exsd                                                             eSWT




                                   plugin.xml                                                             Content Provider         Workbench Views
                                                                              eWorkbench
   manifest.mf
                                                                                Core
                               applications.exsd                                                                     Layouts                   Widgets

                                                                                (Model)*                       (Controller)*             (View)*
Platform Abstraction Layer                                                                                                     User Abstraction Layer




                                                                                              UbiCollab components which provide user Interfaces
                                                                                                       (SDPlugins, Applications, Proxies)



                       Extension-Point System
* Model-View-Controller Design Pattern
Modules Involved in Service Discovery



   eWorkbench



 Astra Connector



    UI Toolkit



Resource Database          RFID


Resource Discovery
                       2DBarcodes            Sensors         Sensor Lab
    Manager


 Service Domain
                      Type a Number      Lights Controller   Home Lights
    Manager



                     Service Discovery
      Core                                    Proxy          Aplications
                          Plugins
Thanks!

          Simone Mora
          via E.Fermi 23
          24060-Casazza (BG) Italy
          +393493196360
          morasimone@gmail.com




   April, 20th 2010

Contenu connexe

Tendances

Final Presentation for Internship
Final Presentation for InternshipFinal Presentation for Internship
Final Presentation for Internshipjnwashburn
 
IEEE Membership Benefits for Students
IEEE Membership Benefits for StudentsIEEE Membership Benefits for Students
IEEE Membership Benefits for StudentsInteX Research Lab
 
Cryopreserving the Brain
Cryopreserving the BrainCryopreserving the Brain
Cryopreserving the BrainDanila Medvedev
 
IEEE Student and Professional Membership Benefits
IEEE Student and Professional Membership BenefitsIEEE Student and Professional Membership Benefits
IEEE Student and Professional Membership BenefitsInteX Research Lab
 
NAAC : Accreditation Process
NAAC : Accreditation ProcessNAAC : Accreditation Process
NAAC : Accreditation ProcessRishabh Garg
 
Project Report Satyajeet Malla TCS iON Remote Internship
Project Report Satyajeet Malla TCS iON Remote InternshipProject Report Satyajeet Malla TCS iON Remote Internship
Project Report Satyajeet Malla TCS iON Remote InternshipHome
 
Ieee student branch final -nitp
Ieee student branch final -nitpIeee student branch final -nitp
Ieee student branch final -nitpvishal anand
 
Nano technology by smitkapdiya
Nano technology by smitkapdiyaNano technology by smitkapdiya
Nano technology by smitkapdiyaSmit Kapadiya
 
Anna university-ug-pg-ppt-presentation-format
Anna university-ug-pg-ppt-presentation-formatAnna university-ug-pg-ppt-presentation-format
Anna university-ug-pg-ppt-presentation-formatVeera Victory
 
Preparation for NBA
Preparation for  NBAPreparation for  NBA
Preparation for NBASHIMI S L
 
Powerpoint Presentation of PhD Viva
Powerpoint Presentation of PhD VivaPowerpoint Presentation of PhD Viva
Powerpoint Presentation of PhD VivaDr Mohan Savade
 
Iron oxide nanoparticles by Dr. Ronit Sharma (Best Slides Ever)
Iron oxide nanoparticles by Dr. Ronit Sharma (Best Slides Ever)Iron oxide nanoparticles by Dr. Ronit Sharma (Best Slides Ever)
Iron oxide nanoparticles by Dr. Ronit Sharma (Best Slides Ever)Ronit Rvan
 
My presentation for a lecturership job position
My presentation for a lecturership job positionMy presentation for a lecturership job position
My presentation for a lecturership job positionSara Barrento
 
M.Sc. Research Progress Presentation
M.Sc. Research Progress PresentationM.Sc. Research Progress Presentation
M.Sc. Research Progress PresentationLighton Phiri
 

Tendances (20)

Final Presentation for Internship
Final Presentation for InternshipFinal Presentation for Internship
Final Presentation for Internship
 
IEEE Membership Benefits for Students
IEEE Membership Benefits for StudentsIEEE Membership Benefits for Students
IEEE Membership Benefits for Students
 
IEEE Presentation
IEEE PresentationIEEE Presentation
IEEE Presentation
 
Cryopreserving the Brain
Cryopreserving the BrainCryopreserving the Brain
Cryopreserving the Brain
 
What is IEEE? {IEEE-ZC}
What is IEEE? {IEEE-ZC}What is IEEE? {IEEE-ZC}
What is IEEE? {IEEE-ZC}
 
IEEE Student and Professional Membership Benefits
IEEE Student and Professional Membership BenefitsIEEE Student and Professional Membership Benefits
IEEE Student and Professional Membership Benefits
 
NAAC : Accreditation Process
NAAC : Accreditation ProcessNAAC : Accreditation Process
NAAC : Accreditation Process
 
Project Report Satyajeet Malla TCS iON Remote Internship
Project Report Satyajeet Malla TCS iON Remote InternshipProject Report Satyajeet Malla TCS iON Remote Internship
Project Report Satyajeet Malla TCS iON Remote Internship
 
Ieee student branch final -nitp
Ieee student branch final -nitpIeee student branch final -nitp
Ieee student branch final -nitp
 
Nano technology by smitkapdiya
Nano technology by smitkapdiyaNano technology by smitkapdiya
Nano technology by smitkapdiya
 
Anna university-ug-pg-ppt-presentation-format
Anna university-ug-pg-ppt-presentation-formatAnna university-ug-pg-ppt-presentation-format
Anna university-ug-pg-ppt-presentation-format
 
Preparation for NBA
Preparation for  NBAPreparation for  NBA
Preparation for NBA
 
NAAC Criterion VII
NAAC Criterion VIINAAC Criterion VII
NAAC Criterion VII
 
Powerpoint Presentation of PhD Viva
Powerpoint Presentation of PhD VivaPowerpoint Presentation of PhD Viva
Powerpoint Presentation of PhD Viva
 
PhD CV: Postdoctoral Research
PhD CV: Postdoctoral ResearchPhD CV: Postdoctoral Research
PhD CV: Postdoctoral Research
 
Naac criteria
Naac criteriaNaac criteria
Naac criteria
 
Iron oxide nanoparticles by Dr. Ronit Sharma (Best Slides Ever)
Iron oxide nanoparticles by Dr. Ronit Sharma (Best Slides Ever)Iron oxide nanoparticles by Dr. Ronit Sharma (Best Slides Ever)
Iron oxide nanoparticles by Dr. Ronit Sharma (Best Slides Ever)
 
My presentation for a lecturership job position
My presentation for a lecturership job positionMy presentation for a lecturership job position
My presentation for a lecturership job position
 
Criteria-III-NBA.pdf
Criteria-III-NBA.pdfCriteria-III-NBA.pdf
Criteria-III-NBA.pdf
 
M.Sc. Research Progress Presentation
M.Sc. Research Progress PresentationM.Sc. Research Progress Presentation
M.Sc. Research Progress Presentation
 

En vedette

INTERVIEW PRESENTATION
INTERVIEW PRESENTATIONINTERVIEW PRESENTATION
INTERVIEW PRESENTATIONAce Abdul
 
Phd Successful Approach
Phd Successful Approach Phd Successful Approach
Phd Successful Approach Najib Altawell
 
Job interview slide show
Job interview slide showJob interview slide show
Job interview slide showlmcdonaldbe
 
Interview ppt
Interview pptInterview ppt
Interview pptohnu93
 
PhD research presentation GO-GN seminar in Cape Town. Judith Pete
PhD research presentation GO-GN seminar in Cape Town. Judith PetePhD research presentation GO-GN seminar in Cape Town. Judith Pete
PhD research presentation GO-GN seminar in Cape Town. Judith PeteGlobal OER Graduate Network
 
Sales Interview Presentation
Sales Interview PresentationSales Interview Presentation
Sales Interview PresentationNovin
 
An interview presentation that lands senior-level jobs
An interview presentation that lands senior-level jobsAn interview presentation that lands senior-level jobs
An interview presentation that lands senior-level jobspsymar
 
Why Hire Me presentation
Why Hire Me presentationWhy Hire Me presentation
Why Hire Me presentationSteveWhite
 
PhD Defence: Leveraging sensing-based interaction for supporting reflection a...
PhD Defence: Leveraging sensing-based interaction for supporting reflection a...PhD Defence: Leveraging sensing-based interaction for supporting reflection a...
PhD Defence: Leveraging sensing-based interaction for supporting reflection a...Simone Mora
 
Saikat design thinking lab
Saikat design thinking labSaikat design thinking lab
Saikat design thinking labSaikat Dutta
 
Phd proposal defense
Phd proposal defensePhd proposal defense
Phd proposal defenseamooool2000
 
PhD Proposal Defense Team Psychological Safety, Team Learning and Team Knowle...
PhD Proposal Defense Team Psychological Safety, Team Learning and Team Knowle...PhD Proposal Defense Team Psychological Safety, Team Learning and Team Knowle...
PhD Proposal Defense Team Psychological Safety, Team Learning and Team Knowle...Peter Cauwelier
 
Identifying candidate targets for Cancer Therapy with Integrated Text Mining ...
Identifying candidate targets for Cancer Therapy with Integrated Text Mining ...Identifying candidate targets for Cancer Therapy with Integrated Text Mining ...
Identifying candidate targets for Cancer Therapy with Integrated Text Mining ...Ann-Marie Roche
 
PhD Proposal Presentation
PhD Proposal PresentationPhD Proposal Presentation
PhD Proposal PresentationJorge Cardoso
 
拿到Michigan和Cornell认知心理全额奖学金的X 经验交流
拿到Michigan和Cornell认知心理全额奖学金的X 经验交流拿到Michigan和Cornell认知心理全额奖学金的X 经验交流
拿到Michigan和Cornell认知心理全额奖学金的X 经验交流COPSY org
 
PhD proposal presentation
PhD proposal presentationPhD proposal presentation
PhD proposal presentationMichael Rowe
 

En vedette (19)

INTERVIEW PRESENTATION
INTERVIEW PRESENTATIONINTERVIEW PRESENTATION
INTERVIEW PRESENTATION
 
Phd Successful Approach
Phd Successful Approach Phd Successful Approach
Phd Successful Approach
 
Job interview slide show
Job interview slide showJob interview slide show
Job interview slide show
 
Interview ppt
Interview pptInterview ppt
Interview ppt
 
PhD research presentation GO-GN seminar in Cape Town. Judith Pete
PhD research presentation GO-GN seminar in Cape Town. Judith PetePhD research presentation GO-GN seminar in Cape Town. Judith Pete
PhD research presentation GO-GN seminar in Cape Town. Judith Pete
 
Sales Interview Presentation
Sales Interview PresentationSales Interview Presentation
Sales Interview Presentation
 
An interview presentation that lands senior-level jobs
An interview presentation that lands senior-level jobsAn interview presentation that lands senior-level jobs
An interview presentation that lands senior-level jobs
 
Why Hire Me presentation
Why Hire Me presentationWhy Hire Me presentation
Why Hire Me presentation
 
PhD Defence: Leveraging sensing-based interaction for supporting reflection a...
PhD Defence: Leveraging sensing-based interaction for supporting reflection a...PhD Defence: Leveraging sensing-based interaction for supporting reflection a...
PhD Defence: Leveraging sensing-based interaction for supporting reflection a...
 
Saikat design thinking lab
Saikat design thinking labSaikat design thinking lab
Saikat design thinking lab
 
Terry PhD Panel PPT (2006)
Terry PhD Panel PPT (2006)Terry PhD Panel PPT (2006)
Terry PhD Panel PPT (2006)
 
Phd proposal defense
Phd proposal defensePhd proposal defense
Phd proposal defense
 
Cv
CvCv
Cv
 
Åpningssesjon: Infectious disease modelling
Åpningssesjon: Infectious disease modellingÅpningssesjon: Infectious disease modelling
Åpningssesjon: Infectious disease modelling
 
PhD Proposal Defense Team Psychological Safety, Team Learning and Team Knowle...
PhD Proposal Defense Team Psychological Safety, Team Learning and Team Knowle...PhD Proposal Defense Team Psychological Safety, Team Learning and Team Knowle...
PhD Proposal Defense Team Psychological Safety, Team Learning and Team Knowle...
 
Identifying candidate targets for Cancer Therapy with Integrated Text Mining ...
Identifying candidate targets for Cancer Therapy with Integrated Text Mining ...Identifying candidate targets for Cancer Therapy with Integrated Text Mining ...
Identifying candidate targets for Cancer Therapy with Integrated Text Mining ...
 
PhD Proposal Presentation
PhD Proposal PresentationPhD Proposal Presentation
PhD Proposal Presentation
 
拿到Michigan和Cornell认知心理全额奖学金的X 经验交流
拿到Michigan和Cornell认知心理全额奖学金的X 经验交流拿到Michigan和Cornell认知心理全额奖学金的X 经验交流
拿到Michigan和Cornell认知心理全额奖学金的X 经验交流
 
PhD proposal presentation
PhD proposal presentationPhD proposal presentation
PhD proposal presentation
 

Similaire à PhD Interview: Simone Mora's Research on Proactive Service Discovery

OpenNebula Interoperability
OpenNebula InteroperabilityOpenNebula Interoperability
OpenNebula Interoperabilitydmamolina
 
FIWARE and IoT net services by DunavNET, SenZations 2015
FIWARE and IoT net services by DunavNET, SenZations 2015FIWARE and IoT net services by DunavNET, SenZations 2015
FIWARE and IoT net services by DunavNET, SenZations 2015SenZations Summer School
 
SoftLayer Overview - April 2012 - Tokyo
SoftLayer Overview - April 2012 - TokyoSoftLayer Overview - April 2012 - Tokyo
SoftLayer Overview - April 2012 - TokyoSoftLayer Technologies
 
Federated Cloud Computing - The OpenNebula Experience v1.0s
Federated Cloud Computing  - The OpenNebula Experience v1.0sFederated Cloud Computing  - The OpenNebula Experience v1.0s
Federated Cloud Computing - The OpenNebula Experience v1.0sIgnacio M. Llorente
 
OpenStack and Cloud Foundry - Pair the leading open source IaaS and PaaS
OpenStack and Cloud Foundry - Pair the leading open source IaaS and PaaSOpenStack and Cloud Foundry - Pair the leading open source IaaS and PaaS
OpenStack and Cloud Foundry - Pair the leading open source IaaS and PaaSDaniel Krook
 
Open Day Light (ODL)
Open Day Light (ODL)Open Day Light (ODL)
Open Day Light (ODL)Utkarsh Soni
 
Linking Services and Linked Data: Keynote for AIMSA 2012
Linking Services and Linked Data: Keynote for AIMSA 2012Linking Services and Linked Data: Keynote for AIMSA 2012
Linking Services and Linked Data: Keynote for AIMSA 2012John Domingue
 
Open source and standards - unleashing the potential for innovation of cloud ...
Open source and standards - unleashing the potential for innovation of cloud ...Open source and standards - unleashing the potential for innovation of cloud ...
Open source and standards - unleashing the potential for innovation of cloud ...Ignacio M. Llorente
 
Linked services for the Web of Data
Linked services for the Web of DataLinked services for the Web of Data
Linked services for the Web of DataJohn Domingue
 
Jornada Desarrolladores: WAC: 'Wholesale Applications Community'
Jornada Desarrolladores: WAC: 'Wholesale Applications Community' Jornada Desarrolladores: WAC: 'Wholesale Applications Community'
Jornada Desarrolladores: WAC: 'Wholesale Applications Community' videos
 
Microservices bell labs_kulak_final
Microservices bell labs_kulak_finalMicroservices bell labs_kulak_final
Microservices bell labs_kulak_finalTy Le
 
Acano unites previously incompatible audio, video and web technologies in coS...
Acano unites previously incompatible audio, video and web technologies in coS...Acano unites previously incompatible audio, video and web technologies in coS...
Acano unites previously incompatible audio, video and web technologies in coS...Acano
 
It's 2013 - Time to build and test mobile apps...FAST
It's 2013 - Time to build and test mobile apps...FASTIt's 2013 - Time to build and test mobile apps...FAST
It's 2013 - Time to build and test mobile apps...FASTSOASTA
 
OpenNebula Interoperability and Portability DMTF 2011
OpenNebula Interoperability and Portability  DMTF 2011OpenNebula Interoperability and Portability  DMTF 2011
OpenNebula Interoperability and Portability DMTF 2011Ignacio M. Llorente
 
Are web apps the future?
Are web apps the future?Are web apps the future?
Are web apps the future?Jonathan Howell
 
OpenStack and OpenDaylight Workshop: ONUG Spring 2014
OpenStack and OpenDaylight Workshop: ONUG Spring 2014OpenStack and OpenDaylight Workshop: ONUG Spring 2014
OpenStack and OpenDaylight Workshop: ONUG Spring 2014mestery
 
Kafka & InfluxDB: BFFs for Enterprise Data Applications | Russ Savage, Influx...
Kafka & InfluxDB: BFFs for Enterprise Data Applications | Russ Savage, Influx...Kafka & InfluxDB: BFFs for Enterprise Data Applications | Russ Savage, Influx...
Kafka & InfluxDB: BFFs for Enterprise Data Applications | Russ Savage, Influx...HostedbyConfluent
 
Part 2 OCLC Strategic Presentation Bruce Crocco ACURIL 2011
Part 2 OCLC Strategic Presentation Bruce Crocco ACURIL 2011Part 2 OCLC Strategic Presentation Bruce Crocco ACURIL 2011
Part 2 OCLC Strategic Presentation Bruce Crocco ACURIL 2011Antonio Alba
 

Similaire à PhD Interview: Simone Mora's Research on Proactive Service Discovery (20)

OpenNebula Interoperability
OpenNebula InteroperabilityOpenNebula Interoperability
OpenNebula Interoperability
 
FIWARE and IoT net services by DunavNET, SenZations 2015
FIWARE and IoT net services by DunavNET, SenZations 2015FIWARE and IoT net services by DunavNET, SenZations 2015
FIWARE and IoT net services by DunavNET, SenZations 2015
 
SoftLayer Overview - April 2012 - Tokyo
SoftLayer Overview - April 2012 - TokyoSoftLayer Overview - April 2012 - Tokyo
SoftLayer Overview - April 2012 - Tokyo
 
Federated Cloud Computing - The OpenNebula Experience v1.0s
Federated Cloud Computing  - The OpenNebula Experience v1.0sFederated Cloud Computing  - The OpenNebula Experience v1.0s
Federated Cloud Computing - The OpenNebula Experience v1.0s
 
OpenStack and Cloud Foundry - Pair the leading open source IaaS and PaaS
OpenStack and Cloud Foundry - Pair the leading open source IaaS and PaaSOpenStack and Cloud Foundry - Pair the leading open source IaaS and PaaS
OpenStack and Cloud Foundry - Pair the leading open source IaaS and PaaS
 
Open Day Light (ODL)
Open Day Light (ODL)Open Day Light (ODL)
Open Day Light (ODL)
 
Ovi And Social Location
Ovi And Social LocationOvi And Social Location
Ovi And Social Location
 
Linking Services and Linked Data: Keynote for AIMSA 2012
Linking Services and Linked Data: Keynote for AIMSA 2012Linking Services and Linked Data: Keynote for AIMSA 2012
Linking Services and Linked Data: Keynote for AIMSA 2012
 
Open source and standards - unleashing the potential for innovation of cloud ...
Open source and standards - unleashing the potential for innovation of cloud ...Open source and standards - unleashing the potential for innovation of cloud ...
Open source and standards - unleashing the potential for innovation of cloud ...
 
Linked services for the Web of Data
Linked services for the Web of DataLinked services for the Web of Data
Linked services for the Web of Data
 
Jornada Desarrolladores: WAC: 'Wholesale Applications Community'
Jornada Desarrolladores: WAC: 'Wholesale Applications Community' Jornada Desarrolladores: WAC: 'Wholesale Applications Community'
Jornada Desarrolladores: WAC: 'Wholesale Applications Community'
 
Microservices bell labs_kulak_final
Microservices bell labs_kulak_finalMicroservices bell labs_kulak_final
Microservices bell labs_kulak_final
 
The App Evolution Continues
The App Evolution ContinuesThe App Evolution Continues
The App Evolution Continues
 
Acano unites previously incompatible audio, video and web technologies in coS...
Acano unites previously incompatible audio, video and web technologies in coS...Acano unites previously incompatible audio, video and web technologies in coS...
Acano unites previously incompatible audio, video and web technologies in coS...
 
It's 2013 - Time to build and test mobile apps...FAST
It's 2013 - Time to build and test mobile apps...FASTIt's 2013 - Time to build and test mobile apps...FAST
It's 2013 - Time to build and test mobile apps...FAST
 
OpenNebula Interoperability and Portability DMTF 2011
OpenNebula Interoperability and Portability  DMTF 2011OpenNebula Interoperability and Portability  DMTF 2011
OpenNebula Interoperability and Portability DMTF 2011
 
Are web apps the future?
Are web apps the future?Are web apps the future?
Are web apps the future?
 
OpenStack and OpenDaylight Workshop: ONUG Spring 2014
OpenStack and OpenDaylight Workshop: ONUG Spring 2014OpenStack and OpenDaylight Workshop: ONUG Spring 2014
OpenStack and OpenDaylight Workshop: ONUG Spring 2014
 
Kafka & InfluxDB: BFFs for Enterprise Data Applications | Russ Savage, Influx...
Kafka & InfluxDB: BFFs for Enterprise Data Applications | Russ Savage, Influx...Kafka & InfluxDB: BFFs for Enterprise Data Applications | Russ Savage, Influx...
Kafka & InfluxDB: BFFs for Enterprise Data Applications | Russ Savage, Influx...
 
Part 2 OCLC Strategic Presentation Bruce Crocco ACURIL 2011
Part 2 OCLC Strategic Presentation Bruce Crocco ACURIL 2011Part 2 OCLC Strategic Presentation Bruce Crocco ACURIL 2011
Part 2 OCLC Strategic Presentation Bruce Crocco ACURIL 2011
 

PhD Interview: Simone Mora's Research on Proactive Service Discovery

  • 1. PhD Interview Simone Mora via E.Fermi 23 24060-Casazza (BG) Italy +393493196360 morasimone@gmail.com April, 20th 2010
  • 2. Simone Mora - About myself Education and Training: ❖ Musical Theory Diploma (2000) ❖ Scientific High School Diploma (2002) ❖ Bachelor Degree in Industrial Engineering (University of Bergamo, 2006) ❖ Master Degree in Computer Science (University of Bergamo, 2009) ❖ Partecipant of the ERASMUS program (2007) ❖ Master Thesis during an exchange period at NTNU (Norwegian University of Science and Technology) (2009)
  • 3. Simone Mora - About myself Work Experiences: ❖ Job as ResearcherDeveloper for IDI-NTNU projects (July 2009 - March 2010): ❖ UbiCollab, Ubiquitous Collaboration ❖ ASTRA: Awareness Services and Systems - Towards Theory and Realization (IST-FP6)
  • 4. Simone Mora - About myself Research Interests: - Ubiquitous Computing - HCI - CSCW - Pervasive Healthcare - Multimedia Signal Processing Technologies: - C++, Java, OSGi, eRCPeSWT - JSP, HTML, CSS, JavaScript, WebServices - Mac OS X, Linux, Ms Windows - QR, Datamatrix, RFID - LaTeX
  • 5. Service Discovery in: UbiCollab Ubiquitous and pervasive collaboration Simone Mora IDI-NTNU
  • 6. UbiCollab Mission Build a platform for supporting: • Collaboration among geographically distributed people and their devices services in physical spaces. • Sharing context (meaning) through a collaboration instance (CI) • Adaptability and automatic configuration of spaces and devices/services.
  • 7. Problems and Motivations Collaboration: “a recursive process where two or more people or organizations work together in an intersection of common goals” What collaboration involves: Informations Devices Sharing of Access of Devices and Access to Devices: Informations: Informations: Ambient Intelligence Social Networks Pervasive Healthcare Home Automation Needs Service Discovery!
  • 8. UbiCollab Architecture ‣ Mobile ‣ Runs on smartphones (with JavaME CDC) ‣ Service Oriented ‣ Extendible without extensive coding
  • 9. UbiNode • Service Discovery Manager: Takes care of discovery over multiple protocols, needs d. plugins • Space Manager: Allows user to create and maintain spaces. • CI Manager: Allows creating and joining collaboration instances • Additionally: Discovery Plugins, Proxies, Applications
  • 10. Retroactive Service Discovery Where retroactive discovery fails? • Retroactive Service Discovery protocols (uPNP, BT,...) lack in effectiveness and context awareness. • Handheld devices have limited resources, user shouldn’t be prompted for a long list of discovery results • Self-Advertising discovery protocols, like Bluetooth, are not user-friendly enough.
  • 11. Service Discovery in UbiCollab from a Retroactive to a Proactive Discovery Code: 1020 ? ? ? Code: 0000 HOME HOME WORK WORK RETROACTIVE PROACTIVE RESOURCE DISCOVERY RESOURCE DISCOVERY
  • 12. Proactive Service Discovery in UbiCollab Services Advertisement Code: XXXX
  • 13. Proactive Service Discovery in UbiCollab Services Advertisement Code: XXXX
  • 14. Proactive Service Discovery in UbiCollab Services Advertisement Code: XXXX
  • 15. Home Lights App 10101 10101 10101 House 10101 power grid X10 Server - The HomeLights app uses a X10 server to switch onoff devices connected to the power grid
  • 16. Proxies WS Proxy Stub BundleContext BundleContext WS API UbiCollab SOAP Invocations Shared Proxy over HTTP Application Resource OSGi Domain WS Domain • Discovered services/resources are heterogeneous • Proxy services act as “software drivers” for these services/resources • A Proxy service provides: - APIs to UbiCollab applications and core modules - A native interface to the heterogeneous service/resource
  • 17. Applications Application << SOAP Invocations>> Device PROXY Application << SOAP Invocations>> Device PROXY UbiNode Remote Resources • Softwares directly operated by the user by multiple User Interfaces: GUI, voice, gestures • Can use proxies to get informations and control remote resources • Can be discovered in the same ways as proxies • UbiCollab provides an SDK for building rich applications without extensive coding, it includes frames and graphical widgets for developing touch based UIs • Application can even be external to the UbiCollab framework (e.g. ASTRA)
  • 18. Astra Connector call(naztabag,rotateHear,90); rotateHear(90); hear_pos(5A); proxy <<SOAP over HTTP>> <<SOAP over HTTP>> AstraConnector Back-end Third-party ASTRA Domain UbiCollab Domain resource Domain • Integration between UbiCollab and the european founded project ASTRA • Improve ASTRAʼs capability in resource discovery field providing a user friendly way to add external devices to an ASTRA node • Provides to ASTRA information about the proxies installed in the UbiNode and a exposes a WebService interface capable to drive them from an ASTRA node • Make use of Java Reflection to build representations of ASTRA applications inside the UbiNode
  • 19. The full picture: on-the-fly discovery User with UbiNode Shared Resources Code: Code: xxxx xxxx Resource Advertisement Code: Code: xxxx xxxx 6 1 1 1 TAN QRCode RFID Plugin Plugin Plugin jpeg Application 5 proxy Resource Discovery Manager 2 Service Domain Manager 4 Platform Space User Space 3 UbiNode UbiCollab Proxy Repository
  • 20. Life Shirt App WiFi WebServices SMS SMS Gateway SMS from UCLifeShirt EMERGENCY ALERT Patient's name: Arne Lars Blood Pressure: 20 Patient's Location: 63.4164N 10.3943E Ok
  • 21. Technical Overview Third-Party Technologies adopted in UbiCollab: ‣ OSGi - Open Services Gateway Initiative ‣ IBM J9 CDC JVM ‣ Eclipse eRCPeSWT ‣ Apache Axis ‣ X10 PLC (Power Line Comonication) protocol ‣ Phidgets Sensing and Control
  • 22. Conclusion & Future Work • Work review driven by user-testing feedbacks • Solve Security and Concurrency issues • Porting of the platform to iPhone and Android • More proxies: Car, ... • More Discovery Plugin: Voice Recognition, ... Thank you!
  • 24. Module Architecture org.ubicollab.[core | sdp | app | proxy | services].x.#.#.#.jar org.ubicollab. [core | sdp | app | proxy | services]. Component UI View(s) Implementation x.ui Controller org.ubicollab. [core | sdp | app | proxy | services]. Component Model Implementation x.model Activator org.ubicollab.services.axis.x Connection to remote WebServices plugin.xml Connection to the UI framework manifest.mf Connection to the OSGi Framework Mandatory units Optional units Mandatory classes Optional Classes x is the name of the implemented component
  • 25. Framework Overview OSGi eRCP OSGi org.eclipse.core.runtime org.eclipse.ui Bundle eJFace Registry ..core ..core component.. component.. applications.exsd views.exsd perspectives.exsd eSWT plugin.xml Content Provider Workbench Views eWorkbench manifest.mf Core applications.exsd Layouts Widgets (Model)* (Controller)* (View)* Platform Abstraction Layer User Abstraction Layer UbiCollab components which provide user Interfaces (SDPlugins, Applications, Proxies) Extension-Point System * Model-View-Controller Design Pattern
  • 26. Modules Involved in Service Discovery eWorkbench Astra Connector UI Toolkit Resource Database RFID Resource Discovery 2DBarcodes Sensors Sensor Lab Manager Service Domain Type a Number Lights Controller Home Lights Manager Service Discovery Core Proxy Aplications Plugins
  • 27. Thanks! Simone Mora via E.Fermi 23 24060-Casazza (BG) Italy +393493196360 morasimone@gmail.com April, 20th 2010

Notes de l'éditeur

  1. Buongiorno a tutti, sono Simone Mora e vi parler&amp;#xF2; del mio tirocinio presso il dipartimento di Computer Science della Norwegian University of Science and Technology, dove ho lavorato 11 mesi come ricercatore all&amp;#x2019;interno del progetto UbiCollab e del progetto europeo ASTRA, progettando e implementando moduli software nel campo del Service Discovery.
  2. UbiCollab &amp;#xE8; una piattaforma tecnologica che mira a facilitare la collaborazione e l&amp;#x2019;interazione con dispositivi tra persone geograficamente distribuite. Questa griglia di persone, dispositivi e le connessioni che permetto di comunicare tra loro forma la struttura base di UbiCollab. L&amp;#x2019;informatica &amp;#xE8; sempre pi&amp;#xF9; pervasiva e distribuita, ognuno ormai ha nelle proprie tasche diversi dispositivi che deve amministrare e far comunicare tra loro. Come sappiamo infatti la tecnologia crea dispositivi sempre pi&amp;#xF9; piccoli e versatili ma a volte non fornisce un sistema semplice e alla portata di tutti per interagire con essi. Inoltre l&amp;#x2019;utilizzo della tecnologia &amp;#xE8; sempre pi&amp;#xF9; mobile, spesso ci si trova a dover usufruire di servizi avanzati direttamente dal proprio palmare o telefono. Durante il mio periodo di ricerca, partendo dalle specifiche del progetto, ho progettato e implementato una soluzione per l&amp;#x2019;installazione e l&amp;#x2019;uso di questi dispositivi all&amp;#x2019;interno della griglia affrontando sia aspetti prettamente tecnici che aspetti riguardanti l&amp;#x2019;usabilit&amp;#xE0;.
  3. Vediamo ora in quali scenari pu&amp;#xF2; essere utile questa tecnologia. UbiCollab &amp;#xE8; stato progettato come una piattaforma generica, capace di adattarsi dinamicamente a vari scenari d&amp;#x2019;uso. Abbiamo creato l&amp;#x2019;infrastruttura e gli strumenti per permettere agli sviluppatori di scrivere applicazioni specifiche per certi casi d&amp;#x2019;uso; inoltre, essendo UbiCollab rilasciato con licenza OpenSource chiunque pu&amp;#xF2; sviluppare applicazioni. Vediamo qui in quali campi pu&amp;#xF2; essere utile questa tecnologia: -Scenari in cui vi &amp;#xE8; condivisione di Informazioni, come accade nei social network -Scenari che richiedono accesso a dispositivi: sensori, attuatori; come accade per applicazioni di Home Automation -Scenari che richiedono accesso sia a informazioni ma che a dispositivi come avviene per applicazioni di assistenza medica remota. Questi ultimi due scenari necessitano di un sistema (chiamato Service Discovery) per trovare e utilizzare i dispositivi attorno a noi, che diventeranno quindi parte della griglia di UbiCollab. Questo meccanismo, dovendo essere usato da un&amp;#x2019;ampia parte della popolazione inclusi anziani e malati deve essere il pi&amp;#xF9; immediato possibile.
  4. Vediamo qui gli aspetti principali della piattaforma: -Mobile: in quanto eseguibile su dispositivi portatili e non richiede hardware dedicato ma pu&amp;#xF2; essere eseguito sui comuni palmari e smarthphone capaci di eseguire una Java Virtual Machine per Mobile. -Service Oriented: in quanto il codice &amp;#xE8; incapsulato in moduli che espongono e consumano servizi tra loro all&amp;#x2019;interno del framework e verso dispositivi esterni tramite WebServices. -Extendible without extensive coding: poich&amp;#xE8; l&amp;#x2019;implementazione di applicazioni per UbiCollab non richiede la conoscenza o la modifica dei moduli base dell&amp;#x2019;architettura, inoltre &amp;#xE8; stata creata una SDK contente documentazione, componenti e widget grafici che possono essere utilizzati dagli sviluppatori.
  5. Vediamo ora come l&amp;#x2019;utente pu&amp;#xF2; interagire con questa griglia di dispositivi. Ogni utente di UbiCollab utilizza uno smartphone o computer palmare, chiamato UbiNode, che funge da personal server. In questo dispositivo sono eseguiti un insieme di moduli core e alcuni moduli addizionali, quali applicazioni e plugin, che possono venire installati dall&amp;#x2019;utente, vedremo in seguito in che modo. Come abbiamo detto questo dispositivo deve interagire con altre periferiche esterne, questo avviene tramite un modulo di service discovery che permette di installare e successivamente amministrare i dispositivi che interagiscono con l&amp;#x2019;UbiNode. Il problema di SD non &amp;#xE8; banale &amp;#xE8; comporta l&amp;#x2019;interazione di vari moduli: -Ad esempio nel caso di dispositivi fissi, quando l&amp;#x2019;utente installa un nuovo dispositivo e poi l&amp;#x2019;ascia l&amp;#x2019;ambiente in cui questo risiede il sistema deve essere in grado (in alcuni scenari) di nascondere all&amp;#x2019;utente il dispositivo installato e riattivarlo quando si fa ritorno nell&amp;#x2019;ambiente in qui questo risiede. /*Si pensi ad esempio all&amp;#x2019;utente che migra quotidianamente tra casa e ufficio.*/ Questa operazione &amp;#xE8; svolto dal modulo &amp;#x201C;Space Manager&amp;#x201D; il quale tagga ogni risorsa installata con il nome dell&amp;#x2019;ambiente in cui risiede. -Allo stesso tempo un utente potrebbe volere dare ad altri utenti accesso alle risorse installate nel proprio UbiNode, instaurando quella che viene chiamata &amp;#x201C;Collaboration Istance&amp;#x201D; e ci&amp;#xF2; avviene grazie al modulo &amp;#x201C;Collaboration Manager&amp;#x201D; Iniziando a Progettare i moduli dedicati al Service Discovery ho prima analizzato quali meccanismi sono attualmente disponibili per installare o associare al proprio palmare un dispositivo esterno.
  6. Questi meccanismi che ho chiamato Retroactive sono le classiche procedure per associare il proprio computer o palmare ad una periferica che siamo abituati ad utilizzare, ovvero: -Installando un driver: tramite cd ma dovendo quindi collegare il palmare ad una postazione fissa, oppure scaricandolo da internet ma in questo caso l&amp;#x2019;utente inesperto pu&amp;#xF2; avere difficolt&amp;#xE0; a il nome e modello della propria periferica e cercare il corrispondente driver su internet. -Oppure, come accade soprattutto in ambiente lavorativo, si pu&amp;#xF2; installare una periferica (es. una stampante) cercandola in server di stampa o in una directory condivisa. Solitamente questo approccio porta l&amp;#x2019;utente a scorrere una lunga serie di risultati -il che &amp;#xE8; difficoltoso su display di dimensioni limitate- e questi risultati spesso includono anche periferiche locate in un altro edificio oppure chiuse dietro la porta dell&amp;#x2019;ufficio di un collega. -Infine ci sono protocolli &amp;#x201C;self-advertized&amp;#x201D;, nati per periferiche mobili, come ad es. il Bluetooth, che pur risolvendo parte dei problemi appena elencati non sono ancora del tutto immediati in quanto l&amp;#x2019;utente deve ricordarsi il nome della periferica, problematico quando vi sono pi&amp;#xF9; periferiche dello stesso tipo vicine, e in alcuni casi anche una passkey necessaria per accedervi. In questi contesti condividere la stessa periferica tra pi&amp;#xF9; persone non fa altro che aumentare le difficolt&amp;#xE0;. Ho quindi concluso che questi metodi di service discovery sono poco efficaci dal punto di vista dell&amp;#x2019;usabilit&amp;#xE0; soprattutto in un ambiente mobile e non soddisfavano i requisiti del progetto che prevedono un sistema totalmente mobile e l&amp;#x2019;uso da parte di malati e anziani.
  7. Di coseguenza ho deciso di adottare un approccio nuovo al Service Discovery, definito proactive, nel quale, vengono utilizzate tecnologie di Object Tagging quali tag RFID, codici a barre bidimensionali e codici a barre numerici per associare al proprio UbiNode nuovi dispositivi. Ritengo che questo approccio sia pi&amp;#xF9; immediato in quanto richiede che l&amp;#x2019;utente compia operazioni naturali quali ad esempio far sfiorare o mettere a contatto i due oggetti da associare nel caso dell&amp;#x2019;RFID. Oppure compiere azioni che stanno diventando sempre pi&amp;#xF9; comuni come fare una foto con il proprio cellulare al dispositivo (e quindi al codice a barre associato) che si vuole utilizzare. Il modulo di Service Discovery cos&amp;#xEC; progettato si avvale plugins ognuno dei quali implementa il riconoscimento di un tipo di tag. Ci&amp;#xF2; vuol dire che i plugin, essendo a loro volta moduli, possono essere mutualmente installati.
  8. Vediamo in dettaglio come funziona: 1)Ad Ogni dispositivo &amp;#xE8; associato un nome e vengono codificati uno o pi&amp;#xF9; tag, la scelta di assegnare pi&amp;#xF9; tag ad ogni dispositivo &amp;#xE8; giustificata per il motivo che essendo ogni nodo di UbiCollab eseguito su hardware generico &amp;#xE8; possibile che non tutti i palmari abbiano a disposizione un lettore RFID o una fotocamera, quindi viene assegnato anche un codice numerico visto che si presuppone che, alla peggio, tutti questi dispositivi abbiano in comune una modalit&amp;#xE0; di input numerico (tastiera a touch). Allo stesso tempo alcune tipologie di tag possono essere pi&amp;#xF9; efficaci di altri in determinati scenari. 2) Questi tag sono resi noti all&amp;#x2019;utente tramite un &amp;#x201C;Service Advertisement&amp;#x201D; che pu&amp;#xF2; essere riportato un&amp;#x2019;etichetta o direttamente sul dispositivo stesso se questo ha uno schermo. (come nel caso di questo display condiviso) 3) Dopo che l&amp;#x2019;utente tramite l&amp;#x2019;UbiNode, ha letto uno a scelta tra i tag, questo scarica e installa, da un repository remoto, un modulo (un driver) per poter accedere alla risorsa, infine mostra all&amp;#x2019;utente un&amp;#x2019;interfaccia per poter pilotare la risorsa. Conseguentemente l&amp;#x2019;utente diviene l&amp;#x2019;amministratore di un servizio a cui altri moduli possono accedere, taggando la risorsa con il nome dello spazio in cui &amp;#xE8; stata trovata (Space Manager) o pubblicandola ad altri utenti.
  9. Vediamo in dettaglio come funziona: 1)Ad Ogni dispositivo &amp;#xE8; associato un nome e vengono codificati uno o pi&amp;#xF9; tag, la scelta di assegnare pi&amp;#xF9; tag ad ogni dispositivo &amp;#xE8; giustificata per il motivo che essendo ogni nodo di UbiCollab eseguito su hardware generico &amp;#xE8; possibile che non tutti i palmari abbiano a disposizione un lettore RFID o una fotocamera, quindi viene assegnato anche un codice numerico visto che si presuppone che, alla peggio, tutti questi dispositivi abbiano in comune una modalit&amp;#xE0; di input numerico (tastiera a touch). Allo stesso tempo alcune tipologie di tag possono essere pi&amp;#xF9; efficaci di altri in determinati scenari. 2) Questi tag sono resi noti all&amp;#x2019;utente tramite un &amp;#x201C;Service Advertisement&amp;#x201D; che pu&amp;#xF2; essere riportato un&amp;#x2019;etichetta o direttamente sul dispositivo stesso se questo ha uno schermo. (come nel caso di questo display condiviso) 3) Dopo che l&amp;#x2019;utente tramite l&amp;#x2019;UbiNode, ha letto uno a scelta tra i tag, questo scarica e installa, da un repository remoto, un modulo (un driver) per poter accedere alla risorsa, infine mostra all&amp;#x2019;utente un&amp;#x2019;interfaccia per poter pilotare la risorsa. Conseguentemente l&amp;#x2019;utente diviene l&amp;#x2019;amministratore di un servizio a cui altri moduli possono accedere, taggando la risorsa con il nome dello spazio in cui &amp;#xE8; stata trovata (Space Manager) o pubblicandola ad altri utenti.
  10. Vediamo in dettaglio come funziona: 1)Ad Ogni dispositivo &amp;#xE8; associato un nome e vengono codificati uno o pi&amp;#xF9; tag, la scelta di assegnare pi&amp;#xF9; tag ad ogni dispositivo &amp;#xE8; giustificata per il motivo che essendo ogni nodo di UbiCollab eseguito su hardware generico &amp;#xE8; possibile che non tutti i palmari abbiano a disposizione un lettore RFID o una fotocamera, quindi viene assegnato anche un codice numerico visto che si presuppone che, alla peggio, tutti questi dispositivi abbiano in comune una modalit&amp;#xE0; di input numerico (tastiera a touch). Allo stesso tempo alcune tipologie di tag possono essere pi&amp;#xF9; efficaci di altri in determinati scenari. 2) Questi tag sono resi noti all&amp;#x2019;utente tramite un &amp;#x201C;Service Advertisement&amp;#x201D; che pu&amp;#xF2; essere riportato un&amp;#x2019;etichetta o direttamente sul dispositivo stesso se questo ha uno schermo. (come nel caso di questo display condiviso) 3) Dopo che l&amp;#x2019;utente tramite l&amp;#x2019;UbiNode, ha letto uno a scelta tra i tag, questo scarica e installa, da un repository remoto, un modulo (un driver) per poter accedere alla risorsa, infine mostra all&amp;#x2019;utente un&amp;#x2019;interfaccia per poter pilotare la risorsa. Conseguentemente l&amp;#x2019;utente diviene l&amp;#x2019;amministratore di un servizio a cui altri moduli possono accedere, taggando la risorsa con il nome dello spazio in cui &amp;#xE8; stata trovata (Space Manager) o pubblicandola ad altri utenti.
  11. Vediamo in dettaglio come funziona: 1)Ad Ogni dispositivo &amp;#xE8; associato un nome e vengono codificati uno o pi&amp;#xF9; tag, la scelta di assegnare pi&amp;#xF9; tag ad ogni dispositivo &amp;#xE8; giustificata per il motivo che essendo ogni nodo di UbiCollab eseguito su hardware generico &amp;#xE8; possibile che non tutti i palmari abbiano a disposizione un lettore RFID o una fotocamera, quindi viene assegnato anche un codice numerico visto che si presuppone che, alla peggio, tutti questi dispositivi abbiano in comune una modalit&amp;#xE0; di input numerico (tastiera a touch). Allo stesso tempo alcune tipologie di tag possono essere pi&amp;#xF9; efficaci di altri in determinati scenari. 2) Questi tag sono resi noti all&amp;#x2019;utente tramite un &amp;#x201C;Service Advertisement&amp;#x201D; che pu&amp;#xF2; essere riportato un&amp;#x2019;etichetta o direttamente sul dispositivo stesso se questo ha uno schermo. (come nel caso di questo display condiviso) 3) Dopo che l&amp;#x2019;utente tramite l&amp;#x2019;UbiNode, ha letto uno a scelta tra i tag, questo scarica e installa, da un repository remoto, un modulo (un driver) per poter accedere alla risorsa, infine mostra all&amp;#x2019;utente un&amp;#x2019;interfaccia per poter pilotare la risorsa. Conseguentemente l&amp;#x2019;utente diviene l&amp;#x2019;amministratore di un servizio a cui altri moduli possono accedere, taggando la risorsa con il nome dello spazio in cui &amp;#xE8; stata trovata (Space Manager) o pubblicandola ad altri utenti.
  12. Vediamo in dettaglio come funziona: 1)Ad Ogni dispositivo &amp;#xE8; associato un nome e vengono codificati uno o pi&amp;#xF9; tag, la scelta di assegnare pi&amp;#xF9; tag ad ogni dispositivo &amp;#xE8; giustificata per il motivo che essendo ogni nodo di UbiCollab eseguito su hardware generico &amp;#xE8; possibile che non tutti i palmari abbiano a disposizione un lettore RFID o una fotocamera, quindi viene assegnato anche un codice numerico visto che si presuppone che, alla peggio, tutti questi dispositivi abbiano in comune una modalit&amp;#xE0; di input numerico (tastiera a touch). Allo stesso tempo alcune tipologie di tag possono essere pi&amp;#xF9; efficaci di altri in determinati scenari. 2) Questi tag sono resi noti all&amp;#x2019;utente tramite un &amp;#x201C;Service Advertisement&amp;#x201D; che pu&amp;#xF2; essere riportato un&amp;#x2019;etichetta o direttamente sul dispositivo stesso se questo ha uno schermo. (come nel caso di questo display condiviso) 3) Dopo che l&amp;#x2019;utente tramite l&amp;#x2019;UbiNode, ha letto uno a scelta tra i tag, questo scarica e installa, da un repository remoto, un modulo (un driver) per poter accedere alla risorsa, infine mostra all&amp;#x2019;utente un&amp;#x2019;interfaccia per poter pilotare la risorsa. Conseguentemente l&amp;#x2019;utente diviene l&amp;#x2019;amministratore di un servizio a cui altri moduli possono accedere, taggando la risorsa con il nome dello spazio in cui &amp;#xE8; stata trovata (Space Manager) o pubblicandola ad altri utenti.
  13. Vediamo in dettaglio come funziona: 1)Ad Ogni dispositivo &amp;#xE8; associato un nome e vengono codificati uno o pi&amp;#xF9; tag, la scelta di assegnare pi&amp;#xF9; tag ad ogni dispositivo &amp;#xE8; giustificata per il motivo che essendo ogni nodo di UbiCollab eseguito su hardware generico &amp;#xE8; possibile che non tutti i palmari abbiano a disposizione un lettore RFID o una fotocamera, quindi viene assegnato anche un codice numerico visto che si presuppone che, alla peggio, tutti questi dispositivi abbiano in comune una modalit&amp;#xE0; di input numerico (tastiera a touch). Allo stesso tempo alcune tipologie di tag possono essere pi&amp;#xF9; efficaci di altri in determinati scenari. 2) Questi tag sono resi noti all&amp;#x2019;utente tramite un &amp;#x201C;Service Advertisement&amp;#x201D; che pu&amp;#xF2; essere riportato un&amp;#x2019;etichetta o direttamente sul dispositivo stesso se questo ha uno schermo. (come nel caso di questo display condiviso) 3) Dopo che l&amp;#x2019;utente tramite l&amp;#x2019;UbiNode, ha letto uno a scelta tra i tag, questo scarica e installa, da un repository remoto, un modulo (un driver) per poter accedere alla risorsa, infine mostra all&amp;#x2019;utente un&amp;#x2019;interfaccia per poter pilotare la risorsa. Conseguentemente l&amp;#x2019;utente diviene l&amp;#x2019;amministratore di un servizio a cui altri moduli possono accedere, taggando la risorsa con il nome dello spazio in cui &amp;#xE8; stata trovata (Space Manager) o pubblicandola ad altri utenti.
  14. Per testare l&amp;#x2019;architettura ho sviluppato varie applicazioni. Una di queste permette di accendere e spegnere dispositivi connessi alla rete elettrica, comuni lampade in questo esempio. Utilizzo questa applicazione per mostrare tramite un breve filmato come avviene l&amp;#x2019;interazione tra l&amp;#x2019;UbiNode e l&amp;#x2019;utente:
  15. A livello tecnico l&amp;#x2019;azione di lettura di un tag da parte dell&amp;#x2019;utente comporta il download e l&amp;#x2019;installazione all&amp;#x2019;interno dell&amp;#x2019;UbiNode di un modulo chiamato proxy, il cui indirizzo all&amp;#x2019;interno del repository &amp;#xE8; codificato nel tag. Un proxy &amp;#xE8; quindi un&amp;#x2019;astrazione di una dispositivo esterno, che pu&amp;#xF2; essere creato da terze parti, all&amp;#x2019;interno dell&amp;#x2019;Ubinode Una volta attivato il proxy espone due interfacce, una verso il dispositivo remoto che implementa quindi il protocollo di comunicazione nativo della risorsa, WebService in questo esempio; e una verso gli altri moduli di UbiCollab permettendo cos&amp;#xEC; ad una applicazione di accedere e pilotare la risorsa remota.
  16. Un applicazione per UbiCollab &amp;#xE8; un modulo, che pu&amp;#xF2; essere creato tramite la SDK fornita agli sviluppatori, il quale espone una ho pi&amp;#xF9; interfacce utente (touch, voce, ad esempio) con le quali l&amp;#x2019;utente pu&amp;#xF2; interagire con altri dispositivi attraverso uno o pi&amp;#xF9; proxy. Essendo le applicazioni, moduli queste possono essere installate con la stessa procedura che abbiamo visto per i proxy.
  17. ASTRA &amp;#xE8; un progetto finanziato dall&amp;#x2019;Unione europea di cui il dipartimento in cui ho lavorato &amp;#xE8; patner, che, come UbiCollab, aiuta i suoi utenti a tenersi in contatto e a pianificare eventi creando un senso di awareness ovvero presenza tra le attivit&amp;#xE0; dei suoi utenti. A differenza di UbiCollab ASTRA &amp;#xE8; web-based e non dispone di un meccanismo propretario per interagire con dispositivi esterni. Mi &amp;#xE8; stato quindi chiesto dai miei supervisori di valutare la possibilit&amp;#xE0; di integrare i due progetti in modo da fornire agli utenti di ASTRA le modalit&amp;#xE0; di interazione con i dispositivi proprie di UbiCollab. E&amp;#x2019; stato possibile effettuare questa integrazione &amp;#xE8; ci&amp;#xF2; e stato anche una grossa prova di flessibilit&amp;#xE0; dell&amp;#x2019;architettura modulare di UbiCollab che ora permette quindi l&amp;#x2019;accesso alle risorse nella griglia anche da applicazioni create per ASTRA. Tecnicamente questa integrazione &amp;#xE8; stata effettuata implementando un modulo, AstraConnector, che fornisce delle notifiche PUSH ad ASTRA relativamente alle risorse che vengono installate negli UbiNode e allo stesso tempo permettendo l&amp;#x2019;accesso a queste risorse creando, tramite la Java Reflection, delle istanze in UbiCollab delle applicazioni eseguite in ASTRA. Questo modulo &amp;#xE8; attualmente in fase di revisione da parte della UE.
  18. Ci&amp;#xF2; avviene in modo trasparente per l&amp;#x2019;utente
  19. Per testare l&amp;#x2019;intero ciclo di utilizzo di un&amp;#x2019;applicazione, dall&amp;#x2019;installazione al normale utilizzo, ho sviluppato un&amp;#x2019;applicazione per assistenza medica remota. Abbiamo il prototipo di una maglietta, indossata dal paziente, che &amp;#xE8; in grado di rilevare tramite sensori la pressione sanguigna. Questa maglietta comunica con un applicazione eseguita sull&amp;#x2019;UbiNode mostrando il valore rilevato dai sensori. Nel caso che questo valore scenda sotto una determinata soglia l&amp;#x2019;ubinode &amp;#xE8; in grado di mandare un SMS contente i dati del paziente: nome, valore rilevato dal sensore, coordinate geografiche.
  20. Qui vediamo le tecnologie di terze parti che ho utilizzato in UbiCollab. -La modularizzazione &amp;#xE8; ottenuta grazie a OSGi che permette di gestire il ciclo di vita (istallazione,uso, disattivazione) di un modulo a runtime senza dover riavviare la JVM -La virtual machine utilizzata &amp;#xE8; la J9 di IBM che implementa le specifiche sun per java mobile -Le GUI sono state realizzate grazie alle runtime della Eclipse foundation -Axis &amp;#xE8; stato utilizzato come motore per i WebService -Il protocollo X10 &amp;#xE8; stato usato nell&amp;#x2019;esempio sulla domotica, permette di comunicare con dispositivi connessi alla rete elettrica tramite onde convogliate -Phidgets &amp;#xE8; l&amp;#x2019;azienda che ha prodotto i sensori e le librerie utilizzate per l&amp;#x2019;applicazione biomedica
  21. Conludendo presento gli sviluppi che il progetto avr&amp;#xE0; in futuro. In novembre abbiamo fatto diverse sessioni di user-testing, ovvero abbiamo chiamato persone di diversa et&amp;#xE0; e competenze facendogli provare il sistema senza fornire istruzioni e rilevando poi impressioni e suggerimenti dei tester tramite un questionario. Grazie ai dati raccolti sar&amp;#xE0; possibile migliorare l&amp;#x2019;usabilit&amp;#xE0; di UbiCollab. Attualmente non c&amp;#x2019;&amp;#xE8; una gestione della sicurezza e della concorrenza tra i vari nodi, quindi &amp;#xE8; indispensabile implementare moduli in questo senso. Android &amp;#xE8; una piattaforma che offre molte possibilit&amp;#xE0; di sviluppo e gira su un hardware che ben si adatterebbe a diventare un UbiNode, sar&amp;#xE0; valutato la possibilit&amp;#xE0; di fare il porting della piattaforma Infine ci aspettiamo di sviluppare o proxy per altre periferiche e nuovi Discovery Plugins. Ho terminato, grazie a tutti dell&amp;#x2019;attenzione.