# Patent

## Title
Method and apparatus for controlling device in wireless communication system

## Abstract

Disclosed herein are a method and apparatus for controlling, by a first device, a second device in a wireless communication system. There are provided a method and apparatus, including transmitting an advertising message including supportable service information to the second device, receiving a connection request message for a BLE connection from the second device, transmitting a request command to indicate a specific operation related to a specific service included in the service information to the second device, and receiving a response command in response to the request command from the second device. The service information includes at least one of a phone call service related to an incoming call or an outgoing call, a listening audio service related to audio streaming, or an alert service related to a transmission and reception of an urgent message.

## Background
CROSS-REFERENCE TO RELATED APPLICATION
This application claims priority to Provisional Applications No. 62/187,783 filed on 1 Jul. 2015, No. 62/193,039 filed on 15 Jul. 2015, and No. 62/217,870 filed on 12 Sep. 2015 in U.S. the entire contents of which is hereby incorporated by reference in its entirety.


BACKGROUND OF THE INVENTION
Field of the Invention
The present invention relates to a method and apparatus for controlling a device using Bluetooth, that is, a short-distance technology, in a wireless communication system and, more particularly, to a method and apparatus for controlling the operation of a device using a Bluetooth low energy (BLE) technology.
Discussion of the Related Art
Bluetooth is a short-range wireless technology standard that can wirelessly connect various types of devices and allows them to exchange data over short distances. To enable wireless communication between two devices using Bluetooth communication, a user has to perform the process of discovering Bluetooth devices to communicate with and making a connection request. As used herein, the term “device” refers to an appliance or equipment.
In this case, the user may discover a Bluetooth device according to a Bluetooth communication method intended to be used using the Bluetooth device, and subsequently perform a connection.
The Bluetooth communication method may be classified as a BR/EDR method and an LE method. The BR/EDR method may be termed Bluetooth Classic. The Bluetooth Classic method includes a Bluetooth technology led from Bluetooth 1.0 and a Bluetooth technology using an enhanced data rate (EDR) supported by Bluetooth 2.0 or a subsequent version.
A Bluetooth low energy (LE) technology applied, starting from Bluetooth 4.0, may stably provide information of hundreds of kilobytes (KB) at low power consumption. Such a Bluetooth low energy technology allows devices to exchange information with each other by utilizing an attribute protocol. The Bluetooth LE method may reduce energy consumption by reducing overhead of a header and simplifying an operation.
Among the Bluetooth devices, some products do not have a display or a user interface. Complexity of connection, management, control, and disconnection among various types of Bluetooth devices and Bluetooth device employing similar technologies has increased.
Bluetooth supports a high speed at relatively low power consumption and at relatively low cost. However, since a transmission distance thereof is 100 m at the maximum, and thus, Bluetooth is appropriately used within a limited space.
SUMMARY OF THE INVENTION
An object of this specification is to define a state machine for transmitting and receiving audio data or voice data through a hearing aid (HA).
Furthermore, an object of this specification is to execute various functions related to audio data or voice data in each state through a defined state machine.
Furthermore, an object of this specification is to provide a method for receiving an alert sound, such as a disaster or an accident, in a process for transmitting and receiving audio data or voice data through an HA.
Furthermore, an object of this specification is to provide various functions for transmitting and receiving audio data or voice data to and from a user device through an HA.
Furthermore, an object of this specification is to provide a method and apparatus for controlling a user device through an HA.
Furthermore, an object of this specification is to provide a method for controlling a user device in order to provide various services through an HA, that is, a dummy device not having a state machine.
Furthermore, an object of this specification is to define a message for controlling a user device.
Furthermore, an object of this specification is to provide a method and apparatus for controlling various operations through an HA in order to provide a service through a user device.
Technical objects to be achieved in this specification are not limited to the aforementioned objects, and those skilled in the art to which the present invention pertains may evidently understand other technical objects from the following description
In an aspect of the present invention, there is provided a method for controlling, by a first device, a second device in a wireless communication system, including transmitting an advertising message including supportable service information to the second device, receiving a connection request message for a BLE connection from the second device, transmitting a request command to indicate a specific operation related to a specific service included in the service information to the second device, and receiving a response command as a response to the request command from the second device. The service information may include at least one of a phone call service related to an incoming call or an outgoing call, a listening audio service related to audio streaming, and an alert service related to the transmission and reception of an urgent message.
Furthermore, in an embodiment of the present invention, the first device may include a dummy device not having a state machine indicative of a possible state of a device.
Furthermore, in an embodiment of the present invention, the method may further include receiving a request message which requests control rights to control the specific service from the second device and transmitting a response message indicative of the approval or rejection of the request.
Furthermore, in an embodiment of the present invention, the method may further include transmitting a release message which indicates the release of the control rights to the second device if the response message indicates the approval.
Furthermore, in an embodiment of the present invention, the method may further include transmitting a request message which requests state information indicative of the current status of the second device to the second device and receiving a response message including the state information.
Furthermore, in an embodiment of the present invention, the specific operation may include one of the start, change, stop or selection of the specific service, a first operation related to the phone call service, and a second operation related to the listening audio service.
Furthermore, in an embodiment of the present invention, the first operation may include one of “Make a call” indicative of an outgoing call, “Accept a call” indicative of the approval of an incoming call, and “Release a call” indicative of the end of a call.
Furthermore, in an embodiment of the present invention, the second operation may include one of audio playback, an audio stop, an audio pause, audio resumption, a movement to a next song, a movement to a previous song, and volume adjustment.
Furthermore, in an embodiment of the present invention, the service information may further include priority information indicative of priority of operations between services.
Furthermore, in an embodiment of the present invention, the response command may include result information indicative of a result of the specific operation.
Furthermore, in an embodiment of the present invention, the first device may include a hearing aid (HA), and the second device may include a user device.
Furthermore, in another aspect of the present invention, there is provided a first device for controlling a second device in a wireless communication system, including a communication unit configured to communicate with the outside in a wired or wireless manner and a processor operatively connected to the communication unit. The processor transmits an advertising message including supportable service information to the second device, receives a connection request message for a BLE connection from the second device, transmits a request command to indicate a specific operation related to a specific service included in the service information to the second device, and receives a response command as a response to the request command from the second device. The service information may includes at least one of a phone call service related to an incoming call or an outgoing call, a listening audio service related to audio streaming, and an alert service related to the transmission and reception of an urgent message.



BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and together with the description serve to explain the principles of the invention. In the drawings:
FIG. 1 illustrates one example of a wireless communication system which makes use of a Bluetooth low energy technology according to the present invention.
FIG. 2 illustrates one example of an internal block diagram of a server device and a client device capable of implementing methods of the present invention.
FIG. 3 illustrates one example of a Bluetooth low energy network topology.
FIGS. 4 and 5 illustrate one example of Bluetooth communication architecture to which methods according to the present invention may be applied.
FIG. 6 illustrates one example of a GATT Profile structure of the Bluetooth low energy specification.
FIG. 7 illustrates one example of a method for connection procedure of the Bluetooth low energy specification.
FIG. 8 is a flow diagram illustrating one example of a method for providing an object transfer service according to the Bluetooth low energy technology.
FIG. 9 is a flow diagram illustrating one example of a method for connection procedure according to the Bluetooth BR/EDR technology.
FIG. 10 illustrates characteristics of an audio signal.
FIG. 11 illustrates one example of a hone ecosystem for applications to which an isochronous channel may be applied.
FIG. 12 illustrates an example of using an isochronous channel.
FIG. 13 illustrates one example of an operation state transition according to the BLE technology.
FIG. 14 illustrates various examples of isochronous stream transfer through an isochronous channel.
FIGS. 15 and 16 illustrate another example of a data transfer method using an isochronous channel.
FIG. 17 illustrates examples of isochronous channel packet format which may be applied to the methods of the present invention.
FIG. 18 illustrates one example of a basic format of isochronous channel transfer to which methods according to the present invention may be applied.
FIG. 19 illustrates one example of a method for transmitting and receiving a signal between a user device and an HA to which a method of the present invention may be applied.
FIG. 20 illustrates one example of application mode change according to the present invention.
FIG. 21 illustrates one example of a state machine related to call control according to the present invention.
FIG. 22 illustrates one example of a simple state machine related to call control according to the present invention.
FIG. 23 illustrates one example of a state machine related to a control function if an audio stream is transmitted and received according to the present invention.
FIG. 24 illustrates one example of a state machine with respect to an audio link state according to the present invention.
FIG. 25 illustrates another example of a state machine according to the present invention.
FIG. 26 illustrates a yet another example of a state machine according to the present invention.
FIG. 27 illustrates a still another example of a state machine according to the present invention.
FIG. 28 is a flowchart illustrating an example of a method for controlling a device, which is proposed in this specification.
FIG. 29 is a flowchart illustrating another example of a method for controlling a device, which is proposed in this specification.
FIG. 30 is a flowchart illustrating yet another example of a method for controlling a device, which is proposed in this specification.
FIG. 31 is a flowchart illustrating still another example of a method for controlling a device, which is proposed in this specification.



DETAILED DESCRIPTION OF THE EMBODIMENTS
In what follows, the present invention will be described in more detail with reference to appended drawings.
A suffix such as “module” and “unit” introduced in the description below is assigned merely to facilitate description of this document, and the “module” and “unit” may be used interchangeably.
Meanwhile, a device according to this document refers to a device capable of wireless communication, including a mobile phone including a smart phone, tablet PC, desktop computer, notebook, and television including smart TV and IPTV.
In what follows, embodiments of the present invention will be described in detail with reference to appended drawings and descriptions contained in the drawings, but the technical scope of the present invention is not restricted by the embodiments or limited to the embodiments.
Wherever possible, general terms widely used by the public have been chosen as long as the terms do not obscure their technical functions intended in the present invention; however, those terms may be changed by the intention of those skilled in the art, practices, or advent of a new technology.
In some case, specific terms are chosen arbitrarily; in that case, specific meaning of the corresponding terms will be elaborated at the corresponding description.
Therefore, the terms used in this document should be interpreted on the basis of their actual meaning and the description throughout the document rather than the immediate names of the terms.
FIG. 1 illustrates one example of a wireless communication system which makes use of a Bluetooth low energy technology according to the present invention.
The wireless communication system 100 comprises at least one server device 110 and at least one client device 120.
The server device and the client device perform Bluetooth communication by using Bluetooth Low Energy (in what follows, it is denoted as BLE for the purpose of convenience) technology.
First of all, compared with Bluetooth BR/EDR (Basic Rate/Enhanced Data Rate) technology, BLE technology requires a relatively small duty cycle. Products based on BLE technology may be manufactured at low costs and require considerably small power consumption through low speed data transmission rate; therefore, they may be operated more than one year with a coin cell battery.
Furthermore, BLE technology simplifies a connection procedure between devices and requires a smaller packet size than Bluetooth BR/EDR technology.
Features of BLE technology may be summarized as follows: (1) the number of RF channels is 40, (2) the data transmission speed of 1 Mbps is supported, (3) star topology is used, (4) latency is 3 ms, (5) the maximum current is less than 15 mA, (6) the output power is less than 10 mW (10 dBm), and (7) main application fields include mobile phones, watch, sports, health-care, sensor, and device control.
The server device 110 may operate as a client device in a relationship with a different device, and similarly the client device may operate as a server device in a relationship with a different device. In other words, in the BLE communication system, a device may operate as a server device or a client device, and if needed, a device may operate as a server device and a client device at the same time.
The server device 110 may be called a data service device, master device, master, server, conductor, host device, audio source device, or first device. The client device may be called a slave device, slave, client, member, sink device, audio sink device, or second device.
The server device and the client device constitute a main part of the wireless communication system, and the wireless communication system may include other constituting elements in addition to the server device and the client device.
The server device refers to a device which receives data from a client, performs communication directly with the client device, and if receiving a data request from the client device, provides data to the client device through a response.
Furthermore, the server device sends a notification message and indication message to the client device to provide data information to the client device. Furthermore, when transmitting an indication message to the client device, the server device receives a confirm message corresponding to the indication message from the client device.
Furthermore, the server device may provide data information to the user through a display unit or receive a request input from the user through a user input interface while transmitting and receiving a notification, indication, and confirm message to and from the client device.
Furthermore, the server device may read data from a memory unit or write new data to the corresponding memory while transmitting and receiving a message to and from the client device.
Furthermore, one server device may be connected to a plurality of client devices and may be easily re-connected to client devices by using bonding information.
The client device 120 refers to a device which requests data information and data transmission from a server device.
The client device receives data from the server device through a notification message and indication message and when receiving an indication message from the server device, sends a confirm message in response to the indication message.
In the same way as the server device, the client device may provide information to the user through a display unit or receive an input from the user through a user input interface while transmitting and receiving message to and from the server device.
Furthermore, the client device may read data from a memory unit or write new data to the corresponding memory while transmitting and receiving a message to and from the server device.
Hardware components such as a display unit, user input interface, and memory unit of the server device and the client device will be described in detail with reference to FIG. 2.
Furthermore, the wireless communication system may form a Personal Area Network (PAN) by using Bluetooth technology. For example, the wireless communication system may exchange files and documents in a prompt and safe manner by forming a private piconet among devices.
A BLE device may operate to support various Bluetooth-related protocols, profiles, and processes.
FIG. 2 illustrates one example of an internal block diagram of a server device and a client device capable of implementing methods of the present invention.
A server device may be connected to at least one client device.
Furthermore, depending on the needs, the internal block diagram of each device may further include other constituting elements (modules, blocks, or units), and part of the constituting elements of FIG. 2 may be omitted.
As shown in FIG. 2, a server device comprises a display unit 111, a user input interface 112, a power supply unit 113, a processor (or controller) 114, a memory unit 115, a Bluetooth interface 116, other interface 117, and a communication unit (or transmitting and receiving unit) 118.
The display unit 111, user input interface 112, power supply unit 113, processor 114, memory unit 115, Bluetooth interface 116, other interface 117, and communication unit 118 are functionally connected to each other to perform a method of the present invention.
Furthermore, a client device comprises a display unit 121, a user input interface 122, a power supply unit 123, a processor 124, a memory unit 125, a Bluetooth interface 126, and a communication unit (or transmitting and receiving unit) 127.
The display unit 121, user input interface 122, power supply unit 123, processor 124, memory unit 125, Bluetooth interface 126, and communication unit 127 are functionally connected to each other to perform a method of the present invention.
The Bluetooth interface 116, 126 refers to a unit (or module) capable of transmitting a request/response, command, notification, indication/confirm message, or data between devices by using Bluetooth technology.
The memory 115, 125 is a unit implemented in various types of devices and refers to a unit to which various types of data are stored.
The processor 114, 124 refers to a module controlling the overall operation of the server device or the client device; and controls the server device or the client device to request the transmission of a message through the Bluetooth interface or other interface and to process a received message.
The processor 114, 124 may be represented by a controller or a control unit.
The processor 114, 124 may include Application-Specific Integrated Circuit (ASIC), other chipsets, logical circuit and/or data processing device.
The memory 115, 125 may include ROM (Read-Only Memory), RAM (Random Access Memory), flash memory, memory card, storage medium and/or other storage device.
The communication unit 118, 127 may include baseband circuit for processing a radio signal. If an embodiment is implemented in the form of software, the method described above may be implemented by a module (process or function) which performs the function described above. A module is stored in the memory and is carried out by the processor.
The memory 115, 125 may be installed inside or outside the processor 114, 124 and may be connected to the processor 114, 124 through various well-known means.
The display unit 111, 121 refers to the module for providing status information of a device and message exchange information to the user through a display.
The power supply unit 113, 123 refers to the module receiving external or internal power under the control of the controller and supplying power required for the operation of each individual element.
As described above, BLE technology is characterized by a small duty cycle and considerably reduces power consumption through a low data transmission rate; therefore, BLE technology is capable of supplying power required for the operation of each individual element even with small output power (which is less than 10 mW (10 dBm)).
The user input interface 112, 122 refers to the module which provides a user input such as a display button to the controller so that the user may control the operation of a device.
FIG. 3 illustrates one example of a Bluetooth low energy network topology.
Referring to FIG. 3, a device A corresponds to a piconet (piconet A, the shaded area) master having a device B and a device C as slaves.
In this case, the piconet refers to a set of devices where one from among a plurality of devices acts as a master and the others occupy a shared physical channel connected to the master device.
A BLE slave does not share the common physical channel with the master. Each slave communicates with the master through a separate physical channel. There is another piconet (piconet F) which consists of a master device F and a slave device G.
A device K belongs to a scatternet K. In this case, the scatternet refers to a group of piconets interconnected to each other.
A device K is a master of a device L and at the same time, a slave of a device M.
A device O also belongs to a scatternet O. The device O is a slave of a device P and at the same time, a slave of a device Q.
FIG. 3 illustrates a case where five different device groups are formed.
A device D is an advertiser, and a device A is an initiator (group D).
A device E is a scanner, and a device C is an advertiser (group C).
A device H is an advertiser, and a device I and a device J are scanners (group H).
The device K is also an advertiser, and a device N is an initiator (group K).
A device R is an advertiser, and the device O is an initiator (group R).
The device A and the device B use one BLE piconet physical channel.
The device A and the device C use another BLE piconet physical channel.
In group D, the device D advertises by using an advertisement event which may be connected on an advertising physical channel, and the device A is an initiator. The device A may establish a connection to the device D and add a device to the piconet A.
In group C, the device C advertises on an advertising physical channel by using a certain type of an advertisement event captured by the scanner device E.
The group D and the group C may utilize different advertising physical channels or different time frames to avoid collision.
The piconet F has one physical channel. The device F and the device G use one BLE piconet physical channel. The device F is a master, and the device G is a slave.
The group H has one physical channel. The device H, I, and J use one BLE advertising physical channel. The device H is an advertiser, and the device I and J are scanners.
In the scatternet K, the device K and L use one BLE piconet physical channel. The device K and M use another BLE piconet physical channel.
In group K, the device K advertises by using an advertisement event which may be connected to an advertising physical channel, and the device N is an initiator. The device N may establish a connection with the device K. In this case, the device K acts as a slave of two devices, and at the same time, a master of one device.
In the scatternet O, the device O and P use one BLE piconet physical channel. The device O and Q use another BLE piconet physical channel.
In group R, the device R advertises by using an advertisement event which may be connected to an advertising physical channel, and the device O is an initiator. The device O may establish a connection with the device R. In this case, the device O acts as a slave of two devices, and at the same time, a master of one device.
FIGS. 4 and 5 illustrate one example of Bluetooth communication architecture to which methods according to the present invention may be applied.
More specifically, FIG. 4 illustrates one example of Bluetooth BR (Basic Rate)/EDR (Enhanced Data Rate), and FIG. 5 illustrates one example of Bluetooth LE (Low Energy) architecture.
First, as shown in FIG. 4, Bluetooth BR/EDR architecture comprises a controller stack 410, HCI (Host Controller Interface) 420, and a host stack 430.
The controller stack (or controller module, 410) refers to the hardware for transmitting or receiving Bluetooth packets to and from a wireless transmission and reception module dealing with Bluetooth signals of 2.4 GHz; and comprises a BR/EDR Radio layer 411, BR/EDR Baseband layer 412, and BR/EDR Link Manager layer 413.
The BR/EDR Radio layer 411 transmits and receives a radio signal of 2.4 GHz and is capable of transmitting data by hopping 79 RF channels when Gaussian Frequency Shift Keying (GFSK) modulation is employed.
The BR/EDR baseband layer 412 transmits a digital signal, selects a channel sequence which performs hopping 1600 times per second, and transmits a time slot spanning 625 us for each channel.
The link manager layer 413 controls the overall operation of a Bluetooth connection such as link setup, control, and security by using Link Manager Protocol (LMP).
The link manager layer may perform the following functions.

    
    
        Control of ACL/SCO logical transport and logical link setup
        Detach: removes a connection and informs the corresponding device of the cause of the removal.
        Performs power control and role switch
        Performs a security function such as authentication, pairing, and encryption.
    
    


The host controller interface layer 420 provides an interface between a host module 430 and a controller module 410 so that a host may provide a command and data to a controller and the controller may provide an event and data to the host.
The host stack (or host module) 430 comprises L2CAP 437, Service Discovery Protocol (SDP) 433, BR/EDR protocol 432, BR/EDR profiles 431, Attribute Protocol 436, Generic Access Profile (GAP) 434, and Generic Attribute Profile (GATT) 435.
The Logical Link Control and Adaptation Protocol (L2CAP) 437 provides one bilateral channel for transmitting data according to a specific protocol or with a specific profile.
The L2CAP multiplexes various protocols and profiles provided by Bluetooth upper layers.
The L2CAP of the Bluetooth BR/EDR specification uses a dynamic channel; supports a protocol service multiplexer, retransmission, and streaming mode; and provides segmentation and reassembly, per-channel flow control, and error control.
The Service Discovery Protocol (SDP) 433 refers to the protocol used to search for a service (profile and protocol) that a Bluetooth service supports.
The BR/EDR protocols and profiles 432, 431 define a service employing the Bluetooth BR/EDR specification and an application protocol according to which exchange of data is performed.
The Attribute Protocol 436 relies on a server-client structure, which defines rules for the corresponding device to access data. Six message types are defined as shown below: Request message, Response message, Command message, Notification message, and Indication message.

    
    
        Request message from client to server with Response message from server to client
        Command message from client to server without Response message
        Notification message from server to client without Confirm message
        Indication message from server to client with Confirm message from client to server
    
    


The Generic Attribute Profile (GATT) 435 defines an attribute type.
The Generic Access Profile (GAP), 434 defines a method for discovering and connecting a device; and a method for providing information to a user. The GAP provides a privacy scheme.
As shown in FIG. 5, the BLE structure comprises a controller stack capable of processing a wireless device interface for which timing is critical and a host stack capable of processing high level data.
The controller stack may be called a controller, but in order to avoid being confused with the processor which is an internal element of a device described earlier in FIG. 2, the name of the controller stack is preferred in what follows.
First, the controller stack may be implemented by using a communication module which may include a Bluetooth wireless device and a processor module which may include a processing device such as a microprocessor.
The host stack may be implemented as part of the OS operating on the processor module or as a package instance on the OS.
In some cases, the controller stack and the host stack may be operated or carried out on the same processing device within the processor module.
The host stack comprises Generic Access Profile (GAP) 510, GATT based Profiles 520, Generic Attribute Profile (GATT) 530, Attribute Protocol (ATT) 540, Security Manager (SM) 550, and Logical Link Control and Adaptation Protocol (L2CAP) 560. The host stack is not limited to the aforementioned composition, but may include various protocols and profiles.
By using the L2CAP, the host stack multiplexes various protocols and profiles that Bluetooth specification provides.
First, the L2CAP 560 provides one bilateral channel for transmitting data to according to a specific protocol or with a specific profile.
The L2CAP is capable of multiplexing data among upper layer protocols, segmenting or reassembling packages, and managing multicast data transmission.
BLE uses three fixed channels: one for signaling, another for the security manager, and the third for the attribute protocol.
On the other hand, BR/EDR (Basic Rate/Enhanced Data Rate) uses a dynamic channel and supports protocol service multiplexer, retransmission, streaming mode.
The Security Manager (SM) 550 authenticates a device, which is a protocol for providing key distribution.
The Attribute Protocol (ATT) 540 relies on a server-client structure, which defines rules for the corresponding device to access data. Six message types are defined: Request, Response, Command, Notification, Indication, and Confirmation.
{circle around (1)} Request and Response message: Request message is used when a client device requests specific information from a server device, and Response message is used in response to the Request message, which is transmitted from the server device to the client device.
{circle around (2)} Command message: It is transmitted from the client device to the server device to indicate a command for specific operation, but the server device does not transmit a response to the Command message to the client device.
{circle around (3)} Notification message: The server device transmits this message to the client device to notify of an event, but the client device does not transmit a confirmation message with respect to the Notification message to the server.
{circle around (4)} Indication and Confirm message: the server device transmits this message to the client device to notify of an event. Different from the Notification message, the client device transmits a Confirm message with respect to the Indication message to the server device.
The Generic Access Profile (GAP) is the layer newly implemented to support BLE technology and is used to control selection of roles for communication among BLE devices and the procedure of multi-profile operation.
The GAP is used mainly for device discovery, connection establishment, and security; defines a method for providing information to a user; and defines the following attribute types.
{circle around (1)} Service: a combination of behaviors related to data. Defines basic operation of a device.
{circle around (2)} Include: defines a relationship between services.
{circle around (3)} Characteristics: a data value used by a service
{circle around (4)} Behavior: a format that may be readable by a computer, which is defined by Universal Unique Identifier (UUID) and a value type.
GATT-based profiles are dependent on the GATT and are applied mainly for BLE devices. The GATT-based profiles may include Battery, Time, FindMe, Proximity, Object Delivery Service, and so on. More specific descriptions of the GATT-based profiles are as follows.
Battery: method for exchanging battery information.
Time: method for exchanging time information.
FindMe: provides an alarm service according to a distance.
Proximity: method for exchanging battery information.
The GATT may be used as a protocol by which to describe how ATT is utilized at the time of composing services. For example, the GATT may be used to define how ATT profiles are grouped together with services and to describe characteristics associated with the services.
Therefore, GATT and ATT describe device states and services; and how features are associated with each other and how they are used.
The controller stack comprises a physical layer 590, link layer 580, and host controller interface 570.
The physical layer (wireless transmission and reception module 590) transmits and receives a radio signal of 2.4 GHz; and uses Gaussian Frequency Shift Keying (GFSK) modulation and frequency hopping utilizing 40 RF channels.
The link layer 580 transmits or receives Bluetooth packets.
Furthermore, the link layer establishes a connection between devices after performing the advertising and scanning function by using three advertising channels; and provides a function of exchanging a maximum of 42 bytes of data packets through 37 data channels.
The Host Controller Interface (HCI) provides an interface between the host stack and the controller stack so that the host stack may provides commands and data to the controller stack and the controller stack may provide events and data to the host stack.
In what follows, the procedure of Bluetooth Low Energy (BLE) will be described briefly.
The BLE procedure comprises a device filtering procedure, advertising procedure, scanning procedure, discovering procedure, and connecting procedure.
Device Filtering Procedure
The device filtering procedure is intended to reduce the number of devices performing a response to a request, command, or notification in the controller stack.
It is not necessarily required for all of the devices to respond to a received request; therefore, the controller stack reduces the number of transmitted requests so that power consumption may be reduced in the BLE controller stack.
An advertising device or a scanning device may perform the device filtering procedure to restrict devices which receive advertisement packets, scan request, or connection request.
In this case, the advertising device refers to a device which transmits an advertisement event, namely a device which performs advertisement and is also called an advertiser.
A scanning device refers to a device which performs scanning, namely a device which transmits a scan request.
In the BLE specification, if a scanning device receives part of advertisement packets from an advertising device, the scanning device has to transmit a scan request to the advertising device.
However, if the transmission of a scan request is not required as the device filtering procedure is employed, the scanning device may ignore advertisement packets transmitted from an advertising device.
The device filtering procedure may be used even in the connection request procedure. If device filtering is used for the connection request procedure, the need for transmitting a response to a connection request may be made unnecessary by ignoring the connection request.
Advertising Procedure
An advertising device performs an advertisement procedure to perform non-directional broadcast by using the devices within the range of the advertising device.
In this case, the non-directional broadcast refers to the broadcast in all directions rather than the broadcast in specific directions.
Different from the non-directional broadcast, directional broadcast refers to the broadcast in a specific direction. Non-directional broadcast is performed without involving a connection procedure between devices in a listening state (in what follows, they are called listening devices).
The advertising procedure is used to establish a Bluetooth connection to a nearby initiating device.
Or the advertising procedure may be used to provide periodic broadcast of user data to the scanning devices performing listening through an advertising channel.
In the advertising procedure, all of the advertisement (or advertisement events) are broadcast through an advertising physical channel.
Advertising devices may receive scan requests from listening devices performing the listening operation to obtain additional user data from advertising devices. An advertising device transmits a response with respect to the scan request to the device which has transmitted the scan request through the same advertising physical channel through which the advertising device has received the scan request.
While the broadcast user data sent as part of advertising packets form dynamic data, the scan response data are static for the most part.
An advertising device may receive a connection request from an initiating device on the advertising (broadcast) physical channel. If the advertising device has used a connectable advertisement event and the initiating device has not been filtered by the filtering procedure, the advertising device stops advertisement and enters a connected mode. The advertising device may resume advertisement after entering the connected mode.
Scanning Procedure
A device performing scan operation, namely a scanning device performs a scanning procedure to listen to non-directional broadcast of user data from advertising devices which use an advertising physical channel.
To request additional user data, the scanning device transmits a scan request to an advertising device through the advertising physical channel. The advertising device transmits a scan response with respect to the scan request through the advertising physical channel by including additional user data that the scanning device has requested.
The scanning procedure may be used while the scanning device is being connected to another BLE device in a BLE piconet.
If the scanning device receives a broadcast advertising event and stays in an initiator mode where a connection request may be initiated, the scanning device may initiate a Bluetooth connection to an advertising device by sending a connection request to the advertising device through the advertising physical channel.
If the scanning device transmits a connection request to the advertising device, the scanning device stops all the scanning for additional broadcast and enters the connected mode.
Discovering Procedure
Devices capable of Bluetooth communication (in what follows, they are called ‘Bluetooth devices’) perform the advertising procedure and the scanning procedure to discover devices in the surroundings of the devices or to be discovered by other devices within a given area.
The discovering procedure is performed in an asymmetric manner. A Bluetooth device searching for another Bluetooth device in the surroundings is called a discovering device and performs listening to search for devices advertising an advertisement event that may be scanned. A Bluetooth device that may be found and used by another device is called a discoverable device, and the discoverable device actively broadcasts an advertisement event so that other devices may scan the discoverable device through an advertising (broadcast) physical channel.
Both of the discovering device and the discoverable device may be already connected to other Bluetooth devices in a piconet.
Connecting Procedure
The connecting procedure is asymmetric. In the connecting procedure, while a particular Bluetooth device is performing the advertising procedure, other Bluetooth devices are required to perform the scanning procedure.
In other words, the advertising procedure may be a primary task to be performed, and as a result, only one device will respond to the advertisement. After receiving a connectable advertisement event from an advertising device, the connecting procedure may be initiated by sending a connection request to the advertising device through the advertising (broadcast) physical channel.
Next, operation states defined in the BLE technology, namely advertising state, scanning state, initiating state, and connection state will be described briefly.
Advertising State
The link layer (LL) enters the advertising state by the command of the host (stack). When the link layer is in the advertising state, the link layer transmits advertising Packet Data Units (PDUs) from advertisement events.
Each advertisement event comprises at least one advertising PDU, and advertising PDUs are transmitted through advertising channel indices used. Each advertisement event may be closed earlier if advertising PDUs are transmitted through the respective advertising channel indices, the advertising PDUs are terminated, or the advertising device needs to secure space to perform other functions.
Scanning State
The link layer enters the scanning state by the command of the host (stack). In the scanning state, the link layer listens to advertising channel indices.
The scanning state supports two types: passive and active scanning. The host determines scanning type.
No separate time or advertising channel index is defined to perform scanning.
While in the scanning state, the link layer listens to the advertising channel index for the duration of scanWindow. A scanInterval is defined as an interval between start points of two consecutive scan windows.
When there is no scheduling collision, the link layer has to perform listening to complete all of the scanIntervals of scanWindows as commanded by the host. In each scanWindow, the link layer has to scan other advertising channel indices. The link layer uses all of the advertising channel indices available.
In the case of passive scanning, the link layer is unable to transmit any packet but only receives packets.
In the case of active scanning, the link layer performs listening to the advertising device to rely on the advertising PDU type by which additional information related to the advertising PDUs and advertising device may be requested.
Initiating State
The link layer enters the initiating state by the command of the host (stack).
While in the initiating state, the link layer performs listening to the advertising channel indices.
While in the initiating state, the link layer listens to the advertising channel index for the duration of scanWindow.
Connection State
The link layer enters the connection state when a device performing a connection request, namely the initiating device transmits the CONNECT_REQ PDU to an advertising device or the advertising device receives the CONNECT_REQ PDU from the initiating device.
Establishing a connection is taken into account after the link layer enters the connection state. However, there is no need to take into account establishing a connection at the time the link layer enters the connection state. The only difference between a newly created connection and an existing connection is a supervision timeout value for link layer connection.
When two devices are connected to each other, the two devices perform the respective roles different from each other.
The link layer performing the role of the master is called a master, while the link layer performing the role of the slave is called a slave. The master adjusts the timing of a connection event, where the connection event denotes the time at which the mast and the slave are synchronized with each other.
A master (central) is such a device that periodically scans a connectable advertising signal to establish a connection to other device (slave, peripheral) and requests an appropriate device to establish a connection.
Furthermore, once connected to a slave device, the master device sets up timing and supervises periodic data exchange.
In this case, the timing may be a hopping rule applied to two devices to exchange data each time through the same channel.
A slave (peripheral) is such a device that periodically transmits a connectable advertising signal to establish a connection with other device (master).
Therefore, if a master device which has received the connectable advertising signal sends a connection request, the slave device accepts the request and establishes a connection with the master device.
After the slave device establishes a connection with the master device, the slave device exchanges data periodically by hopping a channel according to the timing specified by the master device.
In what follows, the packet defined in the Bluetooth interface will be described briefly. BLE devices use the packets described below.
Packet Format
The link layer has only one packet format used for both of the advertising channel packet and data channel packet.
Each packet comprises four fields: a preamble, access address, PDU, and CRC.
When one packet is transmitted from the advertising physical channel, the PDU will function as an advertising channel PDU; when one packet is transmitted from the data physical channel, the PDU will function as a data channel PDU.
Advertising Channel PDU
The advertising channel PDU comprises a 16 bit header and a payload of various sizes.
The PDU type filed of the advertising channel included in the header supports PDU types as defined in Table 1 below.








TABLE 1





PDU Type
PACKet Name







0000
ADV-IND


0001
ADV_DIRECT_IND


0010
ADV_NONCONN_IND


0011
SCAN_REQ


0100
SCAN_RSP


0101
CONNECT_REQ


0110
ADV_SCAN_IND


0111-1111
Reserved









Advertising PDU
The following advertising channel PDU types are called advertising PDUs and are used for specific events.
ADV_IND: connectable non-directional advertisement event
ADV_DIREC_IND: connectable directional advertisement event
ADV_NONCONN_IND: non-connectable non-directional advertisement event
ADV_SCAN_IND: non-directional advertisement event that may be scanned
The PDUs are transmitted from the link layer in the advertising state and are received by the link layer in the scanning state or initiating state.
Scanning PDUs
The advertising channel PDU type below is called a scanning PDU and is used in such a state described below.
SCAN_REQ: transmitted by the link layer in the scanning state and received by the link layer in the advertising state.
SCAN_RSP: transmitted by the link layer in the advertising state and received by the link layer in the scanning state.
Initiating PDUs
The advertising channel PDU type below is called an initiating PDU.
CONNECT_REQ: transmitted by the link layer in the initiating state and received by the link layer in the advertising state.
Data Channel PDUs
The data channel PDU comprises a 16 bit header and a payload of various sizes; and may include a Message Integrity Check (MIC) field.
The procedures, states, and packet formats of the BLE technology described above may be applied to perform the methods according to the present invention.
FIG. 6 illustrates one example of a GATT Profile structure of the Bluetooth low energy specification.
Referring to FIG. 6, one may see the structure for exchanging profile data defined in the Bluetooth low energy specification.
More specifically, GATT (Generic Attribute Profile) defines a method for exchanging data by using a service between Bluetooth LE devices and characteristics thereof.
In general, a peripheral device (for example, a sensor device) performs the role of a GATT server and carries a definition for the service and characteristics.
To read or write data, a GATT client sends a data request to the GATT server; the GATT client initiates all of the transactions and receives a response from the GATT server.
The GATT-based operational structure defined in the Bluetooth LE is based on profiles, services, and characteristics, which form a hierarchical structure as shown in FIG. 6.
The profile may consist of one or more services, and the service may consist of one or more characteristics or other services.
The service groups data into logical units and includes one or more characteristics or other services.
Each service has an identifier of 16 bits or 128 bits, called a Universal Unique Identifier (UUID).
The characteristic forms the lowest unit in the GATT-based operational structure. The characteristic contain only one piece of data and similarly to the service, has a UUID of 16 bits or 128 bits.
The characteristic includes descriptors for various types of information and requires one attribute to describe each piece of individual information. The characteristic may use a couple of consecutive attributes.
The attribute comprises four constituting elements as follows.

    
    
        handle: address of the attribute
        Type: type of the attribute
        Value: value of the attribute
        Permission: access right to the attribute
    
    


In what follows, a connection procedure in the Bluetooth LE will be described, and as one example thereof, a method for providing an object transfer service according to the Bluetooth LE will be described.
FIG. 7 illustrates one example of a method for connection procedure of the Bluetooth low energy specification.
A server transmits an advertisement message through three advertisement channels at step S7010.
The server may be called an advertiser before connection is established and may be called a master after connection is established. Examples of the server include sensors (for example, temperature sensors).
Furthermore, the client may be called a scanner before connection is established and may be called a slave after connection is established. An example of the client is a smart phone.
As described above, Bluetooth communication employs a total of 40 channels through the frequency of 2.4 GHz. Of the 40 channels, 3 channels are advertisement channels, used for exchanging packets to establish a connection as well as various advertising packets.
The remaining 37 channels are data channels, used for exchange of data packets after connection is established.
After receiving the advertisement message, the client may transmit a scan request to the server to obtain additional data (for example, a server device name) from the server.
Then the server transmits a scan response along with the remaining data to the client in response to the scan request.
In this case, the scan request and the scan response are one type of an advertisement packet which may include only user data of 31 bytes or less.
Therefore, if data size is larger than 31 bytes but with large overhead from established connection to send data, the data are divided into two blocks and transmitted twice by using the scan request/scan response.
Next, the client transmits to the server a connection request for establishing a Bluetooth connection with the server at step S7020.
Through the aforementioned step, a link layer (LL) connection is established between the server and the client.
Afterwards, the server and the client perform a security establishment procedure.
The security establishment procedure may be interpreted as secure simple pairing or may be performed with the secure simple pairing being included therein.
In other words, the security establishment procedure may be performed through phase 1 to phase 3.
More specifically, a pairing procedure (phase 1) is carried out between a server and a client at step S7030.
Through the pairing procedure, the client transmits a pairing request to the server, and the server transmits a pairing response to the client.
Next, in the phase 2, legacy pairing or secure connection is carried out between the server and the client at step S7040.
Next, in the SSP phase 3, a key distribution procedure is carried out between the server and the client at step S7050.
Through the phases, a secure connection is established between the server and the client, and encrypted data may be transmitted and received.
FIG. 8 is a flow diagram illustrating one example of a method for providing an object transfer service according to the Bluetooth low energy technology.
An object delivery service or object transfer service refers to a service supported by the BLE to transmit/receive an object such as bulk data or data in the Bluetooth communication.
To establish a Bluetooth connection between a server device and a client device, an advertisement process and a scanning process corresponding to steps S8010 to S8030 are carried out.
First, the server device transmits an advertisement message to the client device to inform of the information related to the server device including an object transfer service at step S8010.
The advertisement message may be expressed as an advertisement packet data unit (PDU), advertisement packet, advertisement, advertisement frame, or advertisement physical channel PDU.
The advertisement message may include service information (including a service name) provided by the server device, name of the server device, and manufacturer data.
Furthermore, the advertisement message may be transmitted to the client device according to the broadcast or unicast scheme.
Afterwards, the client device transmits a scan request message to the server device to figure out detailed information related to the server device at step S8020.
The scan request message may be expressed as a scanning PDU, scan request PDU, scan request, scan request frame, or scan request packet.
Afterwards, the server device transmits a scan response message to the client device in response to the scan request message received from the client device at step S8030.
The scan response message includes server device-related information requested by the client device. In this case, the server device-related information may be an object or data that may be transmitted from the server device in association with provision of the object transfer service.
When the advertisement process and the scanning process are terminated, the server device and the client device perform an initiating connection process and data exchange process corresponding to steps S8040 to S8070.
More specifically, the client device transmits a connection request message to the server device to establish a Bluetooth communication connection with the server device at step S8040.
The connection request message may be expressed as a connection request PDU, initiation PDU, connection request frame, or connection request.
Through step S8040, a Bluetooth connection is established between the server device and the client device, after which the server device and the client device exchange data with each other. During the data exchange process, data may be transmitted and received through the data channel PDU.
The client device transmits an object data request to the server device through the data channel PDU at step S8050. The data channel PDU may be expressed as a data request message or data request frame.
Afterwards, the server device transmits object data requested by the client device to the client device through the data channel PDU at step S8060.
In this case, the data channel PDU is used for providing data to a corresponding device or requesting data information according to the scheme defined in the attribute protocol.
Next, when data change occurs in the server device, the server device transmits data changed indication information to the client device through the data channel PDU to notify of change of data or object at step S8070.
Next, the client device requests changed object information from the server device to search for changed data or changed object at step S8080.
Next, the server device transmits changed object information to the client device in response to the request for changed object information at step S8090.
Next, the client device searches for a changed object through a comparative analysis of the received changed object information and the object information that the client device currently has.
However, the client device performs steps S8080 and S8090 repeatedly until a changed object or data are found.
Next, if it is not required to maintain a connected state between the host device and the client device any more, the host device or the client device may disconnect the corresponding connected state.
FIG. 9 is a flow diagram illustrating one example of a method for connection procedure according to the Bluetooth BR/EDR technology.
As shown in FIG. 9, the connection procedure defined in the Bluetooth BR/EDR consists of the following steps.
The connection procedure may be referred to as a pairing procedure.
The Bluetooth pairing procedure is described only by a standby state and a connected state.
The device which has completed Bluetooth pairing enters the connected state, and the device which has ended a connection operates in the standby state.
Furthermore, Bluetooth devices, once connected to a specific device through the connection procedure, may perform a re-connection procedure to establish re-connection afterwards.
The re-connection procedure may be performed through the same procedure as the connection procedure.
More specifically, if power is applied, a master device enters the standby state by default.
Afterwards, the master device performs an inquiry procedure S9010 to discover neighboring devices for Bluetooth connection.
In other words, the master device may enter an inquiry state to discover connectable devices (slaves) in the surroundings thereof, and a slave device may enter an inquiry scan state to receive an ID packet transmitted from a neighboring device (master) in the inquiry state.
The master device in the inquiry state transmits an inquiry message by using the ID packet once or at regular intervals to discover a connectable device in the neighborhood.
The ID packet may be a general inquiry access code (GIAC) or a dedicated inquiry access code (DIAC).
After receiving GIAC or DIAC, an ID packet that the master device has transmitted, the slave device transmits a frequency hopping sequence (FHS) to perform Bluetooth pairing with the master device.
Furthermore, depending on the needs, if there are data to transmit, the slave device may transmit an extended inquiry response (hereinafter, it is called EIR) to the master device.
If a connectable Bluetooth device is found in the neighborhood through the inquiry procedure, a paging procedure S9020 is carried out.
The paging procedure S9020 refers to the procedure of performing actual connection by synchronizing a hopping sequence by using an address, clock information, and so on if a connectable Bluetooth device is found in the neighborhood through the inquiry procedure.
More specifically, the paging procedure may be divided into the following steps: (1) a step wherein the master device transmits a page to the slave device, (2) a step wherein the slave device transmits a slave page response to the master device, and (3) a step wherein the master device transmits a master page response to the slave device.
If the inquiry procedure and the paging procedure are completed, the master device and the slave device perform a security establishment procedure S9040 and then L2CAP connection and service discovery procedure S9050.
Before performing the security establishment step, the master device and the slave device exchange I/O (Input/Output) capabilities in the procedure S9030.
The procedure S9030 may be performed through an I/O capability request and I/O capability response.
Furthermore, the security establishment step may be interpreted as secure simple pairing or may be performed with the secure simple pairing being included therein.
The L2CAP (Logical Link Control and Adaptation Protocol) is a packet-based protocol, exhibiting characteristics similar to the UDP protocol. The L2CAP supports a packet size of 672 bytes and is capable of supporting up to 65,535 bytes once communication is initiated.
After performing the L2CAP connection and service discovery step, the master device may transmit data received from the user to the slave device.
If no further data exchange is performed for a predetermined time period between the master and the slave device which have performed the connection procedure as described above, the master and the slave devices enters a sleep state to prevent energy consumption, and the connected state is terminated.
Afterwards, a re-connection procedure is performed so that the master device and the slave device may transmit/receive data again.
The re-connection procedure may be performed through the same procedure as the one described earlier.
Overview of Isochronous Channel
FIG. 10 illustrates characteristics of an audio signal.
As shown in FIG. 10, in the case of an audio signal, audio streaming data or audio data are generated periodically at idle event intervals.
Audio data are generated periodically (or at specific time intervals) according to the characteristics thereof.
In this case, the specific time interval at which audio data are generated periodically may be expressed as an idle event interval.
Audio data are transmitted at individual idle event intervals.
Furthermore, individual audio data may be transmitted throughout the whole or part of the idle event interval.
As shown in FIG. 10, if audio streaming data generated periodically or regularly are transmitted according to the BLE mechanism, an advertisement and scanning procedure, communication procedure and disconnection procedure have to be performed each time the generated audio data are transmitted or received.
However, as shown in FIG. 10, since audio data are generated at regular intervals for most cases, latency guarantee with respect to the transmission of the audio data is essential irrespective of the amount of audio data.
However, if the advertisement and scanning procedure, communication procedure, disconnection procedure, and so on are performed each time newly generated audio data are transmitted, a latency problem arises during the transmission of audio data.
Since audio data transmission through an HA or headset deals with a relatively small amount of generated data, high energy efficiency may be achieved if the BLE technology rather than the Bluetooth BE/EDR technology is employed. As described earlier, however, since the data channel process of the BLE technology has to perform advertising, connection, and the like for each data transmission, large overhead is generated and what is more, latency guarantee absolutely required for the transmission of audio data cannot be achieved.
Furthermore, the data channel process of the BLE technology is intended to transmit intermittently generated data only when necessary, thereby improving energy efficiency by leading a BLE device in a different time region to deep sleep. Therefore, it may be difficult to apply the data channel process of the BLE technology to the transmission of audio data generated at regular intervals.
Due to these reasons, it is necessary to define a new mechanism by which to transmit and receive periodically generated data such as audio streams by using the BLE technology.
In what follows, described in detail will be method for transmitting and receiving data generated at regular intervals (for example, audio data) by using the BLE technology.
In other words, provided will be a method for transmitting data generated at regular intervals by newly defining a channel for transmitting and receiving (or transceiving) data generated at regular intervals in the BLE technology and additionally defining a mechanism related to handling regular data as long as energy performance of the BLE is not affected.
The terms such as audio streaming data, audio data, audio streaming, and audio stream used in this document may be interpreted to provide the same meaning.
In what follows, for the convenience of understanding, the term of audio data will be used to represent the different terms.
Further, as used herein, a term “voice data” may refer to a data representing voice or sound from the user.
Isochronous channel and definition of a mechanism related to the isochronous channel
A new channel, namely isochronous channel is defined to transmit data generated at regular intervals by using the BLE technology.
An isochronous channel is used for transmitting isochronous data to the devices using isochronous streams.
Isochronous data refer to the data transmitted at particular time intervals, namely periodically or regularly.
In other words, an isochronous channel may represent a channel which transmits and receives data generated periodically, such as audio data or voice data in the BLE technology.
The isochronous channel may be used to transmit and receive audio data to and from a single member, three of one or more coordinated members, or a plurality of members.
Furthermore, the isochronous channel corresponds to an isochronous stream such as an audio stream or a flushing channel that may be used for transmitting and receiving important data in other time regions.
The methods for using an isochronous channel described later are used independently of the advertising channel and data channel defined in the existing (v4.2 or earlier) BLE technology.
Furthermore, this document additionally defines a new frequency channel and frequency hopping interval for an isochronous channel.
The isochronous channel enables a conductor to transmit an isochronous stream such as flushable data (for example, time-bound audio data) to one or more members by using the BLE.
In this case, the conductor may be expressed as a master, and the member may be expressed as a slave.
Furthermore, the isochronous channel may or may not be configured by security setting.
Furthermore, the isochronous channel may be set up for various topologies to allow the transmission of an isochronous stream between a single conductor and a member, between a single conductor and a coordinated pair of members generating a stereo audio stream, such as hearing aids or stereo headsets, and between a single conductor and a plurality of members synchronized with the same isochronous stream(s).
In this case, the member may transmit data to the conductor through an isochronous channel.
Furthermore, the isochronous channel may support transmission and reception of shared audio, public audio, and broadcast audio as well as transmission and reception of personal audio.
A setup procedure of an isochronous channel requires that hierarchy of profile level security and reliability requirements satisfy the respective use cases.
Furthermore, an isochronous channel may be used for various applications, by which a plurality of audio sources and sinks may be set up, and complicated topologies may be set up to allow users to regularly change or share different audio streams.
FIG. 11 illustrates one example of a hone ecosystem for applications to which an isochronous channel may be applied.
In other words, FIG. 11 illustrates one example of space wherein a plurality of audio conductors and members to which methods according to the present invention may be applied may move around inside/outside individual domains.
As shown in FIG. 11, the presence of various conductors and members indicate that an isochronous channel is required as a method for notifying of the presence of members so that the members may obtain information required for configuring the isochronous channel.
An isochronous channel may also be used for transmission and reception of non-audio data.
A member may use isochronous channels to determine the presence of notification messages which may include acquisition information from conductors within the range of BLE communication.
Furthermore, the member may use isochronous channels to receive a request with respect to control information or service data from one or more devices acting like a remote controller.
FIG. 12 illustrates an example of using an isochronous channel.
In other words, FIG. 12 illustrates an example where a pair of HAs are connected to a plurality of conductors and remote control devices through an isochronous channel.
As shown in FIG. 12, the right HA (HA-R) acts as a conductor broadcasting data through an isochronous channel.
Furthermore, the HA-R may transmit a control request to all of the devices once connected to the HA-R, such as the remote controller of the HA-R, phone, music player, and coordinated left hearing aid (HA-L).
The left HA and/or right HA may be used as conductors in the scenario as shown in FIG. 12.
FIG. 13 illustrates one example of an operation state transition according to the BLE technology.
As shown in the figure, an isochronous channel (ISO channel) may operate in conjunction with the advertisement channel and data channel of the BLE technology.
Referring to FIG. 13, a BLE device may change the operation state to a (1) first connected state or a (2) second connected state for transmitting and receiving data while in the advertisement state.
In this case, the first connected state refers to the operation state in which the BLE device transmits and received data through a data channel, and the second connected state refers to the operation state in which the BLE device transmits and receives data through an isochronous channel.
The BLE device may change its operation state to the first or second connected state depending on the type of data transmitted and received to and from devices or data transmission type.
More specifically, the BLE device generates a data channel from the advertisement channel to operate in the first connected state, while it generates an isochronous channel from the advertisement channel to operate in the second connected state.
Furthermore, if the BLE device changes its operation state to the advertisement state from the first connected state, it releases a generated data channel; if the BLE device changes its operation state to the advertisement state from the second connected state, it releases a generated isochronous channel.
For example, the BLE device changes its operation state to the second connected state from the advertisement state to transmit and receive audio data. In other words, the BLE device may transmit and receive audio data through the isochronous channel while it is being connected to the second connected state.
Furthermore, the BLE device changes its operation state to the first connected state from the advertisement to transmit and receive data generated in a random fashion or intermittently.
In other words, the BLE device may transmit and receive the corresponding data through the data channel while it is in the first connected state.
As shown in FIG. 13, the BLE device makes a transition from the advertisement state to the first connected state by generating a data channel upon the needs and transmits and receives data through the generated data channel.
When data transmission and reception through the data channel is completed, the BLE device closes the generated data channel and returns to the advertisement state, namely advertisement channel.
In the same manner, the BLE device makes a transition from the advertisement state to the second connected state by generating an isochronous channel upon the needs and transmits and receives data through the generated isochronous channel.
When data transmission and reception through the data channel is completed, the BLE device closes the generated isochronous channel and returns to the advertisement state, namely advertisement channel.
As described above, the isochronous channel is generated for transmitting and receiving data generated at regular intervals, such as audio data while the data channel is generated for transmitting and receiving data irregularly or intermittently.
FIG. 14 illustrates various examples of isochronous stream transfer through an isochronous channel.
FIGS. 14a to 14d show various topologies used for transmitting an isochronous stream, and FIGS. 14a to 14d show conductors establishing isochronous channels with the following member(s).

    
    
        Two members which may receive the same or different isochronous streams (e.g. a mono, joint stereo or separate left and right audio streams),
        Three groups of members, with each group synchronized to a separate isochronous stream,
        A single member receiving a single isochronous stream from a single isochronous channel.
    
    


A conductor establishes a plurality of isochronous channels sharing characteristics including an anchor point of the isochronous channel, by which members of the conductor may make the anchor points performed at the same time. These isochronous streams are called an ‘ensemble’.
A single isochronous channel which transmits a single isochronous stream to a single member cannot be an example of the ensemble, where such point-to-point topology may be usually described as being operated according to the unicast scheme when it is used for the transmission of audio data.
Furthermore, an isochronous channel may be used for broadcasting control information to one or more members, respond to individual broadcast transmission, or selectively request more information.
Through the operation described above, the conductor may operate interactively with respect to a plurality of remote control devices. As shown in FIG. 12, a BLE device may act as a member of the isochronous channel or as a conductor of a different BLE device.
In other words, BLE devices may act as both of the conductor and the member to establish a plurality of isochronous channels.
FIGS. 15 and 16 illustrate another example of a data transfer method using an isochronous channel.
More specifically, FIG. 15 illustrates one example of a unicast transmission method, and FIG. 16 illustrates one example of a broadcast transmission method.
First of all, a unicast transmission method through an isochronous channel will be described with reference to FIG. 15.
In the case of unicast transmission, devices may operate an isochronous channel selectively for one or more unicast transmissions.
As shown in FIG. 15, a master may unicast the same or different data to a predetermined number of connected or selected slaves.
Depending on situations, the master may generate a dual isochronous channel to perform bilateral communication with slaves.
In other words, the master may construct a dual isochronous channel by generating a single isochronous channel with one slave and another isochronous channel with the slave.
In this case, the generation of a dual isochronous channel may indicate that a downlink isochronous channel and an uplink isochronous channel are generated respectively to realize bilateral communication between one master and one slave, or that isochronous channels are generated among one master and two or more slaves respectively.
Next, broadcast transmission through an isochronous channel will be described with reference to FIG. 16.
As shown in FIG. 16, broadcast transmission through an isochronous channel is performed according to multicast transmission differently from a broadcast transmission method used for most cases (namely a method for transmitting data to all of the devices).
In other words, broadcast transmission through an isochronous channel defined in the BLE specification refers to broadcasting data only to a slave dependent to a generated isochronous channel.
In other words, the master broadcasts data only to approved slaves through an isochronous channel.
Therefore, broadcast transmission through an isochronous channel defined in the BLE specification should be understood as multicast transmission towards a specific group.
FIG. 17 illustrates examples of isochronous channel packet format which may be applied to the methods of the present invention.
The format of a packet transmitted through an isochronous channel follows the forms shown in FIGS. 17a and 17b, which is not limited to those in the figure and may assume a form of different format.
As shown in FIG. 17a, all of the isochronous channels may have a packet format defined in the Bluetooth specification v4.2 which supports an isochronous data PDU of 2 to 257 octets.
FIG. 17a illustrates one example of an extended protocol data unit packet format, and the extended PDU packet format 1710 comprises a preamble 1711, access address 1712, protocol data unit (PDU) 1711, and cyclic redundancy check (CRC) 1714.
The preamble may comprise 1 octet, access address 4 octets, PDU 2 to 257 octets, and CRC 3 octets.
FIG. 17b illustrates one example of an isochronous packet, and the isochronous packet (or isochronous channel PDU 1720) may include a header 1721 of 16 bits and payload 1722 of 0 to 255 octets.
Furthermore, the isochronous packet may include a length field of 8 bit size, which is used for checking length of data located next to the header.
The data length of the isochronous packet varies according to the space between isochronous channels and may be limited by a channel parameter imposed by a conductor. Furthermore, the isochronous packet may further include a message integrity check (MIC) field.
FIG. 18 illustrates one example of a basic format of isochronous channel transfer to which methods according to the present invention may be applied.
Isochronous channel timing will also be described with reference to FIG. 18.
A conductor determines timing of all of the packets transmitted through an isochronous channel.
A member, though not capable of directly configuring isochronous channel timing, may provide preferred isochronous channel timing to the conductor.
The conductor establishes (or sets up) an anchor point 1810 which represents the time at which new information is transmitted. As shown in FIG. 18, anchor points are separated from each other by an isochronous connection interval 1820 in the form of a multiple of 1.25 ms (1.25 ms*n, where n is a natural number), and the isochronous connection interval ranges from 5 ms to 318.75 ms.
The isochronous connection interval is defined when the conductor establishes an isochronous connection channel and is fixed while the isochronous connection channel is maintained.
In the isochronous connection interval, another transmission may follow the transmission of the conductor at the anchor point. The follow-up transmission may correspond to retransmission by the conductor and ACK response by the member.
Next, various procedures performed between a source device and an HA (device) and functions related to the procedures will be described.
Since communication between a source device-HA device is the same as or similar to communication between an audio gateway (AW) and a hands-free device, procedures and functions related to communication between a source device and an HA device will be described with reference to a hands free profile (HFP).
In what follows, as procedures and functions related to communication between a source device and an HA device, described will be: (1) a procedure related to service level connection (connection establishment and connection release), (2) a procedure related to audio connection (connection establishment and connection release), and (3) a remote audio volume control function.
Service Level Connection
First, a service level connection procedure between an HA device and a source device will be described.
According to a user action (user input) or an external event, a source device and an HA device initiate a service level connection establishment procedure.
In this case, the service level connection establishment procedure may be initiated by the source device or the HA device.
The source device may be a smart phone, audio gateway (AG), or TV while the HA (device) may be a Bluetooth headset, hands-free (HF) device, or a hearing aid.
For service level connection establishment, RFCOMM connection is required.
In this case, the RFCOMM connection indicates that an RFCOMM data link channel is generated (or established or connected) between an HA and a source device.
The RFCOMM connection may indicate the presence of a virtual serial port between two devices.
Both of the HA and the source device may initiate RFCOMM connection establishment.
If there is no RFCOMM connection (or session) between the source device and the HA, an initiating device first initiates RFCOMM connection for a corresponding device.
The service level connection establishment procedure may be largely divided into (1) a service level connection initialization procedure and (2) a link loss recovery procedure.
The service level connection initialization procedure includes i) supported features exchange and ii) codec negotiation between two devices.
For the case of the link loss recovery procedure, link loss recovery performed only in an HA will be described.
In other words, if a Bluetooth link (or Bluetooth connection) to a source device is lost, the HA may re-establish a Bluetooth link to the source device any time.
And if a service level connection between two devices is released by an explicit termination command of either of the two devices, the two devices wait for an explicit user action, namely a user input commanding a re-establishment procedure for service level connection before re-establishment of the corresponding service level connection is performed by a specific attempt.
Audio Connection Setup
Next, an audio connection setup procedure will be described.
According to a user action or an external event, an HA or a source device may initiate establishment of audio connection. However, the corresponding audio connection establishment procedure may be performed depending on the needs.
The HA and the source device may initiate audio connection for both of a case with a call process and a case without a call process.
The audio connection setup procedure always indicates establishment of synchronous connection and is related to always-existing service level connection.
Therefore, as a precondition for performing the audio connection setup procedure, the presence of an on-going service level connection between two devices is required.
If the on-going service level connection is not present, an initiating device initiating the audio connection setup procedure first establishes service level connection with a corresponding device (or accepting device) by using an appropriate procedure automatically.
Both of the initiating device and the accepting device notify their corresponding device of the presence of new audio connection.
If the source device configures audio connection and both of the two devices are found to support features related to the audio connection through a service level negotiation procedure, a codec connection establishment procedure is initiated.
Furthermore, if both of the two devices support codec negotiation features and the HA initiates the corresponding audio connection establishment procedure, the HA triggers the source device to establish codec connection.
This is so because the source device is informed of selected codec to be used and network configuration.
Codec Connection Setup
According to a user action or an external event, an HA or a source device may initiate establishment of codec connection setup with a corresponding device any time, if necessary.
Although the initiation of audio connection may be triggered by a source device or an HA, synchronized connection with codec connection is established by being always initiated by the source device.
Furthermore, both of the two devices support code negotiation features, and when service level connection is established between the two devices, the HA may transmit a specific signal (AT+BAC) to the source device to notify of dynamic change in a set of available codecs.
Through the aforementioned operation, update of available codecs are performed.
Answer an Incoming Call
When an incoming call is received from the outside, a source device transmits a sequence of unrequested RING alerts to an HA.
A RING alert is transmitted repeatedly until call acceptance is pending or an incoming call is suspended for some reason.
The HA generates local alerting in response to the RING.
Furthermore, the source device may drop an incoming call if needed.
In this case, the source device stops transmitting a RING alert to the HA.
Selectively, the source device may generate an in-band ring tone.
If an in-band ring tone is used, the source device transmits a ring tone to the HA through an established audio connection.
Three-Way Call Handling
Next, a three-way call handling method will be described.
An HA (device) is not capable of always recognizing whether ‘call hold and/or multiparty’ services are available in a network.
If a source devices determines that a behavior requested by the HA device cannot be performed since a network supporting the corresponding feature is incapable of handling the behavior or the behavior cannot be performed since no subscriber is found, the source device returns +CME error signal to the HA device.
The network uses two +CME error codes (30-No network service, 31-Network Timeout) to indicate sources of related failures to the HA device.
As described below, two preconditions are applied to perform the three-way calling procedure.
First, an on-going service level connection between the source device and the HA device needs to be present.
If a corresponding service level connection is not present, an initiating device of the corresponding connection automatically establishes the corresponding service level connection by using a relevant procedure.
Second, an on-going call needs to be present in the source device.
Besides the two preconditions, a call waiting notification condition is required for three-way calling.
Call waiting notification is already enabled from the source device to the HA device.
A specific procedure of three-way calling is as follows.
First, the source device and the HA device establish a service level connection.
In this case, an audio connection may be established selectively between the source device and the HA device.
It is assumed that there is an on-going call between the source device and the HA device.
Furthermore, it is further assumed that the HA device is enabled with call waiting notification.
Recognizing that a call from the outside is waiting, the source device notifies the HA device of the incoming call.
Through the notification, the HA indicates so that the user may be aware of the presence of a new waiting call.
According to the user's behavior, the HA device accepts a waiting call and notifies the source device of the acceptance.
Afterwards, the source device accepts the waiting call.
In this case, if a three-way handling function is allowed, the source device transmits an OK signal to the HA device, and if the corresponding function is not allowed or supported, the source device transmits an ERROR signal to the HA device.
If the source device transmits (or returns) an ERROR signal, subsequent procedures are not performed any more.
Furthermore, if there is no audio connection with the HA device, the source device initiates establishment of audio connection with the HA device.
Through the initiation, audio paths to a new call may be made available for the HA device.
And the audio paths indicate that an audio connection has been established between the HA device and the source device.
Through the audio paths established, a new call is routed to the HA device.
Next, a procedure for the HA device to place a call on a third party will be described.
First, the HA device and the source device establish a service level connection.
Audio connection between the two devices may be established selectively.
Afterwards, the HA device transmits to the source device a signal for transferring a call to a third party according to the user's behavior.
Next, the source device holds a current call and performs a set-up procedure of an outgoing call to the third party.
When the set-up procedure of the outgoing call to the third party is performed successfully, an audio connection with respect to a new call is established between the HA device and the source device.
If an audio connection to the new call is already present, the corresponding audio connection establishment procedure may be omitted.
In other words, signals are routed to the HA device through audio paths to the new call.
In this case, the new call may indicate a call with respect to the third party.
Remote Audio Volume Control
Next, a remote audio volume control function carried out between an HA device and a source device will be described.
The remote audio volume control function refers to the function for the user to change speaker volume of the HA device or microphone gain through the source device.
In other words, when the source device transmits a signal related to setting up microphone gain or speaker volume to the HA device, the HA device changes microphone gain or speaker volume according to a received signal.
Before the corresponding function is performed, the source device and the HA device may perform a volume level synchronization procedure.
In other words, the HA device informs the source device of the current gain setting corresponding to the HA device's speaker volume and microphone gain.
The aforementioned operation may be performed through the service level connection establishment procedure between the source device and the HA device.
In what follows, a status machine related to an HA according to the present invention will be newly defined and described will be a method for call control, audio stream control, and transmitting and receiving an audio stream.
A state machine described in this specification defines a possible state of devices and indicates a function in which a device may operate or which may be performed by a device for each state.
That is, the state machine is a conceptual diagram showing the state changed depending on the transmission/reception of a specific signal or a specific operation, and may also be represented as or called a state diagram.
An HA, an HA device, or an HA used in this specification may be construed as having the same meaning in order to perform a method proposed in this specification.
Furthermore, the HA according to the present invention may be expressed as a Bluetooth headset or an earbud.
In this case, the Bluetooth headset may be realized by the type combining left and right devices and the type separating left and right devices.
In other words, a Bluetooth headset may be a Bluetooth device in the form of combining left and right devices into a single device or a Bluetooth device in the form of separating left and right devices.
Furthermore, the earbud may be a Bluetooth device in the form of separating left and right devices.
Hereinafter, the aforementioned HA, Bluetooth headset, and earbud are collectively referred to as an “HA”, for convenience of description, and the meaning thereof may be construed as being the same as that described above. The meaning is not restricted by a corresponding term.
A user device (e.g., a phone) acquires HA UI control and interpret user action to appropriate command/response based on context in the user device.
The HA may send a request signal to the user device in order to initiate a specific operation or to change an application to be used.
If control is obtained and an application is controlled through the user device, however, there is a problem in that a user may change a provided program (or an application) through only the user device.
Furthermore, there are problems in that the user device cannot start a phone call service or a listening audio service before obtaining control if an HA does not include a separate UI and cannot control an operation, such as volume adjustment.
Accordingly, in order to solve such a problem, this specification proposes methods for providing a service by controlling a user device if an HA does not have a separate UI or is a dummy device not having a state machine.
FIG. 19 illustrates one example of a method for transmitting and receiving a signal between a user device and an HA to which a method of the present invention may be applied.
Referring to FIG. 19, the user device (for example, Phone) may include a state machine, and may be configured to perform a specific operation at each state of the state machine.
Furthermore, the user device may make state transition from one state to another based on transmission/reception of a specific signal.
Furthermore, the HA may transmit a command signal to the user device according to a user action.
Next, state machine handling location will be described.
The state machine may be processed by the user device side of the HA profile.
Or the state machine may not be processed in any side (user device/HA) of the HA profile.
In this case, the state machine may be processed by a third device.
However, (state) transition should be monitored by the HA profile through event notification.
In this case, the (state) transition may be interpreted as a state event or state change event.
However, it is more preferable that the state machine is located in the user device side. It is so because complexity due to monitoring an event may be reduced.
Next, application mode change will be described.
Application mode change may be performed by the HA or user device.
If the application mode change is performed in the HA-side, the HA user may invoke a command for the HA to perform application mode change.
FIG. 20 illustrates one example of application mode change according to the present invention.
Referring to FIG. 20, if HA is powered on, the HA enters a service ready state 2010.
While in the service ready state, the HA may perform a phone call with a user device.
The HA may change an application mode from a phone call state 2020 or a listening audio state 2030 by invoking a command.
For example, the state of the HA may switch from the phone call state 2020 to the audio listening state 2030 or switch from the audio listening state to the service preparation state.
Furthermore, the state of the HA switches from the service preparation state to the initial state when power of the HA is off
The HA may listen to or receive an alert sound such as a smoke alarm any time.
In this case, the alert sound or alert signal may have a higher priority than other application or other services.
Table 2 below shows an example of priorities between applications.










TABLE 2







APPLICATION (OR SERVICE)
PRIORITY









Alert
1 (high)



Phone call
2



Listening audio
3 (low)










While a service having low priority is provided through an HA, if data for a service having high priority is transmitted, the operation of a current application may pause, and the data for a service having high priority may be received.
For example, while a phone call service or a listening audio service is provided, if an urgent message for an alert service is transmitted, an HA may temporarily stop providing the phone call service or the listening audio service, and may receive the urgent message.
FIG. 21 illustrates one example of a state machine related to call control according to the present invention.
Referring to FIG. 21, the state machine related to call control may be defined by four states.
In other words, the four states may be idle 2110, ringing 2120, active 2130, and hold 2140.
First, the idle state refers to the state in which Bluetooth communication is ready and a Bluetooth command may be transmitted/received, but Bluetooth operations are not started yet.
The active state corresponds to a state in which a BLE audio stream transfer channel (for example, isochronous channel) is opened by a specific request, and an audio stream may be transmitted and received.
In this case, the state in which an audio stream transfer channel (for example, isochronous channel) is open may indicate a state in which an audio stream transfer channel is newly connected/established.
The active state indicates a state in which a device is performing a phone call, playing music, or playing a doorbell/public announcement by the request of a phone/music/doorbell/public announcement.
Furthermore, the activating state described later corresponds to an intermediate state in which a BLE audio stream transfer channel (isochronous channel) is opened to move from the idle state to the active state and may correspond to a state before a correspondent receives a phone call with respect to an outgoing call or a state in which a bell/vibration is rung/activated with respect to an incoming call.
Application examples that may be applied to the state machine defined in this document may include phone, music play, doorbell, smoke alarm, and navigation alert during driving.
Table 3 below illustrates cases considered with respect to the state transition of FIG. 21.








TABLE 3





TRANSITION
CASES CONSIDERED IN TRANSITION







New call
receiving incoming call



initiating outgoing call


Call failed
remote busy after try outgoing call



Cancel outgoing call



Reject incoming call


Connect
Accept incoming call



Outgoing call connected


Disconnect
local disconnect



Remote disconnect



Disconnect from call hold


hold
receiving emergency alarm during the phone call



call hold for 3-way call (outgoing case)



call hold for receiving new call (incoming case)


Resume
Resume may be done from hold state


Volume adjust
Volume adjust may be done anytime









Further, all of features defined in the HFP (Hands-Free Profile) may be applied to features of the method as disclosed in the present disclosure.
The ringing state 2220 may be used to indicate a state in which a phone call connection is cancelled, or rejected, or a phone call reception is not possible.
The hold state 2240 may be used to support a three way calling operation or a waiting state during the call connection.
FIG. 22 illustrates one example of a simple state machine related to call control according to the present invention.
In other words, FIG. 22 is a simplified version of the state machine defined in FIG. 21, and the state machine of FIG. 22 may be defined by three states: idle state 2210, ringing state 2220, and active state 2230.
Individual states are related to initiating an outgoing call, canceling an outgoing call, rejecting an incoming call, accepting an incoming call, and releasing connection of a local call.
Table 4 below illustrates cases considered with respect to state transition of FIG. 22.










TABLE 4







Transition
Cases considered in transition









New call
Receiving incoming call




Initiating outgoing call



Call failed
Remote busy after try outgoing call




Cancel outgoing call




Reject incoming call



Connect
Accept incoming call




Outgoing call connected



Disconnect
Local disconnect




Remote disconnect




Disconnect from call hold










Table 5 below illustrates cases of HA user action corresponding to the cases considered with respect to state transition.









TABLE 5





Transition
Cases considered in transition
action example







New call
receiving incoming call
No action needed;



initiating outgoing call
sound alert to user




short button press




for calling to last




call or calling from




smart phone


Call failed
remote busy after try
No action needed;



outgoing call
Sound alert to user



Cancel outgoing call
short button press



Reject incoming call
before call connected




Long button press


Connect
Accept incoming call
short button press



Outgoing call connected
No action needed after




trying call


Disconnect
local disconnect
Short button press



Remote disconnect
No action needed



Disconnect from call hold
Long button press


Hold
receiving emergency
No action needed



alarm during the phone call
No action needed in HA;



call hold for 3-way call
handled in smart phone



(outgoing case)
Short button press



call hold for receiving
for receiving



new call (incoming case)
incoming call; call




hold feature set by




configuration in advance


Resume
Resume may be done from
Short button press



hold state


Volume
Volume adjust may be
Rocker switch


adjust
done anytime









It may be seen from the table that three types of user inputs are required to perform state transition of FIG. 22.
As described above, the three types of user inputs may be short button press, long button press, and rocker switch, and the three types of user inputs may be optimized by manufacturers.
Next, a state machine employed for transmitting and receiving an audio stream between a user device and an HA will be described.
FIG. 23 illustrates one example of a state machine related to a control function if an audio stream is transmitted and received according to the present invention.
FIG. 23(a) shows one example of a state machine including three states: idle, play, and pause, while FIG. 23b illustrates one example of a simplified state machine including two states: idle and play.
FIGS. 23(a) and 23(b) assume that an audio stream is transmitted or received or an HA listens to an audio signal.
Referring to FIG. 23(a), the HA makes transition from the idle state to the play state according to a play control signal related to initiation of transmission and reception of an audio stream and makes transition to the idle state from the play state according to a stop control signal related to termination of transmission and reception of an audio stream.
Furthermore, while in the play state, the HA may perform a function with respect to the next song or previous song through a specific control signal, and the HA stays in the play state when the corresponding function is performed.
Furthermore, the HA makes transition to the pause state from the play state according to a pause control signal related to pausing (or stopping) transmission and reception of an audio stream, and the HA makes transition to the play state from the pause state according to a resume control signal related to resuming transmission and reception of an audio stream stopped in the pause state.
Table 6 illustrates examples of HA user actions corresponding to state transition according to FIG. 23.










TABLE 6







Transition
HAs user action example









Play
Short button press



Stop
No need to handle




(can be treated as pause)



Pause
Short button press



Resume
No need to handle




(same as play)



Next song
Rocker switch up button press twice



Prev. song
Rocker switch down button press twice



Volume adjust
Rocker switch










Referring to FIG. 23b, the HA makes transition to the play state from the idle state according to a start control signal related to initiation of transmission and reception of an audio stream and makes transition to the idle state from the play state according to a pause control signal related to pausing transmission and reception of an audio stream.
Furthermore, the HA may perform the function of playing the next song and previous song while in the idle and play state respectively.
It may be seen that 4 types of user inputs are required to perform state transition of FIG. 23.
As described above, the 4 types of user inputs may be short button press, rocker switch up (or down) button press twice, and rocker switch.
Next, a state machine related to transmission and reception of an (audio) stream will be described.
The HA profile uses features defined by AASG for audio stream control.
The HA profile may include a simple content control mechanism for audio listening.
In this case, the audio listening may include audio play, pause, and moving to the next song/previous song.
FIG. 24 illustrates one example of a state machine associated with an audio link state as set forth in the present disclosure.
As shown in FIG. 24, the audio link state may include an audio idle state, and an audio active state.
When the HA transitions from the audio idle state to the audio active state, an audio link is opened. When the HA transitions from the audio active state to the audio idle state, the audio link is closed or paused.
A following table 7 illustrates one example of each state of the audio link:










TABLE 7







State
Description









Idle
Idle state means that Audio Link is not opened




between HAs and audio source such as phone,




TV and media player.



Active
Active state means call connected and HA user




is talking with peer phone user.




In this state the active call may disconnected




by local or remote user.




When receiving the Emergency Alert event in this




state, active call shall be switched to hold state




without user intervention. And after the Emergency




Alert finished, call state shall be switched back




to the previous Active state.










The audio link being closed may mean that the audio link entirely terminates. The audio link being paused may mean that transmitting or reception of audio data or voice data received or transmitted from or into the audio link is paused or temporarily stop.
FIG. 25 illustrates another example of a state machine according to the present invention.
Referring to FIG. 25, the state machine includes three states, namely idle state, ringing state, and active state.
If a new call is coming, the state machine changes its state from the idle state to the ringing state; if a call-failed occurs, the state machine changes its state from the ringing state to the idle state.
In other words, if a call-failed occurs, the audio link is closed 2520.
Furthermore, the audio link is opened 2510 through state transition from the idle state to the ringing state with respect to an in-band ringtone, and the audio link is opened with respect to an out-band ringtone through state transition from the ringing state to the active state.










TABLE 8







In-band RingTone
Out-of-band RingTone




















Idle
Audio link close
Audio link close



Ringing
Audio link open
Audio link close



Active
Audio link open
Audio link open



Hold
C1
C1










In Table 8, in-band ringtone and out-of-band ringtone correspond to the audio link state, while idle/ringing/active/hold correspond to the phone call state.
Next, a case considering both of audio listening control and audio stream handling will be described.
FIG. 26 illustrates a yet another example of a state machine according to the present invention.
In other words, FIG. 26 illustrates a state machine applied to a method for performing audio listening control while transmitting and receiving an audio stream.
FIG. 26a illustrates one example of a state machine including three states: idle, play, and pause, and FIG. 26b illustrates one example of a state machine in a simplified version including two states: idle and play.
FIGS. 26a and 26b assume transmission and reception of an audio stream or listening to an audio signal.
Referring to FIG. 26a, the state machine makes transition from the idle state to the play state according to a play control signal related to initiation of transmission and reception of an audio stream and makes transition from the play state to the idle state according to a stop control signal related to stopping transmission and reception of an audio stream.
Furthermore, a function with respect to moving to the next song or previous song may be performed through a specific control signal while the state machine is in the play state, and when the corresponding function is performed, the play state is maintained.
Furthermore, the state machine makes transition from the play state to the pause state according to a pause control signal related to pausing (or stopping) transmission and reception of an audio stream and makes transition from the pause state to the play state according to a resume control signal related to resuming transmission and reception of an audio stream.
Referring to FIG. 26b, the state machine makes transition from the idle state to the play state according to a start control signal related to starting transmission and reception of an audio stream and makes transition from the play state to the idle state according to a pause control signal related to pausing transmission and reception of an audio stream.
Furthermore, the function of moving to the next song and previous song may be performed while the state machine is in the idle and play state respectively.










TABLE 9







STATE
ISOCHRONOUS CHANNEL ON/OFF









Idle
Audio link close



Play
Audio link open



Pause
Audio link close










FIG. 27 illustrates a still another example of a state machine according to the present invention.
In other words, the state of a state machine of FIG. 27 represents call control, audio streaming control, and audio stream on/off operation (or function) described earlier.
In this case, the call control represents control of an outgoing or incoming call; audio stream control represents control of audio streaming for audio listening; and audio stream on/off represents establishing/releasing connection of an audio stream.
As shown in FIG. 27, an isochronous channel is open when the state machine makes transition from the activating state to the active state, and an audio accept signal is transmitted and received through the corresponding isochronous channel.
Furthermore, the isochronous channel is closed when the state machine makes transition from the activating state or active state to the idle state, and new audio context and audio disconnect are performed respectively.
FIG. 28 is a flowchart illustrating an example of a method for controlling a device, which is proposed in this specification.
Referring to FIG. 28, a first device that is an HA may control various services (or applications) through a second device that is a user device.
Specifically, the first device may establish a connection with the second device through BLE using the method of FIG. 7 at step S28010. In this case, the first device may be a dummy device not having the aforementioned state machine.
After establishing the BLE connection with the second device, the first device may transmit a request command indicative of an operation related to a specific service to the second device in order to provide the specific service, such as the phone call service or the listening audio service, through the second device at step S28020.
In this case, the specific operation may be at least one of the start, change, pause, resumption or selection of the specific service, a first operation related to the phone call service, and a second operation related to the listening audio service.
The first operation is an operation related to the provision of the phone call service, and may be one of “Make a call” indicative of an outgoing call, “Accept a call” indicative of the approval of an incoming call, and “Release a call” indicative of the end of a call.
The second operation is an operation related to the provision of the listening audio service, and may be one of audio playback, an audio stop, an audio pause, audio resumption, a movement to a next song, a movement to a previous song, and volume adjustment.
In this case, a user may request the specific operation from the second device through the first device using various user input methods. For example, a user may tap a button of the first device short or long or drive a rocker switch so that the second device performs the specific operation.
In response to the request command received from the first device, the second device may analyze (or interpret) the received request command, may perform the specific operation instructed by the request command, and may transmit a response command to the first device as a response to the request command at step S28030.
In this case, the response command may include result information indicating whether the specific operation requested through the request command has been successfully performed. The result information may be indicative of the success or failure of the specific operation.
Through such a method, the first device can provide a specific service through the second device although a state machine is not present.
FIG. 29 is a flowchart illustrating another example of a method for controlling a device, which is proposed in this specification.
Referring to FIG. 29, a first device 200 may receive current state information from a second device 300, and may control the second device based on the received state information so that the second device provides a specific operation or specific service.
Specifically, when the first device 200 receives a specific input from a user, for example, when the first device 200 receives an input indicative of the start of a specific service or the execution of an operation related to a specific service, it may transmit a request message for requesting state information indicative of the current state of the second device 300 to the second device 300 at step S29010.
In response to the request message, the second device 300 may transmit a response message, including state information, to the first device 200 at step S29020.
In this case, the state information may indicate whether the second device 300 now provides which service (or application). For example, the state information may be any one of the phone call service, the listening audio service, and the alert service.
After checking the current state of the second device 300 through the response message, the first device 200 may analyze (or interpret) the user input from the user and convert the user input into a proper command.
For example, when the first device 200 receives a user input for the start of a specific service from a user, it may convert the user input into a request command indicative of the start of the specific service.
Thereafter, the first device 200 may transmit the converted request command to the second device 300 at step S29030.
In this case, the request command may be indicative of an operation related to the specific service as described above.
In response to the request command, the second device 300 may analyze (or interpret) the received request command, may perform a specific operation instructed by the request command, and may transmit a response command to the first device at step S29040.
In this case, the response command may include result information indicating whether the specific operation requested through the request command has been successfully performed. The result information may be indicative of the success or failure of the specific operation.
In accordance with another embodiment of the present invention, the first device 200 may not request state information from the second device 300, but may directly transmit a request command indicative of a specific operation related to a specific service.
Thereafter, the second device 300 may perform the specific operation based on the request command and transmit a response command as a response to the request command.
FIG. 30 is a flowchart illustrating yet another example of a method for controlling a device, which is proposed in this specification.
Referring to FIG. 30, a second device may obtain control rights to provide a specific service (or application) from a first device, and may provide the specific service.
Specifically, the first device 200 transmits an advertising message to the second device 300 in order to notify the second device 300 of the presence of the first device 200 at step S30010. In this case, the advertising message may include service information indicative of at least one service which may be supported by the first device 200.
For example, the service information may include the aforementioned phone call service, listening audio service, and alert service.
The second device 300 that has discovered the first device 200 through the advertising message may transmit a connection request message to the first device 200 in order to establish a BLE connection with the first device 200 at step S30020.
The second device 300 that has established the BLE connection with the first device 200 through the connection request message may transmit a request message for requesting control rights to provide a specific service to the first device 200 in order to obtain the control rights through the first device 200 at step S30030.
The first device 200 may transmit a response message indicative of the approval or rejection of the request for control rights to the second device 300 at step S30040.
If the response message indicates the approval, the second device 300 obtains the control rights to provide the specific service through the first device 300.
The second device 300 that has obtained the control rights may transmit a request command to indicate a specific operation to the first device 200 in order to provide the specific service at step S30050.
In this case, the specific operation may be one of the start, change, pause, resumption or selection of the specific service, a first operation related to the phone call service, and a second operation related to the listening audio service.
The first operation is an operation related to the provision of the phone call service, and may be one of “Make a call” indicative of an outgoing call, “Accept a call” indicative of the approval of an incoming call, and “Release a call” indicative of the end of a call.
The second operation is an operation related to the provision of the listening audio service, and may be one of audio playback, an audio stop, an audio pause, audio resumption, a movement to a next song, a movement to a previous song, and volume adjustment.
In response to the request command, the first device 200 may perform the specific operation instructed by the request command, and may transmit a response command to the second device at step S30060.
In this case, the response command may include result information indicating whether the specific operation requested through the request command has been successfully performed. The result information may be indicative of the success or failure of the specific operation.
Thereafter, if the first device 200 wants to release the control rights of the second device 300, it may transmit a release message to the second device 300 in order to release the control rights of the second device 300 at step S30070.
Through such a method, the first device 200 can configure/release control rights to provide a specific service to the second device 300.
FIG. 31 is a flowchart illustrating another example of a method for controlling a device, which is proposed in this specification.
Referring to FIG. 31, the second device may change a service provided to obtain control rights to control a specific service from the first device or may instruct a specific operation.
First, step S31010 to step S31040 are the same as step S30010 to step S30040 of FIG. 30, and thus a detailed description thereof is omitted.
Thereafter, the second device 300 that has obtained the control rights to provide the specific service may transmit a request command to indicate the start of the specific service to the first device 200 at step S31050.
In response to the request command, the first device 200 may start the specific service and may transmit a response command indicating that the specific service has been started to the second device 300 at step S31060.
When the first device 200 receives a user input indicative of a specific operation of another device from a user while the listening audio service is provided, the first device 200 may transmit a request command indicative of a change of the service and a request command indicative of the specific operation (e.g., indicative of a call to the most recently connected telephone number) to the second device 300 in order to perform the specific operation at steps S31070 and S31080.
It is hereinafter assumed that the changed service is the phone call service.
In response to the request commands, the second device 300 may change the current service to the phone call service and may attempt to make a call to the most recently connected telephone number.
Thereafter, when the call is connected or denied, the second device 300 may transmit a response command indicative of the call or denial to the first device 300 at step S31090.
After the call is connected, when the first device 200 receives a user input indicative of a call end from the user, it may transmit a request command indicative of a call end to the second device 300 at step S31100.
In response to the request command, the second device 300 may terminate the call and transmit a response command indicating that the call has been terminated to the first device 200 at step S31110.
Thereafter, if the first device 200 wants to release the control rights of the second device 300, it may release the control rights of the second device 300 by transmitting a release message to the second device 300 at step S31120.
Through such a method, although a state machine is not present, the first device can control the second device and can provide various services through the second device.
This specification has an advantage in that various functions related to audio data or voice data can be performed by newly defining a state machine for transmitting and receiving audio data or voice data through an HA.
Furthermore, this specification has an advantage in that an urgent situation can be handled by receiving an alert sound, such as a disaster or an accident, in a process for transmitting and receiving audio data or voice data through an HA.
Furthermore, this specification has advantages in that the operation of an HA can be simplified and consumption power can be reduced by providing a service through control of a user device through an HA, that is, a dummy device not having a state machine.
Furthermore, this specification has an advantage in that a user device within a short distance provide various services through an HA.
Furthermore, this specification has an advantage in that user convenience can be improved because various services can be provided through which device by exchanging control rights between an HA and a user device.
Advantages which may be obtained in this specification are not limited to the aforementioned advantages, and various other advantages may be evidently understood by those skilled in the art to which the present invention pertains from the following description.
In this document, for the convenience of description, the present invention has been described according to the drawings; however, it is equally possible to design a new embodiment by merging the embodiments described in the respective drawings. Furthermore, depending on the needs of those skilled in the art, designing a computer-readable recording medium in a computer storing a program for running the embodiments previously described also belongs to the technical scope of the present invention.
The method and apparatus for controlling a device using Bluetooth according to the embodiments of the present invention are not limited to the embodiments described above, but the entire embodiments may be combined or part of the embodiments may be combined selectively so that various modifications may be made to the embodiments.
Meanwhile, the method and apparatus for controlling a device using Bluetooth according to the embodiments of the present invention may be implemented in the form of processor-readable program codes in a recording medium that may be read by a processor installed in a network device. The processor readable recording medium includes all kinds of recording devices storing data that may be read by the processor. Examples of processor-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, and implementation in the form of carrier waves such as transmission through the Internet. Furthermore, the processor-readable recording medium may be distributed across computer systems connected to each other through a network, and program codes that may be read by the processor may be stored and run in a distributed manner.
Throughout the document, preferred embodiments of the present invention have been described with referenced to appended drawings; however, the present invention is not limited to the embodiments above. Rather, it should be noted that various modifications of the present invention is made by those skilled in the art to which the present invention belongs without leaving the technical scope of the present invention defined by the appended claims, and these modifications should not be understood individually from the technical principles or aspects of the present invention.
This document describes both of the product invention and process invention, and depending on the needs, descriptions of both inventions may be applied in a complementary manner.
This document discloses a method for transmitting and receiving an audio stream in a wireless communication system.
This specification relates to the transmission and reception of Bluetooth data. Particularly, this specification relates to a method and apparatus for providing various services by controlling a device using a Bluetooth low energy (BLE) technology.

## Claims

1. A method for controlling, by a first device, a second device in a wireless communication system, the method comprising:
transmitting an advertising message including supportable service information to the second device;
receiving a connection request message for a Bluetooth Low Energy (BLE) connection from the second device;
transmitting a request command to the second device to indicate a specific operation related to a specific service included in the supportable service information through a state change of the second device; and
receiving a response command in response to the request command from the second device,
wherein the specific service is provided through an isochronous channel,
wherein the isochronous channel is a channel for transmitting and receiving data generated periodically or regularly,
wherein the advertising message and the connection request message are transmitted and received through an advertising channel, and
wherein the supportable service information includes at least one of a phone call service related to an incoming call or an outgoing call, a listening audio service related to audio streaming, or an alert service related to a transmission and reception of an urgent message.

2. The method of claim 1, wherein the first device is a dummy device not having a state machine indicating a possible state of a device.

3. The method of claim 1, further comprising:
receiving a request message requesting control authority to control operations for providing the specific service from the second device; and
transmitting a response message indicating an approval or rejection of the request of the control authority.

4. The method of claim 3, further comprising:
transmitting a release message indicating a release of the control authority to the second device, when the response message indicates the approval.

5. The method of claim 1, further comprising:
transmitting a request message for requesting state information indicating a current status of the second device to the second device; and
receiving a response message including the state information.

6. The method of claim 1, wherein the specific operation is one of a start, change, stop or selection of the specific service, a first operation related to the phone call service, and a second operation related to the listening audio service.

7. The method of claim 6, wherein the first operation is one of “Make a call”indicating an outgoing call, “Accept a call” indicating an approval of an incoming call, and “Release a call” indicating an end of a call.

8. The method of claim 6, wherein the second operation is one of audio playback, an audio stop, an audio pause, audio resumption, a movement to a next song, a movement to a previous song, and volume adjustment.

9. The method of claim 1, wherein the supportable service information further includes priority information indicating priority of operations between services.

10. The method of claim 1, wherein the response command includes result information indicating a result of the specific operation.

11. The method of claim 1,
wherein the first device is a hearing aid (HA), and
wherein the second device is a user device.

12. A first device for controlling a second device in a wireless communication system, the first device comprising:
a transceiver; and
a processor operatively connected to the transceiver,
wherein the processor configured to:
control the transceiver to transmit an advertising message including supportable service information to the second device,
control the transceiver to receive a connection request message for a Bluetooth Low Energy (BLE) connection from the second device,
control the transceiver to transmit a request command to the second device to indicate a specific operation related to a specific service included in the supportable service information through a state change of the second device, and
control the transceiver to receive a response command in response to the request command from the second device,

wherein the specific service is provided through an isochronous channel,
wherein the isochronous channel is a channel for transmitting and receiving data generated periodically or regularly,
wherein the advertising message and the connection request message are transmitted and received through an advertising channel, and
wherein the supportable service information includes at least one of a phone call service related to an incoming call or an outgoing call, a listening audio service related to audio streaming, or an alert service related to a transmission and reception of an urgent message.

13. The method of claim 1,
wherein the advertising channel and the isochronous channel have a different frequency channel and frequency hopping interval.