180 likes | 339 Views
mSLP - Mesh-Enhanced Service Location Protocol. Weibin Zhao zwb@cs.columbia.edu. 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.
E N D
mSLP - Mesh-Enhanced Service Location Protocol Weibin Zhao zwb@cs.columbia.edu
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
Background (2) • Typical systems • SLP: IETF • Jini: Sun • UPnP: Microsoft • Salutation consortium • Bluetooth SIG • irDA (Infrared Data Association)
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
UPnP • 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: AutoIP if no DHCP server • DNS name: multicast DNS
SLP • Service Location Protocol • SA: Service Agent (announce / register) • UA: User Agent (query) • DA: Directory Agent (optional) App Service UA SA DA
SLP (2) • Small service radius: No DA SA Multicast SrvRqst SA UA Unicast SrvRply SA
SLP (3) • Medium service radius: DAs (one scope) UnicastSrvReg SA UnicastSrvRqst DA UnicastSrvAck UA UnicastSrvRply SA
SLP (4) • DA discovery • Active • Passive Multicast SrvRqst DA UA/SA Unicast DAAdvert Multicast DAAdvert
SLP (5) • Large service radius: DAs (multiple scopes) SA DA (CU) UA SA SA DA (NYU) UA SA
SLP (6) • Scalability • DA • Enhance scalability & performance • Scope • Group services, further scalability • Location, administrative group, etc • Reliability • Multiple DAs for each scope
mSLP – Mesh-enhanced SLP • Problem target • Interaction scheme when multiple DAs present • Original SLP • SA register with all DAs • mSLP • SA register with one DA • Automatic propagation of registrations among DAs
mSLP (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
mSLP (3) • Setting up peer relationship Multicast DAAdvert DA1 DA2 attr = mesh-enhanced DA2 creates peering TCP connection to DA1 DAAdvert (TCP) DA1 DA2 attr = peering-connection-indication
mSLP (4) • Initial data exchange DAAdvert (TCP) [attr = data-copy-request] DA1 DA2 SrvReg (TCP), <data of shared scopes> Avoid redundant transmission DA1 new DA DA2
mSLP (5) • New registration forwarding (one-hop) MF-extension Next Ext. Off. (NEO) NEO contd. Action Action = { To-Be-Forwarded, Has-Been-Forwarded } DA2 SrvReg (HBF) SrvReg (TBF) SA DA1 SrvAck SrvAck DA3
mSLP (6) • Data structure • Peer DA table • URL, scopes, boot timestamp, TCP ID • Peering TCP connection table • Keeping peer relationship • Keepalive • Tearing down peer relationship
Status • Internet-draft • draft-zhao-slp-da-interaction-02.txt • Implementation • Java2: UA/SA, DA • Future work • Experimental RFC • Inter-domain DA interaction?