SlideShare a Scribd company logo
Connecting Everything
Phillip J. Windley, PhD
Enterprise Architecture, BYU
CTO, Kynetx, Inc.
@windley
Internet of Things
The Internet of Things will
lead to a computing
experience that is immersive
& pervasive.
Ambient Computing
vs
Picos, CloudOS, and Connecting Things
Picos, CloudOS, and Connecting Things
But it’s bigger than that…
Everything will have an online
representation.
Connections Everywhere
The things you own
The things you don't
Different types of connections
What will its architecture be?
Personal: Clients working on behalf
of the user
Real-time events and alerts
Access to data through APIs
Context
Imagine a mountain
representing today’s billion
node network...
From Trillions by Maya Design
From Trillions by Maya Design
Events and Requests
β€œthis happened” vs β€œdo this”
Static Data & Dynamic Queries
Picos, CloudOS, and Connecting Things
Picos, CloudOS, and Connecting Things
Dynamic Data & Static Queries
Picos, CloudOS, and Connecting Things
Picos, CloudOS, and Connecting Things
Picos, CloudOS, and Connecting Things
Picos, CloudOS, and Connecting Things
Event System Properties
Events are autonomous
Event-driven system are more loosely coupled
Downstream (receiver) driven flow control
Near real-time propagation
The Current #IoT Model
Won’t Scale
Me
Picos, CloudOS, and Connecting Things
GE
Internet 

of

My Things
Me
GE
The Internet of My Things
The Internet of My Things
	 leads to
The API of Me
Fuse is Three Things
http://joinfuse.com
Picos, CloudOS, and Connecting Things
Picos, CloudOS, and Connecting Things
Social Products
"The car needs to become your friend. How does the
car speak to me? How does the car integrate with the
dealership and the factory? How does the car help me
get to the service station? ... I want a relationship with
the car in the same way I have a relationship with my
friends. ... The car is going to become social. All our
products are going to become social."
β€”Marc Benioff
But it’s not just about
manufactured things...
We give each thing a
persistent compute object,
or pico
Picos are online computers
Identityβ€”they represent a specific entity
Storageβ€”they persistently encapsulate both structured
and unstructured data
Open event networkβ€”they respond to events
Processingβ€”they run applications autonomously
Event Channelsβ€”they have connections to other picos
APIsβ€”they provide access to and access other online
services
Picos Are Decentralized & Networked
Built on open standards
Built on open source
Phil's Cloud Tom's Cloud
1
2
3
4
owner
borrower
Lynne's Cloud
1
owner
Picos Ease Modeling
Picos support a new Web
programming model
Web
Application
Application
Data
Browser
Web
Application
Application
Data
Browser
Picos Use an Event Query Model
pico
functions
rules
persistent
storage
or CancelDone
User Interface
name
email
phone
query API
event API
user makes change in UI
resulting in an event
UI updates presentation
using query API
rules validate and process event,
often updating model
functions return results based
on persistent data
Picos Support A Familiar Model
CloudOS
Kynetx Rules Engine
Kernel
Space
Configuration
Management
CloudOS
Service
Services &
Libraries
User
Space
Notification
Service
Forevr.us
(contact)
Timeline
(social)
ToDo&
Reminders
Vehicle
Manangement
Applications
PersonalData
Service
UISupport
Other
Data
Sources
Web
Services
APIs
Home
Management
Intentcasting
File
Social
Rulesets
Persistent
Data
...
...
APIs
Social
Persistent Compute Object
Fuse
Library
Fuse
Guard
Tour
Library
Guard
Tour
Programming Model
Program in any language you like
OAuth access to pico
Pico provides
user data
processing
API and inter-pico communications
Microservices
Organized around a single business
capability
Small, generally less than 1000 lines and
code and usually much smaller
Event-based and asynchronous
Run in their own process
Independently deployable
Decentralized data storage
Picos, CloudOS, and Connecting Things
Healing Subscriptions
rule check_subscriptions {
select when fuse subscription_check
pre {
vid = carvoyant:vehicle_id();
my_subs = carvoyant:getSubscription(vid);
should_have = required_subscription_list.length();
}
if(my_subs.length() < should_have) then
send_directive("not enough subscriptions")
fired {
log ">>>> vehicle #{vid} needs subscription check";
raise fuse event need_initial_carvoyant_subscriptions;
}
}
Healing Subscriptions
rule check_subscriptions {
select when fuse subscription_check
pre {
vid = carvoyant:vehicle_id();
my_subs = carvoyant:getSubscription(vid);
should_have = required_subscription_list.length();
}
if(my_subs.length() < should_have) then
send_directive("not enough subscriptions")
fired {
log ">>>> vehicle #{vid} needs subscription check";
raise fuse event need_initial_carvoyant_subscriptions;
}
}
Healing Subscriptions
rule check_subscriptions {
select when fuse subscription_check
pre {
vid = carvoyant:vehicle_id();
my_subs = carvoyant:getSubscription(vid);
should_have = required_subscription_list.length();
}
if(my_subs.length() < should_have) then
send_directive("not enough subscriptions")
fired {
log ">>>> vehicle #{vid} needs subscription check";
raise fuse event need_initial_carvoyant_subscriptions;
}
}
Healing Subscriptions
rule check_subscriptions {
select when fuse subscription_check
pre {
vid = carvoyant:vehicle_id();
my_subs = carvoyant:getSubscription(vid);
should_have = required_subscription_list.length();
}
if(my_subs.length() < should_have) then
send_directive("not enough subscriptions")
fired {
log ">>>> vehicle #{vid} needs subscription check";
raise fuse event need_initial_carvoyant_subscriptions;
}
}
Healing Subscriptions
rule check_subscriptions {
select when fuse subscription_check
pre {
vid = carvoyant:vehicle_id();
my_subs = carvoyant:getSubscription(vid);
should_have = required_subscription_list.length();
}
if(my_subs.length() < should_have) then
send_directive("not enough subscriptions")
fired {
log ">>>> vehicle #{vid} needs subscription check";
raise fuse event need_initial_carvoyant_subscriptions;
}
}
KRL
Runs in picos
Built for microservices
Complex event expressions
Persistent variables
Side-effects are quarantined
This can get complex…
Institution
Tour
Index
Location
Index
Report
Index
Tour
"LUFX"
Tour
"KUFF"
Location
"R7RK"
Report
"1"
Location
"G5YH"
Report
"current"
Location
"T67G"
Managers
Guards
Guard
"Frank"
Subscriptions
permanent
temporary
Report
"2"Report
"2"Report
"2"Reports
Tours
Tours
Tours
Tours
Locations
Locations
Locations
Locations
Why do this?
Orthogonality and modularity are
powerful: network effects!
More flexible
Can be less work
More private
What Technology Wants
Recommended Reading
Mirror Worlds, David Gelernter
Snowcrash, Neal Stevenson
Rainbow's End, Vernor Vinge
The Intention Economy, Doc Searls
Trillions, Peter Lucas, Joe Ballay & Mickey McManus
My book on
how this can
be built now
CloudOS White Papers
www.windley.com
Contact info:
Phil Windley
pjw@kynetx.com
www.windley.com
@windley
Connecting Everything

More Related Content

PDF
Events, Picos, and Microservices
PPTX
Microservices: Architecture and Practice
PPTX
The Internet of Things: Patterns for building real world applications
PDF
Events, Picos, and Microservices
PDF
Event Report re:Invent 2020 - Week 1
PPTX
Take Control of your APIs in a Microservice Architecture
Β 
PPTX
Gustavo Zastrow - Introduction to AWS IoT Core and MQTT
PPTX
Trends in Cloud and Mobile Computing - Alain Azagury, IBM
Events, Picos, and Microservices
Microservices: Architecture and Practice
The Internet of Things: Patterns for building real world applications
Events, Picos, and Microservices
Event Report re:Invent 2020 - Week 1
Take Control of your APIs in a Microservice Architecture
Β 
Gustavo Zastrow - Introduction to AWS IoT Core and MQTT
Trends in Cloud and Mobile Computing - Alain Azagury, IBM

Viewers also liked (11)

PDF
BMW Connected Drive, November 2010
PPTX
Analyzing Hadoop Data Using Sparklyr

PPTX
IBM Internet of Things Offerings
PDF
What exactly is the "Internet of Things"?
PDF
What is the Internet of Things?
PPTX
Enabling the Connected Car Revolution

PPT
THE INTERNET OF THINGS
PPT
Internet of Things and its applications
PPTX
Internet-of-things- (IOT) - a-seminar - ppt - by- mohan-kumar-g
PPTX
IoT - IT 423 ppt
PDF
Internet of Things
BMW Connected Drive, November 2010
Analyzing Hadoop Data Using Sparklyr

IBM Internet of Things Offerings
What exactly is the "Internet of Things"?
What is the Internet of Things?
Enabling the Connected Car Revolution

THE INTERNET OF THINGS
Internet of Things and its applications
Internet-of-things- (IOT) - a-seminar - ppt - by- mohan-kumar-g
IoT - IT 423 ppt
Internet of Things
Ad

Similar to Picos, CloudOS, and Connecting Things (20)

PDF
Connecting Things
PDF
Rule Language for IoT
PDF
Airbiquity david jumpa
PPTX
Ambient Intelligence perspective from IoT insight
PPTX
Telecom trends 261112
PDF
OSGi Technology in the IST Integrated Project - Hans-Werner Bitzer, Systems I...
PDF
Cloud Computing Overview
PDF
Fuse Technical Presentation
PDF
042012 m2 m webinar slides for april 4
PDF
Driving Towards Cloud 2015: A Technology Vision to Meet the Demands of Cloud ...
PPTX
VMware vForum 2012 - Rodney Haywood - Optus
PDF
Internet of Things (IoT) - in the cloud or rather on-premises?
PDF
Mon1440 platforms cloudproviders-nelsontavares-interoute
PPTX
WebΒ². The Internet of everything
PDF
Rise of Machines: How Industrial Equipment Can Join the Supply Chain
PPS
Self-Driving Cars, Smart Watches and Heads-Up Displays... Oh My!
PDF
Thales launches Cisco Unified Computing System
PDF
Internet of Things Stack
PDF
Internet of Things - Benefits for the Ummah
PDF
SeeMoto - Sensors As A Service
Connecting Things
Rule Language for IoT
Airbiquity david jumpa
Ambient Intelligence perspective from IoT insight
Telecom trends 261112
OSGi Technology in the IST Integrated Project - Hans-Werner Bitzer, Systems I...
Cloud Computing Overview
Fuse Technical Presentation
042012 m2 m webinar slides for april 4
Driving Towards Cloud 2015: A Technology Vision to Meet the Demands of Cloud ...
VMware vForum 2012 - Rodney Haywood - Optus
Internet of Things (IoT) - in the cloud or rather on-premises?
Mon1440 platforms cloudproviders-nelsontavares-interoute
WebΒ². The Internet of everything
Rise of Machines: How Industrial Equipment Can Join the Supply Chain
Self-Driving Cars, Smart Watches and Heads-Up Displays... Oh My!
Thales launches Cisco Unified Computing System
Internet of Things Stack
Internet of Things - Benefits for the Ummah
SeeMoto - Sensors As A Service
Ad

More from Phil Windley (20)

PPTX
Trust, Blockchains, and Self-Soveriegn Identity
PPTX
A University API
PDF
Relationships: Modeling the Vehicle Ecosystem with Fuse
PDF
Fuse 2
PDF
Persistent Compute Objects and the Fabric of Cyberspace
PDF
Persistent Compute Objects - Picos
PDF
Personal Cloud Application Architectures
KEY
Why Personal Clouds
KEY
Personal Cloud Operating Systems
KEY
Introducing Personal Event Networks
KEY
The Live Web #SCITDA11 Keynote
KEY
Shaping strategies and Startups
KEY
Shaping Strategies and the Live Web - Kynetx Impact 2011
PDF
The Evented Web Makes Users Happy
KEY
A Programming Layer for the Internet from Kynetx Impact 2010
PDF
Using Puppet and Cobbler to Automate Your Infrastructure
KEY
Using Apache as an Application Server
ZIP
The Power of Open Data
ZIP
Context Automation
ZIP
Context Automation (with video demos)
Trust, Blockchains, and Self-Soveriegn Identity
A University API
Relationships: Modeling the Vehicle Ecosystem with Fuse
Fuse 2
Persistent Compute Objects and the Fabric of Cyberspace
Persistent Compute Objects - Picos
Personal Cloud Application Architectures
Why Personal Clouds
Personal Cloud Operating Systems
Introducing Personal Event Networks
The Live Web #SCITDA11 Keynote
Shaping strategies and Startups
Shaping Strategies and the Live Web - Kynetx Impact 2011
The Evented Web Makes Users Happy
A Programming Layer for the Internet from Kynetx Impact 2010
Using Puppet and Cobbler to Automate Your Infrastructure
Using Apache as an Application Server
The Power of Open Data
Context Automation
Context Automation (with video demos)

Recently uploaded (20)

PDF
πŸ’° π”πŠπ“πˆ πŠπ„πŒπ„ππ€ππ†π€π πŠπˆππ„π‘πŸ’πƒ π‡π€π‘πˆ 𝐈𝐍𝐈 πŸπŸŽπŸπŸ“ πŸ’°
Β 
PPTX
522797556-Unit-2-Temperature-measurement-1-1.pptx
PPTX
Funds Management Learning Material for Beg
PDF
The New Creative Director: How AI Tools for Social Media Content Creation Are...
PPTX
INTERNET------BASICS-------UPDATED PPT PRESENTATION
PPTX
PptxGenJS_Demo_Chart_20250317130215833.pptx
PDF
Slides PDF The World Game (s) Eco Economic Epochs.pdf
PPTX
international classification of diseases ICD-10 review PPT.pptx
PPTX
June-4-Sermon-Powerpoint.pptx USE THIS FOR YOUR MOTIVATION
PDF
Sims 4 Historia para lo sims 4 para jugar
PDF
SASE Traffic Flow - ZTNA Connector-1.pdf
PPTX
SAP Ariba Sourcing PPT for learning material
PDF
APNIC Update, presented at PHNOG 2025 by Shane Hermoso
Β 
PDF
Testing WebRTC applications at scale.pdf
PPT
Design_with_Watersergyerge45hrbgre4top (1).ppt
PPTX
Module 1 - Cyber Law and Ethics 101.pptx
PPTX
presentation_pfe-universite-molay-seltan.pptx
PPTX
introduction about ICD -10 & ICD-11 ppt.pptx
PDF
Cloud-Scale Log Monitoring _ Datadog.pdf
PPTX
Introuction about WHO-FIC in ICD-10.pptx
πŸ’° π”πŠπ“πˆ πŠπ„πŒπ„ππ€ππ†π€π πŠπˆππ„π‘πŸ’πƒ π‡π€π‘πˆ 𝐈𝐍𝐈 πŸπŸŽπŸπŸ“ πŸ’°
Β 
522797556-Unit-2-Temperature-measurement-1-1.pptx
Funds Management Learning Material for Beg
The New Creative Director: How AI Tools for Social Media Content Creation Are...
INTERNET------BASICS-------UPDATED PPT PRESENTATION
PptxGenJS_Demo_Chart_20250317130215833.pptx
Slides PDF The World Game (s) Eco Economic Epochs.pdf
international classification of diseases ICD-10 review PPT.pptx
June-4-Sermon-Powerpoint.pptx USE THIS FOR YOUR MOTIVATION
Sims 4 Historia para lo sims 4 para jugar
SASE Traffic Flow - ZTNA Connector-1.pdf
SAP Ariba Sourcing PPT for learning material
APNIC Update, presented at PHNOG 2025 by Shane Hermoso
Β 
Testing WebRTC applications at scale.pdf
Design_with_Watersergyerge45hrbgre4top (1).ppt
Module 1 - Cyber Law and Ethics 101.pptx
presentation_pfe-universite-molay-seltan.pptx
introduction about ICD -10 & ICD-11 ppt.pptx
Cloud-Scale Log Monitoring _ Datadog.pdf
Introuction about WHO-FIC in ICD-10.pptx

Picos, CloudOS, and Connecting Things

  • 1. Connecting Everything Phillip J. Windley, PhD Enterprise Architecture, BYU CTO, Kynetx, Inc. @windley
  • 3. The Internet of Things will lead to a computing experience that is immersive & pervasive.
  • 5. vs
  • 8. But it’s bigger than that… Everything will have an online representation.
  • 9. Connections Everywhere The things you own The things you don't Different types of connections
  • 10. What will its architecture be?
  • 11. Personal: Clients working on behalf of the user Real-time events and alerts Access to data through APIs Context
  • 12. Imagine a mountain representing today’s billion node network...
  • 13. From Trillions by Maya Design
  • 14. From Trillions by Maya Design
  • 16. β€œthis happened” vs β€œdo this”
  • 17. Static Data & Dynamic Queries
  • 20. Dynamic Data & Static Queries
  • 25. Event System Properties Events are autonomous Event-driven system are more loosely coupled Downstream (receiver) driven flow control Near real-time propagation
  • 26. The Current #IoT Model Won’t Scale
  • 27. Me
  • 29. GE
  • 31. The Internet of My Things
  • 32. The Internet of My Things leads to The API of Me
  • 33. Fuse is Three Things http://joinfuse.com
  • 37. "The car needs to become your friend. How does the car speak to me? How does the car integrate with the dealership and the factory? How does the car help me get to the service station? ... I want a relationship with the car in the same way I have a relationship with my friends. ... The car is going to become social. All our products are going to become social." β€”Marc Benioff
  • 38. But it’s not just about manufactured things...
  • 39. We give each thing a persistent compute object, or pico
  • 40. Picos are online computers Identityβ€”they represent a specific entity Storageβ€”they persistently encapsulate both structured and unstructured data Open event networkβ€”they respond to events Processingβ€”they run applications autonomously Event Channelsβ€”they have connections to other picos APIsβ€”they provide access to and access other online services
  • 41. Picos Are Decentralized & Networked
  • 42. Built on open standards Built on open source
  • 43. Phil's Cloud Tom's Cloud 1 2 3 4 owner borrower Lynne's Cloud 1 owner Picos Ease Modeling
  • 44. Picos support a new Web programming model
  • 47. Picos Use an Event Query Model pico functions rules persistent storage or CancelDone User Interface name email phone query API event API user makes change in UI resulting in an event UI updates presentation using query API rules validate and process event, often updating model functions return results based on persistent data
  • 48. Picos Support A Familiar Model CloudOS Kynetx Rules Engine Kernel Space Configuration Management CloudOS Service Services & Libraries User Space Notification Service Forevr.us (contact) Timeline (social) ToDo& Reminders Vehicle Manangement Applications PersonalData Service UISupport Other Data Sources Web Services APIs Home Management Intentcasting File Social Rulesets Persistent Data ... ... APIs Social Persistent Compute Object Fuse Library Fuse Guard Tour Library Guard Tour
  • 49. Programming Model Program in any language you like OAuth access to pico Pico provides user data processing API and inter-pico communications
  • 50. Microservices Organized around a single business capability Small, generally less than 1000 lines and code and usually much smaller Event-based and asynchronous Run in their own process Independently deployable Decentralized data storage
  • 52. Healing Subscriptions rule check_subscriptions { select when fuse subscription_check pre { vid = carvoyant:vehicle_id(); my_subs = carvoyant:getSubscription(vid); should_have = required_subscription_list.length(); } if(my_subs.length() < should_have) then send_directive("not enough subscriptions") fired { log ">>>> vehicle #{vid} needs subscription check"; raise fuse event need_initial_carvoyant_subscriptions; } }
  • 53. Healing Subscriptions rule check_subscriptions { select when fuse subscription_check pre { vid = carvoyant:vehicle_id(); my_subs = carvoyant:getSubscription(vid); should_have = required_subscription_list.length(); } if(my_subs.length() < should_have) then send_directive("not enough subscriptions") fired { log ">>>> vehicle #{vid} needs subscription check"; raise fuse event need_initial_carvoyant_subscriptions; } }
  • 54. Healing Subscriptions rule check_subscriptions { select when fuse subscription_check pre { vid = carvoyant:vehicle_id(); my_subs = carvoyant:getSubscription(vid); should_have = required_subscription_list.length(); } if(my_subs.length() < should_have) then send_directive("not enough subscriptions") fired { log ">>>> vehicle #{vid} needs subscription check"; raise fuse event need_initial_carvoyant_subscriptions; } }
  • 55. Healing Subscriptions rule check_subscriptions { select when fuse subscription_check pre { vid = carvoyant:vehicle_id(); my_subs = carvoyant:getSubscription(vid); should_have = required_subscription_list.length(); } if(my_subs.length() < should_have) then send_directive("not enough subscriptions") fired { log ">>>> vehicle #{vid} needs subscription check"; raise fuse event need_initial_carvoyant_subscriptions; } }
  • 56. Healing Subscriptions rule check_subscriptions { select when fuse subscription_check pre { vid = carvoyant:vehicle_id(); my_subs = carvoyant:getSubscription(vid); should_have = required_subscription_list.length(); } if(my_subs.length() < should_have) then send_directive("not enough subscriptions") fired { log ">>>> vehicle #{vid} needs subscription check"; raise fuse event need_initial_carvoyant_subscriptions; } }
  • 57. KRL Runs in picos Built for microservices Complex event expressions Persistent variables Side-effects are quarantined
  • 58. This can get complex… Institution Tour Index Location Index Report Index Tour "LUFX" Tour "KUFF" Location "R7RK" Report "1" Location "G5YH" Report "current" Location "T67G" Managers Guards Guard "Frank" Subscriptions permanent temporary Report "2"Report "2"Report "2"Reports Tours Tours Tours Tours Locations Locations Locations Locations
  • 59. Why do this? Orthogonality and modularity are powerful: network effects! More flexible Can be less work More private
  • 61. Recommended Reading Mirror Worlds, David Gelernter Snowcrash, Neal Stevenson Rainbow's End, Vernor Vinge The Intention Economy, Doc Searls Trillions, Peter Lucas, Joe Ballay & Mickey McManus
  • 62. My book on how this can be built now