The Internet Real- The Internet Real- Time Laboratory (IRT) Time Laboratory (IRT) http:// www.cs.columbia.edu /IRT Prof. Henning Schulzrinne Dept. of Computer Science Columbia University New York, NY June 2004
Dec 20, 2015
The Internet Real-Time The Internet Real-Time Laboratory (IRT)Laboratory (IRT)
http://www.cs.columbia.edu/IRTProf. Henning Schulzrinne
Dept. of Computer ScienceColumbia University
New York, NYJune 2004
Networking research at Networking research at Columbia UniversityColumbia University Columbia Networking Research
Center spans Electrical Engineering &
Computer Science Department 15 faculty – one of the largest
networking research groups in the US
about 40 PhD students spanning optical networks and
wireless channels to operating systems, security and applications
theory (performance analysis) to systems (software, protocols)
Keren Bergman
Andrew Campbell
Ed Coffman
Predrag Jelenkovic
Angelos Keromytis
Aurel Lazar
Nick Maxemchuk
Vishal Misra
Jason Nieh
Dan Rubenstein
Henning Schulzrinne
Xiaodong Wang
Yechiam Yemini
Laboratory overviewLaboratory overview Dept. of Computer Science: 33 faculty IRT lab:
1 post-doc 12 PhD students includes part-time students working at IBM, Lucent,
Telcordia 2 MS GRAs visitors (Ericsson, Fujitsu, Mitsubishi, Nokia, U.
Coimbra, U. Rome, NTT, …) China, Finland, Greece, India, Japan, Portugal,
Spain, Sweden, US, Taiwan ~15 MS and undergraduate project students
Overall IRT lab goalsOverall IRT lab goals Reliable, flexible and programmable
communication infrastructure for Internet-based collaboration applications
Systematic evaluation by analysis and simulation
Demonstrate capability via prototypes Contribute protocols to standardization Convert prototypes into products and
open-source software Train students at all levels in current
Internet research and engineering
IRT research topicsIRT research topics Internet telephony and
multimedia CINEMA – VoIP/multimedia
and collaboration system QoS measurements network application
reliability APIs for SIP IM and
presence systems ubiquitous computing
using SIP emergency services
(“911”) SIP security
non-PKI-based assertions service creation
languages CPL LESS
Mobile and wireless systems
802.11 handoff acceleration
802.11 VoIP performance improvements
personal, service and session mobility
Peer-to-peer messaging 7DS
Service and event discovery (GloServ)
Generic signaling protocols (GIMPS) for QoS, NAT/FW, …
Autonomic computing service discovery mSLP automated server pooling
DotSlash
Graduated PhD studentsGraduated PhD students Internet telephony services, GSM
interoperation (J. Lennox) QoS and reliability measurements (W. Jiang) Federated CDNs (L. Amini) Pricing for QoS, LDAP performance (X.
Wang) Multicast QoS fairness & signaling (P.
Mendes) Internet telephony topics (J. Rosenberg) Mobile peer-to-peer systems (M.
Papadopouli) Scalable resource reservation (P. Pan)
Multimedia systems Multimedia systems problemsproblems Old problems and
approaches: efficient codecs ubiquitous
reachability audio/video
synchronization network-layer mobility quality-of-service APIs and middleware
New problems: controlled reachability
spam cell phone ringing in
lecture service availability information privacy service & personal
mobility service creation by
non-experts
CINEMA componentsCINEMA components
RTSP
sipum
Cisco 7960
sipvxmlSIP
rtspdsipconfLDAP server
MySQL
PhoneJack interface
sipc
T1T1
sipd
mediaserver
RTSP
SIP-H.323converter
messagingserver
unified
server(MCU)
user database
conferencing
sip-h323
VoiceXMLserver
proxy/redirect server
Cisco2600
Pingtel
wireless802.11b
PBX
MeridianNortel
plug'n'sip
PSTN interworkingPSTN interworkingNortel PBXPSTN
External T1/CAS
Regular phone(internal)
Call 93971341
SIP server
sipd
Ethernet
3
SQLdatabase
4 7134 => bob
sipc
5
Bob’s phone
GatewayInternal T1/CAS(Ext:7130-7139)
Call 71342
5551212
SIP emergency callingSIP emergency calling
GPS
48° 49' N 2° 29' E
INVITE sips:sos@
DHCP
outboundproxy server
48° 49' N 2° 29' E Paris fire department
SIP for ubiquitous SIP for ubiquitous computingcomputing Focus on inter-domain, scalable systems Components:
context-aware communications context-aware service and event discovery location-based services global-scale event notification service creation by end users terminal, personal, session and service
mobility
Context-aware Context-aware communicationcommunication
context = “the interrelated conditions in which something exists or occurs”
anything known about the participants in the (potential) communication relationship
both at caller and callee:
time CPL
capabilities caller preferences
location location-based call routinglocation events
activity/availability “rich” presence
sensor data (mood, bio)
not yet, but similar in many aspects to location data
RPIDS: rich presence dataRPIDS: rich presence data Basic IETF presence (CPIM) only gives you
contact information (SIP, tel URI) priority “open” or “closed”
Extend to much richer context information
PA
watcher
PUA watcher
watcher
PUBLISH
NOTIFY
everything
"vague"
CPL
INVITE
Session mobilitySession mobility Walk into office,
switch from cell phone to desk phone
call transfer problem SIP REFER
related problem: split session across end devices
e.g., wall display + desk phone + PC for collaborative application
assume devices (or stand-ins) are SIP-enabled
third-party call control
PA
devicecontroller
SUBSCRIBEto each room
SUBSCRIBE to configurationfor users currently in rooms
1. discover room URI2. REGISTER as contact for room URI
tftp
HTTP
Service mobility: user-Service mobility: user-adaptive device adaptive device configurationconfiguration
SLP
“all devices that are in the building”RFC 3082?
802.11 signal strength
location
REGISTERTo: 815cepsrContact: alice@cs
SIP
room 815
How to find services?How to find services? Two complementary developments:
smaller devices carried on user instead of stationary devices devices that can be time-shared
large plasma displays projector hi-res cameras echo-canceling speaker systems wide-area network access
Need to discover services in local environment SLP (Service Location Protocol) allows querying for services
“find all color displays with at least XGA resolution” slp://example.com/SrvRqst?public?type=printer
SLP in multicast mode SLP in DA mode
Need to discover services before getting to environment “is there a camera in the meeting room?” SLP extension: find remote DA via DNS SRV
Service Location Protocol Service Location Protocol (SLP)(SLP) extended to meshed SLP (mSLP) for
reliability and scaling
UA
DA
SA
SA
SrvReg
SrvRply
SrvRqst
SrvRqst SrvReg
DAAdvert
Location-based servicesLocation-based services Presence-based approach:
UA publishes location to presence agent (PA) becomes part of general user context other users (human and machines) subscribe
to context call handling and direction location-based anycast (“anybody in the room”) location-based service directory
Languages for location-based services building on experience with our XML-based
service creation languages CPL for user-location services LESS for end system services
Location-based services in Location-based services in CINEMACINEMA Initial proof-of-concept implementation Integrate devices:
lava lamp via X10 controller set personalized light mood setting
Pingtel phone add outgoing line to phone and register user
painful: needs to be done via HTTP POST request stereo change to audio CD track based on
user Sense user presence and identity:
passive infrared (PIR) occupancy sensor magnetic swipe card ibutton BlueTooth equipped PDA IR+RF badge (in progress) RFID (in progress) biometrics (future)
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