370 likes | 618 Views
Mapping Salutation to Bluetooth. Overview Bluetooth Summary Salutation Architecture Summary Mapping Bluetooth SDP to Salutation APIs Mapping Bluetooth SDP to Jini APIs Conclusion. Bluetooth SDP(service discovery protocol) Service discovery profile. Salutation capability to advertise
E N D
Mapping Salutation to Bluetooth • Overview • Bluetooth Summary • Salutation Architecture Summary • Mapping Bluetooth SDP to Salutation APIs • Mapping Bluetooth SDP to Jini APIs • Conclusion
Bluetooth SDP(service discovery protocol) Service discovery profile Salutation capability to advertise capability to search other applications Overview
Bluetooth Summary • Bluetooth Service Discovery Protocol • Bluetooth Profile Stack • Bluetooth Service Primitives
Bluetooth SDP Structure SrvDscApp RemSrvApp BT_module Service record DB SDP SDP L2CAP layer CO L2CAP layer CO LM LM Baseband ACL Baseband ACL LocDev RemDev
Bluetooth SDP features • An SDP block generates and receives Bluetooth SDP commands and responses from the lower layers of the Bluetooth stack • SDP involves communication between an SDP server located on RemDev and and SDP client located on LocDev • The server maintains a list of service records that describe the characteristics of services associated with the server
Bluetooth SDP feature(cont.) • SDP uses a request/response model where each transaction consists of one request protocol data unit(PDU) and one response PDU. • ServiceSearch Transaction • ServiceAttribute Transaction • ServiceSearchAttribute Transaction • Browsing for Services(use BrowseGroupList attribute)
Bluetooth Profile Stack • Service discovery user application(SrvDscApp) in a local device(LocDev) to sedn service inquiries and receive service inquire responses fromother remote devices(RemDev) • SDP uses the connection-oriented(CO) transport service in L2CAP, which in turn uses the baseband asynchronous connectionless(ACL) links to carry ultimately the SDP PDUs over the air
Bluetooth Service Primitives • serviceBrowse • serviceSearch • enumerateRemDev • getRemDevName • terminatePrimitive
Salutation Architecture Summary • Salutation Archituture Model • Salutation features • Service Broker Tasks • Salutation Manager API • Salutation Discovery Flow
Salutation Architecture Model Service Client Client Service Client SLM-API Salutation Manager TM TM SLM TM SLM TM Xport Transport Transport Xport
Salutation features • Salutation Manager(SLM) functions as a service broker for applications, services and devices called a Networked Entitiy. • Service: register its capability with a Salutation Manager • Client: discovers Services and requests to use them through a Salutation Manager
Salutation features (cont.) • SLM-API: Salutation Manager Application Program Interface • Salutation Manger Protocol • TM: Transport Manager • A Salutation Manager binds to a specific transport through a TM unique to that transport class
Service Broker Task • Salutation Manger provides four basic tasks to perform as service broker • Service Registry • Service Discovery • Service Availability • Service Session Manager
Service Broker Tasks(cont.) • Service Registry • Salutation Manager contains a Registry to hold information about Services. • Registry stores information about Services connected to the Salutation manager. • Registry many optionally store information about Services that are registed in other Salutation Managers.
Service Broker Tasks(cont.) • Service Discovery • Salutation manager can discover other remote Salutation Mangers and determine the Services registered there. • Compare a required Services type(s), as specified by the local Salutation Manager, with the Service type(s) available on a remote Salutation Manager.
Salutation Manger API • Service Registration • slmRegisterCapability() • slmUnregisterCapability() • Service Discovery • slmSearchCapability() • slmQueryCapability()
Salutation Discovery Flow Client Client-side Salutation manger Salutation Protocol Service-side Salutation Manager Function Unit
Assume that the Salutation APIs are implemented on top of the Bluetooth service discovery. Mapping will show how SDP attributes can be passed in the Salutation APIs Assume that the Salutation Manager can be mapped directly to the SDP protocol using a Bluetooth specific Transport Manager SDP is replaced by the Salutation Manager, with the Salutation Manager mapping its functionality to SDP protocol Mapping Bluetooth SDP to Salutation APIs
General Mapping Assumptions • SDP is a service manager • Service requests by LocDev are accessed through Salutation slmSearchCapability() and slmQueryCapability() • slmRegisterCapability() and slmUnregisterCapability() APIs call will be mapped on the RemDev side to support dynamic registry of services
Salutation API mapping • Configuration • Model Diagram • Mapping
Configuration • Use of the salutation APIs as the entry point to SDP. • No other changes have been made to the Bluetooth model
Model Diagram SrvDscApp RemSrvApp Salutation APIs BT_module Service record DB SDP SDP L2CAP layer CO L2CAP layer CO LM LM Baseband ACL Baseband ACL LocDev RemDev
Mapping • This mapping uses the functional definition of the salutation APIs, but not the parameter values. • The API becomes a vehicle for passing the SDP parameters to the Bluetooth SDP Manager • The SLM-ID and Service Description Records parameters of the Salutation APIs are replaced with the appropriate SDP parameter values • parameters defined by SDP primitives are passed without modification to Bluetooth SDP manager via the Salutation API format
ServiceBrowse getRemDevName SlmqueryCapability Input Parameters ( LIST(RemDev); LIST(RemDevRelation); LIST(browseGroup); stopRule ) Output Parameter ( List of Device Names ) Mapping (cont.)
ServiceSearch getRemDevName SlmQueryCapability() Input Parameters ( LIST(RemDev); LIST(RemDevRelation); LIST(searchPath, attributeList); stopRule ) Output Parameter ( List of Device Names ) Mapping(cont.)
Salutation Manager Mapping • Configuration • Model Diagram • Mapping
Configuration • Use of the Salutation Manager(SLM) in both LocDev and RemDev to provide the service the management functionality of SDP • SLM generates appropriate SDP protocol through its TM, handling it off to L2CAP layer
Model Diagram SrvDscApp RemSrvApp Salutation APIs BT_module Service record DB SLM TM SLM TM L2CAP layer CO CO L2CAP layer LM LM Baseband ACL Baseband ACL LocDev RemDev
Mapping • LocDev and RemDev use the Salutation APIs to access their respective Salutation Managers. Bluetooth Service Discovery Protocol flows between the LocDev and RemDev Salutation Managers • Two transformations • slmSearchCapability() <--> SDP_ServiceSearch • slmQueryCapability() <--> SDP_ServiceSearch & SDP_ServiceAttribute
Capability Search • Salutation Manager maps the Functional Unit Description Record to a ServiceSearchPattern attribute • Salutation Manager makes an L2CAP connection with a Bluetooth RemDev and sends the Service SearchPattern to the RemDev in a SDP_ServiceSearchRequest • RemDev Salutation Manager returns a SDP_ServiceSearh Response to the LocDec Salutation Manger if there exists registered services with the ServiceSearchPattern • When all RemDevs have been contacted, the LocDev SM builds a list of device Ids returning positive reponses and return them as SLM-IDs
Capability Qeury • LocDev SM maps the Service Description Record to a ServiceSearchPattern. SM then makes an L2CAP connection with the Bluetooth RemDev represented by the SLM-ID passed, and sends the SeviceSearchPattern to the RemDev in a SDP_ServiceSearchRequest • RemDev SM sent back to LocDev SM a list of service record handles for the registered services which matches the ServiceSearchPattern
Capability Query (cont.) • LocDev SM selects one of the service handles returned, maps the Service Description Record to an AttributeIDList attribute and sends them to the RemDev in a SDP_ServiceAttributeRequest • RemDev returns a SDP_ServiceAttributeResponse containing an AttributeList identifying a list of attributes and their values for the requested service record • continue doing this until all the record handles been done
Assume that the Jini APIs are implemented on top of the Bluetooth service discovery. Mapping will show how SDP attributes can be passed in the Jini APIs Assume that the JLS can be mapped directly to the SDP protocol using a Bluetooth compatible transport layer(configure TCP/IP over bluetooth) SDP is replaced by the JLS, with the JLS mapping its functionality to SDP protocol Mapping Bluetooth SDP to Jini APIs
Personal Conclusion • Mapping the JLS functionality to SDP protocol will be more expecting