ELECTRONIC DEVICE FOR TRANSMITTING DATA IN BLUETOOTH NETWORK ENVIRONMENT, AND METHOD THEREFOR

Disclosed is an electronic device which includes wireless communication circuitry, a processor, and a memory. The memory stores one or more instructions that, when executed, cause the processor to establish a first communication link with a first external electronic device, to establish a second communication link with a second external electronic device, to transmit first communication link information for estimating a channel of the first communication link to the second external electronic device over the second communication link, to receive first data from the first external electronic device over the first communication link, and to transmit a first response message for the first data to the first external electronic device over the first communication link. The first response message includes a bit configured not to be processed by the first external electronic device, and the bit includes reception information about the first data of the electronic device.

BACKGROUND

Technical Field

One or more embodiments disclosed in the instant disclosure generally relate to an electronic device for transmitting data in a Bluetooth network environment and a method thereof.

Description of Related Art

The Bluetooth standard defined by the Bluetooth Special Interest Group (SIG) defines a protocol for short-range wireless communication between electronic devices. In the Bluetooth network environment, electronic devices may transmit or receive data packets, including content such as texts, voices, images, or videos, in a specified frequency band (e.g., about 2.4 gigahertz (GHz)).

For example, user equipment (UE), such as smartphones, tablets, desktop computers, or laptop computers, may transmit data packets to another UE or an accessory device through the Bluetooth network environment. The accessory device may include, for example, earphones, headsets, speakers, mice, keyboards, chargers, display devices, etc.

SUMMARY

The Bluetooth network environment may be implemented in a topology that includes one user device (e.g., a device under test (DUT)) for transmitting data packets and a plurality of devices for receiving data packets from the user device. For example, when earphones (or a headset) are connected with a smartphone, the earphone worn on the left ear of the user and the earphone worn on the right ear of the user may receive different data packets from the smartphone.

In wireless data transmission, each of the plurality of devices receiving data packets may establish a separate link with the host or master user device. In this case, because the user device need to create or establish a plurality of links to transmit data packets to the plurality of devices, resources and power consumed by the user device may increase, which may reduce battery life. Increasing complexity in the Bluetooth network environment is also not desirable. Furthermore, as the number of devices connected wirelessly to the user device increases, the power consumed by the user device and the latency between transmission and reception of the data packets may also increase.

Various embodiments disclosed in the disclosure may provide an electronic device and a method for addressing the above-mentioned problems in the Bluetooth network environment.

In accordance with an aspect of the disclosure, an electronic device is provided. The electronic device may include wireless communication circuitry, a processor operatively connected with the wireless communication circuitry, and a memory operatively connected with the processor. The memory may store one or more instructions that, when executed, cause the processor to establish a first communication link with a first external electronic device through the wireless communication circuitry, create a second communication link with a second external electronic device through the wireless communication circuitry, transmit first communication link information for estimating a channel of the first communication link to the second external electronic device over the second communication link, receive first data from the first external electronic device over the first communication link, and transmit a first response message for the first data to the first external electronic device over the first communication link. The first response message may include a bit configured not to be processed by the first external electronic device. The bit may include reception information about the first data by the electronic device.

In accordance with another aspect of the disclosure, an electronic device is provided. The electronic device may include wireless communication circuitry, a processor operatively connected with the wireless communication circuitry, and a memory operatively connected with the processor. The memory may store one or more instructions that, when executed, cause the processor to establish a first communication link with a first external electronic device through the wireless communication circuitry, receive second communication link information for estimating a channel of a second communication link established between the first external electronic device and a second external electronic device from the first external electronic device over the first communication link, receive first data from the second external electronic device over the second communication link, based on the second communication link information, receive a first response message including reception information about the first data by the first external electronic device over the second communication link, and identify whether the first data is received by the first external electronic device by using a bit configured not to be processed by the second external electronic device in the first response message.

With regard to description of drawings, the same or similar denotations may be used for the same or similar components.

DETAILED DESCRIPTION

According to certain embodiments disclosed in the disclosure, the electronic device may reduce unnecessary resources consumed in the Bluetooth network environment, and also reduce delays in data processing.

Hereinafter, certain embodiments of the disclosure may be described with reference to accompanying drawings. However, it should be understood that this is not intended to limit the disclosure to specific implementation forms and includes various modifications, equivalents, and/or alternatives of embodiments of the disclosure.

Hereinafter, a configuration of an electronic device according to an embodiment will be described with reference toFIG. 1.

FIG. 1is a block diagram illustrating an electronic device101in a network environment100according to an embodiment.

Hereinafter, operations of a plurality of devices according to certain embodiments will be described with reference toFIGS. 2 and 3.

FIG. 2illustrates a topology200of a Bluetooth network environment according to an embodiment.FIG. 3is a signal sequence diagram300illustrating operations of a plurality of devices in a Bluetooth network environment according to an embodiment.

The order of the plurality of operations shown inFIG. 3is not limiting, and for example the order of the communication link establishment operation and the data transmission operation may be changed.

Referring toFIG. 2, a first device210, a second device220, and a third device230included in the topology200may include components at least some of which are the same as or similar to an electronic device101shown inFIG. 1. These devices may also perform functions at least some of which are the same as or similar to the electronic device101. According an embodiment, the first device210, the second device220, and the third device230may perform wireless communication over a short distance in a Bluetooth network defined by the Bluetooth SIG. The Bluetooth network may be, for example, the Bluetooth legacy network or the Bluetooth low energy (BLE) network. According to an embodiment, the first device210, the second device220, and the third device230may perform wireless communication over one of the Bluetooth legacy network and the BLE network or may perform wireless communication over both of the Bluetooth legacy network and the BLE network.

According an embodiment, the third device230may be user equipment, such as a smartphone, a tablet, a desktop computer, or a laptop computer, and the first device210and the second device220may be accessory devices, such as earphones, a headset, a speaker, a mouse, a keyboard, or a display device. According an embodiment, the first device210and the second device220may be an earphone worn on the left ear of the user and an earphone worn on the right ear of the user, respectively. Thus, the first device210and the second device220may be paired earphones. However, according to another embodiment, the first device210and the second device220may be two different sets of earphones.

According to an embodiment, each of the first device210and the second device220may previously recognize a counterpart device (e.g., the second device220or the first device210) or may previously store information (e.g., address information) of the counterpart device. According an embodiment, when the first device210and the second device220is accessory devices (e.g., earphones) that are paired, they may previously recognize each other or may previously store mutual address information. According to an embodiment, when the first device210and the second device220are devices supporting the same user account or related user accounts (e.g., family accounts), they may share information about each other (information about devices which are a pair) by means of an external device (e.g., an external server) interworking with the first device210or the second device220. In this case, the topology200may further include an external server. For example, the first device210may transmit information associated with the first device210to the external server, and the external server may transmit the information associated with the first device210to the second device220.

According to an embodiment, the third device230may serve as the master device, and the first device210and the second device220may serve as slave devices. The number of devices which service as slave devices is not limited to the example shown inFIG. 2. According to an embodiment, the role of the device may be determined in a procedure where a communication link (e.g.,201and/or202) between devices is established. According to another embodiment, one (e.g., the first device210) of the first device210and the second device220may serve as the master device, and the other (e.g., the second device220) may serve as the slave device.

The master device may control a physical channel. According an embodiment, the master device may transmit data packets, whereas the slave device may transmit data packets to the master device only after receiving the data packets from the master device. According an embodiment, a channel resource (e.g., a frequency hopping channel) for transmitting data packets may be generated based on a clock of the master device. In the Bluetooth legacy network, a time resource (e.g., a time slot) may be determined based on the clock of the master device. According an embodiment, the time slot may be, for example, 625 microseconds (us). In the BLE network, the master device and the slave device may transmit data packets at specified intervals and may respond after a specified time period (e.g., the inter frame space (T_IFS), about 150 us), when a data packet is received.

Hereinafter, description will be given with regard to a situation where the third device230operates as the master device and the other devices (210and/or220) operate as slave devices

According to an embodiment, the third device230may transmit a data packet including content such as text, sound, image, or video to other devices210and/or220. According to the type of content included in the data packet, at least one of the other device210and/or220as well as the third device230may transmit the data packet.

According an embodiment, when music is played from the third device230, only the third device230may transmit data packets, whereas, when a call is performed on the third device230, at least one of the first device210and the second device220as well as the third device230may also transmit data packets including content (e.g., voice data). In this embodiment, at least one of the first device210and the second device220may include a sound input device (e.g., microphone) and may receive voice data through the sound input device.

When only the third device230transmits data packets, the third device230may be referred to as a source device and the first device210and/or the second device220may be referred to as sink devices.

When the third device230creates or establishes a plurality of links with a plurality of other devices (the first device210and the second device220) to transmit data packets, resource consumption, power consumption, and complexity of the links of the third device230may increase. According to an embodiment, the third device230may establish a first communication link201with the first device210and may transmit data packets over the first communication link201, and the second device220may monitor the first communication link201to receive data packets transmitted over the first communication link201, where the data packets include content. In this case, the third device230may be referred to as a device under test (DUT), the first device210may referred to as a primary earbud or primary equipment (PE), and the second device220may be referred to as a secondary earbud or secondary equipment (SE).

Referring toFIGS. 2 and 3, in operation301, the first device210may establish the first communication link201with the third device230. In operation302, the first device210may establish the second link202with the second device220.

For example, in operation303, the first device210may transmit information associated with the first communication link201to the second device220over the second communication link202, such that the second device220may monitor the first communication link201and may transmit a response message to the third device230.

Alternatively, according to an embodiment, the second device220may establish a first communication link with the third device230, and the second device220and the first device210may establish the second communication link202. The second device220may transmit information associated with the first communication link to the first device210over the second communication link202, and the first device210may monitor the first communication link. For example, the first device210may receive data packets transmitted from the third device230and/or may transmit response messages for the received data packets to the third device230.

Alternatively, according to an embodiment, when the first device210and the second device220are devices supporting the same user account or related user accounts (e.g., family accounts), they may share information associated with the first communication link201via the external device (e.g., the external server) interworking with the first device210or the second device220, which in turn uses the user account information. In this case, the topology200may further include an external server. For example, the first device210may transmit information associated with the first communication link201to the external server, and the external server may transmit the information associated with the first communication link201to the second device220.

According to an embodiment, the first device210and the second device220may first establish a communication link (e.g., the second communication link202), and the first device210may establish a communication link (e.g., the first communication link201) with the third device230. The first device210may transmit information about a communication link (e.g., the first communication link201) established with the third device230to the second device220over a link (e.g., the second communication link202) established with the second device220.

The information associated with the first communication link201may include address information (e.g., the Bluetooth address of the master device of the first communication link201, the Bluetooth address of the third device230, and/or the Bluetooth address of the first device210), piconet clock information (e.g., a clock native (CLKN) of the master device of the first communication link201), logical transport (LT) address information (e.g., information assigned by the master device of the first communication link201), used channel map information, link key information, service discovery protocol (SDP) information (e.g., service and/or profile information associated with the first communication link201), and/or supported feature information. The information associated with the first communication link201may further include, for example, an extended inquiry response (EIR) packet. The EIR packet may include resource control information of the first communication link201and/or information about the manufacturer of the third device230and/or the first and second devices210and220.

According to another embodiment, the second device220may share the information associated with the first communication link201with the third device230. For example, the third device230may transmit the information associated with the first communication link201to the second device220over a separate communication link (not shown) and may release the separate communication link (not shown), when the information associated with the first communication link201is transmitted.

In operation304, the third device230may transmit data packet(s) to the first device210over the first communication link201.

In operation305, although not directly creating a link with the third device230, the second device220may monitor the first communication link201using the information about the first communication link201, which is received from the first device210, to receive the data packet(s) from the third device230.

According to an embodiment, in operation306, the first device210may transmit a first response message for providing a notification whether the data packet is normally received to the third device230over the first communication link201.

In the disclosure, when the data packet is normally received, it may mean that the data is successfully received and processed (e.g., decoded or parsed) by the first device210.

The first response message may include first reception information and second reception information.

Each of the first reception information and the second reception information may include positive acknowledgement (ACK) information indicating the data packet is normally received or negative acknowledgement (NACK) information indicating that the data packet is not normally received (or that the received data is not normally processed).

When the first reception information included in the first response message is ACK information, the third device230may transmit the next data packet. When the first reception information is NACK information or when the response message is not received within a specified time period, the third device230may retransmit the same data packet. The third device230may ignore the second reception information included in the first response message without identifying (processing) the second reception information.

Because the first device210does not know whether the second device220has successfully received the data packet, it may set the first reception information of the first response message to indicate NACK and may transmit the first response message to the third device230. In other words, when there is no information about whether the second device220has successfully received the data packet in the first device210, the first device210may indicate the first reception information as NACK and transmit the first response message, irrespective of whether the first device210itself has successfully received the data packet.

The first device210may indicate whether the first device210has actually and successfully received the data packet as ACK/NACK in the second reception information of the first response message and may transmit the first response message. According an embodiment, when successfully receiving the data packet, the first device210may set the second reception information of the first response message to indicate ACK. According an embodiment, when not normally receiving the data packet, the first device210may set the second reception information of the first response message to indicate NACK.

In operation307, the second device220may monitor the first communication link201to receive the first response message306transmitted to the third device230over the first communication link201by the first device210. The second device220may identify the second reception information included in the first response message306to identify whether the first device210has successfully received the data packet.

In operation308, the third device230may identify that the first reception information of the received first response message indicates NACK and may retransmit the same data packet. Although not illustrated inFIG. 3, according to an embodiment, the second device220may monitor the first communication link201to receive the retransmitted data packet.

In operation309, the second device220may transmit a second response message to the third device230over the first communication link201, in response to the data packet retransmission308. According an embodiment, when transmitting the second response message, the second device220may use the address of the first device210to pose as the first device210. This way the second device220transmits the second response message as if the first device210transmits the second response message. When the third device230does not know the presence of the second device220, it may simply determine that the second response message is received from the first device210over the first communication link201connected with the first device210. According to another embodiment, the third device230may know the presence of the second device220. For example, the third device230may know the presence of the second device220through the first device210or through direct communication with the second device220. According to another embodiment, the third device230may infer whether the second device220is present using the value of the FLOW field of the received response message.

The second device220may transmit the second response message to the first device210over the second communication link202. However, in this case, because the first device210would use some of its resources to receive data packets from the third device230, resource consumption may increase. When some of resources of the first device210are used, because the third device230does not receive the response message or a delay may occur, performance of data packet transmission may be degraded and power consumption may increase. Furthermore, as the number of devices (e.g.,220) that do not have separate communication links directly with the third device230increases, the time required for the first device210to determine whether the data packet is received from another device (e.g.,220) may also increase.

According to an embodiment, the second device220may monitor the first communication link201using the received information about the first communication link201and may transmit a response message to the third device230without passing through the first device210. For example, the second device220may calculate a hopping channel using the Bluetooth address and Bluetooth clock information included in the received information about the first communication link201and may decrypt the normally encrypted data using Bluetooth link key information. Based on the above, the second device220may monitor Bluetooth communication over the first communication link201between the first device210and the third device230. For example, the second device220may match the hopping channel and the clock time point of the Bluetooth address of the first device210, using the received connection information of the first communication link201, may use the matched information to operate an RF transmission unit, and may transmit a response message to the third device230over the first communication link201. For example, the second device220may generate an access code and address information (e.g., LT address information) corresponding to the first communication link201based on address information included in the received information associated with the first communication link201and may transmit a second response message including the generated access code and the generated address information to the third device230.

The second response message may include first reception information and second reception information. The first reception information of the second response message may be information where the second device220combines the second reception information of the first response message, received by the second device220, with whether the data packet transmitted in operation304by the third device230and/or the data packet retransmitted in operation308by the third device230are/is successfully received.

According an embodiment, when the second reception information of the first response message indicates ACK and when the second device220has successfully received the data packet, the second device220may transmit a second response message indicating ACK as the first reception information of the second response message to the third device230.

According an embodiment, when the second reception information of the first response message indicates ACK and when the second device220has not successfully received the data packet, the second device220may transmit a second response message indicating NACK as the first reception information of the second response message to the third device230or may fail to transmit the second response message to the third device230.

According an embodiment, when the second device220does not receive the first response message within a specified time period from the first device210or when the second reception information of the received first response message indicates NACK, irrespective of whether the second device220successfully receives the data packet, the second device220may transmit the second response message indicating NACK as the first reception information of the second response message to the third device230or may fail to transmit the second response message to the third device230.

The second device220may indicate whether the second device220actually and successfully receives the data packet as ACK/NACK in the second reception information of the second response message and may transmit the second response message. According an embodiment, when normally (i.e. successfully) receiving the data packet, the second device220may set the second reception information of the second response message to indicate ACK. According an embodiment, when not normally receiving the data packet (i.e. receiving and/or processing of the data packet failed), the second device220may set the second reception information of the second response message to indicate NACK.

Although not illustrated inFIG. 3, according to an embodiment, the first device210may monitor the first communication link201to receive the second response message309transmitted to the third device230over the first communication link201by the second device220. The first device210may identify the second reception information included in the second response message to identify whether the second device220has successfully received the data packet.

Although not illustrated inFIG. 3, according to an embodiment, the third device230may identify the first reception information of the second response message, may transmit the next data packet, when the first reception information indicates ACK, and may retransmit the same data packet, when the first reception information indicates NACK.

Hereinafter, operations of a plurality of devices according to an embodiment will be described with reference toFIGS. 2, 3, 4, and 5. The same configuration and operation as the above-described embodiment may refer to the same reference numeral, and a description thereof will be omitted.

FIG. 4is a drawing400illustrating an operation of transmitting response messages of a plurality of devices in a Bluetooth network environment according to an embodiment.FIG. 5is a drawing illustrating a Bluetooth packet500according to an embodiment.

The order of the plurality of operations shown inFIG. 4is not limiting, and for example the order of the communication link establishment operation and the data transmission operation may be changed.

Referring toFIGS. 2, 3, and 4, in operation304, the third device230may transmit a data packet401to the first device210over a first communication link201in a time slot411reserved to transmit the data packet401. According to an embodiment, the data packet401may be audio data. The reserved time slot411may include a master to slave slot (a TX slot with respect to the third device) and a slave to master slot (a RX slot with respect to the third device).

The first device210and the second device220which monitors the first communication link201may receive the data packet401.

In response to the data packet401, the first device210may transmit a first response message402to the third device230over the first communication link201in a slot (e.g., TX slot with respect to the first device210) subsequent to a slot (e.g., RX slot with respect to the first device210) in which the data packet401is received in the reserved time slot411. At this time, because the first device210transmits the first response message402, the second device220may operate in a reception mode for the first communication link201.

Referring toFIG. 5, description will be given of the structure of the first response message402. According to an embodiment, the packet500of the first response message402may include a header507and a payload508. The header507according to an embodiment may include an LT_ADDR field501including 3-bit logical transport address information, a TYPE field502including 4-bit type information, a FLOW field503including 1-bit flow control information, an ARQN field504including 1-bit reception information (acknowledge indication), an SEQN field505including sequence number information, and an HEC field506including 8-bit header error check information.

The FLOW field503may be used to control asynchronous connection less (ACL) data flow. The FLOW field503may be set to 1 (GO) or 2 (STOP) and may normally use the 1 (GO) value. When ACL data is not received any longer, the FLOW field503may be set to the 2 (STOP) value such that the ACL data is not delivered any longer. The FLOW field503may not be used in synchronous connection oriented (SCO) or extended synchronous connection oriented (eSCO) logical link, which are different from the ACL logical link, and the receiving device in those links may ignore a value of the FLOW field503. The SCO and eSCO logical link may be used as the transmission channel of voice data which places emphasis on temporality and is mainly required for real-time transmission. The FLOW field503may correspond to the second reception information of the first response message and the second response message in the embodiment described above with reference toFIG. 3.

The ARQN field504may be used to deliver reception information. The ARQN field504may be set to 1 (reception) (ACK) or 0 (no reception) (NACK) and may deliver reception information about the received packet to the device that transmitted the packet. The ARQN field504may correspond to the first reception information of the first response message and the second response message in the embodiment described above with reference toFIG. 3.

Referring again toFIGS. 2, 4, and 5, the first device210may transmit the first response message402, the ARQN field504of the header507of which has the bit value meaning NACK. Because the first device210does not know whether the second device220has normally or successfully received the data packet, it may set the ARQN field504of the first response message402to have the bit value meaning NACK to transmit the first response message402to the third device230.

Furthermore, the first device210may set the FLOW field503of the header507of the first response message402to have the bit value indicating ACK or NACK depending on whether the first device210actually and successfully receives the data packet401. According to an embodiment, to notify the second device220whether the first device210actually and successfully receives the data packet401, the first device210may indicate and transmit whether the first device210actually and successfully receives the data packet401using the FLOW field503which is not processed and is ignored by the third device230.

The below description assumes the case where the first device210has normally or successfully received the data packet401and the FLOW field503includes ACK information.

According an embodiment, upon receiving the first response message402, the third device230may identify NACK information of the ARQN field504of the first response message402to determine that the data packet401is not normally transmitted to the first device210and/or the second device220.

Furthermore, the third device230may ignore the FLOW field503of the first response message402so as to not process the FLOW field503of the first response message402. According an embodiment, the third device230may use the SCO or eSCO logical link for transmission of the data packet401. In this case, the third device230may ignore the FLOW field503of the received first response message402and will not process the FLOW field503of the received first response message402. According an embodiment, the data packet401transmitted by the third device230may be audio data. In this case, the third device230may ignore the FLOW field503of the received first response message402and will not process the FLOW field503of the received first response message402.

The second device220may monitor the first communication link201to receive the first response message402transmitted to the third electronic device230over the first communication link201by the first device210. According to an embodiment, the second device220may identify reception information about the data packet of the first device210by means of the FLOW field503of the first response message402. For example, the second device220may identify that the FLOW field503included in the first response message402indicates ACK, which identifies that the first device210has normally received the data packet.

According an embodiment, upon receiving the first response message402, the third device230may identify NACK information of the ARQN field504of the first response message402to determine that the data packet401is not normally transmitted to the first device210and/or the second device220. The third device230may retransmit the same data packet403based on determining that the data packet401is not normally transmitted to the first device210and/or the second device220. The third device230may retransmit the data packet403during a time slot (a retransmission window) allowed for retransmission.

The first device210or the second device220monitoring the first communication link201may receive the retransmitted data packet403.

The second device220may transmit a second response message404to the third device230over the first communication link201in response to the retransmission of the data packet403. At this time, because the second device220transmits the second response message404, the first device210may operate in a reception mode with respect to the first communication link201.

The second device220may indicate information, in which the second device220combines information of the FLOW field503of the first response message402received from the first device210with whether the second device220successfully receives the data packet401or403, as ACK or NACK in the ARQN field504of the second response message404.

According an embodiment, when the FLOW field503of the first response message402indicates ACK and when the second device220normally receives the data packet401or403, the second device220may indicate the ARQN field504of the second response message404as ACK.

According an embodiment, when the FLOW field503of the first response message402indicates ACK and when the second device220does not normally receive the data packet401or403, the second device220may transmit the second response message404where the ARQN field504of the second response message indicates NACK to the third device230or may fail to transmit the second response message404to the third device230.

According an embodiment, when the second device220does not receive the first response message402within a specified time period from the first device210or when the FLOW field503of the received first response message402indicates NACK, irrespective of whether the second device220normally receives the data packet401or403, the second device220may transmit the second response message404where the ARQN field504of the second response message404indicates NACK or may fail to transmit the second response message404to the third device230.

The below description assumes the case where the FLOW field503of the first response message402includes ACK information and that the second device220normally receives the data packet401or403and set the ARQN field504of the second response message404to indicate ACK to transmit the second response message404.

The second device220may indicate whether the second device220actually and successfully receives the data packet401or403as ACK or NACK in the FLOW field503of the second response message404and may transmit the second response message404.

According an embodiment, when normally receiving the data packet401or403, the second device220may set the FLOW field503of the second response message404to indicate ACK. According an embodiment, when not normally receiving the data packet401or403, the second device220may set the FLOW field503of the second response message404to indicate NACK.

According to an embodiment, to notify the first device210whether the second device220actually and successfully receives the data packet401or403, the second device220may indicate and transmit whether the second device220actually and successfully receives the data packet401or403using the FLOW field503which is not processed and is ignored by the third device230.

The below description assumes the case where the second device220normally receives the data packet401or403and the FLOW field503of the second response message404includes ACK information.

The first device210and the third device230may receive the second response message404transmitted over the first communication link201.

According an embodiment, receiving the second response message404, the third device230may identify ACK information of the ARQN field504of the second response message404to determine that the data packet401or403is normally transmitted to the first device210and/or the second device220. According an embodiment, identifying the ACK information of the ARQN field504of the second response message404, the third device230may transmit the next data packet over the first communication link201.

Furthermore, the third device230may ignore the FLOW field503of the second response message404so as to not process the FLOW field503of the second response message404. The first device210may receive the second response message404transmitted to the third device230over the communication link201by the second device220and may identify that the FLOW field503included in the second response message404indicates ACK to identify that the second device220normally receives the data packet401or403. According to an embodiment, the first device210may identify reception information about the data packet of the second device220by using the FLOW field503of the second response message404.

The embodiment described above with reference toFIG. 5describes that the first device210and the second device220mutually transmit and identify the reception information about data packet using the FLOW field503of the response message. However, according another embodiment, the first device210and the second device220may use a portion of the payload508rather than the FLOW field503of the response message for transmission of the reception information. For example, assuming that audio data is transmitted using a 60-byte packet, a packet may be formed to set a first bit of the payload508to indicate ACK or NACK like the FLOW field of the above-mentioned embodiment and such that the rest of the payload508includes the audio data to be transmitted, and reception information may be delivered.

According to certain embodiments disclosed in the disclosure, the third device230may identify reception information about data packets of the first device210and the second device220by receiving the two different response messages, thus reducing the number of times data packets are retransmitted, reducing power consumed by devices, and reducing the use of the retransmission window to prevent resources of the devices from being wasted.

Hereinafter, operations of a plurality of devices according to an embodiment will be described with reference toFIGS. 2, 6, and 7. The description of the same configuration, operation, and effect as the embodiment described above will be omitted.

FIG. 6is a signal sequence diagram600illustrating operations of a plurality of devices in a Bluetooth network environment according to an embodiment.FIG. 7is a drawing700illustrating an operation of transmitting response messages of a plurality of devices in a Bluetooth network environment according to an embodiment.

The order of the plurality of operations shown inFIGS. 6 and 7is not limiting, and for example the order of the communication link establishment operation and the data transmission operation may be changed.

Referring toFIGS. 2, 6, and 7, the description of operations301to303may be the same as the embodiment described above with reference toFIG. 3. In operation304, the third device230may transmit a data packet701to the first device210over the first communication link201during a time slot reserved for transmitting the data packet701. According to an embodiment, the data packet701may be audio data. In operation305, the second device220may monitor the first communication link201to receive the data packet701transmitted to the first device210by the third device230.

The first device210and/or the second device220monitoring the first communication link201may fail to receive the data packet701due to, for example, an obstruction in the communication environment.

In response to receiving the data packet701, the first device210may transmit a response message702to the third device230over the first communication link201in a slot subsequent to the slot in which the data packet701is received in the reserved time slot711.

Referring toFIG. 7, the first device210may fail to receive the data packet701. In operation606, the first device210may transmit the first response message702to the third device230. Because the first device210does not know whether the second device220has normally received the data packet701, irrespective of whether the first device210has normally received the data packet701, the first device210may set the ARQN field (e.g., ARQN field504ofFIG. 5) of the first response message702to indicate NACK and may transmit the first response message702. Furthermore, because the first device210does not actually and successfully receive the data packet701, it may set the FLOW field (e.g., FLOW field503ofFIG. 5) of the first response message702to indicate NACK and may transmit the first response message702.

According an embodiment, upon receiving the first response message702, the third device230may identify NACK information of the ARQN field of the first response message702to determine that the data packet701is not normally transmitted to the first device210and/or the second device220. Furthermore, the third device230may ignore the FLOW field of the first response message702so as to not process the FLOW field of the first response message702.

In operation607, the second device220may monitor the first communication link201to receive the first response message702transmitted to the third device230over the first communication link201by the first device210. According to an embodiment, the second device220may identify information that the first device210has not normally received the data packet701using the FLOW field of the first response message702.

According an embodiment, as the third device230identifies the NACK information of the ARQN field of the first response message702and determines that the data packet701is not normally transmitted to the first device210and/or the second device220, in operation608, it may retransmit the same time slot703. The third device230may retransmit the data packet703during a time slot (retransmission window) allowed for retransmission.

In operation609, the second device220monitoring the first communication link201may receive the retransmitted data packet703. The below description assumes that the first device210has not normally received the retransmitted data packet703due to some error in the communication environment.

The second device220may transmit a second response message704to the third device230over the first communication link201in response to the retransmission of the data packet703.

Because the FLOW field of the first response message702received by the second device220is the NACK and because the ARQN field of the second response message704indicates the NACK and the second device220has normally received the data packet703, in operation610, the second device220may set the FLOW field of the second response message704to indicate ACK and may transmit the second response message704.

The first device210and the third device230may receive the second response message704transmitted over the first communication link201.

According an embodiment, upon receiving the second response message704, in operation611, the third device230may identify NACK information of the ARQN field of the second response message704to determine that the data packet701or703is not normally transmitted to the first device210and/or the second device220and may retransmit the same data packet705.

The first device210and the second device220monitoring the first communication link201may receive the data packet705retransmitted over the first communication link201.

In operation612, the first device210may transmit a third response message706for the retransmission of the data packet705of the third device230to the third device230over the first communication link201. According to an embodiment, the first device210may transmit the third response message706based on the FLOW field of the second response message704and information received by the first device210(whether at least one of transmission of the data packet701, the first retransmission of the data packet703, or the second retransmission of the data packet705is received).

Upon normally receiving the data packet705, the first device210may indicate the FLOW field of the third response message706as ACK. Furthermore, because the FLOW field of the received second response message704indicates ACK and the first device210normally receives the data packet705, the first device210may take all of them into account and may transmit the third response message706, the ARQN field of which is set to ACK. The third device230may ignore the FLOW field of the third response message706so as to not process the FLOW field of the third response message706.

In operation613, the second device220may monitor the first communication link201to receive the third response message706transmitted to the third device230over the first communication link201by the first device210. According an embodiment, the second device220may identify that the FLOW field included in the third response message706indicates ACK to determine that the first device210has normally received the data packet.

According to certain embodiments disclosed in the disclosure, because the first device210is able to identify reception information of the second device220and because the second device220is able to identify reception information of the first device210, both the first device210and the second device220may notify the third device230of information that the data packet is successfully received fast and efficiently. Furthermore, the third device230may reduce the number of times for data retransmission, which may reduce power consumption, and may prevent resources from being wasted.

According to an embodiment, when the first device210and/or the second device220does not receive the data packet701or retransmission thereof, retransmission of the data packet701of the third device230and transmission of the response message of the first device210or the second device220may be repeated. Furthermore, the first device210and the second device220may alternately perform transmission of the response message. According to an embodiment, to prevent retransmission of the data packet701of the third device230and transmission of the response message of the first device210or the second device220from being infinitely repeated, the number of retransmissions or the retransmission time period of the third device230may be set to be limited.

Hereinafter, operations of a plurality of devices according to an embodiment will be described with reference toFIGS. 2 and 8. The description of the same configuration, operation, and effect as the embodiment described above will be omitted.

FIG. 8is a drawing800illustrating an operation of transmitting response messages of a plurality of devices in a Bluetooth network environment according to an embodiment.

The order of the plurality of operations shown inFIG. 8is not limiting, and for example the order of the communication link establishment operation and the data transmission operation may be changed.

Referring toFIGS. 2 and 8, the third device230may transmit first audio data801during a reserved time slot811over the first communication link201.

The first device210and the second device220monitoring the first communication link201may receive the first audio data801.

In response to receiving the first audio data801, the first device210may transmit a first response message802to the third device230over the first communication link201in a slot subsequent to a slot in which the first audio data801is received in the reserved time slot811.

According an embodiment, upon receiving the first response message802, the third device230may identify NACK information of an ARQN field504of the first response message802to determine that the first audio data801is not normally transmitted to the first device210and/or the second device220. The third device230may retransmit the same audio data803depending on determining that the first audio data801is not normally transmitted to the first device210and/or the second device220. The third device230may retransmit the same audio data803during a time slot (retransmission window) allowed for retransmission.

Because the first device210does not know whether the second device220has normally received the first audio data801, irrespective of whether the first device210has normally received the first audio data801, the first device210may set the ARQN field (e.g., ARQN field504ofFIG. 5) of the first response message802to indicate NACK and may transmit the first response message802. Furthermore, because the first device210successfully receives the first audio data801, it may set the FLOW field (e.g., FLOW field503ofFIG. 5) of the first response message802to indicate ACK and may transmit the first response message802.

According to an embodiment, the first device210may include second audio data in the first response message802. According to an embodiment, the first device210may include an audio input interface. The second audio data may be input to the first device210through the audio input interface. According to an embodiment, the second audio data may be included in the payload (e.g., PAYLOAD508ofFIG. 5) of the first response message802.

Monitoring the first communication link201, the second device220may receive the first response message802to obtain the first audio data.

According an embodiment, upon successfully receiving the first response message802, the third device230may transmit a second response message803over the first communication link201in response to the first response message802. According to an embodiment, when normally receiving the first response message802, the third device230may include and transmit ACK information in the ARQN field of the second response message803.

According an embodiment, the third device230may identify the NACK information of the ARQN field of the first response message802to determine that the first audio data801is not normally transmitted to the first device210and/or the second device220and may include the same first audio data in the second response message803and transmit the second response message803. According to an embodiment, the first audio data may be included in the payload of the second response message803. The second response message803may be a retransmission message of the first audio data.

The first device210and the second device220monitoring the first communication link201may receive the second response message803.

Upon receiving the second response message803, the second device220may transmit a third response message804in response to the second response message803. According to an embodiment, because of the successful reception of the first audio data801or803, the second device220may indicate the FLOW field of the third response message804as ACK. Furthermore, according to an embodiment, because the FLOW field of the received first response message802indicates ACK and the second device220has normally received the first audio data801or803, the second device220may take both successful transmissions into account and may indicate the ARQN field of the third response message804as ACK and transmit the third response message804. According an embodiment, the second device220may identify that the ARQN field of the received second response message803indicates ACK to determine that the third device230normally receives the second audio data. Thus, the second device220may not include the second audio data in the third response message804.

According to certain embodiments disclosed in the disclosure, the second device220may also obtain the second audio data received through the audio input interface by the first device210. When the third device230does not receive the second audio data (e.g., the ARQN field of the second response message803is NACK), the second device220may include the second audio data received through the audio input interface in the third response message804and transmit the same to the third device230. Thus, the third device230may receive the second audio data in a faster manner without waiting for the transmission from the first device210.

Hereinafter, operations of a plurality of devices according to an embodiment will be described with reference toFIGS. 2 and 9. The description of the same configuration, operation, and effect as the embodiment described above will be omitted.

FIG. 9is a drawing900illustrating an operation of transmitting response messages of a plurality of devices in a Bluetooth network environment according to an embodiment.

The order of the plurality of operations shown inFIG. 9is not limiting, and for example the order of the communication link establishment operation and the data transmission operation may be changed.

Referring toFIGS. 2 and 9, the third device230may transmit first audio data901during a reserved time slot911over the first communication link201.

The first device210and the second device220monitoring the first communication link201may receive the first audio data901.

In response to receiving the first audio data901, the first device210may transmit a first response message902to the third device230over the first communication link201in a slot subsequent to a slot in which the first audio data901is received in the reserved time slot911.

Because the first device210does not know whether the second device220has normally received the first audio data901, irrespective of whether the first device210has normally received the first audio data901, the first device210may set the ARQN field of the first response message902to indicate NACK and may transmit the first response message902during a time slot (retransmission window) allowed for retransmission. Furthermore, because of successfully receiving the first audio data901, the first device210may set the FLOW field of the first response message902to indicate ACK and may transmit the first response message902.

According to an embodiment, the first device210may include second audio data in the first response message902. According to an embodiment, the first device210may include an audio input interface. The second audio data may be input to the first device210through the audio input interface. According to an embodiment, the second audio data may be included in the payload of the first response message902.

Monitoring the first communication link201, the second device220may receive the first response message902to obtain the first audio data901.

According an embodiment, the third device230may fail to receive the first response message902due to some error in the communication environment. The third device230may transmit a second response message903over the first communication link201as a response to the first response message902. According to an embodiment, when not receiving the first response message902, the third device230may include and transmit NACK information in the ARQN field of the second response message903.

Furthermore, according an embodiment, the third device230may identify NACK information of the ARQN field of the first response message902and may include and transmit the same first audio data in the second response message903. The second response message903may be a retransmission message of the first audio data.

The first device210and the second device220monitoring the first communication link201may receive the second response message903.

Upon receiving the second response message903, the second device220may transmit a third response message904in response to the second response message. According to an embodiment, because of normally receiving the first audio data901or903, the second device220may indicate the FLOW field of the third response message904as ACK. Furthermore, according to an embodiment, because the FLOW field of the received first response message902indicates ACK and the second device220normally receives the first audio data901or903, the second device220may take both successful transmissions into account and may indicate the ARQN field of the third response message904as ACK and transmit the third response message904. According an embodiment, the second device220may identify that the ARQN field of the received second response message903indicates NACK to determine that the third device230does not normally receive the second audio data. Thus, the second device220may include the second audio data in the third response message904to transmit the third response message904.

According to an embodiment, when normally receiving the third response message904, the third device230may transmit a fourth response message905in response to the third response message904. According to an embodiment, the third device230may include ACK information indicative of successful reception of the third response message904in the ARQN field of the fourth response message905. Identifying the ACK information of the ARQN field of the third response message904, the third device230may not include the first audio data in the fourth response message905.

According to certain embodiments disclosed in the disclosure, because the second device220is able to also obtain the second audio data received through the audio input interface by the first device210, when the third device230does not receive the second audio data from the first device210, the second device220may transmit the second audio data to the third device230.

Hereinafter, description will be given of an operation of the first device according to an embodiment with reference toFIG. 10.

FIG. 10is a flowchart1000illustrating an operation of a first device (e.g., first device210ofFIG. 2) according to an embodiment. The description of the same configuration, operation, and effect as the embodiment described above will be omitted.

In operation1001, the first device (e.g., the first device210ofFIG. 2) may create a first communication link (e.g., first communication link201ofFIG. 2) with a first external electronic device (e.g., third device230ofFIG. 2).

In operation1002, the first device may create a second communication link (e.g., second communication link202ofFIG. 2) with a second external electronic device (e.g., second device220ofFIG. 2).

In operation1003, the first device may transmit information associated with the first communication link for estimating a channel of the first communication link to the second external electronic device over the second communication link. For example, the information associated with the first communication link may include address information (e.g., Bluetooth address of a master device of the first communication link, Bluetooth address of the first external electronic device, and/or a Bluetooth address of the first device), piconet clock information (e.g., clock native (CLKN) of the master device of the first communication link), logical transport (LT) address information (e.g., information assigned by the master device of the first communication link), used channel map information, link key information, service discovery protocol (SDP) information (e.g., service and/or profile information associated with the first communication link), and/or supported feature information. The information associated with the first communication link may further include, for example, an extended inquiry response (EIR) packet. The EIR packet may include resource control information of the first communication link and/or information about the manufacturer of one or more of the devices involved.

In operation1004, the first device may receive first data from the first external electronic device over the first communication link. In one embodiment, the first data may be an audio packet.

In operation1005, the first device may transmit a first response message for the first data to the first external electronic device over the first communication link. In one embodiment, the first response message may include a bitfield configured not to be processed by the first external electronic device, and the bitfield may include reception information about the first data of the first device.

Hereinafter, description will be given of an operation of the second device according to an embodiment with reference toFIG. 11.

FIG. 11is a flowchart1100illustrating an operation of a second device (e.g., second device220ofFIG. 2) according to an embodiment. The description of the same configuration, operation, and effect as the embodiment described above will be omitted.

In operation1101, the second device (e.g., the second device220ofFIG. 2) may create a first communication link (e.g., second communication link202ofFIG. 2) with a first external electronic device (e.g., first device210ofFIG. 2).

In operation1102, the second device may receive second communication link information for estimating a channel of a second communication link (e.g., first communication link201ofFIG. 2) established between the first external electronic device and a second external electronic device (e.g., third device230ofFIG. 2) from the first external electronic device over the first communication link. For example, the information associated with the second communication link may include address information (e.g., Bluetooth address of a master device of the second communication link, Bluetooth address of the first external electronic device, and/or Bluetooth address of the second external electronic device), piconet clock information (e.g., clock native (CLKN) of the master device of the second communication link), logical transport (LT) address information (e.g., information assigned by the master device of the second communication link), used channel map information, link key information, service discovery protocol (SDP) information (e.g., service and/or profile information associated with the second communication link), and/or supported feature information. The information associated with the second communication link may further include, for example, an extended inquiry response (EIR) packet. The EIR packet may include resource control information of the second communication link and/or information about the manufacturer of one or more of the devices involved.

In operation1103, the second device may receive first data from the second external electronic device over the second communication link, based on second communication link information. In one embodiment, the first data may be audio data.

In operation1104, the second device may receive a first response message including reception information about the first data of the first external electronic device over the second communication link.

In operation1105, the second device may identify whether the first data of the first external electronic device is received by using a bitfield configured not to be processed by the second external electronic device in the first response message.

An electronic device210according to an embodiment disclosed in the disclosure may include wireless communication circuitry, a processor operatively connected with the wireless communication circuitry, and a memory operatively connected with the processor. The memory may store one or more instructions that, when executed, cause the processor to create a first communication link201with a first external electronic device230through the wireless communication circuitry, create a second communication link202with a second external electronic device220through the wireless communication circuitry, transmit first communication link information for estimating a channel of the first communication link201to the second external electronic device220over the second communication link202, receive first data from the first external electronic device230over the first communication link201, and transmit a first response message for the first data to the first external electronic device230over the first communication link201. The first response message may include a bit configured not to be processed by the first external electronic device220, and the bit may include reception information about the first data by the electronic device210. The processor may include a microprocessor or any suitable type of processing circuitry, such as one or more general-purpose processors (e.g., ARM-based processors), a Digital Signal Processor (DSP), a Programmable Logic Device (PLD), an Application-Specific Integrated Circuit (ASIC), a Field-Programmable Gate Array (FPGA), a Graphical Processing Unit (GPU), a video card controller, etc. In addition, it would be recognized that when a general purpose computer accesses code for implementing the processing shown herein, the execution of the code transforms the general purpose computer into a special purpose computer for executing the processing shown herein. Certain of the functions and steps provided in the Figures may be implemented in hardware, software or a combination of both and may be performed in whole or in part within the programmed instructions of a computer. No claim element herein is to be construed under the provisions of 35 U.S.C. 112(f), unless the element is expressly recited using the phrase “means for.” In addition, an artisan understands and appreciates that a “processor” or “microprocessor” may be hardware in the claimed disclosure. Under the broadest reasonable interpretation, the appended claims are statutory subject matter in compliance with 35 U.S.C. § 101.

The bit may be a bit of a FLOW field. When the electronic device210receives the first data, the bit of the FLOW field of the first response message may indicate positive acknowledgement (ACK) information. When the electronic device210does not receive the first data, the bit of the FLOW field of the first response message may indicate negative acknowledgement (NACK) information.

The first response message may further include an ARQN field. Regardless of whether the electronic device210receives the first data, a bit of the ARQN field of the first response message may indicate NACK information.

The bit may be included in a data payload of the first response message. When the electronic device210receives the first data, the bit in the data payload of the first response message may indicate ACK information. When the electronic device210does not receive the first data, the bit in the data payload of the first response message may indicate NACK information.

The electronic device210may further include an audio input interface operatively connected with the processor. The instructions may cause the processor to include second data input through the audio input interface in the first response message.

The instructions may cause the processor to receive a second response message transmitted over the first communication link201by the second external electronic device220and identify whether the first data is received by the second external electronic device220by using a FLOW field of the second response message.

The second response message may further include an ARQN field. The instructions may cause the processor to form a third response message based on the FLOW field of the second response message and whether the electronic device210receives the first data and transmit the third response message over the first communication link201, when a bit of the ARQN field of the second response message indicates NACK information.

The third response message may include an ARQN field. When a bit of the FLOW field of the second response message indicates NACK information, a bit of the ARQN field of the third response message may indicate NACK information.

The third response message may include an ARQN field. When a bit of the FLOW field of the second response message indicates ACK information and when the electronic device210receives the first data, a bit of the ARQN field of the third response message may indicate ACK information.

The third response message may include an ARQN field. When a bit of the FLOW field of the second response message indicates ACK information and when the electronic device210does not receive the first data, a bit of the ARQN field of the third response message may indicate NACK information.

An electronic device210according to an embodiment disclosed in the disclosure may include wireless communication circuitry, a processor operatively connected with the wireless communication circuitry, and a memory operatively connected with the processor. The memory may store one or more instructions that, when executed, cause the processor to create a first communication link202with a first external electronic device210through the wireless communication circuitry, receive second communication link information for estimating a channel of a second communication link201established between the first external electronic device210and a second external electronic device230from the first external electronic device210over the first communication link202, receive first data from the second external electronic device230over the second communication link201, based on the second communication link information, receive a first response message including reception information about the first data by the first external electronic device210over the second communication link201, and identify whether the first data is received by the first external electronic device210by using a bit configured not to be processed by the second external electronic device230in the first response message.

The bit may be a bit of a FLOW field. The instructions may cause the processor to identify that the first external electronic device210receives the first data, when the bit of the FLOW field of the first response message indicates ACK information, and identify that the first external electronic device210does not receive the first data, when the bit of the FLOW field of the first response message indicates NACK information.

The first response message may further include an ARQN field. A bit of the ARQN field of the first response message may indicate NACK information.

The instructions may cause the processor to receive the first data again from the second external electronic device230over the second communication link201, based on the second communication link information, and form a second response message based on the bit of the FLOW field of the first response message and whether the electronic device220has received the first data to transmit the second response message over the second communication link201.

The second response message may include an ARQN field. When the bit of the FLOW field of the first response message indicates NACK information, a bit of the ARQN field of the second response message may indicate NACK information.

The second response message may include an ARQN field. When the bit of the FLOW field of the first response message indicates ACK information and when the electronic device220receives the first data, a bit of the ARQN field of the second response message may indicate ACK information.

The second response message may include an ARQN field. When the bit of the FLOW field of the first response message indicates ACK information and when the electronic device220does not receive the first data, a bit of the ARQN field of the second response message may indicate NACK information.

The second response message may include a FLOW field. When the electronic device210receives the first data, a bit of the FLOW field of the second response message may indicate ACK information. When the electronic device210does not receive the first data, the bit of the FLOW field of the second response message may indicate NACK information.

The first response message may further include second data input through an audio input interface of the first external electronic device210.

The electronic device220may further include an audio input interface operatively connected with the processor. The instructions may cause the processor to include second data input through the audio input interface in the second response message.