Mapping Salutation to Bluetooth 4 Overview 4 Bluetooth Summary 4 Salutation Architecture Summary 4...
-
Upload
ruby-allison -
Category
Documents
-
view
247 -
download
0
Transcript of Mapping Salutation to Bluetooth 4 Overview 4 Bluetooth Summary 4 Salutation Architecture Summary 4...
Mapping Salutation to Bluetooth
Overview Bluetooth Summary Salutation Architecture Summary Mapping Bluetooth SDP to Salutation APIs Mapping Bluetooth SDP to Jini APIs Conclusion
Overview
Bluetooth
SDP(service discovery protocol)
Service discovery profile
Salutation
capability to advertise
capability to search other applications
Bluetooth Summary
Bluetooth Service Discovery Protocol
Bluetooth Profile Stack
Bluetooth Service Primitives
Bluetooth SDP Structure
SrvDscApp RemSrvApp
BT_module
SDP SDP
Service
record DB
L2CAP layerCO
L2CAP layer
CO
LM LM
BasebandACL
BasebandACL
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
SLMTM
Salutation ManagerTM TM
SLMTM
Xport XportTransport Transport
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-sideSalutation manger
Salutation Protocol
Service-sideSalutation Manager
Function Unit
Mapping Bluetooth SDP to Salutation APIs
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
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
BT_module
SDP SDP
L2CAP layerCO
L2CAP layer
CO
LM LM
BasebandACL
BasebandACL
LocDev RemDev
Service
record DB
Salutation APIs
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
Mapping (cont.)
ServiceBrowse getRemDevName
SlmqueryCapabilityInput 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
)
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
BT_moduleSLMTM
SLMTM
Service
record DB
L2CAP layerCO
L2CAP layer
CO
LM LM
BasebandACL
BasebandACL
LocDev RemDev
Salutation APIs
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
Mapping Bluetooth SDP to Jini APIs
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
Conclusion from paper
Personal Conclusion
Mapping the JLS functionality to SDP protocol will be more expecting