SlideShare una empresa de 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

Más contenido relacionado

Similar a 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 posterbigwalker
 
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
 

Similar a 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
 

Más 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
 

Más 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
 

Último

De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
Jelle | Nordend
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
IES VE
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
XfilesPro
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
Software Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfSoftware Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdf
MayankTawar1
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
Peter Caitens
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
kalichargn70th171
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
Tier1 app
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 

Último (20)

De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Software Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfSoftware Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdf
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 

Scaling connections in peer-to-peer applications