Application Standards for `Push` Content and Streaming Media

Download Report

Transcript Application Standards for `Push` Content and Streaming Media

Application Standards for ‘Push’
Content and Streaming Media
Hadi Partovi
Microsoft Corporation
Agenda
• Justification
• Technologies of today:
– Smart Pull
– True Push, Streaming Media
• CDF - Unifying Pull and Push
– Demo, Details
• Technologies of tomorrow:
– Searching and Filtering
– Profiling and Personalization
Justification
• The Web today:
– Different standards for pull vs. push
– Many different push mechanisms, transports
– No interoperability in “push”
• The Web tomorrow
– New ways to manage content
– Even greater need for interoperability
Technologies of today
Smart Pull
True Push
Streaming Media
Push = Smart Pull?
•
•
•
•
•
“Smart” means automated, scheduled pull
HTTP as the underlying transport
Driven by data about the content
User Interface provides “push” experience
Many players in this space
Smart Pull
Delivering Content for Offline User
Client polls for new information about content
Client
Pages sent
Directives
Web Server
Directives
Actions
1. Client “Subscribes” to the Web Site
2. Server side provides directives for smart pull
3. Web pages described in these directives are automatically fetched
delivered to client
True Push (1 of 2)
• New transport protocols solve problems not
addressed by HTTP today
– Multicast information to many clients
efficiently
– Data change notifications
– Different physical media (e.g. airwaves)
True Push (2 of 2)
• Diverging solutions for multicast and
broadcast protocols
• Many of these protocols also include similar
directives
– What content to deliver
– Schedule
Streaming Media
• Similar to “true-push” multicast solutions
• Similar directives for streaming content
– What streams to “play”
– Timing information
• Many more problems beyond regular Web
content (out of scope)
– Video / presentation issues
Channel Definition Format
Unifying Push and Pull
Demo
Details
CDF - Unifying Pull and Push
• Author once for different delivery
mechanisms
• Single, simple data format, procedural API
– eXtensible Markup Language (XML)
– Document Object Model
• Extensible vocabulary for common
application directives
• Scalable
What is a channel?
•
•
•
•
•
Meta-information about content
Automated delivery
Offline use
Personalization rules
Vision supplied by many companies
The role of CDF
• Existing vocabulary has played a unifying
role in the marketplace
– Majority of ‘push’ clients, servers, tools
– Countless content sites
– Evolved from Sitemaps (HTML-WG)
• Built on XML - (first widely publicized
application of XML)
• CDF-based solutions for smart pull or true
push
Flexibility of Implementation
• Interoperable client, server, tool
implementations available today
• IE4 will provide best of breed, cross
platform.
• Open COM-based architecture allows
multiple transport protocols to plug in
• Independent of content format
CDF - Demo
Content hierarchy
Offline use
Display directives
CDF - Selected Details
• Content grouping
• Update Schedule
• Display preferences
CDF - Content Grouping
• Hierarchical grouping
– <CHANNEL> and <ITEM>
• Absolute or relative URLs
– <BASE> just like HTML
• Cache directives
– LASTMOD attribute (avoid roundtrip)
– PRECACHE attribute (for offline use)
– LEVEL attribute (for crawling subtrees)
CDF - Update Schedule
• Required update frequency:
– INTERVALTIME
• Optional channel lifetime:
– STARTDATE, ENDDATE
• Optional - control over time of update:
– EARLIESTTIME, LATESTTIME
CDF - Display Preferences
• <LOGO> - visual cues
– for channels or items
• <USAGE> - display venue for presenting
channel or item content
–
–
–
–
e.g. channel-viewer
e.g. screen-saver
e.g. a notification pop-up
e.g. a printer
OSD - Open Software
Description
• Philosophically aligned with CDF
• Value is in vocabulary
– XML for syntax
– DOM for procedural API
• CDF is vocabulary for content
• OSD is vocabulary for software packages
– Dependencies per platform/lang/etc
Technologies of Tomorrow
Searching, Filtering
Profiling, Personalization
Moving Forward - Searching,
Filtering, Aggregating
• Client-side or Server-side
• “Push” vocabulary helps search content,
filter unwanted info, aggregate desired info
• Use XML-Namespaces and XML-RDF to
add annotations
• Search results themselves may be “pushed”
• Need language and application rules for
CDF filtering
Profiling and Personalization
• Again, personalize on client or on server
• Upcoming work from P3 group - profiling
– Communicating private info between client and
server
• “Pushed” content should be personalized
– Client-side personalization essential for many
“true-push” mechanisms
– Need common standard for CDF
personalization directives
CDF Futures
• CDF v1 - shipping, industry momentum
• CDF v2
– Filtering / Personalization language, rules
– Vocabulary extended (use XML Namespaces)
– Relationship to other proposals (XML for
native types, XML-RDF for annotation, OSD
for software push)
Summary
• Need standards in diverging area of push
• Many future technologies at stake
• CDF is already in use by over 50 software
vendors, over 1,000 high-profile web sites
– Clients, Servers, Tools - shipping, many impls
– Wire (or air) Protocols
– Content - grassroots momentum
• Looking forward to formalizing CDF,
defining future versions