jsr 307 mobiledata and mobility preferences
Download
Skip this Video
Download Presentation
JSR-307 MobileData and Mobility (preferences)

Loading in 2 Seconds...

play fullscreen
1 / 46

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


  • 114 Views
  • 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)

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
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

introduction
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)
    • Data session establishment
  • The JSR-307 Expert Group started in November, 2006

JCP JSR-307 Expert Group

purpose
Purpose
  • 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

MIHF

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

Single

request

JCP JSR-307 Expert Group

connection configuration
Connection configuration

Mobiledata

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

connectionpreferences
Connectionpreferences
  • 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

Configurable

Configuration

JCP JSR-307 Expert Group

package class diagram
Package class diagram

JCP JSR-307 Expert Group

accesspreferences
AccessPreferences
  • 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

networkpreferences
NetworkPreferences
  • 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

configurablepreferences
ConfigurablePreferences
  • 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

mobiledata

MobileData

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

mobiledata1
MobileData
  • 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

mobileinterface
MobileInterface
  • 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

destinations
Destinations
  • 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

connconfig
ConnConfig
  • 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

connectioninfo
ConnectionInfo
  • 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

notifications
Notifications
  • 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

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

ad