Electronic device and method for acquiring estimated time required for information migration, and non-transitory computer-readable storage medium
The electronic device calculates an accurate estimated time for information migration using user inputs and AI models, addressing inefficiencies in existing systems and improving user experience.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- SAMSUNG ELECTRONICS CO LTD
- Filing Date
- 2025-09-30
- Publication Date
- 2026-05-15
AI Technical Summary
Existing systems lack the ability to accurately estimate the time required for information migration between electronic devices, such as during backup, restore, share, or copy operations, which can lead to inefficiencies and user inconvenience.
An electronic device equipped with a processor, memory, and communication circuit is used to receive user inputs for selecting information to be migrated, identify sizes of the information, and calculate an estimated time for the migration process using device information and an AI-based computational model, displaying the estimate to the user.
The solution provides users with accurate and user-friendly estimation of the time required for information migration, enhancing the efficiency and convenience of operations like backup and restore by anticipating the completion of data transfer.
Smart Images

Figure KR2025015401_15052026_PF_FP_ABST
Abstract
Description
Electronic device, method, and non-transient computer-readable storage medium for obtaining an estimated time for information migration
[0001] The present disclosure relates to an electronic device, a method, and a non-transient computer-readable storage medium for obtaining an estimated time for the migration of information (e.g., backup, restore, share, copy, and / or move).
[0002] One or more software applications may be installed on an electronic device used by a user. While the user is using the electronic device, data generated based at least on the execution of the one or more software applications (e.g., information for the execution of the software application, photos, videos, audio, text, contacts, and / or other types of media content) may be accumulated on the electronic device. Large amounts of data stored on the electronic device may be transferred in bulk to another electronic device when various events occur, such as repair, replacement, rental, and / or backup of the electronic device.
[0003] The information described above may be provided as related art for the purpose of aiding understanding of the present disclosure. None of the foregoing shall be claimed as prior art related to the present disclosure, nor shall it be used to determine prior art.
[0004] According to one embodiment, an electronic device may include a display, a communication circuit, a memory comprising one or more storage media for storing instructions, and at least one processor comprising a processing circuit. When the instructions are executed individually or collectively by the at least one processor, the electronic device may be caused to receive a first user input indicating a selection of information to be transmitted from an external electronic device connected to the electronic device for migration. When the instructions are executed individually or collectively by the at least one processor, the electronic device may be caused to obtain an estimated time elapsed until the information is restored in the memory after being transmitted from the external electronic device, using device information regarding the size of the information and the available space of the electronic device, based on receiving the first user input. When the instructions are executed individually or collectively by the at least one processor, the electronic device may be caused to obtain the estimated time through the display. When the above instructions are executed individually or collectively by the at least one processor, the electronic device may be caused to request the information from the external electronic device through the communication circuit in order to perform the migration of the information based on receiving a second user input indicating the transmission of the information.
[0005] A non-transient computer-readable storage medium for storing instructions may be provided. When the instructions are executed by an electronic device including a display and communication circuit, the electronic device may cause the electronic device to receive a first user input indicating a selection of information to be transmitted from an external electronic device connected to the electronic device for migration. When the instructions are executed by the electronic device, the electronic device may cause the electronic device to obtain an estimated time elapsed until the information is restored in the memory after being transmitted from the external electronic device, using device information regarding the size of the information and the available space of the electronic device, based on receiving the first user input. When the instructions are executed by the electronic device, the electronic device may cause the electronic device to display the estimated time through the display. When the above instructions are executed by the electronic device, the electronic device may cause the electronic device to request the information through the communication circuit to perform the migration of the information based on receiving a second user input indicating the transmission of the information.
[0006] In one embodiment, a method of an electronic device comprising a display, a memory, and a communication circuit may be provided. The method may include an operation of receiving a first user input indicating a selection of first information and second information stored in an external electronic device. Based on receiving the first user input, the method may include an operation of identifying a first size of the first information, a second size of the second information, and a third size of third information indicating the linkage of the first information and the second information. The method may include an operation of obtaining an estimated time elapsed until the first information, the second information, and the third information are transmitted from the external electronic device to the electronic device using the first size, the second size, and the third size. The method may include an operation of displaying the estimated time through the display. The above method may include an operation of requesting the first information, the second information, and the third information to the external electronic device through the communication circuit, based on receiving a second user input indicating the transmission of the first information and the second information.
[0007] According to one embodiment, an electronic device may include a display, a communication circuit, a memory comprising one or more storage media for storing instructions, and at least one processor comprising a processing circuit. When the instructions are executed individually or collectively by the at least one processor, the electronic device may cause the electronic device to receive a first user input indicating a selection of first information and second information stored in an external electronic device. When the instructions are executed individually or collectively by the at least one processor, the electronic device may cause the electronic device to identify a first size of the first information, a second size of the second information, and a third size of third information indicating the linkage of the first information and the second information, based on receiving the first user input. When the above instructions are executed individually or collectively by the at least one processor, the electronic device may be caused to obtain the estimated time elapsed until the first information, the second information, and the third information are transmitted from the external electronic device to the electronic device using the first size, the second size, and the third size. When the above instructions are executed individually or collectively by the at least one processor, the electronic device may be caused to display the estimated time through the display. When the above instructions are executed individually or collectively by the at least one processor, the electronic device may be caused to request the first information, the second information, and the third information from the external electronic device through the communication circuit based on receiving a second user input indicating the transmission of the first information and the second information.
[0008] FIG. 1 illustrates an embodiment of electronic devices connected for the transmission of information according to one embodiment.
[0009] FIG. 2 illustrates a schematic block diagram of an electronic device according to one embodiment.
[0010] FIG. 3 illustrates a flowchart for explaining operations performed by an electronic device according to one embodiment.
[0011] FIGS. 4a, FIGS. 4b, and FIGS. 4c illustrate exemplary screens displayed to select information to be transmitted from a first electronic device using categories.
[0012] FIG. 5 schematically illustrates the operation of a second electronic device that calculates the estimated time associated with the transmission of information of a first electronic device.
[0013] FIG. 6 illustrates a flowchart to explain the operation performed by an electronic device executing a time prediction model.
[0014] FIG. 7 illustrates a flowchart for explaining the operation of an electronic device that determines the estimated time.
[0015] FIGS. 8a and FIGS. 8b illustrate exemplary screens displayed by a first electronic device and / or a second electronic device according to one embodiment.
[0016] FIG. 9 illustrates exemplary screens displayed by a second electronic device based on the characteristics of information stored in a first electronic device.
[0017] FIG. 10 illustrates a graph for explaining the time interval for transmitting information from a first electronic device to a second electronic device.
[0018] FIG. 11 illustrates an exemplary operation for acquiring a dataset for training a time prediction model and / or a clustering model.
[0019] FIG. 12 illustrates an exemplary operation of training a time prediction model using a dataset obtained by performing the operation of FIG. 11.
[0020] FIG. 13 is a block diagram of an electronic device in a network environment according to various embodiments.
[0021] Hereinafter, various embodiments of this document will be described with reference to the attached drawings.
[0022] The various embodiments of this document and the terms used therein are not intended to limit the technology described in this document to specific embodiments and should be understood to include various modifications, equivalents, and / or substitutions of said embodiments. In connection with the description of the drawings, similar reference numerals may be used for similar components. A singular expression may include a plural expression unless the context clearly indicates otherwise. In this document, expressions such as “A or B,” “at least one of A and / or B,” “A, B or C,” or “at least one of A, B and / or C” may include all possible combinations of items listed together. Expressions such as “first,” “second,” “first,” or “second” may modify said components regardless of order or importance and are used only to distinguish one component from another and do not limit said components. When it is mentioned that a certain (e.g., 1st) component is “(functionally or telecommunicationally) connected” or “connected” to another (e.g., 2nd) component, said certain component may be directly connected to said other component or connected through another component (e.g., 3rd component).
[0023] FIG. 1 illustrates an embodiment of electronic devices (101-1, 101-2) connected for the transfer of information according to one embodiment. Referring to FIG. 1, as an example of an electronic device (101) connected for the transfer of information, a first electronic device (101-1) and a second electronic device (101-2) which are bar-type smartphones, a third electronic device (101-3) which is a laptop PC (personal computer), and a fourth electronic device (101-4) which is a watch are illustrated. The embodiment is not limited thereto, and the electronic device (101) may include a foldable type smartphone, a sliderable (or rollable) type smartphone, a tablet PC, a head-mounted display (HMD) device (or head-wearable electronic device), a ring, an electronic control unit (ECU) in a vehicle (e.g., an electric vehicle, EV), and other similar computing devices. The electronic device (101) of the present disclosure may be referred to as a mobile device, user equipment (UE) (or user terminal), multifunction device, portable communication device, portable device, or server. Exemplary hardware component(s) included in the electronic device (101) are described with reference to FIG. 2 and / or FIG. 13.
[0024] One embodiment of the present disclosure may relate to the transmission of information between electronic devices (101-1, 101-2). Transmitting information from the first electronic device (101-1) to the second electronic device (101-2) may be performed for copying, moving, migrating, sharing, and / or backup. Terms such as “transmission,” “copy,” “migration,” “sharing,” and / or “backup” may be used interchangeably in the present disclosure. For example, to back up information stored in the first electronic device (101-1), said information may be transmitted from the first electronic device (101-1) to the second electronic device (101-2). To transmit information from the first electronic device (101-1) to the second electronic device (101-2) (efficiently and / or quickly), said information may be at least partially compressed. In this case, the second electronic device (101-2) that receives the information can decompress the information compressed by the first electronic device (101-1). The first electronic device (101-1) may be referred to as a transmitting device and / or a source electronic device in terms of transmitting information. The second electronic device (101-2) may be referred to as a receiving device and / or a target electronic device in terms of receiving information.
[0025] The time intervals elapsed while transmitting information from the first electronic device (101-1) to the second electronic device (101-2) may include a first time interval during which the information is compressed by the first electronic device (101-1), a second time interval during which the compressed information is transmitted from the first electronic device (101-1) to the second electronic device (101-2), and a third time interval during which the compressed information is decompressed by the second electronic device (101-2). The embodiments are not limited thereto, and additional processing operations on the information transmitted from the first electronic device (101-1) to the second electronic device (101-2) may be required to transition to an available state (or accessible state) for the second electronic device (101-2) and / or the user of the second electronic device (101-2).
[0026] For example, when media content such as photos and / or videos is transmitted from a first electronic device (101-1) to a second electronic device (101-2), the media content may be required to be registered in a database managed by a specific software application, such as a Media Provider, in order to be accessed by a software application of the second electronic device (101-2) (e.g., a gallery application, a messenger application, an email application, and / or other software applications).
[0027] Referring to FIG. 1, a second electronic device (101-2) is shown connected to the first electronic device (101-1) to receive information from the first electronic device (101-1). An embodiment in which the second electronic device (101-2), which is a smartphone, is connected to the first electronic device (101-1) is shown, but the embodiment is not limited thereto, and a third electronic device (101-3), which is a laptop, and / or a fourth electronic device (101-4), which is a watch, may also be connected to the first electronic device (101-1) to receive information from the first electronic device (101-1). A connection between a first electronic device (101-1) and a second electronic device (101-2) for the transmission of information may be established by a wired interface such as a USB (universal serial bus) (e.g., USB-C) and / or a GPIO (general purpose input / output), as well as by a wireless interface such as WiFi, WiFi direct, Bluetooth, BLE (Bluetooth low-energy), LTE (long-term evolution), and / or 5G (fifth generation) NR (new radio). A software application for the transmission of information (e.g., a software application for backup and / or restoration, referred to as a switch app) may be executed by the first electronic device (101-1) and / or the second electronic device (101-2) to support the transmission of information from the first electronic device (101-1) to the second electronic device (101-2).
[0028] Referring to FIG. 1, in an exemplary state in which a first electronic device (101-1) and a second electronic device (101-2) are connected to each other, the first electronic device (101-1) may display a screen indicating that the first electronic device (101-1) is connected to the second electronic device (101-2) within a display (110-1) included in the first electronic device (101-1). The second electronic device (101-2) may display a screen (or UI (user interface)) for determining information to be transmitted from the first electronic device (101-1) within a display (110-2) included in the second electronic device (101-2). The second electronic device (101-2) may display categories of information stored in the first electronic device (101-1) (e.g., files and / or data stored in a database) within the display (110-2). Along with the above categories, the second electronic device (101-2) can display the size of the information stored in the first electronic device (101-1) separately according to the categories through the display (110-2).
[0029] Referring to an exemplary screen within the display (110-2) of FIG. 1, information stored in the first electronic device (101-1) may be divided into a first category corresponding to account information of the first electronic device (101-1), a second category corresponding to information included in the eSIM (embedded subscriber identity module) of the first electronic device (101-1), a third category corresponding to calls and contacts, a fourth category corresponding to messages, and / or a fifth category corresponding to information for the execution of a software application. For example, the size of the information stored in the first electronic device (101-1) may be displayed (individually) as five sizes per category within the display (110-2) of the second electronic device (101-2). The categories for classifying the information stored in the first electronic device (101-1) are not limited to the five categories exemplified above.
[0030] Referring to FIG. 1, the second electronic device (101-2) may display a screen containing a list of multiple categories of information stored in the first electronic device (101-1) within the display (110-2). Along with the list, the second electronic device (101-2) may display the sizes of parts (or segments) of information corresponding to each of the multiple categories. Referring to FIG. 1, an embodiment is illustrated in which the size of information representing calls and contacts stored in the first electronic device (101-1) is 500 Mb (Megabytes), the size of information representing multiple messages stored in the first electronic device (101-1) is 1 Gb (Gigabytes), and the size of information for executing a software application stored in the first electronic device (101-1) is 2.6 Gb. The second electronic device (101-2) may display texts representing the sizes within the display (110-2). The second electronic device (101-2) may receive user input indicating a selection of information included in at least one of the plurality of categories. For example, the second electronic device (101-2) may receive user input indicating a selection of information to be transmitted from the first electronic device (101-1), which is connected to the second electronic device (101-2) for migration. An exemplary operation of transmitting information from the first electronic device (101-1) to the second electronic device (101-2) based on the user input is described with reference to FIG. 3.
[0031] Referring to FIG. 1, in order to receive the user input, the second electronic device (101-2) may display UI objects (130, 131, 132, 133, 134, 135) corresponding to at least one of the plurality of categories within the display (110-2). The UI objects (130, 131, 132, 133, 134, 135) may include radio button(s) and / or checkbox(s). For example, the UI object (130) may be displayed to receive user input indicating the selection of all of the plurality of categories. For example, the UI object (130) may be displayed to receive all parts of information corresponding to each of the plurality of categories (e.g., all information transferable from the first electronic device (101-1) to the second electronic device (101-2)) from the first electronic device (101-1). For example, a UI object (131) may be displayed to receive user input for the transmission of account information stored in the first electronic device (101-1). For example, a UI object (132) may be displayed to receive user input indicating a selection of a second category corresponding to information stored in the eSIM of the first electronic device (101-1). For example, a UI object (133) may be associated with user input indicating a selection of a third category corresponding to information representing contacts and / or call history stored in the first electronic device (101-1). For example, a UI object (134) may be associated with user input indicating a selection of a fourth category corresponding to messages (e.g., messages having a size of 1 Gb) stored in the first electronic device (101-1). For example, a UI object (135) may be displayed to receive user input that causes backup and / or restoration of information (e.g., information having a size of 2.6 Gb) for the execution of software applications installed on the first electronic device (101-1).
[0032] In one embodiment, information stored in the first electronic device (101-1) may be classified according to a hierarchical connection of categories. In the present disclosure, a subcategory may refer to a category included in a specific category according to the hierarchical connection. Along with UI objects (130, 131, 132, 133, 134, 135), the electronic device (101-2) may display UI objects (142, 143, 144, 145) for receiving user input indicating a selection of subcategories included in a specific category. A UI object (142) may be displayed in a display (110-2) to receive user input indicating a selection of subcategories included in information of a second category corresponding to a UI object (132). A UI object (143) may be displayed in the display (110-2) to control the transmission of parts of information classified into subcategories included in the third category. A UI object (144) may be displayed in the display (110-2) to display other screens related to subcategories of the fourth category. A UI object (145) may be displayed in the display (110-2) to display a list of subcategories connected to (or included in) the fifth category within a hierarchical connection. Exemplary relationships between the subcategories and categories corresponding to the UI objects (142, 143, 144, 145) are described with reference to FIGS. 4a, 4b, and 4c.
[0033] Referring to FIG. 1, based on a touch gesture (e.g., a tap gesture, and / or a long touch gesture) performed on at least one of the UI objects (130, 131, 132, 133, 134, 135), the second electronic device (101-2) may receive an input indicating a selection of at least one of the UI objects (130, 131, 132, 133, 134, 135). Using said input, the second electronic device (101-2) may identify information to be transmitted from the first electronic device (101-1). For example, the second electronic device (101-2) may receive a user input to specify at least one category of information to be transmitted from the first electronic device (101-1). Referring to FIG. 1, a second electronic device (101-2) that receives at least one user input indicating a selection of UI objects (134, 135) can visually highlight the UI objects (134, 135) with respect to the remaining UI objects (130, 131, 132, 133, 134, 135).
[0034] Referring to FIG. 1, a second electronic device (101-2) that receives at least one user input indicating a selection of UI objects (134, 135) may perform operations related to the transmission of information contained in each of the fourth category and fifth category corresponding to each of the UI objects (134, 135). Operations related to the transmission of information contained in each of the fourth category and fifth category may include operations to obtain, calculate, and / or measure the estimated time elapsed to transmit said information. The second electronic device (101-2) that obtains the estimated time may display text indicating said estimated time within a display (110-2). For example, within a portion (120) of the display (110-2), the second electronic device (101-2) may display text indicating said estimated time (e.g., “about 1 hour”) together with text indicating the size of said information contained in each of the fourth category and fifth category (e.g., “3.6 Gb”).
[0035] The transmission of information contained in each of the fourth and fifth categories may be initiated upon receiving (further) user input indicating the selection of a visual object (150) having the form of a button containing designated text such as “transmission”. The user input indicating the selection of the visual object (150) may be referred to as an input for transmitting information (e.g., information contained in the fourth and fifth categories within the exemplary state of FIG. 1) from the first electronic device (101-1) to the second electronic device (101-2). Based on receiving the user input, the second electronic device (101-2) may request the first electronic device (101-1) to transmit the information stored in the first electronic device (101-1). Before initiating the transmission of said information, the second electronic device (101-2) may estimate the expected time to be elapsed for the transmission of said information. For example, while backing up or / or restoring information stored in the first electronic device (101-1), the second electronic device (101-2) may calculate an estimated time for the backup and / or restoration by utilizing the distribution characteristics of the information stored in the first electronic device (101-1) and / or the device characteristics of the second electronic device (101-2). The estimated time displayed through the portion (120) may be displayed to enhance user convenience regarding the transmission of information (e.g., to inform the user of the accurate estimated time regarding the transmission of information). A user viewing the estimated time may decide whether to touch the visual object (150) based on the estimated time to start transmitting information from the first electronic device (101-1) to the second electronic device (101-2).
[0036] To obtain an estimated time, the second electronic device (101-2) may obtain or calculate an estimated time by using an artificial intelligence-based computational model (e.g., a computational model based on a structure such as a FNN (feedforward neural network), RNN (recursive neural network), LSTM (long-short term memory), and / or CNN (convolutional neural network). The computational model executed by the second electronic device (101-2) to obtain an estimated time may be referred to as an on-device model in terms of being executed by the electronic device (101), which is a user terminal. The computational model executed by the second electronic device (101-2) to obtain an estimated time may be referred to as a trained model in terms of being trained by training data related to backup and / or restoration. An exemplary operation of the second electronic device (101-2) to obtain an estimated time using a trained model is described with reference to FIGS. 5 through 7. The operation performed to train a computational model executed to obtain an estimated time is described with reference to FIG. 11 and / or FIG. 12.
[0037] FIG. 2 illustrates a schematic block diagram of an electronic device (101) according to one embodiment. An electronic device (101) including the first electronic device (101-1) to the fourth electronic device (101-4) of FIG. 1 may have a structure as illustrated in FIG. 2.
[0038] Referring to FIG. 2, the electronic device (101) may include a processor (210), memory (215), a display (110), and / or a communication circuit (225). The processor (210) may be electrically and / or operationally coupled with the memory (215), the display (110), and / or the communication circuit (225). Electrical coupling of the electronic components may include a state in which a wired signal path (or a connection for wireless communication) for transmitting a signal is established between the electronic components. Operational coupling of the electronic components may include a state in which the electronic components are directly coupled (or indirectly coupled) so that one of the electronic components controls another electronic component. Referring to FIG. 2, an electrical connection between the processor (210), memory (215), display (110), and communication circuit (225), based on the electronic components and referred to as a communication bus (202), is schematically illustrated. Through the communication bus (202), the processor (210), memory (215), display (110), and communication circuit (225) can be communicatedly combined.
[0039] Referring to FIG. 2, the processor (210) of the electronic device (101) may include circuits (e.g., processing circuits and / or cores) for performing operations on data (e.g., arithmetic operations and / or logical operations). A binary code (e.g., instructions) representing said operations may be input to the processor (210). The processor (210) may include a central processing unit (CPU), a graphic processing unit (GPU), and / or a neural processing unit (NPU). The processor (210) may be referred to as an application processor (AP) and / or a system on a chip (SoC). The processor (210) may have a structure for loading (or fetching) and / or executing multiple instructions simultaneously (e.g., a multi-core structure based on a combination of multiple core circuits such as a dual core, quad core, hexa core, or octa core). In an electronic device (101) comprising at least one processor including a processor (210), the at least one processor may perform the operations of the present disclosure individually or collectively. For example, the at least one processor may perform the operations of FIG. 3, FIG. 6, and / or FIG. 7 individually and / or collectively by executing instructions stored in memory (215).
[0040] The memory (215) of FIG. 2 may include a circuit for storing data (or instructions) that are input to or output from the processor (210). The memory (215) may include volatile memory, such as random-access memory (RAM), and / or non-volatile memory, such as read-only memory (ROM). Non-volatile memory may be referred to as storage. Volatile memory may include, for example, at least one of dynamic RAM (DRAM), static RAM (SRAM), cache RAM, and pseudo SRAM (PSRAM). Non-volatile memory may include, for example, programmable ROM (PROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM), flash memory, hard disk, compact disk, solid state drive (SSD), and embedded multimedia card (eMMC). The memory (215) may include one or more storage media (e.g., the volatile memory and / or non-volatile memory described above) distributedly located in the electronic device (101). The processor (210) of the electronic device (101) may execute instructions in the memory (215) within the electronic device (101) to perform functions and / or operations (e.g., the operations of FIG. 3, FIG. 6, and / or FIG. 7).
[0041] A display (110) of an electronic device (101) may include a circuit for visualizing information provided from a processor (210). The display (110) may include a liquid crystal display (LCD), a plasma display panel (PDP), and / or light emitting diodes (LEDs). The LEDs may include organic LEDs (OLEDs). Embodiments are not limited thereto, and the display (110) may include electronic paper. A display area (or active area) of the display (110) may include a light-emitting area formed by pixels (e.g., active pixels) of the display (110). The display (110) may include a sensor (e.g., a touch sensor) for detecting an external object (e.g., a user's finger) on the display (110). The sensor may be included in the display (110) in the form of a panel (e.g., a touch sensor panel).
[0042] According to one embodiment, a communication circuit (225) of an electronic device (101) may include hardware for supporting the transmission and / or reception of electrical signals between the electronic device (101) and an external electronic device (e.g., a server). The communication circuit (225) may include, for example, at least one of a modem, an antenna, and an optic / electronic converter. The communication circuit (225) may support the transmission and / or reception of electrical signals based on various types of protocols such as Ethernet, LAN (local area network), WAN (wide area network), WiFi (wireless fidelity), NFC (near field communication), Bluetooth, BLE (bluetooth low energy), ZigBee, LTE (long term evolution), 5G (fifth generation) NR (new radio), 6G (sixth generation), and / or above-6G. The communication circuit (225) may include a wired interface for connecting to an external electronic device, such as USB-C.
[0043] Referring to FIG. 2, the processor (210) may execute a backup-restore application (230), which is a program stored in memory (215). The processor (210) that has executed the backup-restore application (230) may perform operations for backup and / or restoration disclosed in this document, including FIG. 1. The processor (210) may execute at least one trained model to calculate the estimated time associated with the backup and / or restoration of information of an external electronic device. The trained model may include a computational model defined to simulate the neural activity of an organism, instructions representing said computational model, and / or a set of parameters used to define said computational model.
[0044] For example, a trained model may include nodes referred to as artificial neurons and / or perceptrons, and weights assigned to connections between said nodes. For example, nodes of a trained model based on an FNN may be located in an input layer, one or more hidden layers, and an output layer, respectively. The weights may define a weighted sum between nodes included in each of the layers, such as the input layer, hidden layer, and / or output layer.
[0045] The set of weights mentioned above may be stored in memory (215). An operation to update a trained model may include an operation to update the set of weights stored in memory (215). For example, instead of updating the entire backup-restore application (230), the set of weights may be updated to update the trained model (e.g., OTA (over the air) update). For example, if the method of calculating the estimated time changes, the algorithm of the backup-restore application (230) may not be updated, and the trained model may be updated. Since only the trained model is updated without updating the backup-restore application (230), the number of times the backup-restore application (230) is updated may be reduced.
[0046] Referring to FIG. 2, a clustering model (232) and / or a time prediction model (234) are illustrated as examples of trained models included in a backup-restore application (230). A processor (210) that executes the clustering model (232) can identify the characteristics of the user of the information used for backup and / or restoration and / or the user terminal (e.g., the first electronic device (101-1) of FIG. 1) where said information is stored. A processor (210) that executes the time prediction model (234) can identify the estimated time associated with the backup and / or restoration of the information. For the execution of the time prediction model (234), the clustering model (232) may be executed first. For example, the output data of the clustering model (232) may be included in the input data of the time prediction model (234). The embodiments are not limited thereto, and the clustering model (232) may be executed to identify the distribution characteristics of the information used for backup and / or restoration. The above distribution characteristics may be used to assist in determining an estimated time based on the execution of a time prediction model (234). The above distribution characteristics may be used to recommend at least one software application related to the information.
[0047] To identify the estimated time for backup and / or restoration, the processor (210) may execute a time prediction model (234) instead of a method of calculating the estimated time based on a deterministic algorithm. The time prediction model (234) and / or clustering model (232) may be trained based on the information distribution characteristics of user terminals owned by various users. The time prediction model (234) and / or clustering model (232) may be trained based on categories of information and / or device information. The device information may be structured information, at least one of which is a model name, model code, operating system version, sales code, processing performance, and / or available space of memory (215). The time prediction model (234) and / or clustering model (232) can be trained based on the characteristics of the source electronic device (e.g., the first electronic device (101-1) of FIG. 1) as well as the target electronic device (e.g., the second electronic device (101-2) of FIG. 1).
[0048] In one embodiment, the processor (210) executing the time prediction model (234) can calculate the estimated time more accurately by using device information of the source electronic device and the target electronic device, respectively, and the category of information to be transmitted from the source electronic device to the target electronic device. Since the time prediction model (234) is trained based on training data related to backup and / or restoration (e.g., historical information related to backup and / or restoration), various factors of the runtime environment (e.g., temperature, battery status, processing performance of the processor, and / or available space of memory (215)) may be used (directly and / or indirectly) to determine the estimated time.
[0049] A processor (210) that executes a backup-restore application (230) may generate input data to be used to execute a clustering model (232) and / or a time prediction model (234). The input data may be referred to as an embedding vector and / or an input vector. The input data may include values to be assigned to nodes of the input layer of the clustering model (232) and / or the time prediction model (234). A set of instructions (e.g., sub-routines, classes, applets, and / or routines) for generating input data may be included in the backup-restore application (230). To generate input data, device information at a location connected via an electronic device (101) and / or a communication circuit (225) may be used. To generate input data, characteristics of the information to be transmitted (e.g., category, number of files representing the information, and / or size) may be used.
[0050] By executing a time prediction model (234) in which input data is input, the processor (210) can calculate the estimated time elapsed until the information is restored by the electronic device (101), as well as the transmission of information. When migrating a large amount of information, in order to provide a user experience similar to that of the source electronic device that transmitted the information (or a compressed version of the information), the target electronic device (e.g., the second electronic device (101-2) of FIG. 1 and / or the electronic device (101) of FIG. 2) may perform additional operations on the information (e.g., decompression, directory movement, and / or database registration). The estimated time obtained using the time prediction model (234) may include the time elapsed until the completion of the additional operations. The processor (210) may display the estimated time through the display (110) to guide the user (accurately) the estimated time elapsed until the completion of the transmission of information.
[0051] In one embodiment, the estimated time calculated by the processor (210) may be used to update the data used to calculate the estimated time (e.g., data and / or weights for the execution of a backup-restore application (230), a time prediction model (234), and / or a clustering model (232). For example, the processor (210) may check whether the transmission, backup, and / or restoration of the information is completed after providing the estimated time for the transmission, backup, and / or restoration of the information. Based on whether the transmission, backup, and / or restoration of the information is completed, the processor (210) may identify the length of time until the information is transmitted, backed up, and / or restored. The processor (210) may change or update the data used to calculate the estimated time using the identified length of time. For example, the identified length of time may be included in the raw data (1100) of FIG. 11.
[0052] Below, with reference to FIG. 3, an exemplary operation of an electronic device (101) and / or a processor (210) that obtains an estimated time by executing a time prediction model (234) is described.
[0053] FIG. 3 illustrates a flowchart for explaining operations performed by an electronic device according to one embodiment. The electronic device (101) of FIG. 1 and 2, and / or the processor (210) of FIG. 2 may perform the operations shown in FIG. 3. For example, the processor (210) of FIG. 2 may execute a backup-restore application (230) to perform at least one of the operations shown in FIG. 3. The order in which the operations of FIG. 3 are performed is not limited to the order shown in FIG. 3. For example, the operations of FIG. 3 may be performed in an order different from the order shown in FIG. 3. For example, at least two of the operations of FIG. 3 may be performed (substantially) simultaneously based on a multitasking method such as multi-threading. The operations of FIG. 3 can be performed so that an external electronic device (e.g., the first electronic device (101-1) of FIG. 1) transmits information to an electronic device (e.g., the second electronic device (101-2) of FIG. 1). The “second electronic device” of FIG. 3 may correspond to an electronic device, and the “first electronic device” of FIG. 3 may correspond to an external electronic device that stores information to be transmitted.
[0054] Referring to FIG. 3, within operation (310), according to one embodiment, a processor of a second electronic device may obtain feature information related to the first electronic device by using device information for a first electronic device (e.g., an external electronic device connected to the electronic device) in which information to be transmitted is stored, and / or data corresponding to categories of information stored in the first electronic device. The second electronic device may perform operation (310) based on identifying the first electronic device through a communication circuit (e.g., the communication circuit (225) of FIG. 2). For example, the second electronic device that has identified the first electronic device may request device information and / or feature information of operation (310) from the first electronic device through the communication circuit. The embodiment is not limited thereto, and the second electronic device may perform operation (310) based on an input representing a selection of at least one of the UI objects (130, 131, 132, 133, 134, 135) of FIG. 1.
[0055] For example, device information obtained based on the operation (310) may be structured information related to the hardware and / or software of the first electronic device (e.g., JSON (JavaScript object notation), and / or XML (extensible markup language)). For example, the device information may include at least one of the product code of the first electronic device (e.g., text and / or binary code representing a model name and / or model number), product type (e.g., a code indicating whether the first electronic device is a terminal of a specific category, such as “isMassModel”), sales code, country code, name and / or version of the operating system of the first electronic device (e.g., Android and / or other framework), vendor name of the first electronic device, or version of a software application installed on the first electronic device (e.g., launcher application). For example, the device information may include parameter(s) related to the storage (or non-volatile memory and / or memory) of the first electronic device (e.g., the total size of the storage, the size of the available space of the storage) as information about the hardware of the first electronic device.
[0056] For example, feature information obtained based on operation (310) may include distribution characteristics of information stored in the first electronic device. For example, feature information obtained based on operation (310) may include metadata for each of the portions per categories of information stored in the first electronic device. For example, metadata corresponding to a specific category may include parameter(s) related to the portion of information corresponding to the specific category among the information stored in the first electronic device. For example, the metadata may include the size of the portion, the number of file(s) related to the portion, the package name and version of the software application corresponding to the portion, and / or the size of the resources (or app data) of the software application.
[0057] Referring to FIG. 3, within operation (320), according to one embodiment, the processor of the second electronic device may determine whether information related to the second electronic device is required to obtain an estimated time. If information related to the second electronic device is not required to obtain an estimated time (320-No), the second electronic device may perform operation (340) (e.g., bypass and / or omit operation (330)). If information related to the second electronic device is required to obtain an estimated time (320-Yes), the second electronic device may perform operation (330) (before performing operation (340)).
[0058] The determination of the operation (320) may be related to the type of service to be provided based on the connection of the first electronic device and / or the second electronic device. For example, multiple functions (or services) related to backup and / or restoration may be provided or supported using a backup-restore application. The types of services may be distinguished based on the type of connection established between the first electronic device and the second electronic device (e.g., wired and / or wireless), the type of second electronic device to which the information of the first electronic device will be backed up (e.g., a smartphone such as the second electronic device (101-2) of FIG. 1, as well as a PC, SD card, USB storage (e.g., a USB drive connected via OTG (on-the-go)), and / or cloud), and whether the information of the first electronic device will be restored on the second electronic device. A parameter indicating the type of service may be used to determine the operation (320). The time prediction model (234) of FIG. 2 may be provided (individually) for each of the types of services. The time prediction model (234) of FIG. 2 may be provided (individually) to obtain the estimated time to be elapsed for backup and the estimated time to be resulting for restoration, respectively.
[0059] The determination of the operation (320) may be related to whether information transmitted from the first electronic device is further processed by the second electronic device. For example, if only a backup of the information stored in the first electronic device is performed, all operations related to the backup will be completed when the information is (completely) stored in the second electronic device. In the above example, all operations related to the backup will be completed when the transmission of information from the first electronic device to the second electronic device is completed. That is, the second electronic device may not perform any operations other than downloading information from the first electronic device. As in the above example, when the first electronic device is connected to the second electronic device for the backup of information (or receives user input indicating the backup of information of the first electronic device), the second electronic device may determine or obtain an estimated time without information related to the second electronic device. In other words, if the first electronic device is connected to the second electronic device for backup of information, the second electronic device may determine that information related to the second electronic device is not required to obtain the expected time.
[0060] For example, if a backup and restoration of information stored in the first electronic device is performed (e.g., migration), the second electronic device may determine that information related to the second electronic device is required to obtain an estimated time. In the above example, since the second electronic device performs (further) an operation to restore information transmitted from the first electronic device, the estimated time may further include the time elapsed until the second electronic device completes the operation.
[0061] Referring to FIG. 3, within operation (330), according to one embodiment, the processor of the second electronic device may obtain device information for the second electronic device. The device information for the second electronic device in operation (330) may be similar to the device information for the first electronic device in operation (310). For example, the device information obtained based on operation (330) may be structured information related to the hardware and / or software of the second electronic device. For example, the device information for the second electronic device may include the model name of the second electronic device, parameter(s) related to storage (e.g., memory (215) in FIG. 2) (e.g., the total size and / or the size of the available space), and / or parameter(s) related to the processor (e.g., the name of the processor, the maximum clock speed of the processor, the number of core circuits of the processor, and / or the size of the cache memory of the processor, which represent the processing performance of the processor).
[0062] Referring to FIG. 3, within operation (340), according to one embodiment, the processor of the second electronic device may generate input data for a time prediction model. For example, if the estimated time is obtained without information related to the second electronic device (320-No), the second electronic device performing operation (340) may generate or obtain input data using the device information and / or data of operation (310). For example, if the estimated time is obtained using information related to the second electronic device (320-Yes), the second electronic device performing operation (340) may generate or obtain input data using the device information of operation (330) together with the device information and data of operation (310). For example, information of the target electronic device to receive the information may be used in addition to the source electronic device where the information is stored.
[0063] Referring to FIG. 3, within operation (350), according to one embodiment, the processor of the second electronic device can obtain an estimated time by executing a time prediction model (e.g., the time prediction model (234) of FIG. 2) using the input data of operation (340). For example, the second electronic device can obtain an estimated time for operation (350) by applying the input data of operation (340) to the time prediction model. For example, if the estimated time is obtained without information related to the second electronic device (320-No), the estimated time obtained by performing operation (350) can correspond to the estimated time that will elapse until information is transmitted from the first electronic device to the second electronic device.
[0064] For example, if the estimated time is obtained using information related to the second electronic device (320-e.g.), the estimated time obtained by performing the operation (340) may include the estimated time to be elapsed for transmitting information and / or the estimated time to be elapsed for restoring said information. For example, the second electronic device may obtain the estimated time to be elapsed until the state of the information transmitted from the first electronic device is changed to a state accessible by a software application installed on the second electronic device by using the device information of the operation (330). For example, the second electronic device may obtain the estimated time to be elapsed until the information transmitted from the first electronic device is entered into a database managed by said software application. For example, the second electronic device may obtain the estimated time to be elapsed until the information is restored within the memory of the second electronic device after being transmitted from the first electronic device by using the size of the information to be transmitted from the first electronic device and the device information of the second electronic device (e.g., information indicating available space). To obtain the estimated time of operation (350), the second electronic device may use or execute a trained model (e.g., time prediction model (234) of FIG. 2) into which the size and / or device information is input. For example, since information from the source electronic device in which the information is stored, as well as information from the target electronic device to receive the information, is used, the estimated time may include the time elapsed for the restoration of information by the target electronic device (e.g., merge time).
[0065] Referring to FIG. 3, within operation (360), according to one embodiment, the processor of the second electronic device may display an estimated time on the display. For example, the second electronic device may display or output an estimated time of operation (350) within the display, such as text (e.g., “about 1 hour”) displayed on part (120) of the display (110-2) of FIG. 1. The operations (310, 320, 330, 340, 350) performed to display the estimated time of operation (360) may be executed in the background (e.g., background process and / or background execution mode) so as not to interrupt the responsiveness of the UI displayed through the display.
[0066] In one embodiment, the second electronic device may receive user input indicating the transmission of information from the first electronic device (e.g., user input indicating the selection of a visual object (150) of FIG. 1). Based on receiving said user input, the second electronic device may request said information from the first electronic device through a communication circuit in order to start (or perform) the transmission of information (e.g., migration). For example, the transmission of information from the first electronic device may be started in response to said user input.
[0067] Hereinafter, with reference to FIGS. 4a, 4b, and 4c, an exemplary operation of a second electronic device for obtaining an estimated time using categories is described.
[0068] FIGS. 4a, 4b, and 4c illustrate exemplary screens displayed to select information to be transmitted from a first electronic device using categories. Referring to FIGS. 4a through 4c, exemplary states (401, 402, 403) of a second electronic device (101-2) connected to the first electronic device (101-1) of FIG. 1 are illustrated.
[0069] In the state (401) of FIG. 4a, the second electronic device (101-2) may display a screen for selecting information to be transmitted from the first electronic device within the display (110-2). The screen may include a list of categories corresponding to each part of the information. Items (491, 492, 493) in the list may correspond to each of the categories. For example, item (491) may correspond to a category containing information representing calls and contacts. For example, item (492) may correspond to a category for classifying information representing messages. For example, item (493) may correspond to a category corresponding to information for executing a software application. Each of the items (491, 492, 493) may include a UI object for receiving user input for the corresponding category, such as a checkbox. For example, within state (401), the second electronic device (101-2) may receive or identify user input indicating a selection of information stored in the first electronic device (e.g., user input indicating a selection of at least one category).
[0070] As described above with reference to FIG. 1, each of the items (491, 492, 493) may correspond to a category connected to one another based on a hierarchical connection. For example, item (493) may correspond to a category for classifying information for the execution of a software application (e.g., category (421) in FIG. 4b). For example, item (492) may correspond to a category containing information representing at least one message (e.g., category (431) in FIG. 4c). For example, item (491) may correspond to a category (411) for classifying information representing calls and contacts. Referring to FIG. 4a, subcategories (412, 413) connected to category (411) are illustrated. Based on a hierarchical connection, each of the subcategories (412, 413) may be connected to another subcategory(s). Information representing calls and contacts may include information representing contacts and information representing call records (or call logs).
[0071] Referring to FIG. 4a, information representing a contact may correspond to a subcategory (412) of category (411), and information representing a call record may correspond to a subcategory (413) of category (411). Subcategories (412, 413) may also be connected to other subcategories based on hierarchical connections. For example, subcategory (412) may be connected to a subcategory (414) representing a contact profile and / or a subcategory representing contact settings. For example, subcategory (413) may include subcategories corresponding to call record settings, dialer settings, and / or call screen settings, respectively.
[0072] The second electronic device (101-2) can determine (more specifically) the information to be transmitted from the first electronic device (101-1) by using a hierarchical connection of categories. For example, for an item (491) corresponding to a category (411), the second electronic device (101-2) can receive user input indicating whether to receive information corresponding to each of the subcategories (412, 413) of the specific category. To receive the user input, the second electronic device (101-2) can display a UI object (494) (or visual object) associated with the item (491) within the display (110-2). In state (401), the electronic device (101-2) that identifies user input indicating selection of a UI object (494) (e.g., a tap gesture for the location of the display (110-2) where the UI object (494) is displayed and / or a mouse click on the UI object (494)) can switch to state (402).
[0073] Referring to FIG. 4a, in state (402), the second electronic device (101-2) may display a screen connected to (or mapped to) a UI object (494) in the display (110-2). The screen displayed in the display (110-2) may include a list of subcategories (412, 413) of a category (411) corresponding to the UI object (494) and / or item (491). The second electronic device (101-2) may display UI objects (417, 418) (e.g., check boxes) corresponding to each of the subcategories (412, 413). For example, a UI object (417) may be configured to receive user input indicating whether to receive information corresponding to the subcategory (413). For example, a UI object (418) may be displayed within the display (110-2) to receive user input for toggling whether to receive information corresponding to a subcategory (412). Along with the UI objects (417, 418), the electronic device (101-2) may display a UI object (419) indicating whether to receive all information contained in subcategories (412, 413) corresponding to each of the UI objects (417, 418). For example, based on input indicating the selection of a UI object (419) which is a checkbox, the electronic device (101-2) may toggle whether to receive all information contained in subcategories (412, 413) from the first electronic device.
[0074] Since UI objects (417, 418) correspond to each of the subcategories (412, 413), each of the UI objects (417, 418) can indicate whether to receive information of the corresponding subcategory. For example, whether the first electronic device receives information classified as subcategory (412) (e.g., information representing contacts) can be visualized based on the UI object (418). For example, the UI object (417) can indicate whether the first electronic device receives information of subcategory (413) (e.g., information representing call records). The UI object (419) can indicate whether the entire information corresponding to the subcategories of the UI objects (417, 418) will be transmitted from the first electronic device.
[0075] Referring to FIG. 4b, subcategories (422, 423) of a category (421) corresponding to an item (493) are illustrated. In state (401), a second electronic device (101-2) that receives user input indicating a selection of a UI object (496) associated with the item (493) can switch to state (403) for specifying information to be transmitted from the first electronic device based on the subcategories (422, 423). In state (403), the second electronic device (101-2) can display UI objects (425, 426, 427, 428) (e.g., check boxes) corresponding to each of the subcategories of the category (421). Along with UI objects (425, 426, 427, 428), the second electronic device (101-2) may display a UI object (429) for selecting all subcategories (422, 423) of category (421) within the display (110-2). The UI object (425) corresponding to the subcategory (422) may indicate whether to receive information for the execution of a calendar application from the first electronic device. The subcategory (423) corresponding to the UI object (427) may be defined to classify information for the execution of an alarm application.
[0076] Referring to FIG. 4c, subcategories (432, 433, 434) of a category (431) corresponding to an item (492) are shown. In state (401), a second electronic device (101-2) that receives user input indicating a selection of a UI object (495) associated with the item (492) may display a screen for controlling whether to receive information corresponding to each of the subcategories (432, 433, 434) from the first electronic device, similar to the states (402, 403) of FIG. 4a and / or FIG. 4b.
[0077] Referring to FIG. 4c, a category (431) for classifying information representing at least one message may include subcategories (432, 433, 434) corresponding to each of (general) text messages (e.g., text messages transmitted and / or received based on SMS (short message service)), RCS messages based on RCS (rich communication suite), and free messages having other formats.
[0078] Referring to FIG. 4c, subcategories (435, 436, 437) for subcategories (432) are illustrated exemplarily. Subcategories (435) may be defined as information related to text messages, for classifying setting values related to text messages. Subcategories (436) may include information for executing software applications related to text messages (e.g., messenger applications or other instant messaging (IM) applications). Subcategories (437) may include information indicating association (e.g., links and / or pointers) with information included in subcategories (414) of FIG. 4a (e.g., subcategories (414) for classifying contact profiles) as contacts related to text messages (e.g., contacts of the recipient who sent the text message).
[0079] Information of a certain category stored in the first electronic device may be transmitted to the second electronic device (101-2) depending on whether information of another category is transmitted from the first electronic device to the second electronic device (101-2). That is, the transmission of information of a specific category may be controlled based on whether all information of the specific category and other categories linked to the specific category is transmitted.
[0080] For example, the information included in the sub-category (437) may represent the linkage between a text message classified as a sub-category (432) and a contact profile classified as a sub-category (414). In the above example, if the text message classified as a sub-category (432) is transmitted to the second electronic device (101-2) and the contact profile classified as a sub-category (414) is not transmitted to the second electronic device (101-2), the information included in the sub-category (437) may not be transmitted to the second electronic device (101-2) because the information included in the sub-category (437) represents a mapping between the text message and the contact profile that is not stored in the second electronic device (101-2). In the above example, even if user input for transmitting information classified into sub-category (432) and / or category (431) is received, if information of sub-category (414) or a higher category of sub-category (414) (e.g., category (411) and / or sub-category (412)) is not transmitted, information classified into sub-category (414) may not be transmitted to the second electronic device (101-2).
[0081] In the above example, if only the first information corresponding to the subcategory (412) of FIG. 4a is selected, or if only the second information corresponding to the subcategory (432) of FIG. 4c is selected, the third information (e.g., information indicating the linkage of the first information and the second information) classified as a subcategory (437) for the subcategory (432) may not be transmitted to the second electronic device (101-2). The third information may be transmitted to the second electronic device (101-2) only when all of the subcategories (412, 432) are transmitted to the second electronic device (101-2). For example, when the second electronic device (101-2) receives user input indicating the transmission of the first information and the second information, it may request the first information, the second information, and the third information from the first electronic device.
[0082] According to one embodiment, the second electronic device (101-2) can (additionally) calculate the estimated time for the transmission of information representing the linkage between the categories, depending on the combination of categories of information to be transmitted to the second electronic device (101-2). For example, if the first information corresponding to the sub-category (412) of FIG. 4a (or the upper category of the sub-category (412)) is selected and the second information corresponding to the sub-category (432) of FIG. 4b is not selected, the second electronic device (101-2) can calculate the estimated time for the backup and / or restoration of the first information. For example, if the second information is selected and the first information is not selected, the second electronic device (101-2) can measure the estimated time for the backup and / or restoration of the remaining part of the second information, excluding the third information. For example, if all of the first information and the second information are selected, the second electronic device (101-2) can obtain an estimated time for backup and / or restoration of all of the first information, the second information, and the third information.
[0083] Below, with reference to FIG. 5, an exemplary operation of a second electronic device (101-2) that calculates an estimated time using the categories of FIG. 4a and / or FIG. 4c is described.
[0084] FIG. 5 schematically illustrates the operation of a second electronic device (e.g., the second electronic device (101-2) of FIG. 1) that calculates the estimated time associated with the transmission of information of a first electronic device (e.g., the first electronic device (101-1) of FIG. 1). The operation of the second electronic device of FIG. 5 may be related to the operations of FIG. 3. For example, the second electronic device of FIG. 5 may execute the backup-restore application (230) of FIG. 2 to perform the operation described with reference to FIG. 5.
[0085] Referring to FIG. 5, information to be used to generate input data (540) to be applied to a time prediction model (234) is illustrated. In one embodiment in which information stored in a first electronic device is transmitted to a second electronic device, information (510) related to the second electronic device, which is a receiving device, and / or information (520) related to the first electronic device, which is a transmitting device, may be used to generate input data (540). The information (510) on the receiving device side may include device information for the receiving device and category information for the information stored in the receiving device. The information (520) on the transmitting device side may include device information for the transmitting device and category information for the information stored in the transmitting device.
[0086] In one embodiment, category information for a specific category may include the size of the information classified into the specific category and / or the number of files representing said information. Category information for a specific category may include the package name of a software application corresponding to the specific category, the version of said software application (e.g., the version of the software application installed on the receiving device), and / or the size of the information for executing said software application. Category information for a specific category may include a parameter (or flag) indicating whether said category has been selected for backup and / or restoration. Category information for a specific category may include parameter(s) indicating an algorithm used to back up and / or restore the information classified into said specific category. Category information for a specific category may include data (or fields) dedicated to said category. For example, a category for classifying messages (e.g., category (431) and / or subcategories (432, 433, 434) of FIG. 4c) may (further) include a parameter (e.g., message type) used to process said messages. For example, category information for a specific category may include a set of feature information based on the specific category and / or service type. For example, category information for a specific category may be referred to as metadata for said specific category.
[0087] In one embodiment, the operation (530) of generating input data (540) to be input to the time prediction model (234) may be performed based on the operations (310, 320, 330, 340) of FIG. 3. For example, the second electronic device may identify or detect one or more categories of information to be transmitted from the first electronic device based on user input related to the UI objects (130, 131, 132, 133, 134, 135) of FIG. 1 and / or the UI objects (417, 418, 419, 425, 426, 427, 428, 429) of FIG. 4a and / or FIG. 4b. The input data (540) generated based on the operation (530) may include or be embedded category information of the transmitting device side information (520) and category information of the receiving device side information (510) corresponding to one or more of the categories.
[0088] As described above with reference to FIGS. 4a to 4c, the second electronic device can embed category information for a category corresponding to a third information representing the linkage between the first information and the second information corresponding to each of the categories specified by user input into the input data (540). For example, category information corresponding to a category corresponding to the third information may be embedded within the input data (540) along with category information for the categories specified by user input. The device information of the transmitting device side information (520) and the device information of the receiving device side information (510) may be included or embedded in the input data (540) generated based on the operation (530). In the case where only a backup is performed without restoring the information, the input data (540) may be generated from the transmitting device side information (520) among the receiving device side information (510) or the transmitting device side information (520).
[0089] For example, when a user input indicating the transmission of first information regarding images and second information for the execution of a software application is received, the second electronic device may generate or obtain input data (540) in which category information corresponding to the first information and category information corresponding to the second information is embedded, along with category information corresponding to the first information and category information corresponding to the second information. For example, the third information may indicate that a specific image has been set as the background screen of a messenger application.
[0090] For example, when a user input indicating the transmission of first information regarding multiple emails and second information regarding media content is received, the second electronic device may generate input data (540) including category information corresponding to the first information and category information corresponding to the second information, along with category information indicating the linkage of the first information and the second information (e.g., third information indicating media content linked to the email as an email attachment).
[0091] The second electronic device can obtain the estimated time elapsed until the information (e.g., in the above example, first information, second information, and third information) represented by the input data (540) is transmitted from the first electronic device to the second electronic device by applying and / or inputting the input data (540) to the time prediction model (234). In the above example, the second electronic device can obtain the estimated time by using the time prediction model (234) to which category information corresponding to the first information, category information corresponding to the second information, and category information corresponding to the third information is input.
[0092] Referring to FIG. 5, an example of output data (550) output from a time prediction model (234) is illustrated. The output data (550) may include an estimated backup time and an estimated restoration time for each category of information to be transmitted from the first electronic device. The estimated backup time for a specific category may represent the estimated time elapsed until the information of the specific category is transmitted from the first electronic device to the second electronic device. For example, the estimated backup time may include the time until the information is compressed by the first electronic device (or the time until the information is backed up by the first electronic device) and / or the time until the entire compressed information is transmitted to the second electronic device. The estimated restoration time for a specific category may represent the estimated time elapsed until the second electronic device restores the information transmitted from the first electronic device. For example, the estimated restoration time may include the time used for the second electronic device to perform decompression of information transmitted from the first electronic device and / or the time elapsed until the second electronic device changes the state of the information transmitted from the first electronic device to a state available for use by the software application and / or user of the second electronic device.
[0093] A second electronic device that has obtained output data (550) from a time prediction model (234) may obtain or determine an estimated time to be used to transmit information from a first electronic device to a second electronic device by combining (e.g., adding) one or more estimated backup times and / or one or more estimated restoration times included in the output data (550). The second electronic device may display or output the obtained estimated time within a display (e.g., display (110-2) of FIG. 1).
[0094] As described above, the second electronic device can identify multiple categories corresponding to different parts of information to be transmitted from the first electronic device. Based on identifying the multiple categories, the second electronic device can use a time prediction model (234) to obtain estimated times corresponding to each of the parts (e.g., estimated backup time(s) and / or estimated restoration time(s) of the output data (550)). The second electronic device can display the sum of the obtained estimated times on a display. The estimated times may include an estimated backup time that will elapse until the information is backed up to perform transmission and / or migration, and / or an estimated restoration time that will elapse until the information is restored by the second electronic device. The estimated time displayed on the display may correspond to the sum of the estimated backup time and the estimated restoration time. Input data (540) input to the time prediction model (234) may include not only category information of the multiple categories but also device information of the first electronic device and / or the second electronic device. The above device information can be used to obtain the estimated time elapsed until information included in a plurality of categories is restored within the memory of the second electronic device (e.g., memory (215) of FIG. 2) after being transmitted from the first electronic device to the second electronic device.
[0095] The information included in the output data (550) may change depending on the categories selected by user input and / or the service type. For example, if a category for classifying information representing contacts is not selected by the user, the output data (550) may not include the estimated backup time and / or estimated restoration time corresponding to said category. For example, if only a backup of information stored in the first electronic device is requested and said backed-up information is not restored in the second electronic device, the output data (550) may include only the estimated backup time(s) without the estimated restoration time.
[0096] An embodiment of obtaining output data (550) from input data (540) using a single time prediction model (234) has been illustrated, but the embodiment is not limited thereto. For example, a plurality of time prediction models corresponding to each service type may be provided. The second electronic device may apply the input data (540) to a time prediction model corresponding to a specific service type selected by user input among the plurality of time prediction models. From the time prediction model to which the input data (540) is applied, the second electronic device may obtain output data (e.g., output data (550)) corresponding to the specific service type.
[0097] Below, with reference to FIG. 6, the operation (530) performed to generate the input data (540) of FIG. 5 is described in more detail.
[0098] FIG. 6 illustrates a flowchart for explaining operations performed by an electronic device executing a time prediction model. The electronic device (101) of FIG. 1 and 2 and / or the processor (210) of FIG. 2 may perform the operations illustrated in FIG. 6. For example, the processor (210) of FIG. 2 may execute a backup-restore application (230) to perform at least one of the operations illustrated in FIG. 6. The order in which the operations of FIG. 6 are performed is not limited to the order illustrated in FIG. 6. For example, the operations of FIG. 6 may be performed in an order different from the order illustrated in FIG. 6. For example, at least two of the operations of FIG. 6 may be performed (substantially) simultaneously. The operations of FIG. 6 may be related to the operations (340) of FIG. 3 and / or the operations (530) of FIG. 5. The “transmitting device” of FIG. 6 may correspond to the first electronic device (101-1) of FIG. 1, and the “receiving device” of FIG. 6 may correspond to the second electronic device (101-2) of FIG. 1. By way of non-limiting example, the operations of FIG. 6 may be performed by the receiving device of FIG. 6. The embodiments are not limited thereto.
[0099] Referring to FIG. 6, in operation (610), a processor of an electronic device according to one embodiment may obtain device information and category information of a transmitting device and / or a receiving device. Depending on the service type, the electronic device may obtain device information of at least one of the transmitting device or the receiving device. Based on user input for selecting at least one category of information to be transmitted from the transmitting device to the receiving device, the electronic device may determine category information to be obtained from the transmitting device and / or the receiving device. For example, category information obtained based on operation (610) may correspond to at least one category selected by user input.
[0100] Referring to FIG. 6, in operation (620), a processor of an electronic device according to one embodiment may obtain or extract device information and category information of a transmitting device from among the information obtained based on operation (610). Using the device information of the transmitting device and / or category information of the transmitting device obtained by performing operation (620), the electronic device may perform operation (622).
[0101] Referring to FIG. 6, within operation (622), a processor of an electronic device according to one embodiment can identify a characteristic of a category. The category of operation (622) may represent information to be transmitted from a transmitting device to a receiving device. For example, by performing operation (622), the electronic device may identify or obtain at least one of the number of files representing said information, the size of said information, and / or the size of data for the execution of a software application related to said information as a characteristic of operation (622).
[0102] Referring to FIG. 6, within operation (624), a processor of an electronic device according to one embodiment can identify data characteristics (or user characteristics) of a transmitting device. To identify data characteristics of operation (624), the electronic device can execute a clustering model (232). For example, characteristics identified based on operation (622) and / or category information obtained based on operation (620) may be input to the clustering model (232). Using the output data of the clustering model (232), the electronic device can obtain feature information representing data characteristics and / or user characteristics of the transmitting device. For example, using the clustering model (232), the receiving device can obtain feature information related to information stored in the transmitting device.
[0103] Referring to FIG. 6, in operation (630), a processor of an electronic device according to one embodiment may generate feature information using a category of information to be transmitted from a transmitting device. The feature information of operation (630) may be generated using category information obtained based on operation (610). The feature information generated based on operation (630) may indicate whether a specific category has been selected based on user input. The feature information generated based on operation (630) may be related to a plurality of categories selected by user input as well as a category of information to be additionally transmitted based on said plurality of categories. For example, the feature information may include category information of said plurality of categories and category information of a category of information to be additionally transmitted based on said plurality of categories.
[0104] Referring to FIG. 6, within operation (640), a processor of an electronic device according to one embodiment may generate input data. The electronic device may generate input data including data characteristics identified by performing operation (624) and feature information generated by performing operation (630). The input data of operation (640) may include the input data (540) of FIG. 5. The input data generated based on operation (640) may be input to a time prediction model (e.g., the time prediction model (234) of FIG. 2). From the time prediction model to which the input data of operation (640) is applied, an estimated time may be obtained or identified. The obtained estimated time may be displayed through a display.
[0105] FIG. 7 illustrates a flowchart for explaining the operation of an electronic device for determining an estimated time. The electronic device (101) and / or processor (210) of FIG. 1 and 2 may perform the operations illustrated in FIG. 7. For example, the processor (210) of FIG. 2 may execute a backup-restore application (230) to perform at least one of the operations illustrated in FIG. 7. The order in which the operations of FIG. 7 are performed is not limited to the order illustrated in FIG. 7. For example, the operations of FIG. 7 may be performed in an order different from the order illustrated in FIG. 7. For example, at least two of the operations of FIG. 7 may be performed (substantially) simultaneously. The “electronic device” of FIG. 7 may correspond to the second electronic device (101-2) and / or receiving device of FIG. 1, and the “external electronic device” of FIG. 7 may correspond to the first electronic device (101-1) and / or transmitting device of FIG. 1. Examples are not limited thereto.
[0106] Referring to FIG. 7, within operation (710), a processor of an electronic device according to one embodiment may obtain device information and category information of the electronic device. The device information of operation (710) may include information about the hardware of the electronic device, such as available space of the electronic device (e.g., available space of memory (215) and / or non-volatile memory of FIG. 2), model name, and / or vendor name. The category information of operation (710) may include category-specific metadata about information stored in the electronic device.
[0107] Referring to FIG. 7, within operation (720), according to one embodiment, the processor of the electronic device may identify or check whether the electronic device is connected to an external electronic device for device-to-device (D2D) transmission. The D2D transmission of operation (720) may include a connection between the electronic device and the external electronic device connected to perform backup of information from the external electronic device (e.g., source electronic device) and restoration of said backed-up information from the electronic device (e.g., target electronic device), such as the first electronic device (101-1) and the second electronic device (101-2) of FIG. 1. For example, the D2D transmission may include a connection state (or connection mode) between the electronic device and the external electronic device connected to perform both backup and restoration. If the external electronic device connected to the electronic device for D2D transmission is identified (720-yes), the electronic device may perform operation (730). If an external electronic device connected to the electronic device is identified based on a connection state (or connection mode) different from the D2D transmission (720-No), the electronic device can perform an operation (740).
[0108] Referring to FIG. 7, in operation (730), a processor of an electronic device according to one embodiment may obtain device information and category information of an external electronic device. The electronic device may request the external electronic device to transmit device information and / or category information. The electronic device may obtain device information and / or category information of the external electronic device from the external electronic device in response to the request. The device information of the external electronic device may include information about the hardware of the external electronic device, such as available space of the external electronic device (e.g., available space of memory (215) and / or non-volatile memory of FIG. 2), model name, and / or vendor name. The category information of the external electronic device may include category-specific metadata about information stored in the external electronic device.
[0109] Referring to FIG. 7, within operation (735), a processor of an electronic device according to one embodiment may obtain an estimated time for backing up and restoring information included in each of a plurality of categories. The electronic device may generate input data for a time prediction model (e.g., time prediction model (234) of FIG. 2) by performing at least one of the operations illustrated in FIG. 6. For example, the electronic device may generate or obtain said input data using device information and category information of operation (710), device information and category information of operation (730). Using the time prediction model to which the input data is input, the electronic device may obtain an estimated time for operation (735).
[0110] For example, the estimated time of operation (735) may include the estimated time elapsed until information stored in an external electronic device is compressed, as an estimated time related to backup. The estimated time of operation (735) may include the estimated time elapsed until information compressed by the external electronic device is (completely) transmitted to the electronic device, as an estimated time related to backup.
[0111] For example, the estimated time of operation (735) may include the estimated time elapsed until the compressed information is decompressed by the electronic device, as an estimated time related to restoration. The estimated time of operation (735) may include the estimated time elapsed until the state of the information transmitted from the external electronic device is changed to a state accessible by the software application of the electronic device.
[0112] For example, if first information and second information of different categories related to different software applications are transmitted from an external electronic device, the estimated time of operation (735) may include a first estimated time elapsed until the state of the first information changes to a state accessible by the first software application of the electronic device, and a second estimated time elapsed until the state of the second information changes to a state accessible by the second software application of the electronic device. For example, if first information, second information of different categories, and third information representing a link between the first information and the second information are transmitted from an external electronic device, the estimated time of operation (735) may include an estimated time elapsed until all of the first information, the second information, and the third information are restored within the memory of the electronic device. In operation (735), the processor of the electronic device that calculated the first estimated time and the second estimated time may display the first estimated time and the second estimated time, respectively, through a display. For example, the processor may display on the display a first text indicating a first estimated time and a second text indicating a second estimated time.
[0113] Referring to FIG. 7, in operation (740), according to one embodiment, the processor of the electronic device can identify whether a backup for an external electronic device has been requested. If the external electronic device connected to the electronic device is not connected for D2D transmission (720-No), the electronic device can check whether it has received user input indicating a backup for the external electronic device. If a backup for the external electronic device has been requested (740-Yes), the electronic device can perform operation (745). If a backup for the external electronic device has not been requested (740-No), the electronic device can perform operation (750).
[0114] Referring to FIG. 7, in operation (745), a processor of an electronic device according to one embodiment can obtain an estimated time for backing up an external electronic device by using device information and category information of an external electronic device. In operation (745), the electronic device can generate input data to be input into a time prediction model by using device information and category information of an external electronic device. Using the input data, the electronic device can execute a time prediction model to obtain an estimated time to be elapsed for backing up information stored in the external electronic device.
[0115] Referring to FIG. 7, in operation (750), a processor of an electronic device according to one embodiment may obtain an estimated time for the restoration of information included in each of a plurality of categories. An electronic device performing operation (750) may generate input data to be input to a time prediction model using device information and / or category information obtained by performing operation (710). Using the input data, the electronic device may execute a time prediction model to obtain an estimated time to be elapsed for the restoration of information.
[0116] FIGS. 8a and FIGS. 8b illustrate exemplary screens displayed by a first electronic device (101-1) and / or a second electronic device (101-2) according to one embodiment. The first electronic device (101-1) of FIG. 1 may include the first electronic device (101-1) of FIG. 8a and / or FIG. 8b. The second electronic device (101-2) of FIG. 1 may include the second electronic device (101-2) of FIG. 8a and / or FIG. 8b.
[0117] Referring to FIG. 8a, exemplary states (801, 802) of a second electronic device (101-2) connected to the first electronic device (101-1) for the transmission of information of the first electronic device (101-1) are illustrated. Referring to FIG. 8a, a first category corresponding to one or more messages stored in the first electronic device (101-1), and a second category corresponding to information for the execution of software applications installed in the first electronic device (101-1) may be selected by user input. The second electronic device (101-2) may calculate the estimated time elapsed until the transmission of information of the first category and the second category from the first electronic device (101-1) by performing the operation described with reference to FIG. 3, FIG. 5 through FIG. 7.
[0118] The states (801, 802) of the second electronic device (101-2) of FIG. 8a may correspond to different states of the second electronic device (101-2). The states (801, 802) may include at least one of the number of programs running in the second electronic device (101-2) (e.g., programs in background execution mode), the resource state of the second electronic device (101-2) by said programs (e.g., processor utilization), the time the second electronic device (101-2) is turned on, the temperature of the second electronic device (101-2), the state of charge (SOC) of the battery of the second electronic device (101-2), or the connection state of the second electronic device (101-2) (e.g., the connection state between the second electronic device (101-2) and the first electronic device (101-1). Since device information including the available space of the second electronic device (101-2) is input into a time prediction model (e.g., time prediction model (234) of FIG. 2), the second electronic device (101-2) can obtain or calculate an estimated time based on the available space. For example, if the available space of the second electronic device (101-2) in state (802) is less than the available space of the second electronic device (101-2) in state (801), the estimated time calculated by the second electronic device (101-2) in state (802) (e.g., “about 1 hour and 20 minutes”) indicated through part (810) may be longer than the estimated time calculated by the second electronic device (101-2) in state (801) (e.g., “about 1 hour”) indicated through part (120).
[0119] Referring to FIG. 8b, exemplary states (803, 804) of an electronic device (101) backing up information to an SD card (820) are illustrated. In state (803) of FIG. 8b, the electronic device (101) may display an execution screen provided by a backup-restore application (e.g., the backup-restore application (230) of FIG. 2) on a display (110). The electronic device (101) may display visual objects (821, 828, 829) for selecting a service type to be provided based on the backup-restore application on the display (110).
[0120] For example, a visual object (828) containing the text “data transmission” may correspond to a service type for transmitting information of the electronic device (101) to an external (e.g., SD card (820), cloud service, and / or other external electronic device). Based on user input indicating the selection of the visual object (828), the electronic device (101) may establish a connection based on D2D transmission with an external electronic device connected via a communication circuit. In the above example, the electronic device (101) may operate as the first electronic device (101-1) of FIG. 1, and the external electronic device may operate as the second electronic device (101-2) of FIG. 1.
[0121] For example, a visual object (829) containing the text “receive data” may correspond to a service type for receiving information from an external electronic device (e.g., SD card (820), cloud service, and / or external electronic device) and / or restoring said information to the electronic device (101). Based on user input indicating the selection of the visual object (829), the electronic device (101) may establish a connection based on D2D transmission with an external electronic device connected via a communication circuit. In the above example, the electronic device (101) may operate as the second electronic device (101-2) of FIG. 1, and the external electronic device may operate as the first electronic device (101-1) of FIG. 1.
[0122] For example, a visual object (821) including an icon representing an SD card (820) may correspond to a service type for transmitting information to an SD card (820) that has been inserted into an electronic device (101) (e.g., inserted into an SD card slot of the electronic device (101)). Upon receiving user input indicating the selection of the visual object (821), the electronic device (101) may switch from the state (803) of FIG. 8b to the state (804).
[0123] In the state (804) of FIG. 8b, the electronic device (101) may receive at least one user input indicating the selection of a first category corresponding to one or more messages stored in the electronic device (101), and a second category corresponding to information for the execution of software applications installed in the electronic device (101). Based on the user input, the electronic device (101) may obtain an estimated time that will elapse until the information of the first category and the second category is transmitted to the SD card (820). By inputting a value (e.g., a designated service type value) indicating the transmission of information to the SD card (820) into a time prediction model, the electronic device (101) may obtain the estimated time. For example, the electronic device (101) may obtain an estimated time that will elapse until the information of the first category and the second category is backed up to the SD card (820). The electronic device (101) that has obtained the above estimated time may display text indicating the above estimated time (e.g., “about 2 hours and 15 minutes”) on a part (822) of the display (110).
[0124] As described above, the electronic device (101) can calculate the estimated time for backup and / or restoration in each of various service types (e.g., D2D transmission in FIG. 8a and / or transmission to the SD card (820) in FIG. 8b) using a time prediction model. Although an embodiment of FIG. 8a where the target electronic device is a mobile phone and an embodiment of FIG. 8b where the target electronic device is an SD card (820) have been described, the embodiments are not limited thereto. For example, a head-mounted display (HMD) device (or head-wearable electronic device), a watch (e.g., the fourth electronic device (101-4) in FIG. 1), and / or a ring-shaped electronic device may also perform the operation of obtaining the estimated time related to backup and / or restoration as described with reference to FIG. 1 through 7, FIG. 8a and / or FIG. 8b. Since the electronic device (101) obtains the estimated time related to backup and / or restoration in batches using a time prediction model, the electronic device (101) can obtain the estimated time (quickly) without additional communication with an external electronic device (e.g., the first electronic device (101-1) of FIG. 8a and / or the SD card (820) of FIG. 8b). When the size of the information increases over time, the electronic device (101) can obtain the estimated time for backup and / or restoration of the information having the increased size more accurately using a time prediction model.
[0125] Referring to FIG. 8b, within state (804), the electronic device (101) may display a visual object (823) (e.g., a button-shaped visual object containing text such as “Transfer”) to initiate a backup of information using the SD card (820). In response to user input indicating the selection of the visual object (823), the electronic device (101) may create or store a backup file (at least one) containing information of the first category and the second category on the SD card (820). Within the backup file, the electronic device (101) may store device information and / or category information of the electronic device (101) (e.g., metadata for each of the first category and the second category). Embodiments are not limited thereto, and the device information and / or category information may be stored in a different file from the backup file. The device information and / or category information stored on the SD card (820) can be used to obtain an estimated time related to the restoration before performing the restoration based on the backup file.
[0126] FIG. 9 illustrates exemplary screens displayed by a second electronic device (101-2) based on the characteristics of information stored in a first electronic device (101-1). The first electronic device (101-1) of FIG. 1 may include the first electronic device (101-1) of FIG. 9. The second electronic device (101-2) of FIG. 1 may include the second electronic device (101-2) of FIG. 9.
[0127] Referring to FIG. 9, exemplary screens are shown on the display (110-2) of a second electronic device (101-2) connected to the first electronic device (101-1) for the transmission of information of the first electronic device (101-1). The second electronic device (101-2) can identify user characteristics and / or data characteristics of the first electronic device (101-1) by executing the clustering model (232) of FIG. 2. The operation of the second electronic device (101-2) executing the clustering model (232) of FIG. 2 may be related to the operation (624) of FIG. 6.
[0128] For example, the data characteristics (or user characteristics) of the first electronic device (101-1) may be related to actions frequently performed by the user who owns the first electronic device (101-1) using the first electronic device (101-1). For example, if the user of the first electronic device (101-1) sends a lot of emails, the proportion of information representing emails within the first electronic device (101-1) may be high. For example, if the user of the first electronic device (101-1) takes a lot of photos and / or videos, the proportion of photos and / or videos within the first electronic device (101-1) may be high. The second electronic device (101-2) can identify or determine data characteristics corresponding to the first electronic device (101-1) (or the user of the first electronic device (101-1)) by using a model trained to identify data characteristics of the first electronic device (101-1), such as the clustering model (232) of FIG. 2. For example, among the specified characteristics, a specified characteristic corresponding to the data characteristics of the first electronic device (101-1) can be determined.
[0129] Referring to FIG. 9, when connected to the first electronic device (101-1), the second electronic device (101-2) can identify or determine the data characteristics (or user characteristics) of the first electronic device (101-1) by using information (e.g., device information and / or category information) obtained from the first electronic device (101-1). The device information and / or category information may include the software application execution history of the user of the first electronic device (101-1). Based on the execution history, the second electronic device (101-2) can identify the data characteristics and / or user characteristics for the first electronic device (101-1). For example, since the first electronic device (101-1) stores a relatively large number of photos, it is assumed that the data characteristics of the first electronic device (101-1) correspond to a specific characteristic for classifying devices in which many photos are stored. In the above example, the second electronic device (101-2) may display a UI object (912) for selecting a category based on said characteristic on the display (110-2), along with text (e.g., “active photographer”) and / or an icon representing said characteristic. said text and / or at least one keyword representing said characteristic may be determined based on a large language model (LLM). The UI object (912) may be displayed along with UI objects (911, 913) corresponding to different options for selecting information to be transmitted from the first electronic device (101-1). For example, the UI object (911) may correspond to an option for transmitting all information from the first electronic device (101-1). For example, the UI object (913) may correspond to an option for limiting the information to be transmitted from the first electronic device (101-1) using multiple categories.
[0130] Referring to FIG. 9, in an exemplary state in which input indicating the selection of a UI object (912) is received, the second electronic device (101-2) can visually highlight the UI object (912) over the remaining UI objects (911, 913). In the above state, the second electronic device (101-2) in which user input indicating the selection of a UI object (915) (e.g., a button containing designated text such as “Next”) can display a screen (920) on the display (110-2). The screen (920) can display categories corresponding to the UI object (912) that was selected by the user in the above state. Referring to the exemplary screen (920) of FIG. 9, among a plurality of categories for classifying information stored in the first electronic device (101-1), information of a specific category (e.g., images) may be selected to be transmitted preferentially from the first electronic device (101-1) based on data characteristics corresponding to the UI object (912). The second electronic device (101-2) may obtain or calculate the estimated time elapsed until information of one or more categories selected based on the data characteristics is transmitted from the first electronic device (101-1) by using a time prediction model (e.g., the time prediction model (234) of FIG. 2). The second electronic device (101-2) may display the estimated time on the display (110-2).
[0131] Referring to FIG. 9, the second electronic device (101-2) can display a screen (930) recommending a software application to be installed on the second electronic device (101-2) based on the data characteristics of the first electronic device (101-1). For example, based on user input indicating the selection of a UI object (914) displayed on the display (110-2), the second electronic device (101-2) can display a screen (930) on the display (110-2).
[0132] Referring to the exemplary screen (930) of FIG. 9, the screen (930) may include parts (931, 933) corresponding to each of the software applications corresponding to the data characteristics of the first electronic device (101-1). The part (931) corresponding to the note application may include a UI object (932) for executing the note application when the note application is installed on the second electronic device (101-2). Upon receiving user input indicating the selection of the UI object (932), the second electronic device (101-2) may execute the note application and display the execution screen provided by the note application through the display (110-2).
[0133] The part (933) corresponding to the calendar application may include a UI object (934) for downloading and / or installing the calendar application when the calendar application is not installed on the second electronic device (101-2). Based on user input indicating the selection of the UI object (934), the second electronic device (101-2) may execute a software application (e.g., a store) for downloading and / or installing the calendar application, and may display an execution screen provided by the software application through the display (110-2).
[0134] The embodiments are not limited thereto, and the second electronic device (101-2) may display a part (935) within the screen (930) for changing a setting value of the second electronic device (101-2) based on the data characteristics of the first electronic device (101-1). The part (935) may include a UI object (936) that causes a change in the setting value. Based on user input indicating the selection of the UI object (936), the second electronic device (101-2) may display an execution screen for changing the setting value on the display (110-2).
[0135] FIG. 10 illustrates a graph (1000) for explaining the time interval for transmitting information from a first electronic device (e.g., the first electronic device (101-1) of FIG. 1) to a second electronic device (e.g., the second electronic device (101-2) of FIG. 1). The graph (1000) of FIG. 10 illustrates the relationship between the number of messages stored in each of the first electronic device and the second electronic device, and the time elapsed until the transmission of the plurality of messages, when transmitting a plurality of messages from the first electronic device to the second electronic device.
[0136] For example, the first axis (1010) of the graph (1000) represents the number of messages stored in the second electronic device. The second axis (1020) of the graph (1000) represents the number of messages stored in the first electronic device, for example, messages to be transmitted from the first electronic device to the second electronic device. The third axis (1030) of the graph (1000) represents the transmission time of the messages represented by the second axis (1020) from the first electronic device to the second electronic device where the messages represented by the first axis (1010) are stored.
[0137] Referring to the graph (1000), the transmission time of messages appearing along the third axis (1030) may increase non-linearly depending on the number of messages stored in the first electronic device appearing along the second axis (1020). For example, at least one of the time elapsed until the first electronic device compresses the messages, the time elapsed until the messages are transmitted from the first electronic device to the second electronic device, and the time elapsed until the compressed messages are decompressed by the second electronic device may increase non-linearly.
[0138] Similarly, the transmission time of messages appearing along the third axis (1030) may increase non-linearly depending on the number of messages (already) stored in the second electronic device appearing along the first axis (1010). For example, the second electronic device may store messages transmitted from the first electronic device in a database for managing messages already stored in the second electronic device. Since the size and / or performance of the database decreases depending on the number of messages already stored in the second electronic device, the more messages already stored in the second electronic device, the more the time elapsed to restore the messages of the first electronic device may increase non-linearly.
[0139] According to one embodiment, the second electronic device can more accurately calculate the estimated time related to the backup and / or restoration of information by running a model that learns the transmission time trend shown through the graph (1000) (e.g., the clustering model (232) and / or time prediction model (234) of FIG. 2). Using the trained model, the second electronic device can calculate the estimated time including non-linear characteristics such as the graph (1000).
[0140] As described above, according to one embodiment, a second electronic device can predict, with respect to information to be transmitted from a first electronic device, the expected time elapsed until the information is backed up by the first electronic device, and / or the expected time elapsed until the information is restored by the second electronic device. The expected time may be predicted based on the characteristics of the information (e.g., category), the characteristics of the first electronic device (e.g., characteristics of the first electronic device indicated by device information), and / or the characteristics of the second electronic device (e.g., characteristics of the second electronic device indicated by device information). At least one trained model may be used to determine the expected time.
[0141] Hereinafter, with reference to FIG. 11 and / or FIG. 12, the operation of training an artificial intelligence model (e.g., the clustering model (232) and / or the time prediction model (234) of FIG. 2) used to calculate the estimated time is described.
[0142] FIG. 11 illustrates an exemplary operation for acquiring a data set for training a time prediction model (e.g., the time prediction model (234) of FIG. 2) and / or a clustering model (e.g., the clustering model (232) of FIG. 2). The operation of FIG. 11 may be performed by an electronic device (e.g., a server and / or the electronic device (101) of FIG. 2) and / or a processor (e.g., the processor (210) of FIG. 2) for training the time prediction model and / or the clustering model.
[0143] Referring to FIG. 11, according to one embodiment, an electronic device may obtain raw data (1100) related to the backup and / or restoration of information. The raw data (1100) may be obtained from or received from a user terminal (e.g., the electronic device (101) of FIG. 1) that has executed a backup-restoration application (e.g., the backup-restoration application (230) of FIG. 2). The user terminal executing the backup-restoration application may transmit at least a portion of the raw data (1100) to the electronic device. The raw data (1100) may include log data related to the backup and / or restoration performed by the user terminal. The raw data (1100) may include device information of the user terminal, timestamp(s) indicating the time interval during which the backup and / or restoration was performed, the size of the information that was backed up and / or restored, the number of files representing said information, and / or at least one category corresponding to said information. The raw data (1100) may include a value indicating whether the backup and / or restoration was successfully performed. The time at which the electronic device receives the raw data (1100) from the user terminal and the information included in the raw data (1100) may be summarized as shown in Table 1. However, the embodiments are not limited thereto.
[0144] At the time when the service type raw data (1100) is received; at the time when the restoration of the data D2D (e.g., backup and restoration of information of interconnected mobile phones) included in the raw data (1100) is completed; at the time when the backup of the PC (e.g., when the PC is connected to the mobile phone to back up the mobile phone's information) is completed; at the time when the backup of the electronic device (e.g., mobile phone) connected for backup is completed; at the time when the restoration of the PC (e.g., when the PC is connected to the mobile phone to restore information stored on the PC) is completed; at the time when the device information of the electronic devices (e.g., PC and mobile phone), category information (e.g., selection of categories), and restoration result
[0145] Referring to FIG. 11, the electronic device may perform a preprocessing operation (1110) on raw data (1100). The preprocessing operation (1110) may include a filtering operation (1120) on the raw data (1100), a standardization operation (1130) on the filtered raw data (1100), and / or an operation (1140) to generate a data set on the standardized raw data (1100). The filtering operation (1120) may include an operation to remove at least a portion of the raw data (1100) where errors and / or failures (e.g., failure of backup and / or restoration) occurred. The filtering operation (1120) may include an operation to remove at least a portion of the raw data (1100) containing missing values. The operation (1140) of generating a data set may include an operation of additionally changing the raw data (1100) modified by the filtering operation (1120) and the standardization operation (1130) to a service type.
[0146] Referring to FIG. 11, by performing a preprocessing operation (1110), the electronic device can obtain a preprocessed data set (1150). The preprocessed data set (1150) can be used for training a time prediction model (e.g., the time prediction model (234) of FIG. 2) in operation (1190). Operation (1190) is described in more detail with reference to FIG. 12. The preprocessed data set (1150) can be used for training a clustering model (e.g., the clustering model (232) of FIG. 2).
[0147] Referring to FIG. 11, for training a clustering model, the preprocessed data set (1150) may be further modified. In operation (1160), the electronic device may extract a data set corresponding to a transmitting device (e.g., the first electronic device (101-1) of FIG. 1) from the preprocessed data set (1150). For the extracted data set, in operation (1165), the electronic device may generate embedding vectors corresponding to the extracted data set. The embedding vectors may be input data and / or input vectors for the clustering model. The embedding vectors may be feature vectors for the extracted data set.
[0148] In operation (1170), the electronic device may determine the number of clusters to be generated by grouping the extracted data set. In operation (1175), the electronic device may cluster the embedding vectors based on the clusters determined in operation (1170). An algorithm for clustering vectors (e.g., K-means algorithm) may be executed by the electronic device to cluster the embedding vectors. The number of clusters may correspond to the total number of data features and / or user features to be classified using the clustering model. In operation (1180), the electronic device may train the clustering model using the embedding vectors and the results of clustering the embedding vectors. For example, the clustering model may be trained to perform clustering for new embedding vectors that are different from the embedding vectors.
[0149] When training a time prediction model based on operation (1190), the electronic device may use a clustering model trained based on operation (1180). For example, the electronic device may input data characteristics (or user characteristics) corresponding to a preprocessed data set (1150), obtained by running the clustering model, into the time prediction model. For example, the time prediction model may be trained to learn the backup and / or restoration history represented by the preprocessed data set (1150) according to the data characteristics and / or user characteristics. In the above example, since the time prediction model based on the training is used to predict the backup and / or restoration time, the data characteristics and / or user characteristics of the electronic device on which the backup and / or restoration is to be performed may be used to accurately predict the backup and / or restoration time.
[0150] Since the time prediction model and / or clustering model is trained based on raw data (1100), the estimated time can be calculated more accurately based on the history of actually performing backup and / or restoration. For example, backup files for specific information may be repeatedly created due to terminal compatibility issues. Since the time prediction model and / or clustering model is trained based on raw data (1100) that includes the history of how the backup files were repeatedly created, the estimated time can be calculated more accurately based on said history. Since the raw data (1100) includes the history of various situations (e.g., fever, and / or performance) of the user terminal that performed backup and / or restoration, the time prediction model and / or clustering model can be trained to calculate the estimated time more accurately in various situations.
[0151] The time prediction model and / or clustering model trained based on operations (1180, 1190) may be installed on a user terminal (e.g., electronic device (101) of FIG. 1) in the form of an on-device model based on TensorFlow lite and / or ONNX (open neural network exchange). Even after being installed on the user terminal, the time prediction model and / or clustering model may be trained based on on-device learning and / or federated learning.
[0152] Below, with reference to FIG. 12, an exemplary operation (1190) performed for training a time prediction model is described in more detail.
[0153] FIG. 12 illustrates an exemplary operation of training a time prediction model (e.g., the time prediction model of FIG. 2 (234)) using a data set (e.g., a preprocessed data set (1150)) obtained by performing the operation of FIG. 11. The operation of FIG. 12 may be performed by an electronic device and / or a processor of said electronic device that performs the operation (1190) of FIG. 11.
[0154] In one embodiment, the time prediction model may be divided into sub-models corresponding to each of the service types. For example, a first sub-model may be trained to predict the expected time to elapse for backing up information from a source electronic device and restoring information from a target electronic device, such as D2D transmission. For example, a second sub-model may be trained to predict the expected time to elapse for restoring information stored on a PC from a target electronic device. For example, a third sub-model may be trained to predict the expected time to elapse for backing up information stored on a source electronic device to a PC. The first sub-model, the second sub-model, and the third sub-model may be included in a backup-restoration application in the form of a time prediction model for calculating the expected time. A user terminal (e.g., the electronic device (101) of FIG. 2) executing the backup-restoration application may execute any one of the first to third sub-models according to the service type.
[0155] From the preprocessed data set (1150), the electronic device may extract a data set (1220) related to D2D transmission for training the first sub-model. Using the data set (1220), in operation (1222), the electronic device may generate training data related to backup and / or restoration in D2D. The training data generated based on operation (1222) may be used for training the first sub-model.
[0156] The electronic device may extract a data set (1230) for training a second sub-model and / or a third sub-model from a preprocessed data set (1150). The electronic device may extract a data set (1240) related to the restoration of PC-based information (e.g., restoration of information stored in a PC at a target electronic device) from the data set (1230). For example, the data set (1240) may represent the history of information stored in a PC being restored at a target electronic device. Using the data set (1240), in operation (1242), the electronic device may generate training data for predicting PC-based restoration time. The training data generated based on operation (1242) may be used for training the second sub-model.
[0157] The electronic device can extract a data set (1250) related to the backup of PC-based information (e.g., backup of information stored in the source electronic device to the PC) from the data set (1230). For example, the data set (1250) may represent a history of backing up information from the source electronic device to the PC. Using the data set (1250), in operation (1252), the electronic device can generate training data for predicting PC-based backup times. The training data generated based on operation (1252) can be used for training a third sub-model.
[0158] FIG. 13 is a block diagram of an electronic device (1301) in a network environment (1300) according to various embodiments. Referring to FIG. 13, in the network environment (1300), the electronic device (1301) may communicate with an electronic device (1302) through a first network (1398) (e.g., a short-range wireless communication network) or may communicate with at least one of an electronic device (1304) or a server (1308) through a second network (1399) (e.g., a long-range wireless communication network). According to one embodiment, the electronic device (1301) may communicate with the electronic device (1304) through a server (1308). According to one embodiment, the electronic device (1301) may include a processor (1320), memory (1330), input module (1350), sound output module (1355), display module (1360), audio module (1370), sensor module (1376), interface (1377), connection terminal (1378), haptic module (1379), camera module (1380), power management module (1388), battery (1389), communication module (1390), subscriber identification module (1396), or antenna module (1397). In some embodiments, at least one of these components (e.g., connection terminal (1378)) may be omitted from the electronic device (1301), or one or more other components may be added. In some embodiments, some of these components (e.g., sensor module (1376), camera module (1380), or antenna module (1397)) may be integrated into a single component (e.g., display module (1360)).
[0159] The processor (1320) can, for example, execute software (e.g., program (1340)) to control at least one other component (e.g., hardware or software component) of the electronic device (1301) connected to the processor (1320) and perform various data processing or operations. According to one embodiment, as at least part of the data processing or operations, the processor (1320) can store commands or data received from other components (e.g., sensor module (1376) or communication module (1390)) in volatile memory (1332), process the commands or data stored in volatile memory (1332), and store the resulting data in non-volatile memory (1334). According to one embodiment, the processor (1320) may include a main processor (1321) (e.g., a central processing unit or an application processor) or an auxiliary processor (1323) that can operate independently or together with it (e.g., a graphics processing unit, a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor). For example, if the electronic device (1301) includes a main processor (1321) and an auxiliary processor (1323), the auxiliary processor (1323) may be configured to use less power than the main processor (1321) or to be specialized for a specified function. The auxiliary processor (1323) may be implemented separately from the main processor (1321) or as part thereof.
[0160] The auxiliary processor (1323) may control at least some of the functions or states associated with at least one component of the electronic device (1301) (e.g., display module (1360), sensor module (1376), or communication module (1390)) on behalf of the main processor (1321) while the main processor (1321) is in an inactive (e.g., sleep) state, or together with the main processor (1321) while the main processor (1321) is in an active (e.g., application execution) state. According to one embodiment, the auxiliary processor (1323) (e.g., image signal processor or communication processor) may be implemented as part of another functionally related component (e.g., camera module (1380) or communication module (1390)). According to one embodiment, the auxiliary processor (1323) (e.g., neural network processing unit) may include a hardware structure specialized for processing an artificial intelligence model. The artificial intelligence model may be generated through machine learning. Such learning may be performed, for example, on the electronic device (1301) itself where the artificial intelligence model is executed, or through a separate server (e.g., server (1308)). The learning algorithm may include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but is not limited to the examples described above. The artificial intelligence model may include a plurality of artificial neural network layers.An artificial neural network may be a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), a restricted Boltzmann machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN), a deep Q-network, or a combination of two or more of the above, but is not limited to the examples described above. In addition to the hardware structure, the artificial intelligence model may include a software structure, either additionally or substantially.
[0161] The memory (1330) can store various data used by at least one component of the electronic device (1301) (e.g., processor (1320) or sensor module (1376)). The data may include, for example, input data or output data for software (e.g., program (1340)) and related commands. The memory (1330) may include volatile memory (1332) or non-volatile memory (1334).
[0162] The program (1340) may be stored as software in memory (1330) and may include, for example, an operating system (1342), middleware (1344), or an application (1346).
[0163] The input module (1350) can receive commands or data to be used for a component of the electronic device (1301) (e.g., processor (1320)) from outside the electronic device (1301) (e.g., user). The input module (1350) may include, for example, a microphone, a mouse, a keyboard, a key (e.g., a button), or a digital pen (e.g., a stylus pen).
[0164] The sound output module (1355) can output a sound signal to the outside of the electronic device (1301). The sound output module (1355) may include, for example, a speaker or a receiver. The speaker may be used for general purposes, such as multimedia playback or recording playback. The receiver may be used to receive incoming calls. According to one embodiment, the receiver may be implemented separately from the speaker or as part thereof.
[0165] The display module (1360) can visually provide information to an external (e.g., user) of the electronic device (1301). The display module (1360) may include, for example, a display, a holographic device, or a projector and a control circuit for controlling said device. According to one embodiment, the display module (1360) may include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of the force generated by said touch.
[0166] The audio module (1370) can convert sound into an electrical signal or, conversely, convert an electrical signal into sound. According to one embodiment, the audio module (1370) can acquire sound through the input module (1350) or output sound through the sound output module (1355) or an external electronic device (e.g., electronic device (1302)) (e.g., speaker or headphones) connected directly or wirelessly to the electronic device (1301).
[0167] The sensor module (1376) can detect the operating state of the electronic device (1301) (e.g., power or temperature) or the external environmental state (e.g., user state) and generate an electrical signal or data value corresponding to the detected state. According to one embodiment, the sensor module (1376) may include, for example, a gesture sensor, a gyroscope sensor, a barometric pressure sensor, a magnetic sensor, an accelerometer sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biosensor, a temperature sensor, a humidity sensor, or an illuminance sensor.
[0168] The interface (1377) may support one or more specified protocols that can be used for the electronic device (1301) to be connected directly or wirelessly to an external electronic device (e.g., electronic device (1302)). According to one embodiment, the interface (1377) may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
[0169] The connection terminal (1378) may include a connector through which the electronic device (1301) can be physically connected to an external electronic device (e.g., electronic device (1302)). According to one embodiment, the connection terminal (1378) may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).
[0170] The haptic module (1379) can convert an electrical signal into a mechanical stimulus (e.g., vibration or movement) or an electrical stimulus that the user can perceive through tactile or kinesthetic senses. According to one embodiment, the haptic module (1379) may include, for example, a motor, a piezoelectric element, or an electric stimulation device.
[0171] The camera module (1380) can capture still images and video. According to one embodiment, the camera module (1380) may include one or more lenses, image sensors, image signal processors, or flashes.
[0172] The power management module (1388) can manage the power supplied to the electronic device (1301). According to one embodiment, the power management module (1388) can be implemented, for example, as at least part of a power management integrated circuit (PMIC).
[0173] The battery (1389) can supply power to at least one component of the electronic device (1301). According to one embodiment, the battery (1389) may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
[0174] The communication module (1390) can support the establishment of a direct (e.g., wired) communication channel or a wireless communication channel between an electronic device (1301) and an external electronic device (e.g., electronic device (1302), electronic device (1304), or server (1308)), and the performance of communication through the established communication channel. The communication module (1390) may include one or more communication processors that operate independently of the processor (1320) (e.g., application processor) and support direct (e.g., wired) communication or wireless communication. According to one embodiment, the communication module (1390) may include a wireless communication module (1392) (e.g., cellular communication module, short-range wireless communication module, or GNSS (global navigation satellite system) communication module) or a wired communication module (1394) (e.g., LAN (local area network) communication module, or power line communication module). The corresponding communication module among these communication modules can communicate with an external electronic device (1304) via a first network (1398) (e.g., a short-range communication network such as Bluetooth, WiFi (wireless fidelity) direct, or IrDA (infrared data association)) or a second network (1399) (e.g., a legacy cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., a LAN or WAN). These various types of communication modules may be integrated into a single component (e.g., a single chip) or implemented as multiple separate components (e.g., multiple chips). The wireless communication module (1392) can identify or authenticate the electronic device (1301) within a communication network such as the first network (1398) or the second network (1399) using subscriber information (e.g., International Mobile Subscriber Identifier (IMSI)) stored in the subscriber identification module (1396).
[0175] The wireless communication module (1392) can support 5G networks and next-generation communication technologies following 4G networks, for example, new radio access technology. NR access technology can support high-speed transmission of high-capacity data (enhanced mobile broadband (eMBB)), minimization of terminal power and connection of multiple terminals (massive machine type communications (mMTC)), or high reliability and low latency (ultra-reliable and low-latency communications (URLLC)). The wireless communication module (1392) can support a high-frequency band (e.g., mmWave band) to achieve a high data transmission rate, for example. The wireless communication module (1392) can support various technologies for securing performance in the high-frequency band, such as beamforming, massive MIMO (multiple-input and multiple-output), full-dimensional MIMO (FD-MIMO), array antenna, analog beam-forming, or large-scale antenna. The wireless communication module (1392) can support various requirements specified in the electronic device (1301), external electronic device (e.g., electronic device (1304)), or network system (e.g., second network (1399)). According to one embodiment, the wireless communication module (1392) can support a Peak data rate (e.g., 20 Gbps or more) for eMBB realization, loss coverage (e.g., 164 dB or less) for mMTC realization, or U-plane latency (e.g., downlink (DL) and uplink (UL) each 0.5 ms or less, or round trip 1 ms or less) for URLLC realization.
[0176] An antenna module (1397) can transmit a signal or power to or from an external source (e.g., an external electronic device). According to one embodiment, the antenna module (1397) may include an antenna comprising a radiator made of a conductor or a conductive pattern formed on a substrate (e.g., a PCB). According to one embodiment, the antenna module (1397) may include a plurality of antennas (e.g., an array antenna). In this case, at least one antenna suitable for a communication method used in a communication network, such as a first network (1398) or a second network (1399), may be selected from the plurality of antennas, for example, by a communication module (1390). A signal or power may be transmitted or received between the communication module (1390) and an external electronic device through the selected at least one antenna. According to some embodiments, in addition to the radiator, other components (e.g., a radio frequency integrated circuit (RFIC)) may be additionally formed as part of the antenna module (1397).
[0177] According to various embodiments, the antenna module (1397) may form a mmWave antenna module. According to one embodiment, the mmWave antenna module may include a printed circuit board, an RFIC disposed on or adjacent to a first surface (e.g., bottom surface) of the printed circuit board and capable of supporting a specified high frequency band (e.g., mmWave band), and a plurality of antennas (e.g., array antennas) disposed on or adjacent to a second surface (e.g., top surface or side surface) of the printed circuit board and capable of transmitting or receiving a signal of the specified high frequency band.
[0178] At least some of the above components can be connected to each other via a communication method between peripheral devices (e.g., bus, GPIO (general purpose input and output), SPI (serial peripheral interface), or MIPI (mobile industry processor interface)) and exchange signals (e.g., commands or data) with each other.
[0179] According to one embodiment, commands or data may be transmitted or received between an electronic device (1301) and an external electronic device (1304) through a server (1308) connected to a second network (1399). Each of the external electronic devices (1302, or 1304) may be the same or a different type of device as the electronic device (1301). According to one embodiment, all or part of the operations performed on the electronic device (1301) may be performed on one or more of the external electronic devices (1302, 1304, or 1308). For example, if the electronic device (1301) needs to perform a function or service automatically or in response to a request from a user or another device, the electronic device (1301) may request one or more external electronic devices to perform at least part of the function or service instead of performing the function or service itself or additionally. One or more external electronic devices that receive the above request may execute at least part of the requested function or service, or additional function or service related to the request, and transmit the result of the execution to the electronic device (1301). The electronic device (1301) may provide the result as is or additionally processed as at least part of the response to the request. For this purpose, for example, cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology may be used. The electronic device (1301) may provide ultra-low latency services using, for example, distributed computing or mobile edge computing. In one embodiment, the external electronic device (1304) may include an Internet of Things (IoT) device. The server (1308) may be an intelligent server using machine learning and / or neural networks.According to one embodiment, an external electronic device (1304) or server (1308) may be included within the second network (1399). The electronic device (1301) may be applied to intelligent services (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology and IoT-related technology.
[0180] The electronic device according to the various embodiments disclosed in this document may be of various forms. The electronic device may include, for example, a portable communication device (e.g., a smartphone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a consumer electronics device. The electronic device according to the embodiments of this document is not limited to the devices described above.
[0181] The various embodiments of this document and the terms used therein are not intended to limit the technical features described in this document to specific embodiments, and should be understood to include various modifications, equivalents, or substitutions of said embodiments. In connection with the description of the drawings, similar reference numerals may be used for similar or related components. The singular form of a noun corresponding to an item may include one or more of said items unless the relevant context clearly indicates otherwise. In this document, phrases such as "A or B," "at least one of A and B," "at least one of A or B," "A, B or C," "at least one of A, B and C," and "at least one of A, B, or C" may each include any one of the items listed together in the corresponding phrase, or all possible combinations thereof. Terms such as "first," "second," or "first" or "second" may be used simply to distinguish said components from other said components and do not limit said components in any other aspect (e.g., importance or order). Where any (e.g., 1st) component is referred to as “coupled” or “connected” to another (e.g., 2nd) component, with or without the terms “functionally” or “communicationly,” it means that said any component may be connected to said other component directly (e.g., via a wire), wirelessly, or through a third component.
[0182] The term “module” as used in the various embodiments of this document may include a unit implemented in hardware and may be used interchangeably with terms such as logic, block, component, or circuit, for example. A module may be a component formed integrally, or a minimum unit of said component or a part thereof that performs one or more functions. For example, according to one embodiment, a module may be implemented in the form of an application-specific integrated circuit (ASIC).
[0183] Various embodiments of the present document may be implemented as software (e.g., program (1340)) comprising one or more instructions stored in a storage medium (e.g., internal memory (1336) or external memory (1338)) readable by a machine (e.g., electronic device (1301)). For example, a processor (e.g., processor (1320)) of the machine (e.g., electronic device (1301)) may call at least one of the one or more instructions stored from the storage medium and execute it. This enables the machine to be operated to perform at least one function according to the at least one called instruction. The one or more instructions may include code generated by a compiler or code that can be executed by an interpreter. The storage medium readable by the machine may be provided in the form of a non-transitory storage medium. Here, 'non-temporary' simply means that the storage medium is a tangible device and does not contain a signal (e.g., electromagnetic waves), and the term does not distinguish between cases where data is stored semi-permanently and cases where it is stored temporarily.
[0184] According to one embodiment, the method according to the various embodiments disclosed herein may be provided by being included in a computer program product. The computer program product may be traded between a seller and a buyer as a product. The computer program product may be distributed in the form of a device-readable storage medium (e.g., compact disc read-only memory (CD-ROM)), or distributed online (e.g., download or upload) through an application store (e.g., Play Store™) or directly between two user devices (e.g., smartphones). In the case of online distribution, at least a portion of the computer program product may be temporarily stored or temporarily created on a device-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or a relay server.
[0185] According to various embodiments, each component (e.g., module or program) of the components described above may include a singular or multiple entities, and some of the multiple entities may be separated and placed in other components. According to various embodiments, one or more of the components or operations of the aforementioned components may be omitted, or one or more other components or operations may be added. Generally or additionally, multiple components (e.g., module or program) may be integrated into a single component. In this case, the integrated component may perform one or more functions of each of the multiple components in the same or similar manner as those performed by the corresponding component among the multiple components prior to integration. According to various embodiments, operations performed by the module, program, or other components may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, omitted, or one or more other operations may be added. The electronic device (701) of FIG. 7 may be an example of the electronic device (101) of FIG. 1 and 2.
[0186] In one embodiment, prior to transmitting information from a first electronic device to a second electronic device, a method for accurately calculating and / or determining the expected time elapsed until the information is transmitted from the first electronic device to the second electronic device may be required. In one embodiment, a method for calculating and / or determining the expected time elapsed until the information transmitted from the first electronic device is restored by the second electronic device may be required. An electronic device (e.g., the electronic device (101) of FIG. 1 and / or the electronic device (1301) of FIG. 13) according to one embodiment as described above may include a display (e.g., the display (110) of FIG. 2), a communication circuit (e.g., the communication circuit (225) of FIG. 2), a memory (e.g., the memory (215) of FIG. 2)) comprising one or more storage media for storing instructions, and at least one processor (e.g., the processor (210) of FIG. 2) comprising a processing circuit. When the above instructions are executed individually or collectively by the at least one processor, the electronic device may be caused to receive a first user input indicating a selection of information to be transmitted from an external electronic device connected to the electronic device for migration. When the above instructions are executed individually or collectively by the at least one processor, the electronic device may be caused to obtain an estimated time elapsed until the information is restored within the memory after being transmitted from the external electronic device, using device information regarding the size of the information and the available space of the electronic device, based on receiving the first user input. When the above instructions are executed individually or collectively by the at least one processor, the electronic device may be caused to display the estimated time through the display.When the above instructions are executed individually or collectively by the at least one processor, the electronic device may be caused to request the information from the external electronic device through the communication circuit in order to perform the migration of the information based on receiving a second user input indicating the transmission of the information. In one embodiment, prior to transmitting the information from the first electronic device to the second electronic device, the estimated time elapsed until the information is transmitted from the first electronic device to the second electronic device may be accurately calculated. In one embodiment, the estimated time elapsed until the information transmitted from the first electronic device is restored by the second electronic device may be calculated.
[0187] For example, when the above instructions are executed individually or collectively by the at least one processor, the electronic device may be caused to obtain the estimated time using a trained model in which the size and the device information are input.
[0188] For example, when the instructions are executed individually or collectively by the at least one processor, the electronic device may be caused to identify a category corresponding to at least a portion of the information. When the instructions are executed individually or collectively by the at least one processor, the electronic device may be caused to obtain the estimated time using the trained model to which the category and the size of the at least portion of the information corresponding to the category are input.
[0189] For example, when the instructions are executed individually or collectively by the at least one processor, the electronic device may cause to obtain estimated times corresponding to each of the parts based on identifying a plurality of categories corresponding to different parts of the information. When the instructions are executed individually or collectively by the at least one processor, the electronic device may cause to display the sum of the estimated times through the display.
[0190] For example, the above estimated time may be a first estimated time. When the instructions are executed individually or collectively by the at least one processor, the electronic device may cause the external electronic device to obtain a second estimated time to be elapsed until the information is backed up to perform the migration, using the trained model. When the instructions are executed individually or collectively by the at least one processor, the electronic device may cause the first estimated time and the second estimated time to be displayed through the display.
[0191] For example, the above-mentioned trained model may be a first-mentioned trained model (e.g., the time prediction model (234) of FIG. 2). When the instructions are executed individually or collectively by the at least one processor, the electronic device may be caused to obtain feature information related to the information stored in the external electronic device by using a second-mentioned trained model (e.g., the clustering model (232) of FIG. 2) to which the size of the information is input. When the instructions are executed individually or collectively by the at least one processor, the electronic device may be caused to obtain the predicted time by using the first-mentioned trained model to which the feature information is input.
[0192] For example, when the above instructions are executed individually or collectively by the at least one processor, the electronic device may use the device information to obtain the estimated time to be elapsed until the state of the information transmitted from the external electronic device is changed to a state accessible by a software application installed on the electronic device.
[0193] For example, when the above instructions are executed individually or collectively by the at least one processor, the electronic device may be caused to obtain the estimated time that will elapse until the information is entered into a database managed by the software application.
[0194] For example, when the above instructions are executed individually or collectively by the at least one processor, the electronic device may cause the display to show a screen containing a list of multiple categories through the display. When the above instructions are executed individually or collectively by the at least one processor, the electronic device may cause the first user input indicating the selection of the information included in at least one of the multiple categories.
[0195] For example, when the above instructions are executed individually or collectively by the at least one processor, the electronic device may cause the link between different parts of the information included in the plurality of categories to obtain the estimated time that will elapse until it is restored in the memory after being transmitted from the external electronic device, based on receiving the first user input indicating the selection of the information included in the plurality of categories.
[0196] In one embodiment, a non-transient computer-readable storage medium for storing instructions may be provided. When the instructions are executed by an electronic device including a display and communication circuit, the electronic device may cause the electronic device to receive a first user input indicating a selection of information to be transmitted from an external electronic device connected to the electronic device for migration. When the instructions are executed by the electronic device, the electronic device may cause the electronic device to obtain an estimated time elapsed until the information is restored in the memory after being transmitted from the external electronic device, using device information regarding the size of the information and the available space of the electronic device, based on receiving the first user input. When the instructions are executed by the electronic device, the electronic device may cause the electronic device to display the estimated time through the display. When the above instructions are executed by the electronic device, the electronic device may cause the electronic device to request the information through the communication circuit to perform the migration of the information based on receiving a second user input indicating the transmission of the information.
[0197] For example, when the above instructions are executed by the electronic device, the electronic device may be caused to obtain the estimated time using a trained model in which the size and the information are input.
[0198] For example, when the above instructions are executed by the electronic device, the electronic device may be caused to identify a category corresponding to at least a portion of the information. When the above instructions are executed by the electronic device, the electronic device may be caused to obtain the estimated time using the trained model to which the category and the size of at least a portion of the information corresponding to the category are input.
[0199] For example, when the above instructions are executed by the electronic device, the electronic device may cause the electronic device to obtain estimated times corresponding to each of the parts based on identifying multiple categories corresponding to different parts of the information. When the above instructions are executed by the electronic device, the electronic device may cause the electronic device to display the sum of the estimated times through the display.
[0200] For example, the above estimated time may be a first estimated time. When the instructions are executed by the electronic device, the electronic device may cause the external electronic device to obtain a second estimated time to be elapsed until the information is backed up to perform the migration, using the trained model. When the instructions are executed by the electronic device, the electronic device may cause the first estimated time and the second estimated time to be displayed through the display.
[0201] For example, the above-mentioned trained model may be a first-level trained model. When the above-mentioned instructions are executed by the electronic device, the electronic device may be caused to acquire feature information related to the information stored in the external electronic device by using a second-level trained model to which the size of the information is input. When the above-mentioned instructions are executed by the electronic device, the electronic device may be caused to acquire the estimated time by using the first-level trained model to which the feature information is input.
[0202] For example, when the above instructions are executed by the electronic device, the electronic device may use the device information to obtain the estimated time that will elapse until the state of the information transmitted from the external electronic device is changed to a state accessible by a software application installed on the electronic device.
[0203] For example, when the above instructions are executed by the electronic device, the electronic device may be caused to obtain the estimated time that will elapse until the information is entered into a database managed by the software application.
[0204] For example, when the above instructions are executed by the electronic device, the electronic device may cause the electronic device to display a screen containing a list of multiple categories through the display. When the above instructions are executed by the electronic device, the electronic device may cause the electronic device to receive the first user input indicating the selection of the information included in at least one of the multiple categories.
[0205] For example, when the above instructions are executed by the electronic device, the electronic device may cause the link between different parts of the information included in the plurality of categories to obtain the estimated time that will elapse until it is restored in the memory after being transmitted from the external electronic device, based on receiving the first user input indicating the selection of the information included in the plurality of categories.
[0206] In one embodiment, a method of an electronic device comprising a display, a memory, and a communication circuit may be provided. The method may include an operation of receiving a first user input indicating a selection of first information and second information stored in an external electronic device. Based on receiving the first user input, the method may include an operation of identifying a first size of the first information, a second size of the second information, and a third size of third information indicating the linkage of the first information and the second information. The method may include an operation of obtaining an estimated time elapsed until the first information, the second information, and the third information are transmitted from the external electronic device to the electronic device using the first size, the second size, and the third size. The method may include an operation of displaying the estimated time through the display. The above method may include an operation of requesting the first information, the second information, and the third information to the external electronic device through the communication circuit, based on receiving a second user input indicating the transmission of the first information and the second information.
[0207] For example, the operation to obtain the above may include the operation to obtain the estimated time using a trained model in which the first size, the second size, and the third size are input.
[0208] For example, the operation of acquiring the above may include acquiring the estimated time that will elapse until the first information, the second information, and the third information are restored within the memory after being transmitted from the external electronic device, by using device information of the electronic device.
[0209] For example, the receiving operation may include an operation of displaying a screen containing a list of multiple categories through the display. The receiving operation may include an operation of receiving a first user input indicating the selection of a first category and a second category among the multiple categories.
[0210] For example, the operation of acquiring the above may include acquiring a first estimated time to be elapsed until the state of the first information is changed to a state accessible by a first software application installed on the electronic device, and a second estimated time to be elapsed until the state of the second information is changed to a state accessible by a second software application installed on the electronic device.
[0211] According to one embodiment as described above, an electronic device may include a display, a communication circuit, a memory comprising one or more storage media for storing instructions, and at least one processor comprising a processing circuit. When the instructions are executed individually or collectively by the at least one processor, the electronic device may cause the electronic device to receive a first user input indicating a selection of first information and second information stored in an external electronic device. When the instructions are executed individually or collectively by the at least one processor, the electronic device may cause the electronic device to identify a first size of the first information, a second size of the second information, and a third size of third information indicating the linkage of the first information and the second information, based on receiving the first user input. When the above instructions are executed individually or collectively by the at least one processor, the electronic device may be caused to obtain the estimated time elapsed until the first information, the second information, and the third information are transmitted from the external electronic device to the electronic device using the first size, the second size, and the third size. When the above instructions are executed individually or collectively by the at least one processor, the electronic device may be caused to display the estimated time through the display. When the above instructions are executed individually or collectively by the at least one processor, the electronic device may be caused to request the first information, the second information, and the third information from the external electronic device through the communication circuit based on receiving a second user input indicating the transmission of the first information and the second information.
[0212] For example, when the above instructions are executed individually or collectively by the at least one processor, the electronic device may be caused to obtain the estimated time using a trained model in which the first size, the second size, and the third size are input.
[0213] For example, when the above instructions are executed individually or collectively by the at least one processor, the electronic device may be caused to obtain the estimated time elapsed until the first information, the second information, and the third information are restored in the memory after being transmitted from the external electronic device by using the device information of the electronic device.
[0214] For example, when the above instructions are executed individually or collectively by the at least one processor, the electronic device may cause the display to show a screen containing a list of multiple categories through the display. When the above instructions are executed individually or collectively by the at least one processor, the electronic device may cause the first user input indicating the selection of a first category and a second category among the multiple categories.
[0215] For example, when the above instructions are executed individually or collectively by the at least one processor, the electronic device may be caused to obtain a first estimated time to be elapsed until the state of the first information is changed to a state accessible by a first software application installed on the electronic device, and a second estimated time to be elapsed until the state of the second information is changed to a state accessible by a second software application installed on the electronic device.
[0216] As used herein, the term “if” will be understood, depending on the context, to mean “when, upon,” “in response to a decision,” or “in response to a detection.” Similarly, “when decided to,” or “when [the mentioned condition or event] is detected,” will be understood, optionally, to mean “when decided,” or “in response to a decision,” “when [the mentioned condition or event] is detected,” or “in response to detecting [the mentioned condition or event].”
[0217] The device described above may be implemented as a hardware component, a software component, and / or a combination of a hardware component and a software component. For example, the device and components described in the embodiments may be implemented using one or more general-purpose or special-purpose computers, such as a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing unit may execute an operating system (OS) and one or more software applications executed on said operating system. Additionally, the processing unit may access, store, manipulate, process, and generate data in response to the execution of the software. For ease of understanding, the processing unit may be described as being used as a single unit, but those skilled in the art will understand that the processing unit may include multiple processing elements and / or multiple types of processing elements. For example, the processing unit may include multiple processors or one processor and one controller. In addition, other processing configurations, such as parallel processors, are also possible.
[0218] Software may include computer programs, code, instructions, or a combination of one or more of these, and may configure a processing unit to operate as desired or instruct the processing unit independently or collectively. Software and / or data may be embodied in any type of machine, component, physical device, computer storage medium, or device so as to be interpreted by the processing unit or to provide instructions or data to the processing unit. Software may be distributed over networked computer systems and may be stored or executed in a distributed manner. Software and data may be stored on one or more computer-readable recording media.
[0219] The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium. In this case, the medium may continuously store a program executable by a computer, or temporarily store it for execution or download. Additionally, the medium may be various recording or storage means in the form of a single or several hardware combined, and may not be limited to a medium directly connected to a computer system but may exist distributed over a network. Examples of media may include magnetic media such as hard disks, floppy disks, and magnetic tapes; optical recording media such as CD-ROMs and DVDs; magneto-optical media such as floptical disks; and media configured to store program instructions, including ROM, RAM, and flash memory. Additionally, other examples of media may include recording or storage media managed by app stores that distribute applications or sites and servers that supply or distribute various other software.
[0220] Although the embodiments have been described above with reference to limited examples and drawings, those skilled in the art can make various modifications and variations from the description above. For example, suitable results can be achieved even if the described techniques are performed in a different order than described, and / or the components of the described system, structure, device, circuit, etc. are combined or assembled in a form different from described, or replaced or substituted by other components or equivalents.
[0221] Therefore, other implementations, other embodiments, and equivalents to the claims also fall within the scope of the claims set forth below.
Claims
1. In an electronic device, display; Communication circuit; Memory comprising one or more storage media for storing instructions; and It includes at least one processor including a processing circuit, and When the above instructions are executed individually or collectively by the at least one processor, the electronic device: Receiving a first user input indicating the selection of information to be transmitted from an external electronic device connected to the electronic device for migration; Based on receiving the first user input, using device information regarding the size of the information and the available space of the electronic device, an estimated time elapsed until the information is restored within the memory after being transmitted from the external electronic device is obtained; Displaying the estimated time through the above display; and Causing to request the information to the external electronic device through the communication circuit in order to perform the migration of the information based on receiving a second user input indicating the transmission of the information, Electronic device.
2. In Claim 1, When the above instructions are executed individually or collectively by the at least one processor, the electronic device: Causing to obtain the estimated time using a trained model input with the above size and above device information, Electronic device.
3. In Claim 2, When the above instructions are executed individually or collectively by the at least one processor, the electronic device: Identifying a category corresponding to at least a portion of the above information; Causing to obtain the estimated time using the trained model in which the size of at least a portion of the information corresponding to the above category is input. Electronic device.
4. In Claim 3, When the above instructions are executed individually or collectively by the at least one processor, the electronic device: Based on identifying multiple categories corresponding to different parts of the above information, obtaining estimated times corresponding to each of the said parts; Causing to display the sum of the estimated times through the above display, Electronic device.
5. In claim 2, the above estimated time is the first estimated time, and When the above instructions are executed individually or collectively by the at least one processor, the electronic device: Using the above-mentioned trained model, the external electronic device obtains a second estimated time to be elapsed until backing up the information to perform the migration; Causing to display the first estimated time and the second estimated time through the above display, Electronic device.
6. In claim 2, the trained model is a first trained model, and When the above instructions are executed individually or collectively by the at least one processor, the electronic device: Using a second trained model to which the size of the above information is input, feature information related to the above information stored in the external electronic device is obtained; Causing to obtain the estimated time using the first trained model into which the above feature information is input, Electronic device.
7. In claims 1 to 6, When the above instructions are executed individually or collectively by the at least one processor, the electronic device: Using the above device information, causing to obtain the above estimated time to be elapsed until the state of the information transmitted from the external electronic device changes to a state accessible by a software application installed on the electronic device, Electronic device.
8. In claims 1 to 7, When the above instructions are executed individually or collectively by the at least one processor, the electronic device: Causing to obtain the estimated time to be elapsed until the above information is entered into a database managed by a software application installed on the electronic device, Electronic device.
9. In claims 1 to 8, When the above instructions are executed individually or collectively by the at least one processor, the electronic device: Through the above display, a screen including a list of multiple categories is displayed; Causing to receive the first user input indicating the selection of the information included in at least one of the plurality of categories, Electronic device.
10. In Claim 9, When the above instructions are executed individually or collectively by the at least one processor, the electronic device: Based on receiving the first user input indicating the selection of the information included in the plurality of categories, the link between different parts of the information included in the plurality of categories causes to obtain the estimated time to be elapsed until it is restored in the memory after being transmitted from the external electronic device. Electronic device.
11. In a non-transient computer-readable storage medium for storing instructions, wherein, when the instructions are executed by an electronic device comprising a display and communication circuit, the electronic device, Receiving a first user input indicating the selection of information to be transmitted from an external electronic device connected to the electronic device for migration; Based on receiving the first user input, using device information regarding the size of the information and the available space of the electronic device, an estimated time elapsed until the information is restored within the memory after being transmitted from the external electronic device is obtained; Displaying the estimated time through the above display; and Causing to request the information to the external electronic device through the communication circuit in order to perform the migration of the information based on receiving a second user input indicating the transmission of the information, Non-transient computer-readable storage media.
12. In Claim 11, When the above instructions are executed by the electronic device, the electronic device, Causing to obtain the estimated time using a trained model with the above size and above information input, Non-transient computer-readable storage media.
13. In Claim 12, When the above instructions are executed by the electronic device, the electronic device, Identifying a category corresponding to at least a portion of the above information; Causing to obtain the estimated time using the trained model, wherein the size of at least a portion of the information corresponding to the above category is input. Non-transient computer-readable storage media.
14. In Claim 13, When the above instructions are executed by the electronic device, the electronic device, Based on identifying multiple categories corresponding to different parts of the above information, obtaining estimated times corresponding to each of the said parts; Causing to display the sum of the estimated times through the above display, Non-transient computer-readable storage media.
15. In claim 12, the above estimated time is a first estimated time, and When the above instructions are executed by the electronic device, the electronic device, Using the above-mentioned trained model, the external electronic device obtains a second estimated time to be elapsed until backing up the information to perform the migration; Causing to display the first estimated time and the second estimated time through the above display, Non-transient computer-readable storage media.