Apparatus and method for fast communication between a master device and a slave device

The described method and apparatus for BLE communication devices enable rapid adjustment of connection parameters, addressing power consumption and delay issues by updating parameters at a predetermined time, thus enhancing responsiveness and user experience.

CN114175698BActive Publication Date: 2024-12-24SAMSUNG ELECTRONICS CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202080052301.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-08-07
Filing Date
2020-07-22
Publication Date
2024-12-24
Estimated Expiration
2040-07-22

AI Technical Summary

Technical Problem

Existing Bluetooth Low Energy (BLE) communication protocols face challenges in quickly adjusting connection parameters, leading to increased power consumption and reduced applicability in scenarios requiring fast data exchange.

Method used

An electronic device equipped with a communication circuit, processor, and memory that can receive a designated message for connection parameter updates, determine a scheme, and update parameters at a predetermined time point, thereby shortening the negotiation process.

Benefits of technology

This approach allows devices to respond more quickly to changes in connection parameters, reducing delays and enhancing user experience by minimizing the time between recognizing the need for adjustment and applying it.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114175698B_ABST
    Figure CN114175698B_ABST
Patent Text Reader

Abstract

A method and apparatus for fast communication between a master device and a slave device connected via Bluetooth Low Energy (BLE) are provided. An electronic device includes a communication circuit configured to perform wireless communication, at least one processor operably connected to the communication circuit, and a memory operably connected to the processor, wherein the memory can store instructions that, when executed, cause the processor to: receive a first designated message associated with a connection parameter update from an external electronic device connected via the Bluetooth Low Energy (BLE) protocol through the communication circuit, determine a designated scheme for connection parameter update based on properties of the external electronic device in response to receiving the first designated message, determine a time point of a moment based on the determined designated scheme, send a second designated message including the time point of the determined moment to the external electronic device, and update the connection parameters when the time point of the moment is reached.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to methods and apparatus for fast communication between electronic devices connected via Bluetooth Low Energy (BLE). Background Art

[0002] Bluetooth Low Energy (BLE) technology refers to a communication protocol that operates at low power and can facilitate connection and communication with power-constrained devices. In BLE communication, the device that makes a connection request and manages the connection is called a master, and the device that accepts the connection request and follows the connection management of the master is called a slave. In most cases, among the devices, a device with relatively low power or requiring low power consumption can act as a slave.

[0003] When the amount of data exchanged between the master and slave devices in a given time is small, power consumption is reduced, but fast data exchange becomes difficult. Conversely, when the amount of data exchanged in a given time is large, power consumption increases, but fast data exchange may be possible. BLE technology provides a method for two connected devices to dynamically change connection parameters including connection interval and slave latency depending on the situation.

[0004] Although the related art provides a method for flexibly adjusting connection parameters according to the situation, it does not provide a method for reducing the time required for the adjustment process. Therefore, in the case where a quick or immediate operation needs to be performed after recognizing the necessity of changing the connection parameters, the applicability of the scenario related to the use of the corresponding device (e.g., slave device) may be reduced.

[0005] The above information is presented as background information only to assist with understanding the present disclosure. No determination has been made, and no assertion is made, as to whether any of the above might be applicable as prior art to the present disclosure. Summary of the invention

[0006] Technical issues

[0007] Various aspects of the present disclosure are intended to at least solve the above-mentioned problems and / or disadvantages, and to provide at least the advantages described below. Accordingly, one aspect of the present disclosure is to provide a method and apparatus capable of supporting fast communication between electronic devices (e.g., a master device and a slave device) connected via Bluetooth Low Energy (BLE).

[0008] Another aspect of the present disclosure is to provide a method and apparatus capable of shortening the time required for a negotiation process for connection parameters between a master device and a slave device.

[0009] Additional aspects will be set forth in part in the description which follows and, in part, will be obvious from the description, or may be learned by practice of the presented embodiments.

[0010] Technical Solution

[0011] According to one aspect of the present disclosure, an electronic device is provided. The electronic device includes a communication circuit configured to perform wireless communication, at least one processor operably connected to the communication circuit, and a memory operably connected to the processor, wherein the memory can store instructions, and when the instructions are executed, the processor: receives a first designated message associated with a connection parameter update from an external electronic device connected via a Bluetooth Low Energy (BLE) protocol through the communication circuit, in response to receiving the first designated message, determines a designated scheme for updating the connection parameters based on the properties of the external electronic device, determines a time point of a moment based on the determined designated scheme, sends a second designated message including the determined time point of the moment to the external electronic device, and updates the connection parameters when the time point of the moment is reached.

[0012] According to another aspect of the present disclosure, an electronic device is provided. The electronic device includes a communication circuit configured to perform wireless communication, at least one processor operably connected to the communication circuit, and a memory operably connected to the processor, wherein the memory can store instructions, which when executed, cause the processor to: initiate operations related to connection updates through the communication circuit based on a specified event and an external electronic device connected via a Bluetooth Low Energy (BLE) protocol, according to the initiation of operations related to connection updates, start reception (Rx) based on a specified interval less than or equal to an old connection interval and an old slave device delay, based on operations related to connection updates, receive a message including a moment time point determined by an external electronic device and indicating an update of connection parameters from the external electronic device, and update the connection parameters when the moment time point is reached.

[0013] According to another aspect of the present disclosure, a method for operating an electronic device is provided. The method includes: receiving a first designated message associated with a connection parameter update from an external electronic device connected via a Bluetooth Low Energy (BLE) protocol through a communication circuit, determining a designated scheme for updating the connection parameters based on a property of the external electronic device in response to receiving the first designated message, determining a time point of a moment based on the determined designated scheme, sending a second designated message including the time point of the moment to the external electronic device, and updating the connection parameters when the time point of the moment is reached.

[0014] In order to solve the above problems, various embodiments of the present disclosure may provide a computer-readable storage medium storing a program, where the program enables a processor to execute the above method.

[0015] Other aspects, advantages, and salient features of the disclosure will become apparent to those skilled in the art from the following detailed description, which, taken in conjunction with the annexed drawings, discloses various embodiments of the disclosure.

[0016] Advantageous Effects of the Invention

[0017] According to various embodiments, the electronic device and its operating method can shorten the time point when the value of the connection parameter between two devices (e.g., a master device and a slave device) connected via BLE needs to be dynamically changed. According to various embodiments, the time from when it is recognized that the connection parameters need to be adjusted to when the adjustment is actually applied can be shortened, and the two devices can respond to changes more quickly. According to various embodiments, when the value of the connection parameter between two devices connected via BLE changes dynamically, the time point of the moment can be advanced. This can shorten the time from when it is recognized that the connection parameters need to be adjusted to when the adjustment is actually applied, so that the connected devices can respond to changes more quickly. As a result, users can experience a usage scenario without delay. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] The above and other aspects, features and advantages of certain embodiments of the present disclosure will become more apparent from the following description in conjunction with the accompanying drawings, in which:

[0019] Figure 1 is a block diagram illustrating an electronic device in a network environment according to various embodiments;

[0020] Figure 2 is a perspective view of an electronic device including a digital pen according to an embodiment of the present disclosure;

[0021] Figure 3 is a block diagram of a digital pen according to an embodiment of the present disclosure;

[0022] Figure 4 is an exploded perspective view of a digital pen according to an embodiment of the present disclosure;

[0023] Figure 5 is a sequence diagram showing an example of a connection parameter negotiation process according to an embodiment of the present disclosure;

[0024] Figure 6 is a sequence diagram showing an example of a connection parameter negotiation process according to an embodiment of the present disclosure;

[0025] Figure 7 is a sequence diagram showing an example of a connection parameter negotiation process according to an embodiment of the present disclosure; Figure 8a and Figure 8b is a sequence diagram illustrating a connection update process between a master device and a slave device according to various embodiments of the present disclosure;

[0026] Figure 9a and Figure 9b is a sequence diagram illustrating a connection update process between a master device and a slave device according to various embodiments of the present disclosure;

[0027] Fig.10 is a sequence diagram showing an adaptive connection update process initiated by a master device according to an embodiment of the present disclosure;

[0028] Fig.11 is a flow chart showing an adaptive connection update method of a master device according to an embodiment of the present disclosure;

[0029] Fig.12 is a flow chart showing an adaptive connection update method of a slave device according to an embodiment of the present disclosure;

[0030] Fig.13 is a sequence diagram illustrating an adaptive connection update process initiated by a slave device according to an embodiment of the present disclosure;

[0031] Fig.14 is a flow chart showing an adaptive connection update method of a master device according to an embodiment of the present disclosure;

[0032] Fig.15 is a flow chart showing an adaptive connection update method of a slave device according to an embodiment of the present disclosure;

[0033] Fig.16a and Fig.16b is a diagram depicting an operation scenario according to various embodiments of the present disclosure; and

[0034] Fig.17a and Fig.17b is a diagram depicting an operation scenario according to various embodiments of the present disclosure.

[0035] Throughout the drawings, like reference numerals will be understood to refer to like parts, components and structures. DETAILED DESCRIPTION

[0036] The following description with reference to the accompanying drawings is provided to assist in a comprehensive understanding of the various embodiments of the present disclosure as defined by the claims and their equivalents. It includes various specific details that aid in understanding, but these are considered to be exemplary only. Accordingly, it will be appreciated by those of ordinary skill in the art that various changes and modifications may be made to the various embodiments described herein without departing from the scope and spirit of the present disclosure. In addition, for the sake of clarity and conciseness, descriptions of well-known functions and structures may be omitted.

[0037] The terms and words used in the following description and claims are not limited to the bibliographical meanings, but are merely used by the inventor to enable a clear and consistent understanding of the present disclosure. Therefore, it will be apparent to those skilled in the art that the following description of various embodiments of the present disclosure is provided for illustrative purposes only and not for limiting the present disclosure as defined by the appended claims and their equivalents.

[0038] It should be understood that the singular forms "a," "an," and "the" include plural referents unless the context clearly dictates otherwise. Thus, for example, reference to "a component surface" includes reference to one or more of such surfaces.

[0039] Figure 1 is a block diagram illustrating an electronic device 101 in a network environment 100 according to various embodiments.

[0040] refer to Figure 1 , the electronic device 101 in the network environment 100 may communicate with the electronic device 102 via a first network 198 (e.g., a short-range wireless communication network), communicate with the electronic device 104 or the server 108 via a second network 199 (e.g., a long-range wireless communication network), or communicate with the electronic device 104 via the server 108, and may include a processor 120, a memory 130, an input device 150, a sound output device 155, a display device 160, an audio module 170, a sensor module 176, an interface 177, a haptic module 179, a camera module 180, a power management module 188, a battery 189, a communication module 190, a user identification module (SIM) 196, or an antenna module 197. At least one of the components (e.g., the display device 160 or the camera module 180) may be omitted from the electronic device 101, or one or more other components may be added to the electronic device 101. Some of the components may be implemented as a single integrated circuit. For example, the sensor module 176 (eg, a fingerprint sensor, an iris sensor, or an illumination sensor) may be implemented to be embedded in the display device 160 (eg, a display).

[0041] The processor 120 may run, for example, software (e.g., program 140) to control at least one other component (e.g., hardware component or software component) of the electronic device 101 connected to the processor 120, and may perform various data processing or calculations. The processor 120 may load commands or data received from another component (e.g., sensor module 176 or communication module 190) into the volatile memory 132, process the commands or data stored in the volatile memory 132, and store the resultant data in the non-volatile memory 134. The processor 120 may include a main processor 121 (e.g., a central processing unit (CPU) or an application processor (AP)) and an auxiliary processor 123 (e.g., a graphics processing unit (GPU), an image signal processor (ISP), a sensor hub processor, or a communication processor (CP)) that is independent of or combined with the main processor 121 in operation. Additionally or alternatively, the auxiliary processor 123 may be adapted to consume less power than the main processor 121, or adapted to be specifically used for a specified function. The auxiliary processor 123 may be implemented separately from the main processor 121 , or as part of the main processor 121 .

[0042] When the main processor 121 is in an inactive (e.g., sleep) state, the auxiliary processor 123 may control at least some of the functions or states related to at least one component (e.g., display device 160, sensor module 176, or communication module 190) among the components of the electronic device 101 (not the main processor 121), or when the main processor 121 is in an active state (e.g., running an application), the auxiliary processor 123 may control at least some of the functions or states related to at least one component (e.g., display device 160, sensor module 176, or communication module 190) among the components of the electronic device 101 together with the main processor 121. According to an embodiment, the auxiliary processor 123 (e.g., an image signal processor or a communication processor) may be implemented as part of another component (e.g., camera module 180 or communication module 190) that is functionally related to the auxiliary processor 123.

[0043] The memory 130 may store various data used by at least one component of the electronic device 101 (e.g., the processor 120 or the sensor module 176), and may include software (e.g., the program 140) and input data or output data for commands related thereto. The memory 130 may include a volatile memory 132 or a nonvolatile memory 134.

[0044] The program 140 may be stored as software in the memory 130 , and may include an operating system (OS) 142 , middleware 144 , or an application 146 .

[0045] The input device 150 may receive commands or data from outside the electronic device 101 (eg, a user) to be used by other components of the electronic device 101 (eg, the processor 120), and may include a microphone, a mouse, a keyboard, or a digital pen (eg, a stylus).

[0046] The sound output device 155 can output a sound signal to the outside of the electronic device 101, and may include a speaker or a receiver. The speaker may be used for general purposes such as playing multimedia or playing records, and the receiver may be used for incoming calls, and the receiver may be implemented as a separate part from the speaker, or as part of the speaker.

[0047] The display device 160 may visually provide information to the outside of the electronic device 101 (e.g., a user), and may include a display, a holographic device, or a projector, and a control circuit for controlling a corresponding one of the display, the holographic device, and the projector. The display device 160 may include a touch circuit adapted to detect a touch or a sensor circuit (e.g., a pressure sensor) adapted to measure the strength of a force caused by a touch.

[0048] The audio module 170 can convert sound into an electrical signal and vice versa, and can obtain sound via the input device 150, or output sound via the sound output device 155 or an earphone of an external electronic device (e.g., electronic device 102) directly (e.g., wired) or wirelessly connected to the electronic device 101.

[0049] The sensor module 176 can detect the operating state of the electronic device 101 (for example, power or temperature) or the environmental state outside the electronic device 101 (for example, the user's state), and then generate an electrical signal or data value corresponding to the detected state, and can include a gesture sensor, a gyroscope sensor, an atmospheric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an infrared (IR) sensor, a biometric sensor, a temperature sensor, a humidity sensor or an illumination sensor.

[0050] Interface 177 may support one or more specific protocols to be used to connect electronic device 101 directly (e.g., wired) or wirelessly to an external electronic device (e.g., electronic device 102), and may include a High-Definition Multimedia Interface (HDMI), a Universal Serial Bus (USB) interface, a Secure Digital (SD) card interface, or an audio interface.

[0051] The connection terminal 178 may include a connector, wherein the electronic device 101 may be physically connected to an external electronic device (e.g., the electronic device 102) via the connector, and the connection terminal 178 may include an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).

[0052] The haptic module 179 may convert the electric signal into mechanical stimulation (eg, vibration or motion) or electric stimulation recognizable by the user via his sense of touch or kinesthetic sense, and may include a motor, a piezoelectric element, or an electric stimulator.

[0053] The camera module 180 may capture still images or moving images and may include one or more lenses, image sensors, image signal processors, or flashes.

[0054] The power management module 188 may manage power supply to the electronic device 101 , and the power management module 188 may be implemented as at least part of a power management integrated circuit (PMIC).

[0055] The battery 189 may power at least one component of the electronic device 101 and may include a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.

[0056] The communication module 190 may support establishing a direct (e.g., wired) communication channel or a wireless communication channel between the electronic device 101 and an external electronic device (e.g., electronic device 102, electronic device 104, or server 108), and perform communication via the established communication channel. The communication module 190 may include one or more communication processors that can operate independently from the processor 120 (e.g., an application processor (AP)) and support direct (e.g., wired) communication or wireless communication. The communication module 190 may include a wireless communication module 192 (e.g., 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 (e.g., a local area network (LAN) communication module or a power line communication (PLC) module). A corresponding one of these communication modules can communicate with an external electronic device via a first network 198 (e.g., a short-range communication network such as Bluetooth, Wireless Fidelity (Wi-Fi) Direct, or Infrared Data Association (IrDA)) or a second network 199 (e.g., a long-range communication network such as a cellular network, the Internet, or a computer network (e.g., a LAN or a wide area network (WAN))). These various types of communication modules can be implemented as a single component (e.g., a single chip), or these various types of communication modules can be implemented as multiple components separated from each other (e.g., multiple chips). The wireless communication module 192 can identify and authenticate the electronic device 101 in a communication network (such as the first network 198 or the second network 199) using user information (e.g., an International Mobile Subscriber Identity (IMSI)) stored in the user identification module 196.

[0057] The antenna module 197 may transmit or receive a signal or power to or from the outside of the electronic device 101 (e.g., an external electronic device), and may include an antenna including a radiating element formed in or on a substrate (e.g., a PCB) or a conductive material or conductive pattern. The antenna module 197 may include a plurality of antennas. In this case, at least one antenna suitable for a communication scheme used in a communication network (such as the first network 198 or the second network 199) may be selected from the plurality of antennas by the communication module 190 (e.g., the wireless communication module 192). Signals or power may then be transmitted or received between the communication module 190 and the external electronic device via the selected at least one antenna. Additional components (e.g., a radio frequency integrated circuit (RFIC)) other than the radiating element may be additionally formed as part of the antenna module 197.

[0058] At least some of the above components can be connected to each other via an inter-peripheral communication scheme (e.g., a bus, a general purpose input output (GPIO), a serial peripheral interface (SPI), or a mobile industry processor interface (MIPI)) and communicatively transmit signals (e.g., commands or data) therebetween.

[0059] A command or data may be transmitted or received between the electronic device 101 and the external electronic device 104 via the server 108 connected to the second network 199. Each of the electronic devices 102 and 104 may be the same type of device as the electronic device 101 or a different type of device.

[0060] All or some operations to be run in the electronic device 101 can be run in one or more of the external electronic device 102, the external electronic device 104 or the server 108. For example, if the electronic device 101 should automatically perform a function or service or should perform a function or service in response to a request from a user or another device, the electronic device 101 can request the one or more external electronic devices to perform at least part of the function or service instead of running the function or service, or the electronic device 101 can request the one or more external electronic devices to perform at least part of the function or service in addition to running the function or service. The one or more external electronic devices that receive the request can perform at least part of the requested function or service, or perform another function or another service related to the request, and transmit the result of the execution to the electronic device 101. The electronic device 101 can provide the result as at least a partial reply to the request in the case of further processing the result or in the case of not further processing the result. To this end, cloud computing technology, distributed computing technology or client-server computing technology, for example, can be used.

[0061] Figure 2 is a perspective view of an electronic device including a digital pen according to an embodiment of the present disclosure.

[0062] refer to Figure 2 In one embodiment, the electronic device 101 may include Figure 1 The components shown may include a structure into which a digital pen 201 (eg, a stylus) may be inserted.

[0063] In one embodiment, the electronic device 101 may include a housing 110, and may include a hole 111 at a portion (e.g., a side surface 110C) of the housing 110. In one embodiment, the electronic device 101 may include a storage space 112 connected to the hole 111, and the digital pen 201 may be inserted into the storage space 112.

[0064] As shown, the digital pen 201 may include a depressible button 201a at one end to facilitate taking the digital pen 201 out of the storage space 112 of the electronic device 101. In one embodiment, when the button 201a is pressed, a repulsion mechanism (e.g., at least one spring) configured in association with the button 201a is activated, so that the digital pen 201 can be released from the storage space 112.

[0065] Figure 3 is a block diagram of a digital pen according to an embodiment of the present disclosure.

[0066] refer to Figure 3 In one embodiment, the digital pen 201 may include a processor 320, a memory 330, a resonant circuit 387, a charging circuit 388, a battery 389, a communication circuit 390, an antenna 397, and / or a trigger circuit 398. In a specific embodiment, the processor 320, at least a portion of the resonant circuit 387, and / or at least a portion of the communication circuit 390 of the digital pen 201 may be configured on a printed circuit board or in the form of a chip. The processor 320, the resonant circuit 387, and / or the communication circuit 390 may be electrically connected to the memory 330, the charging circuit 388, the battery 389, the antenna 397, or the trigger circuit 398. In one embodiment, the digital pen 201 may consist of only the resonant circuit 387 and a button.

[0067] In one embodiment, the processor 320 may include a custom hardware module or a general-purpose processor configured to execute software (e.g., an application). The processor 320 may include hardware components (functions), including at least one of various sensors provided in the digital pen 201, a data measurement module, an input / output interface, a module for managing the state or environment of the digital pen 201, or a communication module, and the processor 320 may also include a software component (program). For example, the processor 320 may include hardware, software, or firmware, or a combination thereof. In one embodiment, the processor 320 may receive a proximity signal corresponding to an electromagnetic field signal generated from a digitizer (not shown) of the electronic device 101 through the resonant circuit 387. When the proximity signal is detected, the processor 320 may control the resonant circuit 387 to send an electromagnetic resonance (EMR) input signal to the electronic device 101.

[0068] In one embodiment, the memory 330 may store information related to the operation of the digital pen 201. For example, the information may include information for communicating with the electronic device 101 and frequency information related to the input operation of the digital pen 201.

[0069] In one embodiment, the resonant circuit 387 may include at least one of a coil, an inductor, or a capacitor. The digital pen 201 may use the resonant circuit 387 to generate a signal including a resonant frequency. For example, the digital pen 201 may use at least one of an electromagnetic resonance (EMR) scheme, an active electrostatic (AES) scheme, or an electric coupling resonance (ECR) scheme for signal generation. When sending a signal by using the EMR scheme, the digital pen 201 may generate a signal including a resonant frequency based on an electromagnetic field generated by the inductive panel of the electronic device 101. When sending a signal by using the AES scheme, the digital pen 201 may generate a signal by using capacitive coupling with the electronic device 101. When sending a signal by using the ECR scheme, the digital pen 201 may generate a signal including a resonant frequency based on an electric field generated by a capacitive element of the electronic device 101. In one embodiment, the resonant circuit 387 may be used to change the intensity or frequency of the electromagnetic field according to the user's manipulation state. For example, the resonant circuit 387 may provide a frequency for identifying a hover input, a drag input, a button input, or an erase input.

[0070] In one embodiment, when connected to the resonant circuit 387 based on the switching circuit, the charging circuit 388 may rectify the resonant signal generated by the resonant circuit 387 into a DC signal and provide the DC signal to the battery 389. In one embodiment, the digital pen 201 may check whether it is inserted into the electronic device 101 based on the voltage level of the DC signal detected by the charging circuit 388.

[0071] In one embodiment, the battery 389 may be configured to store power required for the operation of the digital pen 201. The battery 389 may include, for example, a lithium-ion battery or a capacitor, and may be rechargeable or replaceable. In one embodiment, the battery 389 may be charged using power supplied from the charging circuit 388, such as a DC signal (DC power).

[0072] In one embodiment, the communication circuit 390 may be configured to perform a wireless communication function between the digital pen 201 and the communication module 190 of the electronic device 101. In one embodiment, the communication circuit 390 may send state information and input information of the digital pen 201 to the electronic device 101 by using a short-range communication scheme. For example, the communication circuit 390 may send direction information (e.g., motion sensor data) of the digital pen 201 obtained by the trigger circuit 398, voice information picked up by a microphone (not shown), or remaining power information of the battery 389 to the electronic device 101. For example, the short-range communication scheme may include at least one of Bluetooth, Bluetooth Low Energy (BLE), or Wi-Fi.

[0073] In one embodiment, the antenna 397 may be used to transmit or receive signals or power to or from the outside (e.g., the electronic device 101). In one embodiment, the digital pen 201 may include a plurality of antennas 397, and at least one antenna 397 suitable for a communication scheme may be selected among them. Through the selected at least one antenna 397, the communication circuit 390 may exchange signals or power with the outside (e.g., the electronic device 101).

[0074] In one embodiment, the trigger circuit 398 may include at least one button or sensor circuit. In one embodiment, the processor 320 may identify an input mode (e.g., touch or press) or type (e.g., EMR button or BLE button) of a button of the digital pen 201. In one embodiment, the sensor circuit may generate an electrical signal or data value corresponding to an internal operating state or an external environmental state of the digital pen 201. For example, the sensor circuit may include at least one of a motion sensor, a remaining battery charge sensor, a pressure sensor, an optical sensor, a temperature sensor, a geomagnetic sensor, or a biosensor. In one embodiment, the trigger circuit 398 may send a trigger signal to the electronic device 101 based on a button input signal or a sensor input signal.

[0075] Figure 4 is an exploded perspective view of a digital pen according to an embodiment of the present disclosure.

[0076] refer to Figure 4 , the digital pen 201 may include a pen housing 400 constituting the outer shape of the digital pen 201 and internal accessories inside the pen housing 400. As shown in the figure, the internal accessories include all components installed inside the digital pen 201 and can be inserted into the pen housing 400 in one assembly operation.

[0077] In one embodiment, the pen housing 400 may include a first end 400a, a second end 400b, and a body 400c between the first end 400a and the second end 400b, may have an elongated shape between the first end 400a and the second end 400b, and may include a storage space 401 therein. The pen housing 400 may have an elliptical cross-section with a major axis and a minor axis, and may be formed as a whole in the shape of an elliptical cylinder. The storage space 112 of the electronic device 101 may also have an elliptical cross-section corresponding to the shape of the pen housing 400. The pen housing 400 may be made of a synthetic resin (e.g., plastic) and / or a metal material (e.g., aluminum). In one embodiment, the second end 400b of the pen housing 400 may be made of a synthetic resin material.

[0078] In one embodiment, the internal accessory may have an elongated shape corresponding to the shape of the pen housing 400. The internal accessory may be roughly divided into three parts in the longitudinal direction. For example, the internal accessory may include an ejection member 410 disposed at a position corresponding to the first end 400a of the pen housing 400, a coil segment 420 disposed at a position corresponding to the second end 400b of the pen housing 400, and a circuit substrate segment 430 disposed at a position corresponding to the main body 400c between the first end 400a and the second end 400b of the pen housing 400.

[0079] In one embodiment, the pop-up member 410 may include a mechanism for taking the digital pen 201 out of the storage space 112 of the electronic device 101. In one embodiment, the pop-up member 410 may include a shaft 411, a pop-up body 412 disposed around the shaft 411 and forming the overall appearance of the pop-up member 410, and a button portion 413. When the internal accessory device is fully inserted into the pen housing 400, the area including the shaft 411 and the pop-up body 412 may be surrounded by the first end 400a of the pen housing 400, and the button portion 413 (e.g., Figure 2 The button 201a in the pop-up body 412 may be exposed outside the first end 400a. A plurality of components (not shown) (such as a cam member or an elastic member) may be arranged in the pop-up body 412 to form a push-pull structure. In one embodiment, the button portion 413 may be substantially engaged with the shaft member 411 so as to perform a linear reciprocating motion relative to the pop-up body 412. In various embodiments, the button portion 413 may include a button with a locking structure so that the user can remove the digital pen 201 by using a fingernail. In one embodiment, the digital pen 201 may include a sensor that detects the linear reciprocating motion of the shaft member 411 to provide another input mode.

[0080] In one embodiment, the coil segment 420 may include a pen tip 421 exposed to the outside of the second end 400b when the internal accessory is fully inserted into the pen housing 400, a gasket 422, a coil 423 wound several times, and / or a pen pressure sensing portion 424 for sensing a change in pressure applied to the pen tip 421. In one embodiment, the gasket 422 may be made of epoxy resin, rubber, polyurethane, or silicone. The gasket 422 may be used for waterproof and dustproof purposes, and may protect the coil segment 420 and the circuit substrate segment 430 from water or dust. In one embodiment, the coil 423 may form a resonant frequency in a configured frequency band (e.g., approximately 500KHz), and may be combined with at least one capacitive element (e.g., a capacitor) to adjust the resonant frequency within a specific range.

[0081] In one embodiment, the circuit substrate segment 430 may include a base 431, a printed circuit board 432 whose at least one surface is surrounded by the base 431, a switch 434, a battery 436, a side button 437, a support member 438, and an antenna structure 439 (e.g., Figure 3 In one embodiment, a substrate placement portion 433 for a printed circuit board 432 may be formed on an upper surface of the base 431, and the printed circuit board 432 may be placed and fixed to the substrate placement portion 433. In one embodiment, the printed circuit board 432 may include an upper surface and a lower surface, a variable capacitance capacitor connected to the coil 423 or the switch 434 may be provided on the upper surface, and a charging circuit (not shown) (e.g., Figure 3 charging circuit 388 in), battery 436, or communication circuit (not shown) (e.g., Figure 3 The communication circuit 390 in the coil 423 may be disposed on the lower surface. The battery 436 may include an electric double layer capacitor (EDLC). The charging circuit 388 is disposed between the coil 423 and the battery 436 and may include a voltage detector circuit system and a rectifier.

[0082] In one embodiment, the antenna may include Figure 4 The antenna structure 439 shown, and / or an antenna embedded in the printed circuit board 432. In various embodiments, the switch 434 can be arranged on the printed circuit board 432. The side button 437 provided in the digital pen 201 can be used to press the switch 434, and can be exposed to the outside through the side opening 402 of the pen housing 400. The side button 437 is supported by a support member 438, and when no external force acts on the side button 437, the support member 438 can apply an elastic restoring force to enable the side button 437 to restore or maintain a preset position.

[0083] In one embodiment, the circuit substrate segment 430 may include different gaskets, such as O-rings. For example, O-rings made of elastomer may be provided at both ends of the base 431 to form a sealing structure between the base 431 and the pen housing 400. In a specific embodiment, the support member 438 may be partially adhered to the inner wall of the pen housing 400 around the side opening 402 to form a sealing structure. For example, the circuit substrate segment 430 may also form a waterproof and dustproof structure similar to the gasket 422 of the coil segment 420.

[0084] In one embodiment, the digital pen 201 may include a battery seating portion 435 on an upper surface of the base 431, and a battery 436 may be disposed on the battery seating portion 435. The battery 436 that may be mounted on the battery seating portion 435 may include, for example, a cylindrical battery.

[0085] In one embodiment, the digital pen 201 may include a microphone (not shown). The microphone may be directly connected to the printed circuit board 432, or may be connected to a separate flexible printed circuit board (FPCB) (not shown) connected to the printed circuit board 432. In various embodiments, the microphone may be provided at a position parallel to the side button 437 in the longitudinal direction of the digital pen 201.

[0086] The electronic device 101 according to various embodiments may be one of various types of electronic devices, such as a portable communication device (e.g., a smart phone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a home appliance. However, the electronic device is not limited to those described above.

[0087] It should be understood that the various embodiments of the present disclosure and the terms used therein are not intended to limit the technical features set forth herein to specific embodiments, but rather include various changes, equivalents, or alternative forms for the corresponding embodiments. For the description of the drawings, similar reference numerals may be used to refer to similar or related elements. It will be understood that a noun in the singular form corresponding to a term may include one or more things, unless the relevant context clearly indicates otherwise.

[0088] As used herein, each of phrases such as “A or B,” “at least one of A and B,” “at least one of A or B,” “A, B or C,” “at least one of A, B, and C,” and “at least one of A, B, or C” may include any one or all possible combinations of items listed together with a corresponding one of the plurality of phrases. As used herein, terms such as “first” and “second” or “first” and “second” may be used to simply distinguish a corresponding component from another component and do not limit the components in other aspects (e.g., importance or order). It will be understood that if an element (e.g., a first element) is referred to as being “combined with another element (e.g., the second element)”, “combined to another element (e.g., the second element)”, “connected with another element (e.g., the second element)”, or “connected to another element (e.g., the second element)” when the term “operably” or “communicatively” is used or when the term “operably” or “communicatively” is not used, it means that the element may be directly (e.g., wired) connected to the other element, wirelessly connected to the other element, or connected to the other element via a third element.

[0089] As used herein, the term "module" may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with other terms (e.g., "logic," "logic block," "portion," or "circuit"). A module may be a single integrated component adapted to perform one or more functions or the smallest unit or portion of the single integrated component. For example, according to an embodiment, a module may be implemented in the form of an application specific integrated circuit (ASIC).

[0090] The various embodiments described herein may be implemented as software (e.g., program 140) including one or more instructions stored in a storage medium (e.g., internal memory 136 or external memory 138) that can be read by a machine (e.g., electronic device 101). For example, under the control of a processor, a processor (e.g., processor 120) of the machine (e.g., electronic device 101) may call at least one of the one or more instructions stored in the storage medium and execute the at least one instruction with or without the use of one or more other components. This enables the machine to operate to perform at least one function according to the at least one instruction called. The one or more instructions may include code generated by a compiler or code that can be run by an interpreter. A machine-readable storage medium may be provided in the form of a non-transitory storage medium. Among them, the term "non-transitory" only means that the storage medium is a tangible device and does not include signals (e.g., electromagnetic waves), but the term does not distinguish between data being semi-permanently stored in the storage medium and data being temporarily stored in the storage medium.

[0091] According to an embodiment, the method according to various embodiments of the present disclosure may be included and provided in a computer program product. The computer program product may be traded between a seller and a buyer as a product. The computer program product may be published in the form of a machine-readable storage medium (e.g., a compact disk read-only memory (CD-ROM)), or may be published online (e.g., downloaded or uploaded) via an application store (e.g., Play StoreTM), or may be distributed (e.g., downloaded or uploaded) directly between two user devices (e.g., smart phones). If published online, at least part of the computer program product may be temporarily generated, or at least part of the computer program product may be at least temporarily stored in a machine-readable storage medium (such as a manufacturer's server, an application store's server, or a memory of a forwarding server).

[0092] According to various embodiments, each component (e.g., module or program) in the above-mentioned components may include a single entity or multiple entities. According to various embodiments, one or more of the above-mentioned components may be omitted, or one or more other components may be added. Alternatively or additionally, multiple components (e.g., modules or programs) may be integrated into a single component. In this case, according to various embodiments, the integrated component may still perform the one or more functions of each of the multiple components in the same or similar manner as a corresponding one of the multiple components performing one or more functions before integration. According to various embodiments, the operations performed by a module, program or another component may be performed sequentially, in parallel, repeatedly or in a heuristic manner, or one or more of the operations may be run or omitted in a different order, or one or more other operations may be added.

[0093] According to various embodiments of the present disclosure, the electronic device 101 may include: a communication circuit configured to perform wireless communication (eg, Figure 1 wireless communication module 192); at least one processor operably connected to the communication circuit (e.g., Figure 1 120); and a memory operably connected to the processor (e.g., Figure 1 ), wherein the memory 130 may store instructions that, when executed, cause the processor 120 to: receive, through a communication circuit, a first designated message associated with a connection parameter update from an external electronic device connected via a Bluetooth Low Energy (BLE) protocol; in response to receiving the first designated message, determine a designated scheme for updating the connection parameters based on properties of the external electronic device; determine a time point of a moment based on the determined designated scheme; send a second designated message including the time point of the moment to the external electronic device; and update the connection parameters when the time point of the moment is reached.

[0094] In various embodiments, the first designated message may include a connection parameter request message, and the instructions may be configured to cause the processor 120 to determine the designated scheme upon receiving the connection parameter request message requesting a change in the connection parameters.

[0095] In various embodiments, the first designated message may include a connection parameter response message, and the instructions may be configured to cause the processor 120 to: send a connection parameter request message to an external electronic device requesting a change in connection parameters; receive a connection parameter response message from the external electronic device as a response to the connection parameter request message, accepting the request to change the connection parameters; and determine the designated scheme when the connection parameter response message is received.

[0096] In various embodiments, the first designated message may include a connection update request message, and the instructions may be configured to cause the processor 120 to: receive a connection update request message from an external electronic device; send a connection update response message to the external electronic device in response to the connection update request message; send a connection parameter request message to the external electronic device requesting a change in connection parameters; receive a connection parameter response message from the external electronic device as a response to the connection parameter request message; and determine the designated scheme when the connection parameter response message is received.

[0097] In various embodiments, the connection parameters may include at least one of a connection interval, a slave latency, or a timeout.

[0098] In various embodiments, the properties of the external electronic device may include an indication of whether adaptive connection updates are supported, and the instructions may be configured to cause the processor 120 to: when the properties of the external electronic device support adaptive connection updates, determine the first specified scheme as the specified scheme for determining the moment in time; and when the properties of the external electronic device do not support adaptive connection updates, determine the second specified scheme as the specified scheme for determining the moment in time.

[0099] In various embodiments, the first designated scheme may include configuring an interval for turning on reception (Rx) of the external electronic device to be a period shorter than a legacy slave device latency.

[0100] In various embodiments, the second designation scheme may include setting an interval value for turning on reception (Rx) of the external electronic device based on an old slave device latency and an old connection interval.

[0101] In various embodiments, the instructions may be configured to cause the processor 120 to: change the value of the connection interval to a first specified value; and change the value of the slave device delay to a second specified value, and the first specified value may include a value different from an old value of the connection interval, and the second specified value may include a value different from an old value of the slave device delay.

[0102] In various embodiments, the instructions may be configured to cause processor 120 to process a connection event after waiting for a period of time that does not include a time corresponding to a slave device latency.

[0103] In various embodiments, the second designated message may include a connection update indication message, and the connection update indication message includes the determined time point.

[0104] In various embodiments, the instructions can be configured to cause the processor 120 to perform operations related to connection parameter updates based at least on an event corresponding to the detachment of an external electronic device from the electronic device, an event corresponding to the execution of a specific application in the electronic device, or an event corresponding to the execution of a specific operation in the external electronic device.

[0105] According to various embodiments of the present disclosure, the electronic device 201 may include: a communication circuit configured to perform wireless communication (eg, Figure 3 operatively connected to the communication circuit 390); at least one processor (e.g., Figure 3 320); and a memory operably connected to the processor 320 (e.g., Figure 3 ), wherein the memory may store instructions that, when executed, cause the processor 320 to: initiate operations related to connection updates through a communication circuit based on a specified event and an external electronic device connected via a Bluetooth Low Energy (BLE) protocol; start reception (Rx) based on a specified interval that is less than or equal to an old connection interval and an old slave device delay in accordance with the initiation of operations related to connection updates; receive a connection update indication message including a moment time point determined by the external electronic device from the external electronic device based on operations related to connection updates; and update connection parameters when the moment time point is reached.

[0106] In various embodiments, the instructions may be configured to cause the processor 320 to: send a connection parameter request message to the external electronic device requesting to change the connection parameters based on a specified event; and initiate operations related to connection update based on sending the connection parameter request message.

[0107] In various embodiments, the instructions can be configured to cause the processor 320 to: receive a connection parameter request message from an external electronic device requesting a change in connection parameters; in response to the connection parameter request message, send a connection parameter response message to the external electronic device accepting the request to change the connection parameters; and based on sending the connection parameter response message, initiate operations related to connection update.

[0108] In various embodiments, the instructions can be configured to cause the processor 320 to: send a connection update request message to an external electronic device; receive a connection update response message from the external electronic device as a response to the connection update request message; receive a connection parameter request message from the external electronic device requesting a change in connection parameters; send a connection parameter response message to the external electronic device in response to the connection parameter request message; and initiate operations related to the connection update based on sending the connection parameter response message.

[0109] In various embodiments of the present disclosure, in Bluetooth Low Energy (BLE) communication between devices, the device that makes a connection request and manages the connection is referred to as a master device (e.g., Figure 1 or Figure 2 The electronic device 101 in the master device is referred to as a slave device, and the device that accepts the connection request of the master device and obeys the connection management of the master device is referred to as a slave device (for example, Figure 2 or Figure 3 For example, a master device may indicate a device that initiates and manages a connection, and a slave device may indicate a device that accepts a connection request according to the timing of the master device. In one embodiment, devices may be classified as advertisers and scanners before connecting via BLE, and may be classified as master devices and slave devices after connecting. In one embodiment, among devices, a device with relatively low power or requiring low power consumption (e.g., digital pen 201) may act as a slave device.

[0110] In various embodiments, a method for changing connection parameters (e.g., connection interval (CI), slave latency (SL)) between two devices (e.g., a master device and a slave device) connected via BLE is defined, and the method can be dynamically executed not only when a connection is created, but also when a connection is established. For example, BLE technology can reduce or increase the amount of data exchanged per unit time by changing the connection parameters. In one embodiment, when the amount of data exchanged between the master device and the slave device in a given time is small, power consumption is reduced, but fast data exchange becomes difficult. On the contrary, when the amount of data exchanged in a given time is large, power consumption increases, but fast data exchange may be possible.

[0111] In one embodiment, when two devices connected via BLE start and end data exchange through a channel, this is called a connection event (CE). The next connection event can be processed through another channel, and the time interval between two consecutive connection events is called a connection interval (CI). In one embodiment, in order to reduce the power consumed by data exchange, the slave device may not send data during a preset number of connection events, and the number of connection events is called a slave device delay (SL). As a result, when the communication between two devices connected via BLE consists of two or more consecutive connection events, the actual data exchange period per unit time and the amount of data exchanged per unit time are greatly affected by the connection interval and the slave device delay. For example, when the values ​​of the connection interval and the slave device delay increase, as the number of data exchanges per unit time decreases, power consumption may decrease, but fast data transmission may become difficult. In the opposite case, power consumption may increase, but data exchange can be performed quickly.

[0112] In one embodiment, Figure 5 , Figure 6and Figure 7 As shown, through a connection parameter negotiation operation (eg, a connection parameter request process), two devices connected via BLE can dynamically change connection parameters including a connection interval and a slave device delay depending on circumstances.

[0113] Figure 5 is a sequence diagram illustrating an example of a connection parameter negotiation process according to an embodiment of the present disclosure.

[0114] Figure 5 The embodiment shows that the master device (e.g., Figure 1 or Figure 2 The electronic device 101 in the embodiment initiates a connection parameter negotiation process (eg, a connection parameter request process).

[0115] refer to Figure 5 In operation 501, when the value of one or more connection parameters needs to be changed, the master device 510 may include the desired change value in a connection parameter request message (e.g., LL_CONNECTION_PARAM_REQ) and send the message to the slave device 520 (e.g., Figure 2 or Figure 3 In one embodiment, the master device 510 may determine to change the parameter value based on at least detecting that the slave device 520 is detached from the master device 510, detecting the execution of a specific application associated with a specified function (e.g., using a function of the slave device 520) in the master device 510, or detecting the execution of a specified operation (e.g., based on a function of a button of the slave device 520) in the slave device 520. In one embodiment, using the specified function of the slave device 520 may include using a drawing function or a mouse function of the slave device 520.

[0116] Upon receiving the connection parameter request message from the master device 510, the slave device 520 may send a connection parameter response message (e.g., LL_CONNECTION_PARAM_RSP) including an indication of whether to accept the connection parameter request to the master device 510 in operation 503. In one embodiment, upon receiving the connection parameter request from the master device 510, the slave device 520 may provide a response to the master device 510 of applying the values ​​of the connection interval and the slave delay changed by the master device 510 according to the connection parameter request message. In one embodiment, when the slave device 520 refuses to apply the values ​​of the connection interval and the slave delay changed by the master device 510 according to the connection parameter request message, the slave device 520 may send a rejection message (e.g., LL_REJECT_IND or LL_REJECT_EXT_IND) other than the connection parameter response message to the master device 510, in which case the corresponding process may be terminated without the master device 510 sending a connection update indication message.

[0117] Upon receiving a connection parameter response message from the slave device 520, in operation 505, the master device 510 may send a connection update indication message (e.g., LL_CONNECTION_UPDATE_IND) including a finalized connection parameter value to the slave device 520. In one embodiment, upon receiving a connection parameter response message (e.g., LL_CONNECTION_PARAM_RSP) from the slave device 520, the master device 510 may identify the target slave device 520 that has sent the connection parameter response message based on the received connection parameter response message. For example, the master device 510 may identify whether the slave device 520 that has sent the connection parameter response message is a designated (or pre-agreed) slave device that can support the adaptive connection update of various embodiments. In one embodiment, the master device 510 may identify the slave device 520 based on the identification information (e.g., device ID) of the slave device 520.

[0118] In one embodiment, if the slave device 520 that has sent the connection parameter response message is a designated slave device, the master device 510 may calculate a deviation (delta) based on a first designated scheme, i.e., a time interval between a message related to the connection parameter update (e.g., a connection parameter response message) and a moment. For example, the master device 510 may calculate the deviation based on the first designated scheme, and determine the time point of the moment according to the calculated deviation. The moment may indicate the time point of the first connection event that generates the newly changed value of the application connection parameter.

[0119] In one embodiment, if the slave device 520 that has sent the connection parameter response message is not a designated slave device, the master device 510 can calculate the deviation based on the second designated scheme, that is, the time interval between the message related to the connection parameter update (e.g., the connection parameter response message) and the moment. For example, the master device 510 can calculate the deviation based on the second designated scheme, and determine the time point of the moment according to the calculated deviation. The first designated scheme and the second designated scheme according to one embodiment will be described below with reference to the accompanying drawings.

[0120] In one embodiment, when the slave device 520 sends a connection parameter response message to the master device 510, the slave device 520 may then apply connection parameter values ​​corresponding to the values ​​of connection parameters (e.g., connection interval and slave device latency) determined by the master device 510 and carried (or included) in the connection update indication message sent by the master device 510 (or received from the master device 510).

[0121] Figure 6 is a sequence diagram illustrating an example of a connection parameter negotiation process according to an embodiment of the present disclosure.

[0122] Figure 6The embodiment shows that from device 520 (e.g., Figure 2 or Figure 3 The digital pen 201 in the example initiates a connection parameter negotiation process (eg, a connection parameter request process).

[0123] refer to Figure 6 In operation 601, when the value of one or more connection parameters needs to be changed, the slave device 520 may include the desired change value in a connection parameter request message (e.g., LL_CONNECTION_PARAM_REQ) and send the message to the master device 510 (e.g., Figure 1 or Figure 2 In one embodiment, the slave device 520 may determine to change the parameter value based on at least detecting that the slave device 520 is detached from the master device 510, detecting the execution of a specific application associated with a specified function (e.g., using the function of the slave device 520) in the master device 510, and detecting the execution of a specified operation (e.g., based on the function of a button of the slave device 520) in the slave device 520. In one embodiment, using the specified function of the slave device 520 may include using a drawing function or a mouse function of the slave device 520.

[0124] Upon receiving the connection parameter request message from the slave device 520, in operation 603, the master device 510 may determine whether to accept the connection parameter change, and send a connection update indication message (e.g., LL_CONNECTION_UPDATE_IND) including the finalized connection parameter value to the slave device 520. In one embodiment, upon receiving the connection parameter request message from the slave device 520, the master device 510 may identify the target slave device 520 that has sent the connection parameter request message based on the received connection parameter request message. For example, the master device 510 may identify whether the slave device 520 that has sent the connection parameter request message is a designated (or pre-agreed) slave device that can support the adaptive connection update of various embodiments. In one embodiment, the master device 510 may identify the slave device 520 based on the identification information (e.g., device ID) of the slave device 520.

[0125] In one embodiment, if the slave device 520 that has sent the connection parameter request message is a designated slave device, the master device 510 can calculate the deviation based on the first designated scheme, that is, the time interval between the message (e.g., connection parameter request message) and the moment associated with the connection parameter update. For example, the master device 510 can calculate the deviation based on the first designated scheme, and determine the time point of the moment according to the calculated deviation. In one embodiment, if the slave device 520 that has sent the connection parameter request message is not a designated slave device, the master device 510 can calculate the deviation based on the second designated scheme, that is, the time interval between the message (e.g., connection parameter request message) and the moment associated with the connection parameter update. For example, the master device 510 can calculate the deviation based on the second designated scheme, and determine the time point of the moment according to the calculated deviation. The first designated scheme and the second designated scheme according to one embodiment will be described below with reference to the accompanying drawings.

[0126] In one embodiment, when the slave device 520 receives a connection update indication message from the master device 510, the slave device 520 may then apply connection parameter values ​​corresponding to the values ​​of the connection parameters (e.g., connection interval and slave device latency) determined by the master device 510 and carried (or included) by the connection update indication message.

[0127] In another embodiment, when the master device 510 rejects the connection parameter request message from the slave device 520, the master device 510 may send a rejection message (e.g., LL_REJECT_IND or LL_REJECT_EXT_IND) to the slave device 520 in addition to the connection update indication message, in which case the corresponding process may be terminated.

[0128] Figure 7 is a sequence diagram illustrating an example of a connection parameter negotiation process according to an embodiment of the present disclosure.

[0129] Figure 7 The embodiment shows that from device 520 (e.g., Figure 2 or Figure 3 In one embodiment, the BLE protocol may consist of two parts: a controller and a host. In one embodiment, the controller may include a physical layer (PL) and a link layer (LL), and the host may be executed on an application processor.

[0130] refer to Figure 7In operation 701, the slave device 520 may indirectly request the master device 510 to send a connection parameter request message (e.g., LL_CONNECTION_PARAM_REQ) through a logical link control and adaptation protocol (L2CAP) signaling channel at the host layer. For example, the slave device 520 may send an L2CAP connection parameter update request message (L2CAP_CONNECTION_PARAM_UPDATE_REQ) to the master device 510 at the L2CAP layer.

[0131] When receiving the connection parameter update request message from the slave device 520, in operation 703, the master device 510 can send a connection parameter update response message (e.g., L2CAP_CONNECTION_PARAM_UPDATE_RSP) to the slave device 520 in response to the connection parameter update request message. In one embodiment, the slave device 520 can open (or attempt) to receive (Rx) in a sequential, parallel, or reverse order to operation 703 based on the connection slave device delay. In one embodiment, when a specified event is detected, the slave device 520 can be based on event detection, based on a specified interval value (e.g., interval i) corresponding to a period shorter than the slave device delay (e.g., less than or equal to the interval of the slave device delay) to receive (Rx) attempts. In one embodiment, by only receiving attempts based on the specified interval value when the corresponding event occurs, the slave device 520 can increase the update speed compared to the power consumed by receiving. In one embodiment, the slave device 520 can receive (Rx) attempts at intervals less than or equal to the slave device delay to reduce power consumption under normal circumstances.

[0132] In one embodiment, when a specified event is detected, the slave device 520 can start receiving (or attempt to receive) at interval i, so as to increase the update speed by replacing the slave device delay with an interval i less than or equal to the slave device delay. In one embodiment, the interval i may include a value of 0 or greater (e.g., i≥0). In another embodiment, the slave device 520 may replace the slave device delay with an interval i less than or equal to the slave device delay to increase the update speed. For example, the connection interval may be in units of time, the slave device delay may be in units of times, and the interval i may be a replacement for the slave device delay. In one embodiment, the time interval at which the slave device 520 starts receiving (Rx) may be expressed as, for example, "time interval = connection interval × z ≤ connection interval × slave device delay", wherein the value of z may be optionally determined by the slave device 520.

[0133] At operation 705 , the master device 510 may include the changed values ​​of one or more connection parameters in a connection parameter request message (eg, LL_CONNECTION_PARAM_REQ) at the controller layer and send the message to the slave device 520 .

[0134] Upon receiving the connection parameter request message from the master device 510, the slave device 520 may send a connection parameter response message (e.g., LL_CONNECTION_PARAM_RSP) including an indication of whether to accept the corresponding connection parameter change to the master device 510 in operation 707. In another embodiment, when the slave device 520 refuses to apply the values ​​of the connection interval and the slave device delay changed by the master device 510 according to the connection parameter request message, the slave device 520 may send a rejection message (e.g., LL_REJECT_IND or LL_REJECT_EXT_IND) other than the connection parameter response message to the master device 510, in which case the corresponding process may be terminated without the master device 510 sending a connection update indication message.

[0135] Upon receiving the connection parameter response message from the slave device 520, the master device 510 may send a connection update indication message (eg, LL_CONNECTION_UPDATE_IND) including the finalized connection parameter value to the slave device 520 at operation 709. In one embodiment, operation 709 may correspond to Figure 5 Operation 505 or Figure 6 Operation 603 in .

[0136] Figure 8a and Figure 8b is a sequence diagram illustrating a connection update process between a master device and a slave device according to various embodiments of the present disclosure.

[0137] Figure 8a and Figure 8b Can be indicated in Figure 5 , Figure 6 or Figure 7 The update between the master device 510 and the slave device 520 during the connection parameter negotiation process shown is completed. In one embodiment, Figure 8a The master device 510 initiates a connection parameter negotiation process (eg, Figure 5 or Figure 7 ) and receives a connection parameter response message (e.g., LL_CONNECTION_PARAM_RSP) from slave device 520. In one embodiment, Figure 8b The connection parameter negotiation process is shown to be initiated from device 520 (eg, Figure 6 ) and sends a connection parameter request message (e.g., LL_CONNECTION_PARAM_REQ).

[0138] refer to Figure 8aIn operation 801, the master device 510 may send a connection parameter request message (eg, LL_CONNECTION_RARAM_REQ) to the slave device 520 (eg, Figure 5 Operation 501 or Figure 7 Operation 705 in ).

[0139] At operation 803, the slave device 520 may send a connection parameter response message (eg, LL_CONNECTION_PARAM_RSP) to the master device 510 (eg, Figure 5 Operation 503 or Figure 7 In one embodiment, based on the received connection parameter request message, when accepting (or agreeing to) changing the connection parameters, the slave device 520 may send a connection parameter response message to the master device 510. In another embodiment, based on the received connection parameter request message, when refusing to change the connection parameters, the slave device 520 may send a connection parameter rejection message (e.g., LL_REJECT_IND or LL_REJECT_EXT_IND) to the master device 510.

[0140] At operation 805, the master device 510 may send a connection update indication message (eg, LL_CONNECTION_UPDATE_IND) to the slave device 520 (eg, Figure 5 Operation 505 or Figure 7 In operation 807, the master device 510 may complete the update (e.g., update completion). For example, the master device 510 may calculate a deviation as a time interval between a message related to the connection parameter update (e.g., a connection parameter response message) and the moment, determine the moment time point according to the calculated deviation, and send a connection update indication message including the determined moment time point to the slave device 520.

[0141] refer to Figure 8b At operation 811, the slave device 520 may send a connection parameter request message (eg, LL_CONNECTION_RARAM_REQ) to the master device 510 (eg, Figure 6 In one embodiment, the slave device 520 may be as described in reference to operation 601. Figure 6 The method sends a connection parameter request message to the master device 510 .

[0142] In operation 813, the master device 510 may send a connection update indication message to the slave device 520. In operation 815, the master device 510 may complete the update (e.g., update completion). For example, the master device 510 may calculate a deviation as a time interval between a message related to the connection parameter update (e.g., a connection parameter request message) and a moment, determine a moment time point according to the calculated deviation, and send a connection update indication message including the determined moment to the slave device 520.

[0143] In one embodiment, based on the connection parameter request message received from the slave device 520, the master device 510 can identify the target slave device 520 that has sent the connection parameter request message. For example, the master device 510 can identify whether the slave device 520 that has sent the connection parameter request message is a designated (or pre-agreed) slave device that can support the adaptive connection update of various embodiments. In one embodiment, the master device 510 can identify the slave device 520 based on the identification information (e.g., device ID) of the slave device 520.

[0144] In one embodiment, if the slave device 520 that has sent the connection parameter request message is a designated slave device, the master device 510 can calculate the deviation based on the first designated scheme, that is, the time interval between the message (e.g., connection parameter request message) and the moment associated with the connection parameter update. For example, the master device 510 can calculate the deviation based on the first designated scheme, and determine the time point of the moment according to the calculated deviation. In one embodiment, if the slave device 520 that has sent the connection parameter request message is not a designated slave device, the master device 510 can calculate the deviation based on the second designated scheme, that is, the time interval between the message (e.g., connection parameter request message) and the moment associated with the connection parameter update. For example, the master device 510 can calculate the deviation based on the second designated scheme, and determine the time point of the moment according to the calculated deviation. In another embodiment, when the master device 510 rejects the connection parameter request message from the slave device 520, the master device 510 can send a rejection message (e.g., LL_REJECT_IND or LL_REJECT_EXT_IND) other than the connection update indication message to the slave device 520, in which case the corresponding process can be terminated.

[0145] Figure 8a and Figure 8b The embodiments in may illustrate an example of a process based on the second specified scheme.

[0146] according to Figure 8a and Figure 8bIn an embodiment, regardless of the entity that initiates the connection parameter negotiation process (e.g., the master device 510 or the slave device 520), the first connection event that applies the changed value can occur after a total time (e.g., interval (C)), which is given by the sum of the slave device latency delay (e.g., interval (A)) taking into account one times the existing slave device latency (e.g., OldSlaveLatency) and a time of at least 6 times the existing connection event (e.g., interval (B)). In this way, the time point at which the first connection event that applies the changed value occurs can be referred to as an instant. The master device 510 can include the instant in a connection update indication message at the link layer and send it to the slave device 520. When a message related to a connection parameter update (e.g., a connection parameter response message ( Figure 8a ) or a connection parameter request message ( Figure 8b time interval between moments (e.g. Figure 8a or Figure 8b The interval (C) in is called the deviation, which can be expressed as the following equation 1.

[0147] <Equation 1>

[0148] SlaveLatencyDelay≤OldSlaveLatency×OldConnectionInterval

[0149] Delta≤SlaveLatency+(x+6)×OldConnectionInterval

[0150] =(OldSlaveLatency+6+x)×OldConnectionInterval

[0151] In Equation 1, OldSlaveLatency indicates the existing (old) value of the slave device latency, OldConnectionInterval indicates the existing (old) value of the connection interval, SlaveLatencyDelay indicates the slave device latency delay taking into account the time corresponding to the existing value of the slave device latency, and x is an integer value greater than or equal to 0 and can be determined by the master device 510.

[0152] In one embodiment, the master device 510 may calculate a message (eg, a connection parameter response message) associated with a connection parameter update. Figure 8a ) or a connection parameter request message (in Figure 8bThe master device 510 calculates the deviation of the time interval between the interval (A) and the moment, determines the moment time point according to the calculated deviation, and sends a connection update indication message including the determined moment time point to the slave device 520. For example, instead of including the value (e.g., deviation) of interval (A) and / or interval (B) in the connection update indication message, the master device 510 may include a moment time point that takes into account interval (A) and interval (B) (e.g., a moment time point that takes into account the deviation), for example, a time point at which the updated connection event is completed (update completed). In one embodiment, the moment can be represented according to a connection event number (number) that is different from the time, for example, and may mean that the connection update is completed when a connection event with the indicated number occurs.

[0153] exist Figure 8a and / or Figure 8b In the embodiment of the present invention, the master device 510 considers the interval (A) because the slave device 520 may make a receive (Rx) attempt after the maximum slave device delay. This may indicate that the master device 510 waits for the slave device 520 for an interval (A).

[0154] In one embodiment, when fast data exchange is required between two devices (e.g., master device 510 and slave device 520) connected via BLE, it is necessary to dynamically change the preset values ​​of connection parameters (such as connection interval and slave device latency). Figures 5 to 7 The embodiments in the embodiment of the present invention provide for various situations, and when such situations occur, the values ​​of connection parameters (such as connection interval and slave device latency) can be dynamically changed. At the same time, when the values ​​of connection parameters (such as connection interval and slave device latency) are dynamically changed, depending on the size of the existing values ​​of the connection interval (OldConnectionInterval) and the slave device latency (OldSlaveLatency), it may take several seconds or longer to adjust the connection parameters at this moment.

[0155] According to various embodiments, by advancing the timing of dynamically changing the connection parameter value between two devices connected via BLE, the time from recognizing the need to adjust the connection parameters to actually applying the adjustment can be shortened.

[0156] Figure 9a and Figure 9b is a sequence diagram illustrating a connection update process between a master device and a slave device according to various embodiments of the present disclosure.

[0157] Figure 9a and Figure 9b Can be indicated in Figure 5 , Figure 6 or Figure 7 The master device 510 (eg, Figure 1 or Figure 2 The electronic device 101 in the embodiment of the present invention and the slave device 520 (for example, Figure 2 or Figure 3 In one embodiment, Figure 9a The master device 510 initiates a connection parameter negotiation process (eg, Figure 5 or Figure 7 ) and receives a connection parameter response message (e.g., LL_CONNECTION_PARAM_RSP) from slave device 520. In one embodiment, Figure 9b The connection parameter negotiation process is shown to be initiated from device 520 (eg, Figure 6 ) and sends a connection parameter request message (e.g., LL_CONNECTION_PARAM_REQ).

[0158] refer to Figure 9a In operation 901, the master device 510 may send a connection parameter request message (eg, LL_CONNECTION_RARAM_REQ) to the slave device 520 (eg, Figure 5 Operation 501 or Figure 7 Operation 705 in ).

[0159] At operation 903, the slave device 520 may send a connection parameter response message (eg, LL_CONNECTION_PARAM_RSP) to the master device 510 (eg, Figure 5 Operation 503 or Figure 7 In one embodiment, based on the received connection parameter request message, when accepting (or agreeing to) changing the connection parameters, the slave device 520 may send a connection parameter response message to the master device 510. In another embodiment, based on the received connection parameter request message, when refusing to change the connection parameters, the slave device 520 may send a connection parameter rejection message (e.g., LL_REJECT_IND or LL_REJECT_EXT_IND) to the master device 510.

[0160] At operation 905, the master device 510 may send a connection update indication message (eg, LL_CONNECTION_UPDATE_IND) to the slave device 520 (eg, Figure 5 Operation 505 or Figure 7In operation 907, the master device 510 may complete the update (e.g., update completion). For example, the master device 510 may calculate a deviation as a time interval between a message related to the connection parameter update (e.g., a connection parameter response message) and the moment, determine the moment time point according to the calculated deviation, and send a connection update indication message including the determined moment time point to the slave device 520.

[0161] refer to Figure 9b At operation 911, the slave device 520 may send a connection parameter request message (eg, LL_CONNECTION_RARAM_REQ) to the master device 510 (eg, Figure 6 In one embodiment, the slave device 520 may be as described in reference to operation 601. Figure 6 The method sends a connection parameter request message to the master device 510 .

[0162] In operation 913, the master device 510 may send a connection update indication message to the slave device 520. In operation 915, the master device 510 may complete the update (e.g., update completion). For example, the master device 510 may calculate a deviation as a time interval between a message related to the connection parameter update (e.g., a connection parameter request message) and the moment, determine the moment time point according to the calculated deviation, and send a connection update indication message including the determined moment time point to the slave device 520.

[0163] In one embodiment, based on the connection parameter request message received from the slave device 520, the master device 510 can identify the target slave device 520 that has sent the connection parameter request message. For example, the master device 510 can identify whether the slave device 520 that has sent the connection parameter request message is a designated (or pre-agreed) slave device that can support the adaptive connection update of various embodiments. In one embodiment, the master device 510 can identify the slave device 520 based on the identification information (e.g., device ID) of the slave device 520.

[0164] In one embodiment, if the slave device 520 that has sent the connection parameter request message is a designated slave device, the master device 510 can calculate the deviation based on the first designated scheme, that is, the time interval between the message (e.g., connection parameter request message) and the moment associated with the connection parameter update. For example, the master device 510 can calculate the deviation based on the first designated scheme, and determine the time point of the moment according to the calculated deviation. In one embodiment, if the slave device 520 that has sent the connection parameter request message is not a designated slave device, the master device 510 can calculate the deviation based on the second designated scheme, that is, the time interval between the message (e.g., connection parameter request message) and the moment associated with the connection parameter update. For example, the master device 510 can calculate the deviation based on the second designated scheme, and determine the time point of the moment according to the calculated deviation. In another embodiment, when the master device 510 rejects the connection parameter request message from the slave device 520, the master device 510 can send a rejection message (e.g., LL_REJECT_IND or LL_REJECT_EXT_IND) other than the connection update indication message to the slave device 520, in which case the corresponding process can be terminated.

[0165] Figure 9a and Figure 9b The embodiments in may illustrate an example of a process based on the first specified scheme.

[0166] according to Figure 9a or Figure 9b In the embodiment of the present invention, the master device 510 may send a connection update indication message including a connection parameter value determined (or changed) based on the connection parameter negotiation to the slave device 520. In various embodiments, when the master device 510 and the slave device 520 are connected via BLE, the connection parameter negotiation process may be started based on a preset event (e.g., a specified event) between the two devices 510 and 520. In one embodiment, there may be various specified events. For example, the specified event may correspond to an action of a user manipulating a specific button of the master device 510 or the slave device 520, or an action of a user separating two devices that are physically in contact or close together.

[0167] In various embodiments, a master device 510 (eg, Figure 1 or Figure 2 electronic device 101) or from device 520 (e.g., Figure 2 or Figure 3At least one of the digital pens 201 in the master device and the slave device 201 in the master device 201 may recognize a situation (hereinafter referred to as a designated event) in which the value of one or more connection parameters (e.g., connection interval and slave device latency) needs to be changed. In various embodiments, a device (e.g., a master device and / or a slave device) that has recognized a designated event related to a connection parameter may send a connection parameter request message (e.g., LL_CONNECTION_PARAM_REQ) including a desired connection parameter value to the counterpart device.

[0168] In one embodiment, the master device 510 and the slave device 520 may complete the update. In one embodiment, after receiving the connection update indication message, the slave device 520 may make a reception (Rx) attempt at an interval (e.g., interval i) that is less than or equal to the existing value of the slave device latency (e.g., OldSlaveLatency) and has an integer value greater than or equal to 0. In various embodiments, the master device 510 may know the value of the corresponding interval (e.g., interval i) of the slave device 520 in advance. For example, during an existing connection with the slave device 520, the master device 510 may check the interval value of the slave device 520 based on a generic attribute profile (GATT) database query defined by the Bluetooth specification. In various embodiments, when a message related to a connection parameter update (e.g., a connection parameter response message (in Figure 9a ) or a connection parameter request message (in Figure 9b )) and the time interval between moments (e.g., Figure 9a or Figure 9b The interval (C) in is called the deviation. In order to advance the occurrence time of the moment, the deviation can be redefined as the following equation 2.

[0169] <Equation 2>

[0170] SlaveLatencyDelay≤i×OldConnectionInterval

[0171] Delta≤SlaveLatency+x×OldConnectionInterval

[0172] =(i+x)×OldConnectionInterval

[0173] In Equation 2, i indicates an interval (e.g., interval i) at which reception (Rx) is turned on from device 520, OldConnectionInterval indicates an existing (old) value of the connection interval, SlaveLatencyDelay indicates a slave device latency delay taking into account a time corresponding to an interval (e.g., interval i) of slave device 520, and x is an integer value greater than or equal to 0 and can be determined by the master device 510.

[0174] In one embodiment, the master device 510 may calculate a message (eg, a connection parameter response message ( Figure 8a LL_CONNECTION_PARAM_RSP) or a connection parameter request message ( Figure 8b The master device 510 calculates the deviation of the time interval between the LL_CONNECTION_PARAM_REQ in (A) and the moment, determines the moment time point according to the calculated deviation, and sends a connection update indication message including the determined moment time point to the slave device 520. For example, the master device 510 may include the moment time point considering the interval (A) and the interval (B) (for example, the moment time point considering the deviation) in the connection update indication message instead of including the value of the interval (A) and / or the interval (B) in the connection update indication message, for example, the time point of the connection event of completing the update (update completion). In one embodiment, the moment can be represented according to a connection event number that is different from the time, for example, and can mean that the connection update is completed when the connection event with the indicated number occurs.

[0175] exist Figure 9a and / or Figure 9b In the embodiment of the present invention, the master device 510 takes the interval (A) into account because the slave device 520 may make a receive (Rx) attempt after the maximum slave device delay. This may indicate that the master device 510 waits for the slave device 520 for an interval (A).

[0176] In various embodiments, after receiving the connection update indication message (e.g., LL_CONNECTION_UPDATE_IND), the slave device 520 may perform a reception (Rx) attempt at an interval less than or equal to the existing slave device latency. In various embodiments, the master device 510 may determine that the slave device 520 is a device that can operate according to various embodiments (e.g., a slave device that satisfies the specified conditions), and at the same time calculate a deviation less than the previous deviation based on the corresponding interval value of the slave device 520, thereby advancing the time point of the moment compared to the existing time point.

[0177] In various embodiments, the connection parameter negotiation process may be categorized according to which of the master device 510 and the slave device 520 sends a connection parameter request message (eg, LL_CONNECTION_PARAM_REQ).

[0178] Fig.10 is a sequence diagram illustrating an adaptive connection update process initiated by a master device according to an embodiment of the present disclosure.

[0179] Fig.10 The embodiment shows that the master device (e.g., Figure 1 or Figure 2The electronic device 101 in the example Figure 2 or Figure 3 In other words, Fig.10 An example of performing an adaptive connection update initiated by a master device is shown.

[0180] refer to Fig.10 In operation 1001, the master device 1010 and the slave device 1020 may be in a connected state. For example, the master device 1010 and the slave device 1020 may be connected via BLE communication and remain in a standby state.

[0181] In operation 1003 or operation 1005, the master device 1010 or the slave device 1020 may detect a predefined event (or a specified event). In one embodiment, a predefined event may occur when the slave device 1020 is separated from the master device 1010. In one embodiment, a predefined event may occur when a specified application (e.g., an application related to performing a specific function (e.g., a drawing function or a mouse function) using the slave device 1020) is executed in the master device 1010. In one embodiment, a predefined event may occur when a specific operation (e.g., a function based on a button of the slave device 1010) is performed (or detected) in the slave device 1020.

[0182] In one embodiment, the event may be detected by the master device 1010 or the slave device 1020. In another embodiment, the master device 1010 and the slave device 1020 may detect the event almost at the same time. When the master device 1010 and the slave device 1020 detect the event almost at the same time, the event may be processed based on at least the following operations. For example, if the connection parameter request process has already begun due to the time difference of detecting the event between the master device 1010 and the slave device 1020, the master device 1010 and the slave device 1020 may not send additional connection parameter requests until the corresponding process is completed. As another example, if the master device 1010 or the slave device 1020 receives a connection parameter request message after the connection parameter request process has begun, the connection may be released. For example, if the master device 1010 receives a connection parameter request message, the master device 1010 may reject (or release) the connection by sending a connection rejection message (e.g., LL_REJECT_IND or LL_REJECT_EXT_IND). For example, if a connection parameter request message is received from device 1020, slave device 1020 may terminate an existing slave device initiated process (e.g., a slave device initiated connection parameter request process for connection parameter negotiation) and may restart connection parameter negotiation based on a master device initiated process (e.g., a master device initiated connection parameter request process for connection parameter negotiation).

[0183] In operation 1007, the slave device 1020 can attempt to receive (Rx) based on the interval (e.g., interval i) of the specified value. For example, when an event is detected, the slave device 1020 can attempt to receive based on the interval value within the slave device delay predefined between the master device 1010 and the slave device 1020. In one embodiment, the slave device 1020 can open (or attempt) to receive (Rx) based on the slave device delay. In one embodiment, if an event is detected in operation 1005, in response to event detection, the slave device 1020 can open (or attempt) to receive (Rx) based on a specified interval value (e.g., interval i), which is a period shorter than the slave device delay (e.g., less than or equal to the interval of the slave device delay). In one embodiment, by only attempting to receive based on the specified interval value when the corresponding event occurs, the slave device 1020 can increase the update speed compared to the power consumed by receiving. In one embodiment, the slave device 1020 can attempt to receive (Rx) at an interval less than or equal to the slave device delay to reduce power consumption under normal circumstances. In one embodiment, when a specified event is detected, the slave device 1020 can attempt to receive with an interval i, so as to improve the update speed by replacing the slave device delay with an interval i less than or equal to the slave device delay. In one embodiment, the interval i may include a value of 0 or greater (e.g., i≥0). In another embodiment, the slave device 1020 can replace the slave device delay with an interval i less than or equal to the slave device delay to improve the update speed. For example, the connection interval can be in units of time, the slave device delay can be in units of times, and the interval i can be a replacement for the slave device delay. In one embodiment, the time interval at which the slave device 1020 opens reception (Rx) can be expressed as, for example, "time interval = connection interval × z ≤ connection interval × slave device delay", wherein the value of z can be optionally determined by the slave device 1020.

[0184] At operation 1009, based on the detected event, the master device 1010 may include the desired change value of the connection parameters (e.g., connection interval and slave latency) in a connection parameter request message (e.g., LL_CONNECTION_PARAM_REQ) and send the message to the slave device 1020. Fig.10 In the embodiment of the present invention, operation 1007 and operation 1009 can be performed sequentially, in parallel, or in reverse order.

[0185] Upon receiving the connection parameter request message from the master device 1010, the slave device 1020 may send a connection parameter response message (e.g., LL_CONNECT_PARAM_RSP) corresponding to the connection parameter request message to the master device 1010 in operation 1011. In one embodiment, upon receiving the connection parameter request from the master device 1010, the slave device 1020 may provide a response to the master device 1010 of applying the values ​​of the connection interval and the slave delay changed by the master device 1010 according to the connection parameter request message. In another embodiment, when the slave device 1020 refuses to apply the values ​​of the connection interval and the slave delay changed by the master device 1010 according to the connection parameter request message, the slave device 1020 may send a rejection message (e.g., LL_REJECT_IND or LL_REJECT_EXT_IND) other than the connection parameter response message to the master device 1010, in which case the corresponding process may be terminated without the master device 1010 sending a connection update indication message.

[0186] In operation 1013, the master device 1010 may calculate a deviation based on the type of the slave device. In one embodiment, upon receiving a connection parameter response message from the slave device 1020, the master device 1010 may identify the target slave device 1020 that has sent the connection parameter response message based on the received connection parameter response message. In one embodiment, the master device 1010 may identify the type of the slave device 1020 based on identification information (e.g., device ID) of the slave device 1020, which is obtained from a value carried in an advertisement packet received during an advertisement operation before connecting with the slave device 1020. For example, the master device 1010 may identify whether the slave device 1020 that has sent the connection parameter response message is a designated (or pre-agreed) slave device that can support adaptive connection updates of various embodiments.

[0187] In one embodiment, the master device 1010 may identify the device attributes of the slave device 1020 (e.g., a mobile phone, a pen, or a headset) based on the identification information of the slave device 1020. In one embodiment, the master device 1010 and the slave device 1020 may know each other's device attributes when connecting, and the identification information of the slave device 1020 may be managed (or stored) in a lookup table of device attributes. In various embodiments, the operation of identifying the slave device 1020 may be an operation of checking the known device attributes of the slave device 1020. In one embodiment, during an advertising operation (e.g., an advertiser and a scanner group operation) before a connection is made between the master device 1010 and the slave device 1020, the advertiser may use a pre-agreed value (or a value different from that specified in the specification) for a packet data unit (PDU) type in an advertising packet. The scanner may identify whether the advertiser performing the advertisement is an advertiser that satisfies the specified conditions. Thereafter, when transitioning to a connected state (e.g., connected as a master device and a slave device), the corresponding scanner may become a master device, and the corresponding advertiser may become a slave device. The master device may then determine whether the slave device satisfies a specified condition based on the device attributes of the slave device.

[0188] In one embodiment, the master device 1010 may selectively use the first designation scheme or the second designation scheme based at least on the state information of the master device 1010 or the slave device 1020 or the additional information of the event. For example, when the master device 1010 is connected to the slave device 1020 supporting the first designation scheme and the second designation scheme, the master device 1010 may check the prescribed conditions (e.g., the state information of the master device 1010 or the slave device 1020, or the additional information of the event) and operate in a fast mode, or if a specific event type is configured, the first designation scheme may be used preferentially.

[0189] In one embodiment, if slave device 1020 is identified as a designated slave device, master device 1010 may calculate the deviation based on a first designated scheme (eg, using the deviation calculation of equation 2) (eg, Figure 9a ) to calculate the deviation, that is, the time interval between the connection update indication message and the moment. For example, the master device 1010 can calculate the deviation based on the first specified scheme, and determine the time point of the moment according to the calculated deviation. In one embodiment, if the slave device 1020 is identified as a non-specified slave device, the master device 1010 can calculate the deviation based on the second specified scheme (for example, using the deviation calculation of equation 1) (for example, Figure 8a ) to calculate the deviation, that is, the time interval between the connection update indication message and the moment. For example, the master device 1010 can calculate the deviation based on the second specified scheme, and determine the time point of the moment according to the calculated deviation.

[0190] In operation 1015, the master device 1010 may specify a time based on the calculated deviation, and then send a connection update indication message (e.g., LL_CONNECTION_UPDATE_IND) including the specified time value to the slave device 1020. In one embodiment, the master device 1010 may calculate a deviation as a time interval between the connection update indication message and the time, determine a time point of the time according to the calculated deviation, and send a connection update indication message including the determined time point of the time to the slave device 1020.

[0191] When this moment is reached, in operation 1017 (in operation 1019), the master device 1010 (slave device 1020) can update the connection parameters. In one embodiment, the master device 1010 and the slave device 1020 can monitor the specified moment according to the moment time point included in the connection update indication message, and can update the connection parameters including the connection interval and / or the slave device delay when the corresponding moment is reached. The connection parameters may include various parameters related to the connection, such as the connection interval, the slave device delay and / or the timeout. In one embodiment, the timeout may be a standard for determining the release (or disconnection) of the connection when there is no response between the master device 1010 and the slave device 1020. In various embodiments, the connection parameter request process (or the connection parameter negotiation process) may include changing one or more connection parameters, and various connection parameters including the connection interval and the slave device delay may be updated. For example, by using the connection parameter request process, the master device 1010 may only change the connection interval, or may simultaneously change a combination of one or more connection parameters (such as the connection interval, the slave device delay and the timeout).

[0192] Fig.11 is a flowchart illustrating an adaptive connection update method of a master device according to an embodiment of the present disclosure.

[0193] Fig.11 The embodiment shows that the master device 1010 (e.g., Figure 1 or Figure 2 electronic device 101) to a slave device 1020 (eg, Figure 2 or Figure 3 The digital pen 201 in the embodiment sends a connection parameter request message. Fig.11 The operation of the master device 1010 of the embodiment may be performed by Figure 1 The operation of the master device 1010 may be performed by at least one processor (e.g., processor 120) of the electronic device 101 (e.g., at least one processor including a processing circuit). In one embodiment, the operation of the master device 1010 may be implemented as a memory (e.g., Figure 1 The instructions in the memory 130 in the processor 120 are executed and cause the processor 120 to perform operations when the instructions are executed.

[0194] refer to Fig.11 In operation 1101, a processor (e.g., processor 120) of a master device 1010 may detect a predefined event. In one embodiment, when the master device 1010 and the slave device 1020 are connected to each other, the processor 120 may monitor a specified event related to the execution of a specified function of the slave device 1020. In one embodiment, the predefined (or specified) event may include an event associated with the slave device 1020 being separated from the master device 1010, an event associated with the execution of a specified application in the master device 1010 (e.g., an application associated with executing a specific function (e.g., a drawing function or a mouse function) using the slave device 1020), or an event associated with the execution (or detection) of a specific operation in the slave device 1020 (e.g., a function based on a button of the slave device 1010).

[0195] At operation 1103, based on the detected event, the processor 120 may include the desired change values ​​of the connection interval and slave latency in a connection parameter request message (eg, LL_CONNECTION_PARAM_REQ), and transmit the desired change values ​​of the connection interval and slave latency to the communication circuit (eg, Figure 1 The wireless communication module 192 in the processor 120 sends the message to the slave device 1020. In one embodiment, the processor 120 may send a connection parameter request message to the slave device 1020 through a communication channel connected to the slave device 1020.

[0196] At operation 1105, the processor 120 may receive a connection parameter response message from the slave device 1020. In one embodiment, the processor 120 may use a communication circuit to receive a connection parameter response message corresponding to the connection parameter request message from a nearby slave device 1020 that is connected (or communicable) via BLE communication. In another embodiment, when the slave device 1020 refuses to change the connection parameters according to the connection parameter request message, the slave device 1020 may send a rejection message (e.g., LL_REJECT_IND or LL_REJECT_EXT_IND) other than the connection parameter response message to the master device 1010, in which case the corresponding process may be terminated without the master device 1010 sending a connection update indication message.

[0197] In operation 1107, the processor 120 may determine whether the slave device 1020 is a slave device that satisfies the specified conditions. In one embodiment, the processor 120 may identify whether the slave device 1020 that has sent the connection parameter response message is a designated (or pre-agreed) slave device that can support the adaptive connection update of various embodiments. In one embodiment, the processor 120 may identify the target slave device 1020 that has sent the connection parameter response message based on the received connection parameter response message. In one embodiment, the processor 120 (e.g., the master device 1010) may identify the type of the slave device 1020 based on the identification information (e.g., device ID) of the slave device 1020, which is obtained from the value carried in the advertising packet received during the advertising operation before connecting with the slave device 1020. In one embodiment, the processor 120 may identify the device attributes (e.g., mobile phone, pen, or headset) of the slave device 1020 based on the identification information of the slave device 1020. In one embodiment, the master device 1010 and the slave device 1020 may know each other's device attributes when connecting, and the identification information of the slave device 1020 may be managed (or stored) in a lookup table of device attributes. In various embodiments, the operation of identifying the slave device 1020 may be an operation of checking the known device attributes of the slave device 1020. In one embodiment, during an advertisement operation (e.g., an advertiser and scanner group operation) before connecting between the master device 1010 and the slave device 1020, the advertiser may use a pre-agreed value (or a value different from that specified in the specification) for the PDU type in the advertisement packet. The scanner may identify whether the advertiser performing the advertisement is an advertiser that meets the specified conditions. Thereafter, when transitioning to a connected state (e.g., connected as a master device and a slave device), the corresponding scanner may become a master device, and the corresponding advertiser may become a slave device. Then, the master device may determine whether the slave device meets the specified conditions based on the device attributes of the slave device.

[0198] In various embodiments, the execution of operation 1107 for determination may be skipped. In one embodiment, the processor 120 (e.g., the master device 1010) may proceed directly from operation 1105 to operation 1109 without checking the condition of the slave device 1020, and perform operation 1109 and subsequent operations based on, for example, a user's need for a quick connection.

[0199] In various embodiments, the processor 120 may selectively use the first designation scheme or the second designation scheme based at least on the state information of the master device 1010 or the slave device 1020 or the additional information of the event. For example, when the master device 1010 is connected to the slave device 1020 supporting the first designation scheme and the second designation scheme, the processor 120 may check the prescribed conditions (e.g., the state information of the master device 1010 or the slave device 1020, or the additional information of the event) and operate in a fast mode, or if a specific event type is configured, the first designation scheme may be used preferentially.

[0200] When it is determined that the slave device 1020 is a slave device that satisfies the specified condition (e.g., the "yes" branch at operation 1107), at operation 1109, the processor 120 can calculate the deviation based on the first specified scheme, that is, the time interval between the message related to the connection parameter update (e.g., the connection parameter response message) and the time. In one embodiment, the first specified scheme can correspond to the deviation calculation using equation 2.

[0201] When it is determined that the slave device 1020 is not a slave device that satisfies the specified condition (e.g., the "No" branch at operation 1107), at operation 1111, the processor 120 may calculate the deviation, i.e., the time interval between the message related to the connection parameter update (e.g., the connection parameter response message) and the time instant based on the second specified scheme. In one embodiment, the second specified scheme may correspond to the deviation calculation using equation 1.

[0202] In operation 1113 , the processor 120 may specify a time based on the calculated deviation, and then transmit a connection update indication message including the specified time value to the slave device 1020 through the communication circuit.

[0203] When this moment is reached, in operation 1115, the processor 120 can update the connection parameters. In one embodiment, the processor 120 can monitor the specified moment according to the moment time point included in the connection update indication message, and can update the connection parameters including the connection interval and / or the slave device delay when the corresponding moment is reached. In one embodiment, the connection parameters may include various parameters related to the connection, such as the connection interval, the slave device delay and / or the timeout. In one embodiment, the timeout may be a standard for determining the release (or disconnection) of the connection when there is no response between the main device 1010 and the slave device 1020. In various embodiments, the connection parameter request process (or the connection parameter negotiation process) may include changing one or more connection parameters, and various connection parameters including the connection interval and the slave device delay may be updated. For example, by using the connection parameter request process, the main device 1010 may only change the connection interval, or may simultaneously change a combination of one or more connection parameters (such as the connection interval, the slave device delay and the timeout).

[0204] Fig.12 is a flowchart illustrating an adaptive connection update method of a slave device according to an embodiment of the present disclosure.

[0205] Fig.12 The embodiment shows that when the master device 1010 (e.g., Figure 1 or Figure 2 electronic device 101) to a slave device 1020 (eg, Figure 2 or Figure 3 The operation of the slave device 1020 when the digital pen 201 in the embodiment sends a connection parameter request message. Fig.12 The operation of the slave device 1020 of the embodiment may be performed by, for example Figure 3 The operation of the slave device 1020 may be performed by at least one processor (e.g., processor 320) of the digital pen 201 (e.g., at least one processor including a processing circuit). In one embodiment, the operation of the slave device 1020 may be implemented as a memory (e.g., Figure 1 The instructions in the memory 330 in the processor 320 are executed, and the instructions cause the processor 320 to perform operations when executed.

[0206] refer to Fig.12 , at operation 1201, a processor (e.g., processor 320) of slave device 1020 may detect a predefined event. In one embodiment, when master device 1010 and slave device 1020 are connected to each other, processor 320 may monitor a specified event related to the execution of a specified function of slave device 1020. In one embodiment, the predefined (or specified) event may include an event associated with the slave device 1020 being separated from master device 1010, an event associated with the execution of a specified application in master device 1010 (e.g., an application associated with executing a specific function (e.g., a drawing function or a mouse function) using slave device 1020), or an event associated with the execution (or detection) of a specific operation in slave device 1020 (e.g., a function based on a button of slave device 1010).

[0207] In operation 1203, the processor 320 may attempt to receive (Rx) based on an interval (e.g., interval i) of a specified value. For example, when an event is detected, the processor 320 may attempt to receive a connection parameter request message from the master device 1010 based on an interval value predefined within a slave device delay between the master device 1010 and the slave device 1020. In one embodiment, the processor 320 may start (or attempt to) receive (Rx) based on a slave device delay. In one embodiment, if a specified event is detected in operation 1201, in response to event detection, the processor 320 may attempt to receive (Rx) based on a specified interval value (e.g., interval i), which is a period shorter than the slave device delay (e.g., less than or equal to the interval of the slave device delay). In one embodiment, the processor 320 may increase the update speed by attempting to receive based on a specified interval value only when the corresponding event occurs. In one embodiment, the processor 320 (e.g., from the device 1020) may attempt to receive (Rx) at an interval less than or equal to the slave device delay to reduce power consumption under normal circumstances. In one embodiment, when a specified event is detected, the processor 320 may perform a reception attempt at interval i to increase the update speed by replacing the slave device latency with an interval i that is less than or equal to the slave device latency. In one embodiment, the interval i may include a value of 0 or greater (e.g., i≥0).

[0208] At operation 1205, the processor 320 may determine whether a connection parameter request message (eg, LL_CONNECTION_PARAM_REQ) including change values ​​of a connection interval and a slave latency is received from the master device 1010. Fig.12 In the embodiment of the present invention, operation 1203 and operation 1205 can be performed sequentially, in parallel, or in reverse order.

[0209] When it is determined that the connection parameter request message is not received from the master device 1010 (eg, the “No” branch at operation 1205 ), the process may return to operation 1203 .

[0210] When it is determined that a connection parameter request message is received from the master device 1010 (eg, the “Yes” branch at operation 1205 ), at operation 1207 , the processor 320 may communicate with the master device 1010 by using a communication circuit (eg, Figure 3In one embodiment, the processor 320 may provide a connection parameter response message (e.g., LL_CONNECTION_PARAM_RSP) corresponding to the connection parameter request message to the master device 1010, when receiving the connection parameter request from the master device 1010. In one embodiment, upon receiving the connection parameter request from the master device 1010, the processor 320 may provide a response to the master device 1010 for applying the values ​​of the connection interval and the slave device delay changed by the master device 1010 according to the connection parameter request message. In another embodiment, when the processor 320 refuses to change the connection parameters according to the connection parameter request message, the processor 320 may send a rejection message (e.g., LL_REJECT_IND or LL_REJECT_EXT_IND) other than the connection parameter response message to the master device 1010, in which case the corresponding process may be terminated without the master device 1010 sending the connection update indication message.

[0211] At operation 1209 , the processor 320 may receive a connection update indication message (eg, LL_CONNECTION_UPDATE_IND) from the master device 1010 by using the communication circuit. In one embodiment, the connection update indication message may include a time value specified based on the offset calculated by the master device 1010 .

[0212] When this moment is reached, in operation 1211, the processor 320 can update the connection parameters. In one embodiment, the processor 320 can monitor the specified moment according to the moment time point included in the connection update indication message, and can update the connection parameters including the connection interval and the slave device delay when the corresponding moment is reached. The connection parameters may include various parameters related to the connection, such as the connection interval, the slave device delay and / or the timeout. In various embodiments, the connection parameter request process (or the connection parameter negotiation process) may include changing one or more connection parameters, and various connection parameters including the connection interval and the slave device delay may be updated. For example, by using the connection parameter request process, the master device 1010 may only change the connection interval, or may simultaneously change a combination of one or more connection parameters (such as the connection interval, the slave device delay and the timeout).

[0213] Fig.13 is a sequence diagram illustrating an adaptive connection update process initiated by a slave device according to an embodiment of the present disclosure.

[0214] Fig.13 The embodiment shows that from device 1020 (e.g., Figure 2 or Figure 3 The digital pen 201 in the main device 1010 (eg, Figure 1 or Figure 2In other words, Fig.10 An example of performing an adaptive connection update initiated by slave device 1020 is shown.

[0215] refer to Fig.13 In operation 1301, the master device 1010 and the slave device 1020 may be in a connected state. For example, the master device 1010 and the slave device 1020 may be connected via BLE communication and remain in a standby state.

[0216] In operation 1303 or operation 1305, the slave device 1020 or the master device 1010 may detect a predefined event (or a specified event). In various embodiments, when the slave device 1020 sends a connection parameter request message, the master device 1010 may not be required to detect a predefined event. Fig.13 In an embodiment, the master device 1010 can skip operation 1305. In one embodiment, when the slave device 1020 is separated from the master device 1010, a predefined event can occur. In one embodiment, when a specified application (e.g., an application related to performing a specific function (e.g., a drawing function or a mouse function) using the slave device 1020) is executed in the master device 1010, a predefined event can occur. In one embodiment, when a specific operation (e.g., a function based on a button of the slave device 1010) is performed (or detected) in the slave device 1020, a predefined event can occur.

[0217] In one embodiment, the event may be detected by the master device 1010 or the slave device 1020. In another embodiment, the master device 1010 and the slave device 1020 may detect the event almost at the same time. When the master device 1010 and the slave device 1020 detect the event almost at the same time, the event may be processed based on at least the following operations. For example, if the connection parameter request process has already begun due to the time difference of the event being detected between the master device 1010 and the slave device 1020, the master device 1010 and the slave device 1020 may not send additional connection parameter requests until the corresponding process is completed. As another example, if the master device 1010 or the slave device 1020 receives a connection parameter request message after the connection parameter request process has begun, the connection may be released. For example, if the master device 1010 receives a connection parameter request message, the master device 1010 may reject (or release) the connection by sending a connection rejection message (e.g., LL_REJECT_IND or LL_REJECT_EXT_IND). For example, if a connection parameter request message is received from device 1020, slave device 1020 may terminate an existing slave device-initiated process (e.g., a connection parameter request process initiated by the slave device for connection parameter negotiation) and may restart the connection parameter negotiation based on a master device-initiated process (e.g., a connection parameter request process initiated by the master device for connection parameter negotiation).

[0218] In operation 1307, the slave device 1020 can attempt to receive (Rx) based on the interval (e.g., interval i) of the specified value. For example, when an event is detected, the slave device 1020 can attempt to receive based on the interval value within the slave device delay predefined between the master device 1010 and the slave device 1020. In one embodiment, the slave device 1020 can open (or attempt) to receive (Rx) based on the slave device delay. In one embodiment, if an event is detected in operation 1303, in response to the event detection, the slave device 1020 can open (or attempt) to receive (Rx) based on the specified interval value (e.g., interval i), which is a period shorter than the slave device delay (e.g., less than or equal to the interval of the slave device delay). In one embodiment, by only attempting to receive based on the specified interval value when the corresponding event occurs, the slave device 1020 can increase the update speed compared to the power consumed by receiving. In one embodiment, the slave device 1020 can attempt to receive (Rx) at an interval less than or equal to the slave device delay to reduce power consumption under normal circumstances. In one embodiment, when a specified event is detected, the slave device 1020 may perform a reception attempt at interval i to increase the update speed by replacing the slave device latency with an interval i that is less than or equal to the slave device latency. In one embodiment, the interval i may include a value of 0 or greater (e.g., i≥0).

[0219] At operation 1309, the slave device 1020 may include the desired change value of the connection parameter (e.g., connection interval and slave device latency) in a connection parameter request message (e.g., LL_CONNECTION_PARAM_REQ) and send the message to the master device 1010. Fig.13 In the embodiment of the present invention, operation 1307 and operation 1309 can be performed sequentially, in parallel, or in reverse order.

[0220] In operation 1311, the master device 1010 may calculate a deviation based on the type of the slave device. In one embodiment, upon receiving a connection parameter request message from the slave device 1020, the master device 1010 may identify the target slave device 1020 that has sent the connection parameter request message based on the received connection parameter request message. In one embodiment, the master device 1010 may identify the type of the slave device 1020 based on identification information (e.g., device ID) of the slave device 1020, which is obtained from a value carried in an advertisement packet received during an advertisement operation before connecting with the slave device 1020. For example, the master device 1010 may identify whether the slave device 1020 that has sent the connection parameter request message is a designated (or pre-agreed) slave device that can support adaptive connection updates of various embodiments.

[0221] In one embodiment, the master device 1010 may identify the device attributes of the slave device 1020 (e.g., a mobile phone, a pen, or a headset) based on the identification information of the slave device 1020. In one embodiment, the master device 1010 and the slave device 1020 may know each other's device attributes when connecting, and the identification information of the slave device 1020 may be managed (or stored) in a lookup table of device attributes. In various embodiments, the operation of identifying the slave device 1020 may be an operation of checking the known device attributes of the slave device 1020. In one embodiment, during an advertising operation (e.g., an advertiser and a scanner group operation) before connecting between the master device 1010 and the slave device 1020, the advertiser may use a pre-agreed value (or a value different from that specified in the specification) for the PDU type in the advertising packet. The scanner may identify whether the advertiser performing the advertisement is an advertiser that meets the specified conditions. Thereafter, when transitioning to a connected state (e.g., connected as a master device and a slave device), the corresponding scanner may become a master device, and the corresponding advertiser may become a slave device. Then, the master device may determine whether the slave device meets the specified conditions based on the device attributes of the slave device.

[0222] In one embodiment, the master device 1010 may selectively use the first designation scheme or the second designation scheme based at least on the state information of the master device 1010 or the slave device 1020 or the additional information of the event. For example, when the master device 1010 is connected to the slave device 1020 supporting the first designation scheme and the second designation scheme, the master device 1010 may check the prescribed conditions (e.g., the state information of the master device 1010 or the slave device 1020, or the additional information of the event) and operate in a fast mode, or if a specific event type is configured, the first designation scheme may be used preferentially.

[0223] In one embodiment, if slave device 1020 is identified as a designated slave device, master device 1010 may calculate the deviation based on a first designated scheme (eg, using the deviation calculation of equation 2) (eg, Figure 9b ) is used to calculate the deviation, that is, the time interval between the message related to the connection parameter update (e.g., the connection parameter request message) and the time. In one embodiment, if the slave device 1020 that has sent the connection parameter request message is identified as a non-designated slave device, the master device 1010 can calculate the deviation based on the second designation scheme (e.g., using the deviation calculation of equation 1) (e.g., Figure 8b ) is used to calculate the deviation, that is, the time interval between the message related to the connection parameter update (for example, the connection parameter request message) and the time.

[0224] In another embodiment, when the master device 1010 rejects a connection parameter request message from the slave device 1020, the master device 1010 may send a rejection message (e.g., LL_REJECT_IND or LL_REJECT_EXT_IND) without performing an operation for changing the connection parameters (e.g., calculating a deviation and sending a connection update indication message), in which case the corresponding process may be terminated.

[0225] In operation 1313, the master device 1010 may specify a time based on the calculated deviation, and then send a connection update indication message (e.g., LL_CONNECTION_UPDATE_IND) including the specified time value to the slave device 1020. In one embodiment, the master device 1010 may calculate a deviation as a time interval between a message related to connection parameter update and the time, determine a time point of the time according to the calculated deviation, and send a connection update indication message including the determined time point of the time to the slave device 1020.

[0226] When this moment is reached, in operation 1315 (in operation 1317), the master device 1010 (slave device 1020) can update the connection parameters. In one embodiment, the master device 1010 and the slave device 1020 can monitor the specified moment according to the moment time point included in the connection update indication message, and can update the connection parameters including the connection interval and / or the slave device delay when the corresponding moment is reached. The connection parameters may include various parameters related to the connection, such as the connection interval, the slave device delay and / or the timeout. In one embodiment, the timeout may be a standard for determining that the connection is released (or disconnected) when there is no response between the master device 1010 and the slave device 1020. In various embodiments, the connection parameter request process (or the connection parameter negotiation process) may include changing one or more connection parameters, and various connection parameters including the connection interval and the slave device delay may be updated. For example, by using the connection parameter request process, the master device 1010 may only change the connection interval, or may simultaneously change a combination of one or more connection parameters (such as the connection interval, the slave device delay and the timeout).

[0227] although Fig.13 Not shown, but Fig.13 The embodiments can be applied to Figure 7 For example, in Fig.13 After operation 1307 in, in order to indirectly request the master device 1010 to send a connection parameter request message (e.g., LL_CONNECTION_PARAM_REQ) at the host layer from the slave device 1020 through the L2CAP signaling channel, the slave device 1020 may send an L2CAP connection parameter update request message (L2CAP_CONNECTION_PARAM_UPDATE_REQ) to the master device 1010 at the L2CAP layer. In one embodiment, upon receiving the connection parameter update request message from the slave device 1020, the master device 1010 may send a connection parameter update response message (e.g., L2CAP_CONNECTION_PARAM_UPDATE_RSP) to the slave device 1020. Thereafter, the slave device 1020 may receive the connection parameter request message from the master device 1010, and may send a connection parameter response message to the master device 1010 in response to the connection parameter request message.

[0228] Fig.14 is a flowchart illustrating an adaptive connection update method of a master device according to an embodiment of the present disclosure.

[0229] Fig.14 The embodiment shows that when the slave device 1020 (e.g., Figure 2 or Figure 3 The digital pen 201 in the main device 1010 (eg, Figure 1 or Figure 2 The operation of the master device 1010 when the electronic device 101 in the embodiment sends a connection parameter request message. Fig.14 The operation of the master device 1010 of the embodiment may be performed by Figure 1 At least one processor of the electronic device 101 (for example, Figure 1 In one embodiment, the operation of the master device 1010 may be implemented as a memory stored in the electronic device 101 (e.g., Figure 1 The instructions in the memory 130 in the processor 120 are executed and cause the processor 120 to perform operations when the instructions are executed.

[0230] refer to Fig.14 At operation 1401, the processor of the master device 1010 (e.g., the processor 120) may determine whether a connection parameter request message (e.g., LL_CONNECTION_PARAM_REQ) is received from the slave device 1020. In one embodiment, the processor 120 may receive the slave device 1020 through a communication circuit (e.g., Figure 1 The wireless communication module 192 in the BLE receives a connection parameter request message including a connection interval and an expected change value of a slave device delay from a slave device 1020 connected via BLE communication.

[0231] When it is determined that the connection parameter request message is not received from the slave device 1020 (e.g., the "No" branch at operation 1401), the process may return to operation 1401. In one embodiment, even if a connection parameter request message is received from the slave device 1020, when the processor 120 refuses to change the connection parameters according to the connection parameter request message, the processor 120 may send a rejection message (e.g., LL_REJECT_IND or LL_REJECT_EXT_IND) to the slave device 1020, in which case the corresponding process may be terminated.

[0232] In operation 1403, the processor 120 may determine whether the slave device 1020 is a slave device that satisfies the specified conditions. In one embodiment, the processor 120 may identify whether the slave device 1020 that has sent the connection parameter request message is a designated (or pre-agreed) slave device that can support the adaptive connection update of various embodiments. When the connection parameter request message is received from the slave device 1020 (e.g., the "yes" branch at operation 1401), the processor 120 may identify the target slave device 1020 that has sent the connection parameter request message based on the received connection parameter request message in operation 1403. In one embodiment, the processor 120 (e.g., the master device 1010) may identify the type of the slave device 1020 based on the identification information (e.g., device ID) of the slave device 1020, which is obtained from the value carried in the advertising packet received during the advertising operation before connecting with the slave device 1020. In one embodiment, the processor 120 may identify the device attributes (e.g., mobile phone, pen, or headset) of the slave device 1020 based on the identification information of the slave device 1020. In one embodiment, the master device 1010 and the slave device 1020 may know each other's device attributes when connecting, and the identification information of the slave device 1020 may be managed (or stored) in a lookup table of device attributes. In various embodiments, the operation of identifying the slave device 1020 may be an operation of checking the known device attributes of the slave device 1020. In one embodiment, during an advertisement operation (e.g., an advertiser and scanner group operation) before a connection is made between the master device 1010 and the slave device 1020, the advertiser may use a pre-agreed value (or a value different from that specified in the specification) for the PDU type in the advertisement packet. The scanner may identify whether the advertiser performing the advertisement is an advertiser that meets the specified conditions. Thereafter, when transitioning to a connected state (e.g., connected as a master device and a slave device), the corresponding scanner may become a master device, and the corresponding advertiser may become a slave device. Then, the master device may determine whether the slave device meets the specified conditions based on the device attributes of the slave device.

[0233] In various embodiments, the execution of operation 1403 for determination may be skipped. In one embodiment, the processor 120 (e.g., the master device 1010) may proceed directly from operation 1401 to operation 1405 without checking the condition of the slave device 1020, and perform operation 1405 and subsequent operations based on, for example, a user's need for a quick connection.

[0234] In various embodiments, the processor 120 may selectively use the first designation scheme or the second designation scheme based at least on the state information of the master device 1010 or the slave device 1020 or the additional information of the event. For example, when the master device 1010 is connected to the slave device 1020 supporting the first designation scheme and the second designation scheme, the processor 120 may check the prescribed conditions (e.g., the state information of the master device 1010 or the slave device 1020, or the additional information of the event) and operate in a fast mode, or if a specific event type is configured, the first designation scheme may be used preferentially.

[0235] When it is determined that the slave device 1020 is a slave device that satisfies the specified condition (e.g., the "yes" branch at operation 1403), at operation 1405, the processor 120 can calculate the deviation based on the first specified scheme, that is, the time interval between the message related to the connection parameter update (e.g., the connection parameter request message) and the time. In one embodiment, the first specified scheme can correspond to the deviation calculation using equation 2.

[0236] When it is determined that the slave device 1020 is not a slave device that satisfies the specified condition (e.g., the "No" branch at operation 1403), at operation 1407, the processor 120 may calculate the deviation, i.e., the time interval between the message related to the connection parameter update (e.g., the connection parameter request message) and the time instant based on the second specified scheme. In one embodiment, the second specified scheme may correspond to the deviation calculation using equation 1.

[0237] In operation 1409 , the processor 120 may specify a time based on the calculated deviation, and then transmit a connection update indication message including the specified time value to the slave device 1020 through the communication circuit.

[0238] When this moment is reached, in operation 1411, the processor 120 can update the connection parameters. In one embodiment, the processor 120 can monitor the specified moment according to the moment time point included in the connection update indication message, and can update the connection parameters including the connection interval and / or the slave device delay when the corresponding moment is reached. In one embodiment, the connection parameters may include various parameters related to the connection, such as the connection interval, the slave device delay and / or the timeout. In one embodiment, the timeout may be a standard for determining that the connection is released (or disconnected) when there is no response between the main device 1010 and the slave device 1020. In various embodiments, the connection parameter request process (or the connection parameter negotiation process) may include changing one or more connection parameters, and various connection parameters including the connection interval and the slave device delay may be updated. For example, by using the connection parameter request process, the main device 1010 may only change the connection interval, or may simultaneously change a combination of one or more connection parameters (such as the connection interval, the slave device delay and the timeout).

[0239] Fig.15 is a flowchart illustrating an adaptive connection update method of a slave device according to an embodiment of the present disclosure.

[0240] Fig.15 The embodiment shows that when the slave device 1020 (e.g., Figure 2 or Figure 3 The digital pen 201 in the main device 1010 (eg, Figure 1 or Figure 2 The operation of the slave device 1020 when the electronic device 101 in the embodiment sends a connection parameter request message. Fig.15 The operation of the slave device 1020 of the embodiment may be performed by, for example Figure 3 The operation of the slave device 1020 may be performed by at least one processor (e.g., processor 320) of the digital pen 201 (e.g., at least one processor including a processing circuit). In one embodiment, the operation of the slave device 1020 may be implemented as a memory (e.g., Figure 1 The instructions in the memory 330 in the processor 320 are executed, and the instructions cause the processor 320 to perform operations when executed.

[0241] refer to Fig.15 , at operation 1501, a processor (e.g., processor 320) of slave device 1020 may detect a predefined event. In one embodiment, when master device 1010 and slave device 1020 are connected to each other, processor 320 may monitor a specified event related to the execution of a specified function of slave device 1020. In one embodiment, the predefined (or specified) event may include an event associated with the slave device 1020 being separated from the master device 1010, an event associated with the execution of a specified application in master device 1010 (e.g., an application associated with executing a specific function (e.g., a drawing function or a mouse function) using slave device 1020), or an event associated with the execution (or detection) of a specific operation in slave device 1020 (e.g., a function based on a button of slave device 1010).

[0242] When a predefined event is not detected at operation 1501 (eg, “No” branch at operation 1501 ), the processor 320 may wait for detection of a predefined event at operation 1501 .

[0243] When a predefined event is detected at operation 1501 (e.g., the "yes" branch at operation 1501), at operation 1503, the processor 320 may make a reception (Rx) attempt based on an interval of a specified value (e.g., interval i). For example, when an event is detected, the processor 320 may make a reception (Rx) attempt based on an interval value within a slave device delay predefined between the master device 1010 and the slave device 1020. In one embodiment, the processor 320 may turn on (or attempt to) receive (Rx) based on the slave device delay. In one embodiment, if a specified event is detected at operation 1501, in response to the event detection, the processor 320 may make a reception (Rx) attempt based on a specified interval value (e.g., interval i), which is a period shorter than the slave device delay (e.g., an interval less than or equal to the slave device delay). In one embodiment, the processor 320 may increase the update speed by making a reception attempt based on a specified interval value only when the corresponding event occurs. In one embodiment, the processor 320 (e.g., from the device 1020) may perform a receive (Rx) attempt at an interval less than or equal to the slave device latency to reduce power consumption under normal circumstances. In one embodiment, when a specified event is detected, the processor 320 may perform a receive attempt at an interval i to increase the update speed by replacing the slave device latency with an interval i less than or equal to the slave device latency. In one embodiment, the interval i may include a value of 0 or greater (e.g., i≥0).

[0244] At operation 1505, the processor 320 may communicate with the processor 320 by using a communication circuit (e.g., Figure 3 The communication circuit 390 in the master device 1010 sends a connection parameter request message (e.g., LL_CONNECTION_PARAM_REQ) including the connection interval and the expected change value of the slave device delay to the master device 1010. Fig.15 In the embodiment of the present invention, operation 1503 and operation 1505 can be performed sequentially, in parallel, or in reverse order.

[0245] In operation 1507, the processor 320 may receive a connection update indication message from the master device 1010 by using the communication circuit. In one embodiment, the connection update indication message may include a time value specified based on the deviation calculated by the master device 1010.

[0246] When this moment is reached, in operation 1509, the processor 320 can update the connection parameters. In one embodiment, the processor 320 can monitor the specified moment according to the moment time point included in the connection update indication message, and can update the connection parameters including the connection interval and the slave device delay when the corresponding moment is reached. The connection parameters may include various parameters related to the connection, such as the connection interval, the slave device delay and / or the timeout. In various embodiments, the connection parameter request process (or the connection parameter negotiation process) may include changing one or more connection parameters, and various connection parameters including the connection interval and the slave device delay may be updated. For example, by using the connection parameter request process, the master device 1010 may only change the connection interval, or may simultaneously change a combination of one or more connection parameters (such as the connection interval, the slave device delay and the timeout).

[0247] Fig.16a , Fig.16b , Fig.17a and Fig.17b is a diagram depicting an operation scenario according to various embodiments of the present disclosure.

[0248] exist Figures 16a to 17b In an embodiment of the present invention, the master device 1010 may be an electronic device 101 (e.g., a smart phone), and the slave device 1020 may be a digital pen 201 installable on the electronic device 101. In an embodiment, the slave device 1020 may be a device with low power capacity like the digital pen 201.

[0249] Fig.16a or Fig.16b The embodiment of FIG. 100 may illustrate a case where a connection parameter negotiation process (eg, a connection parameter update process) is initiated from device 1020. For example, in Fig.16a and Fig.16b In the example, the slave device 1020 may send a connection parameter request message. Fig.17a or Fig.17b The embodiment of FIG. 100 may illustrate a case where the master device 1010 initiates a connection parameter negotiation process (eg, a connection parameter update process). Fig.17a and Fig.17b In the process, the master device 1010 may send a connection parameter request message.

[0250] In one embodiment, when the slave device 1020 (e.g., the digital pen 201) is inserted into the master device 1010 (e.g., the electronic device 101), it can use relatively large values ​​for the connection interval and the slave device delay to reduce the power consumption used to maintain the BLE connection. In one embodiment, when the slave device 1020 is detached or separated from the master device 1010, the slave device 1020 can change the values ​​of the connection parameters including the connection interval and the slave device delay to the minimum possible values ​​to immediately transmit the user input to the master device 1010. In order to change the connection parameter values, the master device 1010 and the slave device 1020 can perform the connection parameter negotiation process as described above.

[0251] refer to Figures 16a to 17b , when the existing values ​​of the slave latency (e.g., OldSlaveLatency) and the connection interval (e.g., OldConnectionInterval) are large, it may take a relatively long time for the moment to arrive. In this case, the user's first input that occurs immediately after the digital pen 201 is removed may be delayed and transmitted to the electronic device 101.

[0252] Figures 16a to 17b The illustrated embodiment shows that when a connection parameter value is used to perform a connection parameter negotiation process between the master device 1010 and the slave device 1020, when a second specified scheme (eg, equation 1) is used (eg, Fig.16a and Fig.17b ) is different from when using the first specified scheme (e.g., Equation 2) (e.g., Fig.16b and Fig.17b ). For example, according to Fig.16a and Fig.17a The timing diagram of the embodiment of FIG. 1 indicates a case where the proposed scheme is not applied (eg, the second specified scheme based on equation 1 is applied), and according to Fig.16b and Fig.17b The timing diagram of the embodiment indicates a case where an adaptive connection update method is applied (eg, the first specified scheme based on Equation 2 is applied).

[0253] In one embodiment, Figures 16a to 17b In one embodiment, the master device 1010 and the slave device 1020 can be connected via BLE. Fig.16a and Fig.16b It may indicate a situation where the slave device 1020 sends a connection parameter request message (e.g., LL_CONNECTION_PARAM_REQ) to the master device 1010 when the slave device 1020 is detached from the master device 1010. In one embodiment, Fig.17a and Fig.17bA case where the master device 1010 sends a connection parameter request message (eg, LL_CONNECTION_PARAM_REQ) to the slave device 1020 when the slave device 1020 is detached from the master device 1010 may be indicated.

[0254] exist Figures 16a to 17b In an embodiment of the present invention, it is assumed that the existing value of the connection interval (e.g., OldConnectionInterval) is approximately '122.5ms', the existing value of the slave latency (e.g., OldSlaveLatency) is approximately 3, the existing value of the timeout is approximately 2s, and the value of the interval (e.g., Intervali) is 0. In an embodiment, the timeout may be a criterion for determining that a connection is released (or disconnected) when there is no response between the master device 1010 and the slave device 1020.

[0255] In one embodiment, when the value of the slave device latency is 3, the slave device 1020 may perform a reception (Rx) attempt every four connection events. In one embodiment, if the slave device 1020 (e.g., the digital pen 201) is detached from the master device 1010 (e.g., the electronic device 101) between the first connection event and the fourth connection event, the slave device 1020 recognizing this may send a connection parameter request message (e.g., LL_CONNECTION_PARAM_REQ) to the master device 1010 during the fifth connection event.

[0256] In one embodiment, assume that the connection parameters to be changed include a connection interval, a slave latency, and / or a timeout, and further assume that a new value of the connection interval is about 40 ms (e.g., about 122.5 ms->about 40 ms), a new value of the slave latency is about 0 (e.g., about 3->about 0), and a new value of the timeout is about 500 ms (e.g., about 2 seconds->about 500 ms). In various embodiments, when an adaptive connection update method (e.g., based on the first specified scheme of Equation 2) is applied, as Fig.16b or Fig.17b As shown, the interval i of the slave device 1020 (eg, the digital pen 201) is 0, and the slave device 1020 sends a connection parameter request message (eg, Fig.16b ) or a connection parameter response message (for example, Fig.17b ) is performed immediately after each connection event.

[0257] exist Figures 16a to 17b In the embodiment of FIG. 1 , it can be assumed that the master device 1010 sends a connection parameter request message (eg, Fig.16a and Fig.16b ) or a connection parameter response message (for example, Fig.17a and Fig.17b) immediately after sending a connection update indication message, and the x values ​​used are 0 and 6 respectively. In the illustrated embodiment, the values ​​of the time are 9 and 6 respectively, and when the adaptive connection update of the present disclosure is not applied (for example, Fig.16a or Fig.17a ) and when the adaptive connection update of the present disclosure is applied (e.g., Fig.16b or Fig.17b ), which may mean that there is a time difference of about 367.5ms for the moment to occur. In one embodiment, master device 1010 and slave device 1020 can handle the connection event after waiting for the time corresponding to the existing slave device time delay. For example, master device 1010 and slave device 1020 can be connected quickly based on the time reduced until the moment time point after waiting for the slave device time delay.

[0258] In one embodiment, when the specified event ends, the connection parameter update process can be executed again. For example, when it is detected that the slave device 1020 is inserted (or attached) into the master device 1010, or when it is detected that an application related to a specific function (e.g., using a specified function of the slave device 1020) in the master device 1010 is terminated, or when it is detected that a specific operation (e.g., a drawing function or a mouse function) in the slave device 1020 is terminated, the connection parameter update process can be re-executed.

[0259] In one embodiment, if a specific operation (e.g., a drawing function or a mouse function) is not used in the slave device 1020 for a preset time or longer, the slave device 1020 or the master device 1010 may perform the connection parameter update process again. For example, the values ​​of the connection interval, slave device delay, and / or timeout may be changed to existing values ​​(e.g., initial values).

[0260] According to various embodiments of the present disclosure, an operating method of the electronic device 101 may include: receiving a first designated message associated with a connection parameter update from an external electronic device connected via a Bluetooth Low Energy (BLE) protocol through a communication circuit; in response to receiving the first designated message, determining a designated scheme for updating the connection parameters based on properties of the external electronic device; determining a time point of a moment based on the determined designated scheme; sending a second designated message including a time point of the moment to the external electronic device; and updating the connection parameters when the time point of the moment is reached.

[0261] In various embodiments, the first designated message may include a connection parameter request message, a connection parameter response message, or a connection update request message, and the second designated message may include a connection update indication message including the determined moment in time.

[0262] In various embodiments, determining the time point of the moment may include: when the properties of the external electronic device support adaptive connection updates, determining the time point of the moment based on a first specified scheme; and when the properties of the external electronic device do not support adaptive connection updates, determining the time point of the moment based on a second specified scheme.

[0263] In various embodiments, the operation method may include: an external electronic device (e.g., electronic device 201) initiating an operation related to connection update based on sending a first specified message to the electronic device; based on initiating the operation related to connection update, the external electronic device starts receiving (Rx) based on an old connection interval and a specified interval value that is less than or equal to an old slave device delay; the external electronic device receives a second specified message including a moment time point determined by the electronic device from the electronic device; and when the moment time point is reached, the external electronic device updates the connection parameters.

[0264] While the invention has been shown and described with reference to various embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made without departing from the spirit and scope of the invention as defined by the appended claims and their equivalents.

Claims

1. An electronic device, comprising: a communication circuit configured to perform wireless communication with an external electronic device according to a Bluetooth Low Energy (BLE) protocol; at least one processor operably connected to the communication circuit; as well as A memory storing instructions, which, when executed by at least one processor, cause the electronic device to: receiving a first designated message from the external electronic device via the communication circuit, wherein the first designated message is associated with a connection parameter update, In response to receiving the first designated message, determining a property of the external electronic device, determining a time point of the moment based on the attribute of the external electronic device, sending a second designated message including the determined time point to the external electronic device, and When the time point of the moment is reached, the connection parameters are updated.

2. The electronic device according to claim 1, in, The first specified message includes a connection parameter request message, and wherein the instructions, when executed by the at least one processor, cause the electronic device to determine a specified solution based on receiving the connection parameter request message requesting to change the connection parameter, The specified scheme is a specified scheme for determining the time point of the moment.

3. The electronic device according to claim 1, in, The first specified message includes a connection parameter response message, and Wherein, when the instruction is executed by the at least one processor, the electronic device: sending a connection parameter request message to the external electronic device requesting to change the connection parameter, receiving, from the external electronic device, the connection parameter response message accepting the change of the connection parameter as a response to the connection parameter request message, and determining a designated scheme based on receiving the connection parameter response message, The specified scheme is a specified scheme for determining the time point of the moment.

4. The electronic device according to claim 1, in, The first designated message includes a connection update request message, and Wherein, when the instruction is executed by the at least one processor, the electronic device: receiving a connection update request message from the external electronic device, In response to receiving the connection update request message, sending a connection update response message to the external electronic device, sending a connection parameter request message to the external electronic device requesting to change the connection parameter, receiving the connection parameter response message as a response to the connection parameter request message from the external electronic device, and determining a designated scheme based on receiving the connection parameter response message, The specified scheme is a specified scheme for determining the time point of the moment.

5. The electronic device according to claim 1, wherein: The connection parameters include at least one of a connection interval, a slave device latency, and a timeout.

6. The electronic device according to claim 1, in, The attribute of the external electronic device includes an indication of whether adaptive connection updating is supported, and Wherein, when the instruction is executed by the at least one processor, the electronic device: In the case that the attribute of the external electronic device supports the adaptive connection update, determining a first designated scheme as a designated scheme for determining the time point of the moment, and In the case that the attribute of the external electronic device does not support the adaptive connection update, a second designated scheme is determined as a designated scheme for determining the time point of the moment, wherein the first specified scheme configures the interval for starting the reception (Rx) of the external electronic device to be a period shorter than the old slave device delay, and The second designation scheme configures an interval for starting reception (Rx) of the external electronic device based on an old slave device delay and an old connection interval.

7. The electronic device according to claim 6, in, When the instructions are executed by the at least one processor, the electronic device: Change the value of the connection interval to the first specified value, changing the value of the slave device latency to a second specified value, and processing a connection event after waiting for a period of time not including a time corresponding to a latency of the slave device, wherein the first specified value comprises a value different from an old value of the connection interval, and The second specified value includes a value different from an old value of the slave device latency.

8. The electronic device according to claim 1, wherein: The second designated message includes a connection update indication message, and the connection update indication message includes the time point of the determined moment.

9. The electronic device according to claim 1, wherein: When the instructions are executed by the at least one processor, the electronic device performs operations related to the connection parameter update based on at least an event corresponding to the external electronic device being detached from the electronic device, an event corresponding to the execution of a specific application in the electronic device, or an event corresponding to the execution of a specific operation in the external electronic device.

10. An electronic device according to any one of claims 1 to 9, wherein the electronic device further comprises a storage space into which the external electronic device is inserted.

11. An operation method performed by an electronic device, the method comprising: receiving, via the communication circuit, a first designated message from an external electronic device according to a Bluetooth Low Energy (BLE) protocol, wherein the first designated message is associated with a connection parameter update; In response to receiving the first designated message, determining a property of the external electronic device; Determining a time point of a moment based on a property of the external electronic device; sending a second designated message including the determined time point to the external electronic device; and When the time point of the moment is reached, the connection parameters are updated.

12. The operating method according to claim 11, in, The first designated message includes a connection parameter request message, a connection parameter response message or a connection update request message, and The second designated message includes a connection update indication message, and the connection update indication message includes the time point of the determined moment.