Mobile Web Mechanics

Mobile Application Design and Development [./]
Spring 2010 — INFO 152 (CCN 42504)

Erik Wilde, UC Berkeley School of Information
2010-01-27

Creative Commons License [http://creativecommons.org/licenses/by/3.0/]

This work is licensed under a CC
Attribution 3.0 Unported License
[http://creativecommons.org/licenses/by/3.0/]

Contents Erik Wilde: Mobile Web Mechanics

Contents

Erik Wilde: Mobile Web Mechanics

(2) Abstract

In this lecture, we look at the mechanics that are required to make Web-based mobile applications possible. This starts with basic networking capabilities, the question how individual devices establish Internet connectivity, and how the devices then communicate with the next hop in the communications chain. Based on this connectivity, we look at what it takes to establish a Web connection, how clients and servers are connected (how the data is actually routed), and how this can be influenced by intermediaries. Finally, we look in more detail at the endpoints of such a conversation, the browser and the server. How does a browser on a mobile device access the network, and how does a server receiving a request route it to the appropriate logic for processing it? We will discuss many of these in more detail later, but this lecture presents the big picture of how they all work together to make the mobile Web work.



Current Events

Outline (Current Events)

  1. Current Events [2]
  2. Connectivity [6]
  3. Transport [7]
    1. End-to-End Transport [2]
    2. Intermediaries [4]
Current Events Erik Wilde: Mobile Web Mechanics

(4) iPad or iSlate?

ipad1.jpg

Current Events Erik Wilde: Mobile Web Mechanics

(5) Bigger is Better

ipad2.jpg

Connectivity

Outline (Connectivity)

  1. Current Events [2]
  2. Connectivity [6]
  3. Transport [7]
    1. End-to-End Transport [2]
    2. Intermediaries [4]
Connectivity Erik Wilde: Mobile Web Mechanics

(7) Networking Capabilities

gsm.png

Connectivity Erik Wilde: Mobile Web Mechanics

(8) Cell Phone Tower

cellphone-tower.jpg

Connectivity Erik Wilde: Mobile Web Mechanics

(9) Cell Phone Traffic



Connectivity Erik Wilde: Mobile Web Mechanics

(10) Internet Connectivity



Connectivity Erik Wilde: Mobile Web Mechanics

(11) Where Does It Go?



Connectivity Erik Wilde: Mobile Web Mechanics

(12) Static Internet Configuration

iphone-wifi-static.jpg

Transport

Outline (Transport)

  1. Current Events [2]
  2. Connectivity [6]
  3. Transport [7]
    1. End-to-End Transport [2]
    2. Intermediaries [4]
Transport Erik Wilde: Mobile Web Mechanics

(14) Web Communications



End-to-End Transport

Outline (End-to-End Transport)

  1. Current Events [2]
  2. Connectivity [6]
  3. Transport [7]
    1. End-to-End Transport [2]
    2. Intermediaries [4]
End-to-End Transport Erik Wilde: Mobile Web Mechanics

(16) Establishing Connectivity

  • HTTP traffic need a transport infrastructure
    • clients open connections for sending HTTP traffic
    • HTTP is a set of conventions regulating traffic over the transport
  • Any Internet host can establish Internet connections
    • IP is responsible for sending packets from and to computers
    • TCP is responsible for handling connections between programs
  • Routing on the Internet is a complex process
    • backbone routers routinely exchange large routing tables
    • Internet traffic always is packet-based, each IP packet travels alone
    • IP is packet-based for robustness


End-to-End Transport Erik Wilde: Mobile Web Mechanics

(17) Secure Connections

ssl-tls-layers.gif

Intermediaries

Outline (Intermediaries)

  1. Current Events [2]
  2. Connectivity [6]
  3. Transport [7]
    1. End-to-End Transport [2]
    2. Intermediaries [4]
Intermediaries Erik Wilde: Mobile Web Mechanics

(19) Proxies

  • HTTP is the language of the Web
  • Clients may want to use proxies for a variety of reason
    • proxies can make the Internet a more secure place (content filtering)
    • proxies can make the Internet a safer place (content filtering)
    • proxies can make the Internet faster (caching)
    • proxies can allow access to controlled content (library proxy)
    • proxies can be required by company policies (firewalls/logging)
  • Proxies are HTTP intermediaries and exist in different configurations


Intermediaries Erik Wilde: Mobile Web Mechanics

(20) User Agent Proxies

  • Configured by the client
  • Useful if a client knowingly wants to delegate HTTP requests
  • Can be global or for certain domains only
    • library proxies must be used for accessing publisher sites


Intermediaries Erik Wilde: Mobile Web Mechanics

(21) Reverse Proxies

  • Configured by service providers
  • Clients connect to the server (they think)
    • server-side configuration redirects traffic to the reverse proxy
  • Allows sophisticated server-side load balancing
  • Similar goals can be attained with advanced DNS resolution
    • resolve the same DNS name to different IP address [Geolocation; Internet Addressing (1)]es
    • allows completely different IP addresses for the same server name


Intermediaries Erik Wilde: Mobile Web Mechanics

(22) Provider Proxies

  • Configured by Internet providers
    • intercepting traffic on various levels
    • useful for monitoring/filtering/augmentation/transcoding
  • Monitoring allows providers to track Internet traffic
  • Filtering can be based on connections or content
  • Augmentation can add information (e.g., user location)
  • Transcoding can change content (e.g., adapting to mobile browsers)


Erik Wilde: Mobile Web Mechanics

(23) Conclusions



2010-01-27 Mobile Application Design and Development [./]
Spring 2010 — INFO 152 (CCN 42504)