CS1: Wireless Communication and Mobile Programming Mobile Computing Architecture Dr. Khaled Mahmud Laurentian University International Global Experience Program Summer 2016
Agenda Internet- Ubiquitous network Mobile computing architecture Presentation Application Data Mobile computing design consideration Content Context Platform Security (c) Khaled Mahmud
Reference Chapter 2 [TEL] Web references (c) Khaled Mahmud
Hierarchy of Networks Core Distribution Access (c) Khaled Mahmud Source: Cisco
Next Generation Network (NGN) (c) Khaled Mahmud Source: Huawei
The Internet The network of networks: The biggest network of all Ubiquitous (almost there) IP-based network Ready to carry any content/service (voice, video, data) (c) Khaled Mahmud Source: Cisco
3-Tier Architecture of Mobile Computing: Network-centric Approach Presentation Tier Application Tier Data Tier User Interface Tier-1: Presentation Tier Access Network Proxies/ Adaptation Middleware Tier-2: Application Tier Tier-3: Data Tier Process Management Middleware Business Logic Database Management Middleware Data Store (c) Khaled Mahmud
Components of 3-Tier Presentation Tier Application Tier Data Tier JDBC XML Data Store Internet Explorer iPlanet web server Java server pages IBM WebSpehere Servlets RMI Oracle WebLogic SAP Net Weaver SOAP JBOSS SQL Database Android browsers Apache XSLT Enterprise Java Beans Jakarta IIOP XML XML HTML ZOPE CGI (C, Perl, Python) Opera mobile .NET Tier SOAP Other applications and web services Glass Fish WML/HDML HTTP Aggregation service WAP browser RMI – Remote Method Invocation IIOP- Internet Inter-Orb Protocol RPC Zend PHP JavaScript HTTPS Jetty XML Data and web feed J2ME Google’s cloud computing –based tier Roxen Pike XML Oracle and its applications RTSP Equipment Voice Internet Information Server Active Server Page Legacy applications MS Exchange .NET & Transaction server adapters MS Commerce Server COM COM Appliances (c) Khaled Mahmud
Presentation Tier Related to User Interface Runs on client device Audio, visual, other mechanical (e.g. touch screen, gyro, vibration, pen) Runs on client device Includes browsers, customized client programs Can involve various agent software Functions range from simple HTTP-based service access to complex data access and management (c) Khaled Mahmud
Application Tier ‘Middle Tier’ Runs Business Logic Process user input Obtain data Make decision Performs transcoding Technologies include CGI, Java, JSP, .NET, PHP Usually (should be) independent of Presentation or Data Tier (c) Khaled Mahmud
Application Tier (cont…) Mobile computing environment specific functions Decisions on rendering Network management Security Datastore access Most of these functions are implemented in middlewares (c) Khaled Mahmud
Categories of Middleware Message-oriented middleware Transaction Processing middleware Database middleware Communication middleware Distributed objects and components Transcoding middleware (c) Khaled Mahmud
Web Services Standard means of information exchange Identified by URI Between different software application Running on variety of platforms Identified by URI Uses XML/JSON to define public interfaces Basic architecture include Service requester Service provider Discovery agency Interaction flow: PublishFindBind (c) Khaled Mahmud
Data Tier Datastore or database Can be permanent or temporary Can be Text-based Hierarchical Relational XML/JSON format A legacy system can be considered as data source or a document Through proper adapter (middleware) (c) Khaled Mahmud
Database Middleware Database should be independent of Application Tier (business logic) Database middleware helps to create that isolation Database middleware runs between application program and database Database middleware are also called connectors ODBC, JDBC Connectors enable program to access various data sources from various database vendors (c) Khaled Mahmud
OMA Data Synchronization and Device Management (SyncML) Developed under the project called Open Mobile Alliance Data Synchronization and Device Management Formerly called SyncML Vendor independent data synchronization solution The protocol supports HTTP 1.1 Browser and Content (previously called WAP browsing): XHTML Mobile Profile OBEX (used in Bluetooth) SMTP/POP3/IMAP Supported by Motorola Samsung Nokia/Siemens and others Source: https://en.wikipedia.org/wiki/Open_Mobile_Alliance (c) Khaled Mahmud
Design Consideration of Mobile Computing Mobile computing development needs to be Context-sensitive But context independent (c) Khaled Mahmud
Context-based Service Adaptation Service needs to be adapted according to the context Content can be adapted Behavior can be adapted Approaches Content with context awareness Content switch on context Content transcoding (c) Khaled Mahmud
What is Context in Mobile Computing? Definition by feature: Contextual Information User Preferences, Goals, State of Mind, etc. Task Difficulty, Criticality, etc. Environment Temperature, location and settings, nearby services& people, etc. Time Time of day, day of week, etc. (c) Khaled Mahmud Source: Ed Sykes, et. al.
Contextual Information (c) Khaled Mahmud
Context-aware System Context-aware system can handle context-related information Extract Interpret Use Adapts functionality to match the current context Challenge for machines Context capture Context representation Filtering and interpretation of contextual data (c) Khaled Mahmud
Context Management Involves Context sensing Context representation Context interpretation (c) Khaled Mahmud
Context Representation W3C approach Composite Capabilities/Preference Profile (CC/PP) Resource Description Framework (RDF) Semantic Web (c) Khaled Mahmud
Client Context Management Involves Policy Manager Security Manager Adaptability Manager (c) Khaled Mahmud
Security Manager Provides secure connection between client device and origin server Main security issues Confidentiality Integrity Availability Non-repudiation Trust (c) Khaled Mahmud
Adaptability Needs to consider May require transcoding Physical capability of the device Logical capabilities of the device Available network bandwidth Payload May require transcoding (c) Khaled Mahmud
Content Transcoding Spatial Transcoding Temporal Transcoding Color Transcoding Code Transcoding Object or Semantic Transcoding (c) Khaled Mahmud