Electronic device for switching between data transmission through device-to-device communication and data transmission through external server, and operating method thereof
The electronic device optimizes data transmission by using a processor to manage device-to-device communication and server-based communication based on signal quality and time thresholds, addressing inefficiencies and delays in switching methods.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- SAMSUNG ELECTRONICS CO LTD
- Filing Date
- 2025-11-17
- Publication Date
- 2026-05-28
AI Technical Summary
The challenge lies in the inefficiencies and delays associated with switching between device-to-device communication and communication via an external server due to varying distances between electronic devices, leading to increased data transmission times and reduced quality of service, particularly in scenarios where frequent changes in distance occur.
An electronic device equipped with a processor that manages communication by establishing device-to-device connections, transmitting data portions through the device, and switching to an external server when the connection is disrupted, while monitoring signal quality and time thresholds to optimize data transmission.
This approach reduces delays and maintains data transmission efficiency by minimizing unnecessary connection establishment with external servers and ensuring seamless transitions between communication methods based on signal quality and time requirements.
Smart Images

Figure KR2025018973_28052026_PF_FP_ABST
Abstract
Description
Electronic device for switching between data transmission via inter-device communication and data transmission via an external server, and method of operation of the electronic device
[0001] The present invention relates to an electronic device and a method of operating an electronic device, and more specifically, to an electronic device that switches between data transmission via communication between devices and data transmission via an external server.
[0002] With the proliferation of various electronic devices, speed improvements have been achieved for wireless communication that these devices can use. Among the wireless communications supported by recent electronic devices, IEEE 802.11 WLAN (or Wi-Fi) is a standard for implementing high-speed wireless connections on various electronic devices. While the first implemented Wi-Fi could support transmission speeds of up to 1 to 9 Mbps, Wi-Fi 6 technology (or IEEE 802.11ax) can support transmission speeds of up to approximately 10 Gbps.
[0003] The electronic device can support various services using relatively large data (e.g., UHD quality video streaming service, AR (augmented reality) service, VR (virtual reality) service, or MR (mixed reality) service) through wireless communication that supports high transmission speeds, and can also support various other services.
[0004] An electronic device may be connected to an external electronic device via short-range wireless communication without passing through an access point (AP) defined in IEEE 802.11. The external electronic device and the electronic device may transmit and / or receive data via device-to-device (D2D) communication without passing through an AP. However, the performance of device-to-device communication may decrease as the distance between the electronic device and the external electronic device increases, and if the distance between the electronic device and the external electronic device becomes too great to perform device-to-device communication, the connection between the electronic device and the external electronic device via device-to-device communication may be terminated. If the connection with the external electronic device via device-to-device communication is terminated, the electronic device may stop transmitting and / or receiving data and transmit and / or receive data to and from the external electronic device via an external server.
[0005] If the connection with an external electronic device is disconnected through inter-device communication, the electronic device may stop data transmission and / or reception and transmit and / or receive data to and from the external electronic device via an external server. However, in order for the electronic device to transmit and / or receive data via an external server, it may be necessary to perform a procedure to establish a connection with the external server. The procedure for the electronic device to establish a connection with the external server may take time, and the time required for this procedure may increase the time required for data transmission and / or reception. An increase in the time required for data transmission and / or reception may result in a deterioration in the quality of services utilizing the data.
[0006] Furthermore, as the distance between the electronic device and the external electronic device decreases again, communication between devices may become possible again. However, even though communication between devices is possible, the electronic device may transmit data to the external electronic device via an external server. The data transmission speed via the external server may be lower than the data transmission speed via communication between devices, and the time required for data transmission may increase.
[0007] In addition, if there are frequent changes in the distance between external electronic devices and electronic devices, frequent switching between data transmission via inter-device communication and data transmission via an external server may occur. If frequent switching between data transmission via inter-device communication and data transmission via an external server occurs, the delay time due to the switching may increase, and the time required for data transmission may increase.
[0008] The technical problems to be solved in this document are not limited to those mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art to which this invention belongs from the description below.
[0009] An electronic device according to one example may include a communication circuit. The electronic device may include a memory that stores at least one computer program containing instructions. The electronic device may include at least one processor. When the instructions are executed individually or collectively by the at least one processor, the electronic device may establish device-to-device (D2D) communication with an external electronic device. When the instructions are executed individually or collectively by the at least one processor, the electronic device may transmit a portion of data to the external electronic device via the device-to-device communication. When the instructions are executed individually or collectively by the at least one processor, the electronic device may establish communication with an external server while transmitting a portion of the data to the external electronic device via the device-to-device communication. When the above instructions are executed individually or collectively by the at least one processor, the electronic device may transmit the remaining portion of the data to the external electronic device via the external server when the inter-device communication is disconnected while a portion of the data needs to be transmitted to the external electronic device. When the above instructions are executed individually or collectively by the at least one processor, the electronic device may check whether the time required to transmit the remainder of the remaining portion of the data to the external electronic device is greater than a threshold value, if possible, while the inter-device communication connection between the external electronic device and the electronic device is transmitting the remaining portion of the data to the external electronic device.When the above instructions are executed individually or collectively by the at least one processor, if the time required for the electronic device to transmit the remainder of the remaining portion of the data to the external electronic device is greater than the threshold value, the electronic device may establish communication with the external electronic device and transmit the remainder of the remaining portion of the data to the external electronic device through the communication between the devices. When the above instructions are executed individually or collectively by the at least one processor, if the time required for the electronic device to transmit the remainder of the remaining portion of the data to the external electronic device is less than the threshold value, the electronic device may transmit the remainder of the remaining portion of the data to the external electronic device through the external server.
[0010] In a recording medium storing at least one program comprising instructions that cause said electronic device to perform operations when executed individually or collectively by at least one processor of said electronic device, said instructions may cause said electronic device to establish device-to-device (D2D) communication with an external electronic device when executed individually or collectively by said at least one processor. said instructions may cause said electronic device to transmit a portion of data to said external electronic device through said device-to-device communication when executed individually or collectively by said at least one processor. said instructions may cause said electronic device to transmit the remaining portion of said data to said external electronic device through said external server when said device-to-device communication is terminated while said portion of said data is to be transmitted to said external electronic device when said individually or collectively by said at least one processor. When the above instructions are executed individually or collectively by at least one processor, the electronic device may check whether the time required to transmit the remainder of the remaining portion of the data to the external electronic device is greater than a threshold value, if possible, while the inter-device communication connection between the external electronic device and the electronic device is transmitting the remaining portion of the data to the external electronic device.When the above instructions are executed individually or collectively by the at least one processor, if the time required for the electronic device to transmit the remainder of the remaining portion of the data to the external electronic device is greater than the threshold value, the electronic device may establish communication with the external electronic device and transmit the remainder of the remaining portion of the data to the external electronic device through the communication between the devices. When the above instructions are executed individually or collectively by the at least one processor, if the time required for the electronic device to transmit the remainder of the remaining portion of the data to the external electronic device is less than the threshold value, the electronic device may transmit the remainder of the remaining portion of the data to the external electronic device through the external server.
[0011] A method of operation of an electronic device according to one example may include an operation of establishing device-to-device (D2D) communication with an external electronic device. A method of operation of an electronic device may include an operation of transmitting a portion of data to an external electronic device through said device-to-device communication. A method of operation of an electronic device may include an operation of establishing communication with an external server while transmitting a portion of the data to the external electronic device through said device-to-device communication. A method of operation of an electronic device may include an operation of transmitting the remaining portion of the data to the external electronic device through said external server if the said device-to-device communication is disconnected while the portion of the data is to be transmitted to the external electronic device. A method of operation of an electronic device may include an operation of checking whether, if possible, the time required to transmit the remainder of the remaining portion of the data to the external electronic device is greater than a threshold value while the device-to-device communication connection between the external electronic device and the electronic device is transmitting the remaining portion of the data to the external electronic device. The method of operation of the electronic device may include, when the time required to transmit the remainder of the remaining portion of the data to the external electronic device is greater than the threshold value, establishing communication between the external electronic device and the device, and transmitting the remainder of the remaining portion of the data to the external electronic device through the communication between the devices. The method of operation of the electronic device may include, when the time required to transmit the remainder of the remaining portion of the data to the external electronic device is less than the threshold value, transmitting the remainder of the remaining portion of the data to the external electronic device through the external server.
[0012] An electronic device according to one example may include a communication circuit. The electronic device may include a memory that stores at least one computer program containing instructions. The electronic device may include at least one processor. The instructions may cause the electronic device to establish device-to-device (D2D) communication with an external electronic device when executed individually or collectively by the at least one processor. The instructions may cause the electronic device to transmit a portion of data to the external electronic device through the device-to-device communication when executed individually or collectively by the at least one processor. The instructions may cause the electronic device to establish communication with an external server and transmit the remaining portion of the data to the external electronic device through the external server when the device-to-device communication is disconnected while the portion of the data is to be transmitted to the external electronic device when executed individually or collectively by the at least one processor. When the above instructions are executed individually or collectively by at least one processor, the electronic device can determine whether the time required to transmit the remainder of the remaining portion of the data to the external electronic device, where possible, is greater than a threshold value while the inter-device communication connection between the external electronic device and the electronic device is transmitting the remaining portion of the data to the external electronic device.When the above instructions are executed individually or collectively by the at least one processor, if the time required for the electronic device to transmit the remainder of the remaining portion of the data to the external electronic device is greater than the threshold value, the electronic device may establish communication with the external electronic device and transmit the remainder of the remaining portion of the data to the external electronic device through the communication between the devices. When the above instructions are executed individually or collectively by the at least one processor, if the time required for the electronic device to transmit the remainder of the remaining portion of the data to the external electronic device is less than the threshold value, the electronic device may transmit the remainder of the remaining portion of the data to the external electronic device through the external server.
[0013] An electronic device and a method of operating the electronic device according to one embodiment can check the quality of a signal received from an external electronic device while transmitting data to an external electronic device through inter-device communication. Based on confirming that the signal quality is less than or equal to a second value, the electronic device can establish a connection with an external server while transmitting data to an external electronic device through inter-device communication. The electronic device can complete the establishment of a connection with an external server, and if the signal quality is less than or equal to a first value, it can disconnect inter-device communication and / or transmit data to the external electronic device through the external server. Accordingly, the electronic device may not establish a connection with an external server after disconnecting inter-device communication, thereby preventing (or reducing) the delay time of data transmission caused by establishing a connection with an external server.
[0014] An electronic device and a method of operating the electronic device according to one embodiment may, when it is confirmed that a connection is possible through inter-device communication with the external electronic device while transmitting data to an external electronic device through an external server, compare the time required for data transmission through the external server with a specified size, and determine whether to perform a connection with the external electronic device through inter-device communication based on the comparison result. If the time required for data transmission through the external server is smaller than the specified size, the electronic device may not perform inter-device communication and may maintain the transmission of data through the external server. Accordingly, the electronic device can prevent unnecessary inter-device communication connections in situations where the time required for data transmission through the external server is small, and can prevent (or reduce) the increase in data transmission delay time caused by the time required to connect with the external electronic device through inter-device communication.
[0015] The effects obtainable from the present invention are not limited to those mentioned above, and other unmentioned effects will be clearly understood by those skilled in the art to which the present disclosure belongs from the description below.
[0016] FIG. 1 is a block diagram of an electronic device according to one embodiment.
[0017] FIG. 2a is a diagram illustrating an example in which an electronic device according to one embodiment transmits data to an external electronic device through inter-device communication.
[0018] FIG. 2b is a diagram illustrating an example in which an electronic device according to one embodiment transmits data to an external electronic device through an external server.
[0019] FIG. 3 is a block diagram of an electronic device according to one embodiment.
[0020] FIG. 4 is a diagram illustrating an example in which an electronic device according to one embodiment transmits data to an external electronic device through inter-device communication.
[0021] FIG. 5 is a diagram illustrating an example in which an electronic device according to one embodiment performs a connection with an external server while transmitting data to an external electronic device through inter-device communication.
[0022] FIG. 6 is a diagram illustrating an example in which an electronic device according to one embodiment disconnects communication between devices and transmits data to an external electronic device through an external server.
[0023] FIG. 7 is a diagram illustrating an example in which an electronic device according to one embodiment disconnects communication between devices and transmits data to an external electronic device through an external server.
[0024] FIG. 8 is a diagram illustrating an example of an electronic device according to one embodiment discovering an external electronic device while transmitting data to an external electronic device through an external server.
[0025] FIG. 9 is a diagram illustrating an example in which an electronic device according to one embodiment determines whether to perform communication between devices based on a comparison of the time required to transmit data to an external electronic device through an external server and a specified size.
[0026] FIG. 10 is a diagram illustrating an example in which an electronic device according to one embodiment disconnects from an external server while transmitting data to an external electronic device through inter-device communication.
[0027] FIG. 11 is a diagram illustrating an example in which an electronic device according to one embodiment transmits data to a plurality of external electronic devices.
[0028] FIGS. 12a, FIGS. 12b, and FIGS. 12c are drawings illustrating a user interface displayed while an electronic device according to one embodiment transmits data to an external electronic device.
[0029] FIG. 13 is an operation flowchart illustrating the operation method of an electronic device according to one embodiment.
[0030] FIGS. 14a and FIGS. 14b are operation flowcharts illustrating a method of operation of an electronic device according to one embodiment.
[0031] FIG. 15 is an operation flowchart illustrating the operation method of an electronic device according to one embodiment.
[0032] FIG. 1 is a block diagram of an exemplary electronic device (100) capable of performing the operations described in this document.
[0033] Referring to FIG. 1, the electronic device (100) may be one of various forms of electronic devices, such as a notebook (190), smartphones (191) having various form factors (e.g., a bar-type smartphone (191-1), a foldable-type smartphone (191-2), or a sliderable (or rollable)-type smartphone (191-3)), a tablet (192), a cellular phone (not shown), and other similar computing devices (not shown). The components, their relationships, and their functions illustrated in FIG. 1 are illustrative only and are not intended to limit the implementations described or claimed herein. The electronic device (100) may be referred to as a mobile device, a user device, a multifunction device, a portable device, or a server.
[0034] The electronic device (100) may include components comprising at least one processor (110) (hereinafter referred to as processor (110)), at least one memory (120) (hereinafter referred to as memory (120))11, at least one display (140) (hereinafter referred to as display (140)), at least one image sensor (150) (hereinafter referred to as image sensor (150)), at least one communication circuit (160) (hereinafter referred to as communication circuit (160)), and / or at least one sensor (170) (hereinafter referred to as sensor (170)). The components are merely exemplary. For example, the electronic device (100) may include other components (e.g., power management integrated circuitry (PMIC), audio processing circuit, antenna, rechargeable battery, or input / output interface). For example, some components may be omitted from the electronic device (100). For example, some components may be integrated into a single component.
[0035] The processor (110) may be implemented as one or more IC (integrated circuit (or circuitry)) chips and may perform various data processing operations. The processor (110) may include at least one electrical circuit and may process instructions (or programs, data, etc.) stored in memory (120) individually or collectively in a distributed manner. The processor (110) may include a processor assembly comprising one or more processing circuits. The processor (110) may include any processing circuit that is operative to control the performance and operation of one or more components of the electronic device (100) (e.g., memory (120), display (140), image sensor (150), communication circuit (160), and / or sensor (170)). For example, the processor (110) (e.g., application processor (AP)) may be implemented as a system on chip (SoC) (e.g., a single chip or chipset). For example, the processor (110) may be implemented with a plurality of cores (or at least one core circuit), a plurality of chips, or a plurality of chipsets. For example, the processor (110) may include one or more processing circuits. For example, the processor (110) may include one or more processing circuits configured to perform the various functions of the present disclosure individually and / or collectively. As an example without limitation, at least a portion of the processor (110) may be included in a first chip of the electronic device (100), and at least another portion of the processor (110) may be included in a second chip of the electronic device (100) different from the first chip of the electronic device (100).
[0036] For example, the processor (110) may include a central processing unit (111), a graphics processing unit (112), a neural processing unit (113), an image signal processor (114), a display controller (115), a memory controller (116), a storage controller (117), a communication processor (118), and / or a sensor interface (119). These components of the processor (110) are merely exemplary. For example, the processor (110) may include other components. For example, some components of the processor (110) may be omitted from the processor (110). For example, some components of the processor (110) may be included as separate components of the electronic device (100) outside of the processor (110). For example, some components of the processor (110) (e.g., memory controller (116)) may be included in other components (e.g., at least part of memory (120), an interface (e.g. available for connection to at least one component of the electronic device (100)), a display (140) and / or an image sensor (150)).
[0037] The processor (110) may cause other components of the electronic device (100) to perform various operations by executing instructions stored in memory (120). The CPU (111) (or central processing circuit) may be configured to control the components of the processor (110) based on the execution of instructions stored in memory (120) (e.g., volatile memory (121) and / or non-volatile memory (122)). The GPU (112) (or graphics processing circuit) may be configured to execute parallel operations (e.g., rendering). The NPU (113) (or neural processing circuit, or AI (artificial intelligence) chip) may be configured to execute operations for an artificial intelligence model (e.g., convolution computation). An ISP (114) (or image signal processing circuit) may be configured to process a raw image acquired through an image sensor (150) into a format suitable for a component within the electronic device (100) or a component of the processor (110). A display controller (115) (or display control circuit, or DPU (display processing unit)) may be configured to process an image acquired from a CPU (111), GPU (112), ISP (114), or memory (120) (e.g., volatile memory (121)) into a format suitable for a display (140). A memory controller (116) (or memory control circuit) may be configured to control reading data from the volatile memory (121) and writing data to the volatile memory (121). A storage controller (117) (or storage control circuit) may be configured to control reading data from the non-volatile memory (122) and writing data to the non-volatile memory (122).The CP (118) (communication processing circuit) may be configured to process data obtained from a component of the processor (110) into a format suitable for transmitting to another electronic device via the communication circuit (160), or to process data obtained from another electronic device via the communication circuit (160) into a format suitable for processing by the component of the processor (110). For example, the communication circuit (160) may include one or more communication circuits. The sensor interface (119) (or sensing data processing circuit, sensor hub) may be configured to process data regarding the state of the electronic device (100) and / or the state around the electronic device (100), obtained through the sensor (170), into a format suitable for the component of the processor (110).
[0038] Memory (120) may include one or more storage media (or one or more storage devices). For example, memory (120) may include a memory assembly comprising one or more storage media. For example, the one or more storage media may include a hard drive, a permanent memory such as flash memory, read-only memory (ROM) (e.g., non-volatile memory (122)), a semi-permanent memory such as random access memory (RAM) (e.g., volatile memory (121)), any other suitable type of storage (or storage assembly), or any combination thereof. Memory (120) may include a cache memory, which is one or more different types of memory used to temporarily store data for a function or feature of the electronic device (100). As an example not limited to, the cache memory may be included within the processor (110). The memory (120) may be fixedly embedded within the electronic device (100) or incorporated into one or more suitable types of components (e.g., a SIM (subscriber identity module) card and / or an SD (secure digital) card) that can be repeatedly inserted into and removed from the electronic device (100).
[0039] For example, memory (120) may store one or more software applications, such as operating system (or system) software applications, firmware software applications, driver software applications, plugin (e.g., add-in, add-on, and / or applet) software applications, and / or any other suitable software applications. For example, the one or more software applications may include instructions executable by the processor (110). For example, memory (120) may store instructions that can be called by an application programming interface (API). For example, memory (120) may store instructions within a library.
[0040] FIG. 2a is a diagram illustrating an example in which an electronic device according to one embodiment transmits data to an external electronic device through inter-device communication.
[0041] Referring to FIG. 2a, an electronic device (e.g., the electronic device (100) of FIG. 1) can be connected to an external electronic device (220) via short-range wireless communication. According to one example, short-range wireless communication may refer to a wireless local area network (WLAN) as defined in the IEEE 802.11 standard.
[0042] An electronic device (100) and an external electronic device (220) that support short-range wireless communication can be directly connected without passing through an access point (AP). According to one example, the electronic device (100) and the external electronic device (220) can perform short-range wireless communication by being connected through device-to-device communication. For example, device-to-device communication may include Wi-Fi Direct, Wi-Fi Aware (or Neighbor Awareness Network (NAN)) as defined in IEEE 802.11. The electronic device (100) can be connected through device-to-device communication with an external electronic device (220) that exists within the coverage (210) of the device-to-device communication performed by the electronic device (100).
[0043] The electronic device (100) and / or external electronic device (220) can transmit and / or receive data through inter-device communication. According to one example, the electronic device (100) can be connected to the external electronic device (220) through inter-device communication and can transmit data to the external electronic device (220) through inter-device communication, depending on the execution of an application (e.g., Quick share, Nearshare) that shares data (e.g., content (e.g., music, still image, video), file, and / or document).
[0044] The electronic device (100) and / or external electronic device (220) may be portable communication devices that are not located in a fixed position and are movable. The distance between the electronic device (100) and / or external electronic device (220) may vary, and a change in the distance between the electronic device (100) and / or external electronic device (220) may affect the performance of communication between devices. According to one example, if the distance between the electronic device (100) and / or external electronic device (220) increases, the performance of communication between devices may be degraded (or deteriorated).
[0045] FIG. 2b is a diagram illustrating an example in which an electronic device according to one embodiment transmits data to an external electronic device through an external server.
[0046] An electronic device (e.g., the electronic device (100) of FIG. 1) and / or an external electronic device (220) can transmit and / or receive data through inter-device communication. The external electronic device (220) may be outside the coverage (210) of inter-device communication performed by the electronic device (100) as the distance between the electronic device (100) and / or the external electronic device (220) changes. Alternatively, the external electronic device (220) may be located (or positioned, located) outside the coverage (210) of inter-device communication performed by the electronic device (100). If the external electronic device (220) is located outside the coverage (210) of inter-device communication performed by the electronic device (100), the connection between the electronic device (100) and the external electronic device (220) may be disconnected.
[0047] As the electronic device (100) disconnects the inter-device communication connection between the electronic device (100) and the external electronic device (220), the performance of data transmission through inter-device communication may be terminated. As the data transmission through inter-device communication is terminated, the electronic device (100) may transmit some of the data to the external electronic device (220) via the external server (230).
[0048] The external server (230) may be a server that performs the role of relaying data transmission and / or reception between the electronic device (100) and the external electronic device (220). The external server (230) may receive data from the electronic device (100) and transmit the received data to the external electronic device (220). According to one example, the external server (230) may be referred to as a cloud server or a relay server. The external server (230) may be a server operated by the manufacturer of the electronic device (100) and / or the external electronic device (220), but may also be a server operated by an entity (or a third party) different from the manufacturer of the electronic device (100) and / or the external electronic device (220).
[0049] Referring to the example described above, the electronic device (100) can perform data transmission again through the external server (230) as the device-to-device connection with the external electronic device (220) is disconnected. However, the process of the electronic device (100) and / or the external electronic device (220) establishing (or setting) a connection with the external server (230) may increase the delay time.
[0050] Furthermore, as the distance between the external electronic device (220) and the electronic device (100) decreases again, inter-device communication between the external electronic device (220) and the electronic device (100) may be possible again. However, the electronic device (100) may transmit data to the external electronic device (220) through the external server (230) even though inter-device communication is possible. The speed of data transmission through the external server (230) may be lower than the speed of data transmission through inter-device communication, and the time required for data transmission may increase.
[0051] Additionally, if there is a frequent change in the distance between the external electronic device (220) and the electronic device (100), the switching between data transmission via communication between devices and data transmission via the external server (230) may occur frequently. If the switching between data transmission via communication between devices and data transmission via the external server (230) occurs frequently, the delay time due to the switching may increase, and the time required for data transmission may increase.
[0052] Below, an example of data transmission of an electronic device (100) for preventing (or reducing) the above phenomenon is described.
[0053] FIG. 3 is a block diagram of an electronic device according to one embodiment.
[0054] Referring to FIG. 3, an electronic device (e.g., the electronic device (100) of FIG. 1) may include a communication circuit (310) (e.g., the communication circuit (160) of FIG. 1), a processor (320) (e.g., the processor (110) of FIG. 1) and / or a memory (330) (e.g., the memory (120) of FIG. 1).
[0055] The communication circuit (310) may be a communication circuit that supports short-range wireless communication. The short-range wireless communication may include various short-range wireless communications that the electronic device (100) can support. For example, the short-range wireless communication may be Wi-Fi.
[0056] The communication circuit (310) may include various circuit structures used for modulating and / or demodulating a signal within the electronic device (100). For example, the communication circuit (310) may modulate a baseband signal into a radio frequency (RF) band signal to be output through at least one of a plurality of antennas (not shown), or demodulate an RF band signal received through at least one antenna into a baseband signal and transmit it to a processor (320).
[0057] A processor (320) may be electrically or operationally connected to a communication circuit (310) to control the communication circuit (310). The processor (320) may include at least one processor, and at least one processor may perform the following operations individually or collectively. The processor (320) may be the processor (110) shown in FIG. 1. Alternatively, the processor (320) may be a processor implemented inside the communication circuit (310), and if the processor (320) is implemented inside the communication circuit (310), it may be referred to as a core.
[0058] The memory (330) can store instructions that can be executed by the processor (320). The operation of the processor (320) described below can be performed according to the execution of the instructions stored in the memory (330).
[0059] The processor (320) can control the communication circuit (310) to discover an external electronic device (e.g., external electronic device (220) of FIG. 2a) for sharing data, depending on the execution of an application (e.g., Quick share, Nearshare) that shares data (e.g., content (e.g., music, still image, video), file, and / or document). If the processor (320) succeeds in discovering an external electronic device (220) to receive data, it can perform a connection procedure through device-to-device (D2D) communication with the external electronic device (220). Device-to-device communication may refer to a communication method in which the electronic device (100) and the external electronic device (220) are directly connected without passing through an access point (AP). For example, device-to-device communication may include any one of Wi-Fi Direct, Wi-Fi Aware (or NAN (neighbor awareness networking)), or Bluetooth.
[0060] If an external electronic device (220) is located within the coverage of inter-device communication provided by the electronic device (100) (e.g., coverage (210) of FIG. 2a), the electronic device (100) and the external electronic device (220) may be connected via inter-device communication. The coverage of inter-device communication (210) provided by the electronic device (100) may be an area related to the quality required by the service performed by the electronic device (100) and the external electronic device (220) using inter-device communication. According to one example, the coverage (210) may refer to an area where the quality of the signal received from the external electronic device (220) is greater than or equal to a first value (or a first range).
[0061] The processor (320) can control the communication circuit (310) to connect with the external electronic device (220) via device-to-device communication and to transmit a portion of the data to the external electronic device (220) via device-to-device communication. The portion of the data may refer to data transmitted to the external electronic device (220) via device-to-device communication prior to performing data transmission via the external server (e.g., the external server (230) of FIG. 2B) described below.
[0062] The processor (320) can transmit the remaining portion of the data to the external electronic device (220) via the external server (230) when the connection between the external electronic device (220) and the device is disconnected.
[0063] As the distance between the electronic device (100) and the external electronic device (220) increases, the quality of the signal received from the external electronic device (220) may decrease. The processor (320) may transmit a signal (e.g., a keep-alive signal) to the external electronic device (220) at specified intervals as it is connected to the external electronic device (220) through inter-device communication. When the external electronic device (220) is connected through inter-device communication, the external electronic device (220) may transmit a response signal to the electronic device (100). Based on receiving the response signal from the external electronic device (220), the processor (320) may confirm (or determine) that it is connected to the external electronic device (220) through inter-device communication. As the distance between the electronic device (100) and the external electronic device (220) increases, the external electronic device (220) may not receive the signal transmitted by the electronic device (100) and may not transmit the response signal either. If the processor (320) does not receive a response signal from the external electronic device (220) within a specified time after the transmission of a signal, it may determine that the external electronic device (220) has moved out of the coverage (210) of inter-device communication provided by the electronic device (100). If the processor (320) does not receive a response signal, it may determine that the inter-device connection between the external electronic device (220) and the electronic device (100) has been disconnected and establish a connection with the external server (230). The processor (320) may transmit the remaining portion of the data to the external electronic device (220) through the connection between the external server (230) and the electronic device (100).
[0064] The processor (320) can receive a signal (e.g., a keep-alive signal) from the external electronic device (220) at specified intervals as it is connected to the external electronic device (220) through inter-device communication. If the processor (320) does not receive a signal from the external electronic device (220), it determines that the inter-device connection between the external electronic device (220) and the electronic device (100) has been disconnected and can establish a connection with the external server (230). The processor (320) can transmit the remaining portion of the data to the external electronic device (220) through the connection between the external server (230) and the electronic device (100).
[0065] According to another example, as the distance between the electronic device (100) and the external electronic device (220) increases, the quality of the signal received from the external electronic device (220) may decrease. As the distance between the electronic device (100) and the external electronic device (220) increases, if the quality of the signal received from the external electronic device (220) is less than (or lower than) a first value, the external electronic device (220) may be determined to be outside the coverage (210) of inter-device communication provided by the electronic device (100). The processor (320) checks whether the signal received from the external electronic device (220) is less than the first value, and based on whether the signal received from the external electronic device (220) is less than the first value, the inter-device connection between the electronic device (100) and the external electronic device (220) may be disconnected and / or the remaining portion of the data may be transmitted to the external electronic device (220) via an external server (230).
[0066] The processor (320) can check (or monitor) the quality of a signal received from an external electronic device (220) and determine whether the quality of the signal received from the external electronic device (220) is less than (or less than) a second value (or a second range). The second value may refer to a value greater than the first value. If the processor (320) determines that the quality of the signal received from the external electronic device (220) is less than (or less than) the second value, it can establish a connection between the external server (230) and the electronic device (100). The connection between the external server (230) and the electronic device (100) can be implemented in various ways. According to one example, the processor (320) can establish a connection between the external server (230) and the electronic device (100) via a cellular network. According to another example, the processor (320) may establish a connection between an external server (230) and an electronic device (100) via short-range wireless communication. While establishing a connection between the electronic device (100) and the external server (230), the processor (320) may request (or control) the external electronic device (220) to establish a connection between the external electronic device (220) and the external server (230).
[0067] The processor (320) can establish a connection between the electronic device (100) and the external server (230) while maintaining inter-device communication between the electronic device (100) and the external electronic device (220) (or while transmitting data to the external electronic device (220) via inter-device communication). The second value is a value greater than the first value, and if the quality of the signal received by the electronic device (100) is greater than or equal to the first value and less than or equal to the second value, the external electronic device (220) may be referred to as existing within the coverage (210) of inter-device communication provided by the electronic device (100). The procedure for establishing a connection between the electronic device (100) and the external server (230) may cause a large delay, and the processor (320) can prevent (or reduce) the increase in the time required for data transmission caused by the procedure for establishing a connection between the electronic device (100) and the external server (230) by completing the connection between the electronic device (100) and the external server (230) before the connection of inter-device communication between the electronic device (100) and the external electronic device (220) is released.
[0068] According to another example, the processor (320) can establish a connection between the electronic device (100) and the external server (230) as the inter-device communication between the electronic device (100) and the external electronic device (220) is released. As the processor (320) completes the connection between the electronic device (100) and the external server (230), it can transmit the remaining portion of the data to the external electronic device (220) through the external server (230).
[0069] The processor (320) may, based on confirming that the quality of the signal received from the external electronic device (220) is less than (or lower than) a first value, disable inter-device communication between the electronic device (100) and the external electronic device (220) and transmit the remaining portion of the data to the external electronic device (220) through the external server (230). The remaining portion of the data may refer to the portion of data transmitted through the external server (230) after a portion of the data has been transmitted to the external electronic device (220) through inter-device communication.
[0070] The processor (320) may receive a signal from the external electronic device (220) while transmitting the remaining portion of the data to the external electronic device (220) via the external server (230). The processor (320) may receive a signal from the external electronic device (220) even though the inter-device connection between the electronic device (100) and the external electronic device (220) has been disconnected. The processor (320) may discover the external electronic device (220) while checking (or monitoring) the quality of the signal received from the external electronic device (220). The discovery of the external electronic device (220) may be performed via various short-range wireless communication. According to one example, the processor (320) may discover the external electronic device (220) using Wi-Fi. For example, the processor (320) can discover the external electronic device (220) by checking whether it has received a probe request message or a beacon message transmitted by the external electronic device (220). According to one example, the processor (320) can discover the external electronic device (220) using Bluetooth or BLE (Bluetooth low energy). For example, the processor (320) can discover the external electronic device (220) by checking whether it has received an advised message transmitted by the external electronic device (220).
[0071] The processor (320) may search for an external electronic device (220) until it confirms that the quality of the signal received from the external electronic device (220) is less than (or lower than) a third value. The third value may be smaller than the first value and the second value. If the quality of the signal received from the external electronic device (220) is less than (or lower than) the third value, the processor (320) may terminate the operation of searching for the external electronic device (220). However, even if the processor (320) terminates the operation of searching for the external electronic device (220), it may perform the operation of searching for an external electronic device that can be connected via device-to-device communication at specified intervals.
[0072] While the electronic device (100) transmits the remaining portion of data through the external server (230), the distance between the external electronic device (220) and the electronic device (100) may be reduced. As the distance between the external electronic device (220) and the electronic device (100) is reduced, when the electronic device (100) receives a signal transmitted by the external electronic device (220), the quality of the signal may be greater than or equal to a third value.
[0073] The processor (320) can determine whether the external electronic device (220) and the electronic device (100) can be connected via inter-device communication. According to one example, the processor (320) can control the communication circuit (310) to transmit (or broadcast) a signal for the connection of inter-device communication. The processor (320) can confirm (or determine, judge) that the external electronic device (220) and the electronic device (100) can communicate with each other by receiving a response signal from the external electronic device (220) that corresponds to the signal for the inter-device connection.
[0074] The processor (320) can select (or determine) a communication method to be used to transmit the remainder of the remaining portion of the data to the external electronic device (220) when the external electronic device (220) and the electronic device (100) can be connected via inter-device communication.
[0075] According to one example, the processor (320) can determine the time required (or expected time) to transmit the remainder of the remaining portion of data to the external electronic device (220) via the external server (230). For example, the processor (320) can determine the time required (or expected time) to transmit the remainder of the remaining portion of data to the external electronic device (220) via the external server (230) based on the transmission speed of the data transmitted via the external server (230) and the size of the portion of data that the external electronic device (220) has not yet received. The processor (320) can compare the time required to transmit the remainder of the remaining portion of data to the external electronic device (220) via the external server (230) with a specified size, and based on the result of the comparison, select (or determine) a communication method to be used to transmit the remainder of the remaining portion of data to the external electronic device (220).
[0076] According to one example, the processor (320) may transmit the remainder of the remainder of the data to the external electronic device (220) through the external server (230) if the time required to transmit the remainder of the remaining portion of the data to the external electronic device (220) through the external server (230) is less than (or less than) a specified size. Alternatively, the processor (320) may maintain the operation of transmitting the remainder of the remaining portion of the data to the external electronic device (220) through the external server (230) if the time required to transmit the remainder of the remaining portion of the data to the external electronic device (220) through the external server (230) is less than (or less than) a specified size. If the time required to transmit the remainder of the remaining portion of the data to the external electronic device (220) via the external server (230) is less than (or less than) a specified size, transmitting the remainder of the remaining portion of the data to the external electronic device (220) via the external server (230) can achieve faster transmission completion compared to transmitting it to the external electronic device (220) via inter-device communication, and thus, the processor (320) can maintain the operation of transmitting the remainder of the remaining portion of the data to the external electronic device (220) via the external server (230).
[0077] According to one example, the processor (320) may transmit the remainder of the remaining portion of data to the external electronic device (220) via inter-device communication if the time required to transmit the remainder of the remaining portion of data to the external electronic device (220) via the external server (230) is greater than (or exceeds) a specified size. A situation in which the time required to transmit the remainder of the remaining portion of data to the external electronic device (220) via the external server (230) is greater than (or exceeds) a specified size may refer to a situation in which the time required to transmit the remainder of the remaining portion of data to the external electronic device (220) via the external server (230) is greater than the sum of the time required to establish inter-device communication between the electronic device (100) and the external electronic device (220) and the time required to transmit the remainder of the remaining portion of data via inter-device communication between the electronic device (100) and the external electronic device (220). Accordingly, the processor (320) can reduce the time required for data transmission by transmitting the remainder of the remaining part of the data through inter-device communication.
[0078] According to one example, the specified size may be a size set by the manufacturer of the electronic device (100).
[0079] According to one example, the specified size may be a size set based on the time required for the electronic device (100) and the external electronic device (220) to establish communication between devices and the time required to transmit the remainder of the remaining data through communication between devices.
[0080] The processor (320) may control the communication circuit (310) to establish device-to-device communication with the external electronic device (220) based on the decision to transmit the remainder of the remaining part of the data to the external electronic device (220) via device-to-device communication. In establishing device-to-device communication with the external electronic device (220), the processor (320) may perform a search of the external electronic device (220) before the quality of the signal received from the external electronic device (220) reaches a first value or higher. When the quality of the signal received from the external electronic device (220) is greater than the first value, the processor (320) may establish device-to-device communication with the external electronic device (220) based on the search result. Alternatively, the processor (320) may establish device-to-device communication with the external electronic device (220) upon receiving a specific signal from the external electronic device (220) (e.g., a response signal corresponding to a signal requesting a connection for device-to-device communication). After the inter-device communication is established, the processor (320) can transmit the remainder of the remaining data to an external electronic device (220) through the inter-device communication.
[0081] The processor (320) may maintain a connection with an external server (230) while transmitting the remainder of the remaining data to an external electronic device (220) via inter-device communication. The connection with the external server (230) is intended to prevent (or reduce) the increase in the time required for data transmission caused by the time required to establish a connection with the external server (230), taking into account situations where the remainder of the remaining data must be transmitted through the external server (230) when the external electronic device (220) is out of the coverage (210) of inter-device communication provided by the electronic device (210).
[0082] The processor (320) may disconnect the connection with the external server (230) based on confirming that the quality of the signal received from the external electronic device (220) is greater than (or exceeds) the second value while transmitting the remainder of the remaining part of the data to the external electronic device (220) through inter-device communication.
[0083] The processor (320) may transmit a signal to the external electronic device (220) at specified intervals while transmitting the remainder of the remaining portion of data to the external electronic device (220) through inter-device communication, and may also transmit the remainder of the remaining portion of data back to the external electronic device (220) through a maintained connection with the external server (230) based on the failure to receive a response signal corresponding to the signal from the external electronic device.
[0084] FIG. 4 is a diagram illustrating an example in which an electronic device according to one embodiment transmits data to an external electronic device through inter-device communication.
[0085] An electronic device (100) can control a communication circuit (310) to discover an external electronic device (e.g., external electronic device (220) of FIG. 2a) for sharing data, depending on the execution of an application (e.g., Quick share, Nearshare) that shares data (e.g., content (e.g., music, still image, video), file, and / or document). If the electronic device (100) succeeds in discovering an external electronic device (220) to receive data, it can perform a connection procedure through device-to-device (D2D) communication with the external electronic device (220). Device-to-device communication may refer to a communication method in which the electronic device (100) and the external electronic device (220) are directly connected without passing through an access point (AP). For example, device-to-device communication may include any one of Wi-Fi Direct, Wi-Fi Aware (or NAN (neighbor awareness networking)), or Bluetooth.
[0086] If an external electronic device (220) is located within the coverage of inter-device communication provided by the electronic device (100) (e.g., coverage (210) of FIG. 2a), the electronic device (100) and the external electronic device (220) may be connected via inter-device communication. The coverage of inter-device communication (210) provided by the electronic device (100) may be an area related to the quality required by the service performed by the electronic device (100) and the external electronic device (220) using inter-device communication. According to one example, the coverage (210) may refer to an area where the quality of the signal received from the external electronic device (220) is greater than or equal to a first value (or a first range).
[0087] The electronic device (100) may set a margin area to prevent frequent switching between data transmission via communication between devices and data transmission via an external server (e.g., the external server (230) of FIG. 2b). The margin area may refer to an area between a portion (410) where the quality of the signal received from the external electronic device (220) corresponds to a second value (or a second range) and a portion (420) where the quality of the signal received from the external electronic device (220) corresponds to a third value (or a third range). An example of the case where the external electronic device (220) is in the margin area will be described later in FIGS. 5 to 10.
[0088] The electronic device (100) can control the communication circuit (310) to be connected to the external electronic device (220) via device-to-device communication and to transmit a portion of the data to the external electronic device (220) via device-to-device communication. The portion of the data may refer to data transmitted to the external electronic device (220) via device-to-device communication prior to performing data transmission via the external server (e.g., the external server (230) of FIG. 2B) described below.
[0089] FIG. 5 is a diagram illustrating an example in which an electronic device according to one embodiment performs a connection with an external server while transmitting data to an external electronic device through inter-device communication.
[0090] As the distance between the electronic device (100) and the external electronic device (220) increases, the quality of the signal received from the external electronic device (220) may decrease. As the electronic device (100) is connected to the external electronic device (220) via inter-device communication, it may transmit a signal (e.g., a keep-alive signal) to the external electronic device (220) at specified intervals. When the external electronic device (220) is connected via inter-device communication, the external electronic device (220) may transmit a response signal to the electronic device (100). Based on receiving the response signal from the external electronic device (220), the electronic device (100) may confirm (or determine) that it is connected to the external electronic device (220) via inter-device communication. As the distance between the electronic device (100) and the external electronic device (220) increases, the external electronic device (220) may not receive the signal transmitted by the electronic device (100) and may not transmit the response signal either. If the processor (320) does not receive a response signal from the external electronic device (220) within a specified time after the transmission of a signal, it may determine that the external electronic device (220) has moved out of the coverage (210) of inter-device communication provided by the electronic device (100). If the electronic device (100) does not receive a response signal, it may determine that the inter-device connection between the external electronic device (220) and the electronic device (100) has been disconnected, and may transmit the remaining portion of the data to the external electronic device (220) through the connection between the external server (230) and the electronic device (100).
[0091] According to another example, as the distance between the electronic device (100) and the external electronic device (220) increases, the quality of the signal received from the external electronic device (220) may decrease. As the distance between the electronic device (100) and the external electronic device (220) increases, if the quality of the signal received from the external electronic device (220) is less than (or lower than) a first value, the external electronic device (220) may be determined to be outside the coverage (210) of inter-device communication provided by the electronic device (100). The electronic device (100) may check whether the signal received from the external electronic device (220) is less than the first value, and based on whether the signal received from the external electronic device (220) is less than the first value, disconnect the inter-device connection between the electronic device (100) and the external electronic device (220) and / or transmit the remaining portion of the data to the external electronic device (220) through an external server (230).
[0092] The electronic device (100) can check (or monitor) the quality of a signal received from an external electronic device (220) and check whether the quality of the signal received from the external electronic device (220) is less than a second value (or a second range). The second value may refer to a value greater than the first value, and the quality of the signal received from the external electronic device (220) being greater than the first value but less than the second value may refer to the external electronic device (220) being within the coverage (210) of inter-device communication provided by the electronic device (100) but being outside the part (410) corresponding to the signal having the second value.
[0093] The electronic device (100) may establish a connection between the external server (230) and the electronic device (100) when it determines that the quality of the signal received from the external electronic device (220) is less than (or lower than) a second value. The connection between the external server (230) and the electronic device (100) may be implemented in various ways. According to one example, the electronic device (100) may establish a connection between the external server (230) and the electronic device (100) via a cellular network. According to another example, the electronic device (100) may establish a connection between the external server (230) and the electronic device (100) via short-range wireless communication. While establishing a connection between the electronic device (100) and the external server (230), the electronic device (100) may request (or control) the external electronic device (220) to establish a connection between the external electronic device (220) and the external server (230).
[0094] The electronic device (100) can establish a connection between the electronic device (100) and an external server (230) while maintaining inter-device communication between the electronic device (100) and an external electronic device (220) (or while transmitting data to the external electronic device (220) via inter-device communication). The procedure for establishing a connection between the electronic device (100) and the external server (230) may cause a large delay time, and the electronic device (100) can prevent (or reduce) the increase in the time required for data transmission caused by the procedure for establishing a connection between the electronic device (100) and the external server (230) by completing the connection between the electronic device (100) and the external server (230) before the inter-device communication between the electronic device (100) and the external electronic device (220) is disconnected.
[0095] FIG. 6 is a diagram illustrating an example in which an electronic device according to one embodiment disconnects communication between devices and transmits data to an external electronic device through an external server.
[0096] The electronic device (100) may, based on confirming that the quality of the signal received from the external electronic device (220) is less than (or lower than) a first value, disable inter-device communication between the electronic device (100) and the external electronic device (220) and transmit the remaining portion of the data to the external electronic device (220) through the external server (230). The remaining portion of the data may refer to the portion of data transmitted through the external server (230) after a portion of the data has been transmitted to the external electronic device (220) through inter-device communication.
[0097] The electronic device (100) may receive a signal from the external electronic device (220) while transmitting the remaining portion of the data to the external electronic device (220) via the external server (230). The electronic device (100) may receive a signal from the external electronic device (220) even though the device-to-device connection between the electronic device (100) and the external electronic device (220) has been disconnected. The electronic device (100) may discover the external electronic device (220) while checking (or monitoring) the quality of the signal received from the external electronic device (220). The discovery of the external electronic device (220) may be performed via various short-range wireless communication. According to one example, the electronic device (100) may discover the external electronic device (220) using Wi-Fi. For example, the electronic device (100) can discover the external electronic device (220) by checking whether it has received a probe request message or a beacon message transmitted by the external electronic device (220). According to one example, the electronic device (100) can discover the external electronic device (220) using Bluetooth or BLE. For example, the electronic device (100) can discover the external electronic device (220) by checking whether it has received an advised message transmitted by the external electronic device (220).
[0098] The electronic device (100) may search the external electronic device (220) until it confirms that the quality of the signal received from the external electronic device (220) is less than (or less than) a third value. The third value may be smaller than the first value and the second value. A situation in which the quality of the signal received from the external electronic device (220) is smaller than the second value but greater than the third value may refer to the external electronic device (220) existing between the part (210) corresponding to the quality of the signal having the first value and the part (420) corresponding to the quality of the signal having the third value.
[0099] FIG. 7 is a diagram illustrating an example in which an electronic device according to one embodiment disconnects communication between devices and transmits data to an external electronic device through an external server.
[0100] The electronic device (100) may terminate the operation of searching for the external electronic device (220) if the quality of the signal received from the external electronic device (220) is less than (or lower than) the third value.
[0101] A situation in which the quality of a signal received from an external electronic device (220) is less than (or lower than) a third value may refer to the external electronic device (220) existing outside the part (420) corresponding to the quality of the signal having a third value.
[0102] The electronic device (100) can transmit the remaining portion of the data to an external electronic device (220) through an external server (230).
[0103] FIG. 8 is a diagram illustrating an example of an electronic device according to one embodiment discovering an external electronic device while transmitting data to an external electronic device through an external server.
[0104] Referring to FIG. 8, an external electronic device (220) may exist between a coverage (210) corresponding to a signal having a quality of a first value and a portion (420) corresponding to a signal having a third value.
[0105] While the electronic device (100) transmits the remaining portion of data through the external server (230), the distance between the external electronic device (220) and the electronic device (100) may decrease. As the distance between the external electronic device (220) and the electronic device (100) decreases, when the electronic device (100) receives a signal transmitted by the external electronic device (220), the quality of the signal may be greater than or equal to a third value. A situation in which the quality of the signal received from the external electronic device (220) is greater than or equal to a third value may refer to the external electronic device (220) existing within a portion (420) corresponding to the quality of the signal having the third value. Referring to FIG. 8, the external electronic device (220) is shown existing between the portion (420) corresponding to the quality of the signal having the third value and the coverage (210) corresponding to the quality of the signal having the first value.
[0106] The electronic device (100) can determine whether the external electronic device (220) and the electronic device (100) can be connected via communication between devices. However, the electronic device (100) can determine that the quality of the signal received from the external electronic device (220) is less than (or lower than) a first value and that it cannot be connected via communication between devices.
[0107] FIG. 9 is a diagram illustrating an example in which an electronic device according to one embodiment determines whether to perform communication between devices based on a comparison of the time required to transmit data to an external electronic device through an external server and a specified size.
[0108] Referring to FIG. 9, an external electronic device (220) may exist between a coverage (210) corresponding to a signal having a quality of a first value and a portion (410) corresponding to a signal having a second value.
[0109] The electronic device (100) can determine whether the external electronic device (220) and the electronic device (100) can be connected via device-to-device communication. According to one example, the electronic device (100) can determine (or decide, judge) that the external electronic device (220) and the electronic device (100) can communicate via device-to-device communication based on confirming that the quality of the signal transmitted by the external electronic device (220) is greater than (or exceeds) a first value. Alternatively, the electronic device (100) can determine that the external electronic device (220) and the electronic device (100) can communicate via device-to-device communication by receiving a specific signal from the external electronic device (220) (e.g., a response signal corresponding to a signal requesting a connection for device-to-device communication).
[0110] The electronic device (100) can select (or determine) a communication method to be used to transmit the remainder of the remaining portion of the data to the external electronic device (220) when the external electronic device (220) and the electronic device (100) can be connected through inter-device communication.
[0111] According to one example, the electronic device (100) can determine the time required (or expected time) to transmit the remainder of the remaining portion of data to the external electronic device (220) via the external server (230). For example, the electronic device (100) can determine the time required (or expected time) to transmit the remainder of the remaining portion of data to the external electronic device (220) via the external server (230) based on the transmission speed of the data transmitted via the external server (230) and the size of the portion of data that the external electronic device (220) has not yet received. The electronic device (100) can compare the time required to transmit the remainder of the remaining portion of data to the external electronic device (220) via the external server (230) with a specified size, and based on the result of the comparison, select (or determine) a communication method to be used to transmit the remainder of the remaining portion of data to the external electronic device (220).
[0112] According to one example, the electronic device (100) may transmit the remainder of the remaining portion of the data to the external electronic device (220) through the external server (230) if the time required to transmit the remainder of the remaining portion of the data to the external electronic device (220) through the external server (230) is less than (or less than) a specified size. Alternatively, the electronic device (100) may maintain the operation of transmitting the remainder of the remaining portion of the data to the external electronic device (220) through the external server (230) if the time required to transmit the remainder of the remaining portion of the data to the external electronic device (220) through the external server (230) is less than (or less than) a specified size. If the time required to transmit the remainder of the remaining portion of the data to the external electronic device (220) via the external server (230) is less than (or less than) a specified size, transmitting the remainder of the remaining portion of the data to the external electronic device (220) via the external server (230) can achieve faster transmission completion compared to transmitting it to the external electronic device (220) via inter-device communication, and thus the electronic device (100) can maintain the operation of transmitting the remainder of the remaining portion of the data to the external electronic device (220) via the external server (230).
[0113] According to one example, the electronic device (100) may transmit the remainder of the remaining portion of data to the external electronic device (220) via inter-device communication if the time required to transmit the remainder of the remaining portion of data to the external electronic device (220) via the external server (230) is greater than (or exceeds) a specified size. The situation in which the time required to transmit the remainder of the remaining portion of data to the external electronic device (220) via the external server (230) is greater than (or exceeds) a specified size may refer to a situation in which the time required to transmit the remainder of the remaining portion of data to the external electronic device (220) via the external server (230) is greater than the sum of the time required to establish inter-device communication between the electronic device (100) and the external electronic device (220) and the time required to transmit the remainder of the remaining portion of data via inter-device communication between the electronic device (100) and the external electronic device (220). Accordingly, the electronic device (100) can reduce the time required for data transmission by transmitting the remainder of the remaining part of the data through inter-device communication.
[0114] According to one example, the specified size may be a size set by the manufacturer of the electronic device (100).
[0115] According to one example, the specified size may be a size set based on the time required for the electronic device (100) and the external electronic device (220) to establish communication between devices and the time required to transmit the remainder of the remaining data through communication between devices.
[0116] The electronic device (100) may control the communication circuit (310) to establish device-to-device communication with the external electronic device (220) based on the decision to transmit the remainder of the remaining part of the data to the external electronic device (220) via device-to-device communication. In establishing device-to-device communication with the external electronic device (220), the electronic device (100) may perform a search of the external electronic device (220) before the quality of the signal received from the external electronic device (220) reaches a first value or higher. When the quality of the signal received from the external electronic device (220) is greater than the first value, the electronic device (100) may establish device-to-device communication with the external electronic device (220) based on the search result. Alternatively, the electronic device (100) may establish device-to-device communication with the external electronic device (220) upon receiving a specific signal from the external electronic device (220) (e.g., a response signal corresponding to a signal requesting a connection for device-to-device communication). After the establishment of communication between devices is completed, the electronic device (100) can transmit the remainder of the remaining portion of the data to an external electronic device (220) through communication between devices.
[0117] FIG. 10 is a diagram illustrating an example in which an electronic device according to one embodiment disconnects from an external server while transmitting data to an external electronic device through inter-device communication.
[0118] The electronic device (100) may maintain a connection with an external server (230) while transmitting the remainder of the remaining data to an external electronic device (220) via inter-device communication. The connection with the external server (230) is intended to prevent (or reduce) the increase in the time required for data transmission caused by the time required to establish a connection with the external server (230), taking into account situations where the external electronic device (220) is out of the coverage (210) of inter-device communication provided by the electronic device (210) and the remainder of the remaining data must be transmitted through the external server (230).
[0119] The electronic device (100) may disconnect from the external server (230) based on confirming that the quality of the signal received from the external electronic device (220) is greater than (or exceeds) a second value while transmitting the remainder of the remaining portion of data to the external electronic device (220) through inter-device communication. Referring to FIG. 10, the external electronic device (220) may be located within a portion (410) corresponding to a signal having a quality of the second value, and the electronic device (100) may disconnect from the external server (230) based on confirming that the quality of the signal received from the external electronic device (220) is greater than (or exceeds) the second value. In one embodiment, while disconnecting from the external server (230), the electronic device (100) may transmit a signal to the external electronic device (220) requesting that the external electronic device (220) disconnect from the external server (230). The external electronic device (220) can disconnect from the external server (230) upon receiving a signal requesting to disconnect from the external server (230).
[0120] FIG. 11 is a diagram illustrating an example in which an electronic device according to one embodiment transmits data to a plurality of external electronic devices.
[0121] An electronic device (100) according to one example can transmit data to a plurality of external electronic devices. For example, the electronic device (100) can transmit data to a first external electronic device (1010) (e.g., the external electronic device (220) of FIG. 2a), a second external electronic device (1020) and / or a third external electronic device (1030).
[0122] According to one example, the first external electronic device (1010) may be located within the coverage (210) of inter-device communication provided by the electronic device (100). The electronic device (100) may transmit data through inter-device communication with the first external electronic device (1010). The electronic device (100) may switch between transmitting data through inter-device communication or transmitting data through an external server (230) based on the quality of the signal received from the first external electronic device (1010).
[0123] According to one example, the electronic device (100) may establish or maintain a connection with an external server (230) based on whether the quality of a signal transmitted by the first external electronic device (1010) is less than a second value (or exists between the area (410) and coverage (210) corresponding to the signal having the quality of the second value). The electronic device (100) may transmit a signal (e.g., a keep-alive signal) to the first external electronic device (1010) at specified intervals. If the first external electronic device (1010) receives the signal, it may transmit a response signal corresponding to the signal to the electronic device (100). According to one example, if the electronic device (100) does not receive the response signal, it may disconnect the connection between devices and transmit data to the first external electronic device (1010) through the external server (230). Alternatively, the electronic device (100) may disconnect the connection between devices and transmit data to the first external electronic device (1010) through the external server (230) based on the quality of the signal transmitted by the first external electronic device (1010) being less than (or lower than) the first value.
[0124] The second external electronic device (1020) and / or the third external electronic device (1030) may be located outside the coverage (210) of inter-device communication provided by the electronic device (100). The electronic device (100) may transmit data to the second external electronic device (1020) and / or the third external electronic device (1030) through an external server (230).
[0125] According to one example, a second external electronic device (1020) and / or a third external electronic device (1030) may enter the coverage (210) of inter-device communication provided by the electronic device (100). The electronic device (100) may confirm that the second external electronic device (1020) and / or the third external electronic device (1030) have entered the coverage (210) based on confirming that the quality of the signal received from the second external electronic device (1020) and / or the third external electronic device (1030) is greater than or equal to a second value.
[0126] The electronic device (100) may have a limited number of external electronic devices that can be connected via inter-device communication. According to one example, due to the limitation of external electronic devices that can be connected via inter-device communication, the electronic device (100) may transmit data via inter-device communication to either a second external electronic device (1020) or a third external electronic device (1030), and the other external electronic device may need to transmit data via an external server (230).
[0127] The electronic device (100) can determine the time remaining until data transmission to the second external electronic device (1020) is completed based on the size of the data transmitted to the second external electronic device (1020) through the external server (230) and the time remaining until data transmission to the third external electronic device (1030) is completed based on the size of the data transmitted to the third external electronic device (1030) through the external server (230). The electronic device (100) can compare the time remaining until data transmission to the second external electronic device (1020) is completed and the time remaining until data transmission to the third external electronic device (1030) is completed, and determine (or select) the external electronic device corresponding to the larger time as the external electronic device to be connected via inter-device communication.
[0128] Through the method described above, the electronic device (100) can transmit data via inter-device communication to an external electronic device that is identified as taking the longest time to complete data transmission, and can reduce the time required for data transmission to the first external electronic device (1010), the second external electronic device (1020) and / or the third external electronic device (1030).
[0129] FIGS. 12a, FIGS. 12b, and FIGS. 12c are drawings illustrating a user interface related to a function of transmitting data to an external electronic device of an electronic device according to one embodiment.
[0130] FIG. 12a illustrates a user interface (1210) that enables or disables a setting related to the function of an electronic device (100) transmitting data to an external electronic device (220).
[0131] The electronic device (100) can display a user interface (1210) on a display (140) that enables or disables a setting related to the function of transmitting data to an external electronic device (220).
[0132] The user interface (1210) may include an area (1212) capable of receiving user input that can change whether the switching function (1211) for data transmission via inter-device communication and data transmission via an external server (e.g., the external server (230) of FIG. 2b) described in FIG. 3 through 10 is activated. The electronic device (100) can determine whether the switching function (1211) for data transmission via inter-device communication and data transmission via an external server (230) is activated based on the user input on the area (1212).
[0133] According to one example, if the electronic device (100) receives user input to disable the switching function (1211) for data transmission via inter-device communication and data transmission via an external server (230), the electronic device (100) may disable the switching function (1211) for data transmission via inter-device communication and data transmission via an external server (230). Disabling the switching function (1211) for data transmission via inter-device communication and data transmission via an external server (230) may refer to the electronic device (100) transmitting data to an external electronic device (220) via inter-device communication and not performing data transmission via an external server (230). If the electronic device (100) does not receive a response signal (or a signal related to inter-device communication) from the external electronic device (220), the electronic device (100) may stop data transmission via inter-device communication. Alternatively, the electronic device (100) may stop data transmission via inter-device communication if the quality of the signal received from the external electronic device (220) is less than a first value. The electronic device (100) may stop data transmission without performing data transmission to the external electronic device (220) via the external server (230) until the external electronic device (220) is reconnected via inter-device communication. When the external electronic device (220) is reconnected via inter-device communication, the electronic device (100) may transmit data back to the external electronic device (220).
[0134] According to one example, when an electronic device (100) receives user input to enable a switching function (1211) for data transmission via communication between devices and data transmission via an external server (230), the device may enable a switching function (1211) for data transmission via communication between devices and data transmission via an external server (230).
[0135] When the electronic device (100) activates the switching function (1211) for data transmission via inter-device communication and data transmission via an external server (230), it can switch between data transmission via inter-device communication and data transmission via an external server (230) based on the quality of the signal received from the external electronic device (220).
[0136] According to one example, an electronic device (100) may be connected to an external electronic device (220) via inter-device communication based on the quality of a signal received from an external electronic device (220) being greater than (or exceeding) a first value. The electronic device (100) may transmit data to the external electronic device (220) via inter-device communication.
[0137] FIG. 12b illustrates a user interface (1220) that includes information related to the state of transmitting data to an external electronic device (220) while the electronic device (100) transmits data to an external electronic device (220) through inter-device communication.
[0138] The electronic device (100) can display a user interface (1220) on a display (140) that includes information related to the state of transmitting data to an external electronic device (220).
[0139] The user interface (1220) may include information (1221) related to the transmission of data transmitted to an external electronic device (220). The information (1221) may include information of the external electronic device (220) and / or the transmission rate of the data transmitted to the external electronic device (220).
[0140] According to one example, the electronic device (100) may disconnect communication between devices and transmit data to the external electronic device (220) through an external server (230) based on the quality of the signal received from the external electronic device (220) being less than (or lower than) a first value. The electronic device (100) may establish a connection with the external server (230) while maintaining communication between devices based on the quality of the signal received from the external electronic device (220) being less than (or lower than) a second value greater than the first value. After completing the establishment of a connection with the external server (230), the electronic device (100) may transmit data to the external electronic device (220) through the external server (230) based on the quality of the signal received from the external electronic device (220) being less than (or lower than) the first value.
[0141] FIG. 12c illustrates a user interface (1220) containing information related to the state of transmitting data to an external electronic device while the electronic device (100) transmits data to an external electronic device (220) through an external server (230).
[0142] When the electronic device (100) switches from transmitting data via inter-device communication to transmitting data via an external server (230), it may output (or display) information (1231) indicating that data is transmitted to an external electronic device (220) via the external server (230). The information (1231) illustrated in FIG. 12c is merely an example and can be modified in various forms. Additionally, while FIG. 12c illustrates that the information (1231) is displayed on the display (140), it may be provided to the user in various forms (e.g., sound, vibration). The electronic device (100) may be implemented to establish a connection with the external server (230) before disconnecting inter-device communication, so that the interruption of data transmission due to the disconnection of inter-device communication may not occur. Information (1221) included in the user interface (1220) may also be displayed on the display to indicate that data transmission is continuously in progress.
[0143] FIG. 13 is an operation flowchart (1300) illustrating the operation method of an electronic device according to one embodiment.
[0144] An electronic device (e.g., the electronic device (100) of FIG. 3) can establish a connection between the device and an external electronic device (e.g., the external electronic device (220) of FIG. 2a) in operation 1310.
[0145] An electronic device (100) can control a communication circuit (310) to discover an external electronic device (e.g., external electronic device (220) of FIG. 2a) for sharing data, depending on the execution of an application (e.g., Quick share, Nearshare) that shares data (e.g., content (e.g., music, still image, video), file, and / or document). If the electronic device (100) succeeds in discovering an external electronic device (220) to receive data, it can perform a connection procedure through device-to-device (D2D) communication with the external electronic device (220). Device-to-device communication may refer to a communication method in which the electronic device (100) and the external electronic device (220) are directly connected without passing through an access point (AP). For example, device-to-device communication may include any one of Wi-Fi Direct, Wi-Fi Aware (or NAN (neighbor awareness networking)), or Bluetooth.
[0146] If an external electronic device (220) is located within the coverage of inter-device communication provided by the electronic device (100) (e.g., coverage (210) of FIG. 2a), the electronic device (100) and the external electronic device (220) may be connected via inter-device communication. The coverage of inter-device communication (210) provided by the electronic device (100) may be an area related to the quality required by the service performed by the electronic device (100) and the external electronic device (220) using inter-device communication. According to one example, the coverage (210) may refer to an area where the quality of the signal received from the external electronic device (220) is greater than or equal to a first value (or a first range).
[0147] The electronic device (100) can transmit a portion of the data to an external electronic device (220) via inter-device communication in operation 1320.
[0148] The electronic device (100) can control the communication circuit (310) to be connected to the external electronic device (220) via device-to-device communication and to transmit a portion of the data to the external electronic device (220) via device-to-device communication. The portion of the data may refer to data transmitted to the external electronic device (220) via device-to-device communication prior to performing data transmission via the external server (e.g., the external server (230) of FIG. 2B) described below.
[0149] The electronic device (100) can establish communication with an external server (e.g., the external server (230) of FIG. 2b) while transmitting a portion of the data through inter-device communication in operation 1330.
[0150] The electronic device (100) can check (or monitor) the quality of a signal received from an external electronic device (220) and check whether the quality of the signal received from the external electronic device (220) is less than (or less than) a second value (or a second range). The second value may refer to a value greater than the first value, and the quality of the signal received from the external electronic device (220) being greater than the first value but less than the second value may refer to the external electronic device (220) not yet being outside the coverage (210) of inter-device communication provided by the electronic device (100). If the electronic device (100) checks that the quality of the signal received from the external electronic device (220) is less than (or less than) the second value (or, the quality of the received signal is less than the second value and greater than or equal to the first value), it may establish a connection between the external server (230) and the electronic device (100). The connection between the external server (230) and the electronic device (100) can be implemented in various ways. According to one example, the electronic device (100) may establish a connection between the external server (230) and the electronic device (100) via a cellular network. According to another example, the electronic device (100) may establish a connection between the external server (230) and the electronic device (100) via short-range wireless communication. While establishing a connection between the electronic device (100) and the external server (230), the electronic device (100) may request (or control) the external electronic device (220) to establish a connection between the external electronic device (220) and the external server (230).
[0151] The electronic device (100) can establish a connection between the electronic device (100) and an external server (230) while maintaining inter-device communication between the electronic device (100) and an external electronic device (220) (or while transmitting data to the external electronic device (220) via inter-device communication). The procedure for establishing a connection between the electronic device (100) and the external server (230) may cause a large delay time, and the electronic device (100) can prevent (or reduce) the increase in the time required for data transmission caused by the procedure for establishing a connection between the electronic device (100) and the external server (230) by completing the connection between the electronic device (100) and the external server (230) before the inter-device communication between the electronic device (100) and the external electronic device (220) is disconnected.
[0152] In operation 1340, if communication between devices is disabled while part of the data needs to be transmitted to an external electronic device (220), the electronic device (100) can transmit the remaining part of the data to the external electronic device (220) through an external server (230).
[0153] As the distance between the electronic device (100) and the external electronic device (220) increases, the quality of the signal received from the external electronic device (220) may decrease. As the electronic device (100) is connected to the external electronic device (220) via inter-device communication, it may transmit a signal (e.g., a keep-alive signal) to the external electronic device (220) at specified intervals. When the external electronic device (220) is connected via inter-device communication, the external electronic device (220) may transmit a response signal to the electronic device (100). Based on receiving the response signal from the external electronic device (220), the electronic device (100) may confirm (or determine) that it is connected to the external electronic device (220) via inter-device communication. As the distance between the electronic device (100) and the external electronic device (220) increases, the external electronic device (220) may not receive the signal transmitted by the electronic device (100) and may not transmit the response signal either. If the electronic device (100) does not receive a response signal from the external electronic device (220) within a specified time after the transmission of a signal, it may be determined that the external electronic device (220) has moved out of the coverage (210) of inter-device communication provided by the electronic device (100). If the electronic device (100) does not receive a response signal, it may determine that the inter-device connection between the external electronic device (220) and the electronic device (100) has been disconnected, and may transmit the remaining portion of the data to the external electronic device (220) through the connection between the external server (230) and the electronic device (100). In operation 1350, if the electronic device (100) can have a device connection with the external electronic device (220), it may compare the time required to transmit the remainder of the remaining portion of the data to the external electronic device (220) and the threshold value.
[0154] The electronic device (100) may receive a signal from the external electronic device (220) while transmitting the remaining portion of the data to the external electronic device (220) via the external server (230). The electronic device (100) may receive a signal from the external electronic device (220) even though the device-to-device connection between the electronic device (100) and the external electronic device (220) has been disconnected. The electronic device (100) may discover the external electronic device (220) while checking (or monitoring) the quality of the signal received from the external electronic device (220). The discovery of the external electronic device (220) may be performed via various short-range wireless communication. According to one example, the electronic device (100) may discover the external electronic device (220) using Wi-Fi. For example, the electronic device (100) can discover the external electronic device (220) by checking whether it has received a probe request message or a beacon message transmitted by the external electronic device (220). According to one example, the electronic device (100) can discover the external electronic device (220) using Bluetooth or BLE. For example, the electronic device (100) can discover the external electronic device (220) by checking whether it has received an advised message transmitted by the external electronic device (220).
[0155] The electronic device (100) may search for an external electronic device (220) until it confirms that the quality of the signal received from the external electronic device (220) is less than (or lower than) a third value. The third value may be smaller than the first value and the second value. If the quality of the signal received from the external electronic device (220) is less than (or lower than) the third value, the electronic device (100) may terminate the operation of searching for the external electronic device (220). However, even if the electronic device (100) terminates the operation of searching for the external electronic device (220), it may perform the operation of searching for an external electronic device that can be connected via inter-device communication at designated intervals.
[0156] When communication between the electronic device (100) and the external electronic device (220) is possible, the time and threshold value required to transmit the remainder of the remaining part of the data to the external electronic device (220) through the external server (230) can be compared.
[0157] While the electronic device (100) transmits the remaining portion of data through the external server (230), the distance between the external electronic device (220) and the electronic device (100) may be reduced. As the distance between the external electronic device (220) and the electronic device (100) is reduced, when the electronic device (100) receives a signal transmitted by the external electronic device (220), the quality of the signal may be greater than or equal to a third value.
[0158] The electronic device (100) can determine whether the external electronic device (220) and the electronic device (100) can be connected via device-to-device communication. According to one example, the electronic device (100) can determine (or decide, judge) that the external electronic device (220) and the electronic device (100) can communicate via device-to-device communication based on confirming that the quality of the signal transmitted by the external electronic device (220) is greater than (or exceeds) a third value.
[0159] The electronic device (100) can select (or determine) a communication method to be used to transmit the remainder of the remaining portion of the data to the external electronic device (220) when the external electronic device (220) and the electronic device (100) can be connected through inter-device communication.
[0160] According to one example, the electronic device (100) can determine the time required (or expected time) to transmit the remainder of the remaining portion of data to the external electronic device (220) via the external server (230). For example, the electronic device (100) can determine the time required (or expected time) to transmit the remainder of the remaining portion of data to the external electronic device (220) via the external server (230) based on the transmission speed of the data transmitted via the external server (230) and the size of the portion of data that the external electronic device (220) has not yet received. The electronic device (100) can compare the time required to transmit the remainder of the remaining portion of data to the external electronic device (220) via the external server (230) with a specified size, and based on the result of the comparison, select (or determine) a communication method to be used to transmit the remainder of the remaining portion of data to the external electronic device (220).
[0161] The electronic device (100) can check whether the time required to transmit the remainder of the remaining part of the data to the external electronic device (220) via the external server (230) in operation 1360 is greater than or equal to a specified size.
[0162] In operation 1370, if the time required to transmit the remainder of the remaining portion of the data to the external electronic device (220) via the external server (230) is greater than a specified size (operation 1360-Y), the electronic device (100) can establish communication between devices and transmit the remainder of the remaining portion of the data to the external electronic device (220) through communication between devices.
[0163] According to one example, the electronic device (100) may transmit the remainder of the remaining portion of data to the external electronic device (220) via inter-device communication if the time required to transmit the remainder of the remaining portion of data to the external electronic device (220) via the external server (230) is greater than (or exceeds) a specified size. The situation in which the time required to transmit the remainder of the remaining portion of data to the external electronic device (220) via the external server (230) is greater than (or exceeds) a specified size may refer to a situation in which the time required to transmit the remainder of the remaining portion of data to the external electronic device (220) via the external server (230) is greater than the sum of the time required to establish inter-device communication between the electronic device (100) and the external electronic device (220) and the time required to transmit the remainder of the remaining portion of data via inter-device communication between the electronic device (100) and the external electronic device (220). Accordingly, the electronic device (100) can reduce the time required for data transmission by transmitting the remainder of the remaining part of the data through inter-device communication.
[0164] According to one example, the specified size may be a size set by the manufacturer of the electronic device (100).
[0165] According to one example, the specified size may be a size set based on the time required for the electronic device (100) and the external electronic device (220) to establish communication between devices and the time required to transmit the remainder of the remaining data through communication between devices.
[0166] The electronic device (100) can control the communication circuit (310) to establish device-to-device communication with the external electronic device (220) based on the decision to transmit the remainder of the remaining part of the data to the external electronic device (220) via device-to-device communication. When establishing device-to-device communication with the external electronic device (220), the electronic device (100) can perform a search of the external electronic device (220) if it confirms that the quality of the signal received from the external electronic device (220) is greater than or equal to a third value. When the quality of the signal received from the external electronic device (220) is greater than or equal to a third value, the electronic device (100) can establish device-to-device communication with the external electronic device (220) based on the search result. After the establishment of device-to-device communication is completed, the electronic device (100) can transmit the remainder of the remaining part of the data to the external electronic device (220) via device-to-device communication.
[0167] The electronic device (100) may maintain a connection with an external server (230) while transmitting the remainder of the remaining data to an external electronic device (220) via inter-device communication. The connection with the external server (230) is intended to prevent (or reduce) the increase in the time required for data transmission caused by the time required to establish a connection with the external server (230), taking into account situations where the external electronic device (220) is out of the coverage (210) of inter-device communication provided by the electronic device (210) and the remainder of the remaining data must be transmitted through the external server (230).
[0168] The electronic device (100) can disconnect from the external server (230) based on confirming that the quality of the signal received from the external electronic device (220) is greater than (or exceeds) a second value while transmitting the remainder of the remaining part of the data to the external electronic device (220) through inter-device communication.
[0169] The electronic device (100) may transmit the remainder of the remainder of the data back to the external electronic device (220) through a maintained connection with an external server (230) based on confirming that the quality of the signal received from the external electronic device (220) is less than (or lower than) a first value while transmitting the remainder of the remaining portion of the data to the external electronic device (220) through inter-device communication.
[0170] In operation 1380, if the time required to transmit the remainder of the remaining portion of the data to the external electronic device (220) via the external server (230) is less than a specified size (operation 1360-N), the electronic device (100) can transmit the remainder of the remaining portion of the data to the external electronic device (220) via the external server (230).
[0171] According to one example, the electronic device (100) may transmit the remainder of the remaining portion of the data to the external electronic device (220) through the external server (230) if the time required to transmit the remainder of the remaining portion of the data to the external electronic device (220) through the external server (230) is less than (or less than) a specified size. Alternatively, the electronic device (100) may maintain the operation of transmitting the remainder of the remaining portion of the data to the external electronic device (220) through the external server (230) if the time required to transmit the remainder of the remaining portion of the data to the external electronic device (220) through the external server (230) is less than (or less than) a specified size. If the time required to transmit the remainder of the remaining portion of the data to the external electronic device (220) via the external server (230) is less than (or less than) a specified size, transmitting the remainder of the remaining portion of the data to the external electronic device (220) via the external server (230) can achieve faster transmission completion compared to transmitting the remainder of the remaining portion of the data to the external electronic device (220) via inter-device communication, and thus the electronic device (100) can maintain the operation of transmitting the remainder of the remaining portion of the data to the external electronic device (220) via the external server (230).
[0172] FIGS. 14a and FIGS. 14b are operation flowcharts (1400) illustrating a method of operation of an electronic device according to one embodiment.
[0173] The electronic device (100) can transmit data to an external electronic device (220) through inter-device communication in operation 1401.
[0174] An electronic device (100) can control a communication circuit (310) to discover an external electronic device (e.g., external electronic device (220) of FIG. 2a) for sharing data, depending on the execution of an application (e.g., Quick share, Nearshare) that shares data (e.g., content (e.g., music, still image, video), file, and / or document). If the electronic device (100) succeeds in discovering an external electronic device (220) to receive data, it can perform a connection procedure through device-to-device (D2D) communication with the external electronic device (220). Device-to-device communication may refer to a communication method in which the electronic device (100) and the external electronic device (220) are directly connected without passing through an access point (AP). For example, device-to-device communication may include any one of Wi-Fi Direct, Wi-Fi Aware (or NAN (neighbor awareness networking)), or Bluetooth.
[0175] If an external electronic device (220) is located within the coverage of inter-device communication provided by the electronic device (100) (e.g., coverage (210) of FIG. 2a), the electronic device (100) and the external electronic device (220) may be connected via inter-device communication. The coverage of inter-device communication (210) provided by the electronic device (100) may be an area related to the quality required by the service performed by the electronic device (100) and the external electronic device (220) using inter-device communication. According to one example, the coverage (210) may refer to an area where the quality of the signal received from the external electronic device (220) is greater than or equal to a first value (or a first range).
[0176] The electronic device (100) can control the communication circuit (310) to be connected to the external electronic device (220) via device-to-device communication and to transmit a portion of the data to the external electronic device (220) via device-to-device communication. The portion of the data may refer to data transmitted to the external electronic device (220) via device-to-device communication prior to performing data transmission via the external server (e.g., the external server (230) of FIG. 2B) described below.
[0177] As the distance between the electronic device (100) and the external electronic device (220) increases, the quality of the signal received from the external electronic device (220) may decrease. As the distance between the electronic device (100) and the external electronic device (220) increases, if the quality of the signal received from the external electronic device (220) is less than (or lower than) a first value, the external electronic device (220) may be determined to be outside the coverage (210) of inter-device communication provided by the electronic device (100). The electronic device (100) may check whether the signal received from the external electronic device (220) is less than (or lower than) the first value, and based on whether the signal received from the external electronic device (220) is less than (or lower than) the first value, disconnect the inter-device connection between the electronic device (100) and the external electronic device (220) and / or transmit the remaining portion of the data to the external electronic device (220) through the external server (230).
[0178] The electronic device (100) can check whether the quality of the signal received from the external electronic device (220) in operation 1402 is less than (or lower than) the second value.
[0179] The electronic device (100) can check (or monitor) the quality of a signal received from an external electronic device (220) and check whether the quality of the signal received from the external electronic device (220) is less than (or less than) a second value (or a second range). The second value may refer to a value greater than the first value, and the quality of the signal received from the external electronic device (220) being greater than the first value but less than the second value may refer to the external electronic device (220) not yet being outside the coverage (210) of inter-device communication provided by the electronic device (100).
[0180] The electronic device (100) can transmit data to the external electronic device (220) via inter-device communication when the quality of the signal received from the external electronic device (220) exceeds a second value (operation 1402-N).
[0181] In operation 1403, if the quality of the signal received from the external electronic device (220) is less than (or lower than) the second value (operation 1402-Y), the electronic device (100) can perform a connection procedure with the external server (230) while transmitting data through inter-device communication.
[0182] The electronic device (100) may establish a connection between the external server (230) and the electronic device (100) when it determines that the quality of the signal received from the external electronic device (220) is less than (or lower than) a second value. The connection between the external server (230) and the electronic device (100) may be implemented in various ways. According to one example, the electronic device (100) may establish a connection between the external server (230) and the electronic device (100) via a cellular network. According to another example, the electronic device (100) may establish a connection between the external server (230) and the electronic device (100) via short-range wireless communication. While establishing a connection between the electronic device (100) and the external server (230), the electronic device (100) may request (or control) the external electronic device (220) to establish a connection between the external electronic device (220) and the external server (230).
[0183] The electronic device (100) can establish a connection between the electronic device (100) and an external server (230) while maintaining inter-device communication between the electronic device (100) and an external electronic device (220) (or while transmitting data to the external electronic device (220) via inter-device communication). The procedure for establishing a connection between the electronic device (100) and the external server (230) may cause a large delay time, and the electronic device (100) can prevent (or reduce) the increase in the time required for data transmission caused by the procedure for establishing a connection between the electronic device (100) and the external server (230) by completing the connection between the electronic device (100) and the external server (230) before the inter-device communication between the electronic device (100) and the external electronic device (220) is disconnected.
[0184] The electronic device (100) can check whether the connection between the external electronic device (220) and the device has been disconnected in operation 1404.
[0185] As the distance between the electronic device (100) and the external electronic device (220) increases, the quality of the signal received from the external electronic device (220) may decrease. As the electronic device (100) is connected to the external electronic device (220) via inter-device communication, it may transmit a signal (e.g., a keep-alive signal) to the external electronic device (220) at specified intervals. When the external electronic device (220) is connected via inter-device communication, the external electronic device (220) may transmit a response signal to the electronic device (100). Based on receiving the response signal from the external electronic device (220), the electronic device (100) may confirm (or determine) that it is connected to the external electronic device (220) via inter-device communication. As the distance between the electronic device (100) and the external electronic device (220) increases, the external electronic device (220) may not receive the signal transmitted by the electronic device (100) and may not transmit the response signal either. If the electronic device (100) does not receive a response signal from the external electronic device (220) within a specified time after the transmission of a signal, it may be determined that the external electronic device (220) has moved out of the coverage (210) of inter-device communication provided by the electronic device (100). If the electronic device (100) does not receive a response signal, it may determine that the inter-device connection between the external electronic device (220) and the electronic device (100) has been disconnected, and may transmit the remaining portion of the data to the external electronic device (220) through the connection between the external server (230) and the electronic device (100).
[0186] The electronic device (100) can transmit data to the external electronic device (220) through communication between devices without disconnecting communication between devices (or maintaining communication between devices) when the connection between the external electronic device (220) and the device is not disconnected (operation 1404-N).
[0187] In operation 1405, when the connection between the external electronic device (220) and the device is disconnected (operation 1404-Y), the electronic device (100) can disconnect communication between devices, transmit data to the external electronic device (220) via the external server (230), and search for the external electronic device (220).
[0188] The electronic device (100) may, based on confirming that the quality of the signal received from the external electronic device (220) is less than (or lower than) a first value, disable inter-device communication between the electronic device (100) and the external electronic device (220) and transmit the remaining portion of the data to the external electronic device (220) through the external server (230). The remaining portion of the data may refer to the portion of data transmitted through the external server (230) after a portion of the data has been transmitted to the external electronic device (220) through inter-device communication.
[0189] The electronic device (100) may receive a signal from the external electronic device (220) while transmitting the remaining portion of the data to the external electronic device (220) via the external server (230). The electronic device (100) may receive a signal from the external electronic device (220) even though the device-to-device connection between the electronic device (100) and the external electronic device (220) has been disconnected. The electronic device (100) may discover the external electronic device (220) while checking (or monitoring) the quality of the signal received from the external electronic device (220). The discovery of the external electronic device (220) may be performed via various short-range wireless communication. According to one example, the electronic device (100) may discover the external electronic device (220) using Wi-Fi. For example, the electronic device (100) can discover the external electronic device (220) by checking whether it has received a probe request message or a beacon message transmitted by the external electronic device (220). According to one example, the electronic device (100) can discover the external electronic device (220) using Bluetooth or BLE. For example, the electronic device (100) can discover the external electronic device (220) by checking whether it has received an advised message transmitted by the external electronic device (220).
[0190] The electronic device (100) can check whether the quality of the signal received from the external electronic device (220) in operation 1406 is less than (or lower than) the third value.
[0191] The electronic device (100) can continue to search for the external electronic device (220) while transmitting data to the external electronic device (220) through the external server (230) when the quality of the signal received from the external electronic device (220) exceeds a third value (operation 1406-N).
[0192] The electronic device (100) may terminate the search for the external electronic device (220) if, in operation 1407, the quality of the signal received from the external electronic device (220) is less than (or lower than) the third value (operation 1406-Y).
[0193] The electronic device (100) may search for an external electronic device (220) until it confirms that the quality of the signal received from the external electronic device (220) is less than (or lower than) a third value. The third value may be smaller than the first value and the second value. If the quality of the signal received from the external electronic device (220) is less than (or lower than) the third value, the electronic device (100) may terminate the operation of searching for the external electronic device (220). However, even if the electronic device (100) terminates the operation of searching for the external electronic device (220), it may perform the operation of searching for an external electronic device that can be connected via inter-device communication at designated intervals.
[0194] The electronic device (100) can transmit data to an external electronic device (220) through an external server (230) in operation 1408.
[0195] The electronic device (100) can check whether it is possible to connect with an external electronic device through communication between devices in operation 1409.
[0196] The electronic device (100) can determine whether the external electronic device (220) and the electronic device (100) can be connected via device-to-device communication. According to one example, when the electronic device (100) receives a response signal from the external electronic device (220), it can determine (or decide, judge) that the external electronic device (220) and the electronic device (100) can communicate via device-to-device communication.
[0197] The electronic device (100) can maintain the operation of transmitting data to an external electronic device (220) via an external server (230) when it is not possible to connect with an external electronic device through inter-device communication (operation 1409-N).
[0198] In operation 1410, if the electronic device (100) is connected to an external electronic device through inter-device communication (operation 1409-Y), the time and threshold value required to transmit the remainder of the remaining part of the data to the external electronic device (220) via the external server (220) can be compared.
[0199] The electronic device (100) can select (or determine) a communication method to be used to transmit the remainder of the remaining portion of the data to the external electronic device (220) when the external electronic device (220) and the electronic device (100) can be connected through inter-device communication.
[0200] According to one example, the electronic device (100) can determine the time required (or expected time) to transmit the remainder of the remaining portion of data to the external electronic device (220) via the external server (230). For example, the electronic device (100) can determine the time required (or expected time) to transmit the remainder of the remaining portion of data to the external electronic device (220) via the external server (230) based on the transmission speed of the data transmitted via the external server (230) and the size of the portion of data that the external electronic device (220) has not yet received. The electronic device (100) can compare the time required to transmit the remainder of the remaining portion of data to the external electronic device (220) via the external server (230) with a threshold value, and based on the result of the comparison, select (or determine) a communication method to be used to transmit the remainder of the remaining portion of data to the external electronic device (220).
[0201] The electronic device (100) can check whether the time required to transmit the remainder of the remaining part of the data to the external electronic device (220) via the external server (230) in operation 1411 is greater than the specified time.
[0202] The electronic device (100) can transmit data to the external electronic device (220) via inter-device communication when, in operation 1412, the time required to transmit the remainder of the remaining part of the data to the external electronic device (220) through the external server (230) is greater than a threshold value (operation 1411-Y).
[0203] According to one example, the electronic device (100) may transmit the remainder of the remaining portion of data to the external electronic device (220) via inter-device communication when the time required to transmit the remainder of the remaining portion of data to the external electronic device (220) via the external server (230) is greater than (or exceeds) a threshold value. The situation in which the time required to transmit the remainder of the remaining portion of data to the external electronic device (220) via the external server (230) is greater than (or exceeds) a threshold value may refer to a situation in which the time required to transmit the remainder of the remaining portion of data to the external electronic device (220) via the external server (230) is greater than the sum of the time required to establish inter-device communication between the electronic device (100) and the external electronic device (220) and the time required to transmit the remainder of the remaining portion of data via inter-device communication between the electronic device (100) and the external electronic device (220). Accordingly, the electronic device (100) can reduce the time required for data transmission by transmitting the remainder of the remaining part of the data through inter-device communication.
[0204] The electronic device (100) may control the communication circuit (310) to establish device-to-device communication with the external electronic device (220) based on the decision to transmit the remainder of the remaining portion of the data to the external electronic device (220) via device-to-device communication. In establishing device-to-device communication with the external electronic device (220), the electronic device (100) may perform a search of the external electronic device (220) before the quality of the signal received from the external electronic device (220) reaches a first value or higher. When the quality of the signal received from the external electronic device (220) is greater than the first value, the electronic device (100) may establish device-to-device communication with the external electronic device (220) based on the search result. After the establishment of device-to-device communication is completed, the electronic device (100) may transmit the remainder of the remaining portion of the data to the external electronic device (220) via device-to-device communication.
[0205] The electronic device (100) may maintain a connection with an external server (230) while transmitting the remainder of the remaining data to an external electronic device (220) via inter-device communication. The connection with the external server (230) is intended to prevent (or reduce) the increase in the time required for data transmission caused by the time required to establish a connection with the external server (230), taking into account situations where the external electronic device (220) is out of the coverage (210) of inter-device communication provided by the electronic device (210) and the remainder of the remaining data must be transmitted through the external server (230).
[0206] The electronic device (100) can disconnect from the external server (230) based on confirming that the quality of the signal received from the external electronic device (220) is greater than (or exceeds) a second value while transmitting the remainder of the remaining part of the data to the external electronic device (220) through inter-device communication.
[0207] The electronic device (100) may transmit the remainder of the remainder of the data back to the external electronic device (220) through a maintained connection with an external server (230) based on confirming that the quality of the signal received from the external electronic device (220) is less than (or lower than) a first value while transmitting the remainder of the remaining portion of the data to the external electronic device (220) through inter-device communication.
[0208] In operation 1413, if the time required to transmit the remainder of the remaining portion of the data to the external electronic device (220) via the external server (230) is less than a threshold value (operation 1411-N), the electronic device (100) can transmit the remainder of the remaining portion of the data to the external electronic device (220) via the external server (230).
[0209] According to one example, the electronic device (100) may transmit the remainder of the remaining portion of the data to the external electronic device (220) through the external server (230) when the time required to transmit the remainder of the remaining portion of the data to the external electronic device (220) through the external server (230) is less than (or less than) a threshold value. Alternatively, the electronic device (100) may maintain the operation of transmitting the remainder of the remaining portion of the data to the external electronic device (220) through the external server (230) when the time required to transmit the remainder of the remaining portion of the data to the external electronic device (220) through the external server (230) is less than (or less than) a threshold value. If the time required to transmit the remainder of the remaining portion of the data to the external electronic device (220) via the external server (230) is less than (or less than) a threshold value, transmitting the remainder of the remaining portion of the data to the external electronic device (220) via the external server (230) can achieve faster transmission completion compared to transmitting it to the external electronic device (220) via inter-device communication, and thus the electronic device (100) can maintain the operation of transmitting the remainder of the remaining portion of the data to the external electronic device (220) via the external server (230).
[0210] FIG. 15 is an operation flowchart (1500) illustrating the operation method of an electronic device according to one embodiment.
[0211] An electronic device (e.g., the electronic device (100) of FIG. 3) can establish a connection between the device and an external electronic device (e.g., the external electronic device (220) of FIG. 2a) in operation 1510.
[0212] An electronic device (100) can control a communication circuit (310) to discover an external electronic device (e.g., external electronic device (220) of FIG. 2a) for sharing data, depending on the execution of an application (e.g., Quick share, Nearshare) that shares data (e.g., content (e.g., music, still image, video), file, and / or document). If the electronic device (100) succeeds in discovering an external electronic device (220) to receive data, it can perform a connection procedure through device-to-device (D2D) communication with the external electronic device (220). Device-to-device communication may refer to a communication method in which the electronic device (100) and the external electronic device (220) are directly connected without passing through an access point (AP). For example, device-to-device communication may include any one of Wi-Fi Direct, Wi-Fi Aware (or NAN (neighbor awareness networking)), or Bluetooth.
[0213] If an external electronic device (220) is located within the coverage of inter-device communication provided by the electronic device (100) (e.g., coverage (210) of FIG. 2a), the electronic device (100) and the external electronic device (220) may be connected via inter-device communication. The coverage of inter-device communication (210) provided by the electronic device (100) may be an area related to the quality required by the service performed by the electronic device (100) and the external electronic device (220) using inter-device communication. According to one example, the coverage (210) may refer to an area where the quality of the signal received from the external electronic device (220) is greater than or equal to a first value (or a first range).
[0214] The electronic device (100) can transmit a portion of the data to an external electronic device (220) via inter-device communication in operation 1520.
[0215] The electronic device (100) can control the communication circuit (310) to be connected to the external electronic device (220) via device-to-device communication and to transmit a portion of the data to the external electronic device (220) via device-to-device communication. The portion of the data may refer to data transmitted to the external electronic device (220) via device-to-device communication prior to performing data transmission via the external server (e.g., the external server (230) of FIG. 2B) described below.
[0216] In operation 1530, if communication between devices is disabled while part of the data needs to be transmitted to an external electronic device (220), the electronic device (100) can transmit the remaining part of the data to the external electronic device (220) through an external server (230).
[0217] The electronic device (100) can establish a connection between the external server (230) and the electronic device (100) as communication between the devices is released. The connection between the external server (230) and the electronic device (100) can be implemented in various ways. According to one example, the electronic device (100) can establish a connection between the external server (230) and the electronic device (100) via a cellular network. According to another example, the electronic device (100) can establish a connection between the external server (230) and the electronic device (100) via short-range wireless communication. While establishing a connection between the electronic device (100) and the external server (230), the electronic device (100) can request (or control) the external electronic device (220) to establish a connection between the external electronic device (220) and the external server (230).
[0218] As the distance between the electronic device (100) and the external electronic device (220) increases, the quality of the signal received from the external electronic device (220) may decrease. As the electronic device (100) is connected to the external electronic device (220) via inter-device communication, it may transmit a signal (e.g., a keep-alive signal) to the external electronic device (220) at specified intervals. When the external electronic device (220) is connected via inter-device communication, the external electronic device (220) may transmit a response signal to the electronic device (100). Based on receiving the response signal from the external electronic device (220), the electronic device (100) may confirm (or determine) that it is connected to the external electronic device (220) via inter-device communication. As the distance between the electronic device (100) and the external electronic device (220) increases, the external electronic device (220) may not receive the signal transmitted by the electronic device (100) and may not transmit the response signal either. If the electronic device (100) does not receive a response signal from the external electronic device (220) within a specified time after the transmission of a signal, it may be determined that the external electronic device (220) has moved out of the coverage (210) of inter-device communication provided by the electronic device (100). If the electronic device (100) does not receive a response signal, it may determine that the inter-device connection between the external electronic device (220) and the electronic device (100) has been disconnected, and may transmit the remaining portion of the data to the external electronic device (220) through the connection between the external server (230) and the electronic device (100).
[0219] The electronic device (100) can compare the time and threshold value required to transmit the remainder of the remaining portion of the data to the external electronic device (220) when a connection between the device and the external electronic device (220) is possible in operation 1540.
[0220] The electronic device (100) may receive a signal from the external electronic device (220) while transmitting the remaining portion of the data to the external electronic device (220) via the external server (230). The electronic device (100) may receive a signal from the external electronic device (220) even though the device-to-device connection between the electronic device (100) and the external electronic device (220) has been disconnected. The electronic device (100) may discover the external electronic device (220) while checking (or monitoring) the quality of the signal received from the external electronic device (220). The discovery of the external electronic device (220) may be performed via various short-range wireless communication. According to one example, the electronic device (100) may discover the external electronic device (220) using Wi-Fi. For example, the electronic device (100) can discover the external electronic device (220) by checking whether it has received a probe request message or a beacon message transmitted by the external electronic device (220). According to one example, the electronic device (100) can discover the external electronic device (220) using Bluetooth or BLE. For example, the electronic device (100) can discover the external electronic device (220) by checking whether it has received an advised message transmitted by the external electronic device (220).
[0221] The electronic device (100) may search for an external electronic device (220) until it confirms that the quality of the signal received from the external electronic device (220) is less than (or lower than) a third value. The third value may be smaller than the first value and the second value. If the quality of the signal received from the external electronic device (220) is less than (or lower than) the third value, the electronic device (100) may terminate the operation of searching for the external electronic device (220). However, even if the electronic device (100) terminates the operation of searching for the external electronic device (220), it may perform the operation of searching for an external electronic device that can be connected via inter-device communication at designated intervals.
[0222] When communication between the electronic device (100) and the external electronic device (220) is possible, the time and threshold value required to transmit the remainder of the remaining part of the data to the external electronic device (220) through the external server (230) can be compared.
[0223] While the electronic device (100) transmits the remaining portion of data through the external server (230), the distance between the external electronic device (220) and the electronic device (100) may be reduced. As the distance between the external electronic device (220) and the electronic device (100) is reduced, when the electronic device (100) receives a signal transmitted by the external electronic device (220), the quality of the signal may be greater than or equal to a third value.
[0224] The electronic device (100) can determine whether the external electronic device (220) and the electronic device (100) can be connected via device-to-device communication. According to one example, the electronic device (100) can determine (or decide, judge) that the external electronic device (220) and the electronic device (100) can communicate via device-to-device communication based on confirming that the quality of the signal transmitted by the external electronic device (220) is greater than (or exceeds) a third value.
[0225] The electronic device (100) can select (or determine) a communication method to be used to transmit the remainder of the remaining portion of the data to the external electronic device (220) when the external electronic device (220) and the electronic device (100) can be connected through inter-device communication.
[0226] According to one example, the electronic device (100) can determine the time required (or expected time) to transmit the remainder of the remaining portion of data to the external electronic device (220) via the external server (230). For example, the electronic device (100) can determine the time required (or expected time) to transmit the remainder of the remaining portion of data to the external electronic device (220) via the external server (230) based on the transmission speed of the data transmitted via the external server (230) and the size of the portion of data that the external electronic device (220) has not yet received. The electronic device (100) can compare the time required to transmit the remainder of the remaining portion of data to the external electronic device (220) via the external server (230) with a specified size, and based on the result of the comparison, select (or determine) a communication method to be used to transmit the remainder of the remaining portion of data to the external electronic device (220).
[0227] The electronic device (100) can check whether the time required to transmit the remainder of the remaining part of the data to the external electronic device (220) via the external server (230) in operation 1550 is greater than or equal to a specified size.
[0228] In operation 1560, if the time required to transmit the remainder of the remaining portion of the data to the external electronic device (220) via the external server (230) is greater than a specified size (operation 1550-Y), the electronic device (100) can establish communication between devices and transmit the remainder of the remaining portion of the data to the external electronic device (220) through communication between devices.
[0229] According to one example, the electronic device (100) may transmit the remainder of the remaining portion of data to the external electronic device (220) via inter-device communication if the time required to transmit the remainder of the remaining portion of data to the external electronic device (220) via the external server (230) is greater than (or exceeds) a specified size. The situation in which the time required to transmit the remainder of the remaining portion of data to the external electronic device (220) via the external server (230) is greater than (or exceeds) a specified size may refer to a situation in which the time required to transmit the remainder of the remaining portion of data to the external electronic device (220) via the external server (230) is greater than the sum of the time required to establish inter-device communication between the electronic device (100) and the external electronic device (220) and the time required to transmit the remainder of the remaining portion of data via inter-device communication between the electronic device (100) and the external electronic device (220). Accordingly, the electronic device (100) can reduce the time required for data transmission by transmitting the remainder of the remaining part of the data through inter-device communication.
[0230] According to one example, the specified size may be a size set by the manufacturer of the electronic device (100).
[0231] According to one example, the specified size may be a size set based on the time required for the electronic device (100) and the external electronic device (220) to establish communication between devices and the time required to transmit the remainder of the remaining data through communication between devices.
[0232] The electronic device (100) can control the communication circuit (310) to establish device-to-device communication with the external electronic device (220) based on the decision to transmit the remainder of the remaining part of the data to the external electronic device (220) via device-to-device communication. When establishing device-to-device communication with the external electronic device (220), the electronic device (100) can perform a search of the external electronic device (220) if it confirms that the quality of the signal received from the external electronic device (220) is greater than or equal to a third value. When the quality of the signal received from the external electronic device (220) is greater than or equal to a third value, the electronic device (100) can establish device-to-device communication with the external electronic device (220) based on the search result. After the establishment of device-to-device communication is completed, the electronic device (100) can transmit the remainder of the remaining part of the data to the external electronic device (220) via device-to-device communication.
[0233] The electronic device (100) may maintain a connection with an external server (230) while transmitting the remainder of the remaining data to an external electronic device (220) via inter-device communication. The connection with the external server (230) is intended to prevent (or reduce) the increase in the time required for data transmission caused by the time required to establish a connection with the external server (230), taking into account situations where the external electronic device (220) is out of the coverage (210) of inter-device communication provided by the electronic device (210) and the remainder of the remaining data must be transmitted through the external server (230).
[0234] The electronic device (100) can disconnect from the external server (230) based on confirming that the quality of the signal received from the external electronic device (220) is greater than (or exceeds) a second value while transmitting the remainder of the remaining part of the data to the external electronic device (220) through inter-device communication.
[0235] The electronic device (100) may transmit the remainder of the remainder of the data back to the external electronic device (220) through a maintained connection with an external server (230) based on confirming that the quality of the signal received from the external electronic device (220) is less than (or lower than) a first value while transmitting the remainder of the remaining portion of the data to the external electronic device (220) through inter-device communication.
[0236] In operation 1570, if the time required to transmit the remainder of the remaining portion of the data to the external electronic device (220) is less than a specified size (operation 1550-N), the electronic device (100) can transmit the remainder of the remaining portion of the data to the external electronic device (220) via the external server (230).
[0237] According to one example, the electronic device (100) may transmit the remainder of the remaining portion of the data to the external electronic device (220) through the external server (230) if the time required to transmit the remainder of the remaining portion of the data to the external electronic device (220) through the external server (230) is less than (or less than) a specified size. Alternatively, the electronic device (100) may maintain the operation of transmitting the remainder of the remaining portion of the data to the external electronic device (220) through the external server (230) if the time required to transmit the remainder of the remaining portion of the data to the external electronic device (220) through the external server (230) is less than (or less than) a specified size. If the time required to transmit the remainder of the remaining portion of the data to the external electronic device (220) via the external server (230) is less than (or less than) a specified size, transmitting the remainder of the remaining portion of the data to the external electronic device (220) via the external server (230) can achieve faster transmission completion compared to transmitting it to the external electronic device (220) via inter-device communication, and thus the electronic device (100) can maintain the operation of transmitting the remainder of the remaining portion of the data to the external electronic device (220) via the external server (230).
[0238] An electronic device according to one example may include a communication circuit (310). The electronic device may include a memory (330) that stores at least one computer program including instructions. The electronic device may include at least one processor (320). When the instructions are executed individually or collectively by the at least one processor (320), the electronic device may establish device-to-device (D2D) communication with an external electronic device (220). When the instructions are executed individually or collectively by the at least one processor (320), the electronic device may transmit a portion of data to the external electronic device (220) via the device-to-device communication. When the instructions are executed individually or collectively by the at least one processor (320), the electronic device may establish communication with an external server (230) while transmitting a portion of the data to the external electronic device via the device-to-device communication. When the above instructions are executed individually or collectively by the at least one processor (320), the electronic device may transmit the remaining portion of the data to the external electronic device (220) via the external server (230) when the inter-device communication is disconnected while a portion of the data is to be transmitted to the external electronic device. When the above instructions are executed individually or collectively by the at least one processor (320), the electronic device may determine whether the time required to transmit the remainder of the remaining portion of the data to the external electronic device (220), if possible, is greater than a threshold value while the inter-device communication connection between the external electronic device (220) and the electronic device is transmitting the remaining portion of the data to the external electronic device (220).When the above instructions are executed individually or collectively by the at least one processor (320), if the time required for the electronic device to transmit the remainder of the remaining portion of the data to the external electronic device (220) is greater than the threshold value, the electronic device may establish communication with the external electronic device and transmit the remainder of the remaining portion of the data to the external electronic device through the communication between the devices. When the above instructions are executed individually or collectively by the at least one processor (320), if the time required for the electronic device to transmit the remainder of the remaining portion of the data to the external electronic device (220) is less than the threshold value, the electronic device may transmit the remainder of the remaining portion of the data to the external electronic device through the external server (230).
[0239] In an electronic device according to one example, when the instructions are executed individually or collectively by at least one processor (320), the electronic device may establish communication with the external server (230) when the quality of the signal received from the external electronic device satisfies a specified condition while transmitting a portion of the data to the external electronic device (220) via inter-device communication.
[0240] In an electronic device according to one example, the instructions may cause the electronic device to disable communication between devices when the quality of the signal received from the external electronic device (220) is less than or equal to a first value when executed individually or collectively by the at least one processor (320).
[0241] In an electronic device according to one example, the instructions may be configured to connect with the external server (230) while transmitting a portion of the data through inter-device communication when the quality of the signal received from the external electronic device (220) is less than or equal to a second value which is greater than the first value when the electronic device is executed individually or collectively by the at least one processor (320).
[0242] In an electronic device according to one example, the instructions may cause the electronic device to discover the external electronic device (220) through inter-device communication while transmitting the remaining portion of the data to the external electronic device (220) via the external server (230) when the electronic device is individually or collectively executed by the at least one processor (320). The instructions may cause the electronic device to terminate the operation of discovering the external electronic device (220) through inter-device communication when the quality of the signal received from the external electronic device (220) is less than or equal to a third value that is smaller than the first value when the electronic device is individually or collectively executed by the at least one processor (320).
[0243] In an electronic device according to one example, when the instructions are executed individually or collectively by at least one processor (320), the electronic device may be connected to the external electronic device (220) through communication between the device and the external electronic device (220) based on the search result if the quality received from the external electronic device (220) is greater than or equal to the first value.
[0244] In an electronic device according to one example, the instructions may, when executed individually or collectively by the at least one processor (320), cause the electronic device to maintain a connection with the external server (230) while transmitting the remainder of the remaining part of the data to the external electronic device (220) via the device-to-device communication. The instructions may, when executed individually or collectively by the at least one processor (320), cause the electronic device to disconnect from the external server (230) if the quality of the signal received from the external electronic device (220) is less than or equal to the second value.
[0245] In an electronic device according to one example, the instructions, when executed individually or collectively by at least one processor (320), may cause the electronic device to transmit the remainder of the remainder of the data to the external electronic device (220) through the external server (230) based on confirming that the quality of the signal received from the external electronic device (220) is less than or equal to the first value while the electronic device transmits the remainder of the remainder of the data to the external electronic device (220) through the inter-device communication.
[0246] In an electronic device according to one example, the specified value may be set based on the time required for the electronic device and the external electronic device (220) to be connected through communication between the devices.
[0247] In a recording medium storing at least one program comprising instructions that cause the electronic device to perform operations when executed individually or collectively by at least one processor (320) of the electronic device, the instructions may cause the electronic device to establish device-to-device (D2D) communication with an external electronic device (220) when executed individually or collectively by the at least one processor (320). The instructions may cause the electronic device to transmit a portion of data to the external electronic device (220) through the device-to-device communication when executed individually or collectively by the at least one processor (320). The instructions may cause the electronic device to transmit the remaining portion of the data to the external electronic device (220) through the external server (230) when the device-to-device communication is released while the portion of the data is to be transmitted to the external electronic device when executed individually or collectively by the at least one processor (320). The above instructions, when executed individually or collectively by at least one processor (320), may cause the electronic device to check whether the time required to transmit the remainder of the remaining portion of the data to the external electronic device (220), where possible, is greater than a threshold value, while the inter-device communication connection between the external electronic device (220) and the electronic device is transmitting the remaining portion of the data to the external electronic device (220).When the above instructions are executed individually or collectively by the at least one processor (320), if the time required for the electronic device to transmit the remainder of the remaining portion of the data to the external electronic device (220) is greater than the threshold value, the electronic device may establish communication with the external electronic device and transmit the remainder of the remaining portion of the data to the external electronic device through the communication between the devices. When the above instructions are executed individually or collectively by the at least one processor (320), if the time required for the electronic device to transmit the remainder of the remaining portion of the data to the external electronic device (220) is less than the threshold value, the electronic device may transmit the remainder of the remaining portion of the data to the external electronic device through the external server (230).
[0248] In a recording medium according to one example, the instructions may establish communication with the external server (230) when the quality of the signal received from the external electronic device satisfies a specified condition while the electronic device transmits a portion of the data to the external electronic device (220) through inter-device communication, when the electronic device transmits a portion of the data to the external electronic device (220) individually or collectively by the at least one processor (320).
[0249] In a recording medium according to one example, the instructions may cause the electronic device to disable communication between the devices when the quality of the signal received from the external electronic device (220) is less than or equal to a first value when executed individually or collectively by the at least one processor (320).
[0250] In a recording medium according to one example, the instructions may be configured to connect with the external server (230) while transmitting a portion of the data through inter-device communication when the quality of the signal received from the external electronic device (220) is less than or equal to a second value which is greater than the first value when the electronic device is executed individually or collectively by the at least one processor (320).
[0251] In a recording medium according to one example, the instructions may cause the electronic device to discover the external electronic device (220) through inter-device communication while transmitting the remaining portion of the data to the external electronic device (220) via the external server (230) when executed individually or collectively by the at least one processor (320). The instructions may cause the electronic device to terminate the operation of discovering the external electronic device (220) through inter-device communication when the quality of the signal received from the external electronic device (220) is less than or equal to a third value that is smaller than the first value when executed individually or collectively by the at least one processor (320).
[0252] A method of operation of an electronic device according to one example may include an operation of establishing device-to-device (D2D) communication with an external electronic device (220). A method of operation of an electronic device may include an operation of transmitting a portion of data to the external electronic device (220) through the device-to-device communication. A method of operation of an electronic device may include an operation of establishing communication with an external server (230) while transmitting a portion of the data to the external electronic device through the device-to-device communication. A method of operation of an electronic device may include an operation of transmitting the remaining portion of the data to the external electronic device (220) through the external server (230) when the device-to-device communication is disconnected while the portion of the data is to be transmitted to the external electronic device. A method of operation of an electronic device may include an operation of checking whether the time required to transmit the remainder of the remaining portion of the data to the external electronic device (220) is greater than a threshold value, if possible, while the device-to-device communication connection between the external electronic device (220) and the electronic device is transmitting the remaining portion of the data to the external electronic device (220). The method of operation of the electronic device may include, when the time required to transmit the remainder of the remaining portion of the data to the external electronic device (220) is greater than the threshold value, establishing communication between the external electronic device and the device, and transmitting the remainder of the remaining portion of the data to the external electronic device through the communication between the devices. The method of operation of the electronic device may include, when the time required to transmit the remainder of the remaining portion of the data to the external electronic device (220) is less than the threshold value, transmitting the remainder of the remaining portion of the data to the external electronic device through the external server (230).
[0253] An electronic device according to one example may include a communication circuit (310). The electronic device may include a memory (330) that stores at least one computer program including instructions. The electronic device may include at least one processor (320). The instructions may, when executed individually or collectively by the at least one processor (320), cause the electronic device to establish device-to-device (D2D) communication with an external electronic device (220). The instructions may, when executed individually or collectively by the at least one processor (320), cause the electronic device to transmit a portion of data to the external electronic device (220) through the device-to-device communication. When the above instructions are executed individually or collectively by the at least one processor (320), the electronic device may establish communication with an external server (230) and transmit the remaining portion of the data to the external electronic device (220) through the external server (230) when the inter-device communication is disconnected while a portion of the data is to be transmitted to the external electronic device. When the above instructions are executed individually or collectively by the at least one processor (320), the electronic device may determine whether the time required to transmit the remainder of the remaining portion of the data to the external electronic device (220), if possible, is greater than a threshold value while the inter-device communication connection between the external electronic device (220) and the electronic device is transmitting the remaining portion of the data to the external electronic device (220).When the above instructions are executed individually or collectively by the at least one processor (320), if the time required for the electronic device to transmit the remainder of the remaining portion of the data to the external electronic device (220) is greater than the threshold value, the electronic device may establish communication with the external electronic device and transmit the remainder of the remaining portion of the data to the external electronic device through the communication between the devices. When the above instructions are executed individually or collectively by the at least one processor (320), if the time required for the electronic device to transmit the remainder of the remaining portion of the data to the external electronic device (220) is less than the threshold value, the electronic device may transmit the remainder of the remaining portion of the data to the external electronic device through the external server (230).
[0254] In an electronic device according to one example, the instructions may cause the electronic device to disable communication between devices when the quality of the signal received from the external electronic device (220) is less than or equal to a first value when executed individually or collectively by the at least one processor (320).
[0255] In an electronic device according to one example, the instructions may be configured to connect with the external server (230) while transmitting a portion of the data through inter-device communication when the quality of the signal received from the external electronic device (220) is less than or equal to a second value which is greater than the first value when the electronic device is executed individually or collectively by the at least one processor (320).
[0256] In an electronic device according to one example, the instructions may cause the electronic device to discover the external electronic device (220) through inter-device communication while transmitting the remaining portion of the data to the external electronic device (220) via the external server (230) when the electronic device is individually or collectively executed by the at least one processor (320). The instructions may cause the electronic device to terminate the operation of discovering the external electronic device (220) through inter-device communication when the quality of the signal received from the external electronic device (220) is less than or equal to a third value that is smaller than the first value when the electronic device is individually or collectively executed by the at least one processor (320).
[0257] In an electronic device according to one example, when the instructions are executed individually or collectively by the at least one processor (320), the electronic device may maintain a connection with the external server (230) while transmitting the remainder of the remaining part of the data to the external electronic device (220) via the device-to-device communication. When the instructions are executed individually or collectively by the at least one processor (320), the electronic device,
[0258] If the quality of the signal received from the external electronic device (220) is less than or equal to the second value, the connection with the external server (230) may be disconnected.
Claims
1. In an electronic device, Communication circuit (310); Memory (330) for storing at least one computer program including instructions; and It includes at least one processor (320), When the above instructions are executed individually or collectively by the at least one processor (320), the electronic device, Establish device-to-device (D2D) communication with an external electronic device (220), A portion of the data is transmitted to the external electronic device (220) through communication between the devices, and While transmitting a portion of the above data to the external electronic device via communication between the devices, communication is established with the external server (230), and If communication between the devices is disconnected while part of the above data needs to be transmitted to the external electronic device, The remaining portion of the data is transmitted to the external electronic device (220) through the external server (230), and While the inter-device communication connection between the external electronic device (220) and the electronic device is transmitting the remaining portion of the data to the external electronic device (220), if possible, it checks whether the time required to transmit the remainder of the remaining portion of the data to the external electronic device (220) is greater than a threshold value, and If the time required to transmit the remainder of the remaining portion of the data to the external electronic device (220) is greater than the threshold value, communication between the external electronic device and the device is established, and the remainder of the remaining portion of the data is transmitted to the external electronic device through the communication between the devices. An electronic device that transmits the remainder of the remaining portion of the data to the external electronic device (220) via the external server (230) when the time required to transmit the remainder of the remaining portion of the data to the external electronic device (220) is less than the threshold value.
2. In Paragraph 1, When the above instructions are executed individually or collectively by the at least one processor (320), the electronic device, An electronic device configured to establish communication with the external server (230) when the quality of the signal received from the external electronic device satisfies specified conditions while transmitting a portion of the above data to the external electronic device (220) via communication between the devices.
3. In paragraphs 1 and 2, When the above instructions are executed individually or collectively by the at least one processor (320), the electronic device, An electronic device that disables communication between the devices when the quality of the signal received from the external electronic device (220) is less than or equal to a first value.
4. In paragraphs 1 to 3, When the above instructions are executed individually or collectively by the at least one processor (320), the electronic device, An electronic device that connects to the external server (230) while transmitting a portion of the data through communication between the devices when the quality of the signal received from the external electronic device (220) is less than or equal to a second value which is greater than the first value.
5. In paragraphs 1 through 4, When the above instructions are executed individually or collectively by the at least one processor (320), the electronic device, While transmitting the remaining portion of the above data to the external electronic device (220) via the external server (230), the external electronic device (220) is discovered through communication between the devices, An electronic device that terminates the operation of searching for the external electronic device (220) through communication between devices when the quality of the signal received from the external electronic device (220) is less than or equal to a third value that is smaller than the first value.
6. In paragraphs 1 through 5, When the above instructions are executed individually or collectively by the at least one processor (320), the electronic device, An electronic device that, when the quality received from the external electronic device (220) is greater than or equal to the first value, connects the external electronic device (220) and the device through communication based on the search result.
7. In paragraphs 1 through 6, When the above instructions are executed individually or collectively by the at least one processor (320), the electronic device, While transmitting the remainder of the remaining portion of the above data to the external electronic device (220) via communication between the devices, a connection with the external server (230) is maintained, An electronic device that disconnects the connection with the external server (230) when the quality of the signal received from the external electronic device (220) is less than or equal to the second value.
8. In paragraphs 1 through 7, When the above instructions are executed individually or collectively by the at least one processor (320), the electronic device, An electronic device that transmits the remainder of the remainder of the data to the external electronic device (220) through the external server (230) based on confirming that the quality of the signal received from the external electronic device (220) is less than or equal to the first value while the electronic device transmits the remainder of the remainder of the data to the external electronic device (220) through communication between the devices.
9. In paragraphs 1 through 8, The value specified above is, An electronic device configured based on the time required for the above electronic device and the above external electronic device (220) to be connected through communication between the devices.
10. A recording medium storing at least one program comprising instructions that cause the electronic device to perform operations when executed individually or collectively by at least one processor (320) of the electronic device, When the above instructions are executed individually or collectively by the at least one processor (320), the electronic device, Establish device-to-device (D2D) communication with an external electronic device (220), A portion of the data is transmitted to the external electronic device (220) through communication between the devices, and If communication between the devices is disconnected while part of the above data needs to be transmitted to the external electronic device, The remaining portion of the data is transmitted to the external electronic device (220) through the external server (230), and While the inter-device communication connection between the external electronic device (220) and the electronic device is transmitting the remaining portion of the data to the external electronic device (220), if possible, it checks whether the time required to transmit the remainder of the remaining portion of the data to the external electronic device (220) is greater than a threshold value, and If the time required to transmit the remainder of the remaining portion of the data to the external electronic device (220) is greater than the threshold value, communication between the external electronic device and the device is established, and the remainder of the remaining portion of the data is transmitted to the external electronic device through the communication between the devices. A recording medium that transmits the remainder of the remaining portion of the data to the external electronic device (220) via the external server (230) when the time required to transmit the remainder of the remaining portion of the data to the external electronic device (220) is less than the threshold value.
11. In Paragraph 10, When the above instructions are executed individually or collectively by the at least one processor (320), the electronic device, A recording medium that establishes communication with the external server (230) when the quality of the signal received from the external electronic device satisfies specified conditions while transmitting a portion of the above data to the external electronic device (220) via communication between the devices.
12. In paragraphs 10 to 11, When the above instructions are executed individually or collectively by the at least one processor (320), the electronic device, A recording medium that disables communication between the devices when the quality of the signal received from the external electronic device (220) is less than or equal to a first value.
13. In Articles 10 through 12, When the above instructions are executed individually or collectively by the at least one processor (320), the electronic device, A recording medium that connects to the external server (230) while transmitting a portion of the data through communication between the devices when the quality of the signal received from the external electronic device (220) is less than or equal to a second value which is greater than the first value.
14. In Articles 10 through 13, When the above instructions are executed individually or collectively by the at least one processor (320), the electronic device, While transmitting the remaining portion of the above data to the external electronic device (220) via the external server (230), the external electronic device (220) is discovered through communication between the devices, A recording medium that terminates the operation of searching for the external electronic device (220) through communication between devices when the quality of the signal received from the external electronic device (220) is less than or equal to a third value that is smaller than the first value.
15. In a method of operating an electronic device, Operation of establishing device-to-device (D2D) communication with an external electronic device (220); The operation of transmitting a portion of the data to an external electronic device (220) through communication between the devices; The operation of establishing communication with an external server (230) while transmitting a portion of the above data to the external electronic device through communication between the devices; While a portion of the above data needs to be transmitted to the external electronic device, if communication between the devices is disconnected, the operation of transmitting the remaining portion of the above data to the external electronic device (220) through the external server (230); The operation of checking whether the time required to transmit the remainder of the remaining portion of the data to the external electronic device (220), when the inter-device communication connection between the external electronic device (220) and the electronic device is greater than a threshold value, if possible, while the remaining portion of the data is being transmitted to the external electronic device (220); If the time required to transmit the remainder of the remaining portion of the data to the external electronic device (220) is greater than the threshold value, the operation of establishing communication between the external electronic device and the device, and transmitting the remainder of the remaining portion of the data to the external electronic device through communication between the devices; and A method of operation of an electronic device comprising the operation of transmitting the remainder of the remainder of the data to the external electronic device (220) through the external server (230) when the time required to transmit the remainder of the remaining portion of the data to the external electronic device (220) is less than the threshold value.
Citation Information
Patent Citations
Link failure processing method and device, relay terminal and communication equipment
CN113923697A
Method and apparatus for carrying out device-to-device communication in wireless communication system
KR1020150044894A
Waste water trust management system with biological process using aerobic denitrification microorgaism and media
KR1020240110781A
Vehicular micro cloud transmission control protocol
US20220046468A1
Method for transmitting data by means of terminal in wireless communication system supporting sidelink, and device therefor
WO2021002736A1