Endpoint vs. Network Services Henning Schulzrinne (with Xiaotao Wu) Columbia University Siemens ICN...

37
Endpoint vs. Network Endpoint vs. Network Services Services Henning Schulzrinne (with Xiaotao Wu) Columbia University Siemens ICN Innovation Symposium Munich – December 16, 2003

Transcript of Endpoint vs. Network Services Henning Schulzrinne (with Xiaotao Wu) Columbia University Siemens ICN...

Page 1: Endpoint vs. Network Services Henning Schulzrinne (with Xiaotao Wu) Columbia University Siemens ICN Innovation Symposium Munich – December 16, 2003.

Endpoint vs. Network Endpoint vs. Network ServicesServices

Henning Schulzrinne(with Xiaotao Wu)

Columbia UniversitySiemens ICN Innovation Symposium

Munich – December 16, 2003

Page 2: Endpoint vs. Network Services Henning Schulzrinne (with Xiaotao Wu) Columbia University Siemens ICN Innovation Symposium Munich – December 16, 2003.

Adding value through Adding value through applicationsapplications

What are services? will focus on VoIP difference most obvious applies also to video-on-demand

Where can services reside? Who can create services? Preventing user service creation

Page 3: Endpoint vs. Network Services Henning Schulzrinne (with Xiaotao Wu) Columbia University Siemens ICN Innovation Symposium Munich – December 16, 2003.

Old service modelOld service model small number of well-

defined (named) services, e.g., CLASS

call return caller ID calling number blocking call trace repeat dialing call block …

widely used charged by the month high initial cost (e.g., for

switch generic) but pure profit once

amortized

stimulus interface end system does not

know service almost no user

customization partially caused by poor

UI hardware model:

push button to get feature

expectation of “killer service”

“content is king” vertical integration

Page 4: Endpoint vs. Network Services Henning Schulzrinne (with Xiaotao Wu) Columbia University Siemens ICN Innovation Symposium Munich – December 16, 2003.

New service modelNew service model Provide protocol and API building blocks

service ingredients (Mostly) open interfaces

protocol specifications API specifications common OS platforms (Symbian, Java,

WinCE/Win32, Palm, Linux) Works best if very narrow interfaces

IP, HTTP Posix API

Page 5: Endpoint vs. Network Services Henning Schulzrinne (with Xiaotao Wu) Columbia University Siemens ICN Innovation Symposium Munich – December 16, 2003.

New service modelNew service model Don’t expect a single killer service or application

except at large scale: web, email, IM, VoIP (eventually…)

don’t expect the carrier to come up with one users create their own services

users not just consumers vertical niche applications

requires domain knowledge encourages experimentation

risk is borne by those needing service the most no infrastructure changes required

“connectivity is king” slicing of service provision

Page 6: Endpoint vs. Network Services Henning Schulzrinne (with Xiaotao Wu) Columbia University Siemens ICN Innovation Symposium Munich – December 16, 2003.

Aside: Internet servicesAside: Internet services Push services

content delivery streaming media

inter-machine communications

RPC (Corba, web services, …)

games asynchronous

messaging email

synchronous messaging

SMS, IM general event delivery

(SIP)

Pull services content retrieval

ftp gopher web peer-to-peer IMAP, POP

Page 7: Endpoint vs. Network Services Henning Schulzrinne (with Xiaotao Wu) Columbia University Siemens ICN Innovation Symposium Munich – December 16, 2003.

IP “hourglass”IP “hourglass”

email WWW phone...

SMTP HTTP RTP...

TCP UDP…

IP

ethernet PPP…

CSMA async sonet...

copper fiber radio...

Steve Deering, IETF Aug. 2001

Page 8: Endpoint vs. Network Services Henning Schulzrinne (with Xiaotao Wu) Columbia University Siemens ICN Innovation Symposium Munich – December 16, 2003.

The real Internet hourglass The real Internet hourglass (slightly simplified)(slightly simplified)

IP

TCP

HTTP

Ethernet

webweb services

p2p (port 80)

Page 9: Endpoint vs. Network Services Henning Schulzrinne (with Xiaotao Wu) Columbia University Siemens ICN Innovation Symposium Munich – December 16, 2003.

VoIP: What are services?VoIP: What are services? Call routing services subset of CLASS services

name/number translation terminal, user mobility

call forward busy/no answer call forward conditional (time-of-day, call center)

Directory services white and yellow pages

global and corporate Media services

media encoding translation for bandwidth media type conversion: language, speech-to-text media combining: conferencing

Identity services identity assertion (“Columbia attests that Joe Smith, an employee, is

calling”) identity hiding (“[email protected] is calling”) configuration repository

media preferences address book and speed dial

Page 10: Endpoint vs. Network Services Henning Schulzrinne (with Xiaotao Wu) Columbia University Siemens ICN Innovation Symposium Munich – December 16, 2003.

PSTN vs. Internet PSTN vs. Internet TelephonyTelephony

Number of lines or pending calls

is virtually unlimited

Single line, 12 buttons and

hook flash to signal

More (per-user) processing power than most network

servers

PSTN Internet Telephony end system

Page 11: Endpoint vs. Network Services Henning Schulzrinne (with Xiaotao Wu) Columbia University Siemens ICN Innovation Symposium Munich – December 16, 2003.

PSTN vs. Internet PSTN vs. Internet TelephonyTelephony

Signaling & Media Signaling & Media

Signaling Signaling

Media

PSTN:

InternetTelephone:

can be far awayfrom either user

Page 12: Endpoint vs. Network Services Henning Schulzrinne (with Xiaotao Wu) Columbia University Siemens ICN Innovation Symposium Munich – December 16, 2003.

PSTN vs. VoIPPSTN vs. VoIP

PSTN: only carriers can get full signaling functionality (SS7) UNI vs. NNI signaling

VoIP: same signaling, same functionality

Page 13: Endpoint vs. Network Services Henning Schulzrinne (with Xiaotao Wu) Columbia University Siemens ICN Innovation Symposium Munich – December 16, 2003.

Network vs. end system Network vs. end system servicesservices Really two meanings:

services implemented in user agent (instead of proxy)

services implemented in server run by end user (instead of by carrier or equipment vendor)

business residential

Variation on old Centrex vs. PBX argument except that media routing no longer an issue

Often, services require or can use both: e.g., the history of speed dial

CLASS service: translation in CO (semi)intelligent end systems: locally, possibly with

hotsync to PC intelligent end system, but network-synchronized

Page 14: Endpoint vs. Network Services Henning Schulzrinne (with Xiaotao Wu) Columbia University Siemens ICN Innovation Symposium Munich – December 16, 2003.

End system vs. network End system vs. network trade-offstrade-offsCriteria network end system

availability

high (backup systems & power)

lower, but maintain local services during network outage

bandwidth

high lower ( large centralized conferences)

addressing

global IPv4 addresses often NATs can’t run serversIPv6 may fix

security professional maintenancemore visible targettrust third party with content

update trackinglower disruptionend-to-end encryption

user control

protection of shared resources limit user programmability

full control

processing

high aggregate,lower per-user

low on residential GW,unbounded on PCs

Page 15: Endpoint vs. Network Services Henning Schulzrinne (with Xiaotao Wu) Columbia University Siemens ICN Innovation Symposium Munich – December 16, 2003.

End system vs. Network End system vs. Network services – the easier casesservices – the easier cases Network services

PSTN gateway multiplexing gain SS7 access

Backup services e.g., no answer from

enterprise due to failure

no permanent connectivity for residential users

Large-scale conferences for residential users

bandwidth availability

End system/user services

media processing distinctive ringing programmable

services user control but: security

maintenance

Page 16: Endpoint vs. Network Services Henning Schulzrinne (with Xiaotao Wu) Columbia University Siemens ICN Innovation Symposium Munich – December 16, 2003.

Network service: call routing Network service: call routing servicesservices

Outsourcing allows temporarily disconnected end users

Staged service:

carrier proxy user proxy

basic call routing

personalpreferences

Page 17: Endpoint vs. Network Services Henning Schulzrinne (with Xiaotao Wu) Columbia University Siemens ICN Innovation Symposium Munich – December 16, 2003.

Peer-to-peer call routingPeer-to-peer call routingH(aor) = node

REGISTERsupernode

Page 18: Endpoint vs. Network Services Henning Schulzrinne (with Xiaotao Wu) Columbia University Siemens ICN Innovation Symposium Munich – December 16, 2003.

Network service: identity and Network service: identity and trust managementtrust management Identity assertion (notary) services

best done by larger organization server certificates name recognition recourse

Anonymity services needs to have large user population to

provide effective hiding Portable services

high availability and universal reachability

Page 19: Endpoint vs. Network Services Henning Schulzrinne (with Xiaotao Wu) Columbia University Siemens ICN Innovation Symposium Munich – December 16, 2003.

Internet service ecologyInternet service ecology False either/or choice See email and web for

precedent carrier-provided (ISPs)

basic transport service name portability issues

enterprise provide and manage

own infrastructure only purchase “raw bits”

home user albeit actively

discouraged hosting companies =

bandwidth + service shared and dedicated

facilities but not an ISP in the

traditional sense service-only

companies web mail mail forwarding

Page 20: Endpoint vs. Network Services Henning Schulzrinne (with Xiaotao Wu) Columbia University Siemens ICN Innovation Symposium Munich – December 16, 2003.

The vanishing phone The vanishing phone companycompany Old model:

explicit, user-visible signaling dialing, ringing small number of phone lines, (mostly) each with one E.164

identifier New model:

session initiation from IM session no dialing and ringing game session proximity triggers conversation event based connect if event occurs

no notion of lines teenager (or telemarketer…) may have dozens of chat

windows open some identifiers may make no PSTN calls at all

from monthly service calling card-like any number of identifiers

one per wire or device multiple per person (role-based)

Page 21: Endpoint vs. Network Services Henning Schulzrinne (with Xiaotao Wu) Columbia University Siemens ICN Innovation Symposium Munich – December 16, 2003.

How to prevent user service How to prevent user service creationcreation The PTT approach

stimulus signaling only force congruent media

and signaling path limit vendor choices

for end systems The Microsoft

approach hidden APIs baroque interfaces,

subject to change The WAP approach

require new content restrictive technology

licensing

The cell phone approach

cell phones not programmable

restrict to certain cell phone models (US)

air interface regulation and licensing

The ISP approach port blocking NATs restrict upstream

bandwidth The lawyer approach

patents and trade secrets

Page 22: Endpoint vs. Network Services Henning Schulzrinne (with Xiaotao Wu) Columbia University Siemens ICN Innovation Symposium Munich – December 16, 2003.

ConclusionsConclusions VoIP enables, but does not force, end point

services separation of data and control planes

Move service location decision to end user, with trade-offs in

cost control availability functionality technical sophistication needed

Carriers and vendors have vital role: service creation environments reliable network service trust and identity service hosting

Page 23: Endpoint vs. Network Services Henning Schulzrinne (with Xiaotao Wu) Columbia University Siemens ICN Innovation Symposium Munich – December 16, 2003.

Annex: technical backgroundAnnex: technical backgroundon service creationon service creation

Page 24: Endpoint vs. Network Services Henning Schulzrinne (with Xiaotao Wu) Columbia University Siemens ICN Innovation Symposium Munich – December 16, 2003.

Service location examplesService location examplesService End system Network

(proxy)Network with media (UA)

Distinctive ringing

Yes Can assist Can assist

Visual call id Yes Can assist Can assist

Call waiting Yes No Yes(*)

CF busy Yes Yes(*) Yes(*)

CF no answer Yes Yes Yes

CF no device No Yes Yes

Location hiding No Yes Yes

Transfer Yes No No

Conference bridge

Yes No Yes

Gateway to PSTN No No Yes

Firewall control No No Yes

Voicemail Yes No Yes(*) = with information provided by end system

Page 25: Endpoint vs. Network Services Henning Schulzrinne (with Xiaotao Wu) Columbia University Siemens ICN Innovation Symposium Munich – December 16, 2003.

Example: VoIP embedded in Example: VoIP embedded in VRVR

Page 26: Endpoint vs. Network Services Henning Schulzrinne (with Xiaotao Wu) Columbia University Siemens ICN Innovation Symposium Munich – December 16, 2003.

Network service: service Network service: service mobilitymobility

Network server acts as repository for user cross-device configuration address book caller preferences (media, carrier, …) authentication information

Devices can update user configuration

Automatically propagates to all other devices at next opportunity not just explicit sync’ing (Palm-style)

Page 27: Endpoint vs. Network Services Henning Schulzrinne (with Xiaotao Wu) Columbia University Siemens ICN Innovation Symposium Munich – December 16, 2003.

PA

devicecontroller

SUBSCRIBEto each room

SUBSCRIBE to configurationfor users currently in rooms

1. discover room URI2. REGISTER as contact for room URI

tftp

HTTP

Example: user-adaptive Example: user-adaptive device configurationdevice configuration

SLP

“all devices that are in the building”RFC 3082?

802.11 signal strength

location

REGISTERTo: 815cepsrContact: alice@cs

SIP

room 815

Page 28: Endpoint vs. Network Services Henning Schulzrinne (with Xiaotao Wu) Columbia University Siemens ICN Innovation Symposium Munich – December 16, 2003.

Service architectureService architectureProgramming language Programming language

modelmodel

SIP Server Function

Requests

Responses Responses

Requests

Service Logic

ProgrammingInterface

Page 29: Endpoint vs. Network Services Henning Schulzrinne (with Xiaotao Wu) Columbia University Siemens ICN Innovation Symposium Munich – December 16, 2003.

Service creationService creation Few common service creation styles

extend base language with domain APIs (OO Java) create domain-specific or domain-tuned language

specific: CPL, voiceXML tuned: PHP

C-like: programming: C C++ Java C# web: PHP (with built-in web abstractions)

For auto-generation (“wizard”): programming: spread sheets web: HTML, XML VoIP, IM, presence: CPL, LESS, voiceXML

Page 30: Endpoint vs. Network Services Henning Schulzrinne (with Xiaotao Wu) Columbia University Siemens ICN Innovation Symposium Munich – December 16, 2003.

Service creation: Service creation: encouraging re-useencouraging re-use Web: client-side code available Encourages learning and imitation PHP, Perl, ASP, …: lots of common libraries

Example: Yahoo calendarcode

Page 31: Endpoint vs. Network Services Henning Schulzrinne (with Xiaotao Wu) Columbia University Siemens ICN Innovation Symposium Munich – December 16, 2003.

Service creationService creation

programmer, carrier

end user

network servers

SIP servlets, sip-cgi

CPL

end system VoiceXML VoiceXML (voice),LESS

Promise of faster service creation traditionally, only vendors (and sometimes carriers) learn from web models

Page 32: Endpoint vs. Network Services Henning Schulzrinne (with Xiaotao Wu) Columbia University Siemens ICN Innovation Symposium Munich – December 16, 2003.

Service creation – a Service creation – a comparisoncomparison

API servlets sip-cgi CPL

language-independent

no Java only yes own

secure no mostly can be yes

end user service creation

no yes power users

yes

GUI tools no no no yes

Multimedia some yes yes yes

call creation yes no no no

Page 33: Endpoint vs. Network Services Henning Schulzrinne (with Xiaotao Wu) Columbia University Siemens ICN Innovation Symposium Munich – December 16, 2003.

Example: LESS service Example: LESS service generationgeneration

Columbia sipc SIP user agent

Page 34: Endpoint vs. Network Services Henning Schulzrinne (with Xiaotao Wu) Columbia University Siemens ICN Innovation Symposium Munich – December 16, 2003.

LESS service creationLESS service creation

Page 35: Endpoint vs. Network Services Henning Schulzrinne (with Xiaotao Wu) Columbia University Siemens ICN Innovation Symposium Munich – December 16, 2003.

CPL example: anonymous CPL example: anonymous call screeningcall screening<cpl>

<incoming><address-switch field="origin"

subfield="user"><address is="anonymous">

<reject status="reject"reason="I don't accept anonymous

calls" /></address>

</address-switch></incoming>

</cpl>

Page 36: Endpoint vs. Network Services Henning Schulzrinne (with Xiaotao Wu) Columbia University Siemens ICN Innovation Symposium Munich – December 16, 2003.

Feature interactionFeature interaction Undesirable interaction of services Some causes avoidable in Internet

environment: lack of expressiveness (“what’s the # do

here?”) no prioritization (“call blocking precedes call

forwarding”) Some issues harder:

distribution of services routing loops how to anticipate problems service testing

Page 37: Endpoint vs. Network Services Henning Schulzrinne (with Xiaotao Wu) Columbia University Siemens ICN Innovation Symposium Munich – December 16, 2003.

The impact of regulationsThe impact of regulations Phone (service) companies are not required any more, but

may be useful don’t have (many) email companies, either

Regulation should not bias technical and business decisions on in-house vs. out-sourcing

Avoid conflicts of interest for ISPs that provide phone service: no port blocking except by user request traffic neutrality provide differentiated services to all provide externally routable addresses

address shortage excuse NAT difficult to have inbound connections

distinguish residential / business via application-neutral measures, e.g., bandwidth or availability

Goal: ensure “transparent Internet” + service providers for added value encourages service innovation encourages service competition