SlideShare une entreprise Scribd logo
SCALING CONNECTIONS IN
P2P APPS
INTRODUCTION
Bartosz Sypytkowski
▪ @Horusiath
▪ b.sypytkowski@gmail.com
▪ bartoszsypytkowski.com
 P2P vs. Client/Server
 Networking 101
 Membership & peer discovery
 Gossiping data efficiently
AGENDA
CLIENT / SERVER PEER TO PEER
Local network
Local network
“The cloud”
Local network
Local neatwork
CLIENT / SERVER PEER TO PEER
• Roles: initiator or acceptor
• Cluster of predictable size
• Homogeneous, fast, stable network
• Servers: powerful hardware, always
on
• Dedicated roles (DB, app server,
cache)
• Roles: both initiator and acceptor
• Unbounded number of members
• Variadic, unpredictable network
• Peers: weak hardware, powered by
batteries
• No preconfigured roles
CLIENT / SERVER PEER TO PEER
Local network
Local network
“The cloud”
Local network
Local neatwork
How two devices
can discover each
other?
NETWORK ADDRESS TRANSLATION
Internet
Router Server
172.23.208.1
200.100.10.1
Client
NETWORK ADDRESS TRANSLATION
Internet
Router Server
172.23.208.1
200.100.10.1
Source: 172.23.208.1
Destination: 200.100.10.1
Client
NETWORK ADDRESS TRANSLATION
Internet
Router Server
172.23.208.1
200.100.10.1
Source: 172.23.208.1
Destination: 200.100.10.1
Client
NETWORK ADDRESS TRANSLATION
Internet
Router Server
172.23.208.1
200.100.10.1
Source: 84.11.65.1
Destination: 200.100.10.1
NAT table
172.23.208.1 84.11.65.1
Client
NETWORK ADDRESS TRANSLATION
Internet
Router Server
172.23.208.1
200.100.10.1
Source: 84.11.65.1
Destination: 200.100.10.1
NAT table
172.23.208.1 84.11.65.1
Possible further
source IP
changes
Client
HOW DO WE KNOW THE IP ADDRESS OF ACCEPTOR?
NETWORK 101
DNS
172.23.208.1
Server
200.100.10.1
DNS Server
DNS records
example.com 200.100.10.1
Client
NETWORK 101
DNS
172.23.208.1
Server
200.100.10.1
DNS Server
DNS records
example.com 200.100.10.1
Client
WHY CAN’T WE SETUP A DNS RECORD FOR EVERY PEER?
STUN
Router STUN Server
172.23.208.1
stun.l.google.com
Client
DISCOVERING PUBLIC IP
STUN
Router STUN Server
172.23.208.1
stun.l.google.com
Client
DISCOVERING PUBLIC IP
What is my public IP?
Source: 172.23.208.1
Destination: 200.100.10.1
STUN
Router STUN Server
172.23.208.1
stun.l.google.com
Client
DISCOVERING PUBLIC IP
What is my public IP?
Source: 84.11.65.1
Destination: 200.100.10.1
NAT table
172.23.208.1 84.11.65.1
STUN
Router STUN Server
172.23.208.1
stun.l.google.com
Client
DISCOVERING PUBLIC IP
Your public IP is:
84.11.65.1
NAT table
172.23.208.1 84.11.65.1
STUN
Router STUN Server
172.23.208.1
stun.l.google.com
Client
DISCOVERING PUBLIC IP
Your public IP is:
84.11.65.1
NAT table
172.23.208.1 84.11.65.1
Periodically send ping to
keep the NAT table
mapping unchanged.
NOT ALL FIREWALLS ENABLE DIRECT DEVICE-DEVICE
CONNECTION
TURN
Firewall
84.16.55.1
Client
RELAYING MESSAGES OVER NATS/FIREWALLS
TURN Server
54.23.201.1
Client
ICE
NEGOTIATE THE CONNECTION CAPABILITIES
ICE
NEGOTIATE
WHICH
CONNECTION TO
USE
const conn = new RTCPeerConnection({
iceServers: [
{
urls: "stun:stunserver.example.com:3478",
},
{
urls: 'turn:turnserver.com:3478',
credential: 'password',
username: 'username'
}
]
})
CLIENT / SERVER PEER TO PEER
Local network
Local network
“The cloud”
Local network
Local neatwork
What about that
part?
mDNS svc-1.local 192.168.0.1 svc-3.local 192.168.0.3 svc-5.local 192.168.0.5
svc-2.local 192.168.0.2 svc-4.local 192.168.0.4
mDNS svc-1.local 192.168.0.1 svc-3.local 192.168.0.3 svc-5.local 192.168.0.5
svc-2.local 192.168.0.2 svc-4.local 192.168.0.4
Where is svc-4.local?
mDNS svc-1.local 192.168.0.1 svc-3.local 192.168.0.3 svc-5.local 192.168.0.5
svc-2.local 192.168.0.2 svc-4.local 192.168.0.4
Where is svc-4.local?
Where is svc-4.local? Where is svc-4.local?
Where is svc-4.local?
multicast
mDNS svc-1.local 192.168.0.1 svc-3.local 192.168.0.3 svc-5.local 192.168.0.5
svc-2.local 192.168.0.2 svc-4.local 192.168.0.4
svc-4.local = 192.168.0.4
mDNS svc-1.local 192.168.0.1 svc-3.local 192.168.0.3 svc-5.local 192.168.0.5
svc-2.local 192.168.0.2 svc-4.local 192.168.0.4
svc-4.local = 192.168.04
svc-4.local = 192.168.04
svc-4.local = 192.168.04 svc-4.local = 192.168.04
multicast
mDNS
svc-1.local 192.168.0.1
svc-4.local 192.168.0.4
svc-3.local 192.168.0.3
svc-4.local 192.168.0.4
svc-5.local 192.168.0.5
svc-4.local 192.168.0.4
svc-2.local 192.168.0.2
svc-4.local 192.168.0.4
svc-4.local 192.168.0.4
svc-4.local = 192.168.0.4
mDNS
const mdns = require('mdns')
// advertise service svc-1 at port 9999 via TCP
const service = mdns.createAdvertisement(mdns.tcp(), 9999, {
name: 'svc-1'
})
service.start()
// discover services
const browser = mdns.createBrowser(mdns.tcp())
browser.on('ready', () => browser.discover())
browser.on('update', (data) => {
console.log(data);
// {
// interfaceIndex: 4,
// name: svc-1',
// networkInterface: 'en0',
// type: {name: '', protocol: 'tcp', subtypes: []},
// replyDomain: 'local.',
// fullname: 'svc-1._tcp.local.',
// host: 'svc-1.local.',
// port: 9999,
// addresses: [ '10.1.1.50', 'fe80::21f:5bff:fecd:ce64' ]
// }
})
CLUSTERING
HOW TO BUILD A CLUSTER THAT COULD SPAN OVER >1K
NODES USING DIFFERENT NETWORKS?
HYPARVIEW
HYBRID PARTIAL VIEW FOR CLUSTER MEMBERSHIP
CONNECTING EVERYONE TO EACH OTHER DOESN’T SCALE
CONNECTING EVERYONE TO EACH OTHER DOESN’T SCALE
BUT…
NAÏVE
CONNECTIVITY
ISSUES
F
A
E B
C
D
Connections limit: 4
NAÏVE
CONNECTIVITY
ISSUES
F
A
E B
C
D
Connections limit: 4
Can I join?
NAÏVE
CONNECTIVITY
ISSUES
F
A
E B
C
D
Connections limit: 4
Sorry, I’m at
my limit.
SOLUTION: INTRODUCE PRIORITY CONNECTIONS
PRIORITY
CONNECTIONS
F
A
E B
C
D
Connections limit: 4
PRIORITY
CONNECTIONS
F
A
E B
C
D
Connections limit: 4
SUDO: let
me join
PRIORITY
CONNECTIONS
F
A
E B
C
D
Connections limit: 4
drop existing connection at
random to free the pool
PRIORITY
CONNECTIONS
F
A
E B
C
D
Connections limit: 4
establish new connection
F
A
E B
C
D
Connections limit: 4
FORWARD NEW
PEER INFOR TO
OTHERS
F
A
E B
C
D
Connections limit: 4
FWD(1)
FORWARD NEW
PEER INFOR TO
OTHERS
HYPARVIEW 101
A
C
B
D
passive view
active view
K
J
I
H
G
F
E
L
M
N
Active peers
Passive peers
HOW TO GOSSIP MESSAGES EFFICIENTLY?
PLUMTREE
EPIDEMIC BROADCAST TREES
PLUMTREE 101
A
C
B
D
K
J
I
H
G
F
E
L
M
N
BUILDING A TREE
A
C
B
D
K
J
I
H
G
F
E
L
M
N
BUILDING A TREE
A
C
B
D
K
J
I
H
G
F
E
L
M
N
BUILDING A TREE
A
C
B
D
K
J
I
H
G
F
E
L
M
N
BUILDING A TREE
A
C
B
D
K
J
I
H
G
F
E
L
M
N
BUILDING A TREE
A
C
B
D
K
J
I
H
G
F
E
L
M
N
BUILDING A TREE
A
C
B
D
K
J
I
H
G
F
E
L
M
N
BUILDING A TREE
A
C
B
D
K
J
I
H
G
F
E
L
M
N
BUILDING A TREE
A
C
B
D
K
J
I
H
G
F
E
L
M
N
BUILDING A TREE
A
C
B
D
K
J
I
H
G
F
E
L
M
N
BUILDING A TREE
A
C
B
D
K
J
I
H
G
F
E
L
M
N
BUILDING A TREE
A
C
B
D
K
J
I
H
G
F
E
L
M
N
BUILDING A TREE
A
C
B
D
K
J
I
H
G
F
E
L
M
N
Eager peers
Lazy peers
WHAT IF CONNECTION FAILS?
TREE REPAIR
A
C
B
D
K
J
I
H
G
F
E
L
M
N
connection failure
TREE REPAIR
A
C
B
D
K
J
I
H
G
F
E
L
M
N
Part of the gossip tree is
disconnected from the rest
TREE REPAIR
A
C
B
D
K
J
I
H
G
F
E
L
M
N
Once in a while send message
to lazy peers about latest
gossips ids (m1)
TREE REPAIR
A
C
B
D
K
J
I
H
G
F
E
L
M
N
Message receiver awaits for m1
TREE REPAIR
A
C
B
D
K
J
I
H
G
F
E
L
M
N
If m1 didn’t arrive before
timeout, send graft back
TREE REPAIR
A
C
B
D
K
J
I
H
G
F
E
L
M
N
Promote lazy peer to eager one
TREE REPAIR
A
C
B
D
K
J
I
H
G
F
E
L
M
N
SUMMARY
 Rainbow connections: https://www.youtube.com/watch?v=8_A1CkYfzoM
 Partisan: https://github.com/lasp-lang/partisan
 DotNext:
https://github.com/dotnet/dotNext/tree/1d551b091db81e55d93fb4d45856b3edb11602d3/src/cluster/Do
tNext.AspNetCore.Cluster/Net/Cluster/Discovery/HyParView
 Hyparview: https://bartoszsypytkowski.com/hyparview/
REFERENCES
THANK YOU
PLUMTREE 101
A
C
B
D
K
J
I
H
G
F
E
L
M
N
PLUMTREE 101
A
C
B
D
K
J
I
H
G
F
E
L
M
N
gossip
PLUMTREE 101
A
C
B
D
K
J
I
H
G
F
E
L
M
N
PLUMTREE 101
A
C
B
D
K
J
I
H
G
F
E
L
M
N
PLUMTREE 101
A
C
B
D
K
J
I
H
G
F
E
L
M
N
gossip
PLUMTREE 101
A
C
B
D
K
J
I
H
G
F
E
L
M
N
PLUMTREE 101
A
C
B
D
K
J
I
H
G
F
E
L
M
N
PLUMTREE 101
A
C
B
D
K
J
I
H
G
F
E
L
M
N

Contenu connexe

Similaire à Scaling connections in peer-to-peer applications

Nanog75, Network Device Property as Code
Nanog75, Network Device Property as CodeNanog75, Network Device Property as Code
Nanog75, Network Device Property as Code
Damien Garros
 
Getting Started on AWS
Getting Started on AWS Getting Started on AWS
Getting Started on AWS
Amazon Web Services
 
Best practices of building data streaming API
Best practices of building data streaming APIBest practices of building data streaming API
Best practices of building data streaming API
Constantine Slisenka
 
Load Balancing 101
Load Balancing 101Load Balancing 101
Load Balancing 101
HungWei Chiu
 
Reliable array of independent nodes
Reliable array of independent nodesReliable array of independent nodes
Reliable array of independent nodes
Pratik Gondaliya
 
Load Balancer Device and Configurations.
Load Balancer Device and Configurations.Load Balancer Device and Configurations.
Load Balancer Device and Configurations.
Web Werks Data Centers
 
App to Cloud: Patrick Kerpan's DataCenter Dynamics Converged Keynote
App to Cloud: Patrick Kerpan's DataCenter Dynamics Converged KeynoteApp to Cloud: Patrick Kerpan's DataCenter Dynamics Converged Keynote
App to Cloud: Patrick Kerpan's DataCenter Dynamics Converged Keynote
Cohesive Networks
 
MuleSoft Surat Live Demonstration Virtual Meetup#1 - Anypoint VPC VPN and DLB
MuleSoft Surat Live Demonstration Virtual Meetup#1 - Anypoint VPC VPN and DLBMuleSoft Surat Live Demonstration Virtual Meetup#1 - Anypoint VPC VPN and DLB
MuleSoft Surat Live Demonstration Virtual Meetup#1 - Anypoint VPC VPN and DLB
Jitendra Bafna
 
Networking @Scale'19 - Getting a Taste of Your Network - Sergey Fedorov
Networking @Scale'19 - Getting a Taste of Your Network - Sergey FedorovNetworking @Scale'19 - Getting a Taste of Your Network - Sergey Fedorov
Networking @Scale'19 - Getting a Taste of Your Network - Sergey Fedorov
Sergey Fedorov
 
Demystifying azure networking for on premises-azure databases
Demystifying azure networking for on premises-azure databasesDemystifying azure networking for on premises-azure databases
Demystifying azure networking for on premises-azure databases
Mohamed Wali
 
Microsoft lync server 2010 protocol workloads poster
Microsoft lync server 2010 protocol workloads posterMicrosoft lync server 2010 protocol workloads poster
Microsoft lync server 2010 protocol workloads poster
bigwalker
 
Midokura OpenStack Day Korea Talk: MidoNet Open Source Network Virtualization...
Midokura OpenStack Day Korea Talk: MidoNet Open Source Network Virtualization...Midokura OpenStack Day Korea Talk: MidoNet Open Source Network Virtualization...
Midokura OpenStack Day Korea Talk: MidoNet Open Source Network Virtualization...
Dan Mihai Dumitriu
 
Microsoft Offical Course 20410C_05
Microsoft Offical Course 20410C_05Microsoft Offical Course 20410C_05
Microsoft Offical Course 20410C_05
gameaxt
 
Java socket programming
Java socket programmingJava socket programming
Java socket programming
Mohammed Abdalla Youssif
 
The Good, the Bad and the Ugly of Networking for Microservices by Mathew Lodg...
The Good, the Bad and the Ugly of Networking for Microservices by Mathew Lodg...The Good, the Bad and the Ugly of Networking for Microservices by Mathew Lodg...
The Good, the Bad and the Ugly of Networking for Microservices by Mathew Lodg...
Docker, Inc.
 
Signpost at FOCI 2013
Signpost at FOCI 2013Signpost at FOCI 2013
Signpost at FOCI 2013
Amir Chaudhry
 
New lessons in connection management
New lessons in connection managementNew lessons in connection management
New lessons in connection management
Toon Koppelaars
 
Cisco discovery d homesb module 10 final exam - v.4 in english.
Cisco discovery   d homesb module 10 final exam - v.4 in english.Cisco discovery   d homesb module 10 final exam - v.4 in english.
Cisco discovery d homesb module 10 final exam - v.4 in english.
igede tirtanata
 
Cisco discovery d homesb module 10 final exam - v.4 in english.
Cisco discovery   d homesb module 10 final exam - v.4 in english.Cisco discovery   d homesb module 10 final exam - v.4 in english.
Cisco discovery d homesb module 10 final exam - v.4 in english.
igede tirtanata
 
Consul: Service Mesh for Microservices
Consul: Service Mesh for MicroservicesConsul: Service Mesh for Microservices
Consul: Service Mesh for Microservices
ArmonDadgar
 

Similaire à Scaling connections in peer-to-peer applications (20)

Nanog75, Network Device Property as Code
Nanog75, Network Device Property as CodeNanog75, Network Device Property as Code
Nanog75, Network Device Property as Code
 
Getting Started on AWS
Getting Started on AWS Getting Started on AWS
Getting Started on AWS
 
Best practices of building data streaming API
Best practices of building data streaming APIBest practices of building data streaming API
Best practices of building data streaming API
 
Load Balancing 101
Load Balancing 101Load Balancing 101
Load Balancing 101
 
Reliable array of independent nodes
Reliable array of independent nodesReliable array of independent nodes
Reliable array of independent nodes
 
Load Balancer Device and Configurations.
Load Balancer Device and Configurations.Load Balancer Device and Configurations.
Load Balancer Device and Configurations.
 
App to Cloud: Patrick Kerpan's DataCenter Dynamics Converged Keynote
App to Cloud: Patrick Kerpan's DataCenter Dynamics Converged KeynoteApp to Cloud: Patrick Kerpan's DataCenter Dynamics Converged Keynote
App to Cloud: Patrick Kerpan's DataCenter Dynamics Converged Keynote
 
MuleSoft Surat Live Demonstration Virtual Meetup#1 - Anypoint VPC VPN and DLB
MuleSoft Surat Live Demonstration Virtual Meetup#1 - Anypoint VPC VPN and DLBMuleSoft Surat Live Demonstration Virtual Meetup#1 - Anypoint VPC VPN and DLB
MuleSoft Surat Live Demonstration Virtual Meetup#1 - Anypoint VPC VPN and DLB
 
Networking @Scale'19 - Getting a Taste of Your Network - Sergey Fedorov
Networking @Scale'19 - Getting a Taste of Your Network - Sergey FedorovNetworking @Scale'19 - Getting a Taste of Your Network - Sergey Fedorov
Networking @Scale'19 - Getting a Taste of Your Network - Sergey Fedorov
 
Demystifying azure networking for on premises-azure databases
Demystifying azure networking for on premises-azure databasesDemystifying azure networking for on premises-azure databases
Demystifying azure networking for on premises-azure databases
 
Microsoft lync server 2010 protocol workloads poster
Microsoft lync server 2010 protocol workloads posterMicrosoft lync server 2010 protocol workloads poster
Microsoft lync server 2010 protocol workloads poster
 
Midokura OpenStack Day Korea Talk: MidoNet Open Source Network Virtualization...
Midokura OpenStack Day Korea Talk: MidoNet Open Source Network Virtualization...Midokura OpenStack Day Korea Talk: MidoNet Open Source Network Virtualization...
Midokura OpenStack Day Korea Talk: MidoNet Open Source Network Virtualization...
 
Microsoft Offical Course 20410C_05
Microsoft Offical Course 20410C_05Microsoft Offical Course 20410C_05
Microsoft Offical Course 20410C_05
 
Java socket programming
Java socket programmingJava socket programming
Java socket programming
 
The Good, the Bad and the Ugly of Networking for Microservices by Mathew Lodg...
The Good, the Bad and the Ugly of Networking for Microservices by Mathew Lodg...The Good, the Bad and the Ugly of Networking for Microservices by Mathew Lodg...
The Good, the Bad and the Ugly of Networking for Microservices by Mathew Lodg...
 
Signpost at FOCI 2013
Signpost at FOCI 2013Signpost at FOCI 2013
Signpost at FOCI 2013
 
New lessons in connection management
New lessons in connection managementNew lessons in connection management
New lessons in connection management
 
Cisco discovery d homesb module 10 final exam - v.4 in english.
Cisco discovery   d homesb module 10 final exam - v.4 in english.Cisco discovery   d homesb module 10 final exam - v.4 in english.
Cisco discovery d homesb module 10 final exam - v.4 in english.
 
Cisco discovery d homesb module 10 final exam - v.4 in english.
Cisco discovery   d homesb module 10 final exam - v.4 in english.Cisco discovery   d homesb module 10 final exam - v.4 in english.
Cisco discovery d homesb module 10 final exam - v.4 in english.
 
Consul: Service Mesh for Microservices
Consul: Service Mesh for MicroservicesConsul: Service Mesh for Microservices
Consul: Service Mesh for Microservices
 

Plus de Bartosz Sypytkowski

Postgres indexes: how to make them work for your application
Postgres indexes: how to make them work for your applicationPostgres indexes: how to make them work for your application
Postgres indexes: how to make them work for your application
Bartosz Sypytkowski
 
How do databases perform live backups and point-in-time recovery
How do databases perform live backups and point-in-time recoveryHow do databases perform live backups and point-in-time recovery
How do databases perform live backups and point-in-time recovery
Bartosz Sypytkowski
 
Rich collaborative data structures for everyone
Rich collaborative data structures for everyoneRich collaborative data structures for everyone
Rich collaborative data structures for everyone
Bartosz Sypytkowski
 
Postgres indexes
Postgres indexesPostgres indexes
Postgres indexes
Bartosz Sypytkowski
 
Behind modern concurrency primitives
Behind modern concurrency primitivesBehind modern concurrency primitives
Behind modern concurrency primitives
Bartosz Sypytkowski
 
Collaborative eventsourcing
Collaborative eventsourcingCollaborative eventsourcing
Collaborative eventsourcing
Bartosz Sypytkowski
 
Behind modern concurrency primitives
Behind modern concurrency primitivesBehind modern concurrency primitives
Behind modern concurrency primitives
Bartosz Sypytkowski
 
Living in eventually consistent reality
Living in eventually consistent realityLiving in eventually consistent reality
Living in eventually consistent reality
Bartosz Sypytkowski
 
Virtual machines - how they work
Virtual machines - how they workVirtual machines - how they work
Virtual machines - how they work
Bartosz Sypytkowski
 
Short story of time
Short story of timeShort story of time
Short story of time
Bartosz Sypytkowski
 
Akka.NET streams and reactive streams
Akka.NET streams and reactive streamsAkka.NET streams and reactive streams
Akka.NET streams and reactive streams
Bartosz Sypytkowski
 
Collaborative text editing
Collaborative text editingCollaborative text editing
Collaborative text editing
Bartosz Sypytkowski
 
The last mile from db to disk
The last mile from db to diskThe last mile from db to disk
The last mile from db to disk
Bartosz Sypytkowski
 
GraphQL - an elegant weapon... for more civilized age
GraphQL - an elegant weapon... for more civilized ageGraphQL - an elegant weapon... for more civilized age
GraphQL - an elegant weapon... for more civilized age
Bartosz Sypytkowski
 

Plus de Bartosz Sypytkowski (14)

Postgres indexes: how to make them work for your application
Postgres indexes: how to make them work for your applicationPostgres indexes: how to make them work for your application
Postgres indexes: how to make them work for your application
 
How do databases perform live backups and point-in-time recovery
How do databases perform live backups and point-in-time recoveryHow do databases perform live backups and point-in-time recovery
How do databases perform live backups and point-in-time recovery
 
Rich collaborative data structures for everyone
Rich collaborative data structures for everyoneRich collaborative data structures for everyone
Rich collaborative data structures for everyone
 
Postgres indexes
Postgres indexesPostgres indexes
Postgres indexes
 
Behind modern concurrency primitives
Behind modern concurrency primitivesBehind modern concurrency primitives
Behind modern concurrency primitives
 
Collaborative eventsourcing
Collaborative eventsourcingCollaborative eventsourcing
Collaborative eventsourcing
 
Behind modern concurrency primitives
Behind modern concurrency primitivesBehind modern concurrency primitives
Behind modern concurrency primitives
 
Living in eventually consistent reality
Living in eventually consistent realityLiving in eventually consistent reality
Living in eventually consistent reality
 
Virtual machines - how they work
Virtual machines - how they workVirtual machines - how they work
Virtual machines - how they work
 
Short story of time
Short story of timeShort story of time
Short story of time
 
Akka.NET streams and reactive streams
Akka.NET streams and reactive streamsAkka.NET streams and reactive streams
Akka.NET streams and reactive streams
 
Collaborative text editing
Collaborative text editingCollaborative text editing
Collaborative text editing
 
The last mile from db to disk
The last mile from db to diskThe last mile from db to disk
The last mile from db to disk
 
GraphQL - an elegant weapon... for more civilized age
GraphQL - an elegant weapon... for more civilized ageGraphQL - an elegant weapon... for more civilized age
GraphQL - an elegant weapon... for more civilized age
 

Dernier

Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdfBaha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid
 
ppt on the brain chip neuralink.pptx
ppt  on   the brain  chip neuralink.pptxppt  on   the brain  chip neuralink.pptx
ppt on the brain chip neuralink.pptx
Reetu63
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
Alina Yurenko
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
dakas1
 
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data PlatformAlluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio, Inc.
 
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Paul Brebner
 
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
kalichargn70th171
 
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
The Third Creative Media
 
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISDECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
Tier1 app
 
ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.
Maitrey Patel
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Julian Hyde
 
Boost Your Savings with These Money Management Apps
Boost Your Savings with These Money Management AppsBoost Your Savings with These Money Management Apps
Boost Your Savings with These Money Management Apps
Jhone kinadey
 
Kubernetes at Scale: Going Multi-Cluster with Istio
Kubernetes at Scale:  Going Multi-Cluster  with IstioKubernetes at Scale:  Going Multi-Cluster  with Istio
Kubernetes at Scale: Going Multi-Cluster with Istio
Severalnines
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 
Upturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in NashikUpturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in Nashik
Upturn India Technologies
 
Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !
Marcin Chrost
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
XfilesPro
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptxMigration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
ervikas4
 

Dernier (20)

Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdfBaha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
 
ppt on the brain chip neuralink.pptx
ppt  on   the brain  chip neuralink.pptxppt  on   the brain  chip neuralink.pptx
ppt on the brain chip neuralink.pptx
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
 
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data PlatformAlluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
 
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
 
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
 
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
 
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISDECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
 
ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
 
Boost Your Savings with These Money Management Apps
Boost Your Savings with These Money Management AppsBoost Your Savings with These Money Management Apps
Boost Your Savings with These Money Management Apps
 
Kubernetes at Scale: Going Multi-Cluster with Istio
Kubernetes at Scale:  Going Multi-Cluster  with IstioKubernetes at Scale:  Going Multi-Cluster  with Istio
Kubernetes at Scale: Going Multi-Cluster with Istio
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 
Upturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in NashikUpturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in Nashik
 
Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptxMigration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
 

Scaling connections in peer-to-peer applications