m SLP MeshEnhanced Service Location Protocol Weibin Zhao
m. SLP - Mesh-Enhanced Service Location Protocol Weibin Zhao zwb@cs. columbia. edu 1
Background • Service discovery protocol – objects: • devices, applications, and services – environments: • IP, wireless, mobile, Java – models: • directory-centric: register/query • peer-to-peer: ad hoc network 2
Background (2) • Typical systems – SLP: IETF – Jini: Sun – UPn. P: Microsoft – Salutation consortium – Bluetooth SIG – ir. DA (Infrared Data Association) 3
Jini – Federation • coordination between autonomous devices – Lookup service • maintain dynamic information on available devices • discover lookup services before entering a federation • know before hand or by multicast – Basic operations • announce presence (register); discovery other devices (query) • describe capabilities: attribute/value pairs 4
UPn. P – SSDP • • • Simple Service Discovery Protocol with or without lookup service HTTP over UDP: HTTPU, HTTPMU (multicast) Announce (register) / Options (query) XML: describe capability – Self configuration • IP address: Auto. IP if no DHCP server • DNS name: multicast DNS 5
SLP – Service Location Protocol – SA: Service Agent (announce / register) – UA: User Agent (query) – DA: Directory Agent (optional) App Service UA SA DA 6
SLP (2) • Small service radius: No DA SA UA Multicast Srv. Rqst Unicast Srv. Rply SA SA 7
SLP (3) • Medium service radius: DAs (one scope) Unicast Srv. Reg UA Unicast Srv. Rqst Unicast Srv. Rply DA SA Unicast Srv. Ack SA 8
SLP (4) • DA discovery – Active – Passive Multicast Srv. Rqst UA/SA Unicast DAAdvert DA Multicast DAAdvert 9
SLP (5) • Large service radius: DAs (multiple scopes) SA UA DA (CU) SA SA UA DA (NYU) SA 10
SLP (6) • Scalability – DA • Enhance scalability & performance – Scope • Group services, further scalability • Location, administrative group, etc • Reliability – Multiple DAs for each scope 11
m. SLP – Mesh-enhanced SLP • Problem target – Interaction scheme when multiple DAs present – Original SLP • SA register with all DAs – m. SLP • SA register with one DA • Automatic propagation of registrations among DAs 12
m. SLP (2) • Peer DA – Share one or more scopes – Fully meshed persistent TCP – Peer stages • Setup, maintain, tear down • Message flows – Initial data exchange – New SA registrations forwarding 13
m. SLP (3) • Setting up peer relationship DA 1 Multicast DAAdvert DA 2 attr = mesh-enhanced DA 2 creates peering TCP connection to DA 1 DAAdvert (TCP) attr = peering-connection-indication DA 2 14
m. SLP (4) • Initial data exchange DAAdvert (TCP) [attr = data-copy-request] DA 1 DA 2 Srv. Reg (TCP), <data of shared scopes> Avoid redundant transmission DA 1 new DA DA 2 15
m. SLP (5) • New registration forwarding (one-hop) MF-extension NEO contd. Action Next Ext. Off. (NEO) Action = { To-Be-Forwarded, Has-Been-Forwarded } SA Srv. Reg (HBF) DA 2 Srv. Reg (TBF) DA 1 Srv. Ack DA 3 16
m. SLP (6) • Data structure – Peer DA table • URL, scopes, boot timestamp, TCP ID – Peering TCP connection table • Keeping peer relationship – Keepalive • Tearing down peer relationship 17
Status • Internet-draft – draft-zhao-slp-da-interaction-02. txt • Implementation – Java 2: UA/SA, DA • Future work – Experimental RFC – Inter-domain DA interaction? 18
- Slides: 18