porting of real time publish subscribe middleware to
play

Porting of Real-Time Publish-Subscribe Middleware to Android - PowerPoint PPT Presentation

M.Vajnar, M. Sojka, P. Pa Czech Technical University in Prague Porting of Real-Time Publish-Subscribe Middleware to Android RTLWS15, Lugano-Manno Distributed applications problems 2/23 Distributed applications problems 3/23


  1. M.Vajnar, M. Sojka, P. Píša Czech Technical University in Prague Porting of Real-Time Publish-Subscribe Middleware to Android RTLWS15, Lugano-Manno

  2. Distributed applications – problems 2/23

  3. Distributed applications – problems 3/23

  4. Distributed applications – problems Redundancy 4/23

  5. Distributed applications – problems Configuration 5/23

  6. Distributed applications – problems Scaling 6/23

  7. Outline  Data-Centric Publish Subscribe model  Real-Time Publish-Subscribe protocol  ORTE middleware  Android porting  Demo 7/23

  8. Data-Centric Publish-Subscribe application model 8/23

  9. Data-Centric Publish-Subscribe application model 9/23

  10. How to implement this? RTPS.  Real-Time Publish-Subscribe protocol  OMG standard – interoperability wire protocol  Transport independent part  Transport specific part (UDP => control of timing)  Implementation freedom – Simple implementation, high network bandwidth demand – Complex implementation, optimized network bandwidth.  Utilizes multicast communication (one to many communication)  Offers best-effort and reliable communication  CDR encoding (endianing)  Parts – Data exchange protocol – Discovery protocol 10/23

  11. ORTE – Open Real-Time Ethernet  Our open-source implementation of the RTPS protocol  One of the first few implementations that supported standardization  Uses custom API instead of the DDS API (another OMG standard)  C language, based on POSIX  IDL compiler to generate (de)serialization functions  Suported platforms – Linux, FreeBSD, Mac OS X, Solaris – Windows (MinGW, Cygwin, ReactOS) – RTEMS – BlackBerry – Android 11/23

  12. Minimal ORTE application O R T E I n i t ( ) ; O R T E I n i t ( ) ; d = O R T E D o m a i n A p p C r e a t e ( 0 , N U L L , N U L L , 0 ) ; d = O R T E D o m a i n A p p C r e a t e ( 0 , N U L L , N U L L , 0 ) ; O R T E T y p e R e g i s t e r A d d ( d , " H e l l o M s g " , N U L L , O R T E T y p e R e g i s t e r A d d ( d , " H e l l o M s g " , N U L L , N U L L , N U L L , 6 4 ) ; N U L L , N U L L , 6 4 ) ; s = O R T E S u b s c r i p t i o n C r e a t e ( p = O R T E P u b l i c a t i o n C r e a t e ( d , d , I M M E D I A T E , " E x a m p l e H e l l o M s g " , / / T o p i c B E S T _ E F F O R T S , " H e l l o M s g " , / / T y p e " E x a m p l e H e l l o M s g " , / / T o p i c / & i n s t a n c e 2 S e n d , / / D a t a b u f f e r " H e l l o M s g " , / / T y p e T I M E ( 3 , 0 ) , / / P e r s i s t a n c e & i n s t a n c e 2 R e c v , / / D a t a b u f f e r 1 , / / S t r e n g t h & d e a d l i n e , N U L L , / / C a l l b a c k & m i n i m u m S e p a r a t i o n , N U L L , / / P a r a m e t e r s r e c v C B , / / c a l l b a c k N U L L ) ; N U L L , . . . I P A D D R E S S _ I N V A L I D ) ; / / M u l t i c a s t i n s t a n c e 2 S e n d = 1 2 3 ; O R T E P u b l i c a t i o n S e n d ( p ) ; v o i d r e c v C B ( c o n s t O R T E R e c v I n f o * i n f o , v o i d * i n s t a n c e , v o i d * p a r a m ) { s w i t c h ( i n f o - > s t a t u s ) { c a s e N E W _ D A T A : p r i n t f ( " % s \ n " , i n s t a n c e ) ; b r e a k ; c a s e D E A D L I N E : p r i n t f ( " d e a d l i n e o c c u r r e d " ) ; b r e a k ; } } 12/23

  13. RTPS/ORTE internals 13/23

  14. RTPS/ORTE internals X X X ● Dynamic addition/removal of applications ● No single point of failure ● Fault tolerant applications 14/23

  15. ORTE Discovery Protocol 15/23

  16. Participant discovery 16/23

  17. Endpoint discovery 17/23

  18. Android  Android is a Linux-based operating system developed by Google  It runs on devices ranging from mobile phones and tablets to home media centers and digital cameras  Applications developed in Java or C/C++ using Google toolkits – Android Software Development Kit – Java – Android Native Development Kit – C/C++ 18/23

  19. Porting ORTE to Android  Overview: – Update Java Native Interface (JNI) wrapper and make it Android compatible – Fix bugs that have not demonstrated themselves under the Oracle's VM – Add support for Android build system – Make Java version of ORTE Manager application to overcome problems with execution and termination of native processes 19/23

  20. Performance comparison Time to publish 10k integer values ` Android 4.0.3 Oracle Java Android 4.3 ● Reliable publisher and subscriber ● Publish as fast as possible ● Baseline: C publisher, C subscriber 20/23

  21. Future development  Make the ORTE compliant with the latest RTPS standard – Data with key • New type of data objects, that allows to distribute a set of data instances under a single topic • The key is used to distinguish between instances – Discovery protocol • Manager is replaced with the Simple Participant Discovery Protocol and the Simple Endpoint Discovery Protocol integrated into an user application – Data fragmentation • Allow a fragmentation of big data instances and sent them as multiple messages.  Security 21/23

  22. Demo  Application for remote control of a robot  Monitors robot's state (battery voltage, speed vector, output of Laser Range Finder)  Controls robot's motion (direction and speed) 22/23

  23. Conclusion  ORTE can simplify both development and deployment of distributed applications  We have successfully ported the ORTE library to Android  http://orte.sourceforge.net/ Thank you! 23/23

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend