Delivery Context in Internet Protocols. Larry Masinter Adobe Systems Incorporated



Similar documents
Internet Technologies for Digital Libraries

Project #2. CSE 123b Communications Software. HTTP Messages. HTTP Basics. HTTP Request. HTTP Request. Spring Four parts

Computer System Management: Hosting Servers, Miscellaneous

Protocolo HTTP. Web and HTTP. HTTP overview. HTTP overview

Contents. Specialty Answering Service. All rights reserved.

District of Columbia Courts Attachment 1 Video Conference Bridge Infrastructure Equipment Performance Specification

Automatic Configuration and Service Discovery for Networked Smart Devices

Voice-Over-IP. Daniel Zappala. CS 460 Computer Networking Brigham Young University

Remote Desktop Protocol Performance

TSIN02 - Internetworking

FRAFOS GmbH Windscheidstr. 18 Ahoi Berlin Germany

Bridgit Conferencing Software: Security, Firewalls, Bandwidth and Scalability

Web Conferencing Version 8.3 Troubleshooting Guide

Web Design (One Credit), Beginning with School Year

NGN NNI Signalling Profile

Chapter 17. Transport-Level Security

This presentation discusses the new support for the session initiation protocol in WebSphere Application Server V6.1.

FRAFOS GmbH Windscheidstr. 18 Ahoi Berlin Germany

Transport Layer Security Protocols

SIP A Technology Deep Dive

Wildix Management System (WMS) White Paper

Encapsulating Voice in IP Packets

Selecting the Right SIP Phone for Your IP PBX By Gary Audin May 5, 2014

The Hyper-Text Transfer Protocol (HTTP)

An Introduction to VoIP Protocols

This specification this document to get an official version of this User Network Interface Specification

Version 0.1 June Xerox WorkCentre 7120 Fax over Internet Protocol (FoIP)

CrossTalk is a VoIP (Voice over IP) softphone which lets you call anywhere in the world at nominal rates.

Application layer Web 2.0

Software Engineering 4C03 VoIP: The Next Telecommunication Frontier

The following multiple-choice post-course assessment will evaluate your knowledge of the skills and concepts taught in Internet Business Associate.

The use of IP networks, namely the LAN and WAN, to carry voice. Voice was originally carried over circuit switched networks

SIP Session Initiation Protocol

PDF Primer PDF. White Paper

1. When will an IP process drop a datagram? 2. When will an IP process fragment a datagram? 3. When will a TCP process drop a segment?

Basic Vulnerability Issues for SIP Security

Grandstream Networks, Inc.

Sangheon Pack, EunKyoung Paik, and Yanghee Choi

Frequently Asked Questions

Voice over IP & Other Multimedia Protocols. SIP: Session Initiation Protocol. IETF service vision. Advanced Networking

M3-R3: INTERNET AND WEB DESIGN

Network operating systems typically are used to run computers that act as servers. They provide the capabilities required for network operation.

4 Understanding. Web Applications IN THIS CHAPTER. 4.1 Understand Web page development. 4.2 Understand Microsoft ASP.NET Web application development

Project Code: SPBX. Project Advisor : Aftab Alam. Project Team: Umair Ashraf (Team Lead) Imran Bashir Khadija Akram

Mobile Strategy and Design

SIP: Protocol Overview

Receiving the IP packets Decoding of the packets Digital-to-analog conversion which reproduces the original voice stream

Application Notes "EPCF 1%' 1SJOU &OHJOF "11&

Flexible Routing and Load Control on Back-End Servers. Controlling the Request Load and Quality of Service

Session Initiation Protocol (SIP) The Emerging System in IP Telephony

WebRTC: Why and How? FRAFOS GmbH. FRAFOS GmbH Windscheidstr. 18 Ahoi Berlin Germany

Points to Note. Chinese and English characters shall be coded in ISO/IEC 10646:2011, and the set of Chinese

Best Practices for Role Based Video Streams (RBVS) in SIP. IMTC SIP Parity Group. Version 33. July 13, 2011

Phire Architect Hardware and Software Requirements

VIDEOCONFERENCING. Video class

Printer Management Software

1 Introduction: Network Applications

COMPARING THE TOTAL COST OF OWNERSHIP OF TDM AND SIP CONTACT CENTERS

AN IPTEL ARCHITECTURE BASED ON THE SIP PROTOCOL

CSIS CSIS 3230 Spring Networking, its all about the apps! Apps on the Edge. Application Architectures. Pure P2P Architecture

The Evolved Office APPLICATION PLATFORM REQUIREMENTS. Release: 16.0

Web Tracking for You. Gregory Fleischer

Cloud Portal for imagerunner ADVANCE

Functions of NOS Overview of NOS Characteristics Differences Between PC and a NOS Multiuser, Multitasking, and Multiprocessor Systems NOS Server

SHORT DESCRIPTION OF THE PROJECT...3 INTRODUCTION...4 MOTIVATION...4 Session Initiation Protocol (SIP)...5 Java Media Framework (JMF)...

Need for Signaling and Call Control

Alcatel OmniPCX Enterprise R11 Supported SIP RFCs

Front-End Performance Testing and Optimization

Ricoh HotSpot Printer/MFP Whitepaper Version 4_r4

THE PROXY SERVER 1 1 PURPOSE 3 2 USAGE EXAMPLES 4 3 STARTING THE PROXY SERVER 5 4 READING THE LOG 6

4.2 Understand Microsoft ASP.NET Web Application Development

IP-Telephony Real-Time & Multimedia Protocols

Implementing Conditional Conference Call Use Case over IMS and Non IMS Testbed an experimental results through comparison approach

HTTP. Internet Engineering. Fall Bahador Bakhshi CE & IT Department, Amirkabir University of Technology

Voice Processing Standards. Mukesh Sundaram Vice President, Engineering Genesys (an Alcatel company)

SIP, Session Initiation Protocol used in VoIP

Table Of Contents. - Microsoft Windows - WINDOWS XP - IMPLEMENTING & SUPPORTING MICROSOFT WINDOWS XP PROFESSIONAL...10

FAQs for Oracle iplanet Proxy Server 4.0

OVERVIEW OF ALL VOIP SOLUTIONS

Peer-to-Peer (P2P) applications, including both P2P streaming and P2P

Best practice for SwiftBroadband

The MOST Affordable HD Video Conferencing. Conferencing for Enterprises, Conferencing for SMBs

Application Note. Onsight Mobile Collaboration Video Endpoint Interoperability v5.0

Microsoft Windows 7. Administration. Instant Reference. William Panek WILEY. Wiley Publishing, Inc.

2- Electronic Mail (SMTP), File Transfer (FTP), & Remote Logging (TELNET)

Voice over IP (VoIP) Overview. Introduction. David Feiner ACN Introduction VoIP & QoS H.323 SIP Comparison of H.323 and SIP Examples

A Comparative Study of Signalling Protocols Used In VoIP

SIP : Session Initiation Protocol

MCSE SYLLABUS. Exam : Managing and Maintaining a Microsoft Windows Server 2003:

Overview of Voice Over Internet Protocol

Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence

This document explains how to enable the SIP option and adjust the levels for the connected radio(s) using the below network example:

Application Notes. Introduction. Contents. Managing IP Centrex & Hosted PBX Services. Series. VoIP Performance Management. Overview.

SIP Forum Fax Over IP Task Group Problem Statement

Using over FleetBroadband

Transcription:

Delivery Context in Internet Protocols Larry Masinter Adobe Systems Incorporated

Relevant Background! chair, HTTP working group ( 95-99)! editor & participant in many other IETF standards groups: " Internet Fax " Instant messaging " Content negotiation! Project lead, Xerox PARC System 33

Main points of this talk! consider broader history & application for device context! Content negotiation doesn t scale! Vocabularies should be standards

History! Fax: reliable messaging based on simple negotiation! Printing, color management: history of adaptation! System 33: early net service that did adaptation! HTTP & various extensions! Web: Cache control, management, sharing " most web traffic is to very small number of sites " popular web sites use content distribution networks! Internet Print Protocol " Discover printer capabilities, formats supported, paper sizes! Session Initiation (SIP)! EMail negotiation " send HTML mail or plain text! Instant Messaging " Send Images? Audio? Video? not in standards proposals, but part of commercial IM

Side-note: Vocabulary! sender: agent with content! receiver: agent that gets content! client: initiator, transient agent! server: accepts client requests, available agent! In HTTP, client is receiver, server is sender, except in POST and PUT, which don t do content negotiation! Sender adapts content for receiver

History: Fax! Sender connects to receiver over telephone line! receiver sends capabilities negotiates bandwidth, resolution, compression methods! sender chooses format to match receiver capabilities typically before paper is scanned! Standard mandates base mandatory-toimplement format insures negotiation will succeed

History: System 33! Xerox PARC project, 1988-1994! document storage & content adaptation! Attempted to deal with devices of different capabilities, screen size, resolution, color capabilities! Client sends preferences, server adapts! Added conversion to HTML

Postscript Printer Descriptions " capabilities (color space, memory) " characteristics (resolution) " initialization information " font capabilities Usage evolved over time

History: Color management! Calibration: return device to known characteristics! Characterization: create profile that describes condition of device! Matching: convert given content to appropriate content for device! Gamut: range of capabilities! Device Profile: describes gamut and other characteristics of device! Generic device profile: by manufacturer, for all devices of a given model! Custom device profile: describes a particular device after characterization! Render intent: choice of method used for matching, depending on the purpose

Content Negotiation in HTTP! HTTP/1.0 RFC 1945 (May 1996)! Accept (accept-charset, accept-language) " defaults? " pattern matching? " parameters?! HTTP/1.1 RFC 1945 (Jan 1997) " q parameter " accept-encoding, accept-language

Proposed HTTP Extensions! TCN: Transparent Content Negotiation, RFC 2295, March 1998 " Accept-Features request " Alternates response " Negotiate request " TCN response " Variant-Vary response " Variant etags Multiple modes for exchange of context information Which features are not needed for functioning with content distribution?! RVSA: Remote Variant Selection Algorithm, RFC 2296, 1998 " no features registry (predated CONNEG) " Allow intermediaries to participate in content selection

Use today in HTTP! Accept useless! Accept-Language widely implemented, sent, but rarely used! Accept-Encoding sometimes useful! No interest in TCN or RVSA! User-Agent most frequent use, but everyone is Mozilla (Compatible)! Detection, when needed, done by JavaScript, Java sniffers

IPP Internet Print Protocol RFC 2910, 2911! Get-Printer-Attributes request " query for document-format, pdl-override, compression, job size, color capabilities,available printer drivers! Print driver adapts user selectable job options, content, to match printer capabilities

SIP: Session Initiation Protocol RFC 2543 (and others)! HTTP-like protocol for establishing multimedia communication (voice, video)! OPTIONS, INVITE methods allow discovering capabilities! Negotiate bandwidth, codecs! proposed extensions for negotiating other preferences

EMail Extensions for Content Negotiation! Address book " send plain text or HTML?! Internet Fax " Use email-based image transmission " Message confirmation can indicate receiver capabilities! VPIM: Voice Profile for Internet Mail " email-based voice messaging " Proposals to use IFax methods

EMail negotiation proposal draft-ietf-fax-content-negotiation-05.txt! Sender has limited possible cases! Sender prepares and sends standard presentation! Receiver may select better presentation and request it

RESCAP: resource capability protocol! Create (DNS-indexed) resource capability services! Include device capability, public keys, protocol capabilities, etc.! Not moving very fast

CONNEG: vocabulary for media features! Started ~1996 out of HTTP working group! Working group given narrow charter: create vocabulary for content negotiation started with HTTP use case! Create Media Feature Registry : RFC 2506! Define common media features: RFCs 2534, 2912, 2987! Create syntax for media feature expressions RFCs 2533, 2738! Shorthand for expressions: RFC 2938

CONNEG basics! Registered features: " Display, print & fax: pix-x, pix-y, dpi, ua-media, paper-size " MIME type, charset, language " more elaborate capabilities for fax " proposed feature for xmlns! Compact syntax for boolean expressions: ( (& (pix-x=750)(pix-y=500)(color=mapped)) (& (dpi=300)(ua-media=stationery) (papersize=iso-a4) ) )! Hash canonical syntax for references (& (dpi=100) (h.sbb5reaomhc09cp2gm4v07pqp0) ) where (h.sbb5reaomhc09cp2gm4v07pqp0) :- (& (pix-x<=200) (pix-y<=150) ) end

Warning: different meanings for same vocabulary term! Capabilities: I can display up to 300 dpi images! Characteristics I have a 300 dpi screen! Preferences I prefer images an integer fraction of 300 dpi! Content s characteristics This image was scanned at 300 dpi! Content preference for device capabilities This image best viewed on a 300 dpi display

Standardize vocabularies! listing, registering, using URIs for vocabulary terms not enough! Vocabularies should be standards, with demonstrated interoperability! Must include clear definition of interpretation, allowable content, implications for adaptation

Avoid content-negotiation failure! origin-server adaptation doesn t scale! origin-unaware adaptation works poorly! Many other protocols are too complex for deployment! Receiver-makers: best viewed by me! content authors hate it! want author-once, view many " Reuse & retransmission (forward, print) fail with adapted content " signatures & version management difficult

Device-Independent Content! Device-independent content may be multi-modal, self-adapt to context! Embedded vocabularies in scripting language, media queries, need to be standards