Copy and paste between devices
By configuring wireless transceivers and memory between computing devices, seamless data transmission between devices is achieved using BTLE and high-speed communication technology, solving the problem of complex inter-device data transmission in the prior art, and providing a transparent, efficient and user-controlled data transmission solution.
Patent Information
- Application Number
- CN202211722560.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2016-05-30
- Filing Date
- 2017-05-24
- Publication Date
- 2025-08-05
- Estimated Expiration
- 2037-05-24
AI Technical Summary
When transferring data between multiple computing devices, the prior art requires users to perform multiple steps and/or tasks of multiple applications on each device, resulting in inconvenient operation and opaque data transmission.
By configuring wireless transceivers and memory between computing devices, seamless cutting and pasting of data between devices is achieved, data transmission is utilized using low-energy communication technologies such as Bluetooth Low Power (BTLE), and switching to high-speed communication technology when the data is large, providing a user interface to control transmission progress and cancel options.
It realizes seamless data transmission between multiple computing devices, transparent user operations, low energy consumption, and maintains efficient during big data transmission, providing user control.
Smart Images

Figure CN115883587B_ABST
Abstract
Description
[0001] This application is a divisional application of the invention patent application with an international application date of May 24, 2017, national application number 201780033393.8, and invention name “Copy and paste between devices”. Technical Field
[0002] The present disclosure generally relates to the transmission of data between devices. Background Art
[0003] Computing devices such as personal computers, smartphones, tablets, and other devices are often readily available, and in many cases, multiple computing devices may be in close proximity to one another. Sometimes, a single user may use multiple computing devices within a short period of time. For example, a user may be using an application on a laptop and then switch to a tablet or smartphone to use a different application. In such cases, data transfer between devices may not be straightforward and may often require the user to perform tasks involving multiple steps and / or multiple applications on each device. Summary of the Invention
[0004] In some embodiments, a computing device may be configured to share the contents of its clipboard or pasteboard with other computing devices. For example, a user may select data, such as text or a graphic, in an application on a first device and enter a cut or copy command to place the data on the pasteboard. In addition to placing the data on the local pasteboard, this operation may also cause the first device to notify other devices of the presence of the pasteboard data. The user may enter a paste command on a second device. The paste command may cause the second device to obtain the pasteboard data from the first device and paste the data into an application on the second device, in a manner very similar to how data is captured from an application on the second device into the pasteboard of the second device.
[0005] Certain implementations provide at least the following advantages: A user can seamlessly cut or copy data on one device and paste it on another. Thus, a user can, for example, transfer data between devices that are in close proximity and share a shared user account. The transfer can occur transparently to the user. Low-energy communication techniques can be used for the transfer. In cases where the amount of data being transferred is large, high-speed communication techniques can be used for the transfer, and / or a user interface can be provided that indicates the progress of the transfer and / or allows the user to cancel the transfer.
[0006] The details of one or more implementations are set forth in the following drawings and detailed description. Other features, aspects, and potential advantages will be apparent from the detailed description and drawings, and from the claims. BRIEF DESCRIPTION OF THE DRAWINGS
[0007] Figure 1is an exemplary system for copying and pasting between devices.
[0008] Figure 2 is an exemplary graphical user interface for copying and pasting between devices.
[0009] Figure 3 is an exemplary data transfer mechanism for copying and pasting between devices.
[0010] Figure 4 is a flow chart of an exemplary process for advertising the availability of content for pasting from a first device to a second device.
[0011] Figure 5 is a flow chart of an exemplary process for requesting data to be pasted from another device.
[0012] Figure 6 is a flow chart of an exemplary process for sending cut or copied data to another device.
[0013] Figure 7 is a flow chart of an exemplary process for sending cut or copied data above a threshold size to another device.
[0014] Figure 8 is an example device configured for copying and pasting between devices.
[0015] Like reference symbols in the various drawings indicate like elements. DETAILED DESCRIPTION
[0016] Overview
[0017] Figure 1An exemplary network 100 of computing devices is shown. The computing device can be one of various electronic devices, including but not limited to laptop computers, desktop computers, computer terminals, television systems, tablet computers, e-book readers, smart phones, watches and wearable computers. Two or more computing devices, such as device 1 (e.g., laptop computer) 110, device 2 (e.g., tablet computer) 120, device 3 (e.g., smart phone) 130 and device N (e.g., desktop computer) may be close to each other. Each device may include at least one wireless transceiver 112 / 122 / 132 / 142, such as a Bluetooth low energy (BTLE) transceiver or other transceiver. When the devices are within the communication range of each other through their respective BTLE transceivers, the devices can be considered to be close to each other. In addition to communicating with each other using BTLE, devices 110 / 120 / 130 / 140 can also optionally be connected to a local area network (LAN) using a wired or wireless router 150 or other network device. For example, devices 110 / 120 / 130 / 140 may use router 150 to access the Internet or other wide area network (WAN).
[0018] Each device 110 / 120 / 130 / 140 may include an operating system 114 / 124 / 134 / 144 configured to facilitate general device operation and user interaction with the device. Operating system 114 / 124 / 134 / 144 may include a pasteboard 116 / 126 / 136 / 146. Pasteboard 116 / 126 / 136 / 146 may be a part of device 110 / 120 / 130 / 140 memory, a file in the file system of device 110 / 120 / 130 / 140, or some other data storage element that is configured to store data and facilitate cut, copy and / or paste operations. In some embodiments, pasteboard 116 / 126 / 136 / 146 may be provided by an application program separate from the operating system itself. Each device 110 / 120 / 130 / 140 may also run one or more application programs 118 / 128 / 138 / 148. Users can cut and / or copy data from an application, causing the data to appear on the pasteboard. Users can paste data from the pasteboard into the same or a different application from which the data originated.
[0019] Figure 2An exemplary graphical user interface (GUI) 200 is shown that can be displayed on a device (e.g., tablet computer 120 of network 100 or any other device). A user can interact with tablet computer 120 to select data 210, such as an image or a portion of an image. This selection can prompt tablet computer 120 to present a menu 220 including cut, copy, and other options. When the user selects cut or copy, the selected data 210 can be placed on a pasteboard 126. In this example, GUI 200 is an interface for an image viewing or editing application 128, although GUIs providing similar functionality can also be provided for other applications.
[0020] Figure 3 An example of copying data on a first device (e.g., tablet 120 of network 100) and pasting it on a second device (e.g., smartphone 130 of network 100) is shown. Figure 2 As described above, a user can use the menu 220 of the GUI 200 of the first device 120 to copy the selected data 210. The user can then interact with the GUI 300 of the second device 130 to enter a paste command (e.g., via the paste menu 320 or using some other command). As described in more detail below, the second device 130 can be notified of the data on the pasteboard 126 of the first device, receive the data, and add the data to the pasteboard 136 of the second device. The paste command can paste the data from the first device 120 into the application 128 of the second device 130. The data from the first device 120 can persist in the pasteboard 136 of the second device, just as if it had been cut or copied using the second device 130. Issuing the paste command via the paste menu 320 is shown as an example, but the user can trigger remote paste in other ways. For example, after data is copied on the first device and the first device notifies the availability of the data, the second device 130 can receive the notification and generate a prompt asking the user whether the data should be pasted to the second device 130. In another example, the user can issue a command using a keyboard of the second device 130 (eg, command-c or control-c).
[0021] Example Process
[0022] Figure 44 is a flow diagram of an exemplary copy and announce process 400 involving the first device 120. Although the process 400 is presented as being performed by the first device 120, any device in the network 100 may behave similarly when cutting or copying data. The process 400 may begin when data is added to the device's pasteboard 402. For example, a user may select data within an application and enter a cut or copy command (e.g., by interacting with the GUI 200 as described above), causing the device 120 to place the selected data on the pasteboard 126.
[0023] When data is added to the pasteboard 126, the device 120 may announce the presence of such data 404. For example, the announcement may be inserted into BTLE beacon data that is also used by other processes. Some devices in the network 100 may periodically transmit a handover beacon payload. A handover beacon may be, for example, a BTLE announcement packet periodically transmitted by the device 120. The handover beacon may include continuity data that facilitates the transmission of application operating state between devices. Other devices may also periodically transmit beacon data for similar functions or other reasons. The packet may include, for example, an activity identifier that identifies the first application and the activity executed in the first application, a flag that indicates when the activity identifier includes a domain name representation of an online resource associated with the activity, a timestamp for the activity / activity information, and / or other data. The announcement may be inserted into a transmission that includes the handover beacon data or other beacon data. For example, the announcement may be encoded into a handover beacon announcement packet, and the same packet may be used to transmit both activity continuity data and pasteboard availability data. In some embodiments, the notification can be inserted into a periodically sent activity notification message of the type described in U.S. Publication No. 2015 / 0350355, entitled “Activity Continuation Between Electronic Devices,” and U.S. Publication No. 2015 / 0373084, entitled “Forwarding Activity-Related Information From Source Electronic Devices to Companion Electronic Devices,” the entire contents of each of which are incorporated herein by reference.
[0024] Announcements may be inserted 404 into beacon payloads sent by device 120 for a limited period of time. For example, after a predefined amount of time (e.g., 2 minutes or some other length of time) has elapsed 406, announcements may no longer be added to subsequent beacon payloads 410. In some embodiments, this length of time may be a default length, or may be a selectable length specified by the user through interaction with the GUI. Beacon payloads may be broadcast by device 120 without being intended to be received by any particular other device (i.e., they may be announced to any device that may be listening).
[0025] In some cases, another device (e.g., second device 130) may request to paste data from first device 120 pasteboard 126, and the request may be received 408 at first device 120. After receiving the request, the announcement may no longer be added to subsequent beacon transmissions 410, and further processing (described below) may be performed by first device 120 and / or second device 130 to paste the data on second device 130. In other embodiments, first device 120 may continue to advertise the presence of pasteboard data for the remainder of the predetermined time period even after receiving the paste request. This may allow additional devices (e.g., Figure 1 The device 110 or the device 140 also pastes the data from the pasteboard 126 of the first device 120.
[0026] Figure 5 5 is a flow chart of an exemplary paste request process 500 involving a second device 130. Although the process 500 is presented as being performed by the second device 130, the former may have similar performance when a paste command is received on any device in the network 100 and another device in the network 100 is broadcasting a beacon transmission including a notification. The second device 130 may receive a beacon transmission including a notification 502. In some embodiments, the second device 130 may process the notification and / or perform subsequent actions 504 to 512 only when the second device 130 is associated with the same user account or other public identifier as the first device 120. For example, a user may have previously logged into a user account (e.g., Apple ID or other user account) on both devices 120 / 130. In some embodiments, the devices 120 / 130 may encrypt data exchanged between each other so that only devices associated with the same user account or other public identifier can decrypt and use the data. In some embodiments, the second device 130 may process the notification and / or perform subsequent actions 504 to 512 only when the shared copy and paste function is enabled in the user account settings and / or device settings. For example, such a setting may be selected by the user through interaction with the GUI, or may be a default setting.
[0027] Second device 130 may receive a paste command (e.g., by interacting with GUI 300 as described above) 504 during the time period when the announcement was broadcast by first device 120 and received by second device 130. Assuming both devices 120 / 130 are associated with the same user account, and assuming the paste command is received shortly after data is added to first device 120's pasteboard 126 (e.g., during the time period when the announcement was broadcast by first device 120 and received by second device 130), it can be assumed that the user intends to transfer the pasteboard 126 contents to second device 130's pasteboard 136 and paste it. Second device 130 may utilize BTLE or other connectivity 506 to send a request for more information to first device 120. For example, second device 130 may request a list of types of data on first device 120's pasteboard 126. The list of types may include information about the types of data available on pasteboard 126 and / or information about the size of the data. For example, if text is cut or copied to pasteboard 126, the list of types may include both plain text and rich text entries for the text data. If the image is cut or copied to the clipboard 126, the type list may include various image formats for the image data (e.g., .gif, .jpg, .png, etc.). Allowing the second device 130 to request type data rather than including it in the notification may reduce the notification bit size requirements in some embodiments. However, in some embodiments, the notification may include type data, allowing the actions associated with requesting and receiving type data as described herein to be omitted.
[0028] In some embodiments, more than one device associated with a user account (e.g., the first device 120 and the third device 110) can broadcast notifications during the same time period in which the paste command 504 is received. In this case, the second device 130 can send the request 506 to whichever of the devices 110 / 120 sent the notification that was most recently first detected by the second device 130. That is, whichever of the devices 110 / 120 last started broadcasting the notification. This can provide a user experience that is consistent with copying and pasting on a single device as known in the art, where if the user copies the first data and then copies the second data without pasting the first data, the second data is the data that is ultimately pasted. In some embodiments, the notification can include a timestamp indicating when the data was initially cut or copied, which can be used by the second device 130 to select the latest data.
[0029] The first device 120 may receive the request for the type list and send the type list in response (see Figure 6). The second device 130 may receive the list of types 508 via BTLE or other connection. The second device 130 may check the list of types to determine the type of data to be requested 510. For example, some devices and / or applications may only be able to use a subset of available data (e.g., only text and no graphics, only plain text and no rich text, only certain graphics or video or other file type formats, etc.). In these cases, the second device 130 may determine that only a subset of the available types will be requested. In other cases, the second device 130 may determine that all types of available data will be requested. The second device 130 may send a request for the determined data to the first device 120 using BTLE or other connection 512.
[0030] Figure 6 6 is a flow diagram of an exemplary data transfer process 600 involving the first device 120. Although the process 600 is presented as being performed by the first device 120, any device in the network 100 may behave similarly when receiving a request for a list of types and / or a data transfer. The first device 120 may receive a request for a list of types from another device (e.g., the second device 130 as described above) via a BTLE or other connection 602. In response, the first device 120 may send a list of types 604 for the pasteboard 126 using BTLE or other connection. The requesting device (e.g., the second device 130) may send a request for pasteboard data of a specified type, as described above, and the first device 120 may receive the request 606 via a BTLE or other connection. In response, the first device 120 may initiate a transfer of the requested data from the pasteboard 126.
[0031] In some embodiments, the mode of data transmission from the pasteboard 126 of the first device 120 to the pasteboard 136 of the second device 130 can depend on the size of the data being transmitted. For example, a threshold data size (e.g., 10kB or some other size) can be established. In some embodiments, the threshold data size can be a default size, or it can be an optional size specified by the user by interacting with the GUI. The first device 120 can determine whether the requested pasteboard data to be sent is below the threshold size 608. If so, BTLE (or another low-energy connection, e.g., a connection for sending notifications) can be used to send the requested pasteboard data 610. If not, the first device 120 can use a different (e.g., higher energy) connection to send the data.
[0032] For example, the first device 120 and the second device 130 can establish a direct WiFi connection between each other to transfer a larger amount of data. The first device 120 can use BTLE or other connections to provide a WiFi service connection and broadcast a WiFi service availability announcement 612. The second device 130 can connect to the WiFi service provided by the first device 120 (see Figure 7 ), and a connection between the two devices can be established 614. Once the connection is established, the first device 120 can use the WiFi connection to send the pasteboard content to the second device 130 616. In some embodiments, the WiFi service established between the devices 120 / 130 can coexist with the network 100 WiFi by using time division multiplexing or other multiplexing techniques, for example, allowing the devices 120 / 130 to continue to communicate with the router 150 during the data transfer.
[0033] Figure 7 is a flow chart of an exemplary data transmission process 700 involving the second device 130. Although the process 600 is presented as being performed by the second device 130, any device in the network 100 may perform the process of transmitting data from another device (e.g., as described above with reference to FIG. Figure 6 The first device 120 described above may have similar behavior when receiving clipboard data. The second device 130 may request data (e.g., as described above with respect to Figure 5 If the second device 130 does not detect the WiFi service advertisement 704, it may instead receive the pasteboard data 706 sent from the first device 120 in response to the request.
[0034] However, if the second device 130 detects the WiFi service advertisement 704, it may connect to the first device 120 708 via the advertised WiFi service. Figure 6As discussed, once the connection is established, the first device 120 can send pasteboard data over the connection, and the second device 130 can receive the data 710. In some embodiments, the second device 130 can display a GUI 712 while the pasteboard data is being transferred. The GUI can include an indication of the progress of the data transfer (e.g., a completion percentage and / or a progress bar) and / or an option to cancel the transfer (e.g., a "Cancel" button). If the user selects the cancel button 714, the second device 130 can stop the data transfer 716 and, in some embodiments, disconnect the WiFi service connection 718. Otherwise, the second device 130 can receive the pasteboard data 720 over WiFi, and in some embodiments, disconnect the WiFi service connection 722 after the transfer is complete. In some embodiments, the WiFi service connection does not need to be disconnected 718 / 722 and can remain open for a predetermined period of time, which can be used to facilitate future pasteboard data exchanges and / or can be used for other functions.
[0035] Regardless of whether the pasteboard data is received via BTLE or WiFi, after the transfer is complete, the second device 130 can save the data in its own pasteboard 724 and paste it into the application in response to the user's original paste command. The data can remain in the second device pasteboard 136 as if it were originally cut or copied locally on the second device 130.
[0036] Graphical User Interface
[0037] The present disclosure describes above various graphical user interfaces (GUIs) for implementing various features, processes, or workflows. These GUIs can be presented on various electronic devices, including but not limited to laptop computers, desktop computers, computer terminals, television systems, tablet computers, e-book readers, and smart phones. One or more of these electronic devices may include a touch-sensitive surface. The touch-sensitive surface can process multiple simultaneous input points, including processing data related to the pressure, degree, or position of each input point. Such processing can facilitate gestures performed with multiple fingers, including pinching and swiping.
[0038] When this disclosure refers to "selecting" a user interface element in a GUI, these terms are understood to include clicking or "hovering" over a user interface element with a mouse or other input device, or touching, tapping, or gesturing on a user interface element with one or more fingers or a stylus. A user interface element can be a virtual button, menu, selector, switch, slider, swipe, knob, thumbnail, link, icon, radio button, check box, and any other mechanism for receiving input from a user or providing feedback to a user.
[0039] Example system architecture
[0040] Figure 8 To be achievable Figures 1 to 7 1. A block diagram of an exemplary computing device 800 illustrating features and processes of a computing device 800. For example, the computing device 800 may be used as one or more user devices 110 to 140 of the network 100. The computing device 800 may include a memory interface 802, one or more data processors, image processors, and / or central processing units 804, and a peripheral device interface 806. The memory interface 802, one or more processors 804, and / or the peripheral device interface 806 may be separate components or may be integrated into one or more integrated circuits. The various components in the computing device 800 may be coupled via one or more communication buses or signal lines.
[0041] Sensors, devices, and subsystems can be coupled to the peripherals interface 806 to facilitate a variety of functions. For example, a motion sensor 810, a light sensor 812, and a proximity sensor 814 can be coupled to the peripherals interface 806 to facilitate orientation, lighting, and proximity functions. Other sensors 816 can also be connected to the peripherals interface 806, such as a global navigation satellite system (GNSS) (e.g., a GPS receiver), a temperature sensor, a biometric sensor, a magnetometer, or other sensing devices, to facilitate related functions.
[0042] The camera subsystem 820 and optical sensor 822 (e.g., a charge coupled device (CCD) or complementary metal oxide semiconductor (CMOS) optical sensor) may be used to facilitate camera functions, such as taking photos and video clips. The camera subsystem 820 and optical sensor 822 may be used to collect images of the user to be used during authentication of the user, for example, by performing facial recognition analysis.
[0043] Communication functionality may be facilitated by one or more wireless communication subsystems 824, which may include radio frequency receivers and transmitters and / or optical (e.g., infrared) receivers and transmitters. For example, the BTLE and / or WiFi communications described above may be handled by the wireless communication subsystem 824. The specific design and implementation of the communication subsystem 824 may depend on the communication network or networks over which the computing device 800 is intended to operate. For example, the computing device 800 may include a device designed to communicate over a GSM network, a GPRS network, an EDGE network, a WiFi or WiMax network, and a Bluetooth® network. TM Network-operated communication subsystem 824. Specifically, the wireless communication subsystem 824 may include a host protocol so that the device 100 can be configured as a base station for other wireless devices and / or provide WiFi services as described above.
[0044] The audio subsystem 826 can be coupled to a speaker 828 and a microphone 830 to facilitate voice-enabled functions such as speaker recognition, voice replication, digital recording, and telephony. The audio subsystem 826 can be configured to facilitate, for example, processing voice commands, voiceprint identification, and voice authentication.
[0045] I / O subsystem 840 may include a touch surface controller 842 and / or one or more other input controllers 844. Touch surface controller 842 may be coupled to a touch surface 846. Touch surface 846 and touch surface controller 842 may detect contact and motion or the interruption thereof using, for example, any of a variety of touch-sensitive technologies including, but not limited to, capacitive, resistive, infrared, and surface acoustic wave technologies, as well as other proximity sensor arrays or other elements for determining one or more points of contact with touch surface 846.
[0046] One or more other input controllers 844 may be coupled to other input / control devices 848, such as one or more buttons, rocker switches, a thumb wheel, an infrared port, a USB port, and / or a pointer device (such as a stylus). One or more buttons (not shown) may include an up / down button for volume control of the speaker 828 and / or microphone 830.
[0047] In one embodiment, pressing the button for a first duration can unlock the touch surface 846; and pressing the button for a second duration, longer than the first duration, can turn the computing device 800 on or off. Pressing the button for a third duration can activate voice control or voice commands, a module that enables a user to speak commands into the microphone 830 so that the device executes the spoken commands. The user can customize the functionality of one or more buttons. For example, the touch surface 846 can also be used to implement virtual or soft buttons and / or a keyboard.
[0048] In some implementations, the computing device 800 can render recorded audio and / or video files, such as MP3, AAC, and MPEG files. In some implementations, the computing device 800 can include the functionality of an MP3 player, such as an iPod or iPod Touch. TM The computing device 800 may therefore include a 36-pin connector compatible with an iPod. Other input / output and control devices may also be used.
[0049] The memory interface 802 can be coupled to a memory 850. The memory 850 may include high-speed random access memory and / or non-volatile memory, such as one or more magnetic disk storage devices, one or more optical storage devices, and / or flash memory (e.g., NAND, NOR). The memory 850 may store an operating system 852, such as Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS, or an embedded operating system (such as VxWorks).
[0050] The operating system 852 may include instructions for handling basic system services and for performing hardware-related tasks. In some implementations, the operating system 852 may be a kernel (e.g., a UNIX kernel). In some implementations, the operating system 852 may include instructions for performing voice authentication. For example, the operating system 852 may implement the system described in the referenced example. Figures 1 to 7 The copy and paste functionality described.
[0051] The memory 850 may also store communication instructions 854 for facilitating communication with one or more additional devices, one or more computers, and / or one or more servers. The memory 850 may include graphical user interface instructions 856 for facilitating graphical user interface processing; sensor processing instructions 858 for facilitating sensor-related processing and functions; telephony instructions 860 for facilitating telephony-related processes and functions; electronic message processing instructions 862 for facilitating electronic message processing-related processes and functions; web browsing instructions 864 for facilitating web browsing-related processes and functions; media processing instructions 866 for facilitating media processing-related processes and functions; GNSS / navigation instructions 868 for facilitating GNSS and navigation-related processes and instructions; and / or camera instructions 870 for facilitating camera-related processes and functions.
[0052] Memory 850 may store copy and paste instructions 872 that facilitate other processes and functions, such as reference Figures 1 to 7 The copy and paste process and functionality described.
[0053] The memory 850 may also store other software instructions 874, such as web video instructions that facilitate processes and functions related to web video; and / or web shopping instructions that facilitate processes and functions related to web shopping. In some implementations, the media processing instructions 866 may be divided into audio processing instructions and video processing instructions, respectively for facilitating processes and functions related to audio processing and processes and functions related to video processing.
[0054] Each of the instructions and applications identified above may correspond to an instruction set for performing one or more of the functions described above. These instructions need not be implemented as separate software programs, processes, or modules. Memory 850 may include more instructions or fewer instructions. Furthermore, various functions of computing device 800 may be implemented in hardware and / or software, including in one or more signal processing and / or application specific integrated circuits.
[0055] Although various embodiments have been described above, it should be understood that they have been presented by way of example and not limitation. It will be apparent to those skilled in the relevant art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention. Indeed, after reading the above description, those skilled in the relevant art will understand how to implement alternative embodiments.
[0056] In addition, it should be understood that any drawings highlighting features and advantages are provided for illustrative purposes only. The disclosed methods and systems are each sufficiently flexible and configurable so that they can be used in ways other than those shown.
[0057] Although the term "at least one" is often used in the specification, claims and drawings, the terms "a", "an", "the", "said" and the like also mean "at least one" or "the at least one" in the specification, claims and drawings.
[0058] Finally, it is Applicant's intent that only claims containing the express language "means for" or "step for" be interpreted under 35 U.S.C. § 112(f). Claims that do not expressly contain the phrase "means for" or "step for" should not be interpreted under 35 U.S.C. § 112(f).
Claims
1. A method comprising: wirelessly receiving, by a second device, a Bluetooth Low Energy (BTLE) beacon from a first device, the Bluetooth Low Energy (BTLE) beacon including a first advertisement indicating that data is available on a first clipboard of the first device; The second device establishes a Bluetooth connection with the first device; receiving, at the second device, a command to paste data; Sending, by the second device, a request for data to the first device via the Bluetooth connection; as well as wirelessly receiving, at the second device, from the first device via the Bluetooth connection, the data from the first pasteboard of the first device, wherein the data received at the second device includes encrypted data; decrypting the encrypted data by the second device based on that the first device and the second device are associated with the same user account; as well as The data is pasted, by the second device, into an application executing on the second device.
2. The method according to claim 1, further comprising: Prior to receiving the data, wirelessly sending, using the second device, a request for a type list to the first device, the type list including a plurality of data types for a plurality of subsets of the data on the first pasteboard; as well as In response to completing the transfer of the data from the first pasteboard, at least one connection between the first device and the second device is disconnected at the second device.
3. The method according to claim 2, further comprising: wirelessly receiving, at the second device, the list of categories directly from the first device; determining, using the second device, at least one data type among the plurality of data types as data to be requested; as well as A request for the data corresponding to the at least one of the plurality of data types is wirelessly transmitted with the second device.
4. The method according to claim 1, further comprising: wirelessly receiving, at the second device, a second advertisement of available WiFi service from the first device; as well as A direct WiFi connection between the first device and the second device is established using the second device.
5. The method according to claim 4, wherein The first notification is received using Bluetooth low energy transmission.
6. The method of claim 5, further comprising displaying, using the second device, a user interface while receiving data from the first pasteboard, the user interface including information selected from the group consisting of: an indication of data reception progress and a cancel option.
7. The method according to claim 6, further comprising: receiving a cancel command at the second device via the user interface; In response to receiving the cancel command, stopping receiving the data from the first pasteboard using the second device; as well as Upon ceasing to receive the data from the first pasteboard, disconnecting, at the second device, the direct WiFi connection between the first device and the second device.
8. The method of claim 1 , wherein the first clipboard is a data storage element configured to store data and facilitate cut, copy, and paste operations on the data, the method further comprising: In response to completing the transfer of the data from the first pasteboard, placing the data in a second pasteboard of the second device using the second device; as well as The data from the second pasteboard is pasted using the second device.
9. The method according to claim 1, wherein The first notification is received using Bluetooth low energy transmission, and wherein the method further comprises: In response to a size of the data from the first pasteboard being less than a threshold, selecting, by the second device, the at least one connection as a Bluetooth Low Energy connection; and In response to a size of the data from the first pasteboard being at least as large as the threshold, selecting, by the second device, the at least one connection as a direct WiFi connection between the first device and the second device.
10. The method according to claim 1, wherein Establishing the at least one connection between the first device and the second device is also responsive to receiving a paste command by the second device.
11. The method according to claim 1, wherein A paste operation is performed in response to determining that a command to paste data is received during a time period in which the first device broadcasts the first advertisement.
12. The method according to claim 1, wherein The paste operation is performed in response to determining that a command to paste data is received on the second device shortly after the data is added to the first pasteboard of the first device.
13. A device comprising: at least one wireless transceiver; a memory configured to store a local pasteboard; as well as A processor configured to: wirelessly receiving, by a second device, a Bluetooth Low Energy (BTLE) beacon from a first device, the Bluetooth Low Energy (BTLE) beacon including a first advertisement indicating that data is available on a first clipboard of the first device; Establishing a Bluetooth connection with the second device; receiving, at the second device, a command to paste the data; Sending, by the second device, a request for data to the first device via the Bluetooth connection; as well as wirelessly receiving, at the second device, from the first device via the Bluetooth connection, the data from the first pasteboard of the first device, wherein the data received at the second device includes encrypted data; decrypting the encrypted data by the second device based on that the first device and the second device are associated with the same user account; as well as The data is pasted, by the second device, into an application executing on the second device.
14. The apparatus according to claim 13, wherein The processor is further configured to: prior to receiving the data, wirelessly transmitting, using the at least one wireless transceiver, to the first device a request for a list of types comprising a plurality of data types for a plurality of subsets of the data on the first pasteboard; as well as In response to completing the transfer of the data from the first pasteboard, at least one connection between the first device and the second device is disconnected at the second device.
15. The apparatus according to claim 14, wherein The processor is further configured to: wirelessly receiving the list of categories directly from the first device using the at least one wireless transceiver; determining at least one data type among the plurality of data types as data to be requested; as well as A request for the data corresponding to the at least one of the plurality of data types is wirelessly transmitted using the at least one wireless transceiver.
16. The apparatus according to claim 13, wherein The processor is further configured to: wirelessly receiving, at the second device, a second advertisement of available WiFi service from the first device; and A direct WiFi connection between the first device and the second device is established using the second device.
17. The apparatus according to claim 16, wherein The first notification is received using Bluetooth low energy transmission.
18. The apparatus according to claim 17, wherein The processor is further configured to display a user interface while receiving data from the first pasteboard, the user interface including information selected from the group consisting of: an indication of data reception progress and a cancel option.
19. The apparatus according to claim 18, wherein The processor is further configured to: receiving a cancel command from the user interface; In response to receiving the cancel command, stopping receiving the data from the first pasteboard; as well as Upon ceasing to receive the data from the first pasteboard, disconnecting the direct WiFi connection between the first device and the second device using the at least one wireless transceiver.
20. The apparatus of claim 13, wherein: The first clipboard is a data storage element configured to store data and facilitate cut, copy, and paste operations on the data, and wherein the processor is further configured to: In response to completing the transfer of the data from the first pasteboard, placing the data in a second pasteboard of the second device; and The data from the second pasteboard is pasted.
21. The apparatus according to claim 13, wherein The first notification is received using Bluetooth low energy transmission, and wherein the processor is further configured to: In response to a size of the data from the first pasteboard being less than a threshold, selecting, by the second device, the at least one connection as a Bluetooth Low Energy connection; and In response to a size of the data from the first pasteboard being at least as large as the threshold, selecting, by the second device, the at least one connection as a direct WiFi connection between the first device and the second device.
22. The apparatus of claim 13, wherein: Establishing the at least one connection between the first device and the second device is also responsive to receiving a paste command by the second device.
23. The apparatus of claim 13, wherein: A paste operation is performed in response to determining that a command to paste data is received during a time period in which the first device broadcasts the first advertisement.
24. The apparatus of claim 13, wherein: The paste operation is performed in response to determining that a command to paste data is received on the second device shortly after the data is added to the first pasteboard of the first device.
Citation Information
Patent Citations
Activity continuation between electronic devices
US20150350355A1
Forwarding activity-related information from source electronic devices to companion electronic devices
US20150373084A1
Method, device and system for synchronizing clipboards between terminal equipment
CN104216787A
Mechanism for transferring data between applications running on multiple networked computers
US7325038B1