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

About This Presentation
Title:

JSR-307 MobileData and Mobility (preferences)

Description:

Music Sync/Catalog. Wants to know when on home network to sync, avoid network access otherwise ... Includes IP based as well as serial, Bluetooth, etc. ... – PowerPoint PPT presentation

Number of Views:18
Avg rating:3.0/5.0
Slides: 47
Provided by: ericov
Learn more at: https://grouper.ieee.org
Category:

less

Transcript and Presenter's Notes

Title: JSR-307 MobileData and Mobility (preferences)


1
JSR-307MobileData and Mobility (preferences)
  • Eric Overtoom, Motorola
  • November 14, 2007

2
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

3
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 doesnt 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

4
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

5
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 gt 200 kbps to carry a video stream

6
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 shouldnt be sensitive to technology

7
JSR-307 isnt
  • 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

8
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

9
Comparison of components
Java application using JSR-307
JSR-307 mobiledata
JSR-307 connectionpreferences
10
JSR-307 participants
  • Motorola lead and co-lead
  • Nokia
  • Ericsson
  • Telcordia (802.21 liaison)
  • Sony-Ericsson
  • Sun
  • Siemens

11
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

12
Platform reference architecture
13
Reference Platform
MIHF
Physical Interfaces
14
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
15
Connection configuration
Mobiledata
Connection Preferences
16
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

17
Example configuration tree
18
Mobility /Preferences
Mobility here is from cellular technology
definitions selection of a network to use
19
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

20
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

21
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

22
Configurable Hierarchy
Configurable
Configuration
23
Package class diagram
24
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

25
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

26
Sharing of network preferences
27
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

28
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

29
MobileData
30
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

31
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

32
Mobiledata Class diagram
33
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

34
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

35
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

36
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

37
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 doesnt 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

38
Relation of Destination and MobileInterface
objects
39
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

40
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

41
ConnectionInfo
  • Information about actual Connection configuration
  • Actual negotiated capabilities
  • Interface being used
  • Access to modify an established connection
  • Change bandwidth, other QoS settings

42
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

43
Wrap-up
44
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

45
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

46
More information
  • JCP information site
  • http//jcp.org/en/jsr/detail?id307
  • When Early Draft is released it will be available
    here
  • EG request to join link is here
Write a Comment
User Comments (0)
About PowerShow.com