Odin – Smart Middleware for Mobile Services Andrew Meads firstname.lastname@example.org
Overview • Background • Motivating Examples • Challenges • Odin Middleware • Odin-Based Service Examples
Background • Traditional mobile app: Request Response
Background • Today’s smartphones are: • Ubiquitous • Powerful • “Always” Connected What novel mobile apps can we come up with that make use of this?
Background • Mobile service: Context
Motivation: Patient Monitoring • Location from GPS • Contact medical professionals in emergency • Vital Signs from BAN • Monitor in real-time • Control & give Feedback
Motivation: Mobile Media • Synchronize with external repository • Media tagged with Context data • Consumers obtain media from any source
Motivation: Social Networking • Friends share data real-time in a P2P fashion
Challenges • All these motivating examples sound cool, but: • How do we discover mobile services? • How do we connect to them? • How do we remain connected? • How does a smartphone handle excessive demand? • What happens when the battery runs low? • Etc…
Challenges: Reachability • Service reachability is an issue where a device’s connection is via a mobile (e.g. 3G) network • Mobile network operators (MNOs) sometimes discard traffic that originates outside of the mobile network • MNOs typically do not assign well-known addresses to devices, or charge a premium for this service • Service doesn’t receive message • MNO Firewall blocks request • Client sends message
Challenges: Scalability • Smartphones and 3G networks don’t scale to meet the demands of large numbers of clients
Challenges: Availability • A mobile service’s availability is affected by both its hosting device’s power and network status =
Odin • How does Odin help solve these issues? • Compare this…
Odin • How does Odin help solve these issues? • Compare this… to this. • Odin introduces the concept of a Surrogate, which provides addionalcomputational powerand manages device – client communication.
Odin: Overview • Middleware, in general, is a layer of software that sits between the application and platform (OS + hardware) • Middleware promotes reuse, portability, and interoperability Application Middleware Platform Application Application Application Odin (device) Odin (intermediary) Jini Mobile device Jini Mobile service Intermediary Client
Odin: Jini Foundation • Jini is a service-oriented architecture specification and implementation • Jini offers a programming model that leverages Java and extends it to address the “eight fallacies of distributed computing” • Logically centralised, physically distributed lookup service • Protocol independent • Mobile code • Leasing mechanism • Distributed event mechanism • Discover • Register Registry • Consume Client Service http://www.jini.org
Odin: Jini Surrogate Architecture • The Jini Surrogate Architecture (JSA) specification arose to allow devices that cannot run Jini to expose their services to Jini clients • Surrogate Registration • Discover • Register Registry Interconnect • Consume Surrogate Client Surrogate Host Device
Odin: Surrogate and Interconnect • Odin’s primary benefits over stock JSA include: • A multi-channel interconnect • A smart Surrogate cloud Registry Surrogate Device Surrogate Host Client
Odin: Reachability over 3G Networks HTTP Keep-Alive Request Response (client request attached) Response Keep-Alive (response attached) Device Firewall Surrogate Host Client
Odin: Vertical Handover • Proactive (in response to the detection of a superior network) Interconnect Surrogate Host Device
Odin: Vertical Handover • Reactive (in response to failure) Interconnect Surrogate Host Device
Odin: Surrogate Migration Device Surrogate “Migrate” C1 C2 C3 C3 C4 Surrogate Host One Surrogate Host Two
iStalker: A Mobile Social Networking Service Main Menu Can view friends, locations, etc. Each “friend” has their own service providing info. Details Can view details for all friends, even when their phones are off. Their Surrogate will still exist. Map Can view friend’s locations on a map. Location data is provided as a service. iPhone Processes Background process communicates with the Surrogate.
Health Monitoring Service Vital Sign Monitorprovided by Zephyr Group AwarenessView health, status, and location of multiple people Detailed Health MonitorView vital sign informaion