Endpoint vs. Network Services Henning Schulzrinne (with Xiaotao Wu) Columbia University Siemens ICN...
-
Upload
maximillian-patrick -
Category
Documents
-
view
212 -
download
0
Transcript of Endpoint vs. Network Services Henning Schulzrinne (with Xiaotao Wu) Columbia University Siemens ICN...
Endpoint vs. Network Endpoint vs. Network ServicesServices
Henning Schulzrinne(with Xiaotao Wu)
Columbia UniversitySiemens 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
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
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
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
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
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
The real Internet hourglass The real Internet hourglass (slightly simplified)(slightly simplified)
IP
TCP
HTTP
Ethernet
webweb services
p2p (port 80)
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
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
PSTN vs. Internet PSTN vs. Internet TelephonyTelephony
Signaling & Media Signaling & Media
Signaling Signaling
Media
PSTN:
InternetTelephone:
can be far awayfrom either user
PSTN vs. VoIPPSTN vs. VoIP
PSTN: only carriers can get full signaling functionality (SS7) UNI vs. NNI signaling
VoIP: same signaling, same functionality
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
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
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
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
Peer-to-peer call routingPeer-to-peer call routingH(aor) = node
REGISTERsupernode
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
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
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)
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
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
Annex: technical backgroundAnnex: technical backgroundon service creationon service creation
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
Example: VoIP embedded in Example: VoIP embedded in VRVR
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)
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
Service architectureService architectureProgramming language Programming language
modelmodel
SIP Server Function
Requests
Responses Responses
Requests
Service Logic
ProgrammingInterface
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
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
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
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
Example: LESS service Example: LESS service generationgeneration
Columbia sipc SIP user agent
LESS service creationLESS service creation
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>
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
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