throbber
BLUETOOTH SPECIFICATION Version 1.0 8
`
`Service Discovery Appiication Profiie
`
`page 74 of440
`
`Bluetooth-
`
`In the first two alternatives, page, link creation, and service discovery are done
`sequentially on a per RemDev basis; i.e., the LocDev does not page any new
`RemDev prior to completing the service search with a previous RemDev and (if
`necessary) disconnecting from it. In the last alternative (SrvDsoApp_C), the
`LocDev, under the control of the SrvDscApp. will first page all RemDevs, then
`will create links with all of these devices (up to a maximum of 7 at a time), and
`then inquire all the connected devices for the desired services.
`
`Just as an example, we focus on a SrvDscApp similar to the one represented
`by the SrvDscApp_A in Figure 4.1. In summary, SrvDscApp (for ease of nota-
`tion, the suffix '_A' has been dropped) has the following features:
`
`- The SrvDscApp activates Bluetooth inquiries following a user request for a
`service search,
`
`For any new RernDev found following an inquiry, the SrvDscApp will finish
`service discovery and terminate its link against this device prior to attempt-
`ing to connect to the next RemDev,
`
`For any RemDev already connected, the LocDev does not disconnect fol-
`lowing service discovery, and
`
`The user of the SrvDscApp has the option of a trusted and untrusted mode
`of operation, whereby the SrvDscApp permits connections —
`
`a) only with trusted RemDev, or
`
`b) with any of the devices above plus any newly discovered
`RemDevs that require nothing more beyond possibly pairing with
`the default all-zero PIN, or
`
`c) with any of the devices above, plus any additional RemDev for
`which the user explicitly enters a non-zero PIN.
`
`The above options have to do with the degree of user involvement in configur-
`ing and interacting with the SrvDscApp and setting the security levels that the
`user is willing to accept for the service searches. When selecting options (a) or
`(b), then for the devices with which no legitimate connections can be estab-
`lished, it is assumed that the SrvDscApp ignores them without any cue to its
`user (however, this too is an implementation issue).
`
`When a LocDev performs a service discovery search, it does so against three
`different types of RemDevs:
`
`1. trusted devices: These are devices that are currently not connected with the
`LocDev but the LocDev device has already an established trusted relation
`with.
`
`. unknown (new) devices: These are untrusted devices that are currently not
`connected with the LocDev.
`
`. connected devices.’ These are devices that are already connected to the
`LocDev.
`
`1 December 1999
`
`Application layer
`
`AFFLT0294-334
`
`Samsung Ex. 1019 p. 1156
`
`

`
`BLUETOOTH SPECIFICATION Version 1.0 B
`
`page 75 of 440
`
`Service Discovery Appiication Profiie
`
`To discover type 1 or 2 RemDevs, the SrvDscApp needs to activate the
`Bluetooth inquiry andior page processes. For type 3 RemDevs, the latter pro-
`cesses are needed. To perform its task, SrvDscApp needs to have access to
`the BD_ADDR of the devices in the vicinity ofa LocDev, no matter whether
`these devices have been located via a Bluetooth inquiry process or are already
`connected to the LocDev. Thus, BT_module_Cntr in a LocDev shall maintain
`the list of devices in the vicinity of the LocDev and shall avail this list to the
`SrvDscApp.
`
`4.2 SERVICE PRIMITIVES ABSTRACTIONS
`
`This section briefly describes the functionality of a SrvDscApp. This functional-
`ity is presented in the form of service primitive abstractions that provide a for-
`mal framework for describing the user expectations from a SrvDscApp. It is
`assumed that the underlying Bluetooth stack can meet the objectives of these
`service primitive abstractions directly or indirect|y.5 The exact syntax and
`semantics of the service primitive abstractions (or simply "service primitives")
`may be platform-dependent (e.g. an operating system, a hardware platform,
`like a PDA, a notebook computer, a cellular phone, etc.) and are beyond the
`scope of this profile. However, the functionality of these primitives is expected
`to be available to the SrvDscApp to accomplish its task.
`
`Tsbie -iii contains a minimum set of enabling service primitives to support a
`SrvDscApp. Low-level primitives like openSearch(.) or c|oseSearch(.) are not
`shown and are assumed to be part of the implementation of the primitives
`shown whenever necessary. Different implementations of the Bluetooth stack
`shall (at a minimum) enable the functions that these service primitives provide.
`For example, the serviceSearch(.) service primitive permits multiple identical
`operations to be handled at once. A stack implementation that requires an
`application to accomplish this function by iterating through the multiple identical
`operations one-at-a-time will be considered as enabling the function of this ser-
`vice primitive? The service primitives shown next relate only to service primi-
`tives whose invocation result or relate to an over-the-air data exchange using
`the Bluetooth protocols. Additional service primitives can be envisioned relat-
`ing to purely local operations like service registration, but these primitives are
`outside the scope of this profile.
`
`. These service primitive abstractions do not represent programming interfaces. even though
`they may be related to them. The word ‘direct|y‘ is used to describe the possibility that the
`described function is the result of a single appropriate call of the underlying Bluetooth stack
`implementation. The word ‘indirectly’ is used to describe the possibility that the described
`function can be achieved by combining the results from multiple appropriate calls of the
`underlying Bluetooth stack implementation.
`. Even though the service primitives presented in this profile are assumed to act upon a local
`device for accessing physically remote devices, they are general enough to apply in cases
`where the ‘remote device‘ characterization is only a logical concept; i.e. inquired service
`records and service providers are located within the same device that invokes these primi-
`tives. This general situation is outside the scope of this profile.
`
`Application layer
`
`1 December 1999
`
`AFFLT0294-385
`
`Samsung Ex. 1019 p. 1157
`
`

`
`BLUETOOTH SPECIFICATION Version 1.0 8
`
`Service Discovery Application Profile
`
`page 76 of 440
`
`Bluetooth-
`
`semce Fflmmve
`abstraction
`
`serviceBrowse
`
`{LlST( Remflev)
`LIST( RemDevRe-iation )
`LIST( browseemup )
`getRemDevName
`stopRuie)
`
`servlcesearch
`(LlST( Rernoev J
`LlST( RemDevReiation }
`LlST( searchPattern,
`attributeust )
`gerRamDe vName
`stopRuie}
`
`en ume rate Rernflev
`(LIST( ciassOfDevice )
`stopRuie}
`
`terminate!‘-‘rimitlve
`
`{primitiveHandle
`return.-Qesuits)
`
`resulted action
`
`a search for services {service browsing) that belong to the
`list of browseGnoup services in the devices in the list of
`RemDevs: the search may be further qualified with a list of
`RemDevReiation parameters, whereby a user specifies
`the trust and connection relation of the devices to be
`
`searched; e.g. search only the devices that are in the Ram-
`Dev list for which there is a trust relation already estab-
`lished; when the gerRemDevName parameter is set to
`"yes," the names of the devices supporting the requested
`services are also returned; the search continues until the
`stopping rule stopRuie is satisfied
`
`a search whether the devices listed in the list of Remflevs
`
`support services in the requested list of services; each ser-
`vice in the list must have a service search pattern that is a
`superset of the searchPattern; for each such service the
`values of the attributes contained in the corresponding
`attributetist are also retrieved: the search may be further
`qualified with a list of RemDevRelatiori parameters,
`whereby a user specifies the trust and connection relation
`ofthe devices to be searched {e.g. search only the devices
`thatare in the Rem.-Devlist for which there is a trust relation
`already established); when the getRemDevName parame-
`ter is set to “yes," the names of the devices supporting the
`requested services are also returned; the search continues
`until the stopping rule sfopRuie is satisfied
`
`a search for RemDev in the vicinity of a LocDev; RemDev
`searches may optionally be filtered using the list of clas-
`sOfDevice (e.g. LAN APs); the search continues until the
`stopping rule stopRule is satisfied
`
`a termination the actions executed as a result of invoking
`
`the services primitive identified by the prirnitivel-iandlef
`optionally, this service primitive may return any partially
`accumulated results related to the terminated service
`
`primitive
`
`Table 4.1: Service primitives in support of SrvDscApp
`ii
`
`.
`
`It is assumed that each invocation of a service primitive can be identified by a primi-
`tiveHano'ie, the realization of which is implementation-dependent.
`
`The stopRuie parameter is used to guarantee a graceful termination of a ser-
`vice search. It could represent the number of search items found, or the dura-
`tion of search, or both. A Bluetooth stack implementation may not expose this
`parameter, in which case it should provide guarantees that all searches termi-
`nate within a reasonable amount of time, for example, say, 120sec.
`
`1 December 1999
`
`Application layer
`
`AFFLT0294-386
`
`Samsung Ex. 1019 p. 1158
`
`

`
`BLUETOOTH SPECIFICATION Version 1.0 B
`
`page 77 of 440
`
`Service Discovery Application Profile
`
`The enumerateRemDev(.) service primitive is directly related to the inquiry
`mode of operation for the baseband. It also relates to the collection of RemDev
`that a LocDev is currently connected with. This service is exported to the SrvD-
`scApp via the BT_modu|e_Cntr, see Figure
`The interface between
`BT_modu|e_Cntr and baseband is for activating Bluetooth inquiries and col-
`lecting the results of these inquiries. The interface between the
`BT_modu|e_Cntr| and (an) L2CAP (implementation) is for keeping track of the
`RemDev that currentty are connected to the LocDev.
`
`The result of the enumerateRemDev(.) service primitive can be used with the
`serviceSearch(.) to search for desired services in the devices found. Once
`again, based on the implementation of the Bluetooth stack, this service primi-
`tive may not be provided explicitly, but its service may be provided within other
`service primitives; e.g. the serviceSearch(.).
`
`Missing primitive parameters shall be interpreted (whenever appropriate) as a
`general service search on the remaining parameters. For example, if the
`LIST( RemDev ) parameter is missing from the serviceSearch(.), it means that
`the search shall be performed against any device found in the vicinity of a
`LocDev. In this case, the first two service primitives may be combined to a
`single one.
`
`The above service primitives return the requested information, whenever
`found. Based on the way that these service primitives are supported by a Blue-
`tooth stack implementation, the results of a search may directly return by the
`corresponding calling function, or a pointer to a data structure may be returned
`that contains all the reievant information. Alternatively, a Bluetooth stack imple-
`mentation may have altogether different means for providing the results of a
`search.
`
`4.3 MESSAGE SEQUENCE CHARTS (MSCS)
`
`This profile is concerned with three distinct Bluetooth procedures. Device dis-
`covery, device name discovery, service discovery. Note that each one of these
`procedures does not preclude any other; e.g. to connect to a RemDev, a
`LocDev may have to first discover it, and it may also ask for its name. The
`MSCS relating to the first two procedures (i.e., device and name discovery) are
`provided in section 2 of LMl'HCl_MSCs:{ES}. Sections 3, 4.1 and 4.2 of
`Llv‘|iHC|_lv1SCs:§'t3§ provide the MSCs relating to the third procedure (i.e., ser-
`vice discovery). See also section 4 of BT_LM_spec:§-"«.ri. The first two proce-
`dures do not require host intervention, while the third does.
`
`§-"-sgLi!'€~? 4.2 summarizes the key message exchange ‘phases’ encountered dur-
`ing the execution of this profile. Not all procedures are present at all times, and
`not all devices need to go through these procedures all the time. For example,
`if authentication is not required, the authentication phase in the figure will not
`be executed. If the SrvDsvApp needs to inquire for services on a specific
`RernDev with which the LocDev is currently connected, inquiries and pages
`
`Application layer
`
`1 December 1999
`
`AFFLT0294-387
`
`Samsung Ex. 1019 p. 1159
`
`

`
`BLUETOOTH SPECIFICATION Version 1.0 B
`
`page 78 of440
`
`Service Discovery Application Profile
`
`may not be executed. In the figure, the conditions under which particular
`phases are executed or not are also provided.
`
`i'-517'|“- NV‘;
`L-"-F’
`LM? .".':Ie res
`4'
`
`I
`
`needed only when
`J'ur_;u:'rJ':uc_.n .r§minsr.
`nun - .-:mm..-<:a'.exf rlorvf ::r:.d
`
`.'Jcr-dd! ordy m".c'n
`the use:'- £'r1'9ndl_v norm.‘
`.
`.
`.
`or .1 device 1:‘ r<:quJrcd
`needed cnl y when
`I riqiri ri Jig rrgu; l'1a=L
`.'1cr- :onne-:I:¢u' dev: :95
`n..-c-dz:-.-l
`/sruiy whrrn n-:::ir:'r.y ra.-:,1u|'r-.--m.-nrir
`u‘ic..-L.-u.;: ea :'im.‘.'::dc.-.-e p.u'r:'r-.n_.z.
`.!ULi:-\.'.'JL |'e:cu:.icn::
`5 z.'nr.~.:ypJ'.i'r)r-.
`.u-
`r:-L-zrrfcdl
`.':«:c_~dc:'.l only Ir.‘:r_-n 1.-iv.‘-luvs!
`tnIni.=.:-..~:ir.':I'rs
`S
`.'u.-gut I'.:i'I<>ns :..u'u- p.:‘.u-.r-
`:'rmr
`eriirxwul
`
`.f.2£.'Ar" ¢.‘S.)~It:Jr.‘n'_‘I'.IurJ
`.m SIJ1" wJJ'«::Ir.
`.-mu‘
`.m .‘iIJJ'-' xcr w-r
`
`1'-mt-r nu.-..-u
`
`i: am 2' na I: e an y
`canrzcc I: 1' on 5/1 5 n its
`as needed
`
`Figure 4.2: Biueiooth processes in support of this profile
`
`In addition to the MSC in Figure 4.2, Annex A shows what Bluetooth proce-
`dures and PDUs are needed to support the service primitives presented in
`Section vi
`
`1 December 1999
`
`Application layer
`
`AFFLT0294-388
`
`Samsung Ex. 1019 p. 1160
`
`

`
`BLUETOOTH SPECIFICATION Version 1.0 B
`
`page 79 of 440
`
`Service Discovery Application Profile
`
`5 SERVICE DISCOVERY
`
`The service discovery application does not make use of SDP as a means of
`accessing a service, but rather as a means of informing the user of a LocDev
`about the services that are available to hisiher device by (and possibiy via)
`RernDev(s). BT-aware applications running in a local device can also use the
`procedures described in this and the following sections to retrieve any pertinent
`information that will facilitate the application in accessing a desired service in a
`remote device.
`
`‘fable 5.“: shows the SDP feature requirements in a LoCDev and in a RemDev.
`
`IS
`
`DP client
`
`Tabie 5.1: SDP feature requirements
`
`mere 5.2 shows the SDP PDUS can be exchanged between devices following
`this profile.
`
`Ability to Send
`
`Ability to Receive
`
`LocDev
`
`RernDev
`
`LocDev
`
`RemDev
`
`SDP_ErrorResponce
`
`SDP_ServiceSearchRequest
`
`SD P__ServioeSea rch Response
`
`SDP_ServiceA£tributeRequest
`
`SDP_ServiceAttributeResponse
`
`SDPWServiceSearchAttributeRequest
`
`SDP_ServioeSearchAtiributeResponse
`Comments:
`
`C1
`
`M
`
`C1
`
`M
`
`C1
`
`M
`
`C1
`
`M
`
`C1
`
`M
`
`C1
`
`M
`
`C1
`
`M
`
`M
`
`C1
`
`M
`
`C1
`
`M
`
`C1
`
`M
`
`01
`
`M
`
`C1
`
`M
`
`01
`
`M
`
`C1
`
`{C1}: With regard to this current profile. these PDU transmissions will not occur. Neverthe-
`less, since a device could act as a LccDev on some occasions and as a RemDev on others,
`these PDU transmission may still take place between these devices.
`
`Tabie 5.2: Allowed SDP PDUs
`
`Service Discovery
`
`1 December 1999
`
`AFFLT0294-389
`
`Samsung Ex. 1019 p. 1161
`
`

`
`BLUETOOTH SPECIFICATION Version 1.0 8
`
`page 80 of440
`
`Service Discovenr Application Profile
`
`5.1 AN SDP PDU EXCHANGE EXAMPLE
`
`Figtsre 5.1 shows two examples of SDP PDU exchanges. In particular, it shows
`PDU exchange sequences for the inquiry and retrieval of any information perti-
`nent to a particular Bluetooth profile.
`
`3-DP_fl9t'V1f-'039a1'€hR0qif
`
`4; ,
`" i"
`'
`
`_
`" "'
`
`‘
`
`,
`
`::r
`
`r:.'.'Jr'-'-Hlc.-¥'r.'{
`re E-.-. xvi‘.
`'..='..".=..-
`
`r.-.-=:;ri:I_l{==.".r1IcnL Oi L23‘.-LI"
`for .-'5'!‘
`
`-:o:i.'..:-rt;-"c.-:i
`
`mi.‘ c[
`‘i.
`I,
`
`.-3nP_.a:v1ca.A:::n:u:eizeqr,.
`
`..,..
`
`-.,,
`
`,.
`--"'---
`
`.-
`-‘
`
`-.
`'
`
`ED:-'___nrv.tc.s..n-cuts;-at '
`-m.n.-..r-.a,- ..-{
`-::..i! :.=|;.
`'
`.3‘. Lr ‘.::u_-.:_'..'
`I
`
`.2‘:-1
`
`:
`
`Figure 5.1: SDP PDU exchange exampies for retrieving pmtocolflescrfptorfists
`
`For each PDU sent, the figure shows which device sends it (shown on the
`starting side of an arrow) and any relative information that this PDU carries
`(shown on the ending side of an arrow). Note that the LocDev sends request
`PDUs, while the RemDev sends back response PDUs.
`
`Two alternatives are shown utilizing different SDP PDUs to ultimately retrieve
`the same information — the protocci‘DescriptorList attribute from devices that
`support a specific Bluetooth profile. With the first alternative, the desired infor-
`mation is derived in two steps.
`
`- The LocDev sends an SDP_serviceSearchReq PDU which contains a ser-
`vice search pattern composed of the UUID associated with the desired pro-
`file; see section 4.3 of BT_ASN:{2§. The desired profile (profile 'XYZ') is
`identified by its UUID, denoted in the figure as 'profiie_XYZ_UU|D.‘ In its
`response PDU. the SDP server returns one or more 32-bit service record
`handles whose corresponding service records contain the
`'profiIe_XYZ_UU|D' UUID. In the figure. only one such handle is shown,
`denoted as 'prHnd|'.
`
`The LocDev then enters prHnd| in an SDP_serviceAttribute PDU together
`with one or more attribute IDS. In this example, the attribute of interest is the
`
`‘I December 1999
`
`Servicetiisoovery
`
`AFFLT0294390
`
`Samsung Ex. 1019 p. 1162
`
`

`
`BLUETOOTH SPECIFICATION Version 1.0 B
`
`page 81 of 440
`
`Service Discovery Application Profile
`
`protocoiDescripton'_ist. whose attribute ID is OXODO4. The SDP server then,
`in its response, returns the requested protocol list.
`
`In the event that no service record containing the desired service search pat-
`tern is found in the SDP server, the SDP_serviceSearchResp PDU will contain
`an empty serw'ceRecordHandieList and a totaiServiceRecordCount parameter
`set to its minimum value; see section 4.5.2 of BT_SDP_spec:§j‘i}.
`
`If the desired attributes do not exist in the SDP server, the
`SDP_serviceAttributeResp PDU will contain an empty attributetist and an
`attn'buteListByfeCount parameter set to its minimum value, see section 4.6.2 of
`BT_SDP_spec:{?‘j.
`
`With the second alternative, the desired attributes are retrieved in one step:
`
`- The LocDev sends an SDP_serviceSearchAttributeReq PDU where both
`the desired profile is included (service search pattern: profile_XYZ_UU|D)
`and the desired attribute(s) is provided (attribute ID: OXOOO4). in its response
`the SDP server will provide the requested attribute(s) from the service
`record(s) that matches the service search pattern.
`
`in case no service record containing the desired service search pattern andior
`the desired attribute(s) is found in the SDP server, the
`SDP_serviceSearchAttrfbuteResp PDU will contain an empty attributetists and
`an atfn'buteListsByteCount parameter set to its minimum value, see section
`4.7.2 of BT_SDP_spec:i?'}.
`
`While, in the example in Figgure 5.1, only very few service attributes are shown
`retrieved by the SDP client, additional information Could and should be
`requested. Particularly in cases where service information is to be cached for
`future use, an SDP client should also request any pertinent information that
`can aid in assessing whether cached information has become stale.
`The service attributes serviceDatabaseState. serviceRecoro'State, and
`serviceinfoi"imeToi_r've have been defined for this purpose in
`BT_SDP_spec:E?}; see sections 5.2.4. 5.1.3 and 5.1.8 respectively.
`
`Service Discovery
`
`1 December 1999
`
`AFFLT0294391
`
`Samsung Ex. 1019 p. 1163
`
`

`
`BLUETOOTH SPECIFICATION Version 1.0 8
`
`page 82 of440
`
`Service Discovery Appiicat.-‘on Profits
`
`6 LZCAP
`
`The following text, together with the associated subclauses, defines the man-
`datory requirements with regard to this profile.
`
`LZCAP procedure
`
`Support in LocDev
`
`Support in RemDev
`
`Channel types
`
`Connection-oriented channel
`
`Connectionless channel
`
`Signaiiing
`
`Connection Establishment
`
`Configuration
`
`Connection Termination
`
`Echo
`
`Command Rejection
`
`Configuration Parameter Options
`Maximum Transmission Unit
`
`Flush Time-out
`
`Quality of Service
`
`Comments:
`
`[X1]: This feature is not used in this profile. but its use by other applications running
`simultaneously with this profile is not excluded.
`
`[C1]; An SDP server shall not (and cannot) initiate an LZCAP connection for SDP
`transactions. Nevertheless, the device that the SDP server resides in may also have an
`SDP client that may initiate an L2CAP connection for SDP transactions. Such action does
`not contradict the execution of this profile. In any case. a RemDev shall be able to process
`incoming requests for connection establishment.
`
`[C2] Under normal operation. an SDP server shall not initiate the process of terminating an
`LZCAP oonnection for SDP. However. exceptional cases, such as when a RemDev shuts
`down during the execution on an SDP transaction, cannot be excluded. In such a case, prior
`to the final power-off, the RemDev may gracefully (or not!) terminate all its active LZCAP
`connections by sending connection termination PDUs. in any case. a RemDev shall always
`be able to process incoming requests for connection termination.
`
`Tabie 6.1:
`
`i_2CAP procedures
`
`1 December 1999
`
`AFFLT0294392
`
`Samsung Ex. 1019 p. 1164
`
`

`
`BLUETOOTH SPECIFICATION Version 1.0 B
`
`page 83 of 440
`
`Service Discovery Application Profile
`
`6.1 CHANNEL TYPES
`
`In this profile, only connection-oriented channels shall be used. In particular, no
`L2CAP broadcasts are to be used for this profile.
`
`6.2 SIGNALLING
`
`For the purpose of retrieving SDP-related information, only a LocDev can
`initiate an LZCAP connection request and issue an L2CAP connection request
`PDU; for exceptions. see comments C1 and C2 on Tania 5. '5. Likewise with the
`corresponding L2CAP connection terminations. and the same exceptional
`comments C1 and C2 on ‘fat:-le 6.’: apply. Other than that, SDAP does not
`impose any additional restrictions or requirements on LZCAP signalling.
`
`In the PSM fieid of the Connection Request packet, the value 0x0001 (see sec-
`tion 5.2 of BT_L2CAP_spec:{fi,?) shall be used to indicate the request for
`creation of an L2CAP connection for accessing the SDP layer.
`
`6.3 CONFIGURATION OPTIONS
`
`This section describes the usage of configuration options in the service
`discovery profile.
`
`6.3.1 Maximum Transmission Unit (MTU)
`
`This profile does not impose any additional restrictions to MTU beyond the
`ones stated in section 6.1 of BT_L2CAP_spec:§5§. If no MTU negotiation takes
`place, the default MTU value in section 6.1 of BT_L2CAP_spec:{5ji shall be
`used.
`
`For efficient use of the communication resources, the MTU shall be selected as
`
`large as possible, while respecting any physical constraints imposed by the
`devices involved, and the need that these devices continue honoring any
`already agreed upon Q03 contracts with other devices andior applications. It is
`expected that during the lifetime of an L2CAP connection for SDP transactions
`(also referred to as the ‘SDP session‘, see Efiecticn 8.4) between two devices,
`any one of these devices may become engaged in an L2CAP connection with
`another device andior application. if this new connection has ‘non-default’ Q08
`requirements, the MTU for the aforementioned SDP session is allowed to be
`re-negotiated during the lifetime of this SDP session, to accommodate the Q08
`constraints of the new L2CAP connection.
`
`6.3.2 Flush Time-out
`
`The SDP transactions are carried over an LZCAP reliable channel. The flush
`
`time-out value (see section 6.2 of BT_L2CAP_spec:§5:E) shall be set to its
`default value 0xFFFF.
`
`1 December 1999
`
`AFFLT0294393
`
`Samsung Ex. 1019 p. 1165
`
`

`
`BLUETOOTH SPECIFICATION Version 1.0 8
`
`Service Discovery Application Profile
`
`6.3.3 Quality of Service
`
`page 84 of 440
`
`Bluetooth-
`
`The use of Quality of Service (Q03) and QoS negotiation is optional. if (103 is
`to be negotiated, the default settings in section 6.4 of BT_L2CAP_spec:i_5}
`shall be used. In particular, SDP traffic shall be treated as a best-effort service
`type trafiic.
`
`6.4 SDP TRANSACTIONS AND L2CAP CONNECTION
`LIFETIME
`
`While, in general, SDP transactions comprise a sequence of service request-
`and-response PDU exchanges, SDP itself constitutes a connectionless
`datagram service in that no SDP-level connections are formed prior to any
`SDP PDU exchange. SDP delegates the creation of connections on its behalf
`to the L2CAP layer. It is thus the responsibility of SDP — or, more correctly, of
`the SDP layer — to request the LZCAP layer to ‘tear down‘ these connections
`on its behalf as well.
`
`Since SDP servers are considered stateless. ‘tearing down’ an LZCAP connec-
`tion after a service request PDU is sent (as a true connectionless service may
`imply) will be detrimental to the SDP transaction. Moreover, significant perfor-
`mance penalty will have to be paid if, for each SDP PDU transmission, a new
`LZCAP connection is to be created. Thus, LZCAP connections for SDP trans-
`
`actions shall last more than the transmission of a single SDP PDU.
`
`An SDP session between an SDP client and an SDP server represents the
`time interval that the ciient and the server have the same L2CAP connection
`
`continuously present. A n1inimaiSDP transaction will represent a single
`exchange of an SDP request PDU transmission from an SDP client to an SDP
`server, and the transmission of a corresponding SDP response PDU from the
`SDP server back to the SDP client. With respect to this profile, under normal
`operational conditions, the minimum duration of an SDP session shall be the
`duration of a minimal SDP transaction.
`
`An SDP session may last less than the minimum required in the event of unre-
`coverable (processing or link) errors in layers below SDP in the LocDev and
`RemDev, or in the SDP layer and the service records database in the RemDev.
`An SDP session may also be interrupted by user intervention that may termi-
`nate the SDP session prior to the completion of an SDP transaction.
`
`The above minimum duration of an SDP session guarantees smooth execution
`of the SDP transactions. For improved performance, implementers may allow
`SDP sessions to last longer than the minimum duration of an SDP session. As
`a general implementation guideline, an SDP session shall be maintained for as
`long as there is a need to interact with a specific device. Since the latter time is
`in general unpredictable, SDP implementations may maintain timers used to
`time periods of SDP transaction inactivity over a specific SDP session.
`
`1 December 1999
`
`AFFLT0294394
`
`Samsung Ex. 1019 p. 1166
`
`

`
`BLUETOOTH SPECIFICATION Version 1.0 B
`
`page 85 of 440
`
`Service Discovery Application Profile
`
`SDP implementations may also rely on explicit input received from a higher
`layer (probably initiated from the SrvDscApp itself) to open and close an SDP
`session with a particular device using low level primitives; e.g. openSearch(.)
`and cIoseSearch(.). Finally. an implementation may permit users to interrupt
`an SDP session at any time. see the terminatePrimitive(.) service primitive in
`Easotion e$.2.
`
`Normally, an SDP session shall not terminate by a RemDev. Yet, such an event
`can indeed occur, either having the RemDev gracefully terminating the SDP
`session, using the L2CAP connection termination PDU, or abnormally termi-
`nating the SDP by stopping responding to SDP requests or L2CAP signalling
`commands. Such an event may be an indication of an exceptional condition
`that SDP clientiserver implementers should consider addressing for the
`smooth execution of this profile. If a termination event initiates from a RemDev,
`an SDP client may want to consider clearing any information obtained by this
`RemDev. Such an exceptional event may imply that the SDP server has (or is
`about to) shut-down, in which case any service information retrieved from this
`server should automatically become stale.
`
`1 December 1999
`
`AFFLT0294395
`
`Samsung Ex. 1019 p. 1167
`
`

`
`BLUETOOTH SPECIFICATION Version 1.0 8
`
`Service Discovery Application Profile
`
`7 LINK MANAGER
`
`7.1 CAPABILITY OVERVIEW
`
`page 86 of 440
`
`Bluetooth-
`
`In this section, the LMP layer is discussed. In the table below. all LMP features
`are listed. The table shows which LMP features are mandatory to support with
`respect to this service discovery profile, which are optional and which are
`excluded. The reason for excluding features is that they may degrade opera-
`tion of devices in this use case. Therefore, these features shall never be acti-
`
`vated by a unit active in this use case.
`
`If any of the rules stated below are violated, the units shalt behave as defined
`in Section ?’.2.
`
`Traffic generated during service discovery interactions has no particular Q03
`requirements. As such, no particular provision of the Bluetooth link is required
`to support this profile.
`
`Lllll Procedure
`
`—|.
`
`Authentication
`
`Support in
`LMF
`
`Pairing
`
`Change link key
`
`Change the current link key
`
`Encryption
`
`Clock offset request
`
`Timing accuracy information request
`
`LMP version
`
`8 u ppo rted features
`
`Switch of master slave role
`
`Name request
`
`Detach
`
`Hold mode
`
`Sniff mode
`
`Park mode
`
`Power control
`
`F59°."*'53".‘-"':"‘:I-“P-"'.’\’
`
`—L 53
`
`—\ —L
`
`—L N
`
`—L 9°
`
`—|. P
`
`3
`
`Tabie ?.‘.|‘: LMP procedures
`
`OOOEZZOEEOZOEZZE
`
`1 December 1999
`
`Link Manager
`
`AFFLT0294396
`
`Samsung Ex. 1019 p. 1168
`
`

`
`BLUETOOTH SPECIFICATION Version 1.0 B
`
`page 87 of 440
`
`Service Discovery Application Profile
`
`LM Procedure
`
`Eagpofl in
`
`Channel quality driven DMIDH
`
`Quality of service
`
`SCO links
`
`Control of multi-slot packets
`
`Concluding parameter negotiation
`
`Host connection
`
`Comments:
`
`[C1] No authentication or encryption is required specificaily by this profile. This profile will.
`however. not attempt to change the existing operational settings for these procedures.
`Nevertheless, when this profile is executed all by itself, the default operational settings are:
`- authentication: no active
`
`- encryption: no active
`In the latter case. a LocDev will always comply with the security requirements imposed by a
`RemDev. If it cannot comply. it will bypass the RemDev.
`
`{X1}: This feature is not used in this profile. but its use by other applications running simulta-
`neously with this profile is not excluded.
`
`Table 7.1: LMP procedures
`
`7.2 ERROR BEHAVIOR
`
`if a unit tries to use a mandatory feature. and the other unit replies that it is not
`supported, the initiating unit shall send an LMP_detach PDU with detach rea-
`son "unsupported LMP feature."
`
`A unit shall always be able to handle the rejection of the request for an optional
`feature.
`
`7.3 LINK POLICY
`
`There are no fixed master-slave roles for the execution of this profile.
`
`This profile does not state any requirements on which low-power modes to use,
`or when to use them. It is up to the Link Manager of each device to decide and
`request special link features as seen appropriate.
`
`Link Manager
`
`1 December 1999
`
`AFFLT0294397
`
`Samsung Ex. 1019 p. 1169
`
`

`
`BLUETOOTH SPECIFICATION Version 1.0 8
`
`page 88 ef440
`
`Service Discovery Application Profiie
`
`8 LINK CONTROL
`
`8.1 CAPABILITY OVERVIEW
`
`The following tabie lists all features on the LC level
`
`Support in
`baseband
`
`Support In
`Locflev
`
`Support In
`Remflev
`
`O§OO§§OOOO§§§§§?...
`
`Procedure
`
`Inquiry
`
`Inquiry scan
`
`Paging
`
`Page scan
`
`Type R0
`
`Type R’!
`
`Type R2
`
`Packet types
`
`ID packet
`
`NULL packet
`
`POLL packet
`
`FHS packet
`
`DM1 packet
`
`D!-I1 packet
`
`DM3 packet
`
`DH3 packet
`
`DM5 packet
`
`DH5 packet
`
`AUX packet
`
`HV1 packet
`
`HV2 packet
`
`HV3 packet
`
`DV packet
`
`|nter—piconet capabilities
`
`Voice coder:
`
`.5
`
`2.
`
`3.
`
`4.
`
`A B C 5
`
`. A B C D E F G H
`
`9702573‘-
`
`.“*-'
`
`Tabie 8.1: LC features
`
`1 December 1999
`
`Link control
`
`AFFLT0294-398
`
`Samsung Ex. 1019 p. 1170
`
`

`
`BLUETOOTH SPECIFICATION Version 1.0 B
`
`Service Discovery Application Profile
`
`Procedure
`
`Support in
`base-band
`
`page 89 of 440
`
`Bluetooth.
`
`Support in
`Remnev
`
`Comments:
`
`{C1}: This mandatory LC feature will be activated under the control of the SrvDscApp.
`
`{C2]: This mandatory LC feature is a settable device policy {outside the scope of this profile)
`that is activated whenever a device is to operate in a discoverable {public} mode.
`
`[C3] This mandatory LC feature is a settable device policy {outside the scope of this profile)
`that is activated whenever a device is to operate in a discoverable or connectable {private}
`mode.
`
`{X1}: These features are not used in this profile. but their use by other applications running
`simultaneously with this profile is not excluded.
`
`Table 8.1: LC features
`
`For the next four subsections, it is assumed that a LocDev is to perform service
`searches with originally unconnected RemDevs. It thus needs to inquire for
`and page (or only page) these RemDevs. None of the following four Subsec-
`tions apply whenever a LocDev performs service searches with RemDevs to
`which it is already connected.
`
`8.2 INQUIRY
`
`Whenever instructed by the SrvDscApp, the i_ocDev shall advise its baseband
`to enter th

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket