CO2509 Mobile Computing - PowerPoint PPT Presentation

1 / 20
About This Presentation
Title:

CO2509 Mobile Computing

Description:

An introduction to key problems, concepts and solutions of mobile software. ... Cut-down HTML (WML or XHTML-MP) Client-side & server-side processing balance. Languages ... – PowerPoint PPT presentation

Number of Views:27
Avg rating:3.0/5.0
Slides: 21
Provided by: julie57
Category:

less

Transcript and Presenter's Notes

Title: CO2509 Mobile Computing


1
CO2509 Mobile Computing
  • Software Systems for Mobile Computing
  • An introduction to key problems, concepts and
    solutions of mobile software.
  • What is the difference between mobile computing
    and distributed computing?
  • Chris Casey (ccasey_at_uclan.ac.uk , cm226)

2
Key Features
  • Summary of content
  • Mobile Software using Java
  • Distributed software technology
  • Mobile phone software
  • Wireless systems
  • WAN, MAN, LAN PAN
  • Assessment
  • Examination 50 Coursework 50

3
Lecture Goals
  • You have learnt this material if you can
  • Give examples of mobile systems and explain the
    advantages of mobility
  • Outline solutions to key problems
  • Suggest advantages disadvantages
  • Recognise some key terms

4
What is Mobile Computing?
  • Access to information processing whenever and
    wherever you want
  • Does it need to be wireless?
  • An example of distributed computing
  • Distributed computing includes fixed networks

5
Why Mobile Computing?
  • Possible Goals
  • Communication
  • Distributing processing workload
  • Share data
  • Convenience
  • Location independence
  • Travel-related service

6
What are the goals?
  • A mobile game
  • Mobile device Web access to Google
  • Mobile device Web access to your bank
  • Laptop access to Astronomy simulation
  • Web Email

7
Key Mobile Problems
  • Communication Problems
  • Transferring the data between components
  • Security Problems
  • Preventing eavesdropping and impersonation
  • Data Problems
  • Formatting and ensuring consistency of data
  • Distribution Problems
  • Deciding the location of data and processing
  • User Interface Issues
  • Languages and programming issues

8
Communication Problems
  • Bandwidth
  • An inherent problem dependant on the physical
    link the communications protocols.
  • Possible Solutions
  • Data compression

9
Communication Problems
  • Error Control
  • Broken connections
  • Transferring data across a lossy link.
  • Bits changed
  • Blocks lost
  • Possible Solutions
  • Higher level protocols
  • Check for errors resend
  • Ignore e.g. voice transmission

10
Communication Problems
  • Data exchange
  • Sender receivers interpretation of data
  • Different devices different output capabilities
  • Possible Solutions
  • self-defining data, (XML, Schema)
  • e.g. SOAP use XML for requests to a service
  • transforming data for display- (XML, XSL)

11
Locating Destinations
  • Finding where someone or some service is
  • Finding a route through a network
  • Possible solutions
  • Directory Services
  • e.g. DNS Domain Name Service
  • Routing tables

12
Security Problems
  • Interception (Snooping)
  • Possible solutions
  • Encryption, steganography
  • Authentication (To whom are you talking?)
  • Possible solutions
  • Signatures / Certificates (which rely on
    encryption)
  • Authorisation
  • Access rights to data and services

13
Security Problems
  • Attacks
  • Virus, Trojan Horse,
  • Defect Attacks (e.g. Buffer Overflow),
  • Denial of Service
  • Possible solutions
  • Training Procedures
  • Limit permissions for untrusted software
  • Firewalls virus checkers

14
Data Problems
  • Concurrency
  • Multiple programs (threads) operating
    simultaneously
  • (Think joint bank accounts)
  • Classic problems
  • Mutual Exclusion
  • Ensure one program doesnt access data
    temporarily inconsistent because of another
    program
  • (e.g. transferring money between accounts)
  • Synchronisation
  • Ensuring a program doesnt access information
    until its ready
  • (e.g. withdrawing money before the salary is paid)

15
Data Problems
  • Consistency
  • Multiple copies of data can get out of step
  • Especially when components can be disconnected
  • Reliability
  • Risks of hardware/software failure data loss
  • State / Stateless Protocols
  • Basic HTTP protocol is stateless
  • The server has no memory of earlier requests
  • The use of cookies introduces state
  • The server accesses data it stored on a client

16
Distribution Problems
  • Architecture where everything is
  • Client/server
  • Peer-to-peer
  • Multi-tier architecture

17
Client/server
18
Peer-to-peer
19
Multi-tier architecture
  • A 3-tier architecture

20
3-tier Architecture Benefits
  • Separate the concerns
  • Can support may different user interfaces
  • The essence of the application is the server
  • This communicates with the database using a
    standard language (SQL) which is independent of
    the particular database
  • Database specialises in storing data, can easily
    upgrade.

21
User Interface Problems
  • Potentially slow and variable response time
  • Limited Device Capability
  • Screen size resolution
  • Processing power
  • Input devices special keyboard, pointing devices
  • Bandwidth (y do u spel lyk ths)
  • Connection failure
  • Potential Solutions
  • Cut-down user interface widgets
  • Cut-down HTML (WML or XHTML-MP)
  • Client-side server-side processing balance

22
Languages
  • Java, C have common features
  • Safety-conscious
  • Control program capability
  • Avoid common errors memory leaks
  • Interpreter checks code
  • Strongly object-based
  • Component-based user interface development

23
Why Java?
  • Portable
  • Compiled to bytecode assembly language for an
    imaginary machine, which is implemented in
    software
  • the Virtual Machine is supported on many systems
  • J2ME cut-down version for mobile devices
  • Mature
  • Time for problems to be removed
  • Feature Rich
  • Large collection of libraries (APIs)
  • Freely Available

24
Program Structure
  • Communication-based
  • Set-up a communication link
  • Read and write data
  • Remote Procedure Call
  • Make method calls across machines
  • the run-time system hides the communication

25
Interoperability
  • Accessing services from different systems,
    machines, operating systems, vendors
  • Standards Middleware
  • CORBA
  • Web Services

26
Summary
  • Mobile computing benefits
  • Communication, distribution, convenience
  • Mobile computing is complex
  • Errors can occur during communication
  • Communication implies concurrency
  • Concurrent programming is difficult
  • User interface is an especial problem
Write a Comment
User Comments (0)
About PowerShow.com