Contents. Mobile Middleware Course. Introduction and Overview Sasu Tarkoma. Lecture Outline. Course Book. Mobile Evolution.

Similar documents
Mobile Middleware Course. Introduction and Overview Sasu Tarkoma

Mobile Middleware Course. Mobile Platforms and Middleware. Sasu Tarkoma

Mobile Platforms and Application Development. Prof. Sasu Tarkoma

COPYRIGHTED MATERIAL. Introduction. 1.1 Mobile Middleware

Today: Distributed Objects. Distributed Objects

(9A05803) WEB SERVICES (ELECTIVE - III)

Distributed Middleware. Distributed Objects

IMS Client Framework for All IP-Based Communication Networks

Mobile Network Architecture & Protocols WINLAB IAB Meeting October 29-30, 2001

LTE : The Future of Mobile Broadband Technology

Advanced Lectures on knowledge Engineering

T Computer Networks II. Mobility Issues Contents. Mobility. Mobility. Classifying Mobility Protocols. Routing vs.

Introduction to Distributed Systems. INF5040/9040 Autumn 2018 Lecturer: Eli Gjørven (ifi/uio)

Fundamental Issues. System Models and Networking Chapter 2,3. System Models. Architectural Model. Middleware. Bina Ramamurthy

Electronic Payment Systems (1) E-cash

Services and Identity Management Contents. A Basic Web Service. Web applications. Applications and Services

Distribution and Integration Technologies

Module 1 - Distributed System Architectures & Models

Govt. of Karnataka, Department of Technical Education Diploma in Computer Science Sixth Semester. Contact Hrs / week: 4 Total hrs: 64

Overlay and P2P Networks. Introduction and unstructured networks. Prof. Sasu Tarkoma

Vortex Whitepaper. Simplifying Real-time Information Integration in Industrial Internet of Things (IIoT) Control Systems

Announcements. me your survey: See the Announcements page. Today. Reading. Take a break around 10:15am. Ack: Some figures are from Coulouris

Chapter 4 Communication

Amigo Symposium 28 February 2008

Introduction to Distributed Systems (DS)

King Fahd University of Petroleum & Minerals Computer Engineering g Dept

Today: Distributed Middleware. Middleware

1.264 Lecture 16. Legacy Middleware

3C05 - Advanced Software Engineering Thursday, April 29, 2004

DS 2009: middleware. David Evans

Push-to-Revenue: Maximizing Potential Beyond Basic Push-to-Talk. David Wetherelt, Director International Carrier Sales

Global Applications and Services Over CDMA

Network Communications Standards. Applied Information Technology

Requirements for the Operations & Management of 4G Networks

Software Paradigms (Lesson 10) Selected Topics in Software Architecture

Chapter 1: Distributed Systems: What is a distributed system? Fall 2013

Breaking the Silos Access and Service Convergence over the Mobile Internet

Introduction to Distributed Systems

Distributed Systems Question Bank UNIT 1 Chapter 1 1. Define distributed systems. What are the significant issues of the distributed systems?

Analysis of Effectiveness of Open Service Architecture for Fixed and Mobile Convergence

Computer Networks and Distributed Systems

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 4

General requirements for ID/locator separation in NGN

Introduction to the Application Layer. Computer Networks Term B14

Distributed Systems. Bina Ramamurthy. 6/13/2005 B.Ramamurthy 1

Distributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan.

Introduction to Distributed Systems (DS)

Communication. Distributed Systems Santa Clara University 2016

T Network Application Frameworks and XML Routing and mobility Tancred Lindholm. Based on slides by Sasu Tarkoma and Pekka Nikander

Decade of Enhanced Services: Focus on Conferencing

Lecture 1 Overview - Data Communications, Data Networks, and the Internet

Overview. M-commerce vs. E-commerce

TSIN02 - Internetworking

Lecture - 01 Evolution of Wireless Communication Technologies

Wireless Internet: layers 3,4,5. Wireless Internet: Layers 3,4,5 Case Study: WAP. WAP: Wireless Application Protocol

CEN 538 Wireless LAN & MAN Networks

Introduction to Grid Technology

Distributed Systems. Prof. Dr. Schahram Dustdar Distributed Systems Group Vienna University of Technology. dsg.tuwien.ac.

IMS: Lessons Learned. Brough Turner SVP & CTO

Introduction. Distributed Systems IT332

Panel 1 Service Platform and Network Infrastructure for Ubiquitous Services

AQU Information Systems Fundamentals Spring 2012 Pg. 9.1

JXTA TM Technology for XML Messaging

CORBA (Common Object Request Broker Architecture)

IMS, NFV and Cloud-based Services BUILDING INTEGRATED CLOUD COMMUNICATION SERVICES

Module 2 Overview of Computer Networks

Module 2 Overview of. Computer Networks

Distributed Technologies - overview & GIPSY Communication Procedure

Z25 Adaptive and Mobile Systems Dr. Cecilia Mascolo

Lecture 11C Mobile Commerce

DATA SHEET HIGHTLIGHTS Deploying a Single System to Manage All Devices and Services Implementing Service Assurance

Never Drop a Call With TecInfo SIP Proxy White Paper

COURSE DESCRIPTION IP IN MODERN NETWORKS. Format: Classroom. Duration: 2 Days

Middleware. Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004

Mobile Multimedia Services

Evolution and Migration to IMT-2000 & Systems beyond

ITU-T Kaleidoscope Conference Innovations in NGN. Cross-fertilization of IMS and IPTV services over NGN

Industrial system integration experts with combined 100+ years of experience in software development, integration and large project execution

IT4405 Computer Networks (Compulsory)

Introduction and Overview Socket Programming Lower-level stuff Higher-level interfaces Security. Network Programming. Samuli Sorvakko/Nixu Oy

Operationalizing Seamless Mobility through Service Delivery Platforms

Project JXTA Technology Overview.

1. What is a Computer Network? interconnected collection of autonomous computers connected by a communication technology

Realtime Multimedia in Presence of Firewalls and Network Address Translation

Notes. Submit homework on Blackboard The first homework deadline is the end of Sunday, Feb 11 th. Final slides have 'Spring 2018' in chapter title

Realtime Multimedia in Presence of Firewalls and Network Address Translation. Knut Omang Ifi/Oracle 9 Nov, 2015

NGSON: Features, State of the Art, and Realization

Internet the way it should be

Overview. Distributed Systems. Distributed Software Architecture Using Middleware. Components of a system are not always held on the same host

Lecture 5: Object Interaction: RMI and RPC

CAS 703 Software Design

Distributed Automation System based on Java and Web Services

02 - Distributed Systems

Software interoperability in the NGN Service layer

WebRTC Gateway. Real-time communications in all browsers

COPYRIGHTED MATERIAL. Contents. 1 Short Message Service and IP Network Integration 1. 2 Mobility Management for GPRS and UMTS 39

02 - Distributed Systems

OSI Layer OSI Name Units Implementation Description 7 Application Data PCs Network services such as file, print,

Wireless Access Protocol(WAP) architecture

Enabling the Wireless Internet

Transcription:

Contents Mobile Middleware Course Introduction and Overview Sasu Tarkoma Lecture outline Motivation Mobile middleware overview Examples Summary Lecture Outline Course Book 16.3. 16-18 Introduction and overview. 23.3. Mobile platforms. 30.3. Support technologies 6.4. Easter Holiday 13.4. Principles and patterns. 20.4. Principles and patterns continued. 27.4. and service case studies. Mobile Middleware Architecture, Patterns, and Practice published by Wiley Publication date 27.3.2009 Exam: Thursday 6.5. 9-12 Motivation Mobile Evolution Mobile computing has become one of the breakthrough technologies of today Over 3.3 billion mobile phones in use, 4 billion SIM cards Current trend is converged communications Web resources integrate seamlessly with mobile systems Mobile systems are increasingly dependent on software The course provides a comprehensive overview of mobile middleware technology 1st generation (1990-1999) Text messages (SMS) and mobile data. Speeds up to tens of Kbps. 2nd generation (1999-2003) Limited browsers, WAP, imode, and MMS. Speeds up to 144Kbps. 3rd generation (2003-2008) Mobile platforms, middleware services. Series 60, J2ME, Android, iphone. Speeds up to several Mbps. 4th generation (2008-) Adaptive services, user interfaces, and protocols. Context-awareness, always-on connectivity. Speeds up to hundreds of Mbps. 1

Wireless Technologies MH AP Global System for Mobile (GSM), General Packet Radio Service (GPRS) Universal Mobile Telecommunications System (UMTS) Long Term Evolution (LTE) Wireless LAN (WLAN) Worldwide Interoperability for Microwave Access (WiMax) Ultra-wideband (UWB) Wireless Personal Area Network (WPAN) Bluetooth, Wibree RFID GPRS/UMTS Access network BS MH BS Ad hoc MH NAT NAT Public Data Network Router Router Backbone LAN MAN R R R R R Router Router Mobility in the Internet Users of Middleware This topic pertains to mobility of Networks Hosts Transport connections Sessions Objects (passive, active) Services Users Many solutions are needed on multiple layers Link layer, network, transport, application End user. The goal of middleware is not to directly interact with the end users, but rather support the applications and services that are visible to the users. This means that middleware should provide sufficient APIs and mechanisms to cope with different kinds of failures and faults, and in general support enhanced usage experience. Device Manufacturers. Device manufacturers use middleware in order to provide extended features that interface with device drivers. Internet Service Providers. Internet service providers utilize middleware to monitor and administer the network. Platform Providers. Platform providers develop middleware platforms that integrate with different operating systems. Application Service Providers. Application service providers utilize middleware in order to facilitate application development and deployment in a scalable and secure manner. Key Elements Accessibility Resources are available and accessible for end users irrespective of the current location or where resources are located Reachability Resources should be available in any location. Reachability cannot be taken for granted in today s dynamic environment Adaptability The environment is subject to changes. Mobile service usage needs to adapt to the operating environment. Trustworthiness The various entities in the environment need to have certain level of trust that operations are carried out according to expectations (and contracts). Universality Universal data access is one of the key reasons for the success of the Internet. This is a key element for the success of the mobile service ecosystem SMS ringtones, logos Monophonic Stores and Web pages Polyphonic WAP Ringtones Java portals Music clips Master tones time Social sites, media portals Music downloads revenue On-demand and streaming video Advanced browsers Full music and video streaming Full music streaming 2

Middleware Why Middleware? Widely used and popular term Fuzzy term One definition A set of service elements above the operating system and the communications stack Second definition Software that provides a programming model above the basic building blocks of processes and message passing (Colouris, Dollimore, Kindberg, 2001) Application development is complex and time-consuming Should every developer code their own protocols for directories, transactions,..? How to cope with heterogeneous environments? Networks, operating systems, hardware, programming languages Middleware is needed To cut down development time Rapid application development Simplify the development of applications Support heterogeneous environments and mask differences in OS/languages/hardware Middleware cont. Middleware services include directory, trading, brokering remote invocation (RPC) facilities transactions persistent repositories location and failure transparency messaging Security Network stack (transport and below) is not part of middleware Middleware provides various Middleware transparencies (HW, OS, location, fault,..) for apps. Transport Layer APIs (TCP/UDP) for: RPC, messaging, transactions, session management, storage, directories, trading, etc. Networking Layer (IP) (IP) Underlying network (link (link layer, physical) The Hourglass Examples diverse applications divergence transport layer (TCP/IP) convergence diverse physical layers Remote Procedure Call (RPC) call of a remote procedure as it were local marshalling / unmarshalling Remote Method Invocation (RMI) call of a remote method as it were local marshalling / unmarshalling Event-based computing entities receive asynchronous notifications a notification causes a state change Overlays and P2P content delivery 3

Transparencies Location transparency RPC and RMI used without knowledge of the location of the invoked procedure / object Transport protocol transparency RPC may be implemented using any transport protocol Transparency of OS and hardware RPC/RMI uses external data representation Presentation is important XML is becoming increasingly important Transparency of programming languages language independent definition of procedures: CORBA IDL, WSDL 10.0.0.2 Request from host forwarded to server, source 130.233.240.9 port 2000 130.233.240.9 10.0.0.3 Response forwarded to 10.0.0.3 port 1000 Inside Local IP Addr. Connection request to port 80 10.0.0.2 from host to web server, 10.0.0.3 source 10.0.0.3, port 1000 Response sent to 130.233.240.9 port 2000 Inside Port Out IP Addr. Out Port 1000 130.233.240.9 2000 1001 130.233.240.9 2001 Mobile Middleware I Mobile Middleware II Middleware is typically designed and implemented for fixed-network hosts High bandwidth, low latency, reliable communication Persistent storage, sufficient computing power, power supply No mobility Mobile environment requires new solutions Existing middleware services do not scale Small devices and embedded systems pose different challenges Goals for middleware: fault-tolerance, adaptability, heterogeneity,scalability, resource sharing Mobile middleware dynamically changing context Decoupled in space and time Asynchronous events, tuple spaces Basic solution for wireless Use a proxy Reflection Introduction to Platforms In general, middleware provides transparency to the underlying conditions Location transparency in RPC/RMI In mobile environments this is not always desired Sometimes we need to know about location changes, QoS changes, etc. Requirement for reflective middleware Should expose APIs for querying / changing important parameters Under development Mobile middleware aims to support the development, deployment, and execution of distributed applications in the heterogeneous and dynamic mobile environment. The goals for mobile middleware include adaptability support, fault-tolerance, heterogeneity, scalability, and context-awareness. The industry solution to these challenges has been to create middleware platforms. A platform collects frequently used services and APIs under a coherent unified framework. 4

Platforms continued Platforms A service platform is the realization of a service architecture following its principles and patterns. A Service Delivery Platform (SDP) is a set of components that are used to implement a service delivery architecture that includes service creation, life-cycle, session control, and security support. A service platform revolves around three main actors: service providers, service requesters and a service registry. Service providers publish service descriptions, and service requesters discover services and bind to the service providers. Publication and discovery are based on service descriptions. Current telecom SDP s utilize SIP, IMS, Web, and IPTV technologies in delivering services to mobile users. The Service Creation Environment (SCE) is responsible for supporting end user or developer driven software development. The main motivation for a SCE is to support easier and more flexible service creation and deployment. Typically, the SCE is used by a developer experienced with the supported scripting language and other tools; however, it is also envisaged that end users use SCEs to compose services. For end users, scripting and programming are expected to be replaced with adapting pre-generated service composition templates for current needs and requirements. Java Micro Edition (Java ME) iphone Symbian and Series 60 BREW WAP Windows Mobile and.net Compact Framework NoTA Linux Maemo Android OSGi Python Flash Lite Opera Mini Example: Symbian Example: WAP Programming model Application services Connectivity framework Application protocols Application engines Application framework Multimedia Graphics Messaging Narrow band protocols WAP browser WAP stack Security Connectivity link Connectivity plug-ins Web browser Web stack Comms infrastructure JavaPhone Java runtime Infrared Bluetooth Networking Serial comms Telephony Base Client Web Browser encoded request wireless encoded response Gateway Encoders Decoders Protocol Gateways request response Server HTTP Server CGI,.. Support Technologies Example: SIP DNS Server Location Service Session Initiation Protocol (SIP) IP Multimedia Subsystem (IMS) Web Services IP Television (IPTV) SQLite OpenGL ES PAMP Proxy Server SIP (SDP) DNS LAN Internet SIP (SDP) Wireless Network Proxy Server SIP (SDP) User Agent Alice Media (RTP) User Agent Bob 5

Service Discovery Example: UPnP 3 Control 4 Eventing 5 Presentation UPnP Jini Service Location Protocol (SLP) ZeroConf 2 Description 1 Discovery 0 Addressing 0 Control point and device get addresses 1 Control point finds interesting device 2 Control point learns about device capabilities 3 Control point invokes actions on device 4 Control point listens to state changes of device 5 Control point controls device and/or views device status using Web browser Mobility Solutions Advanced Topics Mobility and multi-homing can be realized on different layers Network Mobile IP, HMIP, NEMO Between network and transport Host Identity Protocol (HIP) Transport (SCTP) TCP extensions, SCTP (TrASH) Application SIP, Wireless CORBA, overlays Re-establish TCP-sessions after movement Overlay Networks Context-awareness Service composition Security and Trust Charging and Billing Mobile Service Development The mobile landscape is fragmented Heterogeneous device base Many different wireless technologies The situation is challenging for the developer Many APIs Many middleware platforms APIs evolve over time Current challenge of the industry pertains to improving the development processes PC World Idea SW-Design Implementation Operation A Operation SW-DesignX Implementation OS X Device A Device A Device B Device A Downloading B Operation Mobile World Idea Device C Device C A SW-DesignY Implementation OS Y Device D Device D Downloading B Device E Device E Downloading B Operation Operation Operation 6

Real-Time Interaction Non-Real-Time Session-Based Voice Push-to-talk Push-to- Video SIP (IMS) only Online Games Enterprise VPN Streaming IP/TV Video Peer-to-Peer Video on Demand SIP or Non-SIP Non-Session-Based Chats Instant Messaging Push email Web, HTML Messaging SMS and MMS E-Commerce Non-SIP Only Summary Mobile middleware Desktop middleware not usable on small, mobile devices The mobile and wireless environment is different from the traditional fixed-network computing environment Special solutions are needed Decoupling, context-awareness, adaptation,.. J2ME, WAE, Wireless CORBA,.. Current trends Flexibility, decoupled nature Convergence / unification 7