* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Concerns in networking
Survey
Document related concepts
Policies promoting wireless broadband in the United States wikipedia , lookup
Deep packet inspection wikipedia , lookup
Wireless security wikipedia , lookup
Piggybacking (Internet access) wikipedia , lookup
Wireless USB wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
TV Everywhere wikipedia , lookup
Internet protocol suite wikipedia , lookup
Remote Desktop Services wikipedia , lookup
List of wireless community networks by region wikipedia , lookup
Zero-configuration networking wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Transcript
Networking and Mobile Devices Content and goals • • • • Introduction Application partitioning Concerns in networking Sample techniques – Web Services – Bluetooth • MIDP Java and web services • Symbian OS and Bluetooth • Summary Introduction • Fundamentally, mobile devices liberate from the restrictions associated with a location -> Physical distribution • Issues – Resources – Transparency (off-line working, cost awareness, energy consumption, travel-through time, ...) • Can be taken as yet another resource whose accessing can be slower – E.g. memory • Separate thread often needed for UI and communications Networking System Station 2 transmissions Station 3 Station 1 Adding a Proxy Station 2 Proxy Station 1 Fixed Wireless domain domain Wireless Station Example Proxy: Wireless Corba Corba invocations object object GIOP GIOP GTP Adaptation and transport Terminal GTP wireless IIOP Adaptation and TCP transport Access bridge IIOP TCP fixed Other ORB Wireless Application Protocol WAP Example Proxy: WAP WAP device WAP gateway Web server WAE WSP WAE WSP HTTP HTTP WTP WTP WTLS WTLS SSL SSL WDP WDP TCP TCP Bearer Bearer IP IP (WAP Stack in Device) Application layer: Wireless application environment (WAE) (includes WML and WMLScript) Session layer: Wireless session protocol (WSP) Transaction layer: Wireless transaction protocol (WTP) Security layer: Wireless transport layer security (WTLS) Transport layer: Wireless datagram protocol (WDP) Bearers (SMS, CSD, GPRS,...) Infrastructure vs. Ad Hoc Networks • Infrastructure – Managed structure; control on who is allowed to participate – Somewhat static – Commonly relies on e.g. servers and registry components • Ad-Hoc – Members enter and leave uncontrollably – Dynamic in nature – Commonly relies on e.g. dynamic service discovery and formation rather than servers Ad-hoc network A B C A B D C A D Stateful vs. Stateless Systems • Stateful – Each station can have its own state – Global state is the combination of all local states – Complicates e.g. testing • Stateless – No stored state – Usually one control – Eased testing • Dilemma: Stateless can implement stateful by carrying all state information in transmissions – Serious communication overhead – Needed in practice if no support from underlying infrastructure Design patterns for networking environment • Use a network wrapper • Consider treating networking features similar to resources • When implementing server, keep it separate from client • Be prepared for loading times • Consider proactiveness Content and goals • • • • Introduction Application partitioning Concerns in networking Sample techniques – Web Services – Bluetooth • MIDP Java and web services • Symbian OS and Bluetooth • Summary Program-Oriented Approach using Client-Server Paradigm Client 1 Server 1 Services Client 2 Client 3 Server 2 Services Client-Server Architecture in a Mobile Device Only System Device 2 Client App 2 Device 1 Client App 2 Server App 1 Server App 2 Device 3 Client App 2 Client App 1 Browser-based Approach • Only requests and replies used, stateless protocol is enough – WML, HTTP, XHTML, ... • Downloading of executables that run on the fly • Problems – Convenient use may require redesign of web systems in any case – Travel-through time can be difficult to hide – Proxy? Web Browsing Proxy Mobile device Computer at home Web server Services Wireless access - Screen shots - Link information Broadband access - HTTP - Java Telephony or Data Communications? • Telephony – SMS, MMS (SMIL) – Commonly rapid connections (something may be taking place behind the curtains however) – Network push is ok • Data communications – GPRS – Long connection time – How to make a network initated operation? • Some issues – Cost, ease of use, what is expected by the user, what facilities are available in the installation base, ... Content and goals • • • • Introduction Application partitioning Concerns in networking Sample techniques – Web Services – Bluetooth • MIDP Java and web services • Symbian OS and Bluetooth • Summary Concerns in Networking • Network resource management – Often visible in software architecture as a dedicated application module – Connection to e.g. master communications facility? • Finding suitable network components – Know the address – Centralized repositories – Query protocols • Service use – Stateless or stateful communications? • Graceful termination – User initiated – Timeouts Content and goals • • • • Introduction Application partitioning Concerns in networking Sample techniques – Web Services – Bluetooth • MIDP Java and web services • Symbian OS and Bluetooth • Summary Web Service service lookup UDDI service description WSDL device service use Web service Web Service (Cont’d) • Application model – No particular model; offers independent services • Finding web services – UDDI – WS Dynamic Discovery • Service use – Acts as a service, not as an object • Bearers – SOAP – Bearer independent, practical implementations commonly use HTTP Content and goals • • • • Introduction Application partitioning Concerns in networking Sample techniques – Web Services – Bluetooth • MIDP Java and web services • Symbian OS and Bluetooth • Summary Bluetooth BT HOST (Laptop, MCU) UDP/TCP IP PPP RFCOMM app 2 app 1 SDP L2CAP Host Controller Interface Driver Physical connection (USB/UART/I2C...) BT HW Host Controller Interface Driver Link manager Baseband controller Bluetooth (Cont’d) • Application model – No particular model; offers independent services – Bluetooth profiles define different applications • Finding BT services – SDP • Service use – RFCOMM, serial port emulating protocol, can be used as a bearer for more complex protocols – Other protocols for using certain standardized services (e.g. OBEX) • Bearers – Own radio technology (frequency 2,4000-2,4835GHz) Content and goals • • • • Introduction Application partitioning Concerns in networking Sample techniques – Web Services – Bluetooth • MIDP Java and web services • Symbian OS and Bluetooth • Summary MIDP Java and Web Services 1 Local Application 1. 2. 3. 4. Stub Remote Services 2 Service Provider Interface 3 Local Client Device Application calls stub Stub calls WB via SPI SPI opens a connection to remote WS Remote computer serves the request 4 Network APIs and Tools • Java API for XML processing (JAXP) – Non-validating parser intended to parse incoming XML documents • Java API for XML-based RPC (JAX-RPC) – Implementation of RPC • Service Provider Interface (SPI) – Stub generation in a compatible fashion • Stub Generator – Generation of client-side proxy that can be called by the application to make calls to WS Some Other Available Techniques • • • • • Bluetooth Messaging Telephony features HTTP and browsing related features Plain data communications using e.g. sockets or serial port Content and goals • • • • Introduction Application partitioning Concerns in networking Sample techniques – Web Services – Bluetooth • MIDP Java and web services • Symbian OS and Bluetooth • Summary Symbian Bluetooth Facilities • Service Database – Hosts information that can be used by other devices – Used via Database Server API (RSdp), actual database characterized by RSdpDatabase • Service Discovery – Used to find devices, services and service attributes – Discovery agent (CSdpAgent) for configuring and starting the search – Notifier interface (MSdpAgentNotifier) for callbacks • Service use – E.g. socket communication Some Other Available Techniques • Messaging – Email, SMS, MMS (targeted to human) – BIO (targeted to device) – Fax • • • • Browsing protocols (e.g. HTTP, WAP) Telephony FTP and Telnet over a data connection GPRS, Bluetooth, Infrared, USB Content and goals • • • • Introduction Application partitioning Concerns in networking Sample techniques – Web Services – Bluetooth • MIDP Java and web services • Symbian OS and Bluetooth • Summary Summary • Network resources form yet another layer of facilities and resources for applications – Longish travel-through times – Restricted support for handovers can sometimes cause problems (e.g. IP address change) – Firewalls, etc. • Two-thread pattern – One for user, one for network • Stateless vs. stateful applications