Mobile Services Flashcards
Distinguish user and device mobility
Device mobility (with user):
- Services should be robust against short outages and delays, allow operation while offline
- Favors implementation on device side
User mobility (across device):
- User can switch devices to use app or service
- Independence of device platform, OS, form factor - devices are just a window to the state
- Favors keeping all state on the server side (e.g. IMAP)
Name 6 application classes
- Content & service retrieval:
- RO access to data pool (maybe tailored to user requests)
- e.g. Webbrowsing - Database Interactions - Exclusive:
- RW access but one place for each user, mostly async
- e.g. Online stores, social networks - Database Interactions - (possibly conflicting):
- RW with possible conflicts
- async: e.g SVN
- sync: e.g. shared editors - Data collect and crowdsourcing
- WO, might contain slow feedback loop for content retrieval
- e.g. traffic data - Real-time meda
- End-to-end: voice call
- Server-mediated: gaming
- Server-originated: streaming, conferencing - Local apps
- No connectivity, might come with server interaction (updates, stats)
What are Over the top services (OTT Services)
Anything that is a favor of end-to-end from a network operator perspective
- Differentiates from operator-provided services
- Is essentially an overlay
- > All internet services
Different flavors: Simple client-server system, Cloud-based services, peer2peer networks
What is on-path caching?
Requests traverse the network on their way to origin server and get answered if a cache on path holds a copy of the resource
What is off-path caching?
Caches conspire to deliver content (likely orchestrated by backend)
What is reactive caching?
Define 2 policies for each cache:
- Caching policy: which new piece of content 2 store?
- Eviction policy: Which piece of content 2 remove when full?
Cache size > working set of objects
What is proactive caching?
- Backend-controlled decisions which content items are pushed to cache.
- Explicit support for geo/topology support
- Caching choices could use heuristics based on history
What are content distribution/delivery networks?
- CDN provides establish points-of-presence in different ISP networks
- Content providers sign contracts for content provisioning
- Content providers publish content to CND
- CDN providers monitor the network and maintain closest server information to route requests to the closest location
What content can typically be delivered in CDNs?
Static web content: pages, images
Multimedia streaming
Local advertisements
What is edge computing?
Edge computing is providing resources closer to the mobile user: Computation, storage, information
What is fog computing?
Computing “wider than the edge”
Collaborative computing involving end user devices near the user at the edge.
-> Enabling computation for IoT
Name 3 possibilities to implement virtual servers in MANETs
Choose one node:
- Establish knowledge about the available nodes, elect leader, determine backups
- Replication & liveness checks necessary
Distributed:
- Define algorithm to allocate responsibilities to all nodes
- Define repl strategy
Super peers:
- hybrid of above
- super peers chosen based upon their expected availability
What issues in terms of responsibility do we have to handle for MANETs?
Election process: measure reachability, include node properties in hello msgs, define tie breakers
Backup: determine replicas and try to sync, Backups monitor origin to take over if necessary
Handover/Failover: Backups recover state locally or cooperatively as far as possible (ideally: master hands over data before leaving), update service discovery
Name some limitations of MANETs
1 size: Number of nodes part of network, control traffic, & data traffic congestion on shared medium
2 node movement and instability: Leads to continuous updates and may complicate reaching service nodes, node churn due to mobility
3 Incentives for service provisioning: Storage and computation, batter lifetime
4 Security
What are opportunistic networks? Name some characteristics
Disconnected network segments that might connect at some point in time (when nodes reach each other)
- delay tolerant networking operation: interactions might take time, hard to tell response delay
- Chatty protocols won’t work: self-contained messages are required
- No global view: Individual views usually not consistent, small groups of nodes may have a common understanding
- Many established building blocks won’t do