Jsr 307 mobiledata and mobility preferences
1 / 46

JSR-307 MobileData and Mobility (preferences) - PowerPoint PPT Presentation

  • Uploaded on

JSR-307 MobileData and Mobility (preferences). Eric Overtoom, Motorola November 14, 2007. Introduction. JSR-307 is a proposal for specification of interfaces for Java MicroEdition to control Connectivity preferences (data and other connection based services like voice telephony)

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'JSR-307 MobileData and Mobility (preferences)' - vivian-payne

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Jsr 307 mobiledata and mobility preferences

JSR-307MobileData and Mobility (preferences)

Eric Overtoom, Motorola

November 14, 2007

JCP JSR-307 Expert Group


  • JSR-307 is a proposal for specification of interfaces for Java MicroEdition to control

    • Connectivity preferences (data and other connection based services like voice telephony)

    • Data session establishment

  • The JSR-307 Expert Group started in November, 2006

JCP JSR-307 Expert Group


  • JSR-307 is being created to allow applications more control over data session establishment (and other network connectivity)

  • Current Java ME + MIDP allows describing the system to attach to, but no information about what route to use for establishing that connection

  • Focus on application view of the system

  • Core problem: same settings for all Java connections

    • This can cause trouble if the default (operator specified) configuration doesn’t provide a connection to the destination

    • Some applications need specific bandwidth or configuration (i.e. a Java implementation of JSR-281 (IMS))

  • Take advantage of new platform implementation features, such as tagged configurations

JCP JSR-307 Expert Group

Core need
Core need

  • Not all applications have the same connectivity requirements

    • Different than PC/desktop, where all applications assume and are configured for the same level of connectivity

  • Reconfiguration is difficult

  • Multiple connectivity services are available

    • Cellular data routing to public or carrier network

    • Multiple options may be present at one time – even in a single mode device

    • Different costs to use these services

JCP JSR-307 Expert Group

Sample use cases
Sample use cases

  • Games which can post high-score information for competition

    • Need access to particular APN on GPRS, or use public WiFi hotspot access

  • Music Sync/Catalog

    • Wants to know when on home network to sync, avoid network access otherwise

  • Carrier applications

    • Use GPRS or require a IPSec connection over WiFi to the carrier core network

  • Connection configuration

    • Need > 200 kbps to carry a video stream

JCP JSR-307 Expert Group

Jsr 307 is
JSR-307 is

  • Common means to request particular connection attributes, across access technologies

  • Learn about device abilities

    • Available access technologies/configurations, how a particular connection is configured and routed

  • Provide way to request more abstract connectivity, instead of specific access technology configurations

  • Configuration for IP networking

  • Control connectivity preferences

    • Static application needs and dynamic per-connection

  • Notifications of changes in connectivity and availability

  • Abstraction from the device configuration

    • Applications shouldn’t be sensitive to technology

JCP JSR-307 Expert Group

Jsr 307 isn t
JSR-307 isn’t

  • Directly controlling connectivity via an Access Technology

    • Influence platform decision, but not override platform decisions

  • Providing session continuity

    • Can represent what the platform may provide

  • Including non-IP data connectivity

    • Serial, most Bluetooth connectivity is out of scope

  • Replacing the Generic Connection Framework

JCP JSR-307 Expert Group

Jsr 307 and 802 21
JSR-307 and 802.21

  • Both provide means to request and manage links abstracted from the access technology

  • JSR-307 assumes a data management layer below which makes decisions and supports any platform session continuity

    • Focus is on application requests to establish sessions, and obtain information about sessions

  • The MIHF likely is at least a portion of that data management layer

    • Managing options and session continuity

  • Depending on implementation, some JSR-307 preferences may influence operation of the MIHF

JCP JSR-307 Expert Group

Comparison of components
Comparison of components

Java application using JSR-307

JSR-307 mobiledata

JSR-307 connectionpreferences

JCP JSR-307 Expert Group

Jsr 307 participants
JSR-307 participants

  • Motorola – lead and co-lead

  • Nokia

  • Ericsson

  • Telcordia (802.21 liaison)

  • Sony-Ericsson

  • Sun

  • Siemens

JCP JSR-307 Expert Group

Jsr 307 schedule
JSR-307 schedule

  • Early Draft - December 2007

    • first public review

    • EG will close after ED

  • Public Draft – June 2008

  • Proposed Final Draft – Dec. 2008

  • Final Draft, RI, TCK – Feb 2009

    • Reference Implementation, Test Compatibility Kit

    • Will be opensourced

JCP JSR-307 Expert Group

Platform reference architecture

Platform reference architecture

JCP JSR-307 Expert Group

Reference platform
Reference Platform


Physical Interfaces

JCP JSR-307 Expert Group

Connection configurations

Apply to all

connection requests

Connection configurations

  • For all connections, the configuration request which is used by the platform comes from 4 sources (only one of which is required)

    • Device defaults – pre-configured settings if no other request is made

    • Application provisioned defaults – information provisioned in the JAD file

    • Application preferences – information provided after installation by the user

    • Dynamic needs – bandwidth, etc. for this session



JCP JSR-307 Expert Group

Connection configuration
Connection configuration


Connection Preferences

JCP JSR-307 Expert Group

Interface configurations
Interface configurations

  • We assume that below the Java implementation is the actual platform connection manager

    • JSR-307 exposes capabilities of this manager, no new functions or logic are added

    • Java objects just expose native functionality

  • Assume there is a set of stored configurations of the access technologies

    • Each configuration represents a distinct way of accessing a network

    • These may be grouped/tagged when multiple configurations all represent the same connectivity

  • These configurations can be composed to satisfy connection requests/requirements

JCP JSR-307 Expert Group

Example configuration tree
Example configuration tree

JCP JSR-307 Expert Group

Mobility preferences

Mobility* /Preferences

* Mobility here is from cellular technology definitions – selection of a network to use

JCP JSR-307 Expert Group


  • Package with interfaces to control how the platform will select a route for a connection when more than one route is possible

    • Which is preferred – GPRS or WiFi when both networks can be seen?

  • Set of attributes in the application JAD file

    • Minimum or default preferences this application needs to install/run

JCP JSR-307 Expert Group

Configurable objects
Configurable objects

  • The ConnectionPreferences package allows setting of preferences for applications and interfaces within the device

  • A ‘Configurable’ is the actual object which can be configured in this way

    • Each Configurable object has a set of Preferences

    • Only these Preferences objects are defined in JSR-307

  • Mapping a Configurable to an interface ultimately is specific to the interface/feature package

    • These examples focus on data connectivity preferences

    • Parallels can be drawn for voice telephony

JCP JSR-307 Expert Group

Configuration hierarchy
Configuration Hierarchy

  • Each level has preferences for what providers of services needed

  • Relates to the different data paths which are possible in the system for a particular service/feature/interface

  • Bottom level is a Configuration of a physical interface

JCP JSR-307 Expert Group

Configurable hierarchy
Configurable Hierarchy



JCP JSR-307 Expert Group

Package class diagram
Package class diagram

JCP JSR-307 Expert Group


  • Lowest level in the hierarchy

  • Represents a configuration of an interface

    • A particular network on a particular access technology

    • Used where the network in use has an impact on the connectivity (802.11)

  • No further preference settings, some limited information

JCP JSR-307 Expert Group


  • Representation of an access technology, and preferences for individual networks on that access technology

  • Used where the network in use does not impact connectivity or services available (Cellular packet data, WiMax)

  • Preferences may impact multiple features which share that access technology

JCP JSR-307 Expert Group

Sharing of network preferences
Sharing of network preferences

JCP JSR-307 Expert Group


  • Application or service top-level configuration

  • May have other Configurable objects below to select from

    • Each of these then has preferences for its own selections to make

JCP JSR-307 Expert Group

Application preferences
Application preferences

  • These preference settings are changeable for the application only

  • Platform level defaults can only be altered using platform software (outside JSR-307)

  • The platform may restrict ability to change some settings

    • Security or device restrictions

    • Operator restrictions

JCP JSR-307 Expert Group



JCP JSR-307 Expert Group

Javame generic connection framework
JavaME Generic Connection Framework

  • The GCF is an existing abstract means to communicate off device

    • Includes IP based as well as serial, Bluetooth, etc.

    • Focus is on data-plane send/receive operations

  • Application requests a connection using a URI

    • Platform uses the URI to identify the protocol to be used, along with the interface (IP, serial, etc.)

  • IP connectivity supported using HTTP as well as sockets

  • Picking a route for IP connections left up to platform settings

    • Usually reusing the settings for the browser

JCP JSR-307 Expert Group


  • Package with objects to represent parts of the data plane which are available

  • Represent available connection configurations which are known and/or present

    • Can drill down to find objects supporting an interface

  • Request a configuration of the data plane

    • QoS preferences, required parameters

    • Leverage the GCF to provide the data plane

  • Application use is optional – if only defaults are needed and specified in JAD or preferences

JCP JSR-307 Expert Group

Mobiledata class diagram
Mobiledata Class diagram

JCP JSR-307 Expert Group

Physical interface
Physical Interface

  • Represents actual interface hardware in the device

  • Can learn information about the capabilities of that interface

    • What capabilities (parameters) are supported

    • What the ‘best’ setting possible is for each parameter

  • Network preferences would be accessed through a NetworkPreferences object

JCP JSR-307 Expert Group


  • A configuration of a data path

    • ESSID configuration for 802.11

    • APN configuration for 3GPP

    • MobileIP configuration (HA address, etc.)

  • PhysicalMobileInterface – configuration of an actual data interface to a network

    • Radio, modem, USB, etc.

  • TunnelMobileInterface – configuration of a data-path component which transforms data

    • IPSec, VPN, MobileIP

    • Can support session continuity – platform picks new route when a link is being lost

  • Can be used to restrict connections to a particular configuration

  • Corresponds to an AccessPreferences object

JCP JSR-307 Expert Group

Mobileinterface skeletons
MobileInterface skeletons

  • MobileInterfaces are stored configurations, they may not always be present and usable

  • A MobileInterface which is not known to be present is a skeleton

  • Skeleton interfaces can be used in configuration/preferences operations but attempts to establish a connection may fail

JCP JSR-307 Expert Group

Transient mobileinterfaces
Transient MobileInterfaces

  • Represent configurations for discovered networks

  • These are configurations which are not stored in the system

  • MobileInterface configuration goes away when the network goes out of range

    • Unless the user saves the configuration

JCP JSR-307 Expert Group


  • Abstract representation of a type of connectivity

  • ‘Stand-in’ for multiple MobileInterfaces

  • Platform selection of the final data configuration

    • Uses preferences if more than one configuration is available which meets the destination

    • Connection doesn’t change after being setup

    • Evaluated on each new Connection open request

  • Names come from stored configurations

    • Have value only to the creator of the name and the user of the name

    • Same value may be provisioned in the configuration and JAD

JCP JSR-307 Expert Group


  • Dynamic configuration of a connection, prior to opening the connection

    • Set parameters to build the connection configuration request

  • Used to open a data session

  • Parallel to Connector class in Java ME

  • Bound to either a MobileInterface or a Destination

    • Controls the set of configurations which the platform can consider to establish the session

JCP JSR-307 Expert Group

Connection parameters
Connection Parameters

  • A set of generic connection configuration parameters are being defined

    • Similar to (possibly based on?) the 802.21 data types

  • Support for access technology specific parameters

    • Only when using a MobileInterface however – these cannot be used on a Destination

JCP JSR-307 Expert Group


  • Information about actual Connection configuration

    • Actual negotiated capabilities

    • Interface being used

  • Access to modify an established connection

    • Change bandwidth, other QoS settings

JCP JSR-307 Expert Group


  • Support notifications about possible connectivity and changes in connectivity

  • Connection impact

    • Loss of connection

    • Pending loss of connection

    • Change in connection configuration

  • Interfaces and Destinations

    • Becoming available/active

    • Better provider becoming availables

JCP JSR-307 Expert Group

Wrap up


JCP JSR-307 Expert Group

Complementary services
Complementary services

  • JSR-307 is providing some similar services to applications as MIH

    • More services are present in 307, these are not in the MIH scope (preferences, control of the MIHF)

    • We can map 307 operations to current MIH SAP operations

  • JSR-307 focus is on services built over MIH functionality

    • Not making the decision, but allowing applications to see the result of the decision

    • Keeping things simple for applications

JCP JSR-307 Expert Group

Anything else
Anything else?

  • Are there operations which might be useful to support within JSR-307 for application developers?

    • Developer input is limited at present

    • We appreciate any other use cases and requirements which can be provided!

  • Do we need formal cooperation between the two groups?

  • Review of the JSR-307 ED is appreciated

JCP JSR-307 Expert Group

More information
More information

  • JCP information site

    • http://jcp.org/en/jsr/detail?id=307

    • When Early Draft is released it will be available here

    • EG request to join link is here

JCP JSR-307 Expert Group