This document discusses Eclipse Paho and MQTT Java messaging for Internet of Things applications. It provides an overview of MQTT including its design principles, concepts, qualities of service. It describes the MQTT protocol and how it compares to HTTP. It also discusses the Eclipse and Java landscape for MQTT including the Paho client library and examples of connecting, subscribing, and publishing with Paho in Java.
The U-Boot is an "Universal Bootloader" ("Das U-Boot") is a monitor program that is under GPL. This production quality boot-loader is used as default boot loader by several board vendors. It is easily portable and easy to port and to debug by supporting PPC, ARM, MIPS, x86,m68k, NIOS, Microblaze architectures. Here is a presentation that introduces U-Boot.
BitTorrent is a peer-to-peer file sharing protocol used to distribute large amounts of data. A user can obtain multiple files simultaneously without any considerable loss of the transfer rate .
As more businesses explore the benefits of cloud computing, network managers will have to increasingly meet the challenges of redesigning their networks for the cloud. This talk will introduce the basic concepts of Open vSwitch & Openflow and show how these technologies can help satisfy these needs. We will also explain how Open vSwitch fits into XCP and XenServer and routing of dataflows.
First part of talk discussing the networking challenges that cloud implementers face.
- Networking challeges
- Data isolation
Introducing Open vSwitch
- What it is, and its features
- Why it is important in a virtualized environment
Openflow
- Basics of Openflow
- How flows are routed in XenServer & XCP
The U-Boot is an "Universal Bootloader" ("Das U-Boot") is a monitor program that is under GPL. This production quality boot-loader is used as default boot loader by several board vendors. It is easily portable and easy to port and to debug by supporting PPC, ARM, MIPS, x86,m68k, NIOS, Microblaze architectures. Here is a presentation that introduces U-Boot.
BitTorrent is a peer-to-peer file sharing protocol used to distribute large amounts of data. A user can obtain multiple files simultaneously without any considerable loss of the transfer rate .
As more businesses explore the benefits of cloud computing, network managers will have to increasingly meet the challenges of redesigning their networks for the cloud. This talk will introduce the basic concepts of Open vSwitch & Openflow and show how these technologies can help satisfy these needs. We will also explain how Open vSwitch fits into XCP and XenServer and routing of dataflows.
First part of talk discussing the networking challenges that cloud implementers face.
- Networking challeges
- Data isolation
Introducing Open vSwitch
- What it is, and its features
- Why it is important in a virtualized environment
Openflow
- Basics of Openflow
- How flows are routed in XenServer & XCP
The Open vSwitch kernel datapath may have flows offloaded to hardware using the TC Flower classifier and related actions. This is a powerful mechanism to both increase throughput and reduce CPU utilisation. This presentation will give an overview of the evolution of this offload mechanism: features available in OvS v2.8, those targeted at v2.9 and possible future directions.
Overview of the architecture of the Linux kernel, based on "Anatomy of the Linux Kernel" by M. Tim Jones (IBM Developerworks), http://www.ibm.com/developerworks/linux/library/l-linux-kernel/
MQTT - A practical protocol for the Internet of ThingsBryan Boyd
In today’s mobile world, the volume of connected devices and data is growing at a rapid pace. As more and more “things” become part of the Internet (refrigerators, pacemakers, cows?), the importance of scalable, reliable and efficient messaging becomes paramount. In this talk we will dive into MQTT: a lightweight, open standard publish/subscribe protocol for rapid messaging between “things”.
MQTT is simple to understand, yet robust enough to support interactions between millions of devices and users. MQTT is being used in connected car applications, mobile banking, Facebook Messenger, and many things in between. In this talk you will learn all about the protocol (in 10 minutes!) and see some of its applications: live-tracking, gaming, and more. We’ll walk through designing an MQTT-based API for a ride-share mobile application, and discuss how MQTT and REST APIs can complement each other.
Have a quick overview of most of the embedded linux components and their details. How ti build Embedded Linux Hardware & Software, and developing Embedded Products
Tester la sécurité de votre annuaire Active Directory : top 10 des menaces et...Microsoft Décideurs IT
Session Metsys : Le développement exponentiel des solutions cloud ainsi que les révélations de Snowden sur les pratiques de la NSA positionnent la sécurité au cœur des préoccupations des entreprises. Maitriser et sécuriser son Active Directory d’entreprise devient un enjeu stratégique : - Les projets cloud nécessitent une infrastructure basée sur Active Directory pour accéder aux services hébergés en ligne. - La sécurité des infrastructures informatiques passe par le renforcement l'Active Directory. Lors de cette session, nous vous proposons de découvrir : 1. Comment disposer d'une architecture d’annuaire sécurisée et compatible avec les projets d’externalisation : - La définition d’une architecture Active Directory sécurisée (forêt / domaines) qui répond aux besoins de l’entreprise - La configuration des protocoles d’authentification Active Directory et des privilèges systèmes Windows (Debug memory…). - Les stratégies de mots de passe Active Directory. - La gestion des accès à l’annuaire Active Directory pour les personnes extérieures à l’entreprise - La mise en œuvre d’outils de synchronisation d’annuaire. - La mise en œuvre d’outils de fédération d’identité. - L’utilisation de scripts PowerShell pour auditer les changements sur l’annuaire Active Directory. - La mise en œuvre d’un plan de reprise d’activité pour répondre aux risques de compromission de la sécurité de votre annuaire. 2. Comment sécuriser les contrôleurs de domaine Active Directory ? - Les solutions pour protéger les contrôleurs de domaine et pour sauvegarder l’Active Directory contre le vol et les accès non autorisés. - Les solutions pour standardiser le déploiement des contrôleurs de domaine. - Les solutions pour déployer les correctifs de sécurité sur les contrôleurs de domaine. - La configuration système des contrôleurs de domaine (pare feu / UAC, bureau à distance, accès Internet…). 3. Tester la sécurité de votre annuaire : top 10 des attaques Active Directory et les contre-mesures à appliquer : - Evaluer le niveau de sécurité de l'Active Directory. - Attaques DOS et Active Directory et contre-mesures. - Attaques par élévation de privilège (Pass the Hash, Pass The Ticket) et contre-mesures. - Usurpation d’identité (désactivation du LMHASH…) et contre-mesures. - Vols de contrôleur de domaine et contre-mesures.
Agenda:
Have you ever wondered how the kernel knows what hardware your computer has installed? Have you heard about DMI but not sure how is it different than DTB?
In this talk I will introduce you to this the hardware probing process and discuss different methods for probing and the pros and cons of each.
Speaker:
Kfir Gollan, senior embedded developer, Linux kernel hacker and software team leader.
End-to-end IoT solutions with Java and Eclipse IoTBenjamin Cabé
The IoT market is poised to an exponential growth, but there are still lots of barriers that prevent building a real, open, Internet of Things. Over the last years, Eclipse has been growing an ecosystem of open-source projects for IoT, that are used in real-world solutions, from smart gateways bridging sensors to the cloud, to device management infrastructures or home automation systems.
Java is a key-enabler for IoT, and this presentation provides you with concrete examples on how to build end-to-end solutions with the Eclipse IoT Java stack and projects like Paho, Kura, SmartHome, Californium, OM2M, Eclipse SCADA, Concierge ... This session will give you the keys to build a scalable IoT solution on top of open-source technology and open standards.
The Open vSwitch kernel datapath may have flows offloaded to hardware using the TC Flower classifier and related actions. This is a powerful mechanism to both increase throughput and reduce CPU utilisation. This presentation will give an overview of the evolution of this offload mechanism: features available in OvS v2.8, those targeted at v2.9 and possible future directions.
Overview of the architecture of the Linux kernel, based on "Anatomy of the Linux Kernel" by M. Tim Jones (IBM Developerworks), http://www.ibm.com/developerworks/linux/library/l-linux-kernel/
MQTT - A practical protocol for the Internet of ThingsBryan Boyd
In today’s mobile world, the volume of connected devices and data is growing at a rapid pace. As more and more “things” become part of the Internet (refrigerators, pacemakers, cows?), the importance of scalable, reliable and efficient messaging becomes paramount. In this talk we will dive into MQTT: a lightweight, open standard publish/subscribe protocol for rapid messaging between “things”.
MQTT is simple to understand, yet robust enough to support interactions between millions of devices and users. MQTT is being used in connected car applications, mobile banking, Facebook Messenger, and many things in between. In this talk you will learn all about the protocol (in 10 minutes!) and see some of its applications: live-tracking, gaming, and more. We’ll walk through designing an MQTT-based API for a ride-share mobile application, and discuss how MQTT and REST APIs can complement each other.
Have a quick overview of most of the embedded linux components and their details. How ti build Embedded Linux Hardware & Software, and developing Embedded Products
Tester la sécurité de votre annuaire Active Directory : top 10 des menaces et...Microsoft Décideurs IT
Session Metsys : Le développement exponentiel des solutions cloud ainsi que les révélations de Snowden sur les pratiques de la NSA positionnent la sécurité au cœur des préoccupations des entreprises. Maitriser et sécuriser son Active Directory d’entreprise devient un enjeu stratégique : - Les projets cloud nécessitent une infrastructure basée sur Active Directory pour accéder aux services hébergés en ligne. - La sécurité des infrastructures informatiques passe par le renforcement l'Active Directory. Lors de cette session, nous vous proposons de découvrir : 1. Comment disposer d'une architecture d’annuaire sécurisée et compatible avec les projets d’externalisation : - La définition d’une architecture Active Directory sécurisée (forêt / domaines) qui répond aux besoins de l’entreprise - La configuration des protocoles d’authentification Active Directory et des privilèges systèmes Windows (Debug memory…). - Les stratégies de mots de passe Active Directory. - La gestion des accès à l’annuaire Active Directory pour les personnes extérieures à l’entreprise - La mise en œuvre d’outils de synchronisation d’annuaire. - La mise en œuvre d’outils de fédération d’identité. - L’utilisation de scripts PowerShell pour auditer les changements sur l’annuaire Active Directory. - La mise en œuvre d’un plan de reprise d’activité pour répondre aux risques de compromission de la sécurité de votre annuaire. 2. Comment sécuriser les contrôleurs de domaine Active Directory ? - Les solutions pour protéger les contrôleurs de domaine et pour sauvegarder l’Active Directory contre le vol et les accès non autorisés. - Les solutions pour standardiser le déploiement des contrôleurs de domaine. - Les solutions pour déployer les correctifs de sécurité sur les contrôleurs de domaine. - La configuration système des contrôleurs de domaine (pare feu / UAC, bureau à distance, accès Internet…). 3. Tester la sécurité de votre annuaire : top 10 des attaques Active Directory et les contre-mesures à appliquer : - Evaluer le niveau de sécurité de l'Active Directory. - Attaques DOS et Active Directory et contre-mesures. - Attaques par élévation de privilège (Pass the Hash, Pass The Ticket) et contre-mesures. - Usurpation d’identité (désactivation du LMHASH…) et contre-mesures. - Vols de contrôleur de domaine et contre-mesures.
Agenda:
Have you ever wondered how the kernel knows what hardware your computer has installed? Have you heard about DMI but not sure how is it different than DTB?
In this talk I will introduce you to this the hardware probing process and discuss different methods for probing and the pros and cons of each.
Speaker:
Kfir Gollan, senior embedded developer, Linux kernel hacker and software team leader.
End-to-end IoT solutions with Java and Eclipse IoTBenjamin Cabé
The IoT market is poised to an exponential growth, but there are still lots of barriers that prevent building a real, open, Internet of Things. Over the last years, Eclipse has been growing an ecosystem of open-source projects for IoT, that are used in real-world solutions, from smart gateways bridging sensors to the cloud, to device management infrastructures or home automation systems.
Java is a key-enabler for IoT, and this presentation provides you with concrete examples on how to build end-to-end solutions with the Eclipse IoT Java stack and projects like Paho, Kura, SmartHome, Californium, OM2M, Eclipse SCADA, Concierge ... This session will give you the keys to build a scalable IoT solution on top of open-source technology and open standards.
MQTT: Message Broker para internet de las cosasSoftware Guru
En esta sesión veremos como implementar un protocolo de mensajería para soluciones de tipo "Internet de las cosas" utilizando Mosquitto (un message broker que implementa el protocolo de conectividad MQTT diseñado para escenarios IoT) y Paho un cliente hecho en C y Java. Y lo mejor, todo es Open Source.
Mosquito: http://mosquitto.org/
Paho: http://www.eclipse.org/paho
BKK16-409 VOSY Switch Port to ARMv8 Platforms and ODP IntegrationLinaro
Virtual Open Systems has developed VOSYSwitch, a high-performance user space networking virtual switch solution enabling NFV, based on the open source packet processing framework SnabbSwitch. In this talk, the experience of porting VOSYSwitch from x86 to ARMv8 will be shared, along with the integration of ODP as a driver layer for the available hardware resources. In addition to this presentation, a live demonstration will showcase chained VNFs connected through VOSYSwitch, where an OpenFastPath web server is implemented behind an ODP enabled packet filtering firewall. The targeted platforms are Freescale (NXP) LS2085A and Cavium's ThunderX.
A presentation I made for the "Pervasive Systems" course of the "Master of Science in Engineering in Computer Science" at Sapienza Università di Roma (Sapienza University of Rome) A.Y. 2017/2018
A presentation on how applying Cloud Architecture Patterns using Docker Swarm as orchestrator is possible to create reliable, resilient and scalable FIWARE platforms.
Open source building blocks for the Internet of Things - Jfokus 2013Benjamin Cabé
The Eclipse M2M Industry Working Group (http://m2m.eclipse.org) is an open-source initiative delivering a set of building blocks for creating IoT solutions. This talk will walk you through the different projects and technologies this group is developing (from embedded application framework, to communication protocols, including development tools) and a live demo will show you how you can very quickly combine the components we provide with Open-Source Hardware platforms (Arduino & Raspberry Pi) to build a complete solution. Join us if you want to learn more about the Lua programming language, the MQTT protocol, and all the cool technologies that we use :)
Soft Introduction to Google's framework for taming containers in the cloud. For devs and architects that they just enter the world of cloud, microservices and containers
CSC 451551 Computer Networks Fall 2016Project 4 Softwar.docxannettsparrow
CSC 451/551: Computer Networks Fall 2016
Project 4: Software Defined Networks
1 Introduction
In this assignment you will learn how to use the OpenFlow protocol to program an SDN controller in
a Mininet emulated network using POX. The following sections will first introduce you to the tools
you will need to complete the assignment, guide you on how to install and use then, and lastly outline
what you will have to do.
2 Software Definined Networks (SDN)
A Software Defined Network (SDN) is a network with a centralized controller that dictates the flow
of network traffic. Unlike convention networks where each individual router or switch decided how to
forward packets, in an SDN a centralized controller tells each router or switch how to forward packets.
In this assignment you will have to write your own SDN controller.
3 OpenFlow
OpenFlow proposes a way for researchers to run experimental protocols in the networks they use every
day. It is based on an Ethernet switch, with an internal flow-table, and a standardized interface to add
and remove flow entries. OpenFlow exploits the fact that most modern Ethernet switches and routers
contain flow-tables (typically built from TCAMs) that run at line-rate to implement firewalls, NAT,
QoS, and to collect statistics. An OpenFlow Switch consists of at least three parts:
a. a flow table, which keeps an entry for every flow and tells each switch how to process the flow.
b. a secure channel that connects the switch to a remote control process, namely the controller that
adds and removes flow entries from the flow table for different experiments allowing commands
and packets to be sent between a controller and the switch by using
c. a protocol, which provides an open and standard way for a controller to communicate with a
switch.
In the context of OpenFlow, a flow can be a TCP connection, or all packets from a particular MAC
address or IP address, or all packets with the same VLAN tag, or all packets from the same switch
port. Every flow entry in the flow table has 3 basic actions associated with it:
a. Forward the flows packets to a given port or ports, which means packets are to be routed through
the network.
b. Encapsulate and forward the flows packets to a controller, which either processes them or decides
if the flow needs to be added as a new entry to the flow table (i.e. if the packet is the first in a
new flow).
c. Drop the flows packets, which can be used for security issues, to curb denial-of-service attacks
and so on.
Read the OpenFlow whitepaper [1] and familiarize yourselves with the basic OpenFlow elements, before
continuing.
1
CSC 451/551: Computer Networks Fall 2016
4 Mininet & POX
Mininet is a python-based network emulation tool that you will use in this assignment to emulate
your own networks. Mininet has built in commands to create network topologies as well as an python
API to create your own custom topologies. For this assignment you will not need to learn how to
use.
This presentation about Kubernetes, targeted for Java Developers was given for the first time (in French) at the Montreal Java User Group on May 2nd, 2018
Background slides from my #DevRelCon 2016 on tools, techniques and approaches used @TwitterDev in the past several years building out a series of developer communities. Contains Star Wars references.
Connecting to the Pulse of the Planet with the Twitter PlatformAndy Piper
How the Twitter Web, Data and Mobile platforms enable developers to connect to the real-time pulse of the planet.
Talk given at the PHP Hampshire meetup in Portsmouth, December 2014
Learn hints, tips and tricks from the Twitter Fabric development team, and the principles that guided their creation of this modular and powerful SDK.
Presentation delivered at DroidconNL, Amsterdam, Nov 2014
Thanks to Andrea Falcone and the Fabric team for content and materials. You can see a lightning version of this talk delivered at Twitter Flight here -> https://www.youtube.com/watch?v=3h7jQU1AOvw&index=2&list=PLFKjcMIU2WsjUiy7UcPiWNxktpin0WDgu
Combining Context with Signals in the IoT (longer version)Andy Piper
The Internet of Things is about signals; the amazing information shared on Twitter can provide context. Find out how projects use Twitter as a great place to connect their IoT data with the real world.
Presented at GOTO Amsterdam, June 2014
From Cloud Computing to Platform as a Service – BCS OxfordshireAndy Piper
A short history of cloud computing, and why Platform as a Service (PaaS) is an important aspect of this technology. Presented at bcs Oxfordshire, February 2014
The Internet of Things is Made of SignalsAndy Piper
People. Devices. Smart objects. Things. All of these create data, or signals. Signals, and responding to them in intelligent ways, are what drives behaviour. We’ll look at how the Internet of Things is, in fact, made up of signals – and some of the technology considerations to think about.
Presentation from Thingmonk 2013
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfPeter Spielvogel
Building better applications for business users with SAP Fiori.
• What is SAP Fiori and why it matters to you
• How a better user experience drives measurable business benefits
• How to get started with SAP Fiori today
• How SAP Fiori elements accelerates application development
• How SAP Build Code includes SAP Fiori tools and other generative artificial intelligence capabilities
• How SAP Fiori paves the way for using AI in SAP apps
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofsAlex Pruden
This paper presents Reef, a system for generating publicly verifiable succinct non-interactive zero-knowledge proofs that a committed document matches or does not match a regular expression. We describe applications such as proving the strength of passwords, the provenance of email despite redactions, the validity of oblivious DNS queries, and the existence of mutations in DNA. Reef supports the Perl Compatible Regular Expression syntax, including wildcards, alternation, ranges, capture groups, Kleene star, negations, and lookarounds. Reef introduces a new type of automata, Skipping Alternating Finite Automata (SAFA), that skips irrelevant parts of a document when producing proofs without undermining soundness, and instantiates SAFA with a lookup argument. Our experimental evaluation confirms that Reef can generate proofs for documents with 32M characters; the proofs are small and cheap to verify (under a second).
Paper: https://eprint.iacr.org/2023/1886
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
MQTT, Eclipse Paho and Java - Messaging for the Internet of Things
1. !
Andy Piper | @andypiper | @mqttorg
Eclipse Paho project co-lead, mqtt.org community lead
Eclipse Paho and MQTT Java Messaging in the
Internet of Things
Made available under the Eclipse Public License v1.0.
2. Developer Advocate @ Cloud Foundry
social web enthusiast
maker, educator, LEGO fan
OSS supporter / contributor
excited by “what’s next”, Internet of Things, etc.
member of #iotlondon and #m2miwg
@andypiper
apiper@gopivotal.com
Made available under the Eclipse Public License v1.0.
4. The Plan:
!
1. What is Paho, M2M, MQTT?
2. What about Java?
!
Made available under the Eclipse Public License v1.0.
5. pāho (verb) to broadcast,
make widely known, announce,
disseminate, transmit.
(via the Maori dictionary)
“...the Paho project has been created to
provide scalable open-source implementations
of open and standard messaging protocols
aimed at new, existing, and emerging
applications for Machine- to-Machine (M2M)
and Internet of Things (IoT)”
!
Made available under the Eclipse Public License v1.0.
6. The Internet of Things / M2M
Key Trends
1. New connected devices,
applications and services
Estimated Number of Active
Cellular M2M Connected
Devices 2010 to 2020
2. Lower system costs
3. Simplified development
4. Network operator focus and
investment
2010
2020
Source: Machina Research, July 2011
Made available under the Eclipse Public License v1.0.
7. Just what is MQTT?
!
Made available under the Eclipse Public License v1.0.
8. MQ Telemetry Transport
•Invented by IBM and Arcom in the late 1990s - initially used for e.g.
oil field and flood plain monitoring
•Contributed to the Eclipse Foundation under M2M announcements
at EclipseCon Europe 2011:
• The formation of a new M2M Industry Working Group at the Eclipse
Foundation, with Sierra Wireless, Eurotech and IBM as founding
members, to work on growing and scaling device connectivity
solutions with open source tools, frameworks and runtimes.
• The contribution of the IBM MQTT client code (C and Java) to a
new Eclipse project "Paho".
•Submitted to OASIS early 2013, specification under review
Made available under the Eclipse Public License v1.0.
10. Design principles
Publish/subscribe messaging paradigm
as required by the majority of SCADA
and sensor applications.
Minimise the on-the-wire footprint.
Expect and cater for frequent network
disruption, cope with slow and poor
quality networks: built for low bandwidth,
high latency, unreliable, high cost
networks
Expect that client applications may have
very limited processing resources
available.
Provide traditional messaging qualities of
service where the environment allows
Made available under the Eclipse Public License v1.0.
11. Design principles
Simple, minimal pub/sub messaging semantics
Asynchronous (“push”) delivery of messages to applications
Simple verbs / methods: connect, publish, (un)subscribe, disconnect
!
Minimised on-the-wire format:
•
•
•
•
Plain byte array message payload
No application message headers
Protocol compressed into bit-wise headers and variable length fields
Smallest possible packet size is 2 bytes
In-built constructs to support loss of contact between client and server
•
“Last will and testament” to publish a message if the client goes
offline
•
Stateful “roll-forward” semantics and “durable” subscriptions
Made available under the Eclipse Public License v1.0.
12. Concepts and topologies
!
(optional) bridge
broker
broker
topic/subtopic
publish
subscribe
!
topic/tree/of/items
topic/#
topic/+/other
keepalive
last will & testament
username/password
Made available under the Eclipse Public License v1.0.
13. Qualities of Service
Three qualities of service for both publishing and subscribing:
QoS 0: At most once delivery (non-persistent)
– No retry semantics are defined in the protocol.
– The message arrives either once or not at all.
!
QoS 1: At least once delivery (persistent, dups possible)
– Client sends message with Message ID in the message
header
– Server acknowledges with a PUBACK control message
– Message resent with a DUP bit set If the PUBACK message is
not seen
!
QoS 2: Exactly once delivery (persistent)
– Uses additional flows to ensure that message is not duplicated
– Server acknowledges with a PUBREC control message
– Client releases message with a PUBREL control message
– Server acknowledges completion with a PUBCOMP control
message
Made available under the Eclipse Public License v1.0.
16. Data-centricity
MQTT is agnostic of data content and
transfers simple byte arrays, making dripfeeds of updating information trivial.
!
HTTP is (basically) document-centric.
Made available under the Eclipse Public License v1.0.
17. Simplicity
MQTT has few methods (publish/subscribe/
unsubscribe) and is quick to learn.
!
HTTP can be complex (although it is often
well-understood) - there are a multitude of
return codes and methods.
REST is a great principle but not always the
best for simple data applications (POST/PUT/
GET/DELETE? etc…)
Made available under the Eclipse Public License v1.0.
18. Lightweight (network)
The smallest possible packet size for an MQTT
message is 2 bytes.
The protocol was optimised from the start for
unreliable, low-bandwidth, expensive, highlatency networks.
!
HTTP is relatively verbose - lots of "chatter" in
a POST
Made available under the Eclipse Public License v1.0.
19. Easy distribution of data
MQTT distributes 1-to-none, 1-to-1 or 1-to-n
via the publish/subscribe mechanism
→ very efficient
!
HTTP is point-to-point (can be mediated/
clustered but no distribution mechanism). To
distribute to multiple receivers a large
number of POSTs may be required.
Made available under the Eclipse Public License v1.0.
20. Lightweight (memory/CPU)
MQTT has been trivially implemented on tiny
to larger platforms in very small libraries
[IBM ref implementation = ~80Kb for full
broker]
!
HTTP (often with associated XML or JSON
libraries for SOAP and REST etc) can be
relatively large on top of OS network libraries
Plus... even if the client is small, consider
whether it is really necessary to run an HTTP
server on every device
Made available under the Eclipse Public License v1.0.
21. Variable QoS
MQTT supports fire-and-forget or fire-andconfirm (aka QoS 0/1/2)
!
HTTP has no retry / confirmation / attempt at
once-only delivery. It is basically brittle, i.e.
retry needs to be written in at the
application level. Applications must also
handle timeouts.
Made available under the Eclipse Public License v1.0.
22. Small and portable
- home hackers love it!
Made available under the Eclipse Public License v1.0.
23. Brokers
http://mosquitto.org
!
C, small standalone binary, fast, standards-compliant/
complete, MQTT only
!
e.g. Ubuntu: sudo apt-get install mosquitto
e.g. OS X: brew install mosquitto
http://rabbitmq.com
!
Erlang, enterprise-quality, larger footprint, MQTT plugin to
AMQP (++) broker, not 100% complete (yet)
!
e.g. Ubuntu: sudo apt-get install rabbitmq
e.g. OS X: brew install rabbitmq
Made available under the Eclipse Public License v1.0.
24. Basic demo (not using Java!)
!
Made available under the Eclipse Public License v1.0.
27. Paho example (connect)
!
!
String tmpDir = System.getProperty("java.io.tmpdir");!
MqttDefaultFilePersistence dataStore = new MqttDefaultFilePersistence(tmpDir);!
!
!
!
try {!
!
!
!
!
!
!
!
!
!
!
// Construct the connection options object that contains connection parameters!
// such as cleanSession and LWT!
conOpt = new MqttConnectOptions();!
conOpt.setCleanSession(clean);!
if(password != null ) {!
conOpt.setPassword(this.password.toCharArray());!
}!
if(userName != null) {!
conOpt.setUserName(this.userName);!
}!
!
!
!
// Construct an MQTT blocking mode client!
client = new MqttClient(“tcp://m2m.eclipse.org:1883”,”javaClientDemo”, dataStore);!
!
// Set this wrapper as the callback handler!
client.setCallback(this);!
!
!
!
!
!
!
!
}
} catch (MqttException e) {!
!
e.printStackTrace();!
!
log("Unable to set up client: "+e.toString());!
!
System.exit(1);!
}!
Made available under the Eclipse Public License v1.0.
28. Paho example (subscribe)
client.connect(conOpt);!
log("Connected to "+brokerUrl+" with client ID “+client.getClientId());!
// Subscribe to the requested topic!
log("Subscribing to topic ""+topicName+"" qos "+qos);!
client.subscribe(topicName, qos);!
// Continue waiting for messages until the Enter is pressed!
try {!
!
System.in.read();!
}!
// Disconnect the client from the server!
client.disconnect();!
log("Disconnected");!
Made available under the Eclipse Public License v1.0.
29. Paho example (publish)
!
!
!
!
!
// Connect to the MQTT server!
client.connect(conOpt);!
!
String time = new Timestamp(System.currentTimeMillis()).toString();!
log("Publishing at: "+time+ " to topic ""+topicName+"" qos "+qos);!
!
!
// Create and configure a message!
MqttMessage message = new MqttMessage(payload);!
message.setQos(qos);!
!
!
!
!
// Send the message to the server, control is not returned until!
// it has been delivered to the server meeting the specified!
// quality of service.!
client.publish(topicName, message);!
!
!
// Disconnect the client!
client.disconnect();!
!
Made available under the Eclipse Public License v1.0.
30. Where does Eclipse fit in?
!
Made available under the Eclipse Public License v1.0.
31. Eclipse in the
M2M Universe
Made available under the Eclipse Public License v1.0.
32. Open Ecosystem for M2M
Third Party Ecosystem
Open M2M
communication protocols
Intelligent
Gateways & Routers
Open M2M application
framework and runtimes
Internet of
Things
Open M2M
development tools
M2M
Industry WorkGroup
Made available under the Eclipse Public License v1.0.
33. Open M2M Communication Protocols
Third Party Ecosystem
Open M2M
communication protocols
Intelligent
Gateways & Routers
MQTT
OMA-DM
C Java Lua Javascript Python
M2M
Internet of
Things
Industry WorkGroup
Made available under the Eclipse Public License v1.0.
34. Projects:
" Paho
" Koneki
" Mihini
!
" Ponte
" Kura
" Concierge
" SmartHome
" Mosquitto
Made available under the Eclipse Public License v1.0.
35. Brokers
Eclipse M2M http://m2m.eclipse.org - Mosquitto!
!
moquette https://code.google.com/p/moquette-mqtt/
Uses netty; simple, may not be complete
!
ActiveMQ 5.9 http://activemq.apache.org/
Includes MQTT support; broader set of protocols
!
HiveMQ http://hivemq.com
Standalone Java MQTT broker; not open source
Made available under the Eclipse Public License v1.0.
36. " plugins (security, logging, etc)
" lightweight and standalone
" WebSockets
Made available under the Eclipse Public License v1.0.
37. Speaking of WebSockets…
MQTT and WebSockets are natural partners!
!
Eclipse Paho Javascript client supports MQTT
over WebSockets
!
IBM MQ, mosquitto, HiveMQ support this
Made available under the Eclipse Public License v1.0.
38. Simple GUI Utility (Paho)
Made available under the Eclipse Public License v1.0.
39. Eclipse tooling plugin (Paho)
Three basic controls
• Connect/Disconnect
• Publish
• Subscribe
!
Connection Parameters
• Username/password
• Keep alive
• Clean start
• LW&T
Made available under the Eclipse Public License v1.0.
40. mqtt-shell
based on the Spring Shell technology
https://github.com/pidster-dot-org/mqtt-shell
$ mqtt-shell
mqtt> help
* connect - Connect to an MQTT Broker
* disconnect - Disconnect from an MQTT Broker
* exit - Exits the shell
* help - list all commands usage
* publish - Publish a message to an MQTT Broker
* subscribe - Subscribe to topics on an MQTT Broker
* subscriptions - List current subscriptions to topics on an MQTT Broker
* unsubscribe - Unsubscribe from topics on an MQTT Broker
!
mqtt> connect m2m.eclipse.org
Connected to m2m.eclipse.org
anonymous@m2m.eclipse.org> publish
You should specify option (--topic, --, --qos, --retained) for this command
anonymous@m2m.eclipse.org>
Made available under the Eclipse Public License v1.0.
41. more more more!
Clojure support - MachineHead (based on Paho)
!
Android! Great for low-power apps.
e.g. mqttitude
!
Spring Integration support
Made available under the Eclipse Public License v1.0.
42. Demos (with added JVM)
!
Made available under the Eclipse Public License v1.0.
43. Getting involved
• Paho Bugzilla
→ bugs.eclipse.org
!
• much activity via mqtt.org community; interact more
via paho-dev mailing list (where relevant to Paho topics!)
!
• specification discussion via the MQTT Google Group
and mqtt.org wiki
!
• write-up use cases, build guides, share experiences etc
!
• hashtag Twitter discussions → #mqtt #paho (also follow
@mqttorg)
Made available under the Eclipse Public License v1.0.
44. Thank you!
!
Please provide feedback to:
@andypiper
paho-dev mailing list
#mqtt #paho
Made available under the Eclipse Public License v1.0.