We think you have liked this presentation. If you wish to download it, please recommend it to your friends in any social system. Share buttons are a little bit lower. Thank you!
Presentation is loading. Please wait.
Published byElian Godby
Modified over 2 years ago
© V2COM - Hardware + Software. All rights reserved Building a Reliable Remote Communication Device with Java ME JavaOne San Francisco CON8004 Leonardo Lima – V2COM Tiago Padovani – V2COM
© V2COM - Hardware + Software. All rights reserved Introduction
© V2COM - Hardware + Software. All rights reserved About the presenter (Leonardo) Software Development Manager at V2COM, leading the development of both embedded software for edge/field devices and server-side software that receives field data and enables fast communication with remote devices. Eight years of development and architectural experience on mobile, embedded and server platforms to enable management and operation of highly scalable and fast telemetry and network control systems.
© V2COM - Hardware + Software. All rights reserved About the presenter (Tiago) Lead Software Developer for Embedded at V2COM, leading the development of embedded software for edge/field devices. Six years of development and architectural experience on embedded Java platforms, building reliable communication devices that stays on the field for years.
© V2COM - Hardware + Software. All rights reserved About the presentation Explore how to build reliable remote communication devices that must stay online, connected, and transmitting field data without interruptions. Using Java ME, a solid foundation was built that can be used to deploy many kinds of applications in the field, with fast, reliable development. In this session, see what the difficulties, ideas, and insights were that led to this foundation, which is currently in use in more than 50,000 devices in Brazil and Latin America to connect more than 800,000 field devices.
© V2COM - Hardware + Software. All rights reserved V2COM is a leading Latin American provider of Smart Grid technologies and Advanced Metering Infrastructure (AMI). Our offer includes hardware, software and services that can reduce losses and increase water and energy efficiency, currently connecting more than devices. Besides the economic gains for our customers, we develop technologies with significant impact on the environment (avoiding losses of important natural resources) and with social responsibility (our Smart Grid systems can be used to offer free internet access in challenging areas)
© V2COM - Hardware + Software. All rights reserved Awarded 2013 Java Business Innovation Award JCP member, nominated for EC election More interaction with community to foster Java ME development in this age of IoT!
© V2COM - Hardware + Software. All rights reserved V2COM clients Meter Reading Network Control
© V2COM - Hardware + Software. All rights reserved The scenario
© V2COM - Hardware + Software. All rights reserved IP Network Local Network Legacy Systems Intelligenceware Suite WANTerminal LAN Devices Wireless Network
© V2COM - Hardware + Software. All rights reserved Use cases Automated Meter Reading (AMR) Read dumb meters and send data over to Utility Both energy and water meters Can be any meter, really! Like our Zigbier refrigerators temperature sensor, with alarms for too cold or hot! Network control Remotely connect SCADA systems to field devices like reclosures transparent pipe between SCADA and Device DNP3/IEC104 protocols and proprietary as well
© V2COM - Hardware + Software. All rights reserved Use cases
© V2COM - Hardware + Software. All rights reserved The techonology used Gateway: Oracle Java Micro Edition 1 (Java profile IMP-NG version 2 & CLDC 1.1 Hl), embedded in a Gemalto TC65i module. Started with Siemens TC45, 6 years ago! Intelligenceware Suite: Oracle Java Enterprise Edition 5 Oracle Java Standard Edition 6 Oracle Utilities Meter Data Management 2.0
© V2COM - Hardware + Software. All rights reserved Living an embedded life
© V2COM - Hardware + Software. All rights reserved The 3 commandments If the device has a power from source, it must be on Our first commandment is to keep the device always on. If it can be on, it must be on, no matter what. The firmware must be remotely upgradable One of few certainties in software developments is that bugs always happen! So, we must be able to OTAP (over-the-air provision) the device If its on, it must be online and connected (or trying to be...) It doesnt suffice to be on. It must be also be avaiable so that communication can happen
© V2COM - Hardware + Software. All rights reserved Hardware choices WatchDog One of the few always-must-have circuit for any device is a watchdog to turn it on in case it turns off or theres a lock-up Dual Sim Card GPRS infrastructure is not very reliable, so it should be able to have option in case of carrier failure Dual Serial Many field devices have two serial ports, so being able to connect to both at the same time is very important Java ME Being able to run Java ME allows many advantages over C
© V2COM - Hardware + Software. All rights reserved Software choices - Separation of concerns Hardcore Abstracts board specifics details (like GPIO) Zion Handles common infrastructure (backend connection, message queues, locks and so on) Abstracts Modem commands, so theres one for each avaiable module (Cinterion/Gemalto; Motorola; Telit) App Holds application logic - As tailored as clients need it to be Ranges from a simple Transparent (TN) to Automated Meter Reading (AMR)
© V2COM - Hardware + Software. All rights reserved Hardcore Handles board specifics Modem/AT Connection SMS/GPRS logic GPIO Watchdog
© V2COM - Hardware + Software. All rights reserved Zion Defines command shell Handle TCP communications Kitchen sink utils (math, string, locks, queue) Event Bus Extendable to handle fatter functionalities CSD SNMP monitoring
© V2COM - Hardware + Software. All rights reserved Application Handles only business logic and protocol Fast changes to acommodate business logic After the first few cicles, it stabilizes
© V2COM - Hardware + Software. All rights reserved Package Diagram mobi.v2com.zion... Application Control Hardcore Communication Event Protocol Tools Utilities... and application specifics as well
© V2COM - Hardware + Software. All rights reserved Challenges Problems faced, solutions provided!
© V2COM - Hardware + Software. All rights reserved How to keep the device on? Problem: Module can throw Exceptions (EXIT CODEs) that shuts down the application Solution: Hardware Watchdog! Dedicated QG8 to handle only this (power on/off) 10 minutes timeout: either the firmware swings the GPIO, or it gets powered off then on Many other software watchdogs... Many other conditions can mean a lock up
© V2COM - Hardware + Software. All rights reserved How to keep the device online? Problem: GPRS connections can be unstable, specially when needed most: thunderstorms and harsh weather condition Solution: Dual-SIM cards, so if a network fails, there can be another Many soft watchdogs to retry attachments Turn on/off modem, like our phones Attach/Deattach
© V2COM - Hardware + Software. All rights reserved How to get behind public APN firewall? Problem: Cant use a server socket while communicating on public networks! Solutions: Device polls server, asking for new commands This doesnt work for always-on connection needs Expensive on resources Software Switch (server side)! Meet-in-the-middle approach
© V2COM - Hardware + Software. All rights reserved How to keep the TCP connection up? Problem: You dont know the connection is broken until you have a blocking read() or write() TCP keep-alive is not enough No module support for this... Solution: Keep-Alive packets Application-level bytes sent to make sure connection is not off
© V2COM - Hardware + Software. All rights reserved How to keep the firmware updated? Problem: There are MANY devices deployed, each with a software version No one wants to mass-deploy... Not all updates are required for all devices Solution: Axon has control of each version Updates are dispatched as needed and/or cleared by client
© V2COM - Hardware + Software. All rights reserved How to debug in-device? Problem: No simple logging framework to write log to Log redirection works for serial port only, not remote connections Solution: Built a simple logging framework that handles debug level, message, threads
© V2COM - Hardware + Software. All rights reserved How to debug off-device? Problem: How can we run/test outside the framework? Many classes you depend on are hardware specific (Files, Connections) Solution: Built a simple java abstraction layer that implements javax.microedition classes (and proprietary ones too) that runs on Java SE on the desktop.
© V2COM - Hardware + Software. All rights reserved How to keep historical, debugging info? Problem: No long-term storage on devices to keep logs Flash memory can hold at most 30 minutes of logs The logs you need are the ones when device is unreachable, but alas, you cant download it. Solution: Have a black box flight recorder Small, coded files that can hold critical information for weeks
© V2COM - Hardware + Software. All rights reserved How to synchronize access to resources? Problem: Access to system resources must be synchronized Serial device, system files synchronized can lead to unknown lock ups Some race conditions hard to track ando also some bugs... Solution: Custom implementation of Java SEs Lock ReentrantLock inspired Added few methods for convenience tryLock, so that you lock if you can, but dont fail if you cant fastLock, for locks that should last than 2 secods
© V2COM - Hardware + Software. All rights reserved How to default parameters? Problem: Same firmware for different clients with different needs, lots of parameters Parameters for APN, Serial, Timings and such Flash memory can get corrupt and you lose your parameter files! Solution: Use JAD parameters JAD can be custom tailored to each client Can provide good defaults
© V2COM - Hardware + Software. All rights reserved Pending challenges because you cant win them all...
© V2COM - Hardware + Software. All rights reserved Many pain points are still there Make smaller binary fragments? And small updates over the air. Run multiple applications at the same time? More permanent and/or remote logging Security issues Better management of keys Anti-tampering measures
© V2COM - Hardware + Software. All rights reserved Incoming changes Java ME (r)evolution
© V2COM - Hardware + Software. All rights reserved Java ME 8 has much new features! Java ME 8 seems to have addressed some, if not most, this problems and abstractions Device I/O Access Point NIO... And many others! Some still need works No concurrency support might mean no locks... Well work with JSRs to try and address the rest of them V2COM is joining the JCP EC to help foster Java ME evolution
© V2COM - Hardware + Software. All rights reserved Q?
© V2COM - Hardware + Software. All rights reserved Thanks!
WEB AND WIRELESS AUTOMATION connecting people and processes InduSoft Web Solution Welcome.
Welcome to the Radionet Monitoring Secure-Com Presentation.
Final Presentation Smart-Home Smart-Switch using Arduino Students: Edan Shunem, Itzik Cohen Supervisor: Mony Orbach Semester: Winter, 2016 Date: 09/03/2016.
What we do Larotecs Web2M is an off-the shelf, end-to-end, web-based solution designed to manage multiple widely distributed devices.
Computer Networking From LANs to WANs: Hardware, Software, and Security Chapter 13 FTP and Telnet.
By Mihir Joshi Nikhil Dixit Limaye Pallavi Bhide Payal Godse.
Presented by Serge Kpan LTEC Network Systems Administration 1.
C3 confidentiality classificationIntegrated M2M Terminals Introduction Vodafone MachineLink 3G v1.0 1 Vodafone MachineLink 3G Logging Architecture Feature.
© 2009 Research In Motion Limited Advanced Java Application Development for the BlackBerry Smartphone Trainer name Date.
Model: DS-600 5x 10/100/1000Mbps Ethernet Port Centralized WLAN management and Access Point Discovery Manages up to 50 APs with access setting control.
A Java Architecture for the Internet of Things Noel Poore, Architect Pete St. Pierre, Product Manager Java Platform Group, Internet of Things September.
SM3121 Software Technology Mark Green School of Creative Media.
NATs and UDP Victor Norman CS322 Spring NAPT Suppose we have a router doing NAT: half is the “public side”, IP address ; other half is.
REMOTE SITE MANAGEMENT SOLUTION. AGENDA 2 About KoçSistem Current Situation in Base Stations Remote Site Management System: Sitelink Sitelink.
Network Security1 – Chapter 3 – Device Security (B) Security of major devices: How to protect the device against attacks aimed at compromising the device.
What Is HiVision? HiVision is an SNMP or Simple Network Management Protocol software offered by Hirschmann Electronics to help facilitate Management,
Computer communications The exchange of information between computers for the purpose of cooperative action Computer network Two or more computers interconnected.
©2010 Check Point Software Technologies Ltd. | [Unrestricted] For everyone Endpoint Security Current portfolio and looking forward October 2010.
DAKNET Presented By: Presented By: rreema rreema.
FAQs and Overview on SCADA, Telemetry and Telecontrol using TETRA-Infrastructure Funk-Electronic Piciorgros GmbH Michael D. Piciorgros (CEO)
OPC Alarm.NET. OPC Systems.NET What is OPC Systems.NET? OPC Systems.NET is a suite of.NET and HTML5 products for SCADA, HMI, Data Historian, and live.
1 ARC reporting ARCCerny Verze INTERNET ARC events reporting Control panel 3. PSTN Telephone network - CID 1. GSM network – GPRS IP CID.
Monitoring Dynamic IOC Installations Using the alive Record Dohn Arms Beamline Controls & Data Acquisition Group Advanced Photon Source.
© 2015 MetricStream, Inc. All Rights Reserved. AWS server provisioning © 2015 MetricStream, Inc. All Rights Reserved. By, Srikanth K & Rohit.
SIMCOM MODULE FEATURES WangYong Feb 25, Agenda Roadmap SIM300 features Other modules features Discussion.
SMS Gateway OZEKI NG Document version: v Adding SMS functionality to SysAid.
Hands-On Microsoft Windows Server 2008 Chapter 1 Introduction to Windows Server 2008.
3/12/2013Computer Engg, IIT(BHU)1 CLOUD COMPUTING-1.
FireProof. The Challenge Firewall - the challenge Network security devices Critical gateway to your network Constant service The Challenge.
1 Kyung Hee University Chapter 11 User Datagram Protocol.
OZEKI NG - SMS Gateway Take advantage of the SMS technology in your organization today!
OS Services And Networking Support Juan Wang Qi Pan Department of Computer Science Southeastern University August 1999.
Amazon Web Services. Amazon Web Services (AWS) - robust, scalable and affordable infrastructure for cloud computing. This session is about:
Internet of Things Security Architecture Noel Poore Architect Java Platform Group September 29, 2014 Copyright © 2014, Oracle and/or its affiliates. All.
© 2009 GroundWork Open Source, Inc. PROPRIETARY INFORMATION: Information contained herein is not for use or disclosure outside of GroundWork Open Source,
Firewall and Proxy Server Director: Dr. Mort Anvari Name: Anan Chen Date: Summer 2000.
Understanding and Managing WebSphere V5 Tony Higham FatWire Software.
Integrating Opengear console servers into Zenoss monitoring.
Page ADP Technology Training. 2 Page2 Confidential Copyright © 2007 Pearson Education, Inc. and/or one or more of its direct or indirect affiliates. All.
NetworkProtocols. Objectives Identify characteristics of TCP/IP, IPX/SPX, NetBIOS, and AppleTalk Understand position of network protocols in OSI Model.
Information Systems in Organizations 5.2 Cloud Computing.
© 2009 Avaya Inc. All rights reserved. IP Office control units and IP Office Expansion Modules.
Firewalls Fred P. Baker CCIE, CCIP(security), CCSA, MCSE+I, MCSE(2000)
IBM SMB Software Group ® ibm.com/software/smb Maintain Hardware Platform Health An IT Services Management Infrastructure Solution.
1 Semester 2 Module 4 Learning about Other Devices Yuda college of business James Chen
Layer 2 and Switching. How Computers Communicate In a two node flat network data can be sent without addressing.
11111 Apollo Internet Monitoring Tutorial Apollo Solar, Inc. 23 F. J. Clarke Circle Bethel, CT (203)
Network Components By Kagan Strayer. Network Components This presentation will cover various network components and their functions. The components that.
SMS Gateway OZEKI NG Document version: v Adding SMS functionality to WhatsUp Gold.
© 2017 SlidePlayer.com Inc. All rights reserved.