WO2021133026A1 - 블루투스 네트워크 환경에서 데이터를 전송하기 위한 전자 장치 및 그에 관한 방법 - Google Patents
블루투스 네트워크 환경에서 데이터를 전송하기 위한 전자 장치 및 그에 관한 방법 Download PDFInfo
- Publication number
- WO2021133026A1 WO2021133026A1 PCT/KR2020/018876 KR2020018876W WO2021133026A1 WO 2021133026 A1 WO2021133026 A1 WO 2021133026A1 KR 2020018876 W KR2020018876 W KR 2020018876W WO 2021133026 A1 WO2021133026 A1 WO 2021133026A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- electronic device
- type
- packet
- data
- threshold value
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/189—Transmission or retransmission of more than one copy of a message
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0002—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0006—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/1874—Buffer management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/04—Error control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
Definitions
- Various embodiments disclosed in this document relate to an electronic device for transmitting data in a Bluetooth network environment and a method therefor.
- the Bluetooth standard technology defined by the Bluetooth special interest group defines a protocol for short-range wireless communication between electronic devices.
- electronic devices may transmit or receive data packets including content such as text, voice, image, or video in a designated frequency band (eg, about 2.4 gigahertz (GHz)).
- a designated frequency band eg, about 2.4 gigahertz (GHz)
- a user equipment such as a smartphone, tablet, desktop computer, or laptop computer transmits data packets to other user terminals or to other user terminals through a Bluetooth network environment. It can be transmitted to an accessory device.
- the accessory device may include, for example, at least one of an earphone, a headset, a speaker, a mouse, a keyboard, a charger, and a display device.
- a topology representing a Bluetooth network environment may include one user device (eg, a device under test (DUT)) transmitting data packets and a plurality of external electronic devices receiving data packets from the user device.
- DUT device under test
- the earphone or headset
- the earphone worn on the user's left ear and the earphone worn on the user's right ear may receive the data packet from the smartphone.
- CRC cyclic redundancy check
- the Bluetooth electronic device is a wireless technology using the 2.4 GHz band
- communication quality may be affected by other communication technologies using the same frequency band, such as Wi-Fi, Zigbee, or LTE Band 7.
- communication quality may be affected according to a physical obstacle or a physical distance between communication-connected external Bluetooth electronic devices. Due to these various physical or environmental influences, the data packet may not be transmitted normally and may be continuously retransmitted. In this case, unnecessary resources and current are wasted, and thus the overall performance of the electronic device may deteriorate.
- CQDDR channel quality driven data rate change
- Various embodiments disclosed in this document may provide an electronic device and method for solving the above-described problems in a Bluetooth network environment.
- An electronic device includes a wireless communication circuit configured to support a Bluetooth protocol, wherein the wireless communication circuit: generates a communication link with an external electronic device, and establishes the communication link If the first type of packet including the first data is transmitted through the system and an ACK message for the transmitted first type of packet is not received from the external electronic device, it is determined whether a first threshold value is reached, and the When the first threshold value is reached, the packet of the second type including at least a portion of the first data is transmitted, and when the first threshold value is not reached, the first type including the first data of packets can be retransmitted.
- An electronic device includes a wireless communication circuit configured to support a Bluetooth protocol, wherein the wireless communication circuit: creates a communication link with an external electronic device; A first threshold value for changing to the second type and a second threshold value for changing the second type into a third type are set, and the packet of the first type including the first data is transmitted through the communication link.
- the ACK message for the first type of packet is not received from the external electronic device, it is determined whether the first threshold value is reached, and when the first threshold value is reached, the first data
- the second type of packet including at least a portion is transmitted, and an ACK message for the second type of packet is not received from the external electronic device, it is determined whether the second threshold value is reached, and the second type of packet is transmitted.
- the third type of packet including at least a portion of the first data may be transmitted.
- a wireless communication circuit configured to support a Bluetooth protocol included in the electronic device, a communication link with an external electronic device ( link), and by a wireless communication circuit included in the electronic device, transmit a first type of packet including first data through the communication link, and by the wireless communication circuit, the transmitted first
- the ACK message for the packet type is not received from the external electronic device, it is determined whether a first threshold value is reached, and when the first threshold value is reached, the first data is determined by the wireless communication circuit.
- transmit a second type of packet including at least a portion and cause, by the wireless communication circuitry, to retransmit the first type of packet including the first data if the first threshold is not reached have.
- an electronic device can reduce unnecessary resource consumption by efficiently retransmitting data packets by quickly reflecting a changed wireless environment and a state between electronic devices in a Bluetooth network environment, thereby reducing the consumption of unnecessary resources for data processing.
- the delay time can be reduced.
- FIG. 1 is a block diagram of an electronic device in a network environment according to various embodiments of the present disclosure
- FIG. 2 is a flowchart illustrating an operation of an electronic device according to an exemplary embodiment.
- FIG. 3 is a flowchart illustrating an operation of transmitting and receiving a data packet between a plurality of devices in a Bluetooth network environment according to an embodiment.
- FIG. 4 is a diagram illustrating an example of setting a threshold value for changing a packet type of an electronic device according to an embodiment.
- FIG. 5 is a diagram illustrating an example of setting a threshold value for changing a packet type of an electronic device according to an embodiment.
- FIG. 6 is a flowchart illustrating an operation of transmitting and receiving a data packet between a plurality of devices in a Bluetooth network environment according to an embodiment.
- FIG. 7 illustrates electronic devices of a Bluetooth network according to an embodiment.
- UI 8 illustrates a user interface (UI) indicating connection of devices in a Bluetooth network environment according to an embodiment.
- FIG. 1 is a block diagram of an electronic device 101 in a network environment 100 according to various embodiments of the present disclosure.
- the electronic device 101 communicates with the electronic device 102 through a first network 198 (eg, a short-range wireless communication network) or a second network 199 . It may communicate with the electronic device 104 or the server 108 through (eg, a long-distance wireless communication network). According to an embodiment, the electronic device 101 may communicate with the electronic device 104 through the server 108 .
- a first network 198 eg, a short-range wireless communication network
- a second network 199 e.g., a second network 199 . It may communicate with the electronic device 104 or the server 108 through (eg, a long-distance wireless communication network). According to an embodiment, the electronic device 101 may communicate with the electronic device 104 through the server 108 .
- the electronic device 101 includes a processor 120 , a memory 130 , an input device 150 , a sound output device 155 , a display device 160 , an audio module 170 , and a sensor module ( 176 , interface 177 , haptic module 179 , camera module 180 , power management module 188 , battery 189 , communication module 190 , subscriber identification module 196 , or antenna module 197 . ) may be included. In some embodiments, at least one of these components (eg, the display device 160 or the camera module 180 ) may be omitted or one or more other components may be added to the electronic device 101 . In some embodiments, some of these components may be implemented as one integrated circuit. For example, the sensor module 176 (eg, a fingerprint sensor, an iris sensor, or an illuminance sensor) may be implemented while being embedded in the display device 160 (eg, a display).
- the sensor module 176 eg, a fingerprint sensor, an iris sensor, or an illuminance sensor
- the processor 120 for example, executes software (eg, the program 140) to execute at least one other component (eg, a hardware or software component) of the electronic device 101 connected to the processor 120 . It can control and perform various data processing or operations. According to an embodiment, as at least part of data processing or operation, the processor 120 converts commands or data received from other components (eg, the sensor module 176 or the communication module 190) to the volatile memory 132 . may be loaded into the volatile memory 132 , process commands or data stored in the volatile memory 132 , and store the resulting data in the nonvolatile memory 134 .
- software eg, the program 140
- the processor 120 converts commands or data received from other components (eg, the sensor module 176 or the communication module 190) to the volatile memory 132 .
- the volatile memory 132 may be loaded into the volatile memory 132 , process commands or data stored in the volatile memory 132 , and store the resulting data in the nonvolatile memory 134 .
- the processor 120 includes a main processor 121 (eg, a central processing unit or an application processor), and an auxiliary processor 123 (eg, a graphic processing unit or an image signal processor) that can be operated independently or together with the main processor 121 . , a sensor hub processor, or a communication processor). Additionally or alternatively, the auxiliary processor 123 may be configured to use less power than the main processor 121 or to be specialized for a designated function. The auxiliary processor 123 may be implemented separately from or as a part of the main processor 121 .
- a main processor 121 eg, a central processing unit or an application processor
- an auxiliary processor 123 eg, a graphic processing unit or an image signal processor
- the auxiliary processor 123 may be configured to use less power than the main processor 121 or to be specialized for a designated function.
- the auxiliary processor 123 may be implemented separately from or as a part of the main processor 121 .
- the auxiliary processor 123 may be, for example, on behalf of the main processor 121 while the main processor 121 is in an inactive (eg, sleep) state, or when the main processor 121 is active (eg, executing an application). ), together with the main processor 121, at least one of the components of the electronic device 101 (eg, the display device 160, the sensor module 176, or the communication module 190) It is possible to control at least some of the related functions or states.
- the auxiliary processor 123 eg, an image signal processor or a communication processor
- the memory 130 may store various data used by at least one component (eg, the processor 120 or the sensor module 176 ) of the electronic device 101 .
- the data may include, for example, input data or output data for software (eg, the program 140 ) and instructions related thereto.
- the memory 130 may include a volatile memory 132 or a non-volatile memory 134 .
- the program 140 may be stored as software in the memory 130 , and may include, for example, an operating system 142 , middleware 144 , or an application 146 .
- the input device 150 may receive a command or data to be used by a component (eg, the processor 120 ) of the electronic device 101 from the outside (eg, a user) of the electronic device 101 .
- the input device 150 may include, for example, a microphone, a mouse, a keyboard, or a digital pen (eg, a stylus pen).
- the sound output device 155 may output a sound signal to the outside of the electronic device 101 .
- the sound output device 155 may include, for example, a speaker or a receiver.
- the speaker can be used for general purposes such as multimedia playback or recording playback, and the receiver can be used to receive incoming calls. According to an embodiment, the receiver may be implemented separately from or as a part of the speaker.
- the display device 160 may visually provide information to the outside (eg, a user) of the electronic device 101 .
- the display device 160 may include, for example, a display, a hologram device, or a projector and a control circuit for controlling the corresponding device.
- the display device 160 may include a touch circuitry configured to sense a touch or a sensor circuit (eg, a pressure sensor) configured to measure the intensity of a force generated by the touch. have.
- the audio module 170 may convert a sound into an electric signal or, conversely, convert an electric signal into a sound. According to an embodiment, the audio module 170 acquires a sound through the input device 150 , or an external electronic device (eg, a sound output device 155 ) connected directly or wirelessly with the electronic device 101 . The sound may be output through the electronic device 102 (eg, a speaker or a headphone).
- an external electronic device eg, a sound output device 155
- the sound may be output through the electronic device 102 (eg, a speaker or a headphone).
- the sensor module 176 detects an operating state (eg, power or temperature) of the electronic device 101 or an external environmental state (eg, user state), and generates an electrical signal or data value corresponding to the sensed state. can do.
- the sensor module 176 may include, for example, a gesture sensor, a gyro sensor, a barometric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, It may include a temperature sensor, a humidity sensor, or an illuminance sensor.
- the interface 177 may support one or more specified protocols that may be used by the electronic device 101 to directly or wirelessly connect with an external electronic device (eg, the electronic device 102 ).
- the interface 177 may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
- the connection terminal 178 may include a connector through which the electronic device 101 can be physically connected to an external electronic device (eg, the electronic device 102 ).
- the connection terminal 178 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (eg, a headphone connector).
- the haptic module 179 may convert an electrical signal into a mechanical stimulus (eg, vibration or movement) or an electrical stimulus that the user can perceive through tactile or kinesthetic sense.
- the haptic module 179 may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
- the camera module 180 may capture still images and moving images. According to an embodiment, the camera module 180 may include one or more lenses, image sensors, image signal processors, or flashes.
- the power management module 188 may manage power supplied to the electronic device 101 .
- the power management module 188 may be implemented as, for example, at least a part of a power management integrated circuit (PMIC).
- PMIC power management integrated circuit
- the battery 189 may supply power to at least one component of the electronic device 101 .
- the battery 189 may include, for example, a non-rechargeable primary cell, a rechargeable secondary cell, or a fuel cell.
- the communication module 190 is a direct (eg, wired) communication channel or a wireless communication channel between the electronic device 101 and an external electronic device (eg, the electronic device 102, the electronic device 104, or the server 108). It can support establishment and communication through the established communication channel.
- the communication module 190 may include one or more communication processors that operate independently of the processor 120 (eg, an application processor) and support direct (eg, wired) communication or wireless communication.
- the communication module 190 is a wireless communication module 192 (eg, a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 194 (eg, : It may include a local area network (LAN) communication module, or a power line communication module).
- a wireless communication module 192 eg, a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module
- GNSS global navigation satellite system
- wired communication module 194 eg, : It may include a local area network (LAN) communication module, or a power line communication module.
- a corresponding communication module may be a first network 198 (eg, a short-range communication network such as Bluetooth, WiFi direct, or infrared data association (IrDA)) or a second network 199 (eg, a cellular network, the Internet, or It may communicate with the external electronic device 104 through a computer network (eg, a telecommunication network such as a LAN or WAN).
- a computer network eg, a telecommunication network such as a LAN or WAN.
- These various types of communication modules may be integrated into one component (eg, a single chip) or may be implemented as a plurality of components (eg, multiple chips) separate from each other.
- the wireless communication module 192 uses subscriber information (eg, International Mobile Subscriber Identifier (IMSI)) stored in the subscriber identification module 196 within a communication network such as the first network 198 or the second network 199 .
- subscriber information eg, International Mobile Subscriber Identifier (IMSI)
- IMSI International Mobile Subscriber Identifier
- the antenna module 197 may transmit or receive a signal or power to the outside (eg, an external electronic device).
- the antenna module 197 may include one antenna including a conductor formed on a substrate (eg, a PCB) or a radiator formed of a conductive pattern.
- the antenna module 197 may include a plurality of antennas. In this case, at least one antenna suitable for a communication method used in a communication network such as the first network 198 or the second network 199 is connected from the plurality of antennas by, for example, the communication module 190 . can be selected. A signal or power may be transmitted or received between the communication module 190 and an external electronic device through the selected at least one antenna.
- other components eg, RFIC
- other than the radiator may be additionally formed as a part of the antenna module 197 .
- peripheral devices eg, a bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)
- GPIO general purpose input and output
- SPI serial peripheral interface
- MIPI mobile industry processor interface
- the command or data may be transmitted or received between the electronic device 101 and the external electronic device 104 through the server 108 connected to the second network 199 .
- Each of the external electronic devices 102 and 104 may be the same as or different from the electronic device 101 .
- all or part of the operations performed by the electronic device 101 may be performed by one or more of the external electronic devices 102 , 104 , or 108 .
- the electronic device 101 may perform the function or service itself instead of executing the function or service itself.
- one or more external electronic devices may be requested to perform at least a part of the function or the service.
- the one or more external electronic devices that have received the request may execute at least a part of the requested function or service, or an additional function or service related to the request, and transmit a result of the execution to the electronic device 101 .
- the electronic device 101 may process the result as it is or additionally and provide it as at least a part of a response to the request.
- cloud computing, distributed computing, or client-server computing technology may be used.
- FIG. 2 is a flowchart 200 illustrating an operation of an electronic device according to an exemplary embodiment.
- the same components as those of the above-described embodiment may be referred to by the same reference numerals.
- the order of the plurality of operations illustrated in FIG. 2 is an example, and the order of operations of the electronic device may be changed according to various embodiments.
- operations of the electronic device to be described may be performed by a communication module (eg, the communication module 190 of FIG. 1 ) of the electronic device (eg, the electronic device 101 of FIG. 1 ).
- Operations of the electronic device described below according to an embodiment may be performed by a Bluetooth chip included in a communication module of the electronic device.
- an electronic device may establish a Bluetooth connection with an external electronic device (eg, the electronic device 102 of FIG. 1 ).
- the electronic device and the external electronic device may perform wireless communication in a short range according to a Bluetooth network defined by the Bluetooth SIG (eg, the first network 198 of FIG. 1 ).
- the Bluetooth network may include, for example, a Bluetooth legacy network and a Bluetooth low energy (BLE) network.
- the electronic device and the external electronic device may perform wireless communication through one of a Bluetooth legacy network and a BLE network, or may perform wireless communication through two networks.
- the electronic device includes a user terminal such as a smartphone, a tablet, a desktop computer, or a laptop computer
- the external electronic device includes an earphone, a headset, a speaker, a mouse, a keyboard, or an accessory such as a display device. device may be included.
- each of the electronic device and the external electronic device may recognize the counterpart device (eg, an external electronic device or electronic device) in advance or store information (eg, address information) of the counterpart device in advance.
- the counterpart device eg, an external electronic device or electronic device
- information eg, address information
- the electronic device may perform the role of the master device, and the external electronic device may perform the role of the slave device.
- the number of devices performing the role of the slave device is not limited to one.
- a role of a device may be determined in a procedure for generating a communication link between devices.
- one device eg, an external electronic device
- the other device eg, the electronic device
- the master device may control a physical channel.
- the master device may transmit the data packet, while the slave device may transmit the data packet to the master device only after receiving the data packet from the master device.
- a channel resource eg, a frequency hopping channel
- a time resource eg, a time slot
- the time slot may be 625 microseconds (us), according to an embodiment.
- a master device and a slave device transmit a data packet every specified interval, and when a data packet is received, a response can be made after a specified time (eg, the inter frame space (T_IFS), about 150 us).
- T_IFS the inter frame space
- the electronic device may transmit a data packet including content such as text, voice, image, or video to an external electronic device.
- a data packet including content such as text, voice, image, or video
- the external electronic device may transmit the data packet.
- data packets when music is played in the electronic device, data packets may be transmitted only to the electronic device, whereas when a call is made in the electronic device, not only the electronic device but also the external electronic device transmits content (eg, voice data).
- the included data packet may be transmitted to the electronic device.
- the external electronic device may include a sound input device (eg, a microphone) and may receive voice data through the sound input device.
- the electronic device When only the electronic device transmits the data packet, the electronic device may be referred to as a source device, and the external electronic device may be referred to as a sink device.
- the electronic device may establish a communication link with the external electronic device.
- the electronic device may transmit the data packet to the external electronic device through the communication link.
- the external electronic device may transmit a response message for notifying whether the data packet has been normally received to the electronic device through the communication link.
- normally receiving a data packet may mean not only successfully receiving a signal including data, but also successfully processing (eg, decoding or parsing) data.
- the electronic device must configure a packet according to a predetermined format of the Bluetooth wireless network technology, and can configure various packet types according to a usage purpose, a modulation method, and/or an error check method.
- a packet may be divided into a BR (basic rate) packet format or an EDR (enhanced data rRate) packet format according to a modulation method, and may be classified into a Common packet type, SCO type, eSCO type, or ACL type depending on the purpose of use.
- the BR or EDR packet type may have a difference in performance of transmittable power and/or reception quality according to a modulation scheme, and therefore, the electronic device should be able to determine a packet type suitable for a communication situation.
- the electronic device when communicating with an external electronic device, may selectively use various packet types using channel quality driven data rate change (CQDDR).
- CQDDR channel quality driven data rate change
- the Bluetooth packet type may be determined by a combination of a modulation scheme and a packet size. For example, when a 2Mbps type is selected in the modulation scheme and a size of 3 slots is selected, a packet type of 2M + 3slot may be determined.
- the modulation method may be divided into a basic rate of 1 Mbps and an enhanced data rate of 2 Mbps or 3 Mbps.
- a basic rate of 1 Mbps relatively more data can be transmitted compared to the BR packet type, but in a complex communication environment It is weak, and the BR packet type is strong against complex communication environments, but can transmit relatively little data.
- the packet size may be divided into 1 slot, 3 slot, and 5 slot. If a packet of 5 slot size is used, a lot of data can be sent, but it is relatively vulnerable to the surrounding communication environment. If a packet of 1 slot size is used, it is strong against the surrounding communication environment, but relatively little data can be transmitted. .
- the electronic device performs a modulation scheme (1/2) based on at least one of a quality measurement of the Rx receiver, that is, a bit error rate, a packet error rate, or a received signal strength indicator. 2/3 Mbps) and packet size (1/3/5 slot).
- a Bluetooth electronic device when a Bluetooth electronic device transmits a packet having a payload and a cyclic redundancy check (CRC), it continues to retransmit until it is checked whether the corresponding packet is normally transmitted to an external electronic device, or a timeout specified for retransmission If there is time, retransmission can be continued until the corresponding timeout time.
- Whether the external electronic device has normally received the packet is determined by ACK (ARQN bit set to 1) or NACK (ARQN) based on the non-numbered ARQ (unnumbered ARQ) method to the electronic device that has received the packet and transmitted the packet. bit is set to 0) and can be notified by sending a response message.
- ACK ARQN bit set to 1
- NACK ARQN
- the electronic device that has transmitted the packet may determine whether the external electronic device has normally received the packet, and based on this determination, retransmits the same packet. You can decide whether or not to send the next packet. Also, when there is no response message from the external electronic device, the electronic device may determine that the external electronic device has not received the packet, and thus may retransmit the same packet. The electronic device may not be able to receive the response message (ACK or NACK) transmitted by the external electronic device due to a physical obstacle or influence of a channel environment. In this case, the electronic device may retransmit the packet to the external electronic device when a predetermined time elapses.
- the electronic device may set a threshold value for packet type change after creating a communication link with the external electronic device.
- the threshold value for changing the packet type may be set for a predetermined time (slot) or a predetermined number of transmissions (count), and may be a value that is a criterion for determining whether the electronic device changes the packet type. For example, if the electronic device determines that the external electronic device has not normally received a packet transmitted by the electronic device until a threshold value is reached, the electronic device may change the packet type.
- the threshold value may be set differently according to the type of packet, or may be preset by a setting of the electronic device.
- the electronic device may set a threshold value for changing the packet type based on at least one of various factors affecting packet transmission. For example, the electronic device may set a threshold value for changing the packet type based on a received signal strength indicator (RSSI). As another example, when the external electronic device notifies the electronic device of the buffer size, the electronic device may set a threshold value for changing the packet type based on the buffer size. Also, according to an embodiment, when a change in peripheral wireless reception quality occurs while the electronic device transmits a packet, the packet type change threshold value may be variably set accordingly.
- RSSI received signal strength indicator
- the electronic device may transmit a data packet (eg, an N-th packet) to the external electronic device.
- the electronic device may transmit a data packet to the external electronic device at the request of the electronic device or the request of the external electronic device.
- a user may play music through a music application while the electronic device and the external electronic device are connected to each other through a communication link.
- the electronic device may provide an audio service by periodically transmitting a media data packet to the external electronic device.
- the electronic device may select a packet type for transmitting the media data packet based on a modulation method and a slot size transmitted from an external electronic device through a preferred rate message. .
- the electronic device and the external electronic device may transmit an auto rate message to the counterpart electronic device to enable or disable channel quality measurement.
- the electronic device may transmit the auto rate message to an external electronic device in the sense of allowing a channel quality driven data rate change (CQDDR).
- An external electronic device may also transmit an auto rate message to the electronic device in the sense of allowing channel quality-driven data rate change (CQDDR).
- the electronic device and the external electronic device each receive an auto rate message from the counterpart electronic device and then transmit mutually preferred packet types to the counterpart electronic device through a preferred rate message. can Thereafter, according to a change in the surrounding wireless environment, a preferred rate message may be transmitted to request a packet type change from the counterpart electronic device.
- the electronic device may determine the type of data packet to be transmitted based on the preference rate message received from the external electronic device. According to an embodiment, the electronic device may not be able to transmit a packet type exceeding the packet type included in the preferred rate message received from the external electronic device.
- the packet type exceeding the packet type included in the preferred rate message means, for example, the 'modulation transmission rate' and the 'packet size' exceeding the 'modulation transmission rate' and the 'packet size' of the packet type included in the preferred rate message. It may mean a packet type with 'size'.
- the electronic device when the electronic device receives the preferred rate message transmitted by the external electronic device including packet types of 2M and 3 slots, the electronic device cannot transmit the packet type of the 3M modulation method to the external electronic device, and the packet type of the 5 slot size is not transmitted to the external electronic device. The type may not be transmitted to the external electronic device.
- packet types transmittable by the electronic device according to the packet type included in the preference rate message may be as shown in [Table 1]. 'Types of packets transmittable by the electronic device receiving the preference rate message' of [Table 1] may be shown in order of preferred packet types from the left.
- the electronic device may transmit the data packet by determining the type of packet to transmit data according to the packet type included in the preferred rate message received from the external electronic device based on Table 1 above.
- the electronic device may set a threshold value for changing the packet type based on the packet type included in the preference rate message received from the external electronic device. For example, the electronic device sets the threshold value of the 2M/3slot packet type when the packet type of the preferred rate message transmitted by the external electronic device is 3M/5Slot and the packet type of the preferred rate message transmitted by the external electronic device is 3M/ In case of 3 slots, it can be set differently.
- the electronic device may determine whether an ACK message for the data packet (eg, the data packet including the N-th data) transmitted in operation 203 is received from the external electronic device. In operation 204, the electronic device may determine whether the external electronic device has normally received the data packet (eg, a data packet including the N-th data) transmitted in operation 203 . According to an embodiment, when a response message is not received from the external electronic device or the response message received from the external electronic device indicates NACK (eg, when the ARQN bit of the response message is 0), the electronic device It may be determined that the data packet has not been normally received. According to an embodiment, when the response message received from the external electronic device indicates ACK (eg, when the ARQN bit is 1), the electronic device may determine that the external electronic device has normally received the data packet.
- the response message received from the external electronic device indicates ACK (eg, when the ARQN bit is 1)
- the electronic device may determine that the external electronic device has normally received the data packet.
- the electronic device may transmit a next data packet (eg, a data packet including the N+1th data) to the external electronic device in operation 205 .
- a next data packet eg, a data packet including the N+1th data
- the electronic device determines that retransmission of a data packet including the same data (eg, a data packet including the N-th data) is a threshold value. It may be determined whether (eg, a predetermined time (slot) or a predetermined number of transmissions (count)) has been reached. According to an embodiment, when the threshold value is a predetermined number of transmissions (eg, 6 times), the electronic device determines the current (threshold) number of retransmissions of a data packet including the same data (eg, a data packet including the N-th data). It can be determined whether the threshold value (eg, number 6) is reached until the point in time at which it is determined whether the value has been reached.
- a threshold value eg, number 6
- the electronic device when the threshold value is a predetermined time (eg, 150 milliseconds), the electronic device is configured from a time point when a data packet including the same data (eg, a data packet including the N-th data) is first transmitted to the present. It can be determined whether the time of n has reached a threshold value (eg, 150 ms). Alternatively, the electronic device determines whether the time from when a data packet (eg, a data packet including the N-th data) is initially transmitted to the present (a time when it is determined whether or not the threshold has been reached) reaches a threshold (eg, 150 ms). Whether or not a threshold value has been reached may be determined based on whether or not.
- a threshold value eg, 150 milliseconds
- the electronic device determines in operation 206 that retransmission of the data packet (eg, the data packet including the N-th data) has reached a threshold value, in operation 207 , the electronic device transmits the same data (eg, the N-th data) to the packet type can be changed and retransmitted to an external electronic device.
- the data packet e.g, the data packet including the N-th data
- the electronic device transmits the same data (eg, the N-th data) to the packet type can be changed and retransmitted to an external electronic device.
- a Bluetooth electronic device is a wireless technology that uses a specified frequency band (eg, about 2.4 GHz band), and the communication quality may be affected by other communication technologies using the same frequency band such as Wi-Fi, Zigbee, or LTE Band 7.
- communication quality may be affected according to a physical obstacle or a physical distance between communication-connected external Bluetooth electronic devices. Due to these various physical influences, the data packet may not be transmitted normally and may be continuously retransmitted. In this case, unnecessary resources and current are wasted, and thus the overall performance of the electronic device may deteriorate.
- the electronic device when there is a specific data packet that is retransmitted until the threshold value is exceeded during transmission of the data packet to the external electronic device, the electronic device changes the packet type to the packet type determined to have the highest transmission success probability and transmits the same data. By retransmitting, unnecessary waste of resources and current can be minimized.
- the electronic device may retransmit the same data by changing it to a packet type having less influence depending on the communication environment and high transmission stability.
- a packet type having less influence depending on the communication environment and high transmission stability.
- the electronic device is transmitting media packets to an external electronic device in a 3 Mbps modulation scheme and a 3DH5 packet type, which is a 5-slot DH (data-high rate) packet type, noise in the 2.4 GHz band occurs, and the threshold value If the same data packet is continuously being retransmitted until the time point exceeds , at least part of the same data can be retransmitted by changing from the 3DH5 packet type to the 2DH5 packet type or the 3DH3 packet type.
- the 2DH5 packet type may be a relatively stronger packet type in a more complex communication environment than the 3DH5 packet type.
- the 3DH3 packet type may transmit a relatively smaller amount of data than the 3DH5 packet type, but may be a relatively strong packet type in a complex communication environment.
- the electronic device may select the packet type by considering transmission stability of the packet rather than the amount of data that the packet can transmit.
- 3DH5 packet type when the same data packet is being retransmitted up to a threshold value while the electronic device is transmitting in the 3DH5 packet type, for example, 3DH5 packet type, 2DH5 packet type, 3DH3 packet type, 2DH3 packet type... Order or 3DH5 packet type, 3DH3 packet type, 2DH5 packet type, 2DH3 packet type... At least a portion of data that has failed to be transmitted may be retransmitted by changing the modulation scheme in the order of 3 Mbps, 2 Mbps, and 1 Mbps and/or selecting the packet type in which the packet size is changed in the order of 5 slots, 3 slots, and 1 slot.
- the electronic device may change the packet type based on the radio quality calculated by the electronic device at that time to retransmit the same data.
- the electronic device measures the quality of the Rx receiving unit, that is, based on at least one of a bit error rate, a packet error rate, or a received signal strength indicator.
- the packet type may be changed by determining the modulation method (1/2/3 Mbps) and the packet size (1/3/5 slot). Through this, the electronic device can reduce the reaction speed to the change of external factors, and reduce the problem that the performance of the electronic device is deteriorated by repeatedly retransmitting the same data, thereby providing a stable service to the user.
- the electronic device may be connected to each of a plurality of external electronic devices through Bluetooth communication, and the above-described embodiment may be independently applied to each of the plurality of external electronic devices connected to the electronic device.
- FIG. 3 is a flowchart 300 illustrating an operation of transmitting and receiving a data packet between a plurality of devices in a Bluetooth network environment according to an embodiment.
- Operations of the electronic device described below may be performed by a communication module of the electronic device 101 (eg, the communication module 190 of FIG. 1 ). Operations of the electronic device described below according to an embodiment may be performed by a Bluetooth chip included in a communication module of the electronic device.
- the electronic device 101 may include the first data data1 in a payload of a 3DH5 packet type packet and transmit it to the external electronic device 102 .
- the electronic device 101 creates a communication link with the external electronic device 102 , and sets the 3DH5 packet type to a packet suitable for communication with the external electronic device 102 based on the communication environment with the external electronic device 102 . It can be determined by type.
- 3DH5 may be a packet type set as a default in the electronic device 101 .
- the electronic device 101 may receive an ACK message indicating that the first data has been normally received from the external electronic device 102 .
- the electronic device 101 transmits the second data data2, which is the next data of the first data, in a 3DH5 packet type. It may be included in the payload of the packet and transmitted to the external electronic device 102 .
- the electronic device 101 may receive an ACK message indicating that the third data has been normally received from the external electronic device 102 .
- the electronic device 101 transmits the third data data3 , which is the next data of the second data, in a 3DH5 packet type. It may be included in the payload of the packet and transmitted to the external electronic device 102 .
- the electronic device 101 may receive a NACK message indicating that the third data has not been normally received from the external electronic device 102 .
- FIG 3 illustrates that a NACK message is received from the external electronic device 102 , according to an embodiment, even when a response message is not received from the external electronic device 102 for a certain period of time, the electronic device 101 receives the NACK message from the external electronic device. 102 may determine that the data has not been normally received.
- the electronic device 101 receives a NACK message indicating that the third data has not been normally received from the external electronic device 102 in operation 306 , and a threshold value for changing a packet type set before data transmission (eg, time or number) 350 , the third data may be retransmitted.
- the electronic device 101 may maintain the packet type as the 3DH5 packet type.
- the method of setting the threshold value 350 for changing the packet type may be the same as the method described above with reference to FIG. 2 .
- the electronic device 101 may receive a NACK message indicating that the retransmitted third data has not been normally received from the external electronic device 102 .
- the electronic device 101 receives a NACK message indicating that the third data has not been normally received in operation 308 from the external electronic device 102 , and a threshold value for changing a packet type set before data transmission As it is determined to be within 350, the third data may be retransmitted. In this case, the electronic device 101 may maintain the packet type as the 3DH5 packet type. In operation 310 , the electronic device 101 may receive a NACK message indicating that the retransmitted third data has not been normally received from the external electronic device 102 .
- the electronic device 101 receives a NACK message indicating that the third data has not been normally received from the external electronic device 102 in operation 310 , and a threshold value for changing a packet type set before data transmission As it is determined to be within 350, the third data may be retransmitted. In this case, the electronic device 101 may maintain the packet type as the 3DH5 packet type. In operation 312 , the electronic device 101 may receive a NACK message indicating that the retransmitted third data has not been normally received from the external electronic device 102 .
- the electronic device 101 receives a NACK message indicating that the third data has not been normally received from the external electronic device 102 in operation 312 , and a threshold value for changing a packet type set before data transmission
- the third data may be retransmitted by changing the packet type.
- the electronic device 101 may change to the 2DH5 packet type having higher transmission stability than the 3DH5 packet type, which is the current packet type.
- the 2DH5 packet type may be relatively stronger in a complex communication environment than the 3DH5 packet type.
- the electronic device 101 may transmit the third data to the external electronic device 102 by including the third data in the payload of the 2DH5 packet.
- the electronic device 101 may receive a NACK message indicating that the retransmitted third data has not been normally received from the external electronic device 102 .
- the electronic device 101 changes the packet type and retransmits the third data as it receives the NACK message indicating that the third data retransmitted in operation 314 has not been normally received from the external electronic device 102 .
- the electronic device 101 may change to the 2DH3 packet type having higher transmission stability than the 2DH5 packet type, which is the current packet type.
- the 2DH3 packet type may transmit less data than the 2DH5 packet type, but it may be relatively strong in a complex communication environment.
- the electronic device 101 divides the third data and includes the first partial data data3-1 of the third data in the payload of the 2DH3 packet because the 2DH3 packet type has a smaller amount of data that can be transmitted than the 2DH5 packet type. may be transmitted to the external electronic device 102 .
- the electronic device 101 may receive an ACK message indicating that the first partial data of the third data has been normally received from the external electronic device 102 .
- the electronic device 101 receives, from the external electronic device 102 , an ACK message indicating that the first partial data of the third data retransmitted in operation 316 has been normally received, and thus the second partial data of the third data (data3-2) may be transmitted to the external electronic device 102 in a 2DH3 packet type.
- the electronic device 101 may receive an ACK message indicating that the second partial data of the third data has been normally received from the external electronic device 102 .
- the electronic device 101 receives, from the external electronic device 102 , an ACK message indicating that the second partial data of the third data has been normally received in operation 318 , and thus the fourth data that is the next data of the third data.
- the data data4 may be transmitted to the external electronic device 102 in a 3DH5 packet type.
- the electronic device 101 may transmit the fourth data in the 3DH5 packet type, which is the first packet type before changing the packet type.
- the electronic device 101 may receive an ACK message indicating that the fourth data has been normally received from the external electronic device 102 .
- the electronic device 101 receives, from the external electronic device 102 , the ACK message indicating that the fourth data has been normally received in operation 320 , and thus receives the fifth data data5 that is the next data of the fourth data. It can be transmitted to the external electronic device 102 in a 3DH5 packet type. In this case, the electronic device 101 may maintain the packet type as the 3DH5 packet type. In operation 322 , the electronic device 101 may receive an ACK message indicating that the fifth data has been normally received from the external electronic device 102 .
- the electronic device 101 may sequentially change a packet type based on a specified order (eg, a first order) when data packet transmission fails repeatedly.
- a specified order eg, a first order
- the electronic device 101 may sequentially change the packet type based on a specified order (eg, the second order).
- the second order may be a reverse order of the first order.
- the electronic device 101 detects repeated transmission failure of a data packet, and changes the packet type to reflect the changed communication environment and attempts to retransmit the failed data, resulting in unnecessary resources and By reducing the current, it is possible to reduce the problem of degradation of the performance of the electronic device.
- FIG. 4 is a diagram illustrating examples of setting a threshold value for changing a packet type of an electronic device 410 and 420 according to an embodiment.
- 5 is a diagram illustrating an example 500 of setting a threshold value for changing a packet type of an electronic device according to an embodiment.
- the same components as those of the above-described embodiment may be referred to with the same reference numerals, and descriptions of the same components may be omitted.
- operations of the electronic device to be described may be performed by a communication module (eg, the communication module 190 of FIG. 1 ) of the electronic device (eg, the electronic device 101 of FIG. 1 ).
- Operations of the electronic device described below according to an embodiment may be performed by a Bluetooth chip included in a communication module of the electronic device.
- a threshold value for changing the packet type ( 411, 421) can be set.
- the threshold values 411 and 421 for changing the packet type may be a reference value for determining whether the electronic device changes the packet type for retransmission of failed data.
- the threshold value 411 for packet type change may be set for a predetermined time (slot). For example, the electronic device may set the threshold value 411 for changing the packet type to 150 ms (millisecond).
- the electronic device may transmit the A-type data packet 412 to the external electronic device.
- the electronic device may determine whether the external electronic device has normally received the A-type data packet 412 . For example, when the electronic device receives a NACK message for the A-type data packet 412 from the external electronic device or an ACK message for the A-type data packet 412 within a specified time, the external electronic device sends A It may be determined that the type of data packet 412 has not been received.
- the threshold value 411 for changing the packet type may be counted from the transmission time of the data packet 412 that has failed to be transmitted for the first time.
- the threshold value 411 for changing the packet type may be calculated from the time when the NACK message for the data packet 412 that has failed to be transmitted is initially received.
- the electronic device may repeatedly retransmit type A data packets 413 , 414 , and 415 including the same data during the threshold value 411 for packet type change until an ACK message is received. If the electronic device receives the ACK message before reaching the threshold value 411 , it may stop retransmission of the data packet and transmit the next data packet.
- the electronic device may retransmit the same data as the B-type data packet 416 .
- the B-type data packet 416 may transmit the same amount of data as the A-type data packet 412 , and transmission stability may be higher than that of the A-type data packet 412 .
- the threshold value 411 for changing the packet type may be set to a certain number of transmissions (count). For example, the electronic device may set the threshold value 421 for changing the packet type to 6 counts.
- the electronic device may transmit the A-type data packet 422 to the external electronic device.
- the electronic device may determine whether the external electronic device has not normally received the A-type data packet 422 . For example, when the electronic device receives a NACK message for the A-type data packet 422 from the external electronic device or an ACK message for the A-type data packet 422 within a specified time, the external electronic device sends the A It may be determined that the type of data packet 422 has not been received.
- the threshold value 421 for changing the packet type may be counted from the transmission of the data packet 422 that initially fails to be transmitted.
- the electronic device may repeatedly retransmit the A-type data packets 422, 423, 424, 425, 426, and 427, which are the threshold value 421 for packet type change, 6 times until an ACK message is received, which is the failed transmission. have.
- FIG. 4 when the number of retransmissions of the data packet is counted, the transmission of the first transmitted data packet 422 is illustrated. However, according to an embodiment, when the number of retransmissions of the data packet is counted, the first transmitted data packet 422 is shown. It may include from the transmission of the next data packet 423 except for the transmission of .
- the electronic device may stop retransmission of the data packet and transmit the next data packet.
- the electronic device may retransmit the same data as a B-type data packet 428 .
- the B-type data packet 428 may transmit an amount of data smaller than or equal to that of the A-type data packet 422 , and transmission stability may be higher than that of the A-type data packet 422 .
- a first threshold for changing a packet type A value 510 and a second threshold value 520 may be set.
- the first threshold value 510 and the second threshold value 520 for changing the packet type may be a reference value for determining whether the electronic device changes the packet type for retransmission of failed data.
- the first threshold value 510 and the second threshold value 520 for packet type change may be set identically or may be set differently.
- a plurality of external electronic devices may be connected to the electronic device through Bluetooth communication, and in this case, the electronic device may set different threshold values for each of the plurality of external electronic devices.
- the threshold values 510 and 520 for Packet Type Change may be set for a predetermined time (slot). For example, the electronic device may set the threshold values 510 and 520 for changing the packet type to 150 ms (millisecond).
- the electronic device may transmit the A-type data packet 511 to the external electronic device.
- the electronic device may determine whether the external electronic device has normally received the A-type data packet 511 . For example, when the electronic device receives a NACK message for the A-type data packet 511 from the external electronic device or an ACK message for the A-type data packet 511 within a specified time, the external electronic device sends the A It may be determined that the type of data packet 511 has not been received.
- the electronic device may repeatedly retransmit type A data packets 511 , 512 , and 513 including the same data during the first threshold value 510 for packet type change until an ACK message is received.
- the electronic device may stop retransmission of the data packet and transmit the next data packet.
- the electronic device may retransmit the same data as the B-type data packet 521 .
- the B-type data packet 521 may transmit the same amount of data as the A-type data packet 511 , and transmission stability may be higher than that of the A-type data packet 511 .
- the electronic device may receive a message indicating that the B-type data packet 521 has not been normally received from the external electronic device.
- the electronic device may repeatedly retransmit type B data packets 521 , 522 , 523 , and 524 including the same data during the second threshold value 520 for packet type change until an ACK message is received. That is, the second threshold value 520 for changing the packet type may be a reference value for determining whether to change the packet type once more when the electronic device fails to transmit data even with the changed packet type.
- the electronic device may stop retransmission of the data packet and transmit the next data packet.
- the electronic device may retransmit the same data as a C-type data packet 531 .
- the C-type data packet 531 may transmit the same amount of data as the B-type data packet 521 , and transmission stability may be higher than that of the B-type data packet 521 .
- FIG. 5 illustrates that the first threshold value 510 and the second threshold value 520 for changing the packet type are set
- the number of threshold values is not limited to FIG. 5 , and for example, the electronic device uses C
- a third threshold value that is a criterion for determining whether to change the packet type once more may be set, and the third threshold value is the first threshold value and/or the second threshold value It may be set equal to or different from the threshold value.
- the electronic device includes a wireless communication environment (quality) around the electronic device (or between external electronic devices), a buffer size of the external electronic device, a retransmission rate of data packets for a certain period, and a received signal strength ( At least among various factors affecting packet transmission, such as RSSI), the missing ratio of NACK and ACK messages, bit error rate (BER), or packet error rate (PER) Considering one, it is possible to set the content (eg, time or number) and number of threshold values for packet type change. Also, according to an embodiment, when a change in peripheral wireless reception quality occurs while the electronic device transmits a packet, the packet type change threshold value may be variably set accordingly. Also, according to an embodiment, the external electronic device may determine a packet type in consideration of a communication environment, etc. and may request the electronic device, and the electronic device may determine the packet type according to the request of the external electronic device.
- the electronic device may set the contents (eg, time or number of times) of the packet type change threshold differently according to the packet type. For example, referring to FIG. 5 , the electronic device sets a threshold value for changing from an A-type data packet to a B-type data packet as time, and sets the threshold for changing from a B-type data packet to a C-type data packet. The value can be set as the number of times. According to an embodiment, the electronic device may set the content of the threshold value for changing the packet type when the data packet repeatedly fails to transmit and the content of the threshold value for changing the packet type when the data packet is transmitted differently. For example, the threshold value for changing the packet type when transmission fails may be set to the number of times, and the threshold value for changing the packet type when transmission is successful may be set for time.
- the threshold value for changing the packet type when transmission fails may be set to the number of times
- the threshold value for changing the packet type when transmission is successful may be set for time.
- FIG. 6 is a flowchart 600 illustrating an operation of transmitting and receiving a data packet between a plurality of devices in a Bluetooth network environment according to an embodiment.
- operations of the electronic device to be described may be performed by a communication module (eg, the communication module 190 of FIG. 1 ) of the electronic device 101 .
- Operations of the electronic device described below according to an embodiment may be performed by a Bluetooth chip included in a communication module of the electronic device.
- the electronic device 101 transmits the first data data1 to the external electronic device 102 by including the first data data1 in the payload of a packet of the first packet type (eg, 3DH5 packet type).
- the electronic device 101 may receive a NACK message indicating that the first data has not been normally received from the external electronic device 102 .
- the electronic device 101 receives the NACK message indicating that the first data has not been normally received from the external electronic device 102 in operation 602 , and a first threshold value (eg, for packet type change) : time or number of times) 650, the first data may be retransmitted.
- the electronic device 101 may maintain the packet type as the first packet type (eg, 3DH5 packet type).
- the method of setting the first threshold value 650 for changing the packet type may be the same as the method described above with reference to FIG. 2 or FIG. 4 or FIG. 5 .
- the electronic device 101 may receive a NACK message indicating that the retransmitted first data has not been normally received from the external electronic device 102 .
- the electronic device 101 receives a NACK message indicating that the first data has not been normally received in operation 604 from the external electronic device 102 , and in operation 604 , a first for changing a set packet type before data transmission
- the first data may be retransmitted by changing the packet type.
- the electronic device 101 may change to a second packet type (eg, 3DH3 packet type) having higher transmission stability than the first packet type (eg, 3DH5 packet type), which is the current packet type.
- the second packet type (eg, 3DH3 packet type) may be relatively stronger in a complex communication environment than the first packet type (eg, 3DH5 packet type).
- the electronic device 101 may transmit the first data to the external electronic device 102 by including the first data in a payload of a packet of a second packet type (eg, a 3DH3 packet type).
- the electronic device 101 may receive a NACK message indicating that the retransmitted first data has not been normally received from the external electronic device 102 .
- the electronic device 101 receives a NACK message indicating that the first data retransmitted in operation 606 has not been normally received from the external electronic device 102 and a second threshold value ( 651), the first data may be retransmitted.
- the electronic device 101 may maintain the packet type as the second packet type (eg, 3DH3 packet type).
- the method of setting the second threshold value 651 for changing the packet type may be the same as the method described above with reference to FIG. 2 or FIG. 4 or FIG. 5 .
- the electronic device 101 may receive a NACK message indicating that the retransmitted first data has not been normally received from the external electronic device 102 .
- the electronic device 101 receives a NACK message indicating that the first data has not been normally received from the external electronic device 102 in operation 608 , and in operation 608 , a second for changing a packet type set before data transmission
- the first data may be retransmitted by changing the packet type.
- the electronic device 101 may change to a third packet type (eg, 2DH5 packet type) having higher transmission stability than the second packet type (eg, 3DH3 packet type) that is the current packet type.
- the third packet type (eg, 2DH5 packet type) may be relatively strong in a complex communication environment than the second packet type (eg, 3DH3 packet type).
- the electronic device 101 may transmit the first data to the external electronic device 102 by including the first data in a payload of a packet of a third packet type (eg, a 2DH5 packet type).
- the electronic device 101 may receive a NACK message indicating that the retransmitted first data has not been normally received from the external electronic device 102 .
- the electronic device 101 receives a NACK message indicating that the first data retransmitted in operation 610 has not been normally received from the external electronic device 102 and a third threshold value ( 652), the first data may be retransmitted.
- the electronic device 101 may maintain the packet type as the third packet type (eg, 2DH5 packet type).
- the method of setting the third threshold value 652 for changing the packet type may be the same as the method described above with reference to FIG. 2 or FIG. 4 or FIG. 5 .
- the electronic device 101 may receive a NACK message indicating that the retransmitted first data has not been normally received from the external electronic device 102 .
- the electronic device 101 receives a NACK message indicating that the first data has not been normally received from the external electronic device 102 in operation 612 , and in operation 612 , a third for changing the set packet type before data transmission
- the first data may be retransmitted by changing the packet type.
- the electronic device 101 may change to a fourth packet type (eg, 2DH3 packet type) having higher transmission stability than the third packet type (eg, 2DH5 packet type) that is the current packet type.
- the fourth packet type (eg, 2DH3 packet type) may be relatively stronger in a complex communication environment than the third packet type (eg, 2DH5 packet type).
- the electronic device 101 may transmit the first data to the external electronic device 102 by including the first data in a payload of a packet of a fourth packet type (eg, a 2DH3 packet type).
- the electronic device 101 may receive an ACK message indicating that the retransmitted first data has been normally received from the external electronic device 102 .
- the electronic device 101 may estimate the size of a jitter buffer of the external electronic device 102 through a delay report when connecting to the external electronic device 102 .
- the electronic device 101 may estimate the size of the empty space of the jitter buffer of the external electronic device 102 based on the time at which the data packet is normally received by the external electronic device 102 .
- the empty space of the jitter buffer is a space in the jitter buffer excluding a space in which already received data packets are stored, and may mean a free space in which data packets can be received and stored in the future.
- the electronic device 101 may estimate the size of the empty space of the jitter buffer of the external electronic device 102 based on the ACK message received from the external electronic device 102 in operation 614 . According to an embodiment, the electronic device 101 receives a delay time at which the data packet is normally received by the external electronic device 102 based on the ACK message received from the external electronic device 102 in a data packet retransmission situation. can be calculated.
- the electronic device 101 estimates the size of the empty space of the jitter buffer of the external electronic device 102 in the data packet transmission situation, and thus the jitter buffer of the external electronic device 102 .
- the size of the free space in the data is less than or equal to a certain threshold (e.g., when the size of the free space in the jitter buffer is less than or equal to 10% of the total jitter buffer size)
- the changed packet type e.g., the fourth packet type
- the electronic device 101 identifies that the size of the empty space of the jitter buffer of the external electronic device 102 is less than or equal to a specific threshold, so that the first data next to the first data is performed.
- the second data data 2 may be transmitted to the external electronic device 102 as a packet of a fourth packet type (eg, a 2DH3 packet type) identical to the data packet type in which the first data is transmitted in operation 613 .
- the electronic device 101 may receive an ACK message indicating that the second data has been normally received from the external electronic device 102 .
- the electronic device 101 transmits the third data data 3 , which is data next to the second data, to the external electronic device 102 in response to receiving the ACK message from the external electronic device 102 in operation 617 .
- the electronic device 101 identifies that the size of the empty space of the jitter buffer of the external electronic device 102 is equal to or less than a specific threshold value, or the size of the empty space of the jitter buffer of the external electronic device 102 increases As it is identified that the specific threshold is not exceeded, the fourth packet type (eg, 2DH3 packet type) in which the second data is transmitted may be maintained in operation 616 to transmit the third data.
- the electronic device 101 may receive an ACK message indicating that the third data has been normally received from the external electronic device 102 .
- the electronic device 101 transmits the fourth data data 4 that is the next data of the third data to the external electronic device 102 upon receiving the ACK message from the external electronic device 102 in operation 619 .
- the electronic device 101 identifies that the size of the empty space of the jitter buffer of the external electronic device 102 is equal to or less than a specific threshold value, or the size of the empty space of the jitter buffer of the external electronic device 102 increases As it is identified that the specific threshold is not exceeded, the fourth packet type (eg, 2DH3 packet type) in which the third data is transmitted may be maintained in operation 618 to transmit the fourth data.
- the electronic device 101 may receive an ACK message indicating that the fourth data has been normally received from the external electronic device 102 .
- the electronic device 101 may estimate the size of the empty space of the jitter buffer of the external electronic device 102 based on the ACK message received from the external electronic device 102 in operation 621 . According to an embodiment, in operation 622 , the electronic device 101 estimates the size of the empty space of the jitter buffer of the external electronic device 102 to determine the size of the empty space of the jitter buffer of the external electronic device 102 .
- the packet type for transmitting the fifth data (data 5 ) that is the next data of the fourth data may be changed to the packet type (eg, the first packet type) through which the first data is transmitted.
- the electronic device 101 identifies that the jitter buffer of the external electronic device 102 exceeds a specific threshold value, so as to generate fifth data that is the next data of the fourth data.
- 1 data may be transmitted to the external electronic device 102 in a first packet type (eg, a 3DH5 packet type) that is a first packet type.
- the first packet type eg, 3DH5 packet type
- the first packet type may transmit a larger amount of data than the fourth packet type (eg, 2DH3 packet type) in which the fourth data is transmitted in operation 620 .
- the electronic device 101 identifies that the size of the empty space of the jitter buffer of the external electronic device 102 exceeds a specific threshold value, and thus the last received preferred rate message (preferred rate message). ), the fifth data may be transmitted by calculating the packet type having a high transmission success probability.
- the electronic device 101 may receive an ACK message indicating that the fifth data has been normally received from the external electronic device 102 .
- the electronic device 101 may change the transport packet type in stages or change it to a specific packet type based on information on the size of the empty space of the jitter buffer of the external electronic device 102 .
- the type of the data packet may be gradually changed such as 2DH3->2DH5->3DH5.
- the size of the empty space of the jitter buffer of the external electronic device 102 or the type of data packet mapped for each size section may be designated.
- FIG. 6 illustrates that the electronic device 101 determines to change or maintain the packet type based on the size of the jitter buffer of the external electronic device 102
- the electronic device 101 is the ambient radio quality, the retransmission rate over a period of time, the received signal strength of the response (RSSI), the missing rate of NACK and ACK messages, the bit error rate (BER), or the packet error rate (PER).
- the change or maintenance of the packet type may be determined based on at least one of various factors affecting packet transmission. Through this, the electronic device can reduce a reaction speed to a change of an external factor to enable efficient data transmission, and minimize the problem of deterioration of the performance of the electronic device, thereby providing a stable service to the user.
- FIGS. 7 and 8 operations of a plurality of devices according to an exemplary embodiment will be described with reference to FIGS. 7 and 8 .
- the same components as those of the above-described embodiment may be referred to with the same reference numerals, and descriptions of the same components may be omitted.
- operations of the electronic device to be described may be performed by a communication module (eg, the communication module 190 of FIG. 1 ) of the electronic device 101 .
- Operations of the electronic device described below according to an embodiment may be performed by a Bluetooth chip included in a communication module of the electronic device.
- FIG. 7 illustrates electronic devices of a Bluetooth network 700 according to an embodiment.
- the user device 101 may be a portable electronic device (eg, a smart phone).
- the first device 102-1 and the second device 102-2 may be wireless earphones or wireless earbuds constituting one set.
- the user device 101 and the first device 102-1 and the second device 102-2 may be in a connected state.
- the user device 101 of FIG. 7 may be an example of the electronic device 101 of the embodiment described above with reference to FIGS. 1 to 6
- the first device 102-1 or the second device 102-2 may be an example of the external electronic device 102 of the embodiment described above with reference to FIGS. 1 to 6 .
- UI 8 illustrates user interfaces (UIs) 810 and 820 indicating connection of devices in a Bluetooth network environment according to an embodiment.
- FIG. 8 shows an embodiment in which the first device 102-1 and the second device 102-2 are configured as a set
- the user device 101 shows only a connection with the first device 202-1.
- the same principle can be applied to interfaces.
- the user device 101 recognizes the first device 102-1 by receiving an advertising signal transmitted from the first device 102-1 ( a first user interface 812 for informing the user of the recognized first device 102-1 and the second device 102-2 constituting the set with the first device 102-1, to the user. It can output through the display 811 of the device 101 .
- the first user interface 812 is, for example, an image 813 representing the shapes of the first device 102-1 and the second device 102-2 or the first device 102 . -1) and text 814 indicating a device name (eg, My Galaxy Buds) of the second device 102-2.
- the first user interface 812 may indicate whether the first device 102-1 or the second device 102-2 has a previous connection history.
- the advertising signal may include information for connection (or pairing) between the user device 101 and the first device 102-1.
- the advertising signal may include identification information of the first device 102-1, user account information, current pairing information indicating whether the first device 102-1 is pairing with another device, and the first device ( 102-1) is a pairing list indicating a list of previously paired devices, simultaneous pairing information indicating devices that can be paired with the first device 102-1 at the same time, transmit power, detection area, or battery It may include at least one of status information.
- the advertising signal may include identification information of the second device 102-2 and user account information.
- a first device ( 102-2) may further include at least one of simultaneous pairing information indicating a device capable of pairing at the same time, transmission power, detection area, or battery state information.
- the first device 102-1 may transmit an advertising signal through a multicast method or a broadcast method.
- the first device 102-1 may transmit an advertising signal according to a specified condition.
- the first device 102-1 may transmit an advertising signal in response to detecting that the case in which the first device 102-1 is stored is opened.
- the first device 102-1 may transmit an advertising signal in response to power being supplied or receiving a user input.
- the first device 102-1 may transmit an advertising signal at a specified period.
- the user device 101 automatically responds to receiving a user input 815 requesting connection with the first device 102-1, or automatically without a user input. ) and the first link 701 may be established.
- the user device 101 and the first device 102-1 may establish the first link 701 according to a procedure based on the Bluetooth standard. For example, the user device 101 and the first device 102-1 perform a baseband page procedure for recognizing the counterpart device, a link manager protocol (LMP) version, and a clock offset. offset), and the LMP procedure for identifying supported features (eg, supported feature), the host request/response procedure for confirming the connection, and whether the counterpart device is a trusted device.
- An authentication procedure for confirming, an encryption procedure, and a setup complete procedure for notifying the host of completion of a connection (eg, the first link 205 ) may be performed.
- the user device 101 displays a second user interface 821 indicating that the first device 102-1 is connected to the user device 101 as indicated by reference numeral 820 ( 811) can be printed.
- the second user interface 821 may include, for example, an image ( ) representing the battery state of the first electronic device 102-1 and the second device 102-2 constituting the set with the first device 102-1. 822) may be further included.
- the user device 101 is connected to an external device other than the first device 102-1 and the second device 102-2 in a state in which the first device 102 is pre-connected. -1) is discovered, so that the first device 102-1 or the second device 102-2 can monitor a pre-connected link between the user device 101 and an external device, the user device 101 ) may transmit information about a pre-connected link to the first device 102-1 or the second device 102-2.
- the first user interface 812 may include information indicating that the first device 102-1 or the second device 102-2 can be added.
- the user device 101 is configured with the first device 102-1 or the second device 102-2. ) to transmit information about a pre-connected link.
- the user device 101 may operate as a source device.
- the user device 101 may transmit audio data to the first device 102-1 through the first link 701 .
- the first device 102-1 and the second device 102-2 may be configured to receive audio data received from the user device 101 through the first link 701 and output the received audio data.
- the first device 102-1 and the second device 102-2 may store received audio data in a buffer and output an audio signal using the data stored in the buffer.
- the first device 102-1 and/or the second device 102-2 may operate as a source device.
- the first device 102-1 and/or the second device 102-2 may transmit audio data to the user device 101 by using a radio resource of the first link 701 .
- the user device 101 may store the received audio data in a buffer and output an audio signal using the data stored in the buffer.
- various methods for an electronic device to set a reception path based on a communication state of the electronic device may be described.
- the user device 101, the first device 102-1, and/or the second device 102-2 may perform the embodiments described above with reference to FIGS. 1 to 6 .
- the electronic device 101 includes a wireless communication circuit configured to support a Bluetooth protocol, wherein the wireless communication circuit: creates a communication link with an external electronic device (201) ), when the first type of packet including the first data is transmitted through the communication link (203), and an ACK message for the transmitted first type of packet is not received from the external electronic device (204) , determine whether a first threshold value is reached (206), and when the first threshold value is reached, transmit a second type of packet including at least a portion of the first data (207), the first threshold value If the value is not reached, the first type of packet including the first data may be retransmitted.
- the wireless communication circuit creates a communication link with an external electronic device (201) ), when the first type of packet including the first data is transmitted through the communication link (203), and an ACK message for the transmitted first type of packet is not received from the external electronic device (204) , determine whether a first threshold value is reached (206), and when the first threshold value is reached, transmit a second type of packet including at least a portion of the first data (
- the wireless communication circuit may be configured to set the first threshold value for a predetermined time (slot) or the number of times (count) of the retransmission.
- the wireless communication circuit includes a wireless communication environment between the electronic device and the external electronic device, a buffer size of the external electronic device, and retransmission of a data packet for a predetermined period. At least one of a rate, a received signal strength indicator of a response, a missing rate of NACK messages and ACK messages for a certain period of time, a bit error rate, or a packet error rate and set the first threshold value based on one.
- the wireless communication circuit is less affected by the wireless communication environment between the electronic device and the external electronic device than the first type, and the packet type has high transmission stability. may be configured to determine the second type.
- the wireless communication circuit includes a packet type in which a modulation method is changed in the first type, a packet type in which a packet size is changed in the first type, or a modulation method in the first type, and It may be configured to determine a packet type whose packet size is changed as the second type.
- the wireless communication circuit when the wireless communication circuit receives the ACK message for the transmitted first type of packet from the external electronic device, the second data that is the next data of the first data may be configured to transmit in the first type or the second type.
- the wireless communication circuit is configured to determine whether to transmit the second data in the first type or in the second type based on a buffer size of the external electronic device can be
- the electronic device 101 includes a wireless communication circuit configured to support a Bluetooth protocol, wherein the wireless communication circuit: creates a communication link with an external electronic device (201) ), set a first threshold value for changing the first type to the second type and a second threshold value for changing the second type to the third type (202), and transmit the first data through the communication link transmitting the first type of packet including (203), and when an ACK message for the first type of packet is not received from the external electronic device (204), it is determined whether the first threshold value is reached ( 206), when the first threshold value is reached, transmitting the second type of packet including at least a portion of the first data (207), and sending an ACK message for the second type of packet to the external electronic device If it is not received from the device, it is determined whether the second threshold value is reached, and when the second threshold value is reached, the third type of packet including at least a part of the first data can be transmitted. .
- the wireless communication circuit may be configured to set the first threshold value and the second threshold value to be different from each other.
- the wireless communication circuit may be configured to set the first threshold value and the second threshold value for a predetermined time (slot) or a predetermined number of times (count).
- the wireless communication circuit includes a packet type in which a modulation method is changed in the first type, a packet type in which a packet size is changed in the first type, or a modulation method in the first type, and It may be configured to determine a packet type whose packet size is changed as the second type.
- the wireless communication circuit may include a modulation type packet type having a lower transmission rate than the second type, a packet type having a smaller packet size than the second type, or a transmission rate than the second type It may be configured to use this low modulation scheme and determine a packet type having a small packet size as the third type.
- the wireless communication circuit when the first threshold value is not reached, retransmits the first type of packet including the first data, and the second threshold value if not reached, retransmit the packet of the second type including at least a portion of the first data.
- the electronic device communicates with an external electronic device through a wireless communication circuit configured to support a Bluetooth protocol included in the electronic device. creating a communication link (201), and transmitting (203) a packet of a first type including first data through the communication link by a wireless communication circuit included in the electronic device, and the wireless communication If, by the circuit, an ACK message for the transmitted first type of packet is not received from the external electronic device (204), it is determined whether a first threshold value is reached (206), and by the wireless communication circuit, When the first threshold value is reached, transmit (207) a second type of packet including at least a portion of the first data, by the wireless communication circuitry, if the first threshold value is not reached; The first type of packet including the first data may be retransmitted.
- a data packet may be transmitted by setting the first threshold value to a predetermined time (slot) or the number of retransmissions (count) by the wireless communication circuit.
- the wireless communication circuit by the wireless communication circuit, the wireless communication environment between the electronic device and the external electronic device, the buffer size of the external electronic device, and the data packet for a certain period of time Among the retransmission rate, the received signal strength indicator of the response, the missing rate of NACK messages and ACK messages for a certain period, the bit error rate, or the packet error rate
- the first threshold value may be set based on at least one.
- a packet type that is less affected by the wireless communication environment between the electronic device and the external electronic device and has high transmission stability than the first type A data packet determined as the second type may be transmitted.
- a packet type in which a modulation method is changed in the first type, a packet type in which a packet size is changed in the first type, or a modulation method in the first type and a packet type having a changed packet size may be determined as the second type.
- the second data that is the next data of the first data Data may be transmitted in the first type or the second type.
- the wireless communication circuit may determine whether to transmit the second data in the first type or in the second type based on the buffer size of the external electronic device. have.
- Electronic devices may be devices of various types.
- the electronic device may include, for example, a portable communication device (eg, a smart phone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a home appliance device.
- a portable communication device eg, a smart phone
- a computer device e.g., a smart phone
- a portable multimedia device e.g., a portable medical device
- a camera e.g., a portable medical device
- a camera e.g., a portable medical device
- a camera e.g., a portable medical device
- a camera e.g., a camera
- a wearable device e.g., a smart bracelet
- a home appliance device e.g., a smart bracelet
- the electronic device according to the embodiment of the present document is not limited to the above-described devices.
- first”, “second”, or “first” or “second” may simply be used to distinguish the component from other components in question, and may refer to components in other aspects (e.g., importance or order) is not limited. It is said that one (eg, first) component is “coupled” or “connected” to another (eg, second) component, with or without the terms “functionally” or “communicatively”. When referenced, it means that one component can be connected to the other component directly (eg by wire), wirelessly, or through a third component.
- module may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as, for example, logic, logic block, component, or circuit.
- a module may be an integrally formed part or a minimum unit or a part of the part that performs one or more functions.
- the module may be implemented in the form of an application-specific integrated circuit (ASIC).
- ASIC application-specific integrated circuit
- one or more instructions stored in a storage medium may be implemented as software (eg, the program 140) including
- the processor eg, the processor 120
- the device may call at least one of one or more instructions stored from a storage medium and execute it. This makes it possible for the device to be operated to perform at least one function according to the at least one command called.
- the one or more instructions may include code generated by a compiler or code executable by an interpreter.
- the device-readable storage medium may be provided in the form of a non-transitory storage medium.
- 'non-transitory' only means that the storage medium is a tangible device and does not include a signal (eg, electromagnetic wave), and this term is used in cases where data is semi-permanently stored in the storage medium and It does not distinguish between temporary storage cases.
- a signal eg, electromagnetic wave
- the method according to various embodiments disclosed in this document may be provided by being included in a computer program product.
- Computer program products may be traded between sellers and buyers as commodities.
- the computer program product is distributed in the form of a machine-readable storage medium (eg compact disc read only memory (CD-ROM)), or via an application store (eg Play Store TM ) or on two user devices ( It can be distributed (eg downloaded or uploaded) directly, online between smartphones (eg: smartphones).
- a part of the computer program product may be temporarily stored or temporarily created in a machine-readable storage medium such as a memory of a server of a manufacturer, a server of an application store, or a relay server.
- each component eg, a module or a program of the above-described components may include a singular or a plurality of entities.
- one or more components or operations among the above-described corresponding components may be omitted, or one or more other components or operations may be added.
- a plurality of components eg, a module or a program
- the integrated component may perform one or more functions of each component of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to the integration. .
- operations performed by a module, program, or other component are executed sequentially, in parallel, repeatedly, or heuristically, or one or more of the operations are executed in a different order, omitted, or , or one or more other operations may be added.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Environmental & Geological Engineering (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
본 문서에 개시되는 일 실시 예에 따른 전자 장치는, 블루투스 프로토콜을 지원하도록 구성된 무선 통신 회로를 포함하고, 상기 무선 통신 회로는: 외부 전자 장치와 통신 링크(link)를 생성하고, 상기 통신 링크를 통하여 제1 데이터를 포함하는 제1 타입의 패킷을 전송하고, 상기 전송한 제1 타입의 패킷에 대한 ACK 메시지를 상기 외부 전자 장치로부터 수신하지 못한 경우, 제1 임계 값에 도달하였는지 판단하고, 상기 제1 임계 값에 도달한 경우, 상기 제1 데이터의 적어도 일부를 포함하는 제2 타입의 패킷을 전송하고, 상기 제1 임계 값에 도달하지 않은 경우, 상기 제1 데이터를 포함하는 상기 제1 타입의 패킷을 재전송할 수 있다.
Description
본 문서에서 개시되는 다양한 실시 예들은, 블루투스 네트워크 환경에서 데이터를 전송하기 위한 전자 장치 및 그에 관한 방법과 관련된다.
블루투스 SIG(bluetooth special interest group)에 의하여 규정되는 블루투스 표준 기술은 전자 장치들 간 근거리 무선 통신을 위한 프로토콜을 정의한다. 블루투스 네트워크 환경에서, 전자 장치들은 지정된 주파수 대역(예: 약 2.4기가헤르츠(gigahertz, GHz))에서 문자, 음성, 이미지, 또는 비디오와 같은 콘텐츠를 포함하는 데이터 패킷을 송신 또는 수신할 수 있다.
예를 들어, 스마트폰(smartphone), 태블릿(tablet), 데스크탑(desktop) 컴퓨터, 또는 랩탑(laptop) 컴퓨터와 같은 사용자 단말(user equipment, UE)은 블루투스 네트워크 환경을 통하여 데이터 패킷을 다른 사용자 단말이나 액세서리 장치에게 전송할 수 있다. 액세서리 장치는 예를 들어, 이어폰, 헤드셋, 스피커, 마우스, 키보드, 충전기 또는 디스플레이 장치 중 적어도 하나를 포함할 수 있다.
블루투스 네트워크 환경을 나타내는 토폴로지(topology)는 데이터 패킷을 전송하는 하나의 사용자 장치(예: DUT(device under test))와 사용자 장치로부터 데이터 패킷을 수신하는 복수의 외부 전자 장치들을 포함할 수 있다. 예를 들어, 이어폰(또는 헤드셋)이 스마트폰에 연결되면, 사용자의 왼쪽 귀에 착용되는 이어폰과 사용자의 오른쪽 귀에 착용되는 이어폰이 스마트폰으로부터 데이터 패킷을 수신할 수 있다.
블루투스 레거시 무선 네트워크 기술은 외부 전자 장치로 페이로드(payload)와 CRC(cyclic redundancy check)를 가지는 패킷 전송 시, 해당 패킷이 외부 전자 장치에 정상적으로 전송되었는지를 확인할 때까지, 계속 재전송 해야 할 수 있다. 또는, 재전송에 정해진 타임 아웃 시간이 있다면, 해당 타임 아웃 시간까지 해당 패킷을 계속 외부 전자 장치에게 재전송 할 수 있다. 패킷이 외부 전자 장치에 정상적으로 수신되었는지 여부는 패킷을 수신한 외부 전자 장치가 패킷을 전송한 전자 장치에게 응답해야 하며, 비번호 ARQ(Unnumbered ARQ(automatic repeat request)) 방식을 통해, ACK(ARQN=1) 이나 NACK(ARQN=0)을 설정해 응답할 수 있다.
블루투스 전자 장치는 2.4GHz 대역을 사용하는 무선 기술이므로, Wi-Fi, Zigbee, 또는 LTE Band 7과 같은 동일 주파수 대역을 사용하는 다른 통신 기술에 의해 통신 품질이 영향 받을 수 있다. 또한, 통신 연결된 외부 블루투스 전자 장치 사이의 물리적 장애물 또는 물리적 거리에 따라 통신 품질에 영향을 받을 수도 있다. 이러한 다양한 물리적 또는 환경적인 영향들로 인해 데이터 패킷이 정상적으로 전달되지 못하고 지속적으로 재전송될 수 있으며 이 경우, 불필요한 리소스 및 전류를 낭비하게 되어 전자 장치의 전체적인 성능 저하 문제가 발생할 수 있다. 이러한 무선 품질 상태의 변경에 대하여 대응할 수 있는 채널 품질 중심 데이터 속도 변경(CQDDR, channel quality driven data rate change)이라는 기능이 있으나, CQDDR 기능은 일정 기간 동안 수집한 무선 품질을 기반으로 데이터 패킷의 타입을 변경하는 기능이므로 빈번히 변경되는 무선 환경 및 두 블루투스 전자 장치 간의 상태에 대한 변화에 대한 신속한 대응은 어려울 수 있다.
본 문서에 개시된 다양한 실시 예들은, 블루투스 네트워크 환경에서 상술한 문제들을 해결하기 위한 전자 장치 및 방법을 제공할 수 있다.
본 문서에 개시되는 일 실시 예에 따른 전자 장치는, 블루투스 프로토콜을 지원하도록 구성된 무선 통신 회로를 포함하고, 상기 무선 통신 회로는: 외부 전자 장치와 통신 링크(link)를 생성하고, 상기 통신 링크를 통하여 제1 데이터를 포함하는 제1 타입의 패킷을 전송하고, 상기 전송한 제1 타입의 패킷에 대한 ACK 메시지를 상기 외부 전자 장치로부터 수신하지 못한 경우, 제1 임계 값에 도달하였는지 판단하고, 상기 제1 임계 값에 도달한 경우, 상기 제1 데이터의 적어도 일부를 포함하는 제2 타입의 패킷을 전송하고, 상기 제1 임계 값에 도달하지 않은 경우, 상기 제1 데이터를 포함하는 상기 제1 타입의 패킷을 재전송할 수 있다.
본 문서에 개시되는 일 실시 예에 따른 전자 장치는, 블루투스 프로토콜을 지원하도록 구성된 무선 통신 회로를 포함하고, 상기 무선 통신 회로는: 외부 전자 장치와 통신 링크(link)를 생성하고, 제1 타입을 제2 타입으로 변경하기 위한 제1 임계 값 및 상기 제2 타입을 제3 타입으로 변경하기 위한 제2 임계 값을 설정하고, 상기 통신 링크를 통하여 제1 데이터를 포함하는 상기 제1 타입의 패킷을 전송하고, 상기 제1 타입의 패킷에 대한 ACK 메시지를 상기 외부 전자 장치로부터 수신하지 못한 경우, 상기 제1 임계 값에 도달하였는지 판단하며, 상기 제1 임계 값에 도달한 경우, 상기 제1 데이터의 적어도 일부를 포함하는 상기 제2 타입의 패킷으로 전송하고, 상기 제2 타입의 패킷에 대한 ACK 메시지를 상기 외부 전자 장치로부터 수신하지 못한 경우, 상기 제2 임계 값에 도달하였는지 판단하며, 상기 제2 임계 값에 도달한 경우, 상기 제1 데이터의 적어도 일부를 포함하는 상기 제3 타입의 패킷으로 전송하도록 할 수 있다.
본 문서에 개시되는 일 실시 예에 따른 전자 장치를 사용하여 데이터 패킷을 전송하기 위한 방법에 있어서, 상기 전자 장치에 포함되는 블루투스 프로토콜을 지원하도록 구성된 무선 통신 회로를 통해, 외부 전자 장치와 통신 링크(link)를 생성하고, 상기 전자 장치에 포함되는 무선 통신 회로에 의해, 상기 통신 링크를 통하여 제1 데이터를 포함하는 제1 타입의 패킷을 전송하고, 상기 무선 통신 회로에 의해, 상기 전송한 제1 타입의 패킷에 대한 ACK 메시지를 상기 외부 전자 장치로부터 수신하지 못한 경우, 제1 임계 값에 도달하였는지 판단하고, 상기 무선 통신 회로에 의해, 상기 제1 임계 값에 도달한 경우, 상기 제1 데이터의 적어도 일부를 포함하는 제2 타입의 패킷을 전송하며, 상기 무선 통신 회로에 의해, 상기 제1 임계 값에 도달하지 않은 경우, 상기 제1 데이터를 포함하는 상기 제1 타입의 패킷을 재전송하도록 할 수 있다.
본 문서에 개시되는 다양한 실시 예들에 따르면, 전자 장치는 블루투스 네트워크 환경에서 변경되는 무선 환경 및 전자 장치 간의 상태를 신속하게 반영하여 효율적으로 데이터 패킷을 재전송함으로써 불필요한 자원의 소모를 줄이고, 데이터 처리를 위한 지연 시간을 줄일 수 있다.
이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.
도 1은 다양한 실시 예들에 따른 네트워크 환경 내의 전자 장치의 블록도이다.
도 2는 일 실시예에 따른 전자 장치의 동작을 나타낸 순서도이다.
도 3은 일 실시예에 따른 블루투스 네트워크 환경의 복수의 장치들 사이의 데이터 패킷의 송수신 동작을 나타낸 순서도이다.
도 4는 일 실시예에 따른 전자 장치의 패킷 타입 변경을 위한 임계 값의 설정 예시를 나타낸 도면이다.
도 5는 일 실시예에 따른 전자 장치의 패킷 타입 변경을 위한 임계 값의 설정 예시를 나타낸 도면이다.
도 6은 일 실시예에 따른 블루투스 네트워크 환경의 복수의 장치들 사이의 데이터 패킷의 송수신 동작을 나타낸 순서도이다.
도 7은 일 실시예에 따른 블루투스 네트워크의 전자 장치들을 도시한다.
도 8은 일 실시예에 따른 블루투스 네트워크 환경에서 장치들의 연결을 나타내는 사용자 인터페이스(user interface, UI)를 도시한다.
도면의 설명과 관련하여, 동일 또는 유사한 구성요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.
이하, 본 발명의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 실시 예의 다양한 변경(modification), 균등물(equivalent), 및/또는 대체물(alternative)을 포함하는 것으로 이해되어야 한다.
이하, 도 1을 참고하여, 일 실시예에 따른 전자 장치의 구성에 대하여 설명한다.
도 1은 다양한 실시 예들에 따른 네트워크 환경(100) 내의 전자 장치(101)의 블록도이다.
도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108)와 통신할 수 있다. 일 실시 예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일 실시 예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 장치(150), 음향 출력 장치(155), 표시 장치(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시 예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 표시 장치(160) 또는 카메라 모듈(180))가 생략되거나, 하나 이상의 다른 구성 요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들은 하나의 통합된 회로로 구현될 수 있다. 예를 들면, 센서 모듈(176)(예: 지문 센서, 홍채 센서, 또는 조도 센서)은 표시 장치(160)(예: 디스플레이)에 임베디드된 채 구현될 수 있다
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일 실시 예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 로드하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일 실시 예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서), 및 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 추가적으로 또는 대체적으로, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 또는 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 표시 장치(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일 실시 예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성 요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다.
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 장치(150)는, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 장치(150)는, 예를 들면, 마이크, 마우스, 키보드, 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다.
음향 출력 장치(155)는 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 장치(155)는, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있고, 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일 실시 예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
표시 장치(160)는 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 표시 장치(160)는, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일 실시 예에 따르면, 표시 장치(160)는 터치를 감지하도록 설정된 터치 회로(touch circuitry), 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 센서 회로(예: 압력 센서)를 포함할 수 있다.
오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일 실시 예에 따르면, 오디오 모듈(170)은, 입력 장치(150)를 통해 소리를 획득하거나, 음향 출력 장치(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102)) (예: 스피커 또는 헤드폰))를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일 실시 예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(177)는 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일 실시 예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일 실시 예에 따르면, 연결 단자(178)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일 실시 예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일 실시 예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일 실시 예에 따르면, 전력 관리 모듈(188)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성 요소에 전력을 공급할 수 있다. 일 실시 예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108))간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일 실시 예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제1 네트워크(198)(예: 블루투스, WiFi direct 또는 IrDA(infrared data association) 같은 근거리 통신 네트워크) 또는 제2 네트워크(199)(예: 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부 전자 장치(104)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성 요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성 요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제1 네트워크(198) 또는 제2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 및 인증할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일 실시 예에 따르면, 안테나 모듈(197)은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 하나의 안테나를 포함할 수 있다. 일 실시 예에 따르면, 안테나 모듈(197)은 복수의 안테나들을 포함할 수 있다. 이런 경우, 제1 네트워크(198) 또는 제2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC)이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))을 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일 실시 예에 따르면, 명령 또는 데이터는 제2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 외부 전자 장치(102, 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일 실시 예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부 전자 장치들(102, 104, 또는 108) 중 하나 이상의 외부 전자 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
이하, 도 2를 참고하여, 일 실시예에 따른 복수의 장치들의 동작에 대하여 설명한다.
도 2는 일 실시예에 따른 전자 장치의 동작을 나타낸 순서도(200)이다.
앞서 설명한 실시예와 동일한 구성은 동일한 참조 번호로 참조될 수 있다. 도 2에 도시된 복수의 동작들의 순서는 일 예시이며, 다양한 실시예에 따라 전자 장치의 동작 순서는 변경될 수 있다.
이하, 설명되는 전자 장치의 동작들은 전자 장치(예: 도 1의 전자 장치(101))의 통신 모듈(예: 도 1의 통신 모듈(190))에서 수행될 수 있다. 일 실시예에 따라 이하 설명되는 전자 장치의 동작들은 전자 장치의 통신 모듈에 포함되는 블루투스 칩에 의해 수행될 수 있다.
도 2를 참조하면, 동작 201 에서, 전자 장치(예: 도 1의 전자 장치(101))는 외부 전자 장치(예: 도 1의 전자 장치(102))와 블루투스 연결을 할 수 있다. 일 실시예에 따라, 전자 장치 및 외부 전자 장치는 블루투스 SIG에 의하여 규정되는 블루투스 네트워크(예: 도 1의 제1 네트워크(198))에 따라 근거리에서 무선 통신을 수행할 수 있다. 블루투스 네트워크는 예를 들어, 블루투스 레거시(legacy) 네트워크와, BLE(bluetooth low energy) 네트워크를 포함할 수 있다. 일 실시 예에 따르면, 전자 장치 및 외부 전자 장치는 블루투스 레거시 네트워크와 BLE 네트워크 중 하나의 네트워크를 통해 무선 통신을 수행하거나, 두 개의 네트워크를 통해 무선 통신을 수행할 수 있다.
전자 장치는 일 실시예에 따라, 스마트폰, 태블릿, 데스크 탑 컴퓨터, 또는 랩 탑 컴퓨터와 같은 사용자 단말을 포함하고, 외부 전자 장치는 이어폰, 헤드셋, 스피커, 마우스, 키보드, 또는 디스플레이 장치와 같은 액세서리 장치를 포함할 수 있다.
일 실시 예에 따르면, 전자 장치 및 외부 전자 장치 각각은 상대방 장치(예: 외부 전자 장치 또는 전자 장치)를 미리 인식하거나, 상대방 장치의 정보(예: 주소 정보)를 미리 저장할 수 있다.
일 실시 예에 따르면, 전자 장치는 마스터 장치의 역할을 수행하고, 외부 전자 장치는 슬레이브 장치의 역할을 수행할 수 있다. 슬레이브 장치의 역할을 수행하는 장치들의 개수는 1 대로 제한되는 것은 아니다. 일 실시 예에 따르면, 장치의 역할은 장치들 간 통신 링크(link)가 생성되는 절차에서 결정될 수 있다. 다른 실시 예에 따르면, 전자 장치 및 외부 전자 장치 중에서 하나의 장치(예: 외부 전자 장치)가 마스터 장치의 역할을 수행하고, 다른 하나의 장치(예: 전자 장치)가 슬레이브 장치의 역할을 수행할 수 있다.
마스터 장치는 물리 채널(physical channel)을 제어할 수 있다. 일 실시예에 따라, 마스터 장치는 데이터 패킷을 전송할 수 있는 반면에, 슬레이브 장치는 마스터 장치로부터 데이터 패킷을 수신한 이후에 한하여 마스터 장치로 데이터 패킷을 전송할 수 있다. 일 실시예에 따라, 데이터 패킷의 전송을 위한 채널 자원(예: 주파수 호핑 채널(frequency hopping channel))은 마스터 장치의 클락(clock)에 기반하여 생성될 수 있다. 블루투스 레거시 네트워크에서, 시간 자원(예: 타임 슬롯(time slot))은 마스터 장치의 클락에 기반하여 결정될 수 있다. 타임 슬롯은 일 실시예에 따라, 625 us(microsecond)일 수 있다. BLE 네트워크에서, 마스터 장치와 슬레이브 장치는 지정된 구간(interval) 마다 데이터 패킷을 전송하고, 데이터 패킷이 수신되면 지정된 시간(예: T_IFS(the inter frame space), 약 150 us) 이후에 응답할 수 있다.
이하, 전자 장치가 마스터 장치로 동작하고, 외부 전자 장치가 슬레이브 장치로 동작하는 상황을 고려하여 설명을 한다.
일 실시 예에 따르면, 전자 장치는 외부 전자 장치에게 문자, 음성, 이미지, 또는 비디오와 같은 콘텐츠를 포함하는 데이터 패킷을 전송할 수 있다. 데이터 패킷이 포함하는 콘텐츠의 종류에 따라 전자 장치뿐만 아니라 외부 전자 장치도 데이터 패킷을 전송할 수 있다.
일 실시예에 따라, 전자 장치에서 음악이 재생되면, 전자 장치에 한하여 데이터 패킷을 전송할 수 있는 반면에, 전자 장치에서 통화가 수행되면 전자 장치뿐만 아니라 외부 전자 장치도 콘텐츠(예: 음성 데이터)를 포함하는 데이터 패킷을 전자 장치로 전송할 수 있다. 이때, 외부 전자 장치는 음향 입력 장치(예: 마이크)를 포함할 수 있으며 음향 입력 장치를 통하여 음성 데이터를 입력 받을 수 있다.
전자 장치만 데이터 패킷을 전송하는 경우, 전자 장치는 소스 장치(source device)로 지칭되고, 외부 전자 장치는 싱크 장치(sink device)로 지칭될 수 있다.
전자 장치는 외부 전자 장치와 통신 링크를 수립할 수 있다. 전자 장치는 통신 링크를 통하여 데이터 패킷을 외부 전자 장치에게 전송할 수 있다. 일 실시 예에 따르면, 외부 전자 장치는 데이터 패킷을 정상적으로 수신하였는지 여부를 알리기(notify) 위한 응답 메시지를 통신 링크를 통해 전자 장치에게 전송할 수 있다. 본 문서에서, 데이터 패킷이 정상적으로 수신 됨은 데이터를 포함하는 신호를 성공적으로 수신한 것뿐만 아니라, 데이터가 성공적으로 처리(예: 디코딩(decoding) 또는 파싱(parsing))됨을 의미할 수 있다.
전자 장치는 블루투스 무선 네트워크 기술의 정해진 포맷(format)에 맞게 패킷을 구성해야 하며, 사용 용도, 모듈레이션(modulation) 방식 및/또는 에러 체크(error check) 방식에 따라, 다양한 패킷 타입을 구성할 수 있다. 패킷은 모듈레이션 방식에 따라 BR(basic rate) 패킷 포맷 또는 EDR(enhanced data rRate) 패킷 포맷으로 구분될 수 있으며, 사용 용도에 따라 Common packet type, SCO type, eSCO type, 또는 ACL type으로 구분될 수 있다. BR 또는 EDR 패킷 타입은 모듈레이션 방식에 따라, 전송 가능 전력, 및/또는 수신 품질의 성능에 차이가 발생할 수 있으며, 따라서 전자 장치는 통신 상황에 맞는 패킷 타입을 결정할 수 있어야 한다.
일 실시예에 따라, 전자 장치는 외부 전자 장치와 통신 시, 채널 품질 중심 데이터 속도 변경(CQDDR, channel uality driven data rate change)을 이용해 다양한 패킷 타입을 선택적으로 사용할 수 있다. 일 실시예에 따라, 블루투스 패킷 타입은 모듈레이션 방식과 패킷 크기의 조합에 의하여 결정될 수 있다. 예를 들어, 모듈레이션 방식에서 2Mbps 타입을 선택하고, 크기는 3 슬롯(slot)을 선택한 경우, 2M + 3slot의 패킷 타입으로 결정될 수 있다.
일 실시예에 따라, 모듈레이션 방식은 Basic rate인 1Mbps와 Enhanced data rate인 2Mbps 또는 3Mbps로 나뉠 수 있으며, EDR 패킷 타입의 경우, BR 패킷 타입에 비해 상대적으로 많은 데이터를 전송할 수 있으나, 복잡한 통신 환경에 취약하고, BR 패킷 타입은 복잡한 통신 환경에 강한 반면 상대적으로 적은 데이터를 전송할 수 있다.
일 실시예에 따라, 패킷 크기는 1 slot, 3 slot, 5 slot으로 구분될 수 있다. 5 slot 크기의 패킷을 사용하는 경우 많은 데이터를 보낼 수 있는 반면, 주변 통신 환경에 상대적으로 취약하며, 1 slot 크기의 패킷을 사용하는 경우 주변 통신 환경에는 강하지만, 상대적으로 적은 데이터를 전송할 수 있다. 전자 장치는 Rx 수신 부의 품질 측정, 즉, 비트 오류 율(bit error rate), 패킷 오류 율(packet error rate), 또는 수신 신호 강도(received signal strength indicator) 중 적어도 하나를 기반으로 모듈레이션 방식(1/2/3 Mbps) 및 패킷 사이즈(1/3/5 slot)를 결정할 수 있다.
블루투스 레거시 무선 네트워크 기술은 블루투스 전자 장치가 페이로드와 CRC(cyclic redundancy check)를 가지는 패킷을 전송할 시, 해당 패킷이 외부 전자 장치에 정상적으로 전송되었는지를 확인할 때까지, 계속 재전송하거나, 재전송에 정해진 타임 아웃 시간이 있는 경우 해당 타임 아웃 시간까지 계속 재전송 할 수 있다. 외부 전자 장치가 패킷을 정상적으로 수신하였는지 여부는 패킷을 수신한 외부 전자 장치가 패킷을 전송한 전자 장치에게 비 번호 ARQ(unnumbered ARQ) 방식을 기반으로 ACK(ARQN bit를 1로 설정) 이나 NACK(ARQN bit를 0으로 설정)으로 설정한 응답 메시지를 전송하여 알려줄 수 있다. 물리적인 장애물이나 채널 환경으로 인해, 외부 전자 장치가 패킷을 수신하지 못한 경우 외부 전자 장치는 응답 메시지를 전송하지 않을 수도 있다.
패킷을 전송한 전자 장치는 응답 메시지의 헤더(header)에 포함된 ARQN bit를 확인한 후, 외부 전자 장치가 패킷을 정상적으로 수신하였는지 여부를 판단 할 수 있으며, 이 판단을 기반으로, 동일한 패킷을 재 전송 할 것인지, 다음 패킷을 전송할 것인지 결정할 수 있다. 외부 전자 장치로부터 응답메시지가 없는 경우 역시, 전자 장치는 외부 전자 장치가 패킷을 수신하지 못하였다고 판단할 수 있으므로 동일 패킷을 재 전송할 수 있다. 외부 전자 장치가 전송한 응답 메시지(ACK 또는 NACK)를 물리적 장애물 또는 채널 환경 영향으로 전자 장치가 수신하지 못할 수도 있다. 이 경우, 전자 장치는 일정 시간이 경과하면 외부 전자 장치에게 패킷을 재 전송할 수 있다.
동작 202에서, 전자 장치는 외부 전자 장치와 통신 링크 생성 후, 패킷 타입 변경을 위한 임계 값을 설정할 수 있다. 패킷 타입 변경을 위한 임계 값은 일정 시간(slot) 또는 일정 전송 횟수(count)로 설정될 수 있으며, 전자 장치가 패킷 타입을 변경할지 여부를 결정하는 기준이 되는 값일 수 있다. 예를 들어, 전자 장치는 임계 값에 도달할 때까지 전자 장치가 전송한 패킷을 외부 전자 장치가 정상적으로 수신하지 못하였다고 판단되면 전자 장치는 패킷 타입을 변경할 수 있다. 일 실시예에 따라 임계 값은 패킷의 종류에 따라 다르게 설정될 수도 있고, 전자 장치의 설정에 의해 미리 설정되어 있을 수도 있다.
일 실시예에 따라, 전자 장치는 패킷 전송에 영향을 미치는 다양한 요소들 중 적어도 하나를 기반으로 패킷 타입 변경을 위한 임계 값을 설정할 수 있다. 예를 들어, 전자 장치는 수신 신호 강도(RSSI, received signal strength indicator)에 기반하여 패킷 타입 변경을 위한 임계 값을 설정할 수 있다. 다른 예를 들어, 전자 장치는 외부 전자 장치가 버퍼 사이즈를 전자 장치로 알려주는 경우, 버퍼 사이즈를 기반으로 패킷 타입 변경을 위한 임계 값을 설정할 수 있다. 또한, 일 실시예에 따라 전자 장치가 패킷을 전송하는 중에 주변 무선 수신 품질의 변화가 발생하는 경우 이에 따라 패킷 타입 변경 임계 값을 가변적으로 설정할 수도 있다.
동작 203에서, 전자 장치는 외부 전자 장치로 데이터 패킷(예: N번째 패킷)을 전송할 수 있다. 일 실시예에 따라 전자 장치는 전자 장치의 요청 또는 외부 전자 장치의 요청으로 데이터 패킷을 외부 전자 장치로 전송할 수 있다. 예를 들어, 사용자가 전자 장치와 외부 전자 장치가 통신 링크를 연결한 상태에서 음악 어플리케이션을 통해 음악을 재생할 수 있다. 이 경우, 전자 장치는 외부 전자 장치로 미디어 데이터 패킷을 주기적으로 전송해 오디오 서비스를 제공할 수 있다. 일 실시예에 따라, 전자 장치는 외부 전자 장치가 선호 레이트 메시지(preferred rate message)를 통해 전달한 모듈레이션(modulation) 방식과 슬롯(slot) 크기를 기반으로 미디어 데이터 패킷을 전달하는 패킷 타입을 선택할 수 있다.
일 실시예에 따라, 전자 장치와 외부 전자 장치는 오토 레이트 메시지(auto rate message)를 상대 전자 장치에게 전송하여 채널 퀄리티 측정(channel quality measurement)을 가능하게 하거나(enable) 불가능하게(disable) 할 수 있다. 일 실시예에 따라 전자 장치는 외부 전자 장치로 채널 품질 중심 데이터 속도 변경(CQDDR, channel quality driven data rate change)을 허용하는 의미로 오토 레이트 메시지를 전달할 수 있다. 외부 전자 장치도 전자 장치로 채널 품질 중심 데이터 속도 변경(CQDDR)을 허용하는 의미로 오토 레이트 메시지를 전달할 수 있다. 일 실시예에 따라, 전자 장치와 외부 전자 장치는 오토 레이트 메시지(auto rate message)를 각각 상대 전자 장치로부터 수신 후 서로 선호하는 패킷 타입을 선호 레이트 메시지(preferred rate message)를 통해 상대 전자 장치에게 전송할 수 있다. 이후 주변 무선 환경이 변화에 맞춰, 선호 레이트 메시지(preferred rate message)를 전송하여, 패킷 타입 변경을 상대 전자 장치에게 요청할 수 있다. 일 실시예에 따라 전자 장치는 외부 전자 장치로부터 수신한 선호 레이트 메시지를 기반으로 전송할 데이터 패킷의 타입을 결정할 수 있다. 일 실시예에 따라 전자 장치는 외부 전자 장치로부터 수신한 선호 레이트 메시지에 포함된 패킷 타입을 초과하는 패킷 타입은 전송할 수 없을 수 있다. 선호 레이트 메시지에 포함된 패킷 타입을 초과하는 패킷 타입이란 예를 들어, 선호 레이트 메시지에 포함된 패킷 타입의 '모듈레이션 방식의 전송률' 및 '패킷 크기'를 초과하는 '모듈레이션 방식의 전송률' 및 '패킷 크기'를 갖는 패킷 타입을 의미할 수 있다. 예컨대, 외부 전자 장치가 2M 및 3slot의 패킷 타입을 포함시켜 전송한 선호 레이트 메시지를 전자 장치가 수신한 경우, 전자 장치는 3M 모듈레이션 방식의 패킷 타입을 외부 전자 장치로 전송할 수 없고, 5slot 크기의 패킷 타입을 외부 전자 장치에 전송할 수 없을 수 있다.
일 실시예에 따라, 선호 레이트 메시지에 포함된 패킷 타입에 따른 전자 장치가 전송 가능한 패킷 타입들은 [표 1]과 같을 수 있다. [표 1]의 '선호 레이트 메시지를 수신한 전자 장치가 전송 가능한 패킷의 타입'은 왼쪽에서부터 선호되는 패킷 타입의 순서대로 나타낸 것일 수 있다.
일 실시예에 따라 전자 장치는 상기 [표 1]을 기반으로 외부 전자 장치로부터 수신한 선호 레이트 메시지에 포함된 패킷 종류에 따라 데이터를 전송할 패킷의 타입을 결정하여 데이터 패킷을 전송할 수 있다.
일 실시예에 따르면, 전자 장치는 외부 전자 장치로부터 수신한 선호 레이트 메시지에 포함된 패킷 타입에 기반하여 패킷 타입 변경을 위한 임계값을 설정할 수 있다. 예를 들어, 전자 장치는 2M/3slot 패킷 타입의 임계값을 외부 전자 장치가 전송한 선호 레이트 메시지의 패킷 타입이 3M/5Slot인 경우와 외부 전자 장치가 전송한 선호 레이트 메시지의 패킷 타입이 3M/3Slot인 경우에 다르게 설정할 수 있다.
동작 204에서, 전자 장치는 동작 203에서 전송한 데이터 패킷(예: N번째 데이터를 포함하는 데이터 패킷)에 대한 ACK 메시지가 외부 전자 장치로부터 수신되는지 판단할 수 있다. 동작 204에서, 전자 장치는 동작 203에서 전송한 데이터 패킷(예: N번째 데이터를 포함하는 데이터 패킷)을 외부 전자 장치가 정상적으로 수신하였는지 판단할 수 있다. 일 실시예에 따라, 외부 전자 장치로부터 응답 메시지가 수신되지 않거나 외부 전자 장치로부터 수신된 응답 메시지가 NACK을 나타내는 경우(예: 응답 메시지의 ARQN 비트가 0인 경우), 전자 장치는 외부 전자 장치가 데이터 패킷을 정상적으로 수신하지 못하였다고 판단할 수 있다. 일 실시예에 따라, 외부 전자 장치로부터 수신된 응답 메시지가 ACK을 나타내는 경우(예: ARQN 비트가 1인 경우), 전자 장치는 외부 전자 장치가 데이터 패킷을 정상적으로 수신하였다고 판단할 수 있다.
전자 장치가 외부 전자 장치가 데이터 패킷을 정상적으로 수신하였다고 판단하는 경우, 전자 장치는 동작 205에서, 다음 데이터 패킷(예: N+1번째 데이터를 포함하는 데이터 패킷)을 외부 전자 장치에게 전송할 수 있다.
전자 장치가 외부 전자 장치가 데이터 패킷을 정상적으로 수신하지 못하였다고 판단하는 경우, 전자 장치는 동작 206에서, 동일한 데이터를 포함하는 데이터 패킷(예: N번째 데이터를 포함하는 데이터 패킷)의 재전송이 임계 값(예: 일정 시간(slot) 또는 일정 전송 횟수(count))에 도달하였는지 여부를 판단할 수 있다. 일 실시예에 따라, 임계 값이 일정 전송 횟수(예: 6번)인 경우, 전자 장치는 동일한 데이터를 포함하는 데이터 패킷(예: N번째 데이터를 포함하는 데이터 패킷)의 재전송 횟수가 현재(임계 값 도달 여부를 판단하고 있는 시점)까지 임계 값(예: 6번)에 도달하였는지 판단할 수 있다.
일 실시예에 따라, 임계 값이 일정 시간(예: 150 millisecond)인 경우, 전자 장치는 동일한 데이터를 포함하는 데이터 패킷(예: N번째 데이터를 포함하는 데이터 패킷)이 처음 전송된 시점부터 현재까지의 시간이 임계 값(예: 150ms)에 도달하였는지 판단할 수 있다. 또는 전자 장치는 데이터 패킷(예: N번째 데이터를 포함하는 데이터 패킷)이 처음 전송 완료된 시점부터 현재(임계 값 도달 여부를 판단하고 있는 시점)까지의 시간이 임계 값(예: 150ms)에 도달하였는지 여부로 임계 값 도달 여부를 판단할 수도 있다.
전자 장치가 동작 206에서 데이터 패킷(예: N번째 데이터를 포함하는 데이터 패킷)의 재전송이 임계 값에 도달하였다고 판단한 경우, 전자 장치는 동작 207에서, 동일한 데이터(예: N번째 데이터)를 패킷 타입을 변경하여 외부 전자 장치로 재전송할 수 있다.
블루투스 전자 장치는 지정된 주파수 대역(예: 약 2.4GHz 대역)을 사용하는 무선 기술로서, Wi-Fi, Zigbee, 또는 LTE Band 7과 같은 동일 주파수 대역을 사용하는 다른 통신 기술에 의해 통신 품질이 영향 받을 수 있다. 또한, 통신 연결된 외부 블루투스 전자 장치 사이의 물리적 장애물 또는 물리적 거리에 따라 통신 품질에 영향을 받을 수도 있다. 이러한 다양한 물리적인 영향들로 인해 데이터 패킷이 정상적으로 전달되지 못하고 지속적으로 재전송될 수 있으며 이 경우, 불필요한 리소스 및 전류를 낭비하게 되어 전자 장치의 전체적인 성능 저하 문제가 발생할 수 있다. 일 실시예에 따라 전자 장치는 외부 전자 장치로 데이터 패킷의 전송 중 임계 값을 넘어서는 시점까지 재전송되는 특정 데이터 패킷이 있는 경우, 가장 전송 성공 확률이 높다고 판단되는 패킷 타입으로 패킷 타입을 변경해 같은 데이터를 재전송함으로써 불필요한 리소스 및 전류 낭비를 최소화할 수 있다.
일 실시예에 따라 전자 장치는 외부 전자 장치로 동일한 데이터 패킷의 재전송이 임계 값에 도달하는 경우, 통신 환경에 따라 받는 영향이 적으며 전송 안정성이 높은 패킷 타입으로 변경하여 같은 데이터를 재전송할 수 있다. 예를 들어, 전자 장치가 외부 전자 장치로 미디어 패킷들을 3Mbps 모듈레이션 방식, 5slot의 DH(data-high rate) 패킷 타입인 3DH5 패킷 타입으로 전송하고 있던 중에, 2.4GHz 대역의 노이즈가 발생하여, 임계 값을 넘어서는 시점까지 같은 데이터 패킷이 계속 재전송되고 있는 경우, 3DH5 패킷 타입에서 2DH5 패킷 타입 또는 3DH3 패킷 타입으로 변경하여 같은 데이터의 적어도 일부를 재전송 할 수 있다. 2DH5 패킷 타입은 3DH5 패킷 타입 보다 복잡한 통신 환경에 상대적으로 강한 패킷 타입일 수 있다. 3DH3 패킷 타입은 3DH5 패킷 타입 보다 상대적으로 적은 양의 데이터를 전송할 수 있으나 복잡한 통신 환경에 상대적으로 강한 패킷 타입일 수 있다. 일 실시예에 따라 전자 장치는 패킷이 지속적으로 재전송되고 있는 상황에서 변경할 패킷 타입을 선택할 때 패킷이 전송할 수 있는 데이터의 양보다 패킷의 전송 안정성을 우선적으로 고려하여 패킷 타입을 선택할 수 있다.
일 실시예에 따라 전자 장치는 3DH5 패킷 타입으로 전송하고 있던 중에 같은 데이터 패킷이 임계 값까지 재전송되고 있는 경우, 예를 들어 3DH5 패킷 타입, 2DH5 패킷 타입, 3DH3 패킷 타입, 2DH3 패킷 타입… 순서 또는 3DH5 패킷 타입, 3DH3 패킷 타입, 2DH5 패킷 타입, 2DH3 패킷 타입… 순서와 같이 모듈레이션 방식을 3Mbps, 2Mbps, 1Mbps 순으로 변경하거나 및/또는 패킷 크기를 5 slot, 3 slot, 1 slot 순으로 변경한 패킷 타입을 선택하여 전송 실패한 데이터의 적어도 일부를 재전송할 수 있다.
일 실시예에 따라 전자 장치는 외부 전자 장치로 동일한 데이터 패킷의 재전송이 임계 값에 도달하는 경우, 해당 시점에 전자 장치가 연산한 무선 품질을 기준으로 패킷 타입을 변경해 같은 데이터를 재전송 할 수도 있다. 일 실시예에 따라 전자 장치는 Rx 수신 부의 품질 측정, 즉, 비트 오류 율(bit error rate), 패킷 오류 율(packet error rate), 또는 수신 신호 강도(received signal strength indicator) 중 적어도 하나를 기반으로 모듈레이션 방식(1/2/3 Mbps) 및 패킷 사이즈(1/3/5 slot)를 결정하여 패킷 타입을 변경할 수도 있다. 이를 통하여 전자 장치는 외부 요인 변경에 대한 반응 속도를 감축할 수 있으며 같은 데이터가 반복하여 재전송됨으로써 전자 장치의 성능이 저하되는 문제를 줄여 사용자에게 안정적인 서비스를 제공할 수 있다.
일 실시예에 따라 전자 장치는 복수의 외부 전자 장치들과 각각 블루투스 통신으로 연결될 수 있으며, 전자 장치와 연결된 복수의 외부 전자 장치들 각각에는 독립적으로 상술한 실시예가 적용될 수 있다.
이하, 도 3을 참고하여, 일 실시예에 따른 복수의 장치들의 동작에 대하여 설명한다.
도 3은 일 실시예에 따른 블루투스 네트워크 환경의 복수의 장치들 사이의 데이터 패킷의 송수신 동작을 나타낸 순서도(300)이다.
앞서 설명한 실시예와 동일한 구성은 동일한 참조 번호로 참조될 수 있으며 동일한 구성에 대한 설명은 생략될 수 있다. 도 3에 도시된 복수의 동작들의 순서는 일 예시이며, 다양한 실시예에 따라 전자 장치들의 동작 순서는 변경될 수 있다.
*83이하, 설명되는 전자 장치의 동작들은 전자 장치(101)의 통신 모듈(예: 도 1의 통신 모듈(190))에서 수행될 수 있다. 일 실시예에 따라 이하 설명되는 전자 장치의 동작들은 전자 장치의 통신 모듈에 포함되는 블루투스 칩에 의해 수행될 수 있다.
도 3을 참조하면, 동작 301에서, 전자 장치(101)는 제1 데이터(data1)를 3DH5 패킷 타입의 패킷의 페이로드에 포함시켜 외부 전자 장치(102)에게 전송할 수 있다. 예를 들어, 전자 장치(101)는 외부 전자 장치(102)와 통신 링크를 생성하고, 외부 전자 장치(102)와의 통신 환경에 기반하여 3DH5 패킷 타입을 외부 전자 장치(102)와의 통신에 적합한 패킷 타입으로 결정할 수 있다. 다른 예를 들어, 3DH5는 전자 장치(101)에 기본(default)으로 설정된 패킷 타입일 수 있다. 동작 302에서, 전자 장치(101)는 제1 데이터를 정상적으로 수신하였음을 나타내는 ACK 메시지를 외부 전자 장치(102)로부터 수신할 수 있다.
동작 303에서, 전자 장치(101)는 제1 데이터를 정상적으로 수신하였음을 나타내는 ACK 메시지를 외부 전자 장치(102)로부터 수신함에 따라 제1 데이터의 다음 데이터인 제2 데이터(data2)를 3DH5 패킷 타입의 패킷의 페이로드에 포함시켜 외부 전자 장치(102)에게 전송할 수 있다. 동작 304에서, 전자 장치(101)는 제3 데이터를 정상적으로 수신하였음을 나타내는 ACK 메시지를 외부 전자 장치(102)로부터 수신할 수 있다.
동작 305에서, 전자 장치(101)는 제2 데이터를 정상적으로 수신하였음을 나타내는 ACK 메시지를 외부 전자 장치(102)로부터 수신함에 따라 제2 데이터의 다음 데이터인 제3 데이터(data3)를 3DH5 패킷 타입의 패킷의 페이로드에 포함시켜 외부 전자 장치(102)에게 전송할 수 있다. 동작 306에서, 전자 장치(101)는 제3 데이터를 정상적으로 수신하지 못하였음을 나타내는 NACK 메시지를 외부 전자 장치(102)로부터 수신할 수 있다. 도 3에서는 외부 전자 장치(102)로부터 NACK 메시지를 수신하는 것으로 도시하였으나, 실시예에 따라 일정 기간 동안 외부 전자 장치(102)로부터 응답 메시지를 수신하지 못하는 경우에도 전자 장치(101)는 외부 전자 장치(102)가 데이터를 정상적으로 수신하지 못한 것으로 판단할 수 있다.
동작 307에서, 전자 장치(101)는 동작 306에서 제3 데이터를 정상적으로 수신하지 못하였음을 나타내는 NACK 메시지를 외부 전자 장치(102)로부터 수신함에 따라, 그리고 데이터 전송 전에 설정된 패킷 타입 변경을 위한 임계 값(예: 시간 또는 횟수)(350)의 이내라고 판단됨에 따라, 제3 데이터를 재전송할 수 있다. 이때 전자 장치(101)는 패킷 타입을 3DH5 패킷 타입으로 유지할 수 있다. 패킷 타입 변경을 위한 임계 값(350)의 설정 방법은 앞서 도 2를 참조하여 설명한 방법과 동일할 수 있다. 동작 308에서, 전자 장치(101)는 재전송한 제3 데이터를 정상적으로 수신하지 못하였음을 나타내는 NACK 메시지를 외부 전자 장치(102)로부터 수신할 수 있다.
동작 309에서, 전자 장치(101)는 동작 308에서 제3 데이터를 정상적으로 수신하지 못하였음을 나타내는 NACK 메시지를 외부 전자 장치(102)로부터 수신함에 따라, 그리고 데이터 전송 전에 설정된 패킷 타입 변경을 위한 임계 값(350)의 이내라고 판단됨에 따라, 제3 데이터를 재전송할 수 있다. 이때 전자 장치(101)는 패킷 타입을 3DH5 패킷 타입으로 유지할 수 있다. 동작 310에서, 전자 장치(101)는 재전송한 제3 데이터를 정상적으로 수신하지 못하였음을 나타내는 NACK 메시지를 외부 전자 장치(102)로부터 수신할 수 있다.
동작 311에서, 전자 장치(101)는 동작 310에서 제3 데이터를 정상적으로 수신하지 못하였음을 나타내는 NACK 메시지를 외부 전자 장치(102)로부터 수신함에 따라, 그리고 데이터 전송 전에 설정된 패킷 타입 변경을 위한 임계 값(350)의 이내라고 판단됨에 따라, 제3 데이터를 재전송할 수 있다. 이때 전자 장치(101)는 패킷 타입을 3DH5 패킷 타입으로 유지할 수 있다. 동작 312에서, 전자 장치(101)는 재전송한 제3 데이터를 정상적으로 수신하지 못하였음을 나타내는 NACK 메시지를 외부 전자 장치(102)로부터 수신할 수 있다.
동작 313에서, 전자 장치(101)는 동작 312에서 제3 데이터를 정상적으로 수신하지 못하였음을 나타내는 NACK 메시지를 외부 전자 장치(102)로부터 수신함에 따라, 그리고 데이터 전송 전에 설정된 패킷 타입 변경을 위한 임계 값(350)이 경과되었다고 판단됨에 따라, 패킷 타입을 변경하여 제3 데이터를 재전송할 수 있다. 이때, 전자 장치(101)는 현재 패킷 타입인 3DH5 패킷 타입보다 전송 안정성이 높은 2DH5 패킷 타입으로 변경할 수 있다. 2DH5 패킷 타입은 3DH5 패킷 타입 보다 복잡한 통신 환경에 상대적으로 강할 수 있다. 동작 313에서, 전자 장치(101)는 제3 데이터를 2DH5 패킷의 페이로드에 포함시켜 외부 전자 장치(102)에게 전송할 수 있다. 동작 314에서, 전자 장치(101)는 재전송한 제3 데이터를 정상적으로 수신하지 못하였음을 나타내는 NACK 메시지를 외부 전자 장치(102)로부터 수신할 수 있다.
동작 315에서, 전자 장치(101)는 동작 314에서 재전송한 제3 데이터를 정상적으로 수신하지 못하였음을 나타내는 NACK 메시지를 외부 전자 장치(102)로부터 수신함에 따라 패킷 타입을 변경하여 제3 데이터를 재전송할 수 있다. 이때 전자 장치(101)는 현재 패킷 타입인 2DH5 패킷 타입보다 전송 안정성이 높은 2DH3 패킷 타입으로 변경할 수 있다. 2DH3 패킷 타입은 2DH5 패킷 타입보다 전송할 수 있는 데이터의 양은 적으나 복잡한 통신 환경에 상대적으로 강할 수 있다. 전자 장치(101)는 2DH3 패킷 타입이 2DH5 패킷 타입 보다 전송할 수 있는 데이터의 양이 적으므로 제3 데이터를 나누어 제3 데이터의 제1 부분 데이터(data3-1)를 2DH3 패킷의 페이로드에 포함시켜 외부 전자 장치(102)에게 전송할 수 있다. 동작 316에서, 전자 장치(101)는 제3 데이터의 제1 부분 데이터를 정상적으로 수신하였음을 나타내는 ACK 메시지를 외부 전자 장치(102)로부터 수신할 수 있다.
동작 317에서, 전자 장치(101)는 동작 316에서 재전송한 제3 데이터의 제1 부분 데이터를 정상적으로 수신하였음을 나타내는 ACK 메시지를 외부 전자 장치(102)로부터 수신함에 따라 제3 데이터의 제2 부분 데이터(data3-2)를 2DH3 패킷 타입으로 외부 전자 장치(102)에게 전송할 수 있다. 동작 318에서, 전자 장치(101)는 제3 데이터의 제2 부분 데이터를 정상적으로 수신하였음을 나타내는 ACK 메시지를 외부 전자 장치(102)로부터 수신할 수 있다.
동작 319에서, 전자 장치(101)는 동작 318에서 제3 데이터의 제2 부분 데이터를 정상적으로 수신하였음을 나타내는 ACK 메시지를 외부 전자 장치(102)로부터 수신함에 따라, 제3 데이터의 다음 데이터인 제4 데이터(data4)를 3DH5 패킷 타입으로 외부 전자 장치(102)에게 전송할 수 있다. 이때, 전자 장치(101)는 패킷 타입을 변경하기 전의 최초 패킷 타입인 3DH5 패킷 타입으로 제4 데이터를 전송할 수 있다. 동작 320에서, 전자 장치(101)는 제4 데이터를 정상적으로 수신하였음을 나타내는 ACK 메시지를 외부 전자 장치(102)로부터 수신할 수 있다.
동작 321에서, 전자 장치(101)는 동작 320에서 제4 데이터를 정상적으로 수신하였음을 나타내는 ACK 메시지를 외부 전자 장치(102)로부터 수신함에 따라, 제4 데이터의 다음 데이터인 제5 데이터(data5)를 3DH5 패킷 타입으로 외부 전자 장치(102)에게 전송할 수 있다. 이때, 전자 장치(101)는 패킷 타입을 3DH5 패킷 타입으로 유지할 수 있다. 동작 322에서, 전자 장치(101)는 제5 데이터를 정상적으로 수신하였음을 나타내는 ACK 메시지를 외부 전자 장치(102)로부터 수신할 수 있다.
일 실시예에 따르면 전자 장치(101)는 데이터 패킷의 반복적인 전송 실패 시 패킷 타입을 지정된 순서(예: 제1 순서)에 기반하여 순차적으로 변경 시킬 수 있다. 일 실시예에 따르면 전자 장치(101)는 변경된 패킷 타입에 기반하여 데이터 전송에 성공할 경우 패킷 타입을 지정된 순서(예: 제2 순서)에 기반하여 순차적으로 변경 시킬 수 있다. 예를 들어, 제2 순서는 제1 순서의 역순일 수 있다.
본 개시의 실시예에 따른 전자 장치(101)는 데이터 패킷의 반복적인 전송 실패를 감지하고, 이에 따라 변화된 통신 환경을 반영하여 패킷 타입을 변경하여 전송 실패한 데이터의 재전송을 시도함에 따라, 불필요한 리소스 및 전류를 줄여 전자 장치의 성능 저하 문제를 감소시킬 수 있다.
이하, 도 4 및 도 5를 참고하여, 일 실시예에 따른 복수의 장치들의 동작에 대하여 설명한다.
도 4는 일 실시예에 따른 전자 장치의 패킷 타입 변경을 위한 임계 값의 설정 예시(410, 420)를 나타낸 도면이다. 도 5는 일 실시예에 따른 전자 장치의 패킷 타입 변경을 위한 임계 값의 설정 예시(500)를 나타낸 도면이다. 앞서 설명한 실시예와 동일한 구성은 동일한 참조 번호로 참조될 수 있으며 동일한 구성에 대한 설명은 생략될 수 있다.
이하, 설명되는 전자 장치의 동작들은 전자 장치(예: 도 1의 전자 장치(101))의 통신 모듈(예: 도 1의 통신 모듈(190))에서 수행될 수 있다. 일 실시예에 따라 이하 설명되는 전자 장치의 동작들은 전자 장치의 통신 모듈에 포함되는 블루투스 칩에 의해 수행될 수 있다.
도 4를 참조하면, 전자 장치(예: 도 1의 전자 장치(101))는 외부 전자 장치(예: 도 1의 전자 장치(102))와 통신 링크 생성 후, 패킷 타입 변경을 위한 임계 값(411, 421)을 설정할 수 있다. 패킷 타입 변경을 위한 임계 값(411, 421)은 전자 장치가 전송 실패한 데이터의 재전송을 위한 패킷 타입을 변경할지 여부를 결정하는 기준이 되는 값일 수 있다.
패킷 타입 변경을 위한 임계 값의 설정 예시 1(410)에 의하면, 패킷 타입 변경을 위한 임계 값(411)은 일정 시간(slot)으로 설정될 수 있다. 예를 들어 전자 장치는 패킷 타입 변경을 위한 임계 값(411)을 150ms(millisecond)로 설정할 수 있다. 전자 장치는 A 타입의 데이터 패킷(412)을 외부 전자 장치로 전송할 수 있다. 전자 장치는 외부 전자 장치가 A 타입의 데이터 패킷(412)을 정상적으로 수신하였는지 판단할 수 있다. 예를 들어, 전자 장치는 외부 전자 장치로부터 A 타입의 데이터 패킷(412)에 대한 NACK 메시지를 수신하거나 또는 A 타입의 데이터 패킷(412)에 대한 ACK 메시지를 지정된 시간 내에 수신하면 외부 전자 장치가 A 타입의 데이터 패킷(412)을 수신하지 못했다고 판단할 수 있다. 일 실시예에 따라 패킷 타입 변경을 위한 임계 값(411)은 최초로 전송에 실패한 데이터 패킷(412)의 전송 시점부터 기산할 수 있다. 그러나 이는 일 예시일 뿐이며 패킷 타입 변경을 위한 임계 값(411)은 최초로 전송에 실패한 데이터 패킷(412)에 대한 NACK 메시지를 수신한 시점부터 기산할 수도 있다. 전자 장치는 패킷 타입 변경을 위한 임계 값(411) 동안 같은 데이터를 포함하는 A 타입의 데이터 패킷(413, 414, 415)을 ACK 메시지를 수신할 때까지 반복하여 재전송할 수 있다. 전자 장치는 임계 값(411)에 도달하기 전에 ACK 메시지를 수신하는 경우, 데이터 패킷의 재전송을 중지하고 다음 데이터 패킷을 전송할 수 있다. 전자 장치는 임계 값(411)이 경과하고 ACK 메시지도 수신하지 못한 경우, 같은 데이터를 B 타입의 데이터 패킷(416)으로 재전송할 수 있다. B 타입의 데이터 패킷(416)은 A 타입의 데이터 패킷(412) 보다 작거나 같은 양의 데이터를 전송할 수 있으며, A 타입의 데이터 패킷(412) 보다 전송 안정성이 높을 수 있다.
패킷 타입 변경을 위한 임계 값의 설정 예시 2(420)에 의하면, 패킷 타입 변경을 위한 임계 값(411)은 일정 전송 횟수(count)로 설정될 수 있다. 예를 들어 전자 장치는 패킷 타입 변경을 위한 임계 값(421)을 6 횟수(count)로 설정할 수 있다. 전자 장치는 A 타입의 데이터 패킷(422)을 외부 전자 장치로 전송할 수 있다. 전자 장치는 A 타입의 데이터 패킷(422)을 외부 전자 장치가 정상적으로 수신하지 못하였는지 판단할 수 있다. 예를 들어, 전자 장치는 외부 전자 장치로부터 A 타입의 데이터 패킷(422)에 대한 NACK 메시지를 수신하거나 또는 A 타입의 데이터 패킷(422)에 대한 ACK 메시지를 지정된 시간 내에 수신하면 외부 전자 장치가 A 타입의 데이터 패킷(422)을 수신하지 못했다고 판단할 수 있다. 일 실시예에 따라 패킷 타입 변경을 위한 임계 값(421)은 최초로 전송에 실패한 데이터 패킷(422)의 전송부터 기산할 수 있다. 전자 장치는 전송에 실패한 A 타입의 데이터 패킷(422, 423, 424, 425, 426, 427)을 ACK 메시지를 수신할 때까지 패킷 타입 변경을 위한 임계 값(421)인 6번 반복하여 재전송할 수 있다. 도 4에서는 데이터 패킷의 재전송 횟수를 카운트할 때 최초로 전송된 데이터 패킷(422)의 전송을 포함하는 것으로 도시하였으나, 실시예에 따라 데이터 패킷의 재전송 횟수를 카운트할 때 최초로 전송된 데이터 패킷(422)의 전송은 제외하고 그 다음 데이터 패킷(423)의 전송부터 포함할 수도 있다. 전자 장치는 임계 값(421)인 6회 전송에 도달하기 전에 ACK 메시지를 수신하는 경우, 데이터 패킷의 재전송을 중지하고 다음 데이터 패킷을 전송할 수 있다. 전자 장치는 임계 값(421)인 6회 재전송을 수행하고 이에 대한 ACK 메시지도 수신하지 못한 경우, 같은 데이터를 B타입의 데이터 패킷(428)으로 재전송할 수 있다. B 타입의 데이터 패킷(428)은 A 타입의 데이터 패킷(422) 보다 작거나 같은 양의 데이터를 전송할 수 있으며, A 타입의 데이터 패킷(422) 보다 전송 안정성이 높을 수 있다.
도 5를 참조하면, 전자 장치(예: 도 1의 전자 장치(101))는 외부 전자 장치(예: 도 1의 전자 장치(102))와 통신 링크 생성 후, 패킷 타입 변경을 위한 제1 임계 값(510) 및 제2 임계 값(520)을 설정할 수 있다. 패킷 타입 변경을 위한 제1 임계 값(510) 및 제2 임계 값(520)은 전자 장치가 전송 실패한 데이터의 재전송을 위한 패킷 타입을 변경할지 여부를 결정하는 기준이 되는 값일 수 있다. 패킷 타입 변경을 위한 제1 임계 값(510) 및 제2 임계 값(520)은 동일하게 설정될 수도 있고 서로 다르게 설정될 수도 있다. 일 실시예에 따라 전자 장치에 복수의 외부 전자 장치가 블루투스 통신으로 연결될 수 있으며, 이때, 전자 장치는 복수의 외부 전자 장치 별로 임계 값을 다르게 설정할 수 있다.
패킷 타입 변경을 위한 임계 값의 설정 예시 3(500)에 의하면, 패킷 타입 변경을 위한 임계 값(510, 520)은 일정 시간(slot)으로 설정될 수 있다. 예를 들어 전자 장치는 패킷 타입 변경을 위한 임계 값(510, 520)을 150ms(millisecond)로 설정할 수 있다. 전자 장치는 A 타입의 데이터 패킷(511)을 외부 전자 장치로 전송할 수 있다. 전자 장치는 A 타입의 데이터 패킷(511)을 외부 전자 장치가 정상적으로 수신하였는지 판단할 수 있다. 예를 들어, 전자 장치는 외부 전자 장치로부터 A 타입의 데이터 패킷(511)에 대한 NACK 메시지를 수신하거나 또는 A 타입의 데이터 패킷(511)에 대한 ACK 메시지를 지정된 시간 내에 수신하면 외부 전자 장치가 A 타입의 데이터 패킷(511)을 수신하지 못했다고 판단할 수 있다. 전자 장치는 패킷 타입 변경을 위한 제1 임계 값(510) 동안 같은 데이터를 포함하는 A 타입의 데이터 패킷(511, 512, 513)을 ACK 메시지를 수신할 때까지 반복하여 재전송할 수 있다.
전자 장치는 제1 임계 값(510)에 도달하기 전에 ACK 메시지를 수신하는 경우, 데이터 패킷의 재전송을 중지하고 다음 데이터 패킷을 전송할 수 있다. 전자 장치는 제1 임계 값(510)이 경과하고 ACK 메시지도 수신하지 못한 경우, 같은 데이터를 B 타입의 데이터 패킷(521)으로 재전송할 수 있다. B 타입의 데이터 패킷(521)은 A 타입의 데이터 패킷(511) 보다 작거나 같은 양의 데이터를 전송할 수 있으며, A 타입의 데이터 패킷(511) 보다 전송 안정성이 높을 수 있다. 전자 장치는 B 타입의 데이터 패킷(521)을 정상적으로 수신하지 못하였다는 메시지를 외부 전자 장치로부터 수신할 수 있다. 전자 장치는 패킷 타입 변경을 위한 제2 임계 값(520) 동안 같은 데이터를 포함하는 B 타입의 데이터 패킷(521, 522, 523, 524)을 ACK 메시지를 수신할 때까지 반복하여 재전송할 수 있다. 즉, 패킷 타입 변경을 위한 제2 임계 값(520)은 전자 장치가 변경한 패킷 타입으로도 데이터의 전송을 실패하였을 때, 패킷 타입을 한번 더 변경할지 여부를 결정하는 기준이 되는 값일 수 있다.
전자 장치는 제2 임계 값(520)에 도달하기 전에 ACK 메시지를 수신하는 경우, 데이터 패킷의 재전송을 중지하고 다음 데이터 패킷을 전송할 수 있다. 전자 장치는 제2 임계 값(520)이 경과하고 ACK 메시지도 수신하지 못한 경우, 같은 데이터를 C 타입의 데이터 패킷(531)으로 재전송할 수 있다. C 타입의 데이터 패킷(531)은 B 타입의 데이터 패킷(521) 보다 작거나 같은 양의 데이터를 전송할 수 있으며, B 타입의 데이터 패킷(521) 보다 전송 안정성이 높을 수 있다.
도 5에서는 패킷 타입 변경을 위한 제1 임계 값(510) 및 제2 임계 값(520)을 설정한 것으로 도시하였으나, 임계 값의 개수는 도 5에 한정되지 않으며, 예를 들어, 전자 장치는 C 타입의 데이터 패킷(531)의 전송이 실패하였을 때, 패킷 타입을 한번 더 변경할지 여부를 결정하는 기준인 제3 임계 값을 설정할 수도 있으며, 제3 임계 값은 제1 임계 값 및/또는 제2 임계 값과 동일하거나 다르게 설정될 수 있다. 일 실시예에 따른 전자 장치는 전자 장치의 주변의(또는 외부 전자 장치 간의) 무선 통신 환경(품질), 외부 전자 장치의 버퍼 사이즈, 일정 기간 동안의 데이터 패킷의 재전송 비율, 응답의 수신 신호 강도(RSSI), NACK 메시지와 ACK 메시지의 누락(missing) 비율, 비트 오류 율(BER, bit error rate), 또는 패킷 오류 율(PER, packet error rate)과 같이 패킷 전송에 영향을 미치는 다양한 요소들 중 적어도 하나를 고려하여 패킷 타입 변경을 위한 임계 값의 내용(예: 시간 또는 횟수) 및 갯수를 설정할 수 있다. 또한, 일 실시예에 따라 전자 장치가 패킷을 전송하는 중에 주변 무선 수신 품질의 변화가 발생하는 경우 이에 따라 패킷 타입 변경 임계 값을 가변적으로 설정할 수도 있다. 또한 일 실시예에 따라 외부 전자 장치는 통신 환경 등을 고려하여 패킷 타입을 결정하여 전자 장치에게 요청할 수 있으며, 전자 장치는 외부 전자 장치의 요청에 의해 패킷 타입을 결정할 수 도 있다.
일 실시예에 따르면, 전자 장치는 패킷 타입 변경 임계 값의 내용(예: 시간 또는 횟수)을 패킷 타입에 따라 다르게 설정할 수 있다. 예를 들어, 도 5를 참조하면, 전자 장치는 A 타입의 데이터 패킷에서 B 타입의 데이터 패킷으로 변경하는 임계 값은 시간으로 설정하고, B 타입의 데이터 패킷에서 C 타입의 데이터 패킷으로 변경하는 임계 값은 횟수로 설정할 수 있다. 일 실시예에 따르면, 전자 장치는 데이터 패킷의 반복적인 전송 실패 시 패킷 타입을 변경하는 임계 값의 내용과 전송 성공 시 패킷 타입을 변경하는 임계 값의 내용을 다르게 설정할 수 있다. 예를 들어, 전송 실패 시 패킷 타입을 변경하는 임계 값은 횟수로 설정하고, 전송 성공 시 패킷 타입을 변경하는 임계 값은 시간을 설정할 수 있다.
이하, 도 6을 참고하여, 일 실시예에 따른 복수의 장치들의 동작에 대하여 설명한다.
도 6은 일 실시예에 따른 블루투스 네트워크 환경의 복수의 장치들 사이의 데이터 패킷의 송수신 동작을 나타낸 순서도(600)이다.
앞서 설명한 실시예와 동일한 구성은 동일한 참조 번호로 참조될 수 있으며 동일한 구성에 대한 설명은 생략될 수 있다. 도 6에 도시된 복수의 동작들의 순서는 일 예시이며, 다양한 실시예에 따라 전자 장치들의 동작 순서는 변경될 수 있다.
이하, 설명되는 전자 장치의 동작들은 전자 장치(101)의 통신 모듈(예: 도 1의 통신 모듈(190))에서 수행될 수 있다. 일 실시예에 따라 이하 설명되는 전자 장치의 동작들은 전자 장치의 통신 모듈에 포함되는 블루투스 칩에 의해 수행될 수 있다.
도 6을 참조하면, 동작 601에서, 전자 장치(101)는 제1 데이터(data1)를 제1 패킷 타입(예: 3DH5 패킷 타입)의 패킷의 페이로드에 포함시켜 외부 전자 장치(102)에게 전송할 수 있다. 동작 602에서, 전자 장치(101)는 제1 데이터를 정상적으로 수신하지 못 하였음을 나타내는 NACK 메시지를 외부 전자 장치(102)로부터 수신할 수 있다.
동작 603에서, 전자 장치(101)는 동작 602에서 제1 데이터를 정상적으로 수신하지 못하였음을 나타내는 NACK 메시지를 외부 전자 장치(102)로부터 수신함에 따라, 그리고 패킷 타입 변경을 위한 제1 임계 값(예: 시간 또는 횟수)(650)의 이내라고 판단됨에 따라, 제1 데이터를 재전송할 수 있다. 이때 전자 장치(101)는 패킷 타입을 제1 패킷 타입(예: 3DH5 패킷 타입)으로 유지할 수 있다. 패킷 타입 변경을 위한 제1 임계 값(650)의 설정 방법은 앞서 도 2 또는 도 4 또는 도 5를 참조하여 설명한 방법과 동일할 수 있다. 동작 604에서, 전자 장치(101)는 재전송한 제1 데이터를 정상적으로 수신하지 못하였음을 나타내는 NACK 메시지를 외부 전자 장치(102)로부터 수신할 수 있다.
동작 605에서, 전자 장치(101)는 동작 604에서 제1 데이터를 정상적으로 수신하지 못하였음을 나타내는 NACK 메시지를 외부 전자 장치(102)로부터 수신함에 따라, 그리고 데이터 전송 전에 설정된 패킷 타입 변경을 위한 제1 임계 값(650)이 경과되었다고 판단됨에 따라, 패킷 타입을 변경하여 제1 데이터를 재전송할 수 있다. 이때, 전자 장치(101)는 현재 패킷 타입인 제1 패킷 타입(예: 3DH5 패킷 타입)보다 전송 안정성이 높은 제2 패킷 타입(예: 3DH3 패킷 타입)으로 변경할 수 있다. 제2 패킷 타입(예: 3DH3 패킷 타입)은 제1 패킷 타입(예: 3DH5 패킷 타입) 보다 복잡한 통신 환경에 상대적으로 강할 수 있다. 동작 605에서, 전자 장치(101)는 제1 데이터를 제2 패킷 타입(예: 3DH3 패킷 타입)의 패킷의 페이로드에 포함시켜 외부 전자 장치(102)에게 전송할 수 있다. 동작 606에서, 전자 장치(101)는 재전송한 제1 데이터를 정상적으로 수신하지 못하였음을 나타내는 NACK 메시지를 외부 전자 장치(102)로부터 수신할 수 있다.
동작 607에서, 전자 장치(101)는 동작 606에서 재전송한 제1 데이터를 정상적으로 수신하지 못하였음을 나타내는 NACK 메시지를 외부 전자 장치(102)로부터 수신함에 따라 그리고 패킷 타입 변경을 위한 제2 임계 값(651)의 이내라고 판단됨에 따라, 제1 데이터를 재전송할 수 있다. 이때 전자 장치(101)는 패킷 타입을 제2 패킷 타입(예: 3DH3 패킷 타입)으로 유지할 수 있다. 패킷 타입 변경을 위한 제2 임계 값(651)의 설정 방법은 앞서 도 2 또는 도 4 또는 도 5를 참조하여 설명한 방법과 동일할 수 있다. 동작 608에서, 전자 장치(101)는 재전송한 제1 데이터를 정상적으로 수신하지 못하였음을 나타내는 NACK 메시지를 외부 전자 장치(102)로부터 수신할 수 있다.
동작 609에서, 전자 장치(101)는 동작 608에서 제1 데이터를 정상적으로 수신하지 못하였음을 나타내는 NACK 메시지를 외부 전자 장치(102)로부터 수신함에 따라, 그리고 데이터 전송 전에 설정된 패킷 타입 변경을 위한 제2 임계 값(651)이 경과되었다고 판단됨에 따라, 패킷 타입을 변경하여 제1 데이터를 재전송할 수 있다. 이때, 전자 장치(101)는 현재 패킷 타입인 제2 패킷 타입(예: 3DH3 패킷 타입)보다 전송 안정성이 높은 제3 패킷 타입(예: 2DH5 패킷 타입)으로 변경할 수 있다. 제3 패킷 타입(예: 2DH5 패킷 타입)은 제2 패킷 타입(예: 3DH3 패킷 타입) 보다 복잡한 통신 환경에 상대적으로 강할 수 있다. 동작 609에서, 전자 장치(101)는 제1 데이터를 제3 패킷 타입(예: 2DH5 패킷 타입)의 패킷의 페이로드에 포함시켜 외부 전자 장치(102)에게 전송할 수 있다. 동작 610에서, 전자 장치(101)는 재전송한 제1 데이터를 정상적으로 수신하지 못하였음을 나타내는 NACK 메시지를 외부 전자 장치(102)로부터 수신할 수 있다.
동작 611에서, 전자 장치(101)는 동작 610에서 재전송한 제1 데이터를 정상적으로 수신하지 못하였음을 나타내는 NACK 메시지를 외부 전자 장치(102)로부터 수신함에 따라 그리고 패킷 타입 변경을 위한 제3 임계 값(652)의 이내라고 판단됨에 따라, 제1 데이터를 재전송할 수 있다. 이때 전자 장치(101)는 패킷 타입을 제3 패킷 타입(예: 2DH5 패킷 타입)으로 유지할 수 있다. 패킷 타입 변경을 위한 제3 임계 값(652)의 설정 방법은 앞서 도 2 또는 도 4 또는 도 5를 참조하여 설명한 방법과 동일할 수 있다. 동작 612에서, 전자 장치(101)는 재전송한 제1 데이터를 정상적으로 수신하지 못하였음을 나타내는 NACK 메시지를 외부 전자 장치(102)로부터 수신할 수 있다.
동작 613에서, 전자 장치(101)는 동작 612에서 제1 데이터를 정상적으로 수신하지 못하였음을 나타내는 NACK 메시지를 외부 전자 장치(102)로부터 수신함에 따라, 그리고 데이터 전송 전에 설정된 패킷 타입 변경을 위한 제3 임계 값(652)이 경과되었다고 판단됨에 따라, 패킷 타입을 변경하여 제1 데이터를 재전송할 수 있다. 이때, 전자 장치(101)는 현재 패킷 타입인 제3 패킷 타입(예: 2DH5 패킷 타입)보다 전송 안정성이 높은 제4 패킷 타입(예: 2DH3 패킷 타입)으로 변경할 수 있다. 제4 패킷 타입(예: 2DH3 패킷 타입)은 제3 패킷 타입(예: 2DH5 패킷 타입) 보다 복잡한 통신 환경에 상대적으로 강할 수 있다. 동작 613에서, 전자 장치(101)는 제1 데이터를 제4 패킷 타입(예: 2DH3 패킷 타입)의 패킷의 페이로드에 포함시켜 외부 전자 장치(102)에게 전송할 수 있다. 동작 614에서, 전자 장치(101)는 재전송한 제1 데이터를 정상적으로 수신하였음을 나타내는 ACK 메시지를 외부 전자 장치(102)로부터 수신할 수 있다.
일 실시예에 따라, 전자 장치(101)는 외부 전자 장치(102)와 연결 시 지연 리포트(delay report)를 통해 외부 전자 장치(102)의 지터 버퍼(jitter buffer)의 크기를 추정할 수 있다. 일 실시예에 따라, 전자 장치(101)는 데이터 패킷이 정상적으로 외부 전자 장치(102)에 수신된 시간을 통해 외부 전자 장치(102)의 지터 버퍼의 비어있는 공간의 크기를 추정할 수 있다. 일 실시예에 따라 지터 버퍼의 비어있는 공간이란, 지터 버퍼 중에서 이미 수신된 데이터 패킷들을 저장하고 있는 공간을 제외한 공간으로, 앞으로 데이터 패킷을 수신하여 저장할 수 있는 여유 공간을 의미할 수 있다. 일 실시예에 따라, 전자 장치(101)는 동작 614에서 외부 전자 장치(102)로부터 수신한 ACK 메시지를 기반으로 외부 전자 장치(102)의 지터 버퍼의 비어있는 공간의 크기를 추정할 수 있다. 일 실시예에 따라, 전자 장치(101)는 데이터 패킷의 재전송 상황에서 외부 전자 장치(102)로부터 수신한 ACK 메시지를 기반으로 데이터 패킷이 정상적으로 외부 전자 장치(102)에 수신된 지연(delay) 시간을 계산할 수 있다.
일 실시예에 따라, 동작 615에서, 전자 장치(101)는 데이터 패킷의 전송 상황에서 외부 전자 장치(102)의 지터 버퍼의 비어있는 공간의 크기를 추정하여, 외부 전자 장치(102)의 지터 버퍼의 비어있는 공간의 크기가 특정 임계 값 이하인 경우(예: 지터 버퍼의 비어있는 공간의 크기가 전체 지터 버퍼 크기의 10% 이하인 경우) 변경된 패킷 타입(예: 제4 패킷 타입)을 유지하여 다음 데이터를 전송할 수 있다. 일 실시예에 따라, 동작 616에서, 전자 장치(101)는, 외부 전자 장치(102)의 지터 버퍼의 비어있는 공간의 크기가 특정 임계 값 이하임을 식별함에 따라, 제1 데이터의 다음 데이터인 제2 데이터(data 2)를 동작 613에서 제1 데이터를 전송한 데이터 패킷의 타입과 동일한 제4 패킷 타입(예: 2DH3 패킷 타입)의 패킷으로 외부 전자 장치(102)에게 전송할 수 있다. 동작 617에서, 전자 장치(101)는 제2 데이터를 정상적으로 수신하였음을 나타내는 ACK 메시지를 외부 전자 장치(102)로부터 수신할 수 있다.
동작 618에서, 전자 장치(101)는, 동작 617에서 외부 전자 장치(102)로부터 ACK 메시지를 수신함에 따라 제2 데이터의 다음 데이터인 제3 데이터(data 3)를 외부 전자 장치(102)로 전송할 수 있다. 이때, 전자 장치(101)는 외부 전자 장치(102)의 지터 버퍼의 비어있는 공간의 크기가 특정 임계 값 이하임을 식별함에 따라, 또는 외부 전자 장치(102)의 지터 버퍼의 비어있는 공간의 크기가 특정 임계 값을 초과하지 않음을 식별함에 따라, 제3 데이터를 전송하는데 동작 616에서 제2 데이터를 전송한 제4 패킷 타입(예: 2DH3 패킷 타입)을 유지할 수 있다. 동작 619에서, 전자 장치(101)는 제3 데이터를 정상적으로 수신하였음을 나타내는 ACK 메시지를 외부 전자 장치(102)로부터 수신할 수 있다.
동작 620에서, 전자 장치(101)는, 동작 619에서 외부 전자 장치(102)로부터 ACK 메시지를 수신함에 따라 제3 데이터의 다음 데이터인 제4 데이터(data 4)를 외부 전자 장치(102)로 전송할 수 있다. 이때, 전자 장치(101)는 외부 전자 장치(102)의 지터 버퍼의 비어있는 공간의 크기가 특정 임계 값 이하임을 식별함에 따라, 또는 외부 전자 장치(102)의 지터 버퍼의 비어있는 공간의 크기가 특정 임계 값을 초과하지 않음을 식별함에 따라, 제4 데이터를 전송하는데 동작 618에서 제3 데이터를 전송한 제4 패킷 타입(예: 2DH3 패킷 타입)을 유지할 수 있다. 동작 621에서, 전자 장치(101)는 제4 데이터를 정상적으로 수신하였음을 나타내는 ACK 메시지를 외부 전자 장치(102)로부터 수신할 수 있다.
일 실시예에 따라, 전자 장치(101)는 동작 621에서 외부 전자 장치(102)로부터 수신한 ACK 메시지를 기반으로 외부 전자 장치(102)의 지터 버퍼의 비어있는 공간의 크기를 추정할 수 있다. 일 실시예에 따라, 동작 622에서, 전자 장치(101)는 외부 전자 장치(102)의 지터 버퍼의 비어있는 공간의 크기를 추정하여 외부 전자 장치(102)의 지터 버퍼의 비어있는 공간의 크기가 특정 임계 값을 초과하는 경우, 처음 제1 데이터를 전송한 패킷 타입(예: 제1 패킷 타입)으로 제4 데이터의 다음 데이터인 제5 데이터(data 5)를 전송할 패킷 타입을 변경할 수 있다. 일 실시예에 따라, 동작 623에서, 전자 장치(101)는, 외부 전자 장치(102)의 지터 버퍼가 특정 임계 값을 초과함을 식별함에 따라, 제4 데이터의 다음 데이터인 제5 데이터를 제1 데이터를 최초로 전송하였던 패킷 타입인 제1 패킷 타입(예: 3DH5 패킷 타입)으로 외부 전자 장치(102)에게 전송할 수 있다. 제1 패킷 타입(예: 3DH5 패킷 타입)은 동작 620에서 제4 데이터를 전송한 제4 패킷 타입(예: 2DH3 패킷 타입)보다 많은 양의 데이터를 전송할 수 있다. 또는 일 실시예에 따라, 전자 장치(101)는 외부 전자 장치(102)의 지터 버퍼의 비어있는 공간의 크기가 특정 임계 값을 초과함을 식별함에 따라 마지막으로 수신된 선호 레이트 메시지(preferred rate message)를 기반으로 전송 성공 확률이 높은 패킷 타입을 연산해 제5 데이터를 전송할 수도 있다. 동작 624에서, 전자 장치(101)는 제5 데이터를 정상적으로 수신하였음을 나타내는 ACK 메시지를 외부 전자 장치(102)로부터 수신할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 외부 전자 장치(102)의 지터 버퍼의 비어있는 공간의 크기에 대한 정보에 기반하여 전송 패킷 타입을 단계적으로 변경하거나 특정 패킷 타입으로 변경할 수도 있다. 예컨대, 외부 전자 장치(102)의 지터 버퍼의 비어있는 공간의 크기가 점차 증가함에 따라 2DH3->2DH5->3DH5와 같이 점차적으로 데이터 패킷의 종류를 변경할 수 있다. 또한, 일 실시예에 따라 외부 전자 장치(102)의 지터 버퍼의 비어있는 공간의 크기 또는 크기의 구간 별로 맵핑되는 데이터 패킷의 종류가 지정되어 있을 수 있다.
도 6에서는 전자 장치(101)가 외부 전자 장치(102)의 지터 버퍼의 크기를 기반으로 패킷 타입의 변경 또는 유지를 결정하는 것으로 도시하였으나, 이는 일 예시일 뿐이며, 실시예에 따라 전자 장치(101)는 주변 무선 품질, 일정 기간 동안의 재전송 비율, 응답의 수신 신호 강도(RSSI), NACK 메시지와 ACK 메시지의 누락(missing) 비율, 비트 오류 율(BER), 또는 패킷 오류 율(PER)과 같이 패킷 전송에 영향을 미치는 다양한 요소들 중 적어도 하나를 기반으로 패킷 타입의 변경 또는 유지를 결정할 수 있다. 이를 통하여 전자 장치는 외부 요인 변경에 대한 반응 속도를 감축하여 효율적인 데이터 전송을 가능하게 하고, 전자 장치의 성능이 저하 문제를 최소화하여 사용자에게 안정적인 서비스를 제공할 수 있다.
이하, 도 7 및 도 8을 참고하여, 일 실시예에 따른 복수의 장치들의 동작에 대하여 설명한다. 앞서 설명한 실시예와 동일한 구성은 동일한 참조 번호로 참조될 수 있으며 동일한 구성에 대한 설명은 생략될 수 있다.
이하, 설명되는 전자 장치의 동작들은 전자 장치(101)의 통신 모듈(예: 도 1의 통신 모듈(190))에서 수행될 수 있다. 일 실시예에 따라 이하 설명되는 전자 장치의 동작들은 전자 장치의 통신 모듈에 포함되는 블루투스 칩에 의해 수행될 수 있다.
도 7은 일 실시예에 따른 블루투스 네트워크(700)의 전자 장치들을 도시한다.
도 7을 참조하면, 예를 들어, 사용자 장치(101)는 휴대용 전자 장치(예: 스마트 폰)일 수 있다. 제1 장치(102-1)와 제2 장치(102-2)는 하나의 세트를 구성하는 무선 이어폰 또는 무선 이어버드일 수 있다. 예를 들어, 사용자 장치(101)와 제1 장치(102-1) 및 제2 장치(102-2)는 연결된 상태일 수 있다. 도 7의 사용자 장치(101)는 앞서 도 1 내지 도 6을 참조하여 설명한 실시예의 전자 장치(101)의 일 예시일 수 있으며, 제1 장치(102-1) 또는 제2 장치(102-2)는 앞서 도 1 내지 도 6을 참조하여 설명한 실시예의 외부 전자 장치(102)의 일 예시일 수 있다.
도 8은 일 실시예에 따른 블루투스 네트워크 환경에서 장치들의 연결을 나타내는 사용자 인터페이스(user interface, UI)(810, 820)를 도시한다.
도 8은 제1 장치(102-1) 및 제2 장치(102-2)가 세트로 구성되는 실시 예를 도시하지만, 사용자 장치(101)가 제1 장치(202-1)와의 연결만을 나타내는 사용자 인터페이스에도 동일한 원리가 적용될 수 있다.
도 7을 참조하면, 참조 번호 701에서, 사용자 장치(101)는 제1 장치(102-1)로부터 전송된 애드버타이징(advertising) 신호를 수신함으로써 제1 장치(102-1)를 인식(recognize)하고, 인식된 제1 장치(102-1) 및 제1 장치(102-1)와 세트를 구성하는 제2 장치(102-2)를 사용자에게 알리기 위한 제1 사용자 인터페이스(812)를 사용자 장치(101)의 디스플레이(811)를 통해 출력할 수 있다.
참조 번호 810을 참조하면, 제1 사용자 인터페이스(812)는 예를 들어, 제1 장치(102-1) 및 제2 장치(102-2)의 형태를 나타내는 이미지(813) 또는 제1 장치(102-1) 및 제2 장치(102-2)의 장치 이름(예: My Galaxy Buds)을 나타내는 텍스트(814) 중 적어도 하나를 포함할 수 있다. 다른 예를 들어, 도 8에는 도시되지 않았지만, 제1 사용자 인터페이스(812)는 제1 장치(102-1) 또는 제2 장치(102-2)가 이전에 연결된 이력이 있는지를 나타낼 수 있다.
일 실시 예에 따르면, 애드버타이징 신호는 사용자 장치(101)와 제1 장치(102-1)의 연결(또는 페어링(pairing))을 위한 정보를 포함할 수 있다. 예를 들어, 애드버타이징 신호는 제1 장치(102-1)의 식별 정보, 사용자 계정 정보, 제1 장치(102-1)가 다른 장치와 페어링 중인지를 나타내는 현재 페어링 정보, 제1 장치(102-1)가 이전에 페어링 된 장치에 관한 리스트(list)를 나타내는 페어링 리스트, 제1 장치(102-1)와 동시에 페어링 할 수 있는 장치를 나타내는 동시 페어링 정보, 송신 전력, 감지 영역, 또는 배터리 상태 정보 중 적어도 하나를 포함할 수 있다. 다른 예를 들어, 제1 장치(102-1)가 제2 장치(102-2)와 세트를 구성하는 경우, 애드버타이징 신호는 제2 장치(102-2)의 식별 정보, 사용자 계정 정보, 제2 장치(102-2)가 다른 장치와 페어링 중인지를 나타내는 현재 페어링 정보, 제2 장치(102-2)가 이전에 페어링 된 장치에 관한 리스트(list)를 나타내는 페어링 리스트, 제1 장치(102-2)와 동시에 페어링 할 수 있는 장치를 나타내는 동시 페어링 정보, 송신 전력, 감지 영역, 또는 배터리 상태 정보 중 적어도 하나를 더 포함할 수 있다.
일 실시 예에 따르면, 제1 장치(102-1)는 멀티캐스트(multicast) 방식 또는 브로드캐스트(broadcast) 방식을 통해 애드버타이징 신호를 전송할 수 있다.
일 실시 예에 따르면, 제1 장치(102-1)는 지정된 조건에 따라서 애드버타이징 신호를 전송할 수 있다. 예를 들어, 제1 장치(102-1)는 제1 장치(102-1)가 보관되는 케이스가 열린 것을 감지한 것에 응답하여 애드버타이징 신호를 전송할 수 있다. 다른 예를 들어, 제1 장치(102-1)는 전원이 공급되거나, 사용자 입력을 수신한 것에 응답하여 애드버타이징 신호를 전송할 수 있다. 다른 예를 들어, 제1 장치(102-1)는 지정된 주기마다 애드버타이징 신호를 전송할 수 있다.
일 실시 예에 따르면, 사용자 장치(101)는 제1 장치(102-1)와의 연결을 요청하는 사용자 입력(815)을 수신한 것에 응답하여, 또는 사용자 입력 없이 자동적으로 제1 장치(102-1)와 제1 링크(701)를 수립할 수 있다. 일 실시 예에 따르면, 사용자 장치(101) 및 제1 장치(102-1)는 블루투스 표준 규격에 기반하는 절차에 따라서 제1 링크(701)를 수립할 수 있다. 예를 들어, 사용자 장치(101) 및 제1 장치(102-1)는 상대방 장치를 인식하기 위한 기저대역 페이지 절차(baseband page procedure), LMP(link manager protocol) 버전(version), 클록 오프셋(clock offset), 및 지원되는 기능(예: supported feature)을 확인(identify)하기 위한 LMP 절차, 연결의 확인을 위한 호스트 연결/응답(host request/response) 절차, 상대방 장치가 신뢰할 수 있는 장치인지 여부를 확인하기 위한 인증(authentication) 절차, 암호화(encryption) 절차, 및 호스트에게 연결(예: 제1 링크(205))의 완료를 알리기 위한 셋업 완료(setup complete) 절차를 수행할 수 있다.
제1 링크(701)가 수립되면, 사용자 장치(101)는 참조 번호 820과 같이, 제1 장치(102-1)가 사용자 장치(101)와 연결됨을 나타내는 제2 사용자 인터페이스(821)를 디스플레이(811)를 통해 출력할 수 있다. 제2 사용자 인터페이스(821)는 예를 들어, 제1 전자 장치(102-1) 및 제1 장치(102-1)와 세트를 구성하는 제2 장치(102-2)의 배터리 상태를 나타내는 이미지(822)를 더 포함할 수 있다.
도 7에는 도시되지 않았지만, 일 실시 예에 따르면, 사용자 장치(101)가 제1 장치(102-1) 및 제2 장치(102-2) 이외의 외부 장치와 기 연결된 상태에서 제1 장치(102-1)가 발견(discover)되면, 제1 장치(102-1) 또는 제2 장치(102-2)가 사용자 장치(101)와 외부 장치 간 기 연결된 링크를 모니터링 할 수 있도록, 사용자 장치(101)는 제1 장치(102-1) 또는 제2 장치(102-2)에게 기 연결된 링크에 관한 정보를 전송할 수 있다. 이 경우, 제1 사용자 인터페이스(812)는 제1 장치(102-1) 또는 제2 장치(102-2)가 추가될 수 있음을 나타내는 정보를 포함할 수 있다. 제1 장치(102-1) 또는 제2 장치(102-2)의 추가를 요청하는 사용자 입력이 수신되면, 사용자 장치(101)는 제1 장치(102-1) 또는 제2 장치(102-2)에게 기 연결된 링크에 관한 정보를 전송할 수 있다.
다시 도 7을 참조하면, 일 실시예에 따르면, 사용자 장치(101)는 소스 장치(source device)로서 동작할 수 있다. 사용자 장치(101)는 제1 링크(701)를 통하여 제1 장치(102-1)로 오디오 데이터를 송신할 수 있다. 제1 장치(102-1)와 제2 장치(102-2)는 제1 링크(701)를 통하여 사용자 장치(101)로부터 수신된 오디오 데이터를 수신하고, 수신된 오디오 데이터를 출력하도록 설정될 수 있다. 예를 들어, 제1 장치(102-1)와 제2 장치(102-2)는 수신된 오디오 데이터를 버퍼에 저장하고, 버퍼에 저장된 데이터를 이용하여 오디오 신호를 출력할 수 있다.
일 실시예에 따르면, 제1 장치(102-1) 및/또는 제2 장치(102-2)가 소스 장치로서 동작할 수 있다. 예를 들어, 제1 장치(102-1) 및/또는 제2 장치(102-2)가 제1 링크(701)의 무선 자원을 이용하여 사용자 장치(101)로 오디오 데이터를 송신할 수 있다. 사용자 장치(101)는 수신된 오디오 데이터를 버퍼에 저장하고, 버퍼에 저장된 데이터를 이용하여 오디오 신호를 출력할 수 있다.
이하의 다양한 실시예들에 있어서, 전자 장치가 전자 장치의 통신 상태에 기반하여 수신 경로를 설정하는 다양한 방법들이 설명될 수 있다. 상술된 바와 같이, 사용자 장치(101), 제1 장치(102-1), 및/또는 제2 장치(102-2)가 소스 장치로부터 데이터를 수신하는 경우, 사용자 장치(101), 제1 장치(102-1), 및/또는 제2 장치(102-2)가 도 1 내지 도 6을 참조하여 상술된 실시예들을 수행할 수 있다.
본 문서에 개시되는 일 실시 예에 따른 전자 장치(101)는, 블루투스 프로토콜을 지원하도록 구성된 무선 통신 회로를 포함하고, 상기 무선 통신 회로는: 외부 전자 장치와 통신 링크(link)를 생성하고(201), 상기 통신 링크를 통하여 제1 데이터를 포함하는 제1 타입의 패킷을 전송하고(203), 상기 전송한 제1 타입의 패킷에 대한 ACK 메시지를 상기 외부 전자 장치로부터 수신하지 못한 경우(204), 제1 임계 값에 도달하였는지 판단하고(206), 상기 제1 임계 값에 도달한 경우, 상기 제1 데이터의 적어도 일부를 포함하는 제2 타입의 패킷을 전송하고(207), 상기 제1 임계 값에 도달하지 않은 경우, 상기 제1 데이터를 포함하는 상기 제1 타입의 패킷을 재전송할 수 있다.
본 문서에 개시되는 일 실시 예에 따르면, 상기 무선 통신 회로는, 일정 시간(slot) 또는 상기 재전송의 횟수(count)로 상기 제1 임계 값을 설정하도록 구성될 수 있다.
본 문서에 개시되는 일 실시 예에 따르면, 상기 무선 통신 회로는, 상기 전자 장치와 상기 외부 전자 장치 사이의 무선 통신 환경, 상기 외부 전자 장치의 버퍼(buffer) 크기, 일정 기간 동안의 데이터 패킷의 재전송 비율, 응답의 수신 신호 강도(received signal strength indicator), 일정 기간 동안의 NACK 메시지와 ACK 메시지의 누락(missing) 비율, 비트 오류 율(bit error rate), 또는 패킷 오류 율(packet error rate) 중 적어도 하나를 기반으로 상기 제1 임계 값을 설정하도록 구성될 수 있다.
본 문서에 개시되는 일 실시 예에 따르면, 상기 무선 통신 회로는, 상기 제1 타입보다 상기 전자 장치와 상기 외부 전자 장치 사이의 무선 통신 환경에 따라 받는 영향이 적으며 전송 안정성이 높은 패킷 타입을 상기 제2 타입으로 결정하도록 구성될 수 있다.
본 문서에 개시되는 일 실시 예에 따르면, 상기 무선 통신 회로는, 상기 제1 타입에서 모듈레이션 방식이 변경된 패킷 타입, 상기 제1 타입에서 패킷 크기가 변경된 패킷 타입, 또는 상기 제1 타입에서 모듈레이션 방식 및 패킷 크기가 변경된 패킷 타입을 상기 제2 타입으로 결정하도록 구성될 수 있다.
본 문서에 개시되는 일 실시 예에 따르면, 상기 무선 통신 회로는, 상기 전송한 제1 타입의 패킷에 대한 ACK 메시지를 상기 외부 전자 장치로부터 수신한 경우, 상기 제1 데이터의 다음 데이터인 제2 데이터를 상기 제1 타입 또는 상기 제2 타입으로 전송하도록 구성될 수 있다.
본 문서에 개시되는 일 실시 예에 따르면, 상기 무선 통신 회로는, 상기 외부 전자 장치의 버퍼 크기를 기반으로 상기 제2 데이터를 상기 제1 타입으로 전송할지 또는 상기 제2 타입으로 전송할지 결정하도록 구성될 수 있다.
본 문서에 개시되는 일 실시 예에 따른 전자 장치(101)는, 블루투스 프로토콜을 지원하도록 구성된 무선 통신 회로를 포함하고, 상기 무선 통신 회로는: 외부 전자 장치와 통신 링크(link)를 생성하고(201), 제1 타입을 제2 타입으로 변경하기 위한 제1 임계 값 및 상기 제2 타입을 제3 타입으로 변경하기 위한 제2 임계 값을 설정하고(202), 상기 통신 링크를 통하여 제1 데이터를 포함하는 상기 제1 타입의 패킷을 전송하고(203), 상기 제1 타입의 패킷에 대한 ACK 메시지를 상기 외부 전자 장치로부터 수신하지 못한 경우(204), 상기 제1 임계 값에 도달하였는지 판단하며(206), 상기 제1 임계 값에 도달한 경우, 상기 제1 데이터의 적어도 일부를 포함하는 상기 제2 타입의 패킷으로 전송하고(207), 상기 제2 타입의 패킷에 대한 ACK 메시지를 상기 외부 전자 장치로부터 수신하지 못한 경우, 상기 제2 임계 값에 도달하였는지 판단하며, 상기 제2 임계 값에 도달한 경우, 상기 제1 데이터의 적어도 일부를 포함하는 상기 제3 타입의 패킷으로 전송하도록 할 수 있다.
본 문서에 개시되는 일 실시 예에 따르면, 상기 무선 통신 회로는, 상기 제1 임계 값과 상기 제2 임계 값은 서로 상이하게 설정하도록 구성될 수 있다.
본 문서에 개시되는 일 실시 예에 따르면, 상기 무선 통신 회로는, 일정 시간(slot) 또는 일정 전송 횟수(count)로 상기 제1 임계 값과 상기 제2 임계값을 설정하도록 구성될 수 있다.
본 문서에 개시되는 일 실시 예에 따르면, 상기 무선 통신 회로는, 상기 제1 타입에서 모듈레이션 방식이 변경된 패킷 타입, 상기 제1 타입에서 패킷 크기가 변경된 패킷 타입, 또는 상기 제1 타입에서 모듈레이션 방식 및 패킷 크기가 변경된 패킷 타입을 상기 제2 타입으로 결정하도록 구성될 수 있다.
본 문서에 개시되는 일 실시 예에 따르면, 상기 무선 통신 회로는, 상기 제2 타입보다 전송률이 낮은 모듈레이션 방식의 패킷 타입, 상기 제2 타입보다 패킷 크기가 작은 패킷 타입, 또는 상기 제2 타입보다 전송률이 낮은 모듈레이션 방식을 사용하고 패킷 크기가 작은 패킷 타입을 상기 제3 타입으로 결정하도록 구성될 수 있다.
본 문서에 개시되는 일 실시 예에 따르면, 상기 무선 통신 회로는, 상기 제1 임계 값에 도달하지 않은 경우, 상기 제1 데이터를 포함하는 상기 제1 타입의 패킷을 재전송하며, 상기 제2 임계 값에 도달하지 않은 경우, 상기 제1 데이터의 적어도 일부를 포함하는 상기 제2 타입의 패킷을 재전송하도록 구성될 수 있다.
본 문서에 개시되는 일 실시 예에 따른 전자 장치(101)를 사용하여 데이터 패킷을 전송하기 위한 방법에 있어서, 상기 전자 장치에 포함되는 블루투스 프로토콜을 지원하도록 구성된 무선 통신 회로를 통해, 외부 전자 장치와 통신 링크(link)를 생성하고(201), 상기 전자 장치에 포함되는 무선 통신 회로에 의해, 상기 통신 링크를 통하여 제1 데이터를 포함하는 제1 타입의 패킷을 전송하고(203), 상기 무선 통신 회로에 의해, 상기 전송한 제1 타입의 패킷에 대한 ACK 메시지를 상기 외부 전자 장치로부터 수신하지 못한 경우(204), 제1 임계 값에 도달하였는지 판단하고(206), 상기 무선 통신 회로에 의해, 상기 제1 임계 값에 도달한 경우, 상기 제1 데이터의 적어도 일부를 포함하는 제2 타입의 패킷을 전송하며(207), 상기 무선 통신 회로에 의해, 상기 제1 임계 값에 도달하지 않은 경우, 상기 제1 데이터를 포함하는 상기 제1 타입의 패킷을 재전송하도록 할 수 있다.
본 문서에 개시되는 일 실시 예에 따르면, 상기 무선 통신 회로에 의해, 상기 제1 임계 값을 일정 시간(slot) 또는 상기 재전송의 횟수(count)로 설정하는, 데이터 패킷을 전송할 수 있다.
본 문서에 개시되는 일 실시 예에 따르면, 상기 무선 통신 회로에 의해, 상기 전자 장치와 상기 외부 전자 장치 사이의 무선 통신 환경, 상기 외부 전자 장치의 버퍼(buffer) 크기, 일정 기간 동안의 데이터 패킷의 재전송 비율, 응답의 수신 신호 강도(received signal strength indicator), 일정 기간 동안의 NACK 메시지와 ACK 메시지의 누락(missing) 비율, 비트 오류 율(bit error rate), 또는 패킷 오류 율(packet error rate) 중 적어도 하나를 기반으로 상기 제1 임계 값을 설정할 수 있다.
본 문서에 개시되는 일 실시 예에 따르면, 상기 무선 통신 회로에 의해, 상기 제1 타입보다 상기 전자 장치와 상기 외부 전자 장치 사이의 무선 통신 환경에 따라 받는 영향이 적으며 전송 안정성이 높은 패킷 타입을 상기 제2 타입으로 결정하는, 데이터 패킷을 전송할 수 있다.
본 문서에 개시되는 일 실시 예에 따르면, 상기 무선 통신 회로에 의해, 상기 제1 타입에서 모듈레이션 방식이 변경된 패킷 타입, 상기 제1 타입에서 패킷 크기가 변경된 패킷 타입, 또는 상기 제1 타입에서 모듈레이션 방식 및 패킷 크기가 변경된 패킷 타입을 상기 제2 타입으로 결정할 수 있다.
본 문서에 개시되는 일 실시 예에 따르면, 상기 무선 통신 회로에 의해, 상기 전송한 제1 타입의 패킷에 대한 ACK 메시지를 상기 외부 전자 장치로부터 수신한 경우, 상기 제1 데이터의 다음 데이터인 제2 데이터를 상기 제1 타입 또는 상기 제2 타입으로 전송할 수 있다.
본 문서에 개시되는 일 실시 예에 따르면, 상기 무선 통신 회로에 의해, 상기 외부 전자 장치의 버퍼 크기를 기반으로 상기 제2 데이터를 상기 제1 타입으로 전송할지 또는 상기 제2 타입으로 전송할지 결정할 수 있다.
본 문서에 개시된 다양한 실시 예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치 (예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시 예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시 예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나","A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나" 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일 실시 예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시 예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일 실시 예에 따르면, 본 문서에 개시된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시 예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시 예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.
Claims (15)
- 전자 장치에 있어서,블루투스 프로토콜을 지원하도록 구성된 무선 통신 회로; 를 포함하고,상기 무선 통신 회로는:외부 전자 장치와 통신 링크(link)를 생성하고,상기 통신 링크를 통하여 제1 데이터를 포함하는 제1 타입의 패킷을 전송하고,상기 전송한 제1 타입의 패킷에 대한 ACK 메시지를 상기 외부 전자 장치로부터 수신하지 못한 경우, 제1 임계 값에 도달하였는지 판단하고,상기 제1 임계 값에 도달한 경우, 상기 제1 데이터의 적어도 일부를 포함하는 제2 타입의 패킷을 전송하고,상기 제1 임계 값에 도달하지 않은 경우, 상기 제1 데이터를 포함하는 상기 제1 타입의 패킷을 재전송하는, 전자 장치.
- 청구항 1에 있어서, 상기 무선 통신 회로는, 일정 시간(slot) 또는 상기 재전송의 횟수(count)로 상기 제1 임계 값을 설정하도록 구성된, 전자 장치.
- 청구항 1에 있어서,상기 무선 통신 회로는, 상기 전자 장치와 상기 외부 전자 장치 사이의 무선 통신 환경, 상기 외부 전자 장치의 버퍼(buffer) 크기, 일정 기간 동안의 데이터 패킷의 재전송 비율, 응답의 수신 신호 강도(received signal strength indicator), 일정 기간 동안의 NACK 메시지와 ACK 메시지의 누락(missing) 비율, 비트 오류 율(bit error rate), 또는 패킷 오류 율(packet error rate) 중 적어도 하나를 기반으로 상기 제1 임계 값을 설정하도록 구성된, 전자 장치.
- 청구항 1에 있어서,상기 무선 통신 회로는, 상기 제1 타입보다 상기 전자 장치와 상기 외부 전자 장치 사이의 무선 통신 환경에 따라 받는 영향이 적으며 전송 안정성이 높은 패킷 타입을 상기 제2 타입으로 결정하도록 구성된, 전자 장치.
- 청구항 1에 있어서,상기 무선 통신 회로는, 상기 제1 타입에서 모듈레이션 방식이 변경된 패킷 타입, 상기 제1 타입에서 패킷 크기가 변경된 패킷 타입, 또는 상기 제1 타입에서 모듈레이션 방식 및 패킷 크기가 변경된 패킷 타입을 상기 제2 타입으로 결정하도록 구성된, 전자 장치.
- 청구항 1에 있어서,상기 무선 통신 회로는,상기 전송한 제1 타입의 패킷에 대한 ACK 메시지를 상기 외부 전자 장치로부터 수신한 경우, 상기 제1 데이터의 다음 데이터인 제2 데이터를 상기 제1 타입 또는 상기 제2 타입으로 전송하도록 구성된, 전자 장치.
- 청구항 6에 있어서,상기 무선 통신 회로는, 상기 외부 전자 장치의 버퍼 크기를 기반으로 상기 제2 데이터를 상기 제1 타입으로 전송할지 또는 상기 제2 타입으로 전송할지 결정하도록 구성된, 전자 장치.
- 전자 장치에 있어서,블루투스 프로토콜을 지원하도록 구성된 무선 통신 회로를 포함하고,상기 무선 통신 회로는:외부 전자 장치와 통신 링크(link)를 생성하고,제1 타입을 제2 타입으로 변경하기 위한 제1 임계 값 및 상기 제2 타입을 제3 타입으로 변경하기 위한 제2 임계 값을 설정하고,상기 통신 링크를 통하여 제1 데이터를 포함하는 상기 제1 타입의 패킷을 전송하고,상기 제1 타입의 패킷에 대한 ACK 메시지를 상기 외부 전자 장치로부터 수신하지 못한 경우, 상기 제1 임계 값에 도달하였는지 판단하며,상기 제1 임계 값에 도달한 경우, 상기 제1 데이터의 적어도 일부를 포함하는 상기 제2 타입의 패킷으로 전송하고,상기 제2 타입의 패킷에 대한 ACK 메시지를 상기 외부 전자 장치로부터 수신하지 못한 경우, 상기 제2 임계 값에 도달하였는지 판단하며,상기 제2 임계 값에 도달한 경우, 상기 제1 데이터의 적어도 일부를 포함하는 상기 제3 타입의 패킷으로 전송하도록 하는, 전자 장치.
- 청구항 8에 있어서,상기 무선 통신 회로는, 상기 제1 임계 값과 상기 제2 임계 값은 서로 상이하게 설정하도록 구성된, 전자 장치.
- 청구항 8에 있어서,상기 무선 통신 회로는, 일정 시간(slot) 또는 일정 전송 횟수(count)로 상기 제1 임계 값과 상기 제2 임계값을 설정하도록 구성된, 전자 장치.
- 청구항 8에 있어서,상기 무선 통신 회로는, 상기 제1 타입에서 모듈레이션 방식이 변경된 패킷 타입, 상기 제1 타입에서 패킷 크기가 변경된 패킷 타입, 또는 상기 제1 타입에서 모듈레이션 방식 및 패킷 크기가 변경된 패킷 타입을 상기 제2 타입으로 결정하도록 구성된, 전자 장치.
- 청구항 11에 있어서,상기 무선 통신 회로는, 상기 제2 타입보다 전송률이 낮은 모듈레이션 방식의 패킷 타입, 상기 제2 타입보다 패킷 크기가 작은 패킷 타입, 또는 상기 제2 타입보다 전송률이 낮은 모듈레이션 방식을 사용하고 패킷 크기가 작은 패킷 타입을 상기 제3 타입으로 결정하도록 구성된, 전자 장치.
- 청구항 8에 있어서,상기 무선 통신 회로는, 상기 제1 임계 값에 도달하지 않은 경우, 상기 제1 데이터를 포함하는 상기 제1 타입의 패킷을 재전송하며,상기 제2 임계 값에 도달하지 않은 경우, 상기 제1 데이터의 적어도 일부를 포함하는 상기 제2 타입의 패킷을 재전송하도록 구성된, 전자 장치.
- 전자 장치를 사용하여 데이터 패킷을 전송하기 위한 방법에 있어서,상기 전자 장치에 포함되는 블루투스 프로토콜을 지원하도록 구성된 무선 통신 회로를 통해, 외부 전자 장치와 통신 링크(link)를 생성하고,상기 전자 장치에 포함되는 무선 통신 회로에 의해, 상기 통신 링크를 통하여 제1 데이터를 포함하는 제1 타입의 패킷을 전송하고,상기 무선 통신 회로에 의해, 상기 전송한 제1 타입의 패킷에 대한 ACK 메시지를 상기 외부 전자 장치로부터 수신하지 못한 경우, 제1 임계 값에 도달하였는지 판단하고,상기 무선 통신 회로에 의해, 상기 제1 임계 값에 도달한 경우, 상기 제1 데이터의 적어도 일부를 포함하는 제2 타입의 패킷을 전송하며,상기 무선 통신 회로에 의해, 상기 제1 임계 값에 도달하지 않은 경우,상기 제1 데이터를 포함하는 상기 제1 타입의 패킷을 재전송하도록 하는, 데이터 패킷을 전송하기 위한 방법.
- 청구항 14에 있어서,상기 무선 통신 회로에 의해, 상기 제1 임계 값을 일정 시간(slot) 또는 상기 재전송의 횟수(count)로 설정하는, 데이터 패킷을 전송하기 위한 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190172958A KR20210080897A (ko) | 2019-12-23 | 2019-12-23 | 블루투스 네트워크 환경에서 데이터를 전송하기 위한 전자 장치 및 그에 관한 방법 |
KR10-2019-0172958 | 2019-12-23 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021133026A1 true WO2021133026A1 (ko) | 2021-07-01 |
Family
ID=76575363
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2020/018876 WO2021133026A1 (ko) | 2019-12-23 | 2020-12-22 | 블루투스 네트워크 환경에서 데이터를 전송하기 위한 전자 장치 및 그에 관한 방법 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR20210080897A (ko) |
WO (1) | WO2021133026A1 (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230170479A (ko) * | 2022-06-10 | 2023-12-19 | 삼성전자주식회사 | 오디오 서비스를 제공하는 전자 장치 및 그 동작 방법 |
WO2023243866A1 (ko) * | 2022-06-13 | 2023-12-21 | 삼성전자주식회사 | 오디오 서비스를 제공하는 전자 장치 및 그 동작 방법 |
WO2024005487A1 (ko) * | 2022-06-28 | 2024-01-04 | 삼성전자주식회사 | 외부 기기를 통해 무선 이어폰으로 데이터를 전송하는 전자 장치 및 방법 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040017790A1 (en) * | 2002-07-25 | 2004-01-29 | Koninlijke Philips Electronics N.V. | Method and system for generating and updating transmission rate for link adaptation in IEEE 802.11 WLAN |
KR20090124428A (ko) * | 2008-05-30 | 2009-12-03 | 포스데이타 주식회사 | Mimo와 harq를 이용한 데이터 패킷 전송방법 및 그방법을 지원하는 시스템 |
KR20160104708A (ko) * | 2013-12-31 | 2016-09-05 | 선전 후이딩 테크놀로지 컴퍼니 리미티드 | 근거리장 통신을 위한 근접성 검출 방법 및 장치 |
KR20170011189A (ko) * | 2015-07-21 | 2017-02-02 | 삼성전자주식회사 | 전자 장치 및 전자 장치의 통신 충돌 회피 방법 |
KR20170142511A (ko) * | 2016-06-17 | 2017-12-28 | 삼성전자주식회사 | 블루투스 기반의 무선 통신 시스템에서 스트리밍 데이터의 통신 방법 및 장치 |
-
2019
- 2019-12-23 KR KR1020190172958A patent/KR20210080897A/ko unknown
-
2020
- 2020-12-22 WO PCT/KR2020/018876 patent/WO2021133026A1/ko active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040017790A1 (en) * | 2002-07-25 | 2004-01-29 | Koninlijke Philips Electronics N.V. | Method and system for generating and updating transmission rate for link adaptation in IEEE 802.11 WLAN |
KR20090124428A (ko) * | 2008-05-30 | 2009-12-03 | 포스데이타 주식회사 | Mimo와 harq를 이용한 데이터 패킷 전송방법 및 그방법을 지원하는 시스템 |
KR20160104708A (ko) * | 2013-12-31 | 2016-09-05 | 선전 후이딩 테크놀로지 컴퍼니 리미티드 | 근거리장 통신을 위한 근접성 검출 방법 및 장치 |
KR20170011189A (ko) * | 2015-07-21 | 2017-02-02 | 삼성전자주식회사 | 전자 장치 및 전자 장치의 통신 충돌 회피 방법 |
KR20170142511A (ko) * | 2016-06-17 | 2017-12-28 | 삼성전자주식회사 | 블루투스 기반의 무선 통신 시스템에서 스트리밍 데이터의 통신 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
KR20210080897A (ko) | 2021-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021133026A1 (ko) | 블루투스 네트워크 환경에서 데이터를 전송하기 위한 전자 장치 및 그에 관한 방법 | |
WO2020180042A1 (en) | Electronic device for transmitting response message in bluetooth network environment and method thereof | |
WO2021033954A1 (en) | Electronic device for retransmitting data in bluetooth network environment and method thereof | |
WO2021033962A1 (ko) | 블루투스 네트워크 환경에서 다중 링크 지원 방법 및 이를 위한 전자 장치 | |
WO2020189963A1 (en) | Method for establishing wireless communication link and electronic device supporting same | |
WO2020180056A1 (ko) | 블루투스 네트워크 환경에서 응답 메시지를 전송하기 위한 전자 장치 및 그에 관한 방법 | |
WO2019112268A1 (ko) | 블루투스 통신을 재연결하는 방법 및 장치 | |
WO2018216904A1 (ko) | 전자 장치 및 전자 장치에서 블루투스 기반의 데이터를 전송하는 방법 | |
WO2021049748A1 (en) | Electronic device for receiving data packet in bluetooth network environment and method thereof | |
WO2020180069A1 (en) | Electronic device for transmitting response message in bluetooth network environment and method for the same | |
WO2015126211A1 (en) | Topology management method and network system performing the same | |
WO2016039576A2 (ko) | 무선 통신 시스템에서 다중 망 접속을 위한 장치 및 방법 | |
WO2021033893A1 (ko) | 블루투스 네트워크 환경에서 데이터 패킷을 전송하기 위한 전자 장치 및 그에 관한 방법 | |
WO2019235813A1 (en) | Electronic device supporting multiple wireless communication protocols and method therefor | |
WO2022158735A1 (ko) | 오디오 데이터를 처리하는 전자 장치와 이의 동작 방법 | |
WO2022065788A1 (ko) | Rcs 데이터를 수신 또는 전송하는 전자 장치 및 전자 장치의 동작 방법 | |
WO2023048410A1 (ko) | 데이터 패킷 송수신을 위한 전자 장치 및 그 동작 방법 | |
WO2022231205A1 (ko) | Uwb 레인징시 데이터를 송수신하는 전자 장치 및 그 방법 | |
WO2021246751A1 (ko) | 블루투스 통신 환경의 다중 장치간 통신 방법 및 이를 위한 전자 장치 | |
WO2020180113A1 (ko) | 블루투스 네트워크에서 채널 정보를 공유하기 위한 방법 및 이를 위한 전자 장치 | |
WO2022055133A1 (ko) | 음성 데이터를 전송하기 위한 전자 장치 및 그의 동작 방법 | |
WO2022265190A1 (ko) | 전자 장치 및 이의 동작 방법 | |
WO2022158763A1 (ko) | 외부 전자 장치와의 통신 연결을 수립하는 전자 장치 및 이의 동작 방법 | |
WO2021054573A1 (ko) | 주소 정보를 설정하기 위한 전자 장치 및 그 작동 방법 | |
WO2020060067A1 (ko) | 네트워크에 연결하는 방법 및 이를 수행하는 전자 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20905234 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20905234 Country of ref document: EP Kind code of ref document: A1 |