Mobile Applications Cellular Networks Wireless LANs Ad-hoc Networks

Slides:



Advertisements
Similar presentations
Dissemination-based Data Delivery Using Broadcast Disks.
Advertisements

Wireless & Mobile Communications Chapter 8: Support for Mobility  File systems  Data bases  WWW and Mobility  WAP - Wireless Application Protocol.
Mobile IP and Wireless Application Protocol
IT 644: Mobile Computing Instructor: Sridhar Iyer Course Page Lecture Hours Tue:
S3IWT02 24 May 2002 Dragomanov Andon :: Paunovski Ognen Introduction to Wireless Application Protocol (WAP) and WAP 2.O Standard Presented by Dragomanov.
Distributed components
Wireless Application Protocol and i-Mode By Sridevi Madduri Swetha Kucherlapati Sharrmila Jeyachandran.
Wireless Application Protocol John Bollen MBA 651.
-Presented By- Arati Avhad Shirali Agrawal Xue Li
CM2502 E-Business Mobile Services. Desktop restrictions Mobile technologies Bluetooth WAP Summary.
WAP: Wireless Application Protocol Mike Mc Ardle ACSG April, 2005.
Application Layer  We will learn about protocols by examining popular application-level protocols  HTTP  FTP  SMTP / POP3 / IMAP  Focus on client-server.
Client-Server Computing in Mobile Environments
Wireless Application Protocol (WAP) Reference: Chapter 12, section 2, Wireless Communications and Networks, by William Stallings, Prentice Hall.
Lecture slides prepared for “Business Data Communications”, 7/e, by William Stallings and Tom Case, Chapter 8 “TCP/IP”.
An Introduction to WAP/WML. What is WAP? WAP stands for Wireless Application Protocol. WAP is for handheld devices such as mobile phones. WAP is designed.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
WAP (Wireless Application Protocol). W – World W – Wide W -- Web W – World W – Wide W – Wireless W -- Web The Two Paradigms.
HTTP HTTP stands for Hypertext Transfer Protocol. It is an TCP/IP based communication protocol which is used to deliver virtually all files and other.
Internet, intranet, and multimedia database processing l Database processing across local and wide area networks l Alternative architectures for distributing.
M-commerce Challenges in the future time. Aj.Pongthep Termsnguanwong Marketing Department.
Lectured By: Vivek Dimri Assistant Professor, CSE Dept. SET, Sharda University, Gr. Noida.
WWW Programming Model. WWW Model The Internet WWW architecture provides a flexible and powerful programming model. Applications and content are presented.
World Wide Web and mobility Protocol (HTTP, Hypertext Transfer Protocol) and language (HTML, Hypertext Markup Language) of the Web have not been designed.
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
TECHNICAL SEMINAR Presented by :- Satya Prakash Pattnaik TECHNICAL SEMINAR By Satya Prakash Pattnaik EC Under the guidance of Mr.
Architectures of distributed systems Fundamental Models
FYP: LYU0001 Wireless-based Mobile E-Commerce on the Web Supervisor: Prof. Michael R. Lyu By: Tony, Wat Hong Fai Harris, Yan Wai Keung.
WIRELESS APPLICATION PROTOCOL Definition It is universal, open standard developed by the WAP Forum to provide mobile users of wireless phones and other.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Wireless Application Protocol. WAP- Wireless Application Protocol Gateway WAP WEB Server Content Browser HTTP IPWAP Deck WML.
Wireless Application Protocol “Wireless application protocol (WAP) is an application environment and set of communication protocols for wireless devices.
IT 284 Unit 4 Seminar.
WAP – Wireless Application Protocol RAJEEV GOPALAKRISHNA CS590F Fall 2000.
WAP Architecture Presented by, Nithya Inbamani. WAP Background Wireless Application Protocol – secure specification. Wireless Application Protocol – secure.
Internet Applications (Cont’d) Basic Internet Applications – World Wide Web (WWW) Browser Architecture Static Documents Dynamic Documents Active Documents.
WWW Programming Model. WWW Model The Internet WWW architecture provides a flexible and powerful programming model. Applications and content are presented.
Problem On a regular basis we use: –Java applets –JavaScript –ActiveX –Shockwave Notion of ubiquitous computing.
Wireless Application Protocol (WAP) William Thau CSC 8560 Dr. L. Cassel.
1 Seminar: Pervasive Computing 2004 Automatic mobile device configuration: Status & open challenges Stefan Hoferer Supervisor: Andreas Fasbender.
E-Business Infrastructure PRESENTED BY IKA NOVITA DEWI, MCS.
Mobile File Systems.
Web fundamentals: Clients, Servers, and Communication
Last Class: Introduction
Network Infrastructure Services Supporting WAP Clients
Instructor Materials Chapter 5 Providing Network Services
WWW and HTTP King Fahd University of Petroleum & Minerals
Mobile IP and Wireless Application Protocol
Chapter 25: Advanced Data Types and New Applications
Data Dissemination and Management - Topics
Mobile IP and Wireless Application Protocol
Whether you decide to use hidden frames or XMLHttp, there are several things you'll need to consider when building an Ajax application. Expanding the role.
CHAPTER 2 Application Layer.
#01 Client/Server Computing
Client-Server Interaction
Chapter 3: Windows7 Part 4.
WAP.
Computer Communication & Networks
Multimedia and Networks
Lecture 1: Multi-tier Architecture Overview
CSE 4340/5349 Mobile Systems Engineering
M-Commerce Wireless Markup Language (WML) By Prof T.R. Vaidyanathan.
Architectures of distributed systems Fundamental Models
Architectures of distributed systems Fundamental Models
CSCI {4,6}900: Ubiquitous Computing
Architectures of distributed systems
Architectures of distributed systems Fundamental Models
Wireless & Mobile Communications Chapter 8: Support for Mobility
Mobile Internet and WAP
#01 Client/Server Computing
Presentation transcript:

Mobile Applications Cellular Networks Wireless LANs Ad-hoc Networks Email/Web/Location services Intranet application access Wireless application protocol Wireless LANs Client-Server adaptations Disconnected operations Ad-hoc Networks Vehicular applications Emergencies Data broadcasting Mobile agents

Variability of the Mobile Environment Connectivity connected semi-connected (asymmetric) weakly connected disconnected Mobile Device Capability form factor Windows based GUI multimedia real-time multimedia Mobility stationary nomadic (pedestrian speed) mobile (vehicular speed) roaming (mobile across networks) Source: Helal

Mobile Applications - 1 Vehicles Emergencies Traveling salesmen transmission of news, road condition etc ad-hoc network with near vehicles to prevent accidents Emergencies early transmission of patient data to the hospital ad-hoc network in case of earthquakes, cyclones military ... Traveling salesmen direct access to central customer files consistent databases for all agents mobile office

Mobile Applications - 2 Web access Information services outdoor Internet access intelligent travel guide with up-to-date location dependent information Information services push: stock quotes; pull: nearest cash ATM find nearest printer (Jini services) Disconnected operations file-system caching for off-line work mobile agents, e.g., shopping Entertainment ad-hoc networks for multi user games

World Wide Web and Mobility HTTP/HTML have not been designed for mobile applications/devices HTTP 1.0 characteristics designed for large bandwidth, low delay stateless, client/server, request/response communication connection oriented, one connection per request TCP 3-way handshake, DNS lookup overheads big protocol headers, uncompressed content transfer primitive caching (often disabled, dynamic objects) security problems (using SSL/TLS with proxies) HTML characteristics designed for computers with “high” performance, color high-resolution display, mouse, hard disk typically, web pages optimized for design, not for communication; ignore end-system characteristics

System Support for Mobile WWW Enhanced browsers client-aware support for mobility Proxies Client proxy: pre-fetching, caching, off-line use Network proxy: adaptive content transformation for connections Client and network proxy Enhanced servers server-aware support for mobility serve the content in multiple ways, depending on client capabilities New protocols/languages WAP/WML

Wireless Application Protocol wapforum.org: co-founded by Ericsson, Motorola, Nokia, Phone.com Goals deliver Internet services to mobile devices independence from wireless network standards GSM, CDMA IS-95, TDMA IS-136, 3G systems (UMTS, W-CDMA) Browser “Micro browser”, similar to existing web browsers Script language Similar to Javascript, adapted to mobile devices Gateway Transition from wireless to wired world Server “Wap/Origin server”, similar to existing web servers Protocol layers Transport layer, security layer, session layer etc. Telephony application interface Access to telephony functions

WAP: Reference model and protocols Internet WAP A-SAP HTML, Java Application Layer (WAE) additional services and applications S-SAP HTTP Session Layer (WSP) TR-SAP Transaction Layer (WTP) SEC-SAP SSL/TLS Security Layer (WTLS) T-SAP TCP/IP, UDP/IP, media Transport Layer (WDP) WCMP Bearers (GSM, CDPD, ...) WAE comprises WML (Wireless Markup Language), WML Script, WTAI etc. Source: Schiller

WAP: Stack Overview WDP (Wireless Datagram Protocol): Provides transport layer functions Based on ideas from UDP WTLS (Wireless Transport Layer Security): Provides data integrity, privacy, authentication functions Based on ideas from TLS/SSL WTP (Wireless Transaction Protocol): Provides reliable message transfer mechanisms Based on ideas from TCP WSP (Wireless Session Protocol): Provides HTTP 1.1 functionality Supports session management, security, etc. WAE (Wireless Application Environment): Architecture: application model, browser, gateway, server WML: XML-Syntax, based on card stacks, variables, ... WTA: telephone services, such as call control, phone book etc. Content encoding, optimized for low-bandwidth channels, simple devices

WAP: Network elements fixed network wireless network Internet WAP proxy WML Binary WML HTML filter WML HTML HTML filter/ WAP proxy Binary WML web server HTML WTA server Binary WML PSTN Binary WML: binary file format for clients Source: Schiller

WAE: Logical model Origin Servers Gateway Client WTA user agent web response with content encoded response with content encoders & decoders WML user agent other content server push content encoded push content other WAE user agents request encoded request Source: Schiller

Wireless Markup Language (WML) Cards and Decks Document consists of many cards, cards are grouped to decks Deck is similar to HTML page, unit of content transmission WML describes only intent of interaction in an abstract manner Presentation depends on device capabilities Features text and images user interaction navigation context management WMLScript Provides general scripting capabilities Validity check of user input, local user interaction Access to device facilities (phone call, address book etc.)

WML: Example <WML> <CARD> <DO TYPE="ACCEPT"> <GO URL="#card_two"/> </DO> This is a simple first card! On the next you can choose ... </CARD> <CARD NAME="card_two"> ... your favorite pizza: <SELECT KEY="PIZZA"> <OPTION VALUE=”M”>Margherita</OPTION> <OPTION VALUE=”F”>Funghi</OPTION> <OPTION VALUE=”V”>Vulcano</OPTION> </SELECT> </WML> Source: Schiller

Application Adaptations for Mobility System-transparent, application-transparent the conventional, “unaware” client/server model System-aware, application-transparent the client/proxy/server model the disconnected operation model System-transparent, application-aware dynamic client/server model data broadcasting/caching System-aware, application-aware the mobile agent model

The Client/Proxy/Server Model Proxy functions as a client to the fixed network server Proxy functions as a mobility-aware server to mobile client Proxy may be placed in the mobile host (Coda), or the fixed network, or both (WebExpress) Enables thin client design: Resource-poor mobile computers Application resides on the server Keyboard and mouse inputs sent from client to server Display outputs sent from server to client

Web Proxy in WebExpress The WebExpress Intercept Model Source: Helal

Disconnected Operations: File Systems Goals Efficient/transparent access to shared files within a mobile environment Support for disconnected operations while maintaining data consistency Standard file systems (e.g., NFS) are very inefficient, almost unusable Approaches Replication of data (copying, cloning, caching) Getting data in advance (hoarding, pre-fetching) Main problem: consistency Typical mechanisms: strong consistency (via atomic updates) Invalidation of caches through a server Cannot be used in mobile environments Mobile computer may not be connected to network One solution: weak consistency Tolerate occasional inconsistencies Apply conflict resolution strategies subsequently Use version numbering, time-stamps (content independent) Use dependency graphs (content dependent)

File Systems: Coda Application transparent extensions of client and server changes in the cache manager of a client applications use cache replicates of files extensive, transparent hoarding Consistency system keeps record of changes; compares files upon reconnection if different users have changed the same file, manual reintegration of the file into the system is necessary optimistic approach, coarse grained (file size) mobile client cache application server Source: Schiller

File Systems - Coda Hoarding States of a client Consistency user can pre-determine a file list with priorities contents of the cache determined by the list and LRU strategy explicit pre-fetching possible periodic updating Consistency asynchronous, background comparison of files system weighs speed of updating against minimization of network traffic Cache misses function of file size and bandwidth modeling of user patience: how long can a user wait for data without an error message? States of a client hoarding strong connection weak connection disconnection write disconnected connection disconnection emulating Source: Schiller

Mobile Data Management Maximize query capacity of servers, minimize energy/query at client asymmetric links (high b/w from server to client; low b/w from client to server)! Pull data delivery: clients demand, servers respond clients request (validate) data by sending uplink messages to server Push data delivery: servers broadcast data, clients listen servers push data (and validation reports) through a broadcast channel,to a community of clients data are selected based on profiles and registration in each cell client energy is saved by needing receive mode only scales to any number of clients Push and Pull data dissemination: Sharing the channel Selective Broadcast: Servers broadcast "hot" information only On-demand Broadcast: Servers choose the next item based on requests

Organization of Broadcast Data Flat: cyclically broadcast the union of the requested data Skewed (Random): broadcast different items with different frequencies goal is that the inter-arrival time between two instances of the same item matches the clients' needs A B C A A B C

Broadcast Disks B C A Disk1 Disk2 A B A C Periodic broadcast of one or more disks using a broadcast channel Disks can of different sizes and can be broadcast at different speed Frequency of broadcasting each item depends on its access probability Disk speed can be changed based on client access pattern Source: Helal

Indexing on Air Server dynamically adjusts broadcast hotspot inx Server dynamically adjusts broadcast hotspot Clients read the index, enters into doze mode, and then perform selective tuning Query Time: time taken from point a client issues a query until answer is received Listening Time: time spent by client listening to the channel Source: Helal

Client Caching in Broadcasting Data are cached at clients to improve access time Lessen dependency on the server's choice of broadcast priority Traditionally, clients cache "hottest" data to improve hit ratio Cache data based on PIX: Probability of access (P)/Broadcast frequency (X). Cache data replacement cost-based is not practical requires perfect knowledge of access probabilities comparison of PIX values with all resident pages Alternative: LIX, LRU with broadcast frequency pages are placed on lists based on their frequency (X) lists are ordered based on L, the running avg. of interaccess times page with lowest LIX = L/X is replaced

Client Cache Invalidation Why? Value of data may have changed since caching by client When? Synchronous: send invalidation reports periodically Asynchronous: send invalidation information for an item, as soon as its value changes To whom? Stateful server: to affected clients Stateless server: broadcast to everyone What to send? invalidation: only which items were updated propagation: the values of updated items are sent aggregated information/ materialized views Another issue Commit of transactions involving read and write by clients Synchronous invalidation adds some latency in query processing

The Mobile Agent Model Mobile agent receives client request and Mobile agent moves into fixed network Mobile agent acts as a client to the server Mobile agent performs transformations and filtering Mobile agent returns back to mobile platform, when the client is connected

Mobile Code Definition: Approaches: (Not a totally new concept) Capability to dynamically change the bindings between code fragments and the location where they are executed Approaches: (Not a totally new concept) Remote batch job submission & use of PostScript to control printers Distributed OS led to more structured approach Process Migration Object Migration (Mobile Objects) Mobile Code Systems (Mobile Agents)

Process Migration Transfer of OS process from one m/c to other Migration mechanisms handle bindings between process and execution environment (e.g. open fds, env variables) Provide for load balancing Most of these facilities provide transparent process migration Other like Locus provide for some control like external signal or migrate( ) system call

Object Migration Makes possible to move objects among address spaces finer grained mobility with respect to processes e..g Emerald system : Different granularity levels - small to complex objects does not provide complete transparency COOL (oo extension of Chorus OS) allows total transparent migration Process and Object migration address issues when code and state are moved among hosts of loosely coupled, small scale distributed systems insufficient when applied to large scale settings

Mobile Code Systems Code mobility is exploited on Internet Scale Large scale, heterogeneous hosts, technologies Strong v/s weak mobility Mobility is location aware Programming language provides mechanisms and abstractions that enable shipping/ fetching of code to/from nodes Underlying run-time supports marshalling, code, check in , security etc no knowledge of migration policies Applications Not just for load balancing E-commerce, distributed information retrieval, workflow…

Mobile Code Systems: Design Several Paradigms: Client Server Remote Evaluation Code on Demand Mobile Agent Example: Two friends Sita and Gita interact to make a cake (results of service) recipe is needed (know-how about service) also ingredients (movable resources) oven to bake (hard to move resource) a person to mix ingredients as per recipe (computational component responsible for execution of code) prepare the cake (execute the service) where the cake is prepared (site of execution)

Client-Server: CS Sita would like to have chocolate cake: she does not know the recipe she does not have the required ingredients nor an oven Sita knows that Gita (who likes baking cakes) knows the recipe has a well supplied kitchen Sita calls Gita asking: “Can you make me a chocolate cake please?” Gita makes the cake and delivers it back to Sita

Remote Evaluation: REV Sita would like to have chocolate cake: she knows the recipe she does not have the required ingredients nor an oven Sita knows that Gita (who likes baking cakes) has a well supplied kitchen does not know the recipe Sita calls Gita asking: “Can you make me a chocolate cake please? Here is the recipe…” Gita makes the cake and delivers it back to Sita

Code on Demand : COD Sita would like to have chocolate cake: she has the required ingredients and an oven she does not know the recipe Sita knows that Gita knows the recipe (and is willing to share it) Sita calls Gita asking: “Can you tell me the recipe for making chocolate cake please?” Gita tells her the recipe and Sita makes the cake

Mobile Agent: MA Sita would like to have chocolate cake: she has the recipe and the required ingredients she does not have an oven Sita knows that Gita has an oven (and is willing to share it) Sita could prepare the batter go to Gita’s place bake the cake Several other variations are also possible

Mobile Agents: Example

Mobile Applications in Industry Wireless access: phone.com Alerting services: myalert.com Location services: airflash.com Intranet applications: imedeon.com Banking services: macalla.com Mobile agents: tryllian.com …. wapforum.org palowireless.com