SlideShare uma empresa Scribd logo
1 de 44
Baixar para ler offline
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 |

Mais conteúdo relacionado

Destaque

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
 
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 4dennisd1234
 
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 Mondeunpidf
 
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 3Huynh 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 franciliennesunpidf
 
Future lions2012 fruittea sosro lydia imam
Future lions2012 fruittea sosro lydia imamFuture lions2012 fruittea sosro lydia imam
Future lions2012 fruittea sosro lydia imamLydia 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 2007Huynh 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 - BurnFullSIX Group
 
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-12Brandon 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-12Brandon Williams
 
Prevention and response shared copy
Prevention and response shared copyPrevention and response shared copy
Prevention and response shared copyBrandon Williams
 

Destaque (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
 

Semelhante a 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 ComputingSachin 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 Day1Foryanto J. Wiguna
 
NetScout nGeniusONE overview
NetScout nGeniusONE overviewNetScout nGeniusONE overview
NetScout nGeniusONE overviewBAKOTECH
 
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 scaleNoriaki Tatsumi
 
SCF Partners' Day: Technologies for Densification
SCF Partners' Day: Technologies for DensificationSCF Partners' Day: Technologies for Densification
SCF Partners' Day: Technologies for DensificationSmall 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 Systemscmstiernberg
 
Rebaca DPI and PCRF Expertie Overview
Rebaca DPI and PCRF Expertie OverviewRebaca DPI and PCRF Expertie Overview
Rebaca DPI and PCRF Expertie OverviewArshad Mahmood
 
Enterprise Architecture, Deployment and Positioning
Enterprise Architecture, Deployment and Positioning Enterprise Architecture, Deployment and Positioning
Enterprise Architecture, Deployment and Positioning Cisco Russia
 
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 Meetupdjzook
 
Maniteja_Professional_Resume
Maniteja_Professional_ResumeManiteja_Professional_Resume
Maniteja_Professional_ResumeVaddi Maniteja
 
[Year 2014-15 ] Internet Radio
[Year 2014-15 ] Internet Radio[Year 2014-15 ] Internet Radio
[Year 2014-15 ] Internet RadioSaurabh 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.2lisanl
 
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 SP1ITCamp
 
Nice solutions guide_v1.0
Nice solutions guide_v1.0Nice solutions guide_v1.0
Nice solutions guide_v1.0Ranjit Patel
 

Semelhante a 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
 

Último

Research Methodology and Tips on Better Research
Research Methodology and Tips on Better ResearchResearch Methodology and Tips on Better Research
Research Methodology and Tips on Better ResearchRushdi Shams
 
ICS2208 Lecture4 Intelligent Interface Agents.pdf
ICS2208 Lecture4 Intelligent Interface Agents.pdfICS2208 Lecture4 Intelligent Interface Agents.pdf
ICS2208 Lecture4 Intelligent Interface Agents.pdfVanessa Camilleri
 
Alamkara theory by Bhamaha Indian Poetics (1).pptx
Alamkara theory by Bhamaha Indian Poetics (1).pptxAlamkara theory by Bhamaha Indian Poetics (1).pptx
Alamkara theory by Bhamaha Indian Poetics (1).pptxDhatriParmar
 
Plant Tissue culture., Plasticity, Totipotency, pptx
Plant Tissue culture., Plasticity, Totipotency, pptxPlant Tissue culture., Plasticity, Totipotency, pptx
Plant Tissue culture., Plasticity, Totipotency, pptxHimansu10
 
POST ENCEPHALITIS case study Jitendra bhargav
POST ENCEPHALITIS case study  Jitendra bhargavPOST ENCEPHALITIS case study  Jitendra bhargav
POST ENCEPHALITIS case study Jitendra bhargavJitendra Bhargav
 
25 CHUYÊN ĐỀ ÔN THI TỐT NGHIỆP THPT 2023 – BÀI TẬP PHÁT TRIỂN TỪ ĐỀ MINH HỌA...
25 CHUYÊN ĐỀ ÔN THI TỐT NGHIỆP THPT 2023 – BÀI TẬP PHÁT TRIỂN TỪ ĐỀ MINH HỌA...25 CHUYÊN ĐỀ ÔN THI TỐT NGHIỆP THPT 2023 – BÀI TẬP PHÁT TRIỂN TỪ ĐỀ MINH HỌA...
25 CHUYÊN ĐỀ ÔN THI TỐT NGHIỆP THPT 2023 – BÀI TẬP PHÁT TRIỂN TỪ ĐỀ MINH HỌA...Nguyen Thanh Tu Collection
 
EDD8524 The Future of Educational Leader
EDD8524 The Future of Educational LeaderEDD8524 The Future of Educational Leader
EDD8524 The Future of Educational LeaderDr. Bruce A. Johnson
 
How to Customise Quotation's Appearance Using PDF Quote Builder in Odoo 17
How to Customise Quotation's Appearance Using PDF Quote Builder in Odoo 17How to Customise Quotation's Appearance Using PDF Quote Builder in Odoo 17
How to Customise Quotation's Appearance Using PDF Quote Builder in Odoo 17Celine George
 
30-de-thi-vao-lop-10-mon-tieng-anh-co-dap-an.doc
30-de-thi-vao-lop-10-mon-tieng-anh-co-dap-an.doc30-de-thi-vao-lop-10-mon-tieng-anh-co-dap-an.doc
30-de-thi-vao-lop-10-mon-tieng-anh-co-dap-an.docdieu18
 
Riti theory by Vamana Indian poetics.pptx
Riti theory by Vamana Indian poetics.pptxRiti theory by Vamana Indian poetics.pptx
Riti theory by Vamana Indian poetics.pptxDhatriParmar
 
PHARMACOGNOSY CHAPTER NO 5 CARMINATIVES AND G.pdf
PHARMACOGNOSY CHAPTER NO 5 CARMINATIVES AND G.pdfPHARMACOGNOSY CHAPTER NO 5 CARMINATIVES AND G.pdf
PHARMACOGNOSY CHAPTER NO 5 CARMINATIVES AND G.pdfSumit Tiwari
 
Auchitya Theory by Kshemendra Indian Poetics
Auchitya Theory by Kshemendra Indian PoeticsAuchitya Theory by Kshemendra Indian Poetics
Auchitya Theory by Kshemendra Indian PoeticsDhatriParmar
 
ASTRINGENTS.pdf Pharmacognosy chapter 5 diploma in Pharmacy
ASTRINGENTS.pdf Pharmacognosy chapter 5 diploma in PharmacyASTRINGENTS.pdf Pharmacognosy chapter 5 diploma in Pharmacy
ASTRINGENTS.pdf Pharmacognosy chapter 5 diploma in PharmacySumit Tiwari
 
UNIT I Design Thinking and Explore.pptx
UNIT I  Design Thinking and Explore.pptxUNIT I  Design Thinking and Explore.pptx
UNIT I Design Thinking and Explore.pptxGOWSIKRAJA PALANISAMY
 
Quantitative research methodology and survey design
Quantitative research methodology and survey designQuantitative research methodology and survey design
Quantitative research methodology and survey designBalelaBoru
 
LEAD6001 - Introduction to Advanced Stud
LEAD6001 - Introduction to Advanced StudLEAD6001 - Introduction to Advanced Stud
LEAD6001 - Introduction to Advanced StudDr. Bruce A. Johnson
 
Metabolism of lipoproteins & its disorders(Chylomicron & VLDL & LDL).pptx
Metabolism of  lipoproteins & its disorders(Chylomicron & VLDL & LDL).pptxMetabolism of  lipoproteins & its disorders(Chylomicron & VLDL & LDL).pptx
Metabolism of lipoproteins & its disorders(Chylomicron & VLDL & LDL).pptxDr. Santhosh Kumar. N
 
3.12.24 The Social Construction of Gender.pptx
3.12.24 The Social Construction of Gender.pptx3.12.24 The Social Construction of Gender.pptx
3.12.24 The Social Construction of Gender.pptxmary850239
 
Dhavni Theory by Anandvardhana Indian Poetics
Dhavni Theory by Anandvardhana Indian PoeticsDhavni Theory by Anandvardhana Indian Poetics
Dhavni Theory by Anandvardhana Indian PoeticsDhatriParmar
 

Último (20)

Research Methodology and Tips on Better Research
Research Methodology and Tips on Better ResearchResearch Methodology and Tips on Better Research
Research Methodology and Tips on Better Research
 
ICS2208 Lecture4 Intelligent Interface Agents.pdf
ICS2208 Lecture4 Intelligent Interface Agents.pdfICS2208 Lecture4 Intelligent Interface Agents.pdf
ICS2208 Lecture4 Intelligent Interface Agents.pdf
 
Alamkara theory by Bhamaha Indian Poetics (1).pptx
Alamkara theory by Bhamaha Indian Poetics (1).pptxAlamkara theory by Bhamaha Indian Poetics (1).pptx
Alamkara theory by Bhamaha Indian Poetics (1).pptx
 
Plant Tissue culture., Plasticity, Totipotency, pptx
Plant Tissue culture., Plasticity, Totipotency, pptxPlant Tissue culture., Plasticity, Totipotency, pptx
Plant Tissue culture., Plasticity, Totipotency, pptx
 
POST ENCEPHALITIS case study Jitendra bhargav
POST ENCEPHALITIS case study  Jitendra bhargavPOST ENCEPHALITIS case study  Jitendra bhargav
POST ENCEPHALITIS case study Jitendra bhargav
 
25 CHUYÊN ĐỀ ÔN THI TỐT NGHIỆP THPT 2023 – BÀI TẬP PHÁT TRIỂN TỪ ĐỀ MINH HỌA...
25 CHUYÊN ĐỀ ÔN THI TỐT NGHIỆP THPT 2023 – BÀI TẬP PHÁT TRIỂN TỪ ĐỀ MINH HỌA...25 CHUYÊN ĐỀ ÔN THI TỐT NGHIỆP THPT 2023 – BÀI TẬP PHÁT TRIỂN TỪ ĐỀ MINH HỌA...
25 CHUYÊN ĐỀ ÔN THI TỐT NGHIỆP THPT 2023 – BÀI TẬP PHÁT TRIỂN TỪ ĐỀ MINH HỌA...
 
EDD8524 The Future of Educational Leader
EDD8524 The Future of Educational LeaderEDD8524 The Future of Educational Leader
EDD8524 The Future of Educational Leader
 
How to Customise Quotation's Appearance Using PDF Quote Builder in Odoo 17
How to Customise Quotation's Appearance Using PDF Quote Builder in Odoo 17How to Customise Quotation's Appearance Using PDF Quote Builder in Odoo 17
How to Customise Quotation's Appearance Using PDF Quote Builder in Odoo 17
 
Problems on Mean,Mode,Median Standard Deviation
Problems on Mean,Mode,Median Standard DeviationProblems on Mean,Mode,Median Standard Deviation
Problems on Mean,Mode,Median Standard Deviation
 
30-de-thi-vao-lop-10-mon-tieng-anh-co-dap-an.doc
30-de-thi-vao-lop-10-mon-tieng-anh-co-dap-an.doc30-de-thi-vao-lop-10-mon-tieng-anh-co-dap-an.doc
30-de-thi-vao-lop-10-mon-tieng-anh-co-dap-an.doc
 
Riti theory by Vamana Indian poetics.pptx
Riti theory by Vamana Indian poetics.pptxRiti theory by Vamana Indian poetics.pptx
Riti theory by Vamana Indian poetics.pptx
 
PHARMACOGNOSY CHAPTER NO 5 CARMINATIVES AND G.pdf
PHARMACOGNOSY CHAPTER NO 5 CARMINATIVES AND G.pdfPHARMACOGNOSY CHAPTER NO 5 CARMINATIVES AND G.pdf
PHARMACOGNOSY CHAPTER NO 5 CARMINATIVES AND G.pdf
 
Auchitya Theory by Kshemendra Indian Poetics
Auchitya Theory by Kshemendra Indian PoeticsAuchitya Theory by Kshemendra Indian Poetics
Auchitya Theory by Kshemendra Indian Poetics
 
ASTRINGENTS.pdf Pharmacognosy chapter 5 diploma in Pharmacy
ASTRINGENTS.pdf Pharmacognosy chapter 5 diploma in PharmacyASTRINGENTS.pdf Pharmacognosy chapter 5 diploma in Pharmacy
ASTRINGENTS.pdf Pharmacognosy chapter 5 diploma in Pharmacy
 
UNIT I Design Thinking and Explore.pptx
UNIT I  Design Thinking and Explore.pptxUNIT I  Design Thinking and Explore.pptx
UNIT I Design Thinking and Explore.pptx
 
Quantitative research methodology and survey design
Quantitative research methodology and survey designQuantitative research methodology and survey design
Quantitative research methodology and survey design
 
LEAD6001 - Introduction to Advanced Stud
LEAD6001 - Introduction to Advanced StudLEAD6001 - Introduction to Advanced Stud
LEAD6001 - Introduction to Advanced Stud
 
Metabolism of lipoproteins & its disorders(Chylomicron & VLDL & LDL).pptx
Metabolism of  lipoproteins & its disorders(Chylomicron & VLDL & LDL).pptxMetabolism of  lipoproteins & its disorders(Chylomicron & VLDL & LDL).pptx
Metabolism of lipoproteins & its disorders(Chylomicron & VLDL & LDL).pptx
 
3.12.24 The Social Construction of Gender.pptx
3.12.24 The Social Construction of Gender.pptx3.12.24 The Social Construction of Gender.pptx
3.12.24 The Social Construction of Gender.pptx
 
Dhavni Theory by Anandvardhana Indian Poetics
Dhavni Theory by Anandvardhana Indian PoeticsDhavni Theory by Anandvardhana Indian Poetics
Dhavni Theory by Anandvardhana Indian Poetics
 

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 |