SlideShare a Scribd company logo
Digital Television for Java™
ME Platform Mobile Devices—
Introduction to JSR 272
Antti Rantalahti              Ivan Wong
Research Manager              Distinguished Member
Nokia Research Center         of Technical Staff
                              Motorola, Inc.

TS-4693

                        2006 JavaOneSM Conference | Session TS-4693 |
Goal of Your Talk
What Your Audience Will Gain



   Learn the basics of Mobile Broadcast
   Service API for Handhelds. Understand
   the concepts of mobile digital television
   and their affect on the design of the API




                     2006 JavaOneSM Conference | Session TS-4693 |   2
Agenda
Overview
Electronic Service Guide (ESG)
Service and Program Selection
Presentation and Recording
Broadcast Files and Objects
Security and DRM
Purchasing
Status
                2006 JavaOneSM Conference | Session TS-4693 |   3
Agenda
Overview
Electronic Service Guide (ESG)
Service and Program Selection
Presentation and Recording
Broadcast Files and Objects
Security and DRM
Purchasing
Status
                2006 JavaOneSM Conference | Session TS-4693 |   4
Mobile Broadcast Service API for
Handheld Terminals—JSR 272
• Application API to give access to mobile digital
  television technology
  • Agnostic to underlying broadcast technology but…
  • Takes into account the technology specific
    requirements
• Utilizes existing Java™ ME platform
  specifications as much as possible
  • Specifies only TV specific functionalities
  • Re-use existing APIs for other general features:
     • Application management and life cycle, purchasing,
       presentation

                        2006 JavaOneSM Conference | Session TS-4693 |   5
Digital Television Concepts
• ESG/EPG—Electronic Service/Program Guide
  • Listing of scheduled broadcast television programs
  • Metadata about the programs: e.g., channel and title
• Program event
  • Primary unit of broadcast programming i.e., an
    individual program
• Service
  • Refers to broadcast channel carrying multiple
    scheduled events
• PVR
  • Personal video recorder
                     2006 JavaOneSM Conference | Session TS-4693 |   6
Digital Television Concepts (Cont.)
• File carousel
  • Broadcast stream may carry auxiliary data
  • Contains mainly images and html links
  • Modelled as a read-only file system
• Service-bound application
  • An application that is delivered with the
    broadcast stream
  • Typically tailored for the specific content




                       2006 JavaOneSM Conference | Session TS-4693 |   7
Main Features
•   Access to electronic service guide
•   Service and program selection
•   Presentation and recording
•   Access to broadcast files and objects
•   Security and DRM
•   Purchasing




                     2006 JavaOneSM Conference | Session TS-4693 |   8
JSR 272 Architecture
Architecture of a Typical Implementation




                       2006 JavaOneSM Conference | Session TS-4693 |   9
JSR 272 Architecture
Relation Model of the JSR 272 Modules




                     2006 JavaOneSM Conference | Session TS-4693 |   10
JSR 272 API Dependencies
• Minimum platform requirements
  • CLDC 1.1
  • Some Java ME profile for the UI: MIPD 1.0, PBP
  • JSR 135 (Mobile Media API ) for presentation
• In addition
  • JSR 75: FileConnection to access the broadcast files
  • JSR 229 (Payment API): purchasing
  • JSR 234 (Advanced Multimedia Supplements):
    additional presentation capabilities



                     2006 JavaOneSM Conference | Session TS-4693 |   11
Prior Arts
• MHP (Multimedia Home Platform)
   • Targets set top devices with CDC and Personal Basis Profile
   • Defined by DVB and includes other derived standards such as
     Java based TV, DAVIC etc.
   • Based on the PBP Xlet application model, AWT UI framework
     and Java based TV which are incompatible with MIDP
• OCAP (OpenCable Application Platform)
   • Extends MHP-GEM (Globally Executable MHP) for the digital
     cable TV market
• Digital Set Top Profile—“OnRamp to OCAP”(JSR 242)
   • Defines a Java ME profile based on CLDC and a subset of PBP
   • Suitable to run a subset of OCAP on “legacy” set top devices
   • Dependent on AWT UI framework and Java based TV subset
     (includes Xlet)
                         2006 JavaOneSM Conference | Session TS-4693 |   12
Agenda
Overview
Electronic Service Guide (ESG)
Service and Program Selection
Presentation and Recording
Broadcast Files and Objects
Security and DRM
Purchasing
Status
               2006 JavaOneSM Conference | Session TS-4693 |   13
Electronic Service Guide
• Program event listing with metadata associated
  with each event
• Different broadcast specification specify
  different schemas for ESG
• JSR 272 abstracts differences in different
  schemas to provide inter-operability
• ESG modelled as a flattened database




                   2006 JavaOneSM Conference | Session TS-4693 |   14
General Broadcast Structure
• Service
  • Broadcast channel containing multiple program
    events
• Program event
  • Primary unit of broadcast programming
  • For instance movie, music video, etc.
• Service component
  • Media component within a program
  • For instance audio track, video track or language
    subtitle track

                      2006 JavaOneSM Conference | Session TS-4693 |   15
ESG API
• Service interface abstracts a service
• ProgramEvent abstracts a program event
• ServiceComponent describes media components
  within a service
• CommonMetaDataSet defines basic attributes
  common to most broadcast specifications
• ESGQueryDatabase is access point to database
• QueryComposer is a factory to compose queries
• ESGChangeListener to listen for ESG updates

                   2006 JavaOneSM Conference | Session TS-4693 |   16
Example: Find All News Programs
// Form the query
Query q = QueryComposer.equivalent
   (CommonMetadataSet.PROGRAM_CONTENT_GENRE, "News");

ProgramEvent programs[];
try {
    // Find the programs
    programs = edb.findPrograms(q);
    for (int i = 0; i < programs.length; i++) {
        // A custom function to display the program info
        displayProgramInfo(programs[i]);
    }
} catch (QueryException e) {}




                      2006 JavaOneSM Conference | Session TS-4693 |   17
More Query Examples
Simple Queries:
Query q1, q2, q3;

q1 = QueryComposer.equivalent(CommonMetadataSet.SERVICE_NAME, "CNN");
q2 = QueryComposer.after(CommonMetadataSet.PROGRAM_START_TIME,
                                  new Date());
q3 = QueryComposer.equivalent(CommonMetadataSet.PROGRAM_CONTENT_GENRE,
                                  StringAttribute.UNKNOWN_VALUE);

Compound Queries:

Query cq;
cq = QueryComposer.or(QueryComposer.and(q1, q2),
         QueryComposer.equivalent(CommonMetadataSet.PROGRAM_CONTENT_GENRE,
                                  "News"));




                            2006 JavaOneSM Conference | Session TS-4693 |   18
Agenda
Overview
Electronic Service Guide (ESG)
Service and Program Selection
Presentation and Recording
Broadcast Files and Objects
Security and DRM
Purchasing
Status
               2006 JavaOneSM Conference | Session TS-4693 |   19
Service and Program Selection
• Information about services and programs are
  determined from ESG
• They are selected via Service Selection API
  • Agnostic to bearer technology
  • May require for instance, setting up the radio tuner
    or joining to IP broadcast group




                      2006 JavaOneSM Conference | Session TS-4693 |   20
Service Selection API
• ServiceContext is the entry point to service
  selection API
• ServiceComponent describes media
  components within a service
• ServiceContextListener listener for events
  from ServiceContext




                  2006 JavaOneSM Conference | Session TS-4693 |   21
ServiceContext Class
• Environment where a service or program can be
  selected and presented in a broadcast receiver
• Models the receiver
• State model
  •   PRESENTING
  •   NOT_PRESENTING
  •   PRESENTATION_PENDING
  •   DISPOSED



                   2006 JavaOneSM Conference | Session TS-4693 |   22
ServiceContext Class (Cont.)
• Instance management
   • Instances can be shared among applications via export()
   • Application always has access to the default, pre-created instance
     of ServiceContext
• Program or service selection
   • Selecting a program/service results in (MMAPI) Players being
     created for the presentation components
   • Any service-bound application may also be launched
• Component selection
   • Media (audio, video, applications etc.) components can be
     selected from a broadcast
   • An initial set of components can be set via preference before the
     program/service is selected
   • After the program/service is selected, components can be added
     or removed
                             2006 JavaOneSM Conference | Session TS-4693 |   23
Agenda
Overview
Electronic Service Guide (ESG)
Service and Program Selection
Presentation and Recording
Broadcast Files and Objects
Security and DRM
Purchasing
Status
                2006 JavaOneSM Conference | Session TS-4693 |   24
Presentation and Recording
• Handles the presentation and recording of
  time-based media such as audio, video and
  animated content
• Relies on JSR 135 for basic playback and
  recording; JSR 234 for advanced presentation
  controls
• Added a new TimeShiftControl class for
  time-shifting



                   2006 JavaOneSM Conference | Session TS-4693 |   25
Presentation and Recording API
• JSR 135 Player represents a media handler to render
  and record audio and video
• A Player’s Control provides the specific media control
  features like volume control, playback rate, recording
• JSR 234 adds more Control classes for advanced
  media playback features like spatialized audio, equalizer,
  image tonality control
• TimeShiftControl allows the playback to be shifted or
  delayed to allow the playback to be paused in real-time
• Graphics overlay is supported by allowing the video and
  GUI rendered on different display planes on the hardware

                       2006 JavaOneSM Conference | Session TS-4693 |   26
Example: Selecting a Service and
Fetch the Players for Presentation
ServiceContext sc =
ServiceContext.getServiceContext(ServiceContext.DEFAULT);

sc.addListener(new ServiceContextListener() {
    public void contextUpdate(ServiceContext s, int event, Object data) {
       if (event == ServiceContextListener.MEDIA_PREPARED) {
           Player players[] = (Player [])data;
             // The players should all be realized at this point.
           for (int i = 0; i < players.length; i++) {
               VideoControl vc =
                  (VideoControl)players[i].getControl("VideoControl");
               if (vc != null) {
                   vc.initDisplayMode(vc.USE_DIRECT_VIDEO,
                        canvas /* a GUI canvas created ahead of time */);
                   vc.setVisible(true);
               } players[i].start();
            }
         }
       }
    });
ESGQueryDatabase db = ESGQueryDatabase.getDefaultDatabase();
Service[] current = db.findServices(QueryComposer.CURRENT_PROGRAM);
sc.selectService(current[0]);
                             2006 JavaOneSM Conference | Session TS-4693 |   27
Agenda
Overview
Electronic Service Guide (ESG)
Service and Program Selection
Presentation and Recording
Broadcast Files and Objects
Security and DRM
Purchasing
Status
                2006 JavaOneSM Conference | Session TS-4693 |   28
Broadcast Files and Objects
• Broadcast services may carry auxiliary data
  complementary to the media stream
• Broadcast objects may be transmitted as a
  single file, a directory structure with files, or a
  stream of packet data
• Broadcast objects are received asynchronous
  to the media streams and may not be
  immediately available
• Broadcast objects may be updated during the
  course of the broadcast

                      2006 JavaOneSM Conference | Session TS-4693 |   29
Broadcast File and Objects API
• Agnostic to the underlying transport mechanism
• Based on the Generic Connection Framework
• BroadcastFile abstracts a broadcast object
  as a file or directory of files
• BroadcastObjectStream abstracts a
  broadcast object as a stream of packet data
• BroadcastObjectListener provides the
  listener for the asynchronous update events


                   2006 JavaOneSM Conference | Session TS-4693 |   30
Example: Broadcast Object
public void contextUpdate(ServiceContext s, int event, Object data) {

if (event == ServiceContextListener.SELECTION_COMPLETED) {
    // Retrieve the logo that identifies this program.
    String uri =
s.getService().getStringValue(CommonMetadataSet.PROGRAM_CONTENT_AUX_LOGO);

    if (uri != null) {
        try {
             Connection c = Connector.open(uri);
             if (c instanceof BroadcastFile) {
                 // Do something with this logo ...
             }
        } catch (IOException e) { e.printStackTrace(); }
    }
}




                             2006 JavaOneSM Conference | Session TS-4693 |   31
Agenda
Overview
Electronic Service Guide (ESG)
Service and Program Selection
Presentation and Recording
Broadcast Files and Objects
Security and DRM
Purchasing
Status
                2006 JavaOneSM Conference | Session TS-4693 |   32
Security
• Some methods are protected for security
• Permission names are defined for MIPD
  security framework
• Security for downloaded applications follows
  the mechanisms of the underlying platform




                   2006 JavaOneSM Conference | Session TS-4693 |   33
Digital Rights Management (DRM)
• DRM rights need to be acquired before protected
  services and program events can be consumed
• Rights can be acquired via different schemes:
  Conditional Access (CA), OMA DRM (v.1 or 2) etc.
• JSR 272 hides the DRM implementation details
  but safe-guards the applications from violating
  DRM control at the level of playback, recording
  and re-distribution of the contents
• JSR 272 does not provide any API to query the DRM
  rights for the contents since these are functionalities
  common to the platform. It relies on the underlying
  platform (e.g. MIDP) to provide the functionalities
• Purchase of contents is handled by the payment API
                        2006 JavaOneSM Conference | Session TS-4693 |   34
Agenda
Overview
Electronic Service Guide (ESG)
Service and Program Selection
Presentation and Recording
Broadcast Files and Objects
Security and DRM
Purchasing
Status
                2006 JavaOneSM Conference | Session TS-4693 |   35
Purchasing
• The ESG indicates whether a service/program
  requires purchase and provides some preliminary pricing
  information
• JSR 229 Payment API is used to conduct the payment:
   • Identify the payment provider
   • Issue the request to the payment provider
   • Get updated, accurate payment info OTA via the
     paymentInfo.jpp provisioning
   • Initiate the actual purchase transaction
   • Receive the rights object which contains the decryption key
• A new class, PurchaseModule is introduced to adapt
  the PurchaseItemID (a URI) in the ESG to the
  PlayFeatureID (an integer) in JSR 229
                          2006 JavaOneSM Conference | Session TS-4693 |   36
Purchase Architecture




              2006 JavaOneSM Conference | Session TS-4693 |   37
Example: Purchase
ProgramEvent p = …;
PurchaseModule purchaseModule = new PurchaseModule(this);

try {
    String id = p.getStringValue(CommonMetadataSet.PROGRAM_ID);
    String title =
             p.getStringValue(CommonMetadataSet.PROGRAM_NAME);
    String description =
         p.getStringValue(CommonMetadataSet.PROGRAM_DESCRIPTION);

    if(!isPurchased(id)){ //send a purchase request int
        feature=purchaseModule.getPaymentFeatureID(id);
        purchaseModule.process(feature,title,description);
    }
} catch (Exception e) { }




                         2006 JavaOneSM Conference | Session TS-4693 |   38
Agenda
Overview
Electronic Service Guide (ESG)
Service and Program Selection
Presentation and Recording
Broadcast Files and Objects
Security and DRM
Purchasing
Status
                2006 JavaOneSM Conference | Session TS-4693 |   39
Status of the API
• The specification is under construction; This
  slide will be completed in the conference
  before the session
• Public review by…
• Proposed final draft…
• Final approval ballot by…
• Final release by…
• RI
  • What/how

                    2006 JavaOneSM Conference | Session TS-4693 |   40
Summary
• JSR 272 is an application API to write mobile
  digital TV applications
• Agnostic to any specific technology
• Allows presentation and recording of the
  services
• Gives access to ESG and file carousel
• Provide means to purchase services
• Designed to harmonize with the MIDP platform


                   2006 JavaOneSM Conference | Session TS-4693 |   41
For More Information
• JSR 272 home page:
  • jcp.org/en/jsr/detail?id=272




                      2006 JavaOneSM Conference | Session TS-4693 |   42
Q&A


      2006 JavaOneSM Conference | Session TS-4693 |   43
Digital Television for Java™
ME Platform Mobile Devices—
Introduction to JSR 272
Antti Rantalahti              Ivan Wong
Research Manager              Distinguished Member
Nokia Research Center         of Technical Staff
                              Motorola, Inc.

TS-4693

                        2006 JavaOneSM Conference | Session TS-4693 |

More Related Content

Viewers also liked

Thiet ke online voi artclick.vn
Thiet ke online voi artclick.vnThiet ke online voi artclick.vn
Thiet ke online voi artclick.vnHuynh Bao Thien
 
Gesit eng
Gesit engGesit eng
Gesit eng
Lydia Kusnadi
 
Aiec Realtor P Point Mold Presentation 4
Aiec Realtor P Point Mold Presentation 4Aiec Realtor P Point Mold Presentation 4
Aiec Realtor P Point Mold Presentation 4
dennisd1234
 
UNPIdF_Lancement du bouquet numérique du journal le Monde
UNPIdF_Lancement du bouquet numérique du journal le MondeUNPIdF_Lancement du bouquet numérique du journal le Monde
UNPIdF_Lancement du bouquet numérique du journal le Monde
unpidf
 
Bài giảng Microsoft Powerpoint 2007 - phần 3
Bài giảng Microsoft Powerpoint 2007 - phần 3Bài giảng Microsoft Powerpoint 2007 - phần 3
Bài giảng Microsoft Powerpoint 2007 - phần 3
Huynh Bao Thien
 
UnivCloud, le cloud computing des universités franciliennes
UnivCloud, le cloud computing des universités franciliennesUnivCloud, le cloud computing des universités franciliennes
UnivCloud, le cloud computing des universités franciliennes
unpidf
 
Future lions2012 fruittea sosro lydia imam
Future lions2012 fruittea sosro lydia imamFuture lions2012 fruittea sosro lydia imam
Future lions2012 fruittea sosro lydia imam
Lydia Kusnadi
 
Giáo trình Microsoft Powerpoint 2007
Giáo trình Microsoft Powerpoint 2007Giáo trình Microsoft Powerpoint 2007
Giáo trình Microsoft Powerpoint 2007
Huynh Bao Thien
 
Case Study Grand Union - Lejaby (EN / FR)
Case Study Grand Union - Lejaby (EN / FR)Case Study Grand Union - Lejaby (EN / FR)
Case Study Grand Union - Lejaby (EN / FR)
FullSIX Group
 
Case Study FullSIX - Burn
Case Study FullSIX - BurnCase Study FullSIX - Burn
Case Study FullSIX - Burn
FullSIX Group
 
link 160247209
link 160247209link 160247209
link 160247209
Lydia Kusnadi
 
Applicant webinar ccpd final 05-29-12
Applicant webinar ccpd final 05-29-12Applicant webinar ccpd final 05-29-12
Applicant webinar ccpd final 05-29-12
Brandon Williams
 
Ccpd stakeholder input process 01 13-12
Ccpd stakeholder input process 01 13-12Ccpd stakeholder input process 01 13-12
Ccpd stakeholder input process 01 13-12
Brandon Williams
 
Prevention and response shared copy
Prevention and response shared copyPrevention and response shared copy
Prevention and response shared copy
Brandon Williams
 
Cmpu orientation webinar
Cmpu orientation webinarCmpu orientation webinar
Cmpu orientation webinar
Brandon Williams
 
Federal tobacco control
Federal tobacco controlFederal tobacco control
Federal tobacco control
Brandon Williams
 

Viewers also liked (16)

Thiet ke online voi artclick.vn
Thiet ke online voi artclick.vnThiet ke online voi artclick.vn
Thiet ke online voi artclick.vn
 
Gesit eng
Gesit engGesit eng
Gesit eng
 
Aiec Realtor P Point Mold Presentation 4
Aiec Realtor P Point Mold Presentation 4Aiec Realtor P Point Mold Presentation 4
Aiec Realtor P Point Mold Presentation 4
 
UNPIdF_Lancement du bouquet numérique du journal le Monde
UNPIdF_Lancement du bouquet numérique du journal le MondeUNPIdF_Lancement du bouquet numérique du journal le Monde
UNPIdF_Lancement du bouquet numérique du journal le Monde
 
Bài giảng Microsoft Powerpoint 2007 - phần 3
Bài giảng Microsoft Powerpoint 2007 - phần 3Bài giảng Microsoft Powerpoint 2007 - phần 3
Bài giảng Microsoft Powerpoint 2007 - phần 3
 
UnivCloud, le cloud computing des universités franciliennes
UnivCloud, le cloud computing des universités franciliennesUnivCloud, le cloud computing des universités franciliennes
UnivCloud, le cloud computing des universités franciliennes
 
Future lions2012 fruittea sosro lydia imam
Future lions2012 fruittea sosro lydia imamFuture lions2012 fruittea sosro lydia imam
Future lions2012 fruittea sosro lydia imam
 
Giáo trình Microsoft Powerpoint 2007
Giáo trình Microsoft Powerpoint 2007Giáo trình Microsoft Powerpoint 2007
Giáo trình Microsoft Powerpoint 2007
 
Case Study Grand Union - Lejaby (EN / FR)
Case Study Grand Union - Lejaby (EN / FR)Case Study Grand Union - Lejaby (EN / FR)
Case Study Grand Union - Lejaby (EN / FR)
 
Case Study FullSIX - Burn
Case Study FullSIX - BurnCase Study FullSIX - Burn
Case Study FullSIX - Burn
 
link 160247209
link 160247209link 160247209
link 160247209
 
Applicant webinar ccpd final 05-29-12
Applicant webinar ccpd final 05-29-12Applicant webinar ccpd final 05-29-12
Applicant webinar ccpd final 05-29-12
 
Ccpd stakeholder input process 01 13-12
Ccpd stakeholder input process 01 13-12Ccpd stakeholder input process 01 13-12
Ccpd stakeholder input process 01 13-12
 
Prevention and response shared copy
Prevention and response shared copyPrevention and response shared copy
Prevention and response shared copy
 
Cmpu orientation webinar
Cmpu orientation webinarCmpu orientation webinar
Cmpu orientation webinar
 
Federal tobacco control
Federal tobacco controlFederal tobacco control
Federal tobacco control
 

Similar to Javaone ts4693 v2

Enabling Technologies for Branded Wireless Services - Boris Klots, Motorola, ...
Enabling Technologies for Branded Wireless Services - Boris Klots, Motorola, ...Enabling Technologies for Branded Wireless Services - Boris Klots, Motorola, ...
Enabling Technologies for Branded Wireless Services - Boris Klots, Motorola, ...
mfrancis
 
How uCast is using AWS Media Services and the Power of the Cloud to Deliver G...
How uCast is using AWS Media Services and the Power of the Cloud to Deliver G...How uCast is using AWS Media Services and the Power of the Cloud to Deliver G...
How uCast is using AWS Media Services and the Power of the Cloud to Deliver G...
Amazon Web Services
 
VTU Open Elective 6th Sem CSE - Module 2 - Cloud Computing
VTU Open Elective 6th Sem CSE - Module 2 - Cloud ComputingVTU Open Elective 6th Sem CSE - Module 2 - Cloud Computing
VTU Open Elective 6th Sem CSE - Module 2 - Cloud Computing
Sachin Gowda
 
Material of Course Juniper JNCIA JUNOS Day1
Material of Course Juniper JNCIA JUNOS Day1Material of Course Juniper JNCIA JUNOS Day1
Material of Course Juniper JNCIA JUNOS Day1
Foryanto J. Wiguna
 
NetScout nGeniusONE overview
NetScout nGeniusONE overviewNetScout nGeniusONE overview
NetScout nGeniusONE overview
BAKOTECH
 
Feature drift monitoring as a service for machine learning models at scale
Feature drift monitoring as a service for machine learning models at scaleFeature drift monitoring as a service for machine learning models at scale
Feature drift monitoring as a service for machine learning models at scale
Noriaki Tatsumi
 
SCF Partners' Day: Technologies for Densification
SCF Partners' Day: Technologies for DensificationSCF Partners' Day: Technologies for Densification
SCF Partners' Day: Technologies for Densification
Small Cell Forum
 
Incorporating Wireless Measurements with Wired Data Acquisition Systems
Incorporating Wireless Measurements with Wired Data Acquisition SystemsIncorporating Wireless Measurements with Wired Data Acquisition Systems
Incorporating Wireless Measurements with Wired Data Acquisition Systems
cmstiernberg
 
GPA Software Overview R3
GPA Software Overview R3GPA Software Overview R3
GPA Software Overview R3
Grid Protection Alliance
 
Rebaca DPI and PCRF Expertie Overview
Rebaca DPI and PCRF Expertie OverviewRebaca DPI and PCRF Expertie Overview
Rebaca DPI and PCRF Expertie Overview
Arshad Mahmood
 
Enterprise Architecture, Deployment and Positioning
Enterprise Architecture, Deployment and Positioning Enterprise Architecture, Deployment and Positioning
Enterprise Architecture, Deployment and Positioning
Cisco Russia
 
Predix
PredixPredix
Introducing ONAP for OpenStack St Louis Meetup
Introducing ONAP for OpenStack St Louis MeetupIntroducing ONAP for OpenStack St Louis Meetup
Introducing ONAP for OpenStack St Louis Meetup
djzook
 
Maniteja_Professional_Resume
Maniteja_Professional_ResumeManiteja_Professional_Resume
Maniteja_Professional_Resume
Vaddi Maniteja
 
Digital network lecturer4
Digital network  lecturer4Digital network  lecturer4
Digital network lecturer4
Jumaan Ally Mohamed
 
[Year 2014-15 ] Internet Radio
[Year 2014-15 ] Internet Radio[Year 2014-15 ] Internet Radio
[Year 2014-15 ] Internet Radio
Saurabh N. Mehta
 
What's New in IBM Streams V4.2
What's New in IBM Streams V4.2What's New in IBM Streams V4.2
What's New in IBM Streams V4.2
lisanl
 
Network Innovation with Open Software
Network Innovation with Open SoftwareNetwork Innovation with Open Software
Network Innovation with Open Software
Juniper Developer Resources Cooney
 
ITCamp 2013 - Adrian Stoian - Whats new in ConfigMgr 2012 SP1
ITCamp 2013 - Adrian Stoian - Whats new in ConfigMgr 2012 SP1ITCamp 2013 - Adrian Stoian - Whats new in ConfigMgr 2012 SP1
ITCamp 2013 - Adrian Stoian - Whats new in ConfigMgr 2012 SP1
ITCamp
 
Nice solutions guide_v1.0
Nice solutions guide_v1.0Nice solutions guide_v1.0
Nice solutions guide_v1.0
Ranjit Patel
 

Similar to Javaone ts4693 v2 (20)

Enabling Technologies for Branded Wireless Services - Boris Klots, Motorola, ...
Enabling Technologies for Branded Wireless Services - Boris Klots, Motorola, ...Enabling Technologies for Branded Wireless Services - Boris Klots, Motorola, ...
Enabling Technologies for Branded Wireless Services - Boris Klots, Motorola, ...
 
How uCast is using AWS Media Services and the Power of the Cloud to Deliver G...
How uCast is using AWS Media Services and the Power of the Cloud to Deliver G...How uCast is using AWS Media Services and the Power of the Cloud to Deliver G...
How uCast is using AWS Media Services and the Power of the Cloud to Deliver G...
 
VTU Open Elective 6th Sem CSE - Module 2 - Cloud Computing
VTU Open Elective 6th Sem CSE - Module 2 - Cloud ComputingVTU Open Elective 6th Sem CSE - Module 2 - Cloud Computing
VTU Open Elective 6th Sem CSE - Module 2 - Cloud Computing
 
Material of Course Juniper JNCIA JUNOS Day1
Material of Course Juniper JNCIA JUNOS Day1Material of Course Juniper JNCIA JUNOS Day1
Material of Course Juniper JNCIA JUNOS Day1
 
NetScout nGeniusONE overview
NetScout nGeniusONE overviewNetScout nGeniusONE overview
NetScout nGeniusONE overview
 
Feature drift monitoring as a service for machine learning models at scale
Feature drift monitoring as a service for machine learning models at scaleFeature drift monitoring as a service for machine learning models at scale
Feature drift monitoring as a service for machine learning models at scale
 
SCF Partners' Day: Technologies for Densification
SCF Partners' Day: Technologies for DensificationSCF Partners' Day: Technologies for Densification
SCF Partners' Day: Technologies for Densification
 
Incorporating Wireless Measurements with Wired Data Acquisition Systems
Incorporating Wireless Measurements with Wired Data Acquisition SystemsIncorporating Wireless Measurements with Wired Data Acquisition Systems
Incorporating Wireless Measurements with Wired Data Acquisition Systems
 
GPA Software Overview R3
GPA Software Overview R3GPA Software Overview R3
GPA Software Overview R3
 
Rebaca DPI and PCRF Expertie Overview
Rebaca DPI and PCRF Expertie OverviewRebaca DPI and PCRF Expertie Overview
Rebaca DPI and PCRF Expertie Overview
 
Enterprise Architecture, Deployment and Positioning
Enterprise Architecture, Deployment and Positioning Enterprise Architecture, Deployment and Positioning
Enterprise Architecture, Deployment and Positioning
 
Predix
PredixPredix
Predix
 
Introducing ONAP for OpenStack St Louis Meetup
Introducing ONAP for OpenStack St Louis MeetupIntroducing ONAP for OpenStack St Louis Meetup
Introducing ONAP for OpenStack St Louis Meetup
 
Maniteja_Professional_Resume
Maniteja_Professional_ResumeManiteja_Professional_Resume
Maniteja_Professional_Resume
 
Digital network lecturer4
Digital network  lecturer4Digital network  lecturer4
Digital network lecturer4
 
[Year 2014-15 ] Internet Radio
[Year 2014-15 ] Internet Radio[Year 2014-15 ] Internet Radio
[Year 2014-15 ] Internet Radio
 
What's New in IBM Streams V4.2
What's New in IBM Streams V4.2What's New in IBM Streams V4.2
What's New in IBM Streams V4.2
 
Network Innovation with Open Software
Network Innovation with Open SoftwareNetwork Innovation with Open Software
Network Innovation with Open Software
 
ITCamp 2013 - Adrian Stoian - Whats new in ConfigMgr 2012 SP1
ITCamp 2013 - Adrian Stoian - Whats new in ConfigMgr 2012 SP1ITCamp 2013 - Adrian Stoian - Whats new in ConfigMgr 2012 SP1
ITCamp 2013 - Adrian Stoian - Whats new in ConfigMgr 2012 SP1
 
Nice solutions guide_v1.0
Nice solutions guide_v1.0Nice solutions guide_v1.0
Nice solutions guide_v1.0
 

Recently uploaded

Bonku-Babus-Friend by Sathyajith Ray (9)
Bonku-Babus-Friend by Sathyajith Ray  (9)Bonku-Babus-Friend by Sathyajith Ray  (9)
Bonku-Babus-Friend by Sathyajith Ray (9)
nitinpv4ai
 
HYPERTENSION - SLIDE SHARE PRESENTATION.
HYPERTENSION - SLIDE SHARE PRESENTATION.HYPERTENSION - SLIDE SHARE PRESENTATION.
HYPERTENSION - SLIDE SHARE PRESENTATION.
deepaannamalai16
 
Level 3 NCEA - NZ: A Nation In the Making 1872 - 1900 SML.ppt
Level 3 NCEA - NZ: A  Nation In the Making 1872 - 1900 SML.pptLevel 3 NCEA - NZ: A  Nation In the Making 1872 - 1900 SML.ppt
Level 3 NCEA - NZ: A Nation In the Making 1872 - 1900 SML.ppt
Henry Hollis
 
THE SACRIFICE HOW PRO-PALESTINE PROTESTS STUDENTS ARE SACRIFICING TO CHANGE T...
THE SACRIFICE HOW PRO-PALESTINE PROTESTS STUDENTS ARE SACRIFICING TO CHANGE T...THE SACRIFICE HOW PRO-PALESTINE PROTESTS STUDENTS ARE SACRIFICING TO CHANGE T...
THE SACRIFICE HOW PRO-PALESTINE PROTESTS STUDENTS ARE SACRIFICING TO CHANGE T...
indexPub
 
How Barcodes Can Be Leveraged Within Odoo 17
How Barcodes Can Be Leveraged Within Odoo 17How Barcodes Can Be Leveraged Within Odoo 17
How Barcodes Can Be Leveraged Within Odoo 17
Celine George
 
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
GeorgeMilliken2
 
Haunted Houses by H W Longfellow for class 10
Haunted Houses by H W Longfellow for class 10Haunted Houses by H W Longfellow for class 10
Haunted Houses by H W Longfellow for class 10
nitinpv4ai
 
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptxBeyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
EduSkills OECD
 
Wound healing PPT
Wound healing PPTWound healing PPT
Wound healing PPT
Jyoti Chand
 
Data Structure using C by Dr. K Adisesha .ppsx
Data Structure using C by Dr. K Adisesha .ppsxData Structure using C by Dr. K Adisesha .ppsx
Data Structure using C by Dr. K Adisesha .ppsx
Prof. Dr. K. Adisesha
 
CIS 4200-02 Group 1 Final Project Report (1).pdf
CIS 4200-02 Group 1 Final Project Report (1).pdfCIS 4200-02 Group 1 Final Project Report (1).pdf
CIS 4200-02 Group 1 Final Project Report (1).pdf
blueshagoo1
 
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
Nguyen Thanh Tu Collection
 
REASIGNACION 2024 UGEL CHUPACA 2024 UGEL CHUPACA.pdf
REASIGNACION 2024 UGEL CHUPACA 2024 UGEL CHUPACA.pdfREASIGNACION 2024 UGEL CHUPACA 2024 UGEL CHUPACA.pdf
REASIGNACION 2024 UGEL CHUPACA 2024 UGEL CHUPACA.pdf
giancarloi8888
 
skeleton System.pdf (skeleton system wow)
skeleton System.pdf (skeleton system wow)skeleton System.pdf (skeleton system wow)
skeleton System.pdf (skeleton system wow)
Mohammad Al-Dhahabi
 
How to Predict Vendor Bill Product in Odoo 17
How to Predict Vendor Bill Product in Odoo 17How to Predict Vendor Bill Product in Odoo 17
How to Predict Vendor Bill Product in Odoo 17
Celine George
 
Jemison, MacLaughlin, and Majumder "Broadening Pathways for Editors and Authors"
Jemison, MacLaughlin, and Majumder "Broadening Pathways for Editors and Authors"Jemison, MacLaughlin, and Majumder "Broadening Pathways for Editors and Authors"
Jemison, MacLaughlin, and Majumder "Broadening Pathways for Editors and Authors"
National Information Standards Organization (NISO)
 
Educational Technology in the Health Sciences
Educational Technology in the Health SciencesEducational Technology in the Health Sciences
Educational Technology in the Health Sciences
Iris Thiele Isip-Tan
 
Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...
Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...
Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...
imrankhan141184
 
Oliver Asks for More by Charles Dickens (9)
Oliver Asks for More by Charles Dickens (9)Oliver Asks for More by Charles Dickens (9)
Oliver Asks for More by Charles Dickens (9)
nitinpv4ai
 
Mule event processing models | MuleSoft Mysore Meetup #47
Mule event processing models | MuleSoft Mysore Meetup #47Mule event processing models | MuleSoft Mysore Meetup #47
Mule event processing models | MuleSoft Mysore Meetup #47
MysoreMuleSoftMeetup
 

Recently uploaded (20)

Bonku-Babus-Friend by Sathyajith Ray (9)
Bonku-Babus-Friend by Sathyajith Ray  (9)Bonku-Babus-Friend by Sathyajith Ray  (9)
Bonku-Babus-Friend by Sathyajith Ray (9)
 
HYPERTENSION - SLIDE SHARE PRESENTATION.
HYPERTENSION - SLIDE SHARE PRESENTATION.HYPERTENSION - SLIDE SHARE PRESENTATION.
HYPERTENSION - SLIDE SHARE PRESENTATION.
 
Level 3 NCEA - NZ: A Nation In the Making 1872 - 1900 SML.ppt
Level 3 NCEA - NZ: A  Nation In the Making 1872 - 1900 SML.pptLevel 3 NCEA - NZ: A  Nation In the Making 1872 - 1900 SML.ppt
Level 3 NCEA - NZ: A Nation In the Making 1872 - 1900 SML.ppt
 
THE SACRIFICE HOW PRO-PALESTINE PROTESTS STUDENTS ARE SACRIFICING TO CHANGE T...
THE SACRIFICE HOW PRO-PALESTINE PROTESTS STUDENTS ARE SACRIFICING TO CHANGE T...THE SACRIFICE HOW PRO-PALESTINE PROTESTS STUDENTS ARE SACRIFICING TO CHANGE T...
THE SACRIFICE HOW PRO-PALESTINE PROTESTS STUDENTS ARE SACRIFICING TO CHANGE T...
 
How Barcodes Can Be Leveraged Within Odoo 17
How Barcodes Can Be Leveraged Within Odoo 17How Barcodes Can Be Leveraged Within Odoo 17
How Barcodes Can Be Leveraged Within Odoo 17
 
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
 
Haunted Houses by H W Longfellow for class 10
Haunted Houses by H W Longfellow for class 10Haunted Houses by H W Longfellow for class 10
Haunted Houses by H W Longfellow for class 10
 
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptxBeyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
 
Wound healing PPT
Wound healing PPTWound healing PPT
Wound healing PPT
 
Data Structure using C by Dr. K Adisesha .ppsx
Data Structure using C by Dr. K Adisesha .ppsxData Structure using C by Dr. K Adisesha .ppsx
Data Structure using C by Dr. K Adisesha .ppsx
 
CIS 4200-02 Group 1 Final Project Report (1).pdf
CIS 4200-02 Group 1 Final Project Report (1).pdfCIS 4200-02 Group 1 Final Project Report (1).pdf
CIS 4200-02 Group 1 Final Project Report (1).pdf
 
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
 
REASIGNACION 2024 UGEL CHUPACA 2024 UGEL CHUPACA.pdf
REASIGNACION 2024 UGEL CHUPACA 2024 UGEL CHUPACA.pdfREASIGNACION 2024 UGEL CHUPACA 2024 UGEL CHUPACA.pdf
REASIGNACION 2024 UGEL CHUPACA 2024 UGEL CHUPACA.pdf
 
skeleton System.pdf (skeleton system wow)
skeleton System.pdf (skeleton system wow)skeleton System.pdf (skeleton system wow)
skeleton System.pdf (skeleton system wow)
 
How to Predict Vendor Bill Product in Odoo 17
How to Predict Vendor Bill Product in Odoo 17How to Predict Vendor Bill Product in Odoo 17
How to Predict Vendor Bill Product in Odoo 17
 
Jemison, MacLaughlin, and Majumder "Broadening Pathways for Editors and Authors"
Jemison, MacLaughlin, and Majumder "Broadening Pathways for Editors and Authors"Jemison, MacLaughlin, and Majumder "Broadening Pathways for Editors and Authors"
Jemison, MacLaughlin, and Majumder "Broadening Pathways for Editors and Authors"
 
Educational Technology in the Health Sciences
Educational Technology in the Health SciencesEducational Technology in the Health Sciences
Educational Technology in the Health Sciences
 
Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...
Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...
Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...
 
Oliver Asks for More by Charles Dickens (9)
Oliver Asks for More by Charles Dickens (9)Oliver Asks for More by Charles Dickens (9)
Oliver Asks for More by Charles Dickens (9)
 
Mule event processing models | MuleSoft Mysore Meetup #47
Mule event processing models | MuleSoft Mysore Meetup #47Mule event processing models | MuleSoft Mysore Meetup #47
Mule event processing models | MuleSoft Mysore Meetup #47
 

Javaone ts4693 v2

  • 1. Digital Television for Java™ ME Platform Mobile Devices— Introduction to JSR 272 Antti Rantalahti Ivan Wong Research Manager Distinguished Member Nokia Research Center of Technical Staff Motorola, Inc. TS-4693 2006 JavaOneSM Conference | Session TS-4693 |
  • 2. Goal of Your Talk What Your Audience Will Gain Learn the basics of Mobile Broadcast Service API for Handhelds. Understand the concepts of mobile digital television and their affect on the design of the API 2006 JavaOneSM Conference | Session TS-4693 | 2
  • 3. Agenda Overview Electronic Service Guide (ESG) Service and Program Selection Presentation and Recording Broadcast Files and Objects Security and DRM Purchasing Status 2006 JavaOneSM Conference | Session TS-4693 | 3
  • 4. Agenda Overview Electronic Service Guide (ESG) Service and Program Selection Presentation and Recording Broadcast Files and Objects Security and DRM Purchasing Status 2006 JavaOneSM Conference | Session TS-4693 | 4
  • 5. Mobile Broadcast Service API for Handheld Terminals—JSR 272 • Application API to give access to mobile digital television technology • Agnostic to underlying broadcast technology but… • Takes into account the technology specific requirements • Utilizes existing Java™ ME platform specifications as much as possible • Specifies only TV specific functionalities • Re-use existing APIs for other general features: • Application management and life cycle, purchasing, presentation 2006 JavaOneSM Conference | Session TS-4693 | 5
  • 6. Digital Television Concepts • ESG/EPG—Electronic Service/Program Guide • Listing of scheduled broadcast television programs • Metadata about the programs: e.g., channel and title • Program event • Primary unit of broadcast programming i.e., an individual program • Service • Refers to broadcast channel carrying multiple scheduled events • PVR • Personal video recorder 2006 JavaOneSM Conference | Session TS-4693 | 6
  • 7. Digital Television Concepts (Cont.) • File carousel • Broadcast stream may carry auxiliary data • Contains mainly images and html links • Modelled as a read-only file system • Service-bound application • An application that is delivered with the broadcast stream • Typically tailored for the specific content 2006 JavaOneSM Conference | Session TS-4693 | 7
  • 8. Main Features • Access to electronic service guide • Service and program selection • Presentation and recording • Access to broadcast files and objects • Security and DRM • Purchasing 2006 JavaOneSM Conference | Session TS-4693 | 8
  • 9. JSR 272 Architecture Architecture of a Typical Implementation 2006 JavaOneSM Conference | Session TS-4693 | 9
  • 10. JSR 272 Architecture Relation Model of the JSR 272 Modules 2006 JavaOneSM Conference | Session TS-4693 | 10
  • 11. JSR 272 API Dependencies • Minimum platform requirements • CLDC 1.1 • Some Java ME profile for the UI: MIPD 1.0, PBP • JSR 135 (Mobile Media API ) for presentation • In addition • JSR 75: FileConnection to access the broadcast files • JSR 229 (Payment API): purchasing • JSR 234 (Advanced Multimedia Supplements): additional presentation capabilities 2006 JavaOneSM Conference | Session TS-4693 | 11
  • 12. Prior Arts • MHP (Multimedia Home Platform) • Targets set top devices with CDC and Personal Basis Profile • Defined by DVB and includes other derived standards such as Java based TV, DAVIC etc. • Based on the PBP Xlet application model, AWT UI framework and Java based TV which are incompatible with MIDP • OCAP (OpenCable Application Platform) • Extends MHP-GEM (Globally Executable MHP) for the digital cable TV market • Digital Set Top Profile—“OnRamp to OCAP”(JSR 242) • Defines a Java ME profile based on CLDC and a subset of PBP • Suitable to run a subset of OCAP on “legacy” set top devices • Dependent on AWT UI framework and Java based TV subset (includes Xlet) 2006 JavaOneSM Conference | Session TS-4693 | 12
  • 13. Agenda Overview Electronic Service Guide (ESG) Service and Program Selection Presentation and Recording Broadcast Files and Objects Security and DRM Purchasing Status 2006 JavaOneSM Conference | Session TS-4693 | 13
  • 14. Electronic Service Guide • Program event listing with metadata associated with each event • Different broadcast specification specify different schemas for ESG • JSR 272 abstracts differences in different schemas to provide inter-operability • ESG modelled as a flattened database 2006 JavaOneSM Conference | Session TS-4693 | 14
  • 15. General Broadcast Structure • Service • Broadcast channel containing multiple program events • Program event • Primary unit of broadcast programming • For instance movie, music video, etc. • Service component • Media component within a program • For instance audio track, video track or language subtitle track 2006 JavaOneSM Conference | Session TS-4693 | 15
  • 16. ESG API • Service interface abstracts a service • ProgramEvent abstracts a program event • ServiceComponent describes media components within a service • CommonMetaDataSet defines basic attributes common to most broadcast specifications • ESGQueryDatabase is access point to database • QueryComposer is a factory to compose queries • ESGChangeListener to listen for ESG updates 2006 JavaOneSM Conference | Session TS-4693 | 16
  • 17. Example: Find All News Programs // Form the query Query q = QueryComposer.equivalent (CommonMetadataSet.PROGRAM_CONTENT_GENRE, "News"); ProgramEvent programs[]; try { // Find the programs programs = edb.findPrograms(q); for (int i = 0; i < programs.length; i++) { // A custom function to display the program info displayProgramInfo(programs[i]); } } catch (QueryException e) {} 2006 JavaOneSM Conference | Session TS-4693 | 17
  • 18. More Query Examples Simple Queries: Query q1, q2, q3; q1 = QueryComposer.equivalent(CommonMetadataSet.SERVICE_NAME, "CNN"); q2 = QueryComposer.after(CommonMetadataSet.PROGRAM_START_TIME, new Date()); q3 = QueryComposer.equivalent(CommonMetadataSet.PROGRAM_CONTENT_GENRE, StringAttribute.UNKNOWN_VALUE); Compound Queries: Query cq; cq = QueryComposer.or(QueryComposer.and(q1, q2), QueryComposer.equivalent(CommonMetadataSet.PROGRAM_CONTENT_GENRE, "News")); 2006 JavaOneSM Conference | Session TS-4693 | 18
  • 19. Agenda Overview Electronic Service Guide (ESG) Service and Program Selection Presentation and Recording Broadcast Files and Objects Security and DRM Purchasing Status 2006 JavaOneSM Conference | Session TS-4693 | 19
  • 20. Service and Program Selection • Information about services and programs are determined from ESG • They are selected via Service Selection API • Agnostic to bearer technology • May require for instance, setting up the radio tuner or joining to IP broadcast group 2006 JavaOneSM Conference | Session TS-4693 | 20
  • 21. Service Selection API • ServiceContext is the entry point to service selection API • ServiceComponent describes media components within a service • ServiceContextListener listener for events from ServiceContext 2006 JavaOneSM Conference | Session TS-4693 | 21
  • 22. ServiceContext Class • Environment where a service or program can be selected and presented in a broadcast receiver • Models the receiver • State model • PRESENTING • NOT_PRESENTING • PRESENTATION_PENDING • DISPOSED 2006 JavaOneSM Conference | Session TS-4693 | 22
  • 23. ServiceContext Class (Cont.) • Instance management • Instances can be shared among applications via export() • Application always has access to the default, pre-created instance of ServiceContext • Program or service selection • Selecting a program/service results in (MMAPI) Players being created for the presentation components • Any service-bound application may also be launched • Component selection • Media (audio, video, applications etc.) components can be selected from a broadcast • An initial set of components can be set via preference before the program/service is selected • After the program/service is selected, components can be added or removed 2006 JavaOneSM Conference | Session TS-4693 | 23
  • 24. Agenda Overview Electronic Service Guide (ESG) Service and Program Selection Presentation and Recording Broadcast Files and Objects Security and DRM Purchasing Status 2006 JavaOneSM Conference | Session TS-4693 | 24
  • 25. Presentation and Recording • Handles the presentation and recording of time-based media such as audio, video and animated content • Relies on JSR 135 for basic playback and recording; JSR 234 for advanced presentation controls • Added a new TimeShiftControl class for time-shifting 2006 JavaOneSM Conference | Session TS-4693 | 25
  • 26. Presentation and Recording API • JSR 135 Player represents a media handler to render and record audio and video • A Player’s Control provides the specific media control features like volume control, playback rate, recording • JSR 234 adds more Control classes for advanced media playback features like spatialized audio, equalizer, image tonality control • TimeShiftControl allows the playback to be shifted or delayed to allow the playback to be paused in real-time • Graphics overlay is supported by allowing the video and GUI rendered on different display planes on the hardware 2006 JavaOneSM Conference | Session TS-4693 | 26
  • 27. Example: Selecting a Service and Fetch the Players for Presentation ServiceContext sc = ServiceContext.getServiceContext(ServiceContext.DEFAULT); sc.addListener(new ServiceContextListener() { public void contextUpdate(ServiceContext s, int event, Object data) { if (event == ServiceContextListener.MEDIA_PREPARED) { Player players[] = (Player [])data; // The players should all be realized at this point. for (int i = 0; i < players.length; i++) { VideoControl vc = (VideoControl)players[i].getControl("VideoControl"); if (vc != null) { vc.initDisplayMode(vc.USE_DIRECT_VIDEO, canvas /* a GUI canvas created ahead of time */); vc.setVisible(true); } players[i].start(); } } } }); ESGQueryDatabase db = ESGQueryDatabase.getDefaultDatabase(); Service[] current = db.findServices(QueryComposer.CURRENT_PROGRAM); sc.selectService(current[0]); 2006 JavaOneSM Conference | Session TS-4693 | 27
  • 28. Agenda Overview Electronic Service Guide (ESG) Service and Program Selection Presentation and Recording Broadcast Files and Objects Security and DRM Purchasing Status 2006 JavaOneSM Conference | Session TS-4693 | 28
  • 29. Broadcast Files and Objects • Broadcast services may carry auxiliary data complementary to the media stream • Broadcast objects may be transmitted as a single file, a directory structure with files, or a stream of packet data • Broadcast objects are received asynchronous to the media streams and may not be immediately available • Broadcast objects may be updated during the course of the broadcast 2006 JavaOneSM Conference | Session TS-4693 | 29
  • 30. Broadcast File and Objects API • Agnostic to the underlying transport mechanism • Based on the Generic Connection Framework • BroadcastFile abstracts a broadcast object as a file or directory of files • BroadcastObjectStream abstracts a broadcast object as a stream of packet data • BroadcastObjectListener provides the listener for the asynchronous update events 2006 JavaOneSM Conference | Session TS-4693 | 30
  • 31. Example: Broadcast Object public void contextUpdate(ServiceContext s, int event, Object data) { if (event == ServiceContextListener.SELECTION_COMPLETED) { // Retrieve the logo that identifies this program. String uri = s.getService().getStringValue(CommonMetadataSet.PROGRAM_CONTENT_AUX_LOGO); if (uri != null) { try { Connection c = Connector.open(uri); if (c instanceof BroadcastFile) { // Do something with this logo ... } } catch (IOException e) { e.printStackTrace(); } } } 2006 JavaOneSM Conference | Session TS-4693 | 31
  • 32. Agenda Overview Electronic Service Guide (ESG) Service and Program Selection Presentation and Recording Broadcast Files and Objects Security and DRM Purchasing Status 2006 JavaOneSM Conference | Session TS-4693 | 32
  • 33. Security • Some methods are protected for security • Permission names are defined for MIPD security framework • Security for downloaded applications follows the mechanisms of the underlying platform 2006 JavaOneSM Conference | Session TS-4693 | 33
  • 34. Digital Rights Management (DRM) • DRM rights need to be acquired before protected services and program events can be consumed • Rights can be acquired via different schemes: Conditional Access (CA), OMA DRM (v.1 or 2) etc. • JSR 272 hides the DRM implementation details but safe-guards the applications from violating DRM control at the level of playback, recording and re-distribution of the contents • JSR 272 does not provide any API to query the DRM rights for the contents since these are functionalities common to the platform. It relies on the underlying platform (e.g. MIDP) to provide the functionalities • Purchase of contents is handled by the payment API 2006 JavaOneSM Conference | Session TS-4693 | 34
  • 35. Agenda Overview Electronic Service Guide (ESG) Service and Program Selection Presentation and Recording Broadcast Files and Objects Security and DRM Purchasing Status 2006 JavaOneSM Conference | Session TS-4693 | 35
  • 36. Purchasing • The ESG indicates whether a service/program requires purchase and provides some preliminary pricing information • JSR 229 Payment API is used to conduct the payment: • Identify the payment provider • Issue the request to the payment provider • Get updated, accurate payment info OTA via the paymentInfo.jpp provisioning • Initiate the actual purchase transaction • Receive the rights object which contains the decryption key • A new class, PurchaseModule is introduced to adapt the PurchaseItemID (a URI) in the ESG to the PlayFeatureID (an integer) in JSR 229 2006 JavaOneSM Conference | Session TS-4693 | 36
  • 37. Purchase Architecture 2006 JavaOneSM Conference | Session TS-4693 | 37
  • 38. Example: Purchase ProgramEvent p = …; PurchaseModule purchaseModule = new PurchaseModule(this); try { String id = p.getStringValue(CommonMetadataSet.PROGRAM_ID); String title = p.getStringValue(CommonMetadataSet.PROGRAM_NAME); String description = p.getStringValue(CommonMetadataSet.PROGRAM_DESCRIPTION); if(!isPurchased(id)){ //send a purchase request int feature=purchaseModule.getPaymentFeatureID(id); purchaseModule.process(feature,title,description); } } catch (Exception e) { } 2006 JavaOneSM Conference | Session TS-4693 | 38
  • 39. Agenda Overview Electronic Service Guide (ESG) Service and Program Selection Presentation and Recording Broadcast Files and Objects Security and DRM Purchasing Status 2006 JavaOneSM Conference | Session TS-4693 | 39
  • 40. Status of the API • The specification is under construction; This slide will be completed in the conference before the session • Public review by… • Proposed final draft… • Final approval ballot by… • Final release by… • RI • What/how 2006 JavaOneSM Conference | Session TS-4693 | 40
  • 41. Summary • JSR 272 is an application API to write mobile digital TV applications • Agnostic to any specific technology • Allows presentation and recording of the services • Gives access to ESG and file carousel • Provide means to purchase services • Designed to harmonize with the MIDP platform 2006 JavaOneSM Conference | Session TS-4693 | 41
  • 42. For More Information • JSR 272 home page: • jcp.org/en/jsr/detail?id=272 2006 JavaOneSM Conference | Session TS-4693 | 42
  • 43. Q&A 2006 JavaOneSM Conference | Session TS-4693 | 43
  • 44. Digital Television for Java™ ME Platform Mobile Devices— Introduction to JSR 272 Antti Rantalahti Ivan Wong Research Manager Distinguished Member Nokia Research Center of Technical Staff Motorola, Inc. TS-4693 2006 JavaOneSM Conference | Session TS-4693 |