SlideShare une entreprise Scribd logo
1  sur  115
Télécharger pour lire hors ligne
Mobile Networks
Understanding communication layer for web and mobile
Agenda
•

Networking basics	


•

How mobile networks work	


•

Optimising for mobile networks	


•

Other HTTP/1.x optimisations	


•

Browser APIs and protocols: XHR, SSE, WebSockets
Why Do You Care ?

•

How does network affect your application?
Why Do You Care ?
•

Speed: How fast can I deliver content to a user ?	


•

Battery: What network operations affect battery
life ?	


•

Cost: Is connection metered ?
Let’s start with “speed”

“

eb page to load in 2
consumer s expect a w
47% of
seconds or less.

”
Let’s start with “speed”

“

net user s say 

3% of mobile inter
7
red a website

they’ve encounte
that
too slow to load.
that was

”
Let’s start with “speed”

“

-Load Can Cause
ond Delay In Page
Just One Sec
r Conver sions
Loss In Custome
7%

”
How load times affect conversion
•

Glasses direct measured
How load times affect conversion
•

Wallmart measured
How load times affect conversion
•

Strangeloop measured
How load times affect conversion
•

Google measured
Type Of Delay

Delay (ms)

Duration (weeks)

Impact

Pre Header

50

4

-

Pre Header

100

4

-0.2%

Post Header

200

6

-0.59%

Post Header

400

6

-0.59%
Speed: You should care
•

Load times affects:	

•

Bounce rate	


•

Time on site	


•

Conversion	


•

Satisfaction
Q&A
Network speed
Bandwidth is growing
Bandwidth Considerations
•

For most applications, bandwidth is not an issue	


•

HSPA+ (2008) :	

•

Up to 84Mbit/s down link	


•

Up to 10.8Mbit/s up link
Latency, on the other hand…
•

Latency:	

•

is bound by the speed of light	


•

is not expected to grow dramatically in coming
years	


•

Has drastic effect on applications that transfer small
amounts of data
Latency vs. Bandwidth
Latency Upper Bound
•

Latency is bound by the speed of light
Time: light in Time: light in
vacuum
finer

Route

Distance

RTT

New York to
London

5,585km

19ms

28ms

56ms

New York to
Sidney

15,998km

53ms

80ms

160ms
In practice
•

Latency is much higher	

•

Distance is not air line	


•

Affected by network delays
Demo

•

Checking latency with traceroute	


•

Discussion: How would you reduce latency?
Q&A
Transmission Control Protocol
(TCP)
TCP/IP Network Basics

•

IP provides host-to-host routing	


•

TCP provides application-to-application reliable
channel
TCP/IP Network Basics
TCP and network speed
•

TCP Handshake	


•

TCP congestion control	


•

Head of line blocking
TCP Handshake
TCP Handshake implication

•

Each new connection requires a full round trip
before data can be sent	


•

=> New TCP connections are expensive
TCP Congestion control

•

When a packet is not ACKed after a
retransmission interval, the host resends it	


•

What happens if RTT > retransmission interval ?
TCP Congestion

Host A

Host B
TCP Slow Start

•

cwnd variable on the server controls how many
packets can be “in flight” at any given time	


•

Ack => cwnd++
TCP Slow Start

cwnd = 4

Ack 1
cwnd = 5
TCP Slow Start: Quiz
•

Assuming initial cwnd = 4	


•

Roundtrip time 56 ms (New York -> London)	


•

TCP packet size is 1460 bytes	


•

How much time do you need to get a 64kb
throughput ?
TCP Slow Start
•

65,535 / 1460 =~ 45 packets	


•

We need to get 45 packets in flight to reach 64kb	


•

Remember cwnd doubles each round trip
TCP Slow Start

•

cwnd values: 4 => 8 => 16 => 32 => 64	


•

4 rountrips * 56ms = 224 ms
TCP Slow Start
Q&A
Head of line blocking
•

Host A sends 5 TCP packets: a1, a2, a3, a4, a5	


•

Packets a2-a5 reach in time	


•

Packet a1 dropped by an intermediate router and
has to be resent	


•

How is your application affected?
Head of line blocking
Process
File transfer
Video chat
Music streaming
Web page

Effect of head-of-line blocking
Head of line blocking
Process

Effect of head-of-line blocking

File transfer

None. App has nothing to do with a
partial

Video chat

Jitter

Music streaming

It depends. Requires buffering or jitters

Web page

Suffers from both HTTP and TCP HOL
TCP Optimisations: Server

•

Increase cwnd	


•

Disable slow-start after idle
TCP Optimisations: App
•

Reuse existing connections as much as possible	


•

Aggregate messages	


•

Use a CDN	


•

Use compression
Q&A
Mobile Networks
Types of Mobile Networks
Type

Applications

Standards

Personal area network
(PAN)

Cable replacements

Bluetooth, NFC

Local area network (LAN)

Wireless extension of
network

802.11 (WiFi)

Metropolitan area network
(MAN)

Wireless inter network
connectivity

802.15 (WiMax)

Wide area network (WAN)

Wireless network access

Cellular (UMTS, LTE,…)
WiFi Attributes

•

No bandwidth or latency guarantee	


•

WiFi access is usually un-metered
Leveraging WiFi

•

Use WiFi to download large files or stream data	


•

Prompt user to switch to wifi when applicable
Leveraging WiFi
•

Detect WiFi or 3G:	

•

iOS: https://developer.apple.com/library/ios/
samplecode/Reachability/Listings/
Reachability_Reachability_m.html	


•

Android: https://gist.github.com/emil2k/5130324
Leveraging WiFi
•

Adapt to variable bandwidth	


•

Quiz: 	

•

What can cause bandwidth to vary?	


•

How does variable bandwidth affect video
streaming app ?
Leveraging WiFi
•

When streaming video, we need to detect best
bitrate for a connection	


•

Quiz: How would you adapt to varying bandwidth
in a video streaming app?
Adaptive Bitrate Streaming

•

Encode each segment for multiple bitrates	


•

Netflix has over 120 different versions for each
stream
Q&A
Cellular
Networks
Cellular Attributes
•

Varying infrastructure (generations) lead to varying
bandwidth and latencies	


•

Battery is an issue	


•

Data is an issue
Mobile Gs
Generation

Data Rate

Latency

2G

100-400 Kbit/s

300-1,000 ms

3G

0.5-5 Mbit/s

100-500 ms

4G

1-50 Mbit/s

< 100 ms
Mobile Network
•

What you should expect:	

•

Network infrastructure is changing slow	


•

2G networks are still around (and will be)	


•

3G networks are still around (and will be)	


•

3.5G, 3.75G, 3.9G are all around	


•

4G
Mobile Is Different
RRC
•

Radio Resource Controller allows devices to put
their radio to sleep	


•

It instructs a device when to speak, and when to
listen
RRC State Machine
Quiz
•

When listening to music, Pandora wants to know how long you listen	


•

Here’s what they did:	

•

Send entire song to user when user starts to play	


•

During playback, send periodic updates to Pandora server	


•

Describe RRC state changes	


•

How is battery affected ?
Short DRX
idle
Long DRX

Data Transfer

Data Transfer

Power

Periodic Updates and Mobile
Periodic Updates and Mobile

Short DRX
idle
Long DRX

Data Transfer

Data Transfer

Power

Energy tail
Periodic Updates and Mobile
•

Energy tails waste power	


•

For Pandora: 46% of battery consumption to
transfer 0.2% of total bytes	


•

What can Pandora do ?
Periodic Updates and Mobile

•

A better solution:	


•

save data on client and send it all aggregated in a
later time
Q&A
Routing In Cellular Network
Routing In Cellular Network
•

PGW (Packet Gateway) acts like a NAT	

•

It assigns IP address to a mobile device	


•

It keeps TCP connection alive when mobile
device moves
Routing In Cellular Network

•

PCRF (Policy and Charging Rules Function)
instructs PGW how to assign addresses
•

SGW (Service Gateway) routes all data to the
mobile device	


•

MME (Mobility Management Entity) keeps track of
each device and its current cell tower
Other Considerations

•

Latency is bad when device was idle	


•

Bandwidth is a big issue for carriers
Cellular Networks Optimisations
Save Battery
•

Eliminate periodic and inefficient data transfers	


•

Defer non-critical requests until radio is active	


•

Eliminate application keep-alives
Anticipate Latency
•

3G latency 200-3,500 ms	


•

Decouple user interactions from network	


•

Burst data and return to idle
Save Bandwidth
•

Consider offloading to WiFi if possible	


•

Cache data locally	


•

Always consider offline	


•

Plan and test for slow network
Q&A
Optimising for
the web
Simple HTTP techniques to
optimise mobile web access
HTTP Basics
•

Verify using HTTP 1.1 and Keepalive	


•

Verify using GZip compression	


•

Can use chrome or:



curl -I --compressed http://yoursite.com
CSS Sprites
Use the best image size
Avoid Redirects at all costs
•

Redirects add another request but with no value	


•

Worst kind: Mobile Redirects	


•

Demo: d.co.il
Better Way: Use smart banners
•

Offer to download the app
from within the page
<meta name="apple-itunes-app"
content="app-id=366977202">
Use caches to reduce requests
File size doesn’t matter
Use caches to reduce requests
HTTP 1.0 Had an Expires header:


•



Expires: Thu, 15 Apr 2010 20:00:00 GMT	


HTTP 1.1 Added Cache-Control header:


•



Cache-Control: max-age=315360000
HTTP 1.1 Pipelining
HTTP 1.1 Pipelining
•

Send multiple requests not waiting for responses	


•

HOL blocking can occur	


•

Fewer round-trips
HTTP 1.1 Pipelining
HTTP 1.1 Pipelining
•

Supported browsers:	

•

Android	


•

Opera
Optimising for Pipelining

•

Make sure web server supports it (probably does)	


•

Serve slow (dynamic) resources from a different
domain than static resources
Q&A
Browser APIs and Protocols
•

XMLHttpRequest	


•

Server Sent Events	


•

Web Sockets
XHR

•

XMLHttpRequest began on IE as part of MSXML	


•

Script data transfers via JavaScript
XHR in use
•

Get partial data after initial page load	


•

Other uses (not optimal):	

•

Polling	


•

Resumable Upload
XHR Loading data
•

Example:	

•

Initial page has a list of products	


•

User clicks on a product	


•

XHR is used to get product info and inject to
page
XHR Code
var xhr = new XMLHttpRequest();

xhr.open('GET', 'info.json');

xhr.onload = function(e) {

// handle response data

if (xhr.status != 200) return;



var info = JSON.parse(xhr.responseText);

document.querySelector('h2').innerHTML = info.name;

document.querySelector('.bio').innerHTML = info.biography;

};



xhr.send();

XHR Polling
•

XHR provides a simple method to get server
events	


•

Two options:	

•

Interval polling	


•

Long polling
XHR Polling

•

Quiz: 

In regards to mobile battery life - which polling
method would you prefer ?
XHR Polling
Answer:

It depends :)


•



Interval polling keeps radio active, but aggregates
events



Long polling is not a good idea in case of frequent
events
XHR Upload
•

Use JavaScript to slice buffer before sending	


•

Send small fragments in a loop	


•

Resend only failed fragments
XHR Upload Demo Code
while ( start < SIZE ) {

var xhr = new XMLHttpRequest();

xhr.open('POST', '/upload');

xhr.onload = function() { /* ... */ };

xhr.setRequestHeader('Content-Range', "
start + '-' + end + '/' + SIZE);

xhr.send(blob.slice(start, end));

start = end;

end = start + BYTES_PER_CHUNK;

}"

Usable JS library: resumablejs.com
Server Sent Events
GET /events

Client

Server
Server Architecture

Socket Server

mq / db

Application
Server
http

Client	

Browser
Server Architecture
•

Most web servers are optimised for short lived
client connections (HTTP)	


•

Socket server is optimised for maintaining many
(mostly) idle connections
SSE Protocol

•

Each line starts with a data: prefix	


•

Can also specify other event attributes
SSE Protocol

1
2
3
4
5

data:
data:
data:
data:
"

{n"
"msg": "hello world",n"
"id": 12345n"
}nn"
SSE Protocol
•

Can specify event name	


•

Browser can assign different handler for each
event name
1
2
3
4
5

data: {"msg": "First message"}nn"
event: userlogonn"
data: {"username": "John123"}nn"
event: updaten"
data: {"username": "John123", "emotion": "happy"}nn"
Demo Code: stomp
•

Demo	

•

Socket Server + Application Server: Mojolicious
(perl)	


•

MQ	


•

Sending random text to clients
Web Sockets

•

Bidirectional text and binary socket	


•

As close to raw socket as can get
Web Sockets Attributes

•

Same origin policy	


•

Message oriented
WebSocket API
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

var connection = new WebSocket('ws://html5rocks.websocket.org/echo');"
"
// When the connection is open, send some data to the server"
connection.onopen = function () {"
connection.send('Ping'); // Send the message 'Ping' to the server"
};"
"
// Log errors"
connection.onerror = function (error) {"
console.log('WebSocket Error ' + error);"
};"
"
// Log messages from the server"
connection.onmessage = function (e) {"
console.log('Server: ' + e.data);"
};"
WebSockets Keep In Mind
•

No compression - if needed implement your own	


•

TLS is recommended	


•

For mobile: send in bursts
Socket.IO
•

A WebSocket Library	

•

Maintains connected clients	


•

Includes a JS library	


•

Automatic fallback
Demo Code: Menotes
•

https://github.com/ynonp/menotes	


•

Note taking angular app with sockets	


•

Stack:	

•

Application server: perl (catalyst)	


•

Socket server: node	


•

Message Queue: Rabbit MQ	


•

Client: Angular.JS
Q&A
Thanks For Listening
•

Ynon Perek	


•

http://ynonperek.com	


•

ynon@ynonperek.com
Photos & Data From
•

World bandwidth (slide 15):

http://techcrunch.com/2012/08/09/akamai-global-averagebroadband-speeds-up-by-25-u-s-up-29-to-6-7-mbps/	


•

Mobile Web (slide 76): http://www.flickr.com/photos/
khawkins04/8659736133/sizes/c/	


•

HTTP Pipielining (slide 84): http://en.wikipedia.org/wiki/
HTTP_pipelining	


•

Illustrations: 123rf.com

Contenu connexe

Tendances

5 maximazing networkcapacity_v4-jorge_alvarado
5 maximazing networkcapacity_v4-jorge_alvarado5 maximazing networkcapacity_v4-jorge_alvarado
5 maximazing networkcapacity_v4-jorge_alvaradoSSPI Brasil
 
How Time To First Byte (TTFB) Impacts Your Site’s Performance
How Time To First Byte (TTFB) Impacts Your Site’s PerformanceHow Time To First Byte (TTFB) Impacts Your Site’s Performance
How Time To First Byte (TTFB) Impacts Your Site’s PerformanceMedianova
 
Interative Traffic Engineering in Changing Internet Economics - Tom Daly at L...
Interative Traffic Engineering in Changing Internet Economics - Tom Daly at L...Interative Traffic Engineering in Changing Internet Economics - Tom Daly at L...
Interative Traffic Engineering in Changing Internet Economics - Tom Daly at L...Fastly
 
Network Application Performance
Network Application PerformanceNetwork Application Performance
Network Application PerformanceShumon Huque
 
DNS Openness
DNS OpennessDNS Openness
DNS OpennessAPNIC
 
F5 Monitoring System (On Premise & Cloud Solution)
F5 Monitoring System (On Premise & Cloud Solution)F5 Monitoring System (On Premise & Cloud Solution)
F5 Monitoring System (On Premise & Cloud Solution)Tolga Ercan
 
NANOG 82: DNS Evolution
NANOG 82: DNS EvolutionNANOG 82: DNS Evolution
NANOG 82: DNS EvolutionAPNIC
 
ICANN DNS Symposium 2021: Measuring Recursive Resolver Centrality
ICANN DNS Symposium 2021: Measuring Recursive Resolver CentralityICANN DNS Symposium 2021: Measuring Recursive Resolver Centrality
ICANN DNS Symposium 2021: Measuring Recursive Resolver CentralityAPNIC
 
Measuring CDN performance and why you're doing it wrong
Measuring CDN performance and why you're doing it wrongMeasuring CDN performance and why you're doing it wrong
Measuring CDN performance and why you're doing it wrongFastly
 
DDoS Threat Landscape - Challenges faced by Network Operators
DDoS Threat Landscape - Challenges faced by Network OperatorsDDoS Threat Landscape - Challenges faced by Network Operators
DDoS Threat Landscape - Challenges faced by Network OperatorsAPNIC
 
RIPE 82: Measuring Recursive Resolver Centrality
RIPE 82: Measuring Recursive Resolver CentralityRIPE 82: Measuring Recursive Resolver Centrality
RIPE 82: Measuring Recursive Resolver CentralityAPNIC
 
RIPE 82: DNS Evolution
RIPE 82: DNS EvolutionRIPE 82: DNS Evolution
RIPE 82: DNS EvolutionAPNIC
 
RIPE 82: An Update on Fragmentation Loss Rates in IPv6
RIPE 82: An Update on Fragmentation Loss Rates in IPv6RIPE 82: An Update on Fragmentation Loss Rates in IPv6
RIPE 82: An Update on Fragmentation Loss Rates in IPv6APNIC
 
NANOG32 - DNS Anomalies and Their Impacts on DNS Cache Servers
NANOG32 - DNS Anomalies and Their Impacts on DNS Cache ServersNANOG32 - DNS Anomalies and Their Impacts on DNS Cache Servers
NANOG32 - DNS Anomalies and Their Impacts on DNS Cache ServersChika Yoshimura
 
Measuring CDN performance and why you're doing it wrong
Measuring CDN performance and why you're doing it wrongMeasuring CDN performance and why you're doing it wrong
Measuring CDN performance and why you're doing it wrongFastly
 
Intel aspera-medical-v1
Intel aspera-medical-v1Intel aspera-medical-v1
Intel aspera-medical-v1dkumiaspera
 
Hp aspera-big data cloud-v2
Hp aspera-big data cloud-v2Hp aspera-big data cloud-v2
Hp aspera-big data cloud-v2dkumiaspera
 
65% Performance Gains at Cryptocurrency Platform CoinGecko: An Argo Smart Rou...
65% Performance Gains at Cryptocurrency Platform CoinGecko: An Argo Smart Rou...65% Performance Gains at Cryptocurrency Platform CoinGecko: An Argo Smart Rou...
65% Performance Gains at Cryptocurrency Platform CoinGecko: An Argo Smart Rou...Cloudflare
 
IBM Aspera - Moving the world’s data at maximum speed
IBM Aspera - Moving the world’s data at maximum speedIBM Aspera - Moving the world’s data at maximum speed
IBM Aspera - Moving the world’s data at maximum speedMohamed Morsi
 

Tendances (20)

5 maximazing networkcapacity_v4-jorge_alvarado
5 maximazing networkcapacity_v4-jorge_alvarado5 maximazing networkcapacity_v4-jorge_alvarado
5 maximazing networkcapacity_v4-jorge_alvarado
 
How Time To First Byte (TTFB) Impacts Your Site’s Performance
How Time To First Byte (TTFB) Impacts Your Site’s PerformanceHow Time To First Byte (TTFB) Impacts Your Site’s Performance
How Time To First Byte (TTFB) Impacts Your Site’s Performance
 
Interative Traffic Engineering in Changing Internet Economics - Tom Daly at L...
Interative Traffic Engineering in Changing Internet Economics - Tom Daly at L...Interative Traffic Engineering in Changing Internet Economics - Tom Daly at L...
Interative Traffic Engineering in Changing Internet Economics - Tom Daly at L...
 
Network Application Performance
Network Application PerformanceNetwork Application Performance
Network Application Performance
 
DNS Openness
DNS OpennessDNS Openness
DNS Openness
 
F5 Monitoring System (On Premise & Cloud Solution)
F5 Monitoring System (On Premise & Cloud Solution)F5 Monitoring System (On Premise & Cloud Solution)
F5 Monitoring System (On Premise & Cloud Solution)
 
NANOG 82: DNS Evolution
NANOG 82: DNS EvolutionNANOG 82: DNS Evolution
NANOG 82: DNS Evolution
 
ICANN DNS Symposium 2021: Measuring Recursive Resolver Centrality
ICANN DNS Symposium 2021: Measuring Recursive Resolver CentralityICANN DNS Symposium 2021: Measuring Recursive Resolver Centrality
ICANN DNS Symposium 2021: Measuring Recursive Resolver Centrality
 
Measuring CDN performance and why you're doing it wrong
Measuring CDN performance and why you're doing it wrongMeasuring CDN performance and why you're doing it wrong
Measuring CDN performance and why you're doing it wrong
 
DDoS Threat Landscape - Challenges faced by Network Operators
DDoS Threat Landscape - Challenges faced by Network OperatorsDDoS Threat Landscape - Challenges faced by Network Operators
DDoS Threat Landscape - Challenges faced by Network Operators
 
RIPE 82: Measuring Recursive Resolver Centrality
RIPE 82: Measuring Recursive Resolver CentralityRIPE 82: Measuring Recursive Resolver Centrality
RIPE 82: Measuring Recursive Resolver Centrality
 
RIPE 82: DNS Evolution
RIPE 82: DNS EvolutionRIPE 82: DNS Evolution
RIPE 82: DNS Evolution
 
RIPE 82: An Update on Fragmentation Loss Rates in IPv6
RIPE 82: An Update on Fragmentation Loss Rates in IPv6RIPE 82: An Update on Fragmentation Loss Rates in IPv6
RIPE 82: An Update on Fragmentation Loss Rates in IPv6
 
NANOG32 - DNS Anomalies and Their Impacts on DNS Cache Servers
NANOG32 - DNS Anomalies and Their Impacts on DNS Cache ServersNANOG32 - DNS Anomalies and Their Impacts on DNS Cache Servers
NANOG32 - DNS Anomalies and Their Impacts on DNS Cache Servers
 
Measuring CDN performance and why you're doing it wrong
Measuring CDN performance and why you're doing it wrongMeasuring CDN performance and why you're doing it wrong
Measuring CDN performance and why you're doing it wrong
 
Intel aspera-medical-v1
Intel aspera-medical-v1Intel aspera-medical-v1
Intel aspera-medical-v1
 
Hp aspera-big data cloud-v2
Hp aspera-big data cloud-v2Hp aspera-big data cloud-v2
Hp aspera-big data cloud-v2
 
SPDY Talk
SPDY TalkSPDY Talk
SPDY Talk
 
65% Performance Gains at Cryptocurrency Platform CoinGecko: An Argo Smart Rou...
65% Performance Gains at Cryptocurrency Platform CoinGecko: An Argo Smart Rou...65% Performance Gains at Cryptocurrency Platform CoinGecko: An Argo Smart Rou...
65% Performance Gains at Cryptocurrency Platform CoinGecko: An Argo Smart Rou...
 
IBM Aspera - Moving the world’s data at maximum speed
IBM Aspera - Moving the world’s data at maximum speedIBM Aspera - Moving the world’s data at maximum speed
IBM Aspera - Moving the world’s data at maximum speed
 

Similaire à Network

Cleaning Up the Dirt of the Nineties - How New Protocols are Modernizing the Web
Cleaning Up the Dirt of the Nineties - How New Protocols are Modernizing the WebCleaning Up the Dirt of the Nineties - How New Protocols are Modernizing the Web
Cleaning Up the Dirt of the Nineties - How New Protocols are Modernizing the WebSteffen Gebert
 
PLNOG 13: Bart Salaets: Optimising TCP in today’s changing network environment
PLNOG 13: Bart Salaets: Optimising TCP in today’s changing network environmentPLNOG 13: Bart Salaets: Optimising TCP in today’s changing network environment
PLNOG 13: Bart Salaets: Optimising TCP in today’s changing network environmentPROIDEA
 
HTTP 2.0 – What do I need to know?
HTTP 2.0 – What do I need to know? HTTP 2.0 – What do I need to know?
HTTP 2.0 – What do I need to know? Sigma Software
 
High performance browser networking ch1,2,3
High performance browser networking ch1,2,3High performance browser networking ch1,2,3
High performance browser networking ch1,2,3Seung-Bum Lee
 
Building the Internet of Things with Thingsquare and Contiki - day 2 part 2
Building the Internet of Things with Thingsquare and Contiki - day 2 part 2Building the Internet of Things with Thingsquare and Contiki - day 2 part 2
Building the Internet of Things with Thingsquare and Contiki - day 2 part 2Adam Dunkels
 
Unit 1 web technology uptu slide
Unit 1 web technology uptu slideUnit 1 web technology uptu slide
Unit 1 web technology uptu slideAbhishek Kesharwani
 
Next generation web protocols
Next generation web protocolsNext generation web protocols
Next generation web protocolsDaniel Austin
 
Deploy secure, scalable, and highly available web apps with Azure Front Door ...
Deploy secure, scalable, and highly available web apps with Azure Front Door ...Deploy secure, scalable, and highly available web apps with Azure Front Door ...
Deploy secure, scalable, and highly available web apps with Azure Front Door ...Stamo Petkov
 
Latency - The King of the Mobile Experience
Latency - The King of the Mobile Experience Latency - The King of the Mobile Experience
Latency - The King of the Mobile Experience WardTechTalent
 
Computer Networks Module 1-part 1.pdf
Computer Networks Module 1-part 1.pdfComputer Networks Module 1-part 1.pdf
Computer Networks Module 1-part 1.pdfShanthalaKV
 
6. QoS Concepts.pdf
6. QoS Concepts.pdf6. QoS Concepts.pdf
6. QoS Concepts.pdfyohansurya2
 
D1-3-Signaling
D1-3-SignalingD1-3-Signaling
D1-3-SignalingOleg Levy
 
12 01-nowak motorola 4 g fcc tac dec00
12 01-nowak motorola 4 g fcc tac dec0012 01-nowak motorola 4 g fcc tac dec00
12 01-nowak motorola 4 g fcc tac dec00anil kumar
 
Big data in the energy sector
Big data in the energy sectorBig data in the energy sector
Big data in the energy sectorFileCatalyst
 
Get Connected Minehead 05.04
Get Connected Minehead 05.04Get Connected Minehead 05.04
Get Connected Minehead 05.04Get up to Speed
 
Presentazione-Prelaurea_Alessandro-Nuzzi.pptx
Presentazione-Prelaurea_Alessandro-Nuzzi.pptxPresentazione-Prelaurea_Alessandro-Nuzzi.pptx
Presentazione-Prelaurea_Alessandro-Nuzzi.pptxAlessandroNuzzi1
 

Similaire à Network (20)

Sw2-hw10
Sw2-hw10Sw2-hw10
Sw2-hw10
 
Cleaning Up the Dirt of the Nineties - How New Protocols are Modernizing the Web
Cleaning Up the Dirt of the Nineties - How New Protocols are Modernizing the WebCleaning Up the Dirt of the Nineties - How New Protocols are Modernizing the Web
Cleaning Up the Dirt of the Nineties - How New Protocols are Modernizing the Web
 
PLNOG 13: Bart Salaets: Optimising TCP in today’s changing network environment
PLNOG 13: Bart Salaets: Optimising TCP in today’s changing network environmentPLNOG 13: Bart Salaets: Optimising TCP in today’s changing network environment
PLNOG 13: Bart Salaets: Optimising TCP in today’s changing network environment
 
HTTP 2.0 – What do I need to know?
HTTP 2.0 – What do I need to know? HTTP 2.0 – What do I need to know?
HTTP 2.0 – What do I need to know?
 
High performance browser networking ch1,2,3
High performance browser networking ch1,2,3High performance browser networking ch1,2,3
High performance browser networking ch1,2,3
 
Building the Internet of Things with Thingsquare and Contiki - day 2 part 2
Building the Internet of Things with Thingsquare and Contiki - day 2 part 2Building the Internet of Things with Thingsquare and Contiki - day 2 part 2
Building the Internet of Things with Thingsquare and Contiki - day 2 part 2
 
Unit 1 web technology uptu slide
Unit 1 web technology uptu slideUnit 1 web technology uptu slide
Unit 1 web technology uptu slide
 
Next generation web protocols
Next generation web protocolsNext generation web protocols
Next generation web protocols
 
Deploy secure, scalable, and highly available web apps with Azure Front Door ...
Deploy secure, scalable, and highly available web apps with Azure Front Door ...Deploy secure, scalable, and highly available web apps with Azure Front Door ...
Deploy secure, scalable, and highly available web apps with Azure Front Door ...
 
Latency - The King of the Mobile Experience
Latency - The King of the Mobile Experience Latency - The King of the Mobile Experience
Latency - The King of the Mobile Experience
 
Computer Networks Module 1-part 1.pdf
Computer Networks Module 1-part 1.pdfComputer Networks Module 1-part 1.pdf
Computer Networks Module 1-part 1.pdf
 
6. QoS Concepts.pdf
6. QoS Concepts.pdf6. QoS Concepts.pdf
6. QoS Concepts.pdf
 
D1-3-Signaling
D1-3-SignalingD1-3-Signaling
D1-3-Signaling
 
Multimedia streaming
Multimedia streamingMultimedia streaming
Multimedia streaming
 
INT_Ch17.pptx
INT_Ch17.pptxINT_Ch17.pptx
INT_Ch17.pptx
 
4 g
4 g4 g
4 g
 
12 01-nowak motorola 4 g fcc tac dec00
12 01-nowak motorola 4 g fcc tac dec0012 01-nowak motorola 4 g fcc tac dec00
12 01-nowak motorola 4 g fcc tac dec00
 
Big data in the energy sector
Big data in the energy sectorBig data in the energy sector
Big data in the energy sector
 
Get Connected Minehead 05.04
Get Connected Minehead 05.04Get Connected Minehead 05.04
Get Connected Minehead 05.04
 
Presentazione-Prelaurea_Alessandro-Nuzzi.pptx
Presentazione-Prelaurea_Alessandro-Nuzzi.pptxPresentazione-Prelaurea_Alessandro-Nuzzi.pptx
Presentazione-Prelaurea_Alessandro-Nuzzi.pptx
 

Plus de Ynon Perek

09 performance
09 performance09 performance
09 performanceYnon Perek
 
Mobile Web Intro
Mobile Web IntroMobile Web Intro
Mobile Web IntroYnon Perek
 
Qt multi threads
Qt multi threadsQt multi threads
Qt multi threadsYnon Perek
 
Mobile Devices
Mobile DevicesMobile Devices
Mobile DevicesYnon Perek
 
Architecture app
Architecture appArchitecture app
Architecture appYnon Perek
 
Unit Testing JavaScript Applications
Unit Testing JavaScript ApplicationsUnit Testing JavaScript Applications
Unit Testing JavaScript ApplicationsYnon Perek
 
How to write easy-to-test JavaScript
How to write easy-to-test JavaScriptHow to write easy-to-test JavaScript
How to write easy-to-test JavaScriptYnon Perek
 
Introduction to Selenium and Ruby
Introduction to Selenium and RubyIntroduction to Selenium and Ruby
Introduction to Selenium and RubyYnon Perek
 
Introduction To Web Application Testing
Introduction To Web Application TestingIntroduction To Web Application Testing
Introduction To Web Application TestingYnon Perek
 
Qt Design Patterns
Qt Design PatternsQt Design Patterns
Qt Design PatternsYnon Perek
 
Web Application Security
Web Application SecurityWeb Application Security
Web Application SecurityYnon Perek
 
JavaScript DOM Manipulations
JavaScript DOM ManipulationsJavaScript DOM Manipulations
JavaScript DOM ManipulationsYnon Perek
 

Plus de Ynon Perek (20)

Regexp
RegexpRegexp
Regexp
 
Html5 intro
Html5 introHtml5 intro
Html5 intro
 
09 performance
09 performance09 performance
09 performance
 
Mobile Web Intro
Mobile Web IntroMobile Web Intro
Mobile Web Intro
 
Qt multi threads
Qt multi threadsQt multi threads
Qt multi threads
 
Vimperl
VimperlVimperl
Vimperl
 
Syllabus
SyllabusSyllabus
Syllabus
 
Mobile Devices
Mobile DevicesMobile Devices
Mobile Devices
 
Architecture app
Architecture appArchitecture app
Architecture app
 
Cryptography
CryptographyCryptography
Cryptography
 
Unit Testing JavaScript Applications
Unit Testing JavaScript ApplicationsUnit Testing JavaScript Applications
Unit Testing JavaScript Applications
 
How to write easy-to-test JavaScript
How to write easy-to-test JavaScriptHow to write easy-to-test JavaScript
How to write easy-to-test JavaScript
 
Introduction to Selenium and Ruby
Introduction to Selenium and RubyIntroduction to Selenium and Ruby
Introduction to Selenium and Ruby
 
Introduction To Web Application Testing
Introduction To Web Application TestingIntroduction To Web Application Testing
Introduction To Web Application Testing
 
Accessibility
AccessibilityAccessibility
Accessibility
 
Angularjs
AngularjsAngularjs
Angularjs
 
Js memory
Js memoryJs memory
Js memory
 
Qt Design Patterns
Qt Design PatternsQt Design Patterns
Qt Design Patterns
 
Web Application Security
Web Application SecurityWeb Application Security
Web Application Security
 
JavaScript DOM Manipulations
JavaScript DOM ManipulationsJavaScript DOM Manipulations
JavaScript DOM Manipulations
 

Dernier

2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 

Dernier (20)

2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 

Network