Electronic device and method for shared clipboard
The shared clipboard system addresses the challenge of data transfer between electronic devices by using metadata to facilitate data sharing, enabling seamless and resource-efficient data transfer between devices, even when not directly connected or logged into the same account.
Patent Information
- Application Number
- PCT/KR2024/005452
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-07-20
- Filing Date
- 2024-04-23
- Publication Date
- 2025-01-02
AI Technical Summary
Current electronic devices lack an efficient method for sharing clipboard data between devices, especially when they are not directly connected or logged into the same account, leading to limitations in seamless data transfer and resource consumption.
The implementation of a shared clipboard system that uses metadata to facilitate data transfer between devices, including first metadata for direct data transfer and second metadata for indirect data access, allowing data to be shared across devices even when they are not directly connected or logged into the same account, using communication circuits to advertise and receive metadata.
Enables seamless and resource-efficient data sharing between devices, allowing users to copy and paste data across devices without the need for direct connection or shared accounts, reducing resource consumption and enhancing user experience.
Smart Images

Figure KR2024005452_02012025_PF_FP_ABST
Abstract
Description
Electronic device and method for shared clipboard
[0001] The descriptions below relate to electronic devices and methods for a shared clipboard (or universal clipboard).
[0002] A clipboard may represent a buffer provided by an operating system (OS) of an electronic device for executing copy and paste functions. The clipboard may be formed within volatile memory.
[0003] The above information may be provided as background art to aid in understanding the present disclosure. No claim or determination is made as to whether any of the above is applicable as prior art related to the present disclosure.
[0004] An electronic device is provided. The electronic device may include a communication circuit. The electronic device may include a processor. The processor may be configured to receive a user input for copying or cutting data. The processor may be configured to identify a type of the data in response to the user input. The processor may be configured to obtain first metadata including the data stored in a clipboard of the electronic device in response to the user input, based on the type corresponding to a reference type. The processor may be configured to obtain second metadata including address information for accessing a location in the electronic device where the data stored in the clipboard of the electronic device is stored, based on the type different from the reference type. The processor may be configured to advertise the first metadata or the second metadata using the communication circuit to provide the data in response to a paste command within an external electronic device logged in with a user account being used by the electronic device.
[0005] A method is provided. The method can be executed within an electronic device including a communication circuit. The method can include receiving a user input for copying or cutting data. The method can include identifying a type of the data in response to the user input. The method can include obtaining first metadata including the data stored in a clipboard of the electronic device in response to the user input, based on the type corresponding to a reference type. The method can include obtaining second metadata including address information for accessing a location within the electronic device where the data stored in the clipboard of the electronic device is stored, based on the type being different from the reference type. The method can include advertising the first metadata or the second metadata using the communication circuit to provide the data in response to a paste command within an external electronic device logged in with a user account being used by the electronic device.
[0006] An electronic device is provided. The electronic device may include a communication circuit. The electronic device may include a processor. The processor may be configured to receive, using the communication circuit, metadata advertised from an external electronic device logged in with a user account being used by the electronic device. The processor may be configured to store the data on a clipboard of the electronic device in response to identifying that the metadata is first metadata including data stored on a clipboard of the external electronic device in response to a user input causing a copy command or a cut command. The processor may be configured to store identification information of the data on the clipboard of the electronic device in response to identifying that the metadata is second metadata including address information for accessing a location where the data stored on the clipboard of the external electronic device in response to the user input is stored.
[0007] A method is provided. The method may be executed within an electronic device including a communication circuit. The method may include receiving, using the communication circuit, advertised metadata from an external electronic device logged in with a user account being used by the electronic device. The method may include storing the data on a clipboard of the electronic device in response to identifying that the metadata is first metadata comprising data stored on a clipboard of the external electronic device in response to a user input causing a copy command or a cut command. The method may include storing identification information of the data on the clipboard of the electronic device in response to identifying that the metadata is second metadata comprising address information for accessing a location where the data stored on the clipboard of the external electronic device in response to the user input is stored.
[0008] Figure 1 illustrates an example of a shared clipboard.
[0009] FIG. 2 illustrates a simplified block diagram of an exemplary first electronic device or an exemplary second electronic device.
[0010] Figure 3 illustrates an exemplary method for adaptively obtaining metadata for a shared clipboard.
[0011] FIG. 4 illustrates an exemplary method for adaptively executing a clip depending on whether metadata received from a first electronic device is first metadata or second metadata.
[0012] Figure 5 shows an example of a list of clipboards.
[0013] FIG. 6 illustrates an exemplary method adaptively executed to display data stored in a clipboard of a first electronic device depending on whether metadata received from the first electronic device is first metadata or second metadata.
[0014] Figure 7 illustrates a list of clipboards containing objects provided based on the first metadata.
[0015] Figure 8 illustrates a list of clipboards containing objects provided based on the second metadata.
[0016] FIG. 9 illustrates an exemplary method executed within a first electronic device to transmit information indicating the size of data.
[0017] FIG. 10 illustrates an exemplary method executed within a second electronic device to receive information indicating the size of data.
[0018] FIG. 11 illustrates an exemplary method executed within a first electronic device to transmit directory data.
[0019] FIG. 12 illustrates an exemplary method executed within a second electronic device to receive directory data.
[0020] FIG. 13 illustrates an exemplary method executed within a first electronic device to release a connection established for a shared clipboard.
[0021] FIG. 14 illustrates an exemplary method executed within a second electronic device to release a connection established for a shared clipboard.
[0022] FIG. 15 is a block diagram of an electronic device within a network environment according to various embodiments.
[0023] Figure 1 illustrates an example of a shared clipboard.
[0024] Referring to FIG. 1, a shared clipboard (or universal clipboard) may refer to a function of saving data stored in a clipboard provided by an operating system (OS) of an electronic device to a clipboard provided by an operating system of an external electronic device. Hereinafter, the operation of saving to a clipboard may be referred to as a clip or an equivalent technical term. For example, the shared clipboard may refer to a function provided to paste data copied or cut by a user input generated within the electronic device into the external electronic device. Once the data is copied or cut, the data may be temporarily or semi-permanently stored in the shared clipboard. For example, a user may use the shared clipboard with a first electronic device (110) and a second electronic device (120).
[0025] For example, the shared clipboard may be available under the condition that the first electronic device (110) and the second electronic device (120) are associated with each other. As a non-limiting example, the shared clipboard may be available under the condition that the first electronic device (110) and the second electronic device (120) are logged in with or signed in with the same user account (or user identifier (ID)).
[0026] For example, the shared clipboard may be usable under the condition that the first electronic device (110) and the second electronic device (120) are near each other. As a non-limiting example, the shared clipboard may be usable under the condition that the distance between the first electronic device (110) and the second electronic device (120) is shorter than a reference distance (or a certain distance). For example, the reference distance may correspond to the coverage of each of the first electronic device (110) and the second electronic device (120) provided through the first communication technique used to establish the connection (131), which will be exemplified below. As a non-limiting example, the shared clipboard may be usable under the condition that the first electronic device (110) discovers the second electronic device (120) and the second electronic device (120) discovers the first electronic device (110). As a non-limiting example, the shared clipboard may be available under the condition that the first electronic device (110) and the second electronic device (120) are connected to the same external electronic device (e.g., an access point (AP)).
[0027] For example, the shared clipboard may be available under conditions in which the first electronic device (110) and the second electronic device (120) are set up for a continuity service. As a non-limiting example, the shared clipboard may be available under conditions in which the use of the first communication technique and the use of a second communication technique different from the first communication technique are activated within the first electronic device (110) and the second electronic device (120). As a non-limiting example, the shared clipboard may be available under conditions in which a function for providing the continuity service within the first electronic device (110) and the second electronic device (120) is activated. For example, the continuity service may include a function for displaying or processing content (e.g., a web page and an electronic document) displayed or processed within the first electronic device (110) on the second electronic device (120). For example, the continuity service may include a function of controlling a second electronic device (120) using an input means (e.g., a keyboard and / or a mouse) connected to the first electronic device (110). For example, the continuity service may include a function of detecting an output request from the second electronic device (120) through an output means (e.g., wireless earphones) connected to the first electronic device (110) and switching to the output means of the second electronic device (120).
[0028] For example, the shared clipboard may be executed as follows. For example, the first electronic device (110) may receive a user input (192) for copying data (191) within the screen (190). For example, the second electronic device (120) may display a list (194) of the clipboard of the second electronic device (120) (e.g., a clipboard provided by the operating system of the second electronic device (120)) within the execution screen (193) of the software application, such as the state (181), after the user input (192) is caused within the first electronic device (110). For example, the list (194) may include an object (195) that indicates or represents the data (191). As a non-limiting example, the list (194) may further include information to distinguish whether the data is copied from the first electronic device (110) or copied within the second electronic device (120).
[0029] For example, the second electronic device (120) may receive a user input (196) for an object (195). For example, the second electronic device (120) may, in response to the user input (196), attach data (191) such as state (182). For example, the shared clipboard may be executed based on transmitting data (191) stored in a clipboard of the first electronic device (110) (e.g., a clipboard provided by an operating system of the first electronic device (110)) to the second electronic device (120) in response to the user input (192) and storing data (191) received from the first electronic device (110) in the clipboard of the second electronic device (120) (e.g., a clipboard provided by an operating system of the second electronic device (120). For example, transmitting data (191) to the second electronic device (120) for the shared clipboard may be performed without user input (explicitly) indicating that the data (191) is to be transmitted after user input (192) is triggered. For example, transmitting data (191) to the second electronic device (120) for the shared clipboard may be unnoticeable to the user.
[0030] For example, a plurality of signalings including transmitting data (191) from a first electronic device (110) to a second electronic device (120) may be generated between the first electronic device (110) and the second electronic device (120) for use of the shared clipboard. For example, the plurality of signalings may be generated according to at least one communication technique. For example, the at least one communication technique may include a first communication technique. As a non-limiting example, the first communication technique may include Bluetooth low energy (BLE) and / or legacy Bluetooth. For example, the at least one communication technique may further include a second communication technique. For example, the throughput of the communication between the first electronic device (110) and the second electronic device (120) executed according to the second communication technique may be greater than the throughput of the communication between the first electronic device (110) and the second electronic device (120) executed according to the first communication technique. By way of non-limiting example, the second communication technique may include Wi-Fi, Wi-Fi (wireless fidelity) direct, and / or Wi-Fi Aware.
[0031] Connection (131) and / or connection (132) may or may not be established for execution of the shared clipboard. For example, the first electronic device (110) and the second electronic device (120) may complete execution of the shared clipboard without connection (131) and connection (132) (or before connection (131) and connection (132) are established). For example, the first electronic device (110) and the second electronic device (120) may establish connection (131) according to the first communication technique for execution of the shared clipboard. For example, the first electronic device (110) and the second electronic device (120) may establish connection (132) according to the second communication technique for execution of the shared clipboard.
[0032] Each of the first electronic device (110) and the second electronic device (120) may perform the operations exemplified in the descriptions of FIGS. 3 to 14 for the shared clipboard. Each of the first electronic device (110) and the second electronic device (120) may include components for performing the operations. These components may be exemplified in the description of FIG. 2.
[0033] FIG. 2 illustrates a simplified block diagram of an exemplary first electronic device or an exemplary second electronic device.
[0034] Referring to FIG. 2, the first electronic device (110) or the second electronic device (120) may be one of various forms of mobile devices, such as laptop computers, smartphones having various form factors (e.g., bar-type smartphones, foldable-type smartphones, and rollable-type smartphones), tablets, wearable devices, cellular phones, and other similar computing devices. The components, their relationships, and their functions illustrated in FIG. 2 are exemplary only and do not limit the implementations described or claimed in this document. The first electronic device (110) or the second electronic device (120) may be referred to as a user device, a multifunctional device, or a portable device.
[0035] The first electronic device (110) or the second electronic device (120) may include a processor (210), a display (220), a first communication circuit (230), and a second communication circuit (240).
[0036] A processor (210) (e.g., including a processing circuit) may be utilized to execute the operations exemplified in the descriptions of FIGS. 3 to 14 . For example, the processor (210) may be implemented as one or more integrated circuit (IC) chips. For example, the processor (210) may be implemented as a system on chip (SoC) (e.g., a single chip or chipset). For example, the processor (210) may include at least a portion of the processor (1520) of FIG. 15 or correspond to at least a portion of the processor (1520) of FIG. 15 .
[0037] The display (220) may be used to display images, screens, data, and / or information. For example, the images, screens, data, and / or information may be provided from the processor (210). For example, the display (220) may be a display having a fixed shape, a deformable display such as a foldable display or a rollable display, or a holographic display. For example, the display (220) may include at least a portion of the display module (1560) of FIG. 15 or may correspond to at least a portion of the display module (1560) of FIG. 15.
[0038] The first communication circuit (230) may be used to transmit or receive signals, information, and / or data according to the first communication technique. The second communication circuit (240) may be used to transmit or receive signals, information, and / or data according to the second communication technique. For example, the signal, the information, and / or the data may be provided from the processor (210). For example, the first communication circuit (230) may include at least a portion of the wireless communication module (1592) of FIG. 15 or may correspond to at least a portion of the wireless communication module (1592) of FIG. 15. For example, the second communication circuit (240) may include at least a portion of the wireless communication module (1592) of FIG. 15 or may correspond to at least a portion of the wireless communication module (1592) of FIG.
[0039] Although not illustrated in FIG. 2, each of the first electronic device (110) and the second electronic device (120) may include a memory (e.g., including at least a portion of the memory (1530) of FIG. 15) including one or more storage media. The memory may store instructions for executing the operations illustrated in the descriptions of FIGS. 3 to 14. For example, the instructions, when executed by the processor (210), may cause each of the first electronic device (110) and the second electronic device (120) to perform (or execute) the operations.
[0040] For example, the first electronic device (110) and the second electronic device (120) illustrated in FIG. 2 can execute the operations exemplified in the descriptions of FIGS. 3 to 14.
[0041] Figure 3 illustrates an exemplary method for adaptively obtaining metadata for a shared clipboard.
[0042] Referring to FIG. 3, in operation 301, the first electronic device (110) (or the processor of the first electronic device (110)) may receive a user input to copy or cut data.
[0043] For example, the data may have a format that can be clipped to the clipboard of the first electronic device (110) and may have content. For example, the data may be one of files and directories, such as text, images, videos, etc., including plain text and mark-up language text (e.g., hypertext mark-up language (HTML) and / or extended mark-up language (XML)). However, the present invention is not limited thereto.
[0044] For example, the user input may represent a user input that causes a copy command or a cut command for the data selected (or specified) by another user input within the first electronic device (110). For example, the user input may be provided by an input means (e.g., a keyboard, a mouse) of the first electronic device (101), or may be provided by an input means of an external electronic device (e.g., a wireless keyboard, a stylus pen, a headset) connected to the first electronic device (101). For example, the user input may represent clipping the data to the clipboard of the first electronic device (110). Clipping the data to the clipboard of the first electronic device (110) may represent storing the data in a buffer (or volatile memory) of the first electronic device (110). For example, clipping the data to the clipboard of the first electronic device (110) may indicate at least temporarily storing address information of the data (e.g., information for accessing a location in the non-volatile memory of the first electronic device (110) where the data is stored). For example, the address information may include a uniform resource identifier (URI). For example, clipping the data to the clipboard of the first electronic device (110) may indicate registering identification information of the data in a list of the clipboard. For example, the user input may include input (192) of FIG. 1.
[0045] In operation 303, the first electronic device (110) may, in response to the user input, identify a type of the data. As a non-limiting example, the identification of the type may be performed to identify (or determine) whether the metadata to be advertised for the shared clipboard will be obtained as first metadata (e.g., operation 307) or whether the metadata will be obtained as second metadata (e.g., operation 309). As a non-limiting example, the identification of the type may be performed to identify (or determine) how the data will be stored in the clipboard of the first electronic device (110). As a non-limiting example, the identification of the type may include, in addition to identifying a type associated with the data, identifying, based on a size of the data, whether the metadata to be advertised for the shared clipboard will be obtained as first metadata (e.g., operation 307) or whether the metadata will be obtained as second metadata (e.g., operation 309). For example, under the condition that the data is smaller than or equal to the reference size, the first electronic device (110) may determine the type of the data as the reference type. For example, under the condition that the data is larger than the reference size, the first electronic device (110) may determine the type of the data as not being the reference type.
[0046] As a non-limiting example, operation 303 may be executed while the data is being clipped to the clipboard of the first electronic device (110). As a non-limiting example, operation 303 may also be executed after the data is stored to the clipboard of the first electronic device (110).
[0047] In operation 305, the first electronic device (110) can identify whether the identified type is a reference type.
[0048] For example, the criterion type may be set to identify (or determine) whether to acquire the first metadata or the second metadata. As a non-limiting example, the criterion type may include a plain text type and a markup language text type.
[0049] As a non-limiting example, data of a type corresponding to (or identical to) the reference type may represent data that can be directly clipped to the clipboard of the first electronic device (110), and data of a type different from the reference type may represent data that cannot be directly clipped to the clipboard of the first electronic device (110). For example, when storing data of a type different from the reference type, the first electronic device (110) may indirectly store the data on the clipboard of the first electronic device (110) by (at least temporarily) storing address information of the data. For example, the address information may indicate a location where the data is stored within a non-volatile memory of the first electronic device (110).
[0050] As a non-limiting example, data of a type corresponding to the above-mentioned reference type may represent data that can be directly clipped to the clipboard of the second electronic device (120), and data of a type different from the above-mentioned reference type may represent data that cannot be directly clipped to the clipboard of the second electronic device (120). For example, when storing data of a type different from the above-mentioned reference type, the second electronic device (120) may indirectly store the data on the clipboard of the second electronic device (120) by (at least temporarily) storing address information of the data.
[0051] For example, the first electronic device (110) may execute operation 307 based on the type that is (or corresponds to) the reference type, and execute operation 309 based on the type that is different from the reference type. For example, the first electronic device (110) may execute operation 307 on a condition that the data copied or cut by the user input received in operation 301 is plain text or markup language text, and execute operation 309 on a condition that the data is neither plain text nor markup language text.
[0052] In operation 307, the first electronic device (110) may acquire the first metadata on the condition that the identified type corresponds to the reference type. For example, the first metadata may represent the data clipped to the clipboard of the first electronic device (110). For example, the first metadata may include summary information (or description information) about the clip of the data. For example, the first metadata may indicate the type of the data. For example, the first metadata may further indicate the time at which the user input was received in operation 301. For example, the first metadata may include the data copied or cut by the user input received in operation 301, unlike the second metadata, which will be exemplified in the description of operation 309. As a non-limiting example, the first metadata, unlike the second metadata, may not include address information indicating a location where the data is stored within the non-volatile memory of the first electronic device (110) (e.g., information for accessing a location where the data is stored within the non-volatile memory of the first electronic device (110). For example, since the data of the type corresponding to the reference type is data that is not stored within the non-volatile memory of the first electronic device (110), the first metadata, unlike the second metadata, may not include the address information of the data.
[0053] As a non-limiting example, the first metadata (or the advertising packet including the first metadata, as exemplified below) (or the broadcast packet including the first metadata, as exemplified below) may be obtained based on a user account being used by the first electronic device (110) (or being used by an operating system of the first electronic device (110). For example, the first metadata (or the advertising packet including the first metadata, as exemplified below) (or the broadcast packet including the first metadata, as exemplified below) may be encrypted based on the user account.
[0054] As a non-limiting example, operation 307 may be executed while the data is being clipped to the clipboard of the first electronic device (110). As a non-limiting example, operation 307 may also be executed after the data is stored to the clipboard of the first electronic device (110).
[0055] Although not illustrated in FIG. 3, the first electronic device (110) may not acquire the first metadata under the condition that the size of the data, which is plain text or markup language text, is greater than a reference size. For example, the first electronic device (110) may acquire the second metadata, which will be exemplified in operation 309, instead of acquiring the first metadata under the condition that the size is greater than the reference size. For example, the first electronic device (110) may not acquire the first metadata under the condition that the size is greater than the reference size, and may display a notification indicating that copying (or cutting) of the data is not supported on the display of the first electronic device (110).
[0056] In operation 309, the first electronic device (110) may acquire the second metadata under a condition that the identified type is different from the reference type. For example, the second metadata may represent the data clipped to the clipboard of the first electronic device (110). For example, the second metadata may include summary information (or descriptive information) about the clip of the data. For example, the second metadata may indicate the type of the data. For example, the first metadata may further indicate the time at which the user input was received in operation 301. For example, unlike the first metadata, the second metadata may not include the data copied or cut by the user input received in operation 301. For example, unlike the first metadata, the second metadata may include address information of the data instead of the data. For example, since the data of the type different from the reference type is data stored in the non-volatile memory of the first electronic device (110), the second metadata may include the address information of the data.
[0057] As a non-limiting example, the second metadata (or the advertising packet including the second metadata, as exemplified below) (or the broadcast packet including the second metadata, as exemplified below) may be obtained based on a user account being used by the first electronic device (110) (or being used by an operating system of the first electronic device (110). For example, the second metadata (or the advertising packet including the second metadata, as exemplified below) (or the broadcast packet including the second metadata, as exemplified below) may be encrypted based on the user account.
[0058] As a non-limiting example, operation 309 may be executed while the data is being clipped to the clipboard of the first electronic device (110). As a non-limiting example, operation 309 may also be executed after the data is stored to the clipboard of the first electronic device (110).
[0059] In operation 311, the first electronic device (110) may provide metadata for the shared clipboard to the second electronic device (120). For example, the first electronic device (110) may broadcast metadata for the shared clipboard. For example, the metadata may be advertised using the first communication circuit (230). For example, the metadata may be advertised via an advertising packet. For example, the metadata may also be broadcast using the second communication circuit (240). For example, the metadata may be broadcast via a broadcasting packet. For example, the metadata may be the first metadata or the second metadata. For example, the first metadata may include data copied to the clipboard. For example, the second metadata may include indirect information (e.g., address information) about the copied data. For example, in operation 311, the first electronic device (110) may advertise the first metadata obtained according to operation 307 or may advertise the second metadata obtained according to operation 309. For example, the first electronic device (110) may advertise the first metadata or the second metadata to provide the data in response to a paste command within an external electronic device (e.g., a second electronic device (120)) logged in with (or signed in with) the user account being used by the first electronic device (110). For example, the first metadata or the second metadata may be advertised before the connection (131) and the connection (132) of FIG. 1 are established. As a non-limiting example, the first electronic device (110) may transmit a signal including the metadata to the second electronic device (120).For example, the first electronic device (110) may periodically transmit advertising packets for communication services. The first electronic device (110) may include the metadata in the advertising packets. The first electronic device (110) may broadcast the advertising packets including the metadata.
[0060] For example, the second electronic device (120) may receive the metadata broadcast or advertised from the first electronic device (110). For example, the metadata may be received based on the user account.
[0061] For example, since the first metadata advertised from the first electronic device (110) includes the data copied or cut by the user input received in operation 301, advertising the first metadata may provide faster responsiveness than executing the shared clipboard by executing an advertisement to indicate the occurrence of a copy event, such as the user input of operation 301, and executing transmission of data corresponding to the copy event in response to the occurrence of a paste event. For example, since the first metadata advertised from the first electronic device (110) includes the data copied or cut by the user input received in operation 301, transmitting the data for the shared clipboard in response to a paste event may be omitted within the first electronic device (110) by advertising the first metadata. For example, advertising the first metadata may simplify the process for the shared clipboard.
[0062] As a non-limiting example, the size of the data of the type different from the reference type (or data indirectly clipped to the clipboard of the first electronic device (110)) may typically be larger than the size of the data of the type corresponding to the reference type (or data directly clipped to the clipboard of the first electronic device (110). For example, the second metadata advertised from the first electronic device (110) may, unlike the first metadata, not include the data copied or cut by the user input received in operation 301. For example, since the second metadata is advertised when the type of the data copied or cut by the user input received in operation 301 is different from the reference type, advertising the second metadata may reduce resources consumed by transmitting the data before a paste command is generated within the external electronic device.
[0063] As described above, adaptively advertising the first metadata or the second metadata can reduce the amount of resources consumed for the shared clipboard.
[0064] FIG. 4 illustrates an exemplary method for adaptively executing a clip depending on whether metadata received from a first electronic device is first metadata or second metadata.
[0065] Referring to FIG. 4, in operation 401, the first electronic device (110) may advertise metadata. For example, the metadata may be advertised based on a user input (e.g., the user input received in operation 301) that causes a copy command or a cut command. For example, operation 401 may correspond to operation 311 of FIG. 3. For example, the second electronic device (120) may receive the metadata.
[0066] In operation 403, the second electronic device (120) can identify whether the metadata received in operation 401 is first metadata or second metadata. For example, the second electronic device (120) can process the metadata received in operation 401 based on a user account being used by the second electronic device (120) (or an operating system of the second electronic device (120)). For example, the second electronic device (120) can decrypt the metadata based on the user account. Since the user account is the same as the user account being used by the first electronic device (110), the metadata can be decrypted based on the user account. For example, the second electronic device (120) can identify (or determine) whether the metadata is the first metadata or the second metadata by identifying whether the metadata includes the data stored in the clipboard of the first electronic device (110). For example, the second electronic device (120) can identify (or determine) whether the metadata is the first metadata or the second metadata by identifying whether the type of data represented by the metadata corresponds to the reference type or is different from the reference type. For example, the second electronic device (120) can execute operation 405 on a condition that the metadata is the first metadata, and can execute operation 407 on a condition that the metadata is the second metadata.
[0067] In operation 405, the second electronic device (120) may store the data stored in the clipboard of the first electronic device (110) in the clipboard of the second electronic device (120) based on identifying that the metadata is the first metadata. For example, the second electronic device (120) may obtain the data from the first metadata and store the data in the clipboard of the second electronic device (120).
[0068] As a non-limiting example, the data stored in the clipboard may be displayed through a list of the clipboard of the second electronic device (120). The data displayed through the list may be exemplified within the description of FIG. 5.
[0069] Figure 5 shows an example of a list of clipboards.
[0070] Referring to FIG. 5, the second electronic device (120) may display a list (500-1) of the clipboard of the second electronic device (120). For example, the list (500-1) may be displayed within the execution screen of the software application, like the list (194) of FIG. 1, or, unlike the list (194) of FIG. 1, may be displayed outside the execution screen. As a non-limiting example, when the list (500-1) is displayed outside the execution screen, the list (500-1) may be displayed together with the execution screen in a split screen view or in a pop-up view together with the execution screen. For example, the list (500-1) may include an object (510) obtained according to operation 405. For example, the object (510) may represent at least a portion of the data within the first metadata. For example, the second electronic device (120) may, in response to a user input (or touch input) to the object (510), obtain or identify the data from the clipboard of the second electronic device (120) and execute a function of pasting the data. The execution will be further exemplified within the description of FIGS. 6 and 7.
[0071] Referring back to FIG. 4 , in operation 407, the second electronic device (120) may store identification information of the data in the clipboard of the second electronic device (120) based on identifying that the metadata is the second metadata. For example, the second electronic device (120) may identify or obtain address information of the data from the second metadata, obtain or identify the identification information based on the address information, and store the identification information in the clipboard of the second electronic device (120). For example, the identification information may be information that represents or expresses the data. For example, the identification information may be the name of the file when the data is a file. For example, the identification information may be the name of the directory (or folder) when the data is a directory (or folder). For example, since the identification information is clipped to the clipboard of the second electronic device (120) instead of the data, the identification information may be referenced as substitute information or temporary information. As a non-limiting example, the identification information may be configured as an empty file. As a non-limiting example, the identification information may be identical to the address information. For example, the second electronic device (120) may, based on identifying that the metadata is the second metadata, at least temporarily store the address information. For example, if the address information is different from the identification information, the address information may be clipped to the clipboard of the second electronic device (120) along with the identification information.
[0072] For example, the identification information stored in the clipboard may be displayed through a list of the clipboard of the second electronic device (120). The identification information displayed through the list may be exemplified within the description of FIG. 5.
[0073] Referring to FIG. 5, the second electronic device (120) may display a list (500-2). For example, unlike the list (500-1), the list (500-2) may include an object (520) obtained according to operation 407. For example, unlike the object (510), the object (520) may express at least a portion of the identification information obtained according to the execution of operation 407. As a non-limiting example, the object (520) may express the identification information of the data as the name of the data. For example, since the object (520) is obtained based on the second metadata that does not include the data, the object (520) may be displayed in the list (500-2) before the data is received from the first electronic device (110), unlike the object (510) that is displayed only after the data is received from the first electronic device (110). For example, the second electronic device (120) may, in response to a user input (or touch input) to the object (520), execute an operation for receiving the data to execute a function of pasting the data. The execution will be further exemplified within the description of FIGS. 6 and 8.
[0074] Although an example of displaying the clipboard on a screen is described in FIG. 5, embodiments of the present disclosure are not limited thereto. For example, the second electronic device (120) may display the clipboard not only through a display (e.g., display (220)), but also through a sound through a speaker.
[0075] Referring back to FIG. 4 , at operation 409, the second electronic device (120) may identify a user input for a paste command after operation 405 or operation 407 is executed. As a non-limiting example, the user input for the paste command may be generated within the first electronic device (110). For example, the first electronic device (110) may receive a user input indicating that the paste command is to be applied to the second electronic device (120) and transmit information about the user input to the second electronic device (120). The second electronic device (120) may receive the information from the first electronic device (110) and execute operation 409 based on the information. Operations of the second electronic device (120) and operations of the first electronic device (110) executed in response to the user input may be exemplified within the description of FIG. 6 .
[0076] FIG. 6 illustrates an exemplary method adaptively executed to display data stored in a clipboard of a first electronic device depending on whether metadata received from the first electronic device is first metadata or second metadata.
[0077] Referring to FIG. 6, in operation 601, the first electronic device (110) may broadcast or advertise metadata. Operation 601 may correspond to operation 311 of FIG. 3 and operation 401 of FIG. 4.
[0078] In operation 603, the second electronic device (120) can identify whether the metadata is the first metadata or the second metadata. Operation 603 may correspond to operation 405 of FIG. 4.
[0079] In operation 605, the second electronic device (120) may store the data included in the first metadata in the clipboard of the second electronic device (120) based on the metadata, which is the first metadata. Operation 605 may correspond to operation 405 of FIG. 4.
[0080] In operation 607, the second electronic device (120) may identify a user input for a paste command (or causing a paste command) after the data is stored in the clipboard of the second electronic device (120). For example, the user input may be identified without displaying the list of the clipboard of the second electronic device (120) (e.g., list (500-1)) (or before displaying the list of the clipboard of the second electronic device (120). As another example, the user input may be identified while the list of the clipboard of the second electronic device (120) is displayed. For example, the user input identified while the list of the clipboard of the second electronic device (120) is displayed may be exemplified in FIG. 7.
[0081] Figure 7 illustrates a list of clipboards containing objects provided based on the first metadata.
[0082] Referring to FIG. 7, the second electronic device (120) can display a list (500-1) within the execution screen (710) of the software application, such as in the state (700). Since the list (500-1) is displayed after the first metadata is received, the list (500-1) can include an object (510). For example, the object (510) can represent the data stored according to operation 605. For example, the object (510) can be provided through the list (500-1) based on the first metadata. For example, the second electronic device (120) can receive a touch input (720) for the object (510). For example, the second electronic device (120) can identify a touch input (720) through a display (e.g., display (220)) (e.g., a touchscreen) of the second electronic device (120).
[0083] Referring back to FIG. 6 , at operation 609, the second electronic device (120) may, in response to the user input, display at least a portion of the data stored (e.g., stored according to operation 605) in a user interface (UI) that displays the clipboard of the second electronic device (120). For example, since the data in the first metadata is clipped to the clipboard of the second electronic device (120) according to operation 605, the second electronic device (120) may, in response to the user input, obtain the data from the clipboard of the second electronic device (120) and display at least a portion of the data through the UI of the clipboard. For example, the second electronic device (120) may display the data without performing operations (e.g., operations 615 to 623) that are executed in response to a user input (e.g., the user input of operation 613) identified after the second metadata is received, as exemplified below. For example, the second electronic device (120) may display at least a portion of the data stored in the clipboard of the first electronic device (110) on the display of the second electronic device (120). For example, the second electronic device (120) may display the data without additionally requesting the data after the first metadata is received. Displaying the data may be exemplified in FIG. 7.
[0084] Referring again to FIG. 7, in response to a touch input (720), the second electronic device (120) can display data (760) represented by the object (510) and stored in the clipboard of the second electronic device (120), within the input portion (770) of the execution screen (710), such as in a state (750). For example, since the data (760) is included within the first metadata, the second electronic device (120) can display the data (760) without requesting the data (760) from the first electronic device (110) in response to the touch input (720).
[0085] Referring back to FIG. 6, in operation 611, the second electronic device (120) may store the identification information of the data in the clipboard of the second electronic device (120) based on the address information of the data included in the second metadata, based on the metadata, which is the second metadata. Operation 711 may correspond to operation 407 of FIG. 4.
[0086] In operation 613, the second electronic device (120) may identify a user input for a paste command after the identification information is stored in the clipboard of the second electronic device (120). For example, the user input may be identified without displaying the list (e.g., list (500-2)) of the clipboard of the second electronic device (120) (or before displaying the list of the clipboard of the second electronic device (120). As another example, the user input may be identified while the list of the clipboard of the second electronic device (120) is displayed. For example, the user input identified while the list of the clipboard of the second electronic device (120) is displayed may be exemplified in FIG. 8.
[0087] Figure 8 illustrates a list of clipboards containing objects provided based on the second metadata.
[0088] Referring to FIG. 8, the second electronic device (120) can display a list (500-2) within the execution screen (710) of the software application, as in the state (800). Since the list (500-2) is displayed after the second metadata is received, the list (500-2) can include an object (520). For example, the object (520) can express the identification information stored according to operation 611. For example, the object (520) can be provided through the list (500-2) based on the second metadata. For example, the second electronic device (120) can receive a touch input (820) for the object (520). For example, the second electronic device (120) can identify a touch input (820) through a display (e.g., display (220)) (e.g., a touchscreen) of the second electronic device (120).
[0089] Referring back to FIG. 6, at step 615, the second electronic device (120) may, in response to the user input identified at step 613, broadcast or advertise a signal indicating that the user input is identified within the second electronic device (120). For example, the signal may indicate the occurrence of a paste event. For example, the signal may be broadcast or advertised before the connection (131) and connection (132) are established. For example, the signal may be encrypted by the user account. For example, the first electronic device (110) may receive the signal. For example, the first electronic device (110) may receive the signal. For example, the first electronic device (110) may receive the signal based on the user account.
[0090] In operation 617, the first electronic device (110) and the second electronic device (120) may establish a connection (or create a channel) based on the signal.
[0091] For example, the connection may be a connection (131). For example, the first electronic device (110) may transmit a connection request to the second electronic device (120) in response to the signal from the second electronic device (120). For example, the second electronic device (120) may establish the connection based on transmitting a connection response to the first electronic device (110) in response to the connection request.
[0092] As another example, the connection may be a connection (132). For example, the first electronic device (110) may, in response to the signal from the second electronic device (120), transmit a connection request to the second electronic device (120) that includes information indicating an access point (AP) to which the first electronic device (110) has accessed. For example, the second electronic device (120) may, based on identifying that the second electronic device (120) has accessed the AP indicated by the information in the connection request, transmit a connection response to the first electronic device (110) indicating that the second electronic device (120) has accessed the AP. For example, the second electronic device (120) may establish the connection based on transmitting the connection response. As another example, the second electronic device (120) may transmit a signal to the first electronic device (110) requesting to establish a connection via Wi-Fi Direct based on identifying that the second electronic device (120) is not accessing the AP indicated by the information in the connection request. For example, the first electronic device (110) may activate a Wi-Fi Direct network in response to the signal. For example, the second electronic device (120) may establish the connection based on accessing the first electronic device (110) via the activated Wi-Fi Direct network.
[0093] For example, the connection may be established for operation 619. For example, the connection may be established for operation 619 and operation 623.
[0094] In operation 619, the second electronic device (120) may transmit the address information of the data obtained (or identified) from the second metadata to the first electronic device (110) through the connection after the connection is established (or in response to the connection). As a non-limiting example, the address information may be transmitted through unicast or groupcast, unlike the signal, the first metadata, and the second metadata.
[0095] For example, the address information may be transmitted to the first electronic device (110) to request the data. For example, the address information may be transmitted to the first electronic device (110) to assist in discovering the data stored in the non-volatile memory of the first electronic device (110). For example, the address information may be transmitted to the first electronic device (110) to specify or identify the data.
[0096] For example, the first electronic device (110) can receive the address information.
[0097] In operation 621, the first electronic device (110) can identify the data based on the address information. For example, since the data is not directly stored in the clipboard of the first electronic device (110), the first electronic device (110) can identify the data from the location where the data is stored in the non-volatile memory of the first electronic device (110) based on the address information.
[0098] In operation 623, the first electronic device (110) may transmit the data to the second electronic device (120). For example, the data may be transmitted to the second electronic device (120) through the connection established in operation 617. As a non-limiting example, the data may also be transmitted to the second electronic device (120) through another connection that is distinct from the connection established in operation 617. For example, the data may be transmitted using another communication circuit (e.g., the second communication circuit (240)) that is distinct from the communication circuit (e.g., the first communication circuit (230)) used to establish the connection. As a non-limiting example, the connection may be connection (131) and the other connection may be connection (132). For example, the first electronic device (110) may identify the size of the data, transmit the data through another connection having a throughput greater than the throughput of the connection based on the size being greater than the reference size, and transmit the data through the connection based on the size being less than or equal to the reference size. However, the present invention is not limited thereto.
[0099] For example, the second electronic device (120) can receive the data from the first electronic device (110).
[0100] In operation 625, the second electronic device (120) may display the data received in operation 623. The display of the data may be exemplified in FIG. 8.
[0101] Although not shown in FIG. 6, the second electronic device (120) may, in addition to displaying the data, further display a message indicating that the data has been copied. For example, the second electronic device (120) may display a pop-up message indicating that the data has been copied through a display (e.g., display (220)).
[0102] Referring again to FIG. 8, the second electronic device (120) may, in response to a touch input (820), display data (860) within the input portion (770) of the execution screen (710), such as a state (850). For example, depending on the implementation, the display of data (860) may be replaced with the display of an object (e.g., a thumbnail image) representing the data.
[0103] For example, data (860) may be identical to the data stored in the non-volatile memory of the first electronic device (110), unlike the object (520) representing a temporary file representing identification information of data (860). For example, since data (860) is displayed based on operations 615 to 625 that are executed on a condition of identifying the user input in operation 613, unlike data (760) of FIG. 7, the time for which data (860) is displayed after operation 613 is executed may be longer than the time for which data (760) is displayed after operation 607 is executed. However, since the size of data (860) is typically larger than the size of data (760), executing operations 615 to 625 before operation 613, which is executed according to user selection to receive data (860) in advance together with data (760), may drastically increase the amount of resources consumed for the shared clipboard. For example, operations 615 to 625, which are executed in response to the execution of operation 613, may enhance the efficiency of resource utilization.
[0104] Although not shown in FIG. 6, the first electronic device (110) may, instead of executing operations 621 and 623, transmit a signal to the second electronic device (120) indicating that the data does not exist within the first electronic device (110) based on identifying that the data has failed to be identified based on the address information received from the second electronic device (120). For example, the second electronic device (120) may, in response to the signal from the first electronic device (110), display a message or notification indicating that the use of the shared clipboard is unavailable (or limited).
[0105] FIG. 9 illustrates an exemplary method executed within a first electronic device to transmit information indicating the size of data.
[0106] Referring to FIG. 9, in operation 901, the first electronic device (110) may identify the data copied or cut by the user input received as in operation 301 based on the address information received from the second electronic device (120). For example, the type of the data may be different from the reference type. Operation 901 may correspond to operation 621 of FIG. 6.
[0107] In operation 903, the first electronic device (110) may transmit information indicating the size of the identified data to the second electronic device (120). For example, the information may be transmitted from the first electronic device (110) to the second electronic device (120) to identify within the second electronic device (120) whether the transmission of the data in operation 905 is successfully completed. For example, the connection used for the transmission of the information may be the same as the connection established in operation 617, or may be different from the connection established in operation 617. For example, the connection used for the transmission of the information may be the same as the connection used for the transmission of the data in operation 905, or may be different from the connection used for the transmission of the data in operation 905.
[0108] For example, the information may further indicate that the data exists (or is stored) within the first electronic device (110). As another example, the first electronic device (110) may transmit other information indicating that the data exists within the first electronic device (110) to the second electronic device (120) before the information is transmitted, or may transmit the other information together with the information to the second electronic device (120).
[0109] In operation 905, the first electronic device (110) may transmit the data to the second electronic device (120). For example, after the information is transmitted, the first electronic device (110) may transmit the data to the second electronic device (120). Operation 905 may correspond to operation 623 of FIG. 6.
[0110] As described above, the first electronic device (110) can transmit the information before the data is transmitted so that the second electronic device (120) can identify whether reception of the data has been successfully completed.
[0111] FIG. 10 illustrates an exemplary method executed within a second electronic device to receive information indicating the size of data.
[0112] Referring to FIG. 10, in operation 1001, the second electronic device (120) may transmit the address information obtained from the second metadata to the first electronic device (110). As a non-limiting example, the second electronic device (120) may transmit the address information to the first electronic device (110) to indicate a request for transmission of the data. Operation 1001 may correspond to operation 619 of FIG. 6.
[0113] In operation 1003, the second electronic device (120) can receive information indicating the size of data to be transmitted from the first electronic device (110).
[0114] For example, the information may further indicate that the data exists (or is stored) within the first electronic device (110). For example, the second electronic device (120) may recognize that the data is to be received, as in operation 1005, based on the information indicating that the data exists.
[0115] For another example, the information may be received after other information indicating that the data exists within the first electronic device (110) is received from the first electronic device (110), or may be received from the first electronic device (110) together with the other information. For example, the second electronic device (120) may recognize that the data is to be received, as in operation 1005, based on the other information.
[0116] In operation 1005, the second electronic device (120) may receive the data after the information is received. For example, the second electronic device (120) may determine whether the reception of the data is successfully completed by comparing the size of the data received from the first electronic device (110) with the size indicated by the information. For example, the second electronic device (120) may disconnect the connection established for the shared clipboard with the first electronic device (110) based on determining that the reception of the data is successfully completed. For example, the second electronic device (120) may display a message or notification indicating that the shared clipboard is unavailable based on determining that the reception of the data is not successfully completed. For example, the second electronic device (120) may request the first electronic device (110) to retransmit the data based on determining that the reception of the data is not successfully completed.
[0117] As described above, the second electronic device (120) can identify whether execution of the shared clipboard is successfully completed using the information received from the first electronic device (110) before the data is received.
[0118] FIG. 11 illustrates an exemplary method executed within a first electronic device to transmit directory data.
[0119] Referring to FIG. 11, in operation 1101, the first electronic device (110) may identify the data as a directory containing (or storing) one or more files based on the address information received according to operation 619. For example, the first electronic device (110) may identify that the data to be pasted within the second electronic device (120) is a directory containing one or more files using the address information.
[0120] In operation 1103, the first electronic device (110) may transmit to the second electronic device (120) a list including other address information for accessing one or more files within the directory. For example, the list may include a URI (or address information) of each of the one or more files. As a non-limiting example, the list may be transmitted to the second electronic device (120) to restore the arrangement of the one or more files within the directory within the first electronic device (110) (or the hierarchical structure of the directory) within the second electronic device (120).
[0121] In operation 1105, the first electronic device (110) may receive the other address information from the second electronic device (120) after the list is transmitted. As a non-limiting example, the other address information may be transmitted from the second electronic device (120) to request transmission of the one or more files. As a non-limiting example, the other address information may be transmitted from the second electronic device (120) to search for the one or more files within the first electronic device (110).
[0122] In operation 1107, the first electronic device (110) may transmit the data by transmitting the one or more files to the second electronic device (120) in response to the other address information. For example, the first electronic device (110) may identify a location where each of the one or more files is stored within a non-volatile memory of the first electronic device (110) based on the other address information, and transmit the one or more files obtained based on the identification to the second electronic device (120).
[0123] As described above, the first electronic device (110) can enhance the efficiency of execution of the shared clipboard by transmitting the other address information to the second electronic device (120).
[0124] FIG. 12 illustrates an exemplary method executed within a second electronic device to receive directory data.
[0125] Referring to FIG. 12, in operation 1201, the second electronic device (120) may transmit the address information to the first electronic device (110) according to operation 619 of FIG. 6. The first electronic device (110) may receive the address information from the second electronic device (120). For example, the first electronic device (110) may use the address information to recognize or identify that the data to be pasted within the second electronic device (120) is a directory including one or more files. For example, based on the recognition or identification, the first electronic device (110) may transmit a list including other address information for accessing the one or more files to the second electronic device (120).
[0126] In operation 1203, the second electronic device (120) may receive the list including the other address information from the first electronic device (110). For example, the second electronic device (120) may identify or obtain the other address information from the list.
[0127] In operation 1205, the second electronic device (120) may transmit the other address information to the first electronic device (110). For example, the other address information may be transmitted to the first electronic device (110) to request transmission of the one or more files within the directory. For example, the other address information may be transmitted to the first electronic device (110) to assist the first electronic device (110) in specifying or searching for the one or more files. The first electronic device (110) may receive the other address information from the second electronic device (120). The first electronic device (110) may acquire or identify the one or more files from a non-volatile memory of the first electronic device (110) based on the other address information. The first electronic device (110) may transmit the one or more files to the second electronic device (120).
[0128] In operation 1207, the second electronic device (120) may receive the data by receiving the one or more files from the first electronic device (110). As a non-limiting example, the second electronic device (120) may process (or arrange within the generated directory) the one or more files based on the other address information such that a directory generated within the second electronic device (120) according to the user input identified in operation 613 corresponds to the directory within the first electronic device (110).
[0129] As described above, the second electronic device (120) can enhance the efficiency of execution of the shared clipboard by receiving the other address information from the first electronic device (110).
[0130] FIG. 13 illustrates an exemplary method executed within a first electronic device to release a connection established for a shared clipboard.
[0131] Referring to FIG. 13, in operation 1301, a first electronic device (110) may transmit data to a second electronic device (120). Operation 1301 may correspond to operation 623 of FIG. 6, operation 905 of FIG. 9, and operation 1107 of FIG. 11.
[0132] In operation 1303, the first electronic device (110) may receive another signal from the second electronic device (120) indicating that processing of the paste command caused by the user input identified in operation 613 is complete. For example, the other signal may be transmitted from the second electronic device (120) to disconnect a connection established between the first electronic device (110) and the second electronic device (120) for the shared clipboard. For example, the other signal may be transmitted from the second electronic device (120) to indicate that execution of the shared clipboard has been successfully completed. For example, the other signal may be transmitted from the second electronic device (120) to request termination (or release) of the connection.
[0133] In operation 1305, the first electronic device (110) may release the connection with the second electronic device (120) based on the reception of the other signal. For example, the first electronic device (110) may release the connection in response to the other signal to reduce resources consumed by maintaining the connection after execution of the shared clipboard is completed. For example, the first electronic device (101) may maintain the connection for a certain period of time (e.g., n seconds) after execution of the shared clipboard is completed. The first electronic device (101) may maintain the connection for the certain period of time to wait for additional user input (e.g., paste, cut). If there is no user input during the certain period of time, the first electronic device (101) may release the connection.
[0134] FIG. 14 illustrates an exemplary method executed within a second electronic device to release a connection established for a shared clipboard.
[0135] Referring to FIG. 14, in operation 1401, the second electronic device (120) may receive data from the first electronic device (110). Operation 1401 may correspond to operation 623 of FIG. 6, operation 1005 of FIG. 10, and operation 1207 of FIG. 12.
[0136] In operation 1403, the second electronic device (120), in response to identifying that receiving the data in operation 1401 is complete, may transmit another signal indicating that processing of the paste command caused by the user input identified in operation 613 is complete. For example, the other signal may be transmitted from the second electronic device (120) to disconnect a connection established between the first electronic device (110) and the second electronic device (120) for the shared clipboard. For example, the other signal may be transmitted from the second electronic device (120) to indicate that execution of the shared clipboard has been successfully completed. For example, the other signal may be transmitted from the second electronic device (120) to request termination (or release) of the connection.
[0137] In operation 1405, the second electronic device (120) may release the connection with the first electronic device (110) based on transmitting the other signal. For example, the second electronic device (120) may release the connection in response to the other signal to reduce resources consumed by maintaining the connection after execution of the shared clipboard is completed.
[0138] The operations of each of the first electronic device (110) and the second electronic device (120) exemplified above can be executed within the electronic device exemplified in FIG. 15.
[0139] FIG. 15 is a block diagram of an electronic device (1501) within a network environment (1500) according to various embodiments. Referring to FIG. 15 , in the network environment (1500), the electronic device (1501) may communicate with the electronic device (1502) via a first network (1598) (e.g., a short-range wireless communication network), or may communicate with at least one of the electronic device (1504) or the server (1508) via a second network (1599) (e.g., a long-range wireless communication network). In one embodiment, the electronic device (1501) may communicate with the electronic device (1504) via the server (1508). According to one embodiment, the electronic device (1501) may include a processor (1520), a memory (1530), an input module (1550), an audio output module (1555), a display module (1560), an audio module (1570), a sensor module (1576), an interface (1577), a connection terminal (1578), a haptic module (1579), a camera module (1580), a power management module (1588), a battery (1589), a communication module (1590), a subscriber identification module (1596), or an antenna module (1597). In some embodiments, the electronic device (1501) may omit at least one of these components (e.g., the connection terminal (1578)), or may have one or more other components added. In some embodiments, some of these components (e.g., sensor module (1576), camera module (1580), or antenna module (1597)) may be integrated into a single component (e.g., display module (1560)).
[0140] The processor (1520) may, for example, execute software (e.g., a program (1540)) to control at least one other component (e.g., a hardware or software component) of the electronic device (1501) connected to the processor (1520) and perform various data processing or operations. According to one embodiment, as at least a part of the data processing or operations, the processor (1520) may store commands or data received from other components (e.g., a sensor module (1576) or a communication module (1590)) in a volatile memory (1532), process the commands or data stored in the volatile memory (1532), and store result data in a non-volatile memory (1534). According to one embodiment, the processor (1520) may include a main processor (1521) (e.g., a central processing unit or an application processor) or an auxiliary processor (1523) (e.g., a graphics processing unit, a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor) that can operate independently or together with the main processor (1521). For example, when the electronic device (1501) includes the main processor (1521) and the auxiliary processor (1523), the auxiliary processor (1523) may be configured to use less power than the main processor (1521) or to be specialized for a given function. The auxiliary processor (1523) may be implemented separately from the main processor (1521) or as a part thereof.
[0141] The auxiliary processor (1523) may control at least a portion of functions or states associated with at least one component (e.g., the display module (1560), the sensor module (1576), or the communication module (1590)) of the electronic device (1501), for example, on behalf of the main processor (1521) while the main processor (1521) is in an inactive (e.g., sleep) state, or together with the main processor (1521) while the main processor (1521) is in an active (e.g., application execution) state. In one embodiment, the auxiliary processor (1523) (e.g., an image signal processor or a communication processor) may be implemented as a part of another functionally related component (e.g., a camera module (1580) or a communication module (1590)). In one embodiment, the auxiliary processor (1523) (e.g., a neural network processing unit) may include a hardware structure specialized for processing artificial intelligence models. The artificial intelligence models may be generated through machine learning. This learning can be performed, for example, on the electronic device (1501) where the artificial intelligence model is executed, or can be performed through a separate server (e.g., server (1508)). The learning algorithm can 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 can include multiple artificial neural network layers.The artificial neural network may be one of 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, or alternatively to, a hardware structure, an artificial intelligence model may include a software structure.
[0142] The memory (1530) can store various data used by at least one component (e.g., the processor (1520) or the sensor module (1576)) of the electronic device (1501). The data can include, for example, software (e.g., the program (1540)) and input data or output data for commands related thereto. The memory (1530) can include volatile memory (1532) or non-volatile memory (1534).
[0143] The program (1540) may be stored as software in memory (1530) and may include, for example, an operating system (1542), middleware (1544), or an application (1546).
[0144] The input module (1550) can receive commands or data to be used in a component of the electronic device (1501) (e.g., a processor (1520)) from an external source (e.g., a user) of the electronic device (1501). The input module (1550) can include, for example, a microphone, a mouse, a keyboard, a key (e.g., a button), or a digital pen (e.g., a stylus pen).
[0145] The audio output module (1555) can output audio signals to the outside of the electronic device (1501). The audio output module (1555) can include, for example, a speaker or a receiver. The speaker can be used for general purposes, such as multimedia playback or recording playback. The receiver can be used to receive incoming calls. In one embodiment, the receiver can be implemented separately from the speaker or as part of the speaker.
[0146] The display module (1560) can visually provide information to an external party (e.g., a user) of the electronic device (1501). The display module (1560) may include, for example, a display, a holographic device, or a projector, and a control circuit for controlling the device. In one embodiment, the display module (1560) may include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of a force generated by the touch.
[0147] The audio module (1570) can convert sound into an electrical signal, or vice versa. According to one embodiment, the audio module (1570) can acquire sound through the input module (1550), output sound through the sound output module (1555), or an external electronic device (e.g., electronic device (1502)) (e.g., speaker or headphone) directly or wirelessly connected to the electronic device (1501).
[0148] The sensor module (1576) can detect the operating status (e.g., power or temperature) of the electronic device (1501) or the external environmental status (e.g., user status) and generate an electrical signal or data value corresponding to the detected status. According to one embodiment, the sensor module (1576) can include, for example, a gesture sensor, a gyro sensor, a barometric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, a temperature sensor, a humidity sensor, or an illuminance sensor.
[0149] The interface (1577) may support one or more designated protocols that may be used to directly or wirelessly connect the electronic device (1501) with an external electronic device (e.g., the electronic device (1502)). In one embodiment, the interface (1577) may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
[0150] The connection terminal (1578) may include a connector through which the electronic device (1501) may be physically connected to an external electronic device (e.g., the electronic device (1502)). In one embodiment, the connection terminal (1578) may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).
[0151] The haptic module (1579) can convert electrical signals into mechanical stimuli (e.g., vibration or movement) or electrical stimuli that a user can perceive through tactile or kinesthetic sensations. In one embodiment, the haptic module (1579) may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
[0152] The camera module (1580) can capture still images and videos. In one embodiment, the camera module (1580) may include one or more lenses, image sensors, image signal processors, or flashes.
[0153] The power management module (1588) can manage the power supplied to the electronic device (1501). According to one embodiment, the power management module (1588) can be implemented as at least a part of, for example, a power management integrated circuit (PMIC).
[0154] A battery (1589) may power at least one component of the electronic device (1501). In one embodiment, the battery (1589) may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
[0155] The communication module (1590) may support the establishment of a direct (e.g., wired) communication channel or a wireless communication channel between the electronic device (1501) and an external electronic device (e.g., electronic device (1502), electronic device (1504), or server (1508)), and the performance of communication through the established communication channel. The communication module (1590) may operate independently from the processor (1520) (e.g., application processor) and may include one or more communication processors that support direct (e.g., wired) communication or wireless communication. According to one embodiment, the communication module (1590) may include a wireless communication module (1592) (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module (1594) (e.g., a local area network (LAN) communication module, or a power line communication module). Any of these communication modules may communicate with an external electronic device (1504) via a first network (1598) (e.g., a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network (1599) (e.g., a long-range communication network such as a legacy cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., a local area network or a wide area network)). 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 (1592) may use subscriber information (e.g., an international mobile subscriber identity (IMSI)) stored in the subscriber identification module (1596) to verify or authenticate the electronic device (1501) within a communication network such as the first network (1598) or the second network (1599).
[0156] The wireless communication module (1592) can support 5G networks and next-generation communication technologies following the 4G network, such as NR access technology (new radio access technology). NR access technology can support high-speed transmission of high-capacity data (eMBB (enhanced mobile broadband)), minimizing terminal power and connecting multiple terminals (mMTC (massive machine type communications)), or high reliability and low latency communications (URLLC (ultra-reliable and low-latency communications)). The wireless communication module (1592) can support, for example, a high-frequency band (e.g., mmWave band) to achieve a high data transmission rate. The wireless communication module (1592) may support various technologies for securing performance in high-frequency bands, such as beamforming, massive multiple-input and multiple-output (MIMO), full dimensional MIMO (FD-MIMO), array antenna, analog beam-forming, or large scale antenna. The wireless communication module (1592) may support various requirements specified in the electronic device (1501), an external electronic device (e.g., the electronic device (1504)), or a network system (e.g., the second network (1599)). According to one embodiment, the wireless communication module (1592) may support a peak data rate (e.g., 20 Gbps or more) for eMBB implementation, a loss coverage (e.g., 164 dB or less) for mMTC implementation, or a U-plane latency (e.g., 0.5 ms or less for downlink (DL) and uplink (UL), or 1 ms or less for round trip) for URLLC implementation.
[0157] The antenna module (1597) can transmit or receive signals or power to or from an external device (e.g., an external electronic device). In one embodiment, the antenna module (1597) may include an antenna including a radiator formed of a conductor or a conductive pattern formed on a substrate (e.g., a PCB). In one embodiment, the antenna module (1597) 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 the first network (1598) or the second network (1599), may be selected from the plurality of antennas by, for example, the communication module (1590). A signal or power may be transmitted or received between the communication module (1590) and the external electronic device via the at least one selected antenna. In some embodiments, in addition to the radiator, another component (e.g., a radio frequency integrated circuit (RFIC)) may be additionally formed as a part of the antenna module (1597).
[0158] According to various embodiments, the antenna module (1597) may form a mmWave antenna module. In one embodiment, the mmWave antenna module may include a printed circuit board, an RFIC disposed on or adjacent a first side (e.g., a bottom side) of the printed circuit board and capable of supporting a designated high frequency band (e.g., a mmWave band), and a plurality of antennas (e.g., an array antenna) disposed on or adjacent a second side (e.g., a top side or a side side) of the printed circuit board and capable of transmitting or receiving signals in the designated high frequency band.
[0159] At least some of the above components can be interconnected and exchange signals (e.g., commands or data) with each other via a communication method between peripheral devices (e.g., a bus, GPIO (general purpose input and output), SPI (serial peripheral interface), or MIPI (mobile industry processor interface)).
[0160] According to one embodiment, commands or data may be transmitted or received between the electronic device (1501) and an external electronic device (1504) via a server (1508) connected to a second network (1599). Each of the external electronic devices (1502 or 1504) may be the same or a different type of device as the electronic device (1501). According to one embodiment, all or part of the operations executed in the electronic device (1501) may be executed in one or more of the external electronic devices (1502, 1504, or 1508). For example, when the electronic device (1501) is to perform a certain function or service automatically or in response to a request from a user or another device, the electronic device (1501) may, instead of or in addition to executing the function or service itself, request one or more external electronic devices to perform the function or at least a part of the service. One or more external electronic devices that receive the request may execute at least a portion of the requested function or service, or an additional function or service related to the request, and transmit the result of the execution to the electronic device (1501). The electronic device (1501) may process the result as is or additionally and provide it as at least a portion of a response to the request. For this purpose, cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology may be used, for example. The electronic device (1501) may provide an ultra-low latency service using, for example, distributed computing or mobile edge computing. In another embodiment, the external electronic device (1504) may include an Internet of Things (IoT) device. The server (1508) may be an intelligent server utilizing machine learning and / or a neural network.According to one embodiment, an external electronic device (1504) or server (1508) may be included within the second network (1599). The electronic device (1501) may be applied to intelligent services (e.g., smart homes, smart cities, smart cars, or healthcare) based on 5G communication technology and IoT-related technology.
[0161] As described above, an electronic device may include a memory (e.g., including one or more storage media), a communication circuit, and at least one processor (e.g., including a processing circuit). The memory may store instructions. The instructions, when individually or collectively executed by the at least one processor, may cause the electronic device to receive a user input to copy or cut data, identify a type of the data in response to the user input, obtain first metadata including the data stored in a clipboard of the electronic device in response to the user input based on the type corresponding to a reference type, obtain second metadata including address information for accessing a location within the electronic device where the data stored in the clipboard of the electronic device in response to the user input is stored based on the type being different from the reference type, and advertise the first metadata or the second metadata using the communication circuitry to provide the data in response to a paste command within an external electronic device that is logged in with a user account being used by the electronic device.
[0162] For example, the instructions, when individually or collectively executed by the at least one processor, may cause the electronic device to receive, using the communication circuitry, a signal from the external electronic device indicating that the paste command has been initiated within the external electronic device after the second metadata has been advertised, establish a connection between the electronic device and the external electronic device based on the signal, receive, using the communication circuitry, the address information transmitted from the external electronic device through the connection, and transmit, to the external electronic device, the data identified from the location based on the address information.
[0163] For example, the electronic device may further include another communication circuit for a second communication technique that is distinct from the first communication technique supported by the communication circuit. For example, the instructions, when individually or collectively executed by the at least one processor, may cause the electronic device to transmit the data identified from the location based on the address information to the external electronic device using the other communication circuit.
[0164] For example, the instructions, when individually or collectively executed by the at least one processor, may cause the electronic device to receive another signal indicating that processing of the paste command is complete after the data identified from the location based on the address information has been transmitted, and to release the connection based on the another signal.
[0165] For example, the data may be a directory containing one or more files. For example, the instructions, when individually or collectively executed by the at least one processor, may cause the electronic device to transmit the data by, in response to the address information received from the external electronic device, transmitting to the external electronic device via the connection, a list containing other address information for accessing the one or more files stored in the directory, using the communication circuit, and in response to the other address information received from the external electronic device via the connection, transmitting to the external electronic device the one or more files stored in the directory.
[0166] For example, the instructions, when individually or collectively executed by the at least one processor, may cause the electronic device to identify the data from the location using the address information received from the external electronic device, transmit information indicating the size of the data to the external electronic device via the connection using the communication circuit, and, after the information is transmitted, transmit the data to the external electronic device.
[0167] For example, the first metadata may include the data among the data and the address information, and the second metadata may include the address information among the data and the address information.
[0168] For example, each of the first metadata and the second metadata may indicate at least one of the type or the time at which the user input was received.
[0169] For example, the above reference type may be a plain text type and a mark-up language text type.
[0170] An electronic device as described above may include a memory (e.g., including one or more storage media), a communication circuit, and a processor (e.g., including a processing circuit). For example, the instructions, when individually or collectively executed by the at least one processor, may cause the electronic device to receive, using the communication circuit, metadata advertised from an external electronic device logged in with a user account being used by the electronic device, and, in response to identifying that the metadata is first metadata including data stored on a clipboard of the external electronic device in response to a user input causing a copy command or a cut command, store the data on the clipboard of the electronic device, and in response to identifying that the metadata is second metadata including address information for accessing a location where the data stored on the clipboard of the external electronic device in response to the user input is stored within the external electronic device, store identification information of the data on the clipboard of the electronic device.
[0171] For example, the electronic device may include a display. For example, the instructions, when individually or collectively executed by the at least one processor, may cause the electronic device to establish a connection between the electronic device and the external electronic device based on identifying a user input for a paste command, displaying the data stored in the clipboard of the electronic device on the display in response to the identified user input after the first metadata is received, and transmitting, using the communication circuitry, a signal indicating that the user input is identified within the electronic device, and transmitting, using the communication circuitry, to the external electronic device through the connection, address information stored within the electronic device in association with the identification information, and receiving, after the address information is transmitted, the data from the external electronic device.
[0172] For example, the electronic device may include another communication circuit for a second communication technique that is distinct from the first communication technique supported by the communication circuit. For example, the instructions, when individually or collectively executed by the at least one processor, may cause the electronic device to receive the data from the external electronic device using the other communication circuit.
[0173] For example, the instructions, when individually or collectively executed by the at least one processor, may cause the electronic device to, after the address information is transmitted, receive, using the communication circuit, information indicating a size of the data from the external electronic device through the connection, and, after the information is received, receive the data from the external electronic device, and, in response to identifying completion of the reception of the data based on the information, transmit another signal to the external electronic device indicating completion of processing of the paste command.
[0174] For example, the connection may be released based on the transmission of the other signal.
[0175] For example, the data may be a directory containing one or more files. For example, the instructions, when individually or collectively executed by the at least one processor, may cause the electronic device to receive the data by receiving, using the communication circuit, a list containing other address information for accessing the one or more files stored in the directory from the external electronic device through the connection after the address information has been transmitted, transmitting the other address information to the external electronic device through the connection, and receiving the one or more files from the external electronic device after the other address information has been transmitted.
[0176] For example, the first metadata may include the data among the data and the address information, and the second metadata may include the address information among the data and the address information.
[0177] For example, each of the first metadata and the second metadata may indicate at least one of the type or the time at which the user input was received.
[0178] For example, the above reference type may be a plain text type and a mark-up language text type.
[0179] For example, the instructions, when individually or collectively executed by the at least one processor, may cause the electronic device to, in response to identifying an input that displays a list for the clipboard after receiving the first metadata, display an object within the list representing at least a portion of the data, and in response to identifying the input after receiving the second metadata, display an object within the list representing at least a portion of the identification information.
[0180] For example, the identification information may include a file name of the data.
[0181] Electronic devices according to the various embodiments disclosed in this document may take various forms. Electronic devices may include, for example, portable communication devices (e.g., smartphones), computer devices, portable multimedia devices, portable medical devices, cameras, wearable devices, or home appliances. Electronic devices according to the embodiments of this document are not limited to the aforementioned devices.
[0182] The various embodiments of this document and the terminology used therein are not intended to limit the technical features described in this document to specific embodiments, but should be understood to include various modifications, equivalents, or substitutes of the 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 the items, unless the context clearly indicates otherwise. In this document, each of the phrases "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" can include any one of the items listed together in the corresponding phrase among those phrases, or all possible combinations thereof. Terms such as "first," "second," or "first" or "second" may be used merely to distinguish one component from another, and do not limit the components in any other respect (e.g., importance or order). When a component (e.g., a first component) is referred to as "coupled" or "connected" to another (e.g., a second component), with or without the terms "functionally" or "communicatively," it means that the component can be connected to the other component directly (e.g., wired), wirelessly, or through a third component.
[0183] The term "module" used in various embodiments of this document may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit. A module may be an integral component, or a minimum unit or part of such a component 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).
[0184] Various embodiments of the present document may be implemented as software (e.g., a program (1540)) including one or more instructions stored in a storage medium (e.g., an internal memory (1536) or an external memory (1538)) readable by a machine (e.g., an electronic device (1501)). For example, a processor (e.g., a processor (1520)) of the machine (e.g., an electronic device (1501)) may call at least one instruction among the one or more instructions stored from the storage medium and execute it. This enables the machine to operate 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 executable by an interpreter. The machine-readable storage medium may be provided in the form of a non-transitory storage medium. Here, 'non-transitory' simply means that the storage medium is a tangible device and does not contain signals (e.g., electromagnetic waves), and the term does not distinguish between cases where data is stored semi-permanently or temporarily on the storage medium.
[0185] According to one embodiment, the method according to various embodiments disclosed in this document may be provided as included in a computer program product. The computer program product may be traded as a commodity between a seller and a buyer. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., compact disc read-only memory (CD-ROM)), or may be distributed online (e.g., downloaded or uploaded) via an application store (e.g., Play Store™) or directly between two user devices (e.g., smart phones). In the case of online distribution, at least a portion of the computer program product may be temporarily stored or temporarily generated in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or an intermediary server.
[0186] According to various embodiments, each component (e.g., a module or a program) of the above-described components may include one or more entities, and some of the entities may be separated and placed in other components. According to various embodiments, one or more components or operations of the aforementioned components may be omitted, or one or more other components or operations may be added. Alternatively or additionally, a plurality of components (e.g., a module or a program) may be integrated into a single component. In such a case, the integrated component may perform one or more functions of each of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to the integration. According to various embodiments, the operations performed by a module, program, or other component 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.
Claims
1. In electronic devices, A memory comprising one or more storage media and storing instructions; Communication circuit; and At least one processor comprising a processing circuit, The above instructions, when individually or collectively executed by the at least one processor, Receive user input to copy or cut data, In response to said user input, identify the type of said data, Based on the type corresponding to the reference type, first metadata including the data stored in the clipboard of the electronic device according to the user input is obtained, Based on the above type and other types of the above criteria, second metadata is obtained including address information for accessing a location where the data stored in the clipboard of the electronic device is stored within the electronic device according to the user input, Causing the electronic device to advertise the first metadata or the second metadata, using the communication circuit, to provide the data in response to a paste command within an external electronic device that is logged in with a user account being used by the electronic device. Electronic devices.
2. In claim 1, the instructions, when individually or collectively executed by the at least one processor, After the second metadata is advertised, a signal indicating that the paste command is caused within the external electronic device is received using the communication circuit, Based on the above signal, a connection is established between the electronic device and the external electronic device, The address information transmitted from the external electronic device through the connection is received using the communication circuit, Causing said electronic device to transmit said data identified from said location based on said address information to said external electronic device; Electronic devices.
3. In claim 2, Further comprising another communication circuit for a second communication distinct from the first communication supported by the above communication circuit, The above instructions, when individually or collectively executed by the at least one processor, Causing the electronic device to transmit the data identified from the location based on the address information to the external electronic device using the other communication circuit. Electronic devices.
4. In claim 2, the instructions, when individually or collectively executed by the at least one processor, After the data identified from the location based on the address information is transmitted, another signal indicating that processing of the paste command is completed is received from the external electronic device, Based on the other signal above, to release the connection, causing said electronic device, Electronic devices.
5. In claim 2, the data is, A directory containing one or more files, The above instructions, when individually or collectively executed by the at least one processor, In response to the address information received from the external electronic device, transmitting, using the communication circuit, to the external electronic device through the connection, a list including other address information for accessing the one or more files stored in the directory, In response to the other address information received through the connection from the external electronic device, the data is transmitted by transmitting the one or more files stored in the directory to the external electronic device. causing said electronic device, Electronic devices.
6. In claim 2, the instructions, when individually or collectively executed by the at least one processor, Identifying the data from the location using the address information received from the external electronic device, Through the above connection, information indicating the size of the data is transmitted to the external electronic device using the communication circuit, After the above information is transmitted, the data is transmitted to the external electronic device. causing said electronic device, Electronic devices.
7. In claim 1, the first metadata is: Including the above data and the above address information, The above second metadata is, Among the above data and the above address information, including the above address information, Electronic devices.
8. In claim 1, each of the first metadata and the second metadata, Indicates at least one of the above types or the time at which the user input was received; Electronic devices.
9. In claim 1, the above-mentioned criterion type is, Plain text type and mark-up language text type, Electronic devices.
10. In electronic devices, A memory comprising one or more storage media and storing instructions; Communication circuit; and At least one processor comprising a processing circuit, The above instructions, when individually or collectively executed by the at least one processor, Receives metadata advertised from an external electronic device logged in with a user account used by the electronic device using the communication circuit, In response to identifying that the metadata is first metadata comprising data stored in a clipboard of the external electronic device in response to a user input causing a copy command or a cut command, storing the data in the clipboard of the electronic device; Causing the electronic device to store identification information of the data on the clipboard of the electronic device in response to identifying that the metadata is second metadata including address information for accessing a location where the data stored on the clipboard of the external electronic device is stored in accordance with the user input. Electronic devices.
11. In claim 10, Including more displays, The above instructions, when individually or collectively executed by the at least one processor, Identify user input for the paste command, In response to the identified user input after the first metadata is received, displaying the data stored in the clipboard of the electronic device on the display; In response to the identified user input after the second metadata is received, a connection between the electronic device and the external electronic device is established based on transmitting a signal using the communication circuit indicating that the user input is identified within the electronic device, Transmitting the address information stored in the electronic device in conjunction with the identification information to the external electronic device through the connection using the communication circuit, After the above address information is transmitted, causing the electronic device to receive the data from the external electronic device, Electronic devices.
12. In claim 11, Further comprising another communication circuit for a second communication distinct from the first communication supported by the above communication circuit, The above instructions, when individually or collectively executed by the at least one processor, Causing said electronic device to receive said data from said external electronic device using said other communication circuit; Electronic devices.
13. In claim 11, the instructions, when individually or collectively executed by the at least one processor, After the above address information is transmitted, information indicating the size of the data is received from the external electronic device through the connection using the communication circuit, After the above information is received, the data is received from the external electronic device, In response to identifying completion of said reception of said data based on said information, transmit another signal to said external electronic device indicating completion of processing of said paste command. causing said electronic device, Electronic devices.
14. In claim 13, the connection is: Based on the above transmission of the other signal, it is released, Electronic devices.
15. In claim 11, the data is, A directory containing one or more files, The above instructions, when individually or collectively executed by the at least one processor, After the above address information is transmitted, a list including other address information for accessing one or more files stored in the directory is received from the external electronic device through the connection, using the communication circuit, Transmitting said other address information to said external electronic device through said connection, After the other address information is transmitted, by receiving one or more files from the external electronic device, the data is received. causing said electronic device, Electronic devices.
Citation Information
Patent Citations
Method and device for sending clipboard data
CN115599565A
Data processing method and system using same
JP1995244720A
Syncing content clipboard
US20150012861A1
Smart clipboard for secure data transfer
US20190227857A1
Cross-platform stateless clipboard experiences
US20210042171A1