Notes
Slide Show
Outline
1
Pervasive Computing
  • Vincenzo Liberatore
  • Case Western Reserve University
2
Pervasive Computing
  • Computing in the physical world
  • Components
    • Sensors, actuators
    • Controllers
    • Networks
  • Enables
    • Operations in hazardous environments
    • Timely remote support
    • Continuous operations
      • Remote monitoring
      • Troubleshooting
    • Reduce time, effort, cost to develop and upgrade applications
  • Merge cyber- and physical- worlds
3
Example
  • Physical environment
    • Pipes, levers
    • Switches
  • Sample task
    • Close lever
  • Robot
    • Actuators
      • Arm, gripper
    • Sensing
      • Force feedback
      • Visual feedback
    • Control
      • Local compliant control
  • Remote supervision
4
Expertise
  • Embedded Systems
    • Devices embedded in physical world
  • Control Theory
    • Interaction physics and computation
  • Computer Networks
    • Interconnection of embedded systems, controllers
5
Roadmap
  • Protocol Layers
  • Network and data link layers
  • Transport layer: TCP, RTP/UDP
  • Middleware
  • Quality-of-Service
6
Protocol “Layers”
  • Networks are complex!
  • Many “pieces”:
    • hosts
    • routers
    • links of various media
    • applications
    • protocols
    • hardware, software
  • Question:
  • Is there any hope of organizing structure of network?


  • Or at least our discussion of networks?
7
Organization of air travel
  • A series of steps
8
Organization of air travel: a different view
  • Layers: each layer implements a service
    • via its own internal-layer actions
    • relying on services provided by layer below
9
Layered air travel: services
10
Distributed implementation of layer functionality
11
Why layering?
  • Dealing with complex systems:
  • Explicit structure allows identification, relationship of complex system’s pieces
    • Layered reference model for discussion
  • Modularization eases maintenance, updating of system
    • Change of implementation of layer’s service transparent to rest of system
    • E.g., change in gate procedure doesn’t affect rest of system
  • Layering considered harmful?
12
Internet protocol stack
  • application: supporting network applications
    • ftp, smtp, http
  • transport: host-host data transfer
    • tcp, udp
  • network: routing of datagrams from source to destination
    • ip, routing protocols
  • link: data transfer between neighboring  network elements
    • ppp, ethernet
  • physical: bits “on the wire”


13
Layering: logical communication
  • Each layer:
  • distributed
  • “entities” implement layer functions at each node
  • entities perform actions, exchange messages with peers
14
Layering: logical communication
  • E.g.: transport
  • take data from app
  • add addressing, reliability check info to form “datagram”
  • send datagram to peer
  • wait for peer to ack receipt
  • analogy: post office
15
Layering: physical communication
16
Pervasive Computing Stack
  • Network stack
    • Layers of network software
    • Middleware and above
      • User space
    • Transport and below
      • Operating Systems
  • Design choice
    • Choose protocol at each layer
    • Modular design
17
Roadmap
  • Protocol Layers
  • Network and data link layers
  • Transport layer: TCP, RTP/UDP
  • Middleware
  • Quality-of-Service
18
Network Layer
  • Network layer
  • End-to-end connectivity
  • Multi-hop networks
    • E.g., wireless laptops in U.S., Sweden linked as 802.11 ↔ Ethernet ↔ satellite ↔ Ethernet ↔ 802.11
  • Convergence layer (IP)
    • IP (Internet Protocol)
    • IP supports multiple data links
    • Multiple transports support IP
19
Network Layer
  • Design space
    • Choose transport
    • Choose data link
  • Convergence
    • Transport independent of data link
    • Mix and match
    • E.g., RTP/UDP over 802.11
20
Roadmap
  • Protocol Layers
  • Network and data link layers
  • Transport layer: TCP, RTP/UDP
  • Middleware
  • Quality-of-Service
21
Transport Layer
  • Design choice
    • TCP or RTP/UDP
  • Three rules:
    • Real-time data: RTP/UDP
      • Sensor data
      • Video, sound, I/O
      • Control
    • Bulk data: TCP
      • Log download
      • Software upgrades
      • Coarse supervision
    • Middleware rules
      • E.g., RealAudio over UDP
      • E.g., HTTP over TCP
      • Usually, right choice made by middleware designer
      • However, bad choices can propagate
22
TCP
  • TCP’s objectives
    • Reliable, bi-directional, byte stream
  • Simplicity
    • Do not worry about reliability
  • A problematic choice
    • Reliability and timeliness
      • Data delivered successfully but late
      • Head-of-line blocking
    • Flow control
      • Low bandwidth applications
    • Overhead
      • Memory, time
23
Real-Time Transport
  • RTP-RTCP
  • Problems above solved
  • Support for
    • Feedback on connection quality
    • Timing, synchronization
    • End-point description, aggregation
    • Frame boundaries
  • Flexibility
    • Application-level framing
    • Custom-tailored reaction to congestion, packet losses, but
    • No error detection, recovery
  • Small header
  • Multicast support
24
RTP
  • Objectives
    • Support real-time communication
    • Active in Internet video and audio
  • RTP header
    • Includes sequence number, timestamp
    • Supports an extension header, padding
  • RTCP
    • Control protocol
  • Library support
    • RTPCreate(), RTPOpenConnection()
    • RTPSend(), RTPReceive()
    • RTPCloseConnection(), RTPDestroy()
  • URL: www.cs.columbia.edu/~hgs/rtp/
25
Roadmap
  • Protocol Layers
  • Network and data link layers
  • Transport layer: TCP, RTP/UDP
  • Middleware
  • Quality-of-Service
26
Resource Discovery
  • Plug-and-play
    • Add new resources on the fly
    • Example: USB
      • Plug in a USB camera on a USB port
      • But now we want: on a network, with arbitrary units
  • Example
    • Locate the Paradex on the network
27
Jini
  • Operations
    • Discover, Join, Look-up, Use
  • Programming
    • Include a library
    • Use functions
  • Fault-tolerance
    • Leases
      • Join only last for a certain time period
      • Renew the lease
    • Multiple look-up servers
    • JavaSpaces
      • Distributed shared memory
  • URL: www.jini.org
28
Middleware
  • Between application and transport
    • Libraries to provide advanced functionality
    • Hide communication
  • Applications
    • Resource Discovery
    • Remote Procedure Calls
    • Security
    • Interoperability (e.g., since Real-Time Corba)
    • Scheduling, resource management, performance analysis
    • Multicast
  • Software development
    • Simpler, faster
    • State-of-the-art functionality
  • Middleware over IP
    • Wealth of libraries for IP
    • Critical advantage of the Internet Protocol
29
Roadmap
  • Protocol Layers
  • Network and data link layers
  • Transport layer: TCP, RTP/UDP
  • Middleware
  • Quality-of-Service
30
Quality-of-Service (QoS)
  • Best-effort model
    • Prevalent in the Internet
    • No end-to-end circuit
    • Packets can be delayed
    • Delay is often unpredictable
    • No bandwidth reservation
  • QoS
    • Ameliorate best-effort model
    • E.g., packet priorities
  • Impact on control
    • Delays
      • E.g., forces small feedback gains
    • Packet drop-outs
      • Infinite delays
    • Jitter
      • Delay variability
      • Often more critical than average delays
    • Bandwidth
      • Relevance?

31
QoS
  • Application and middleware
    • Remediate network vagaries
  • Network layer
    • Map to data link QoS
    • QoS in multihop networks
  • Data link
    • E.g., priorities
32
QoS at IP
  • QoS at data link
    • E.g., priorities, token passing, VPN
    • E.g., CAN, Ethernet
  • QoS at IP
    • Protocol
      • IPv4: 4 basic Types-of-Service (ToS)
      • IPv6: many flow ids, Classes-of-Service (CoS)
  • QoS: from data link to IP
    • Code-point mapping
    • IP addresses
33
QoS in Multi-hop Networks
  • Queuing
    • Packets are forwarded from one network to another
    • Packets are queued at routers (store-and-forward)
    • Protect from cross-traffic cause congestion
  • Per-Hop Behaviors (PHB)
    • Behavior of individual router
      • E.g., Forward before all other queued packets
    • Maps into data link QoS
    • Depends on Class-of-Service
  • Class of service
    • Assigned by source or shapers
    • Imply PHB
34
Middleware and QoS
  • End-point middleware
    • Assume best-effort, unreliable network with no explicit QoS provision
    • End-points compensate for vagaries
  • Previous work (example)
    • Voice-over-IP
    • Replay buffer
  • Sampling and control methods
    • Joint work with M. Branicky and S. Phillips
    • On-line papers through vincenzo.liberatore.org
35
QoS: LAN and WAN
  • Data link
    • Network layers
      • Data link QoS independent of IP, transport, middleware
      • Middleware and transport motivate IP
    • Multiple possible solutions
      • E.g., Ethernet switches with 802.1p, 802.1q
  • Administrative
    • Can do anything (e.g., RVSP) within any single administrative domain
    • Need much cooperation with multiple administrative domains
36
QoS Assurances
  • Objectives
    • QoS protects from cross-traffic
    • QoS does not protect from failures, interferences
  • Worst-case
    • Is it cross-traffic?
    • Is it failures (e.g., network partition)?
    • Reasoning
      • Reason about system timing
      • Priorities make it easy
  • QoS vs. fault-tolerance
    • Failures as first class citizens
  • Average-case
    • Non-sense
    • Exacerbated by TCP
  • Tail
    • E.g., 99-percentile
    • Does not account for failure
    • It is not meant to account for failures
    • Must be paired with middleware, fault-tolerance
37
 
38