Proximity-based pairing and operation of user-specific companion devices
Through the pairing system and method, the processor and server identify the relationship between user accounts and computing devices, and automatically pair and lock when the device is approached, solving the seamless pairing problem of mobile users when connecting devices at different locations, improving work efficiency and user experience.
Patent Information
- Application Number
- CN202080075874.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-12-13
- Filing Date
- 2020-10-14
- Publication Date
- 2025-04-25
- Estimated Expiration
- 2040-10-14
AI Technical Summary
Provides a seamless pairing and connection experience as mobile users continue to move and enter and leave the connection range of their peripherals to allow users to focus on the details of their network environment.
Through the pairing system and method, the processor receives a pairing request signal, identifies the associated user account, determines that the account is associated with the computing device, and pairs when the device is approaching. The server manages the user equipment and accompanying computing equipment, receives lock or unlock requests, and locks or unlocks the device according to proximity.
A seamless pairing and connection experience is achieved, allowing users to avoid paying attention to device positioning and connection details, improving work efficiency and user experience.
Smart Images

Figure CN114616839B_ABST
Abstract
Description
Technical Field
[0001] The present application generally relates to an automatic pairing and locking / unlocking system for a companion computing device. Background Art
[0002] As computing devices become smaller and more powerful, users become more mobile. Workplaces are adapting to this trend by providing additional monitors and other peripherals that still work, while workers may sometimes perform work tasks from elsewhere by carrying a portable computer (such as a laptop, tablet, or smartphone) and / or working through remote portals that allow files and other information to be saved on a central server and accessed from anywhere. In addition, software and hardware tools that allow more work to be performed using only a personal computer have become available, such as MICROSOFT Software that can replace phone calls with virtual meetings (with or without video) and joint work documents that can include file sharing. As mobile users are constantly moving and entering and leaving the connection range of their peripherals, it is a technical problem to provide a seamless experience for pairing and connecting that allows users to focus on work, not the details of their network environment. Therefore, a technical solution is needed to provide a seamless pairing and connecting experience where the details of locating and connecting to other devices are largely invisible to the user. Summary of the invention
[0003] In one aspect, a pairing system includes a processor and a machine-readable medium including instructions. The instructions, when executed by the processor, cause the processor to perform the following operations: receive a pairing request signal for pairing a companion computing device over a communication network, and in response to the received pairing request signal, identify a user account associated with the pairing request signal, determine that the identified user account is associated with a first computing device, determine that the first computing device is proximate to the companion computing device, and pair the companion computing device with the first computing device.
[0004] In another aspect, a pairing method includes receiving a request to pair a companion computing device with a computing device, identifying a user account currently linked with the companion computing device, determining that the user account is associated with a first computing device, in response to the received request, determining that the first computing device is proximate to the companion computing device, and in response to determining that the first computing device is proximate to the companion computing device, sending identification information of the first computing device to the companion computing device, the identification information being sufficient to allow the companion computing device to present an option for pairing the companion computing device with the first computing device.
[0005] In another aspect, a server is configured to manage a user device and a companion computing device paired with the user device, the server comprising a processor and a machine-readable medium comprising instructions. The instructions, when executed by the processor, cause the processor to receive a request from the user device to lock or unlock, and in response to the received request, determine that the user device and the companion computing device are in proximity to each other, and lock or unlock the user device and the companion computing device to comply with the request.
[0006] This summary is provided to introduce a selection of concepts in a simplified form that are further described in the detailed description below. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. Furthermore, the claimed subject matter is not limited to implementations that solve any or all disadvantages noted in any part of this disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0007] The accompanying drawings depict one or more implementations according to the present teachings only as examples and not by way of limitation. In the drawings, the same reference numerals refer to the same or similar elements. In addition, it should be understood that the accompanying drawings are not necessarily drawn to scale.
[0008] Figure 1 is a schematic diagram of a user using a computing device and an accompanying computing device.
[0009] Figure 2 A diagram of the logical connections between computing devices, companion computing devices, networks, and shared services.
[0010] Figure 3 is a flowchart showing the pairing process.
[0011] Figure 4 is a flow chart illustrating different pairing processes.
[0012] Figure 5 Is an abstract view of the user interface (UI) near the start of the pairing process.
[0013] Figure 6 An abstract view for the UI during the later stages of the pairing process.
[0014] Figure 7 is a flow chart showing the locking / unlocking process.
[0015] Figure 8 is a block diagram of an example computing device that may be used to provide implementations of the systems and methods described herein.
[0016] Fig. 9 is a block diagram illustrating components of an example machine configured to read instructions from a machine-readable medium. DETAILED DESCRIPTION
[0017] In the following detailed description, numerous specific details are set forth by way of example in order to provide a thorough understanding of the relevant teachings. However, it should be apparent that the present teachings can be practiced without these details. In other cases, well-known methods, processes, components and / or circuits have been described at a relatively high level without detailed description in order to avoid unnecessarily obscuring aspects of the present teachings.
[0018] Figure 1 User 100 is generally shown at a desk using companion computing device 102 and computing device 104, in this case a laptop computer. Although device 104 is shown as a laptop computer, companion computing device 102 and computing device 104 may be laptop computers, netbooks, desktop computers, tablet computers, mobile phones, televisions, and / or wearable devices. The companion computing device and laptop computer are logically connected via one or more connectivity services that allow them to work together, such that, for example, user 100 may view and share documents on computing device 104 while simultaneously conducting a video conference on companion computing device 102. While companion computing devices can be convenient and provide additional options to users, it is important that each companion computing device is paired with the correct computing device. If the video controls on John's computer control Jane's companion device, but not John's, this would be disruptive rather than helpful in a work environment. As used herein, in one implementation, "pairing" one device with another device means establishing a logical connection between the devices through a pairing service such that (for example) the connection service lets the paired devices and / or other systems know when the paired devices are in proximity to each other, prompting corresponding changes in the behavior of the paired devices and / or other systems, such as, but not limited to, displaying a particular user interface on one device while the other device is in use.
[0019] In some workplaces, a given user 100 sits at the same desk day after day, and a network-connected companion computing device 102 at the desk may be paired with a desktop computer 104 placed thereon, so changes in proximity between the two stationary devices may be relatively infrequent. In other workplaces, a "hotdesking" strategy may mean that a given user sits at different desks from one day to the next, carrying the same laptop 104 as it moves to each desk, or that the user logs into a different companion device 102 and / or computer 104, depending on the seating arrangement for the day. In a hot-desking workplace, a user may need to pair with a different companion computing device 102 at the beginning of successive workdays. In either case, pairing and subsequent identification of the paired devices is preferably seamless to the user.
[0020] In some examples, the companion computing device can serve as a replacement or supplement for a traditional desk phone, among other things. For example, a video conference can be conducted using the camera and / or microphone from the companion computing device, but controls for the call, screen sharing capabilities, etc. can be used on the paired computing device.
[0021] Figure 2 2 is a diagram of a system 200 that illustrates logical connections between computing devices, companion computing devices, networks, and services that can be used to work with the devices. Computing device 202 can be a desktop computer, a laptop computer, a tablet computer, a mobile phone, a television, a wearable device, or any other computing device that a user wishes to use in an environment. It can include a local storage device 204 that holds local data 206, an output device 208 such as a speaker 210, a display device 212, and an input device 214 such as a camera 216, a microphone 218, and / or a keyboard 220. Companion computing device 222 can include a display device 224, an output device 226 such as a speaker 228, and / or an input device 230 such as a camera 232 and / or a microphone 234. Each computing device 202 and companion computing device 222 are connected to a network 224. Co-pending and co-owned applications Nos. 62 / 929,764 and 62 / 929,766, filed on November 1, 2019, entitled “USER INTERFACE DISSECTION AND AUGMENTATION” and “TELECONFERENCING INTERFACES AND CONTROLS VIA PAIRED USER COMPUTING DEVICES,” attorney docket numbers 407496-US-NP / 170101-457 and 407497-US-NP / 170101-458, respectively, describe ways in which computing device 202 and companion computing device 222 can work together to enhance the user experience. The referenced applications describe examples in which a companion computing device and other computing devices (e.g., a desktop or mobile computing device) recognize each other's presence and thereby enhance each other's functionality. For example, a computing device can provide controls (e.g., muting, customizing backgrounds, etc.) for a video conference being conducted using the companion computing device's camera and microphone. When sharing a screen to display a document during a video conference, the document can be pulled from the computing device while the companion computing device continues to provide a camera and microphone. The devices can work together, for example, so that notifications are displayed on any device that is not displaying content, so that other participants in the video conference are not exposed to distracting and potentially sensitive notifications. When the user is not in a video conference, the companion computing device can be used as an additional monitor, increasing the display space available for work.
[0022] These enhanced presentations and coordination are typically mediated through a network-accessible connection service 226, which in some implementations may be a local server accessible to various computing devices in the workplace. In some implementations, the pairing service includes a remote server, or may be provided as a SaaS ("software as a service") system, where control and management of the connection service is separate from control of the individual computing devices using the service. Not every system will include all of the described services, and other services not described may also be provided for computing devices. The connection service 226 may include a pairing service 228 that manages pairing of specific devices so that they can be used together. In some implementations, the pairing service 228 may include storage of user service account information 230. The connection service 226 may also include a control service 232, a teleconferencing service 234 (which may include storage of session recordings 236 or active sessions 238), and / or a storage service 240, which may include stored data 242. In some implementations, the computing device 202 and the companion computing device 222 may also access a third-party client service 244 over the network. By communicating via the connectivity service 226 and optional third-party client service 244, the computing device 202 and companion computing device 224 can provide the user with the technical benefit of unobtrusive operation of controls and options that can be displayed when they are available and not displayed when they are not available, thereby achieving the technical benefit of being able to access controls and options without requiring the user to change settings or otherwise manually manage device behavior.
[0023] Figure 3 300 is a flow chart depicting an example process 300 for an initial pairing process between an initially unpaired companion computing device and another computing device. The figure is divided into columns to help illustrate which devices are performing which parts of the illustrated process, but it should be understood that in other implementations, certain steps may be performed by other devices. At some time, typically before the remainder of the illustrated process, a user has logged into the computing device (step 302). Figure 3 As shown, a user begins the pairing process by logging into a companion computing device (step 304) and directing it to request pairing with another computing device (step 306). (In other implementations, this step may be performed by a computing device other than the companion computing device, or initiated by a connectivity service, such as as part of assigning a work location in a hot-desking environment.) For example, a user may have a laptop computer that they wish to pair with a companion computing device (which, in some implementations, may be better optimized for video communications with a team). The pairing request is transmitted by the companion computing device to the pairing service, which identifies the user account requesting pairing (step 308). Pairing service 228 is a type of connectivity service 226 (described above in conjunction with Figure 2), which manages pairing of specific devices so that they can be used together to enhance each other's capabilities. For example, the identification can be based on user credentials included in the request (e.g., a password, an ID card, or biometric data), or based on a directory of assigned user accounts (e.g., stored at a pairing service) to determine which user is logged into the companion computing device. It will be recognized that these are not the only ways to identify a user, and equivalent identification methods can be used with the described process.
[0024] exist Figure 3 In process 300, a user account has been found, and the pairing service then identifies computing devices that are known to be associated with the user account. Different implementations may use different methods to determine which devices are associated with the user account. For example, in some implementations, the associated devices may be devices that the user is currently logged in, devices that the user has logged in to, devices that the user has logged in to within a specific time period, devices that have been authorized to pair with a specific user by an organizational parent, or some combination of these.
[0025] Once the pairing service has identified the devices associated with the user account, it directs those devices to determine whether they are in proximity to the companion computing device (step 310) and to notify the pairing service if they are in proximity to the companion computing device. (As used herein, in one implementation, devices are "in proximity" to each other if they are nearby or within easy reach, such that a user may be able to use them simultaneously or in rapid succession. Devices in proximity to each other may be in the same room or in the same immediate environment.) In the illustrated implementation, the proximity signal 312 (e.g., The proximity determination is accomplished by checking with the identified computing device to see if it is receiving the signal. In this type of implementation, the pairing service may The signal's identification information is transmitted to the identified computing device so that it will not be detected by other devices that may be transmitting in its area. Device confusion. In other implementations, the pairing service may direct the identified computing device to transmit a companion computing device that can be identified for pairing. signal, which reverses the direction of arrow 112 but otherwise achieves the same effect.
[0026] Computing devices that obtain an indication that they are close enough to the companion computing device to receive its proximity signal transmit an indication of their proximity to the pairing service (step 314). In some embodiments, the pairing service may also request other data to confirm that the proximity signal has been correctly recognized. For example, if a computing device reports that it has detected signal, but the IP address of the computing device does not appear to correspond to the location of the companion computing device, the pairing service may require additional signals to confirm that the proximity has been correctly identified. For example, the pairing service may send a code to the companion computing device for transmission to the computing device. If the computing device receives the code and correctly provides it to the pairing service, the pairing service can conclude that the device is indeed nearby. In the illustrated implementation, the pairing service then provides a list of nearby computing devices to the companion computing device (step 316), which is configured to present a user interface (UI) in response to receiving the list, enumerate the listed devices and allow the user to select a listed device for pairing (step 318). Figure 5 and Figure 6 The presented UI is discussed in more detail. In response to receiving a user selection of a device to pair, the companion computing device notifies the pairing service via the UI which computing device has been selected. In some implementations, the user must also confirm the pairing on the computing device (step 320). In such implementations, this step may be mediated by the pairing service, or may be negotiated on a peer level between the computing device and the companion computing device. In some implementations, step 320 may be skipped, for example because direct communication via proximity signal 312 is deemed sufficient to confirm that the correct device is paired. Finally, the pairing service logically pairs the companion computing device and the computing device together (step 322) so that the companion computing device can be used to enhance the operation of the computing device (or vice versa) as discussed above.
[0027] Figure 4 An alternative flow for pairing is shown. This process 400 begins in the same manner as process 300, with the user logging into the computing device (step 402, which in some implementations may occur substantially before the other steps), logging into the companion device (step 404), and then requesting to pair with the companion computing device (step 406). The pairing service again finds the user account and identifies the associated computing device (step 408). However, once the pairing service has identified the devices associated with the user account, the pairing service determines which devices are proximate to the companion device (step 410), rather than as Figure 3 The associated computing device is directed to attempt to detect a proximity signal from the companion computing device. This determination may be made, for example, by checking the IP addresses of the companion device and the computing device, or by using other data that may be transmitted as part of the request to the pairing service or accessible to the pairing server, such as facial recognition performed by the companion computing device in conjunction with scanning an RFID-enabled employee badge as part of logging into the computing device. Once the pairing service determines that the computing device and the companion computing device are in proximity to each other, the process proceeds as follows Figure 3The pairing service provides a list of computing devices to pair with the companion computing device (step 412), and the companion computing device presents a UI that allows the user to select a device to pair with (step 414). In response to receiving the user selection of a device to pair with, the companion computing device notifies the pairing service via the UI which computing device has been selected. In some implementations, the user must also confirm the pairing on the computing device (step 416). Finally, the pairing service logically pairs the companion computing device and the computing device together (step 418), so that the companion computing device can be used to enhance the operation of the computing device (or vice versa) as described above.
[0028] Figure 5 An illustrative dialog box 500 of a user interface for pairing a companion computing device with a computing device is shown. At the time point shown, user "johndoe@company.com" has logged into the companion computing device and requested pairing (see above). Figure 3 Step 306). The companion device is requesting pairing from the pairing service, which is searching for devices associated with "johndoe@company.com" to provide for pairing. In the illustrated implementation, the reminder prompts the user to open the The feature that authorizes the request to the pairing service can be implemented in hardware (e.g., by providing a pairing button or circuitry for using a button with other functions to implement a dedicated function for pairing), in software (e.g., by providing a settings menu), or a combination of both.
[0029] Figure 6 A later exemplary dialog box 600 of the user interface is shown. The pairing service provides a list of two devices, John's Asus 15" (box 602) and John's laptop computer (box 604). Figure 6 As shown in the dialog box 600, the user has selected John's Asus 15" 602 (as indicated by the thicker outline and the phrase "Waiting to connect..."). In the illustrated implementation, the companion computing device is waiting for the user to confirm the selection on the associated computer ( Figure 3 Step 320 of ). As described above, in other implementations, this confirmation step may not be required before the devices are paired. In some implementations, even if multiple computing devices are close to the companion computing device, only a single pairing option may be provided, such as pairing with the strongest radio signal or pairing with the device that logged in most recently. In some implementations, a single companion computing device may be paired with multiple computing devices, or a single computing device may be paired with multiple companion computing devices.
[0030] Once the companion computing device and the computing device have been paired, they may also work together to facilitate easy locking and unlocking of both devices. Figure 7 700 is a flowchart illustrating the process, which can be used after the companion computing device and the computing device have been paired and their working together is facilitated by the connection service 226 (e.g., a lock / unlock service that is specifically responsible for managing the coordination of locking and unlocking of computing devices working together). For example, if a user is at a desk using both a computing device and a companion computing device, but the user wants to leave the desk for a moment, many organizations require that the devices be locked so that no one else can interfere with the work being done on the device. Therefore, the user can lock his desktop device using any UI that has been provided for the device (step 702). (For example, he can click an icon or move the mouse to a "lock" area of the screen.) When he takes a locking action on the computing device, the device locks, and it also determines that it is being used in conjunction with the companion device (step 704). This determination can be made in the same manner as the pairing decision is made using proximity signals, IP addresses, or other methods described above.
[0031] Once the computing device has determined that the user is using both the computing device and the companion computing device, and has determined that it has received a lock action from the computing device, it notifies the connection service to direct the companion device to lock (step 706), and the companion computing device locks (step 708). As seen by the user, locking the computing device automatically locks the paired companion device at the same time. However, if, for example, the user is using a laptop in a conference room, which is out of range of the companion computing device, the laptop will not determine that the devices are close to each other (step 704), so it will not perform step 706 and will not notify the lock / unlock service to lock the companion computing device, so only the computing device locked by the user will be locked. Therefore, if someone else is logged in as the user at another location (e.g., a spouse at home is using the work PC at home to place a takeout order) and locks that device, the lock / unlock service will not automatically lock the companion computing device at the office.
[0032] When the user returns to the computing device and unlocks it, the same set of steps may be performed (step 702). The computing device sees that the device is unlocked, and it determines that the paired companion computing device is in proximity to it (step 704). It then notifies the lock / unlock service (step 706), which unlocks the companion computing device (step 708). In addition to the above steps, the companion computing device may also be configured to lock if, for example, it loses proximity to the paired computing device. This configuration protects the integrity of the system, for example, if the user forgets to explicitly lock the companion computing device when leaving his desk and his computing device. In some implementations, the companion computing device may also be configured to unlock when re-approaching the computing device. From the user's perspective, this process is seamless and does not require working directly with the companion device to perform, it is simply available when needed and locked when the user leaves.
[0033] Figure 8 802 is a non-limiting example of a software architecture, and it should be appreciated that many other architectures may be implemented to facilitate the functionality described herein. The software architecture 802 may be executed on hardware such as a data processing system running the methods described below, which may include document storage, processors, memory, and input / output (I / O) components, etc. A representative hardware layer 804 is illustrated and may represent, for example, a device described herein. The representative hardware layer 804 includes a processing unit 806 and associated executable instructions 808. The executable instructions 808 represent executable instructions of the software architecture 802, including implementations of the methods, modules, etc. described herein. The hardware layer 804 also includes a memory / storage device 810, which also includes executable instructions 808 and accompanying data. The hardware layer 804 may also include other hardware modules 812. The instructions 808 held by the processing unit 808 may be part of the instructions 808 held by the memory / storage device 810.
[0034] The example software architecture 802 can be conceptualized as layers, each providing various functionality. For example, the software architecture 802 may include layers and components such as an operating system (OS) 814, a library 816, a framework 818, an application 820, and a presentation layer 844. In operation, the application 820 and / or other components within the layer may invoke API calls 824 to other layers and receive corresponding results 826. The layers shown are representative in nature, and other software architectures may include additional layers or different layers. For example, some mobile or dedicated operating systems may not provide a framework / middleware 818.
[0035] OS 814 can manage hardware resources and provide public services. OS 814 may include, for example, a kernel 828, a service 830, and a driver 832. Kernel 828 may serve as an abstraction layer between hardware layer 804 and other software layers. For example, kernel 828 may be responsible for memory management, processor management (e.g., scheduling), component management, network, security settings, etc. Service 830 may provide other public services for other software layers. Driver 832 may be responsible for controlling or interfacing with underlying hardware layer 804. For example, driver 832 may include a display driver, a camera driver, a memory / storage device driver, a peripheral device driver (e.g., via a universal serial bus (USB)), a network and / or wireless communication driver, an audio driver, etc., depending on the hardware and / or software configuration.
[0036] The library 816 may provide a common infrastructure that may be used by the application 820 and / or other components and / or layers. The library 816 may provide functionality for other software modules to use to perform tasks, rather than directly interacting with the OS 814. The library 816 typically includes a system library 834 (e.g., a C standard library) that may provide functions such as memory allocation, string operations, and file operations. In addition, the library 816 may include an API library 836, such as a media library (e.g., supporting the presentation and operation of image, sound, and / or video data formats), a graphics library (e.g., an OpenGL library for rendering 2D and 3D graphics on a computer), a database library (e.g., SQLite or other relational database functions), and a Web library (e.g., WebKit that may provide Web browsing functionality). The library 816 may also include various types of other libraries 838 to provide a variety of functions for the application 820 and other software modules.
[0037] Framework 818 (sometimes also referred to as middleware) provides a higher level common infrastructure that can be used by applications 820 and / or other software modules. For example, framework 818 can provide various graphical user interface (GUI) functions, advanced resource management, or advanced positioning services. Framework 818 can provide a variety of other APIs for applications 820 and / or other software modules.
[0038] Applications 820 include built-in applications 840 and / or third-party applications 842. Examples of built-in applications 840 may include, but are not limited to, contact applications, browser applications, location applications, media applications, messaging applications, and / or game applications. Third-party applications 842 may include any application developed by an entity other than the supplier of a particular platform. Applications 820 may use the functions available via OS 814, library 816, framework 818, and presentation layer 844 to create a user interface to interact with a user.
[0039] Some software architectures use virtual machines, such as virtual machine 848. Virtual machine 848 provides an execution environment where applications / modules can execute as if they were executed on a hardware machine. Virtual machine 848 can be hosted by a host OS (e.g., OS 814) or a hypervisor, and can have a virtual machine monitor 846 that manages the operation of virtual machine 848 and interoperation with the host operating system. Software architectures that may be different from software architecture 802 outside the virtual machine are executed within virtual machine 848, such as OS 814, libraries 852, frameworks 854, applications 856, and / or presentation layer 858.
[0040] Fig. 9 900 is a block diagram illustrating components of an example machine 900 that is configured to read instructions from a machine-readable medium (e.g., a machine-readable storage medium) and perform any of the features described herein. The example machine 900 is in the form of a computer system in which instructions 916 (e.g., in the form of software components) for causing the machine 900 to perform any of the features described herein can be executed. Thus, the instructions 916 can be used to implement the modules or components described herein. The instructions 916 cause the unprogrammed and / or unconfigured machine 900 to operate as a specific machine configured to perform the described features. The machine 900 can be configured to operate as a standalone device or can be coupled (e.g., networked) to other machines. In a networked deployment, the machine 900 can operate in the capacity of a server machine or a client machine in a server-client network environment, or as a node in a peer-to-peer or distributed network environment. The machine 900 may be embodied as, for example, a server computer, a client computer, a personal computer (PC), a tablet computer, a laptop computer, a netbook, a set-top box (STB), a gaming and / or entertainment system, a smartphone, a mobile device, a wearable device (e.g., a smart watch), and an Internet of Things (IoT) device. In addition, while only a single machine 900 is shown, the term "machine" includes a collection of machines that individually or jointly execute instructions 916.
[0041] The machine 900 may include a processor 910, a memory 930, and I / O components 950, which may be communicatively coupled via, for example, a bus 902. The bus 902 may include multiple buses that couple various elements of the machine 900 via various bus technologies and protocols. In an example, the processor 910 (including, for example, a central processing unit (CPU), a graphics processing unit (GPU), a digital signal processor (DSP), an ASIC, or a suitable combination thereof) may include one or more processors 912a to 912n that may execute instructions 916 and process data. In some examples, one or more processors 910 may execute instructions provided or identified by one or more other processors 910. The term "processor" may include a multi-core processor, which includes cores that can execute simultaneous instructions. Although Fig. 9Multiple processors are shown, and the machine 900 may include a single processor with a single core, a single processor with multiple cores (e.g., a multi-core processor), multiple processors each with a single core, multiple processors each with multiple cores, or any combination thereof. In some examples, the machine 900 may include multiple processors distributed across multiple machines.
[0042] The memory / storage 930 may include a main memory 932, a static memory 934 or other memory, and a storage unit 936, both of which are accessible by the processor 910, such as via the bus 902. The storage unit 936 and the memory 932, 934 store instructions 916 that embody any one or more of the functions described herein. The memory / storage 930 may also store temporary, intermediate and / or long-term data for the processor 910. During execution thereof, the instructions 916 may also reside, in whole or in part, within the memory 932, 934, within the storage unit 936, within at least one of the processors 910 (e.g., within a command buffer or cache memory), within the memory at least one I / O component 950, or any suitable combination thereof. Therefore, the memory 932, 934, the storage unit 936, the memory in the processor 910, and the memory in the I / O component 950 are examples of machine-readable media.
[0043] As used herein, a "machine-readable medium" refers to a device capable of temporarily or permanently storing instructions and data that cause the machine 900 to operate in a specific manner. As used herein, the term "machine-readable medium" does not include transient electrical or electromagnetic signals per se (e.g., on a carrier wave propagating through the medium); thus, the term "machine-readable medium" may be considered to be tangible and non-transitory. Non-limiting examples of non-transitory tangible machine-readable media may include, but are not limited to, non-volatile memory (e.g., flash memory or read-only memory (ROM)), volatile memory (e.g., static random access memory (RAM) or dynamic RAM), buffer memory, cache memory, optical storage media, magnetic storage media and devices, network accessible or cloud storage, other types of storage, and / or any suitable combination thereof. The term "machine-readable medium" applies to a single medium or a combination of multiple media used to store instructions (e.g., instructions 916) executed by the machine 900, such that the instructions, when executed by one or more processors 910 of the machine 900, cause the machine 900 to perform one or more features described herein. Thus, a “machine-readable medium” may refer to a single storage device, as well as a “cloud-based” storage system or storage network that includes multiple storage devices or devices.
[0044] I / O components 950 may include a variety of hardware components suitable for receiving input, providing output, generating output, transmitting information, exchanging information, capturing measurements, etc. The specific I / O components 950 included in a particular machine will depend on the type and / or function of the machine. For example, a mobile device such as a mobile phone may include a touch input device, while a headless server or IoT device may not include such a touch input device. Fig. 9 The specific examples of I / O components shown are by no means limiting, and other types of components may be included in the machine 900. The grouping of the I / O components 950 is merely to simplify the discussion, and the grouping is by no means limiting. In various examples, the I / O components 950 may include a user output component 952 and a user input component 954. The user output component 952 may include, for example, a display component (e.g., a liquid crystal display (LCD) or a projector) for displaying information, an acoustic component (e.g., a speaker), a tactile component (e.g., a vibration motor or a force feedback device), and / or other signal generators. The user input component 954 may include, for example, an alphanumeric input component (e.g., a keyboard or a touch screen), a pointing component (e.g., a mouse device, a touch pad, or another pointing tool), and / or a tactile input component (e.g., a physical button or touch screen providing a position and / or a touch force or a touch gesture), configured to receive various user inputs, such as user commands and / or selections.
[0045] In some examples, I / O components 950 may include biometric components 956 and / or positioning components 962, as well as a wide range of other environmental sensor components. Biometric components 956 may include, for example, components that detect body expressions (e.g., facial expressions, vocal expressions, hand or body gestures, or eye tracking), measure biosignals (e.g., heart rate or brain waves), and identify a person (e.g., through voice-based, retinal and / or facial recognition). Positioning components 962 may include, for example, position sensors (e.g., global positioning system (GPS) receivers), altitude sensors (e.g., barometric pressure sensors from which altitude can be derived), and / or orientation sensors (e.g., magnetometers).
[0046] The I / O components 950 may include a communication component 964 that implements a variety of technologies operable to couple the machine 900 to a network 970 and / or device 980 via respective communication couplings 972 and 982. The communication component 964 may include one or more network interface components or other suitable devices to interface with the network 970. The communication component 964 may include, for example, a device suitable for providing wired communication, wireless communication, cellular communication, near field communication (NFC), Device 980 may include other machines or various peripheral devices (e.g., coupled via USB).
[0047] In some examples, communication component 964 can detect an identifier or include components suitable for detecting an identifier. For example, communication component 964 can include a radio frequency identification (RFID) tag reader, an NFC detector, an optical sensor (e.g., a one-dimensional or multi-dimensional barcode, or other optical code), and / or an acoustic detector (e.g., a microphone to identify an audio signal of a tag). In some examples, location information can be determined based on information from communication component 962, such as, but not limited to, a geographic location via an Internet Protocol (IP) address, a location via Wi-Fi, cellular, NFC, location, or other wireless station identification and / or signal triangulation.
[0048] In the following, further features, characteristics and advantages of the present invention will be described by means of the clauses:
[0049] Clause 1: A pairing system comprising a processor and a machine-readable medium comprising instructions. The instructions, when executed by the processor, cause the processor to: receive a pairing request signal over a communication network to pair with a companion computing device, and in response to the received pairing request signal, identify a user account associated with the pairing request signal, determine that the identified user account is associated with a first computing device, determine that the first computing device is proximate to the companion computing device, and pair the companion computing device with the first computing device.
[0050] Clause 2: The pairing system of clause 1, wherein to identify that the user account is associated with the pairing request signal, the machine-readable medium further comprises instructions that, when executed by the processor, cause the processor to receive user credentials with the pairing request signal.
[0051] Clause 3: The pairing system of clause 1 or 2, wherein to identify the user account associated with the pairing request signal, the machine-readable medium further comprises instructions that, when executed by the processor, cause the processor to query a stored directory of a companion computing device and associated user accounts.
[0052] Clause 4: A pairing system according to any of clauses 1-3, wherein in order to determine that the identified user account is associated with the first computing device, the machine-readable medium also includes instructions that, when executed by the processor, cause the processor to query a stored directory of the computing device and related user accounts.
[0053] Clause 5: A pairing system according to any of clauses 1-4, wherein to determine that the identified user account is associated with the first computing device, the machine-readable medium also includes instructions that, when executed by the processor, cause the processor to determine that the user account is logged into the first computing device.
[0054] Clause 6: A pairing system according to any of clauses 1-5, wherein in order to determine that the identified user account is associated with the first computing device, the machine-readable medium also includes instructions that, when executed by the processor, cause the processor to determine that the pairing service has a record of the user account logging into the first computing device within a selected time period.
[0055] Clause 7: A pairing system according to any of clauses 1-6, wherein in order to determine that the identified user account is associated with the first computing device, the machine-readable medium also includes instructions that, when executed by the processor, cause the processor to direct one or more local devices to monitor short-range communication signals from the companion computing device.
[0056] Clause 8: The pairing system of any of clauses 1-7, wherein the short-range communication signal includes identification information of the companion computing device.
[0057] Clause 9: A pairing system according to any one of clauses 1-8, wherein in order to direct the one or more local devices to monitor short-range communication signals from the companion computing device, the machine-readable medium further includes instructions that, when executed by the processor, cause the processor to send identification information of the companion computing device from the pairing system to the one or more local devices.
[0058] Clause 10: A pairing system according to any of clauses 1-9, wherein in order to determine whether the first device is in proximity to the companion computing device, the machine-readable medium further comprises instructions that, when executed by the processor, cause the processor to direct the companion computing device to monitor for short-range communication signals from the first computing device.
[0059] Clause 11: The pairing system of any of clauses 1-10, wherein the machine-readable medium further comprises instructions that, when executed by the processor, cause the processor to determine that a second device is proximate to the companion computing device and direct the companion computing device to display an option to pair with the first device or the second device.
[0060] Clause 12: The pairing system of any of clauses 1-11, wherein the machine-readable medium further comprises instructions that, when executed by the processor, cause the processor to pair the companion computing device with both the first device and the second device.
[0061] Clause 13: A pairing method, comprising: receiving a request to pair a companion computing device with a computing device, identifying a user account currently linked to the companion computing device, determining that the user account is associated with a first computing device, in response to the received request, determining that the first computing device is proximate to the companion computing device, and in response to determining that the first computing device is proximate to the companion computing device, sending identification information of the first computing device to the companion computing device, the identification information sufficient to allow the companion computing device to present an option for pairing the companion computing device with the first computing device.
[0062] Clause 14: The method of clause 13, further comprising pairing the companion computing device with the first computing device.
[0063] Clause 15: The method of clause 13 or 14, further comprising directing the first computing device to present an option for pairing the companion computing device with the first computing device.
[0064] Clause 16: The method of any of clauses 13-15, further comprising storing a directory of one or more companion computing devices and users linked thereto, wherein determining that a user is linked to the companion computing device comprises querying the stored directory.
[0065] Clause 17: The method of any of clauses 13-16, wherein determining that the user is linked with the companion computing device comprises receiving user credentials.
[0066] Clause 18: The method of any of clauses 13-17, wherein a second computing device associated with the user is proximate to the companion computing device, and wherein presenting an option for pairing the companion computing device with the first computing device further comprises presenting an option for pairing the companion computing device with the second computing device.
[0067] Clause 19: The method of any of clauses 13-18, wherein presenting the option to pair the companion computing device with the second computing device comprises pairing the companion device with both the first computing device and the second computing device.
[0068] Clause 20: A server configured to manage a user device and a companion computing device paired with the user device, the server comprising a processor and a machine-readable medium comprising instructions that, when executed by the processor, cause the processor to receive a lock or unlock request from the user device and, in response to the received request, determine that the user device and the companion computing device are in proximity to each other and lock or unlock the user device and the companion computing device to comply with the request.
[0069] Clause 21: A companion computing device comprising a processor and a machine-readable medium comprising instructions that, when executed by the processor, cause the processor to accept user input to pair the companion computing device with a computing device; in response to accepting the user input to pair the companion computing device with the computing device, send a request to a pairing service to pair the companion computing device with the computing device and broadcast a proximity detection signal; receive a list of neighboring computing devices from the pairing service; present the list of neighboring computing devices in a user-perceivable format; and accept a user selection of a computing device from the list.
[0070] Clause 22: The companion computing device of clause 21, wherein the machine-readable medium further comprises instructions that, when executed by the processor, cause the processor to provide the user selection to the pairing service.
[0071] Clause 23: The companion computing device of clause 21 or 22, wherein the proximity detection signal comprises Signal.
[0072] Although various implementations have been described, the description is intended to be exemplary rather than restrictive, and it should be understood that more implementations and embodiments within the scope of the implementations are possible. Although many possible feature combinations are shown in the drawings and discussed in this detailed description, many other combinations of the disclosed features are also possible. Unless specifically limited, any feature of any implementation can be used in combination with any other feature or element in any other implementation or replace any other feature or element. Therefore, it should be understood that any feature shown and / or discussed in this disclosure can be implemented together in any suitable combination. Therefore, except according to the attached claims and their equivalents, the implementation is not limited. In addition, various modifications and changes can be made within the scope of the attached claims.
[0073] Although what is considered to be the best mode and / or other examples have been described above, it should be understood that various modifications may be made therein and the subject matter disclosed herein may be implemented in various forms and examples, and that the teachings may be applied to many applications, only some of which are described herein. The following claims are intended to claim any and all applications, modifications, and variations that fall within the true scope of the present teachings.
[0074] Unless otherwise indicated, all measurements, values, ratings, positions, amplitudes, dimensions and other specifications set forth in this specification (including the claims that follow) are approximate and not exact. They are intended to have a reasonable range consistent with the functions to which they are related and with the customary practices in the art to which they belong.
[0075] The scope of protection is limited only by the claims that now follow. When interpreted in light of this specification and the subsequent prosecution history, the scope is intended and should be interpreted to be consistent with the ordinary meaning of the language used in the claims and to include all structural and functional equivalents. Notwithstanding the foregoing, no claims are intended to include subject matter that fails to meet the requirements of Sections 101, 102, or 103 of the Patent Act, nor should they be interpreted in such a manner. Any unexpected inclusion of such subject matter is hereby disclaimed.
[0076] Except as stated immediately above, nothing stated or described is intended or should be construed as causing any component, step, feature, object, benefit, advantage or equivalent to be conferred to the public regardless of whether or not it is mentioned in the claims.
[0077] It should be understood that the terms and expressions used herein have the ordinary meanings assigned to them relative to their corresponding fields of investigation and study, unless otherwise specified herein. Relational terms such as first and second may be used alone to distinguish one entity or action from another without requiring or implying any actual such relationship or order between these entities or actions. The terms "include", "comprises" or any other variants are intended to cover non-exclusive inclusions, so that a process, method, article or device containing a list of elements includes not only those elements, but may also include other elements that are not explicitly listed or inherent to such processes, methods, articles or devices. Without further limitation, an element beginning with "a" or "an" does not exclude the presence of additional identical elements in the process, method, article or device containing the element.
[0078] The Abstract of the present disclosure is provided to allow the reader to quickly ascertain the nature of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the foregoing Detailed Description, it can be seen that various features are grouped together in various examples for the purpose of simplifying the present disclosure. This method of disclosure should not be interpreted as reflecting an intention that the claims require more features than each claim expressly recites. On the contrary, as reflected in the following claims, the inventive subject matter lies in less than all the features of a single disclosed example. Therefore, the following claims are hereby incorporated into the detailed description, with each claim standing on its own as a separately claimed subject matter.
Claims
1. A pairing system, comprising: processor; as well as A machine-readable medium comprising instructions that, when executed by the processor, cause the processor to: receiving a pairing request signal from a companion computing device over a communications network to pair the companion computing device with another computing device; In response to the received pairing request signal: identifying a user account associated with the pairing request signal; determining that the identified user account is associated with the first computing device; directing the companion computing device or the first computing device to monitor for a short-range communication signal from the other computing device; receiving an indication that the first computing device is in proximity to the companion computing device; and Identification information for the first computing device is sent to the companion computing device, the identification information sufficient to allow the companion computing device to present an option for pairing the companion computing device with the first computing device.
2. The pairing system according to claim 1, wherein: To identify that the user account is associated with the pairing request signal, the machine-readable medium further includes instructions that, when executed by the processor, cause the processor to: receive user credentials with the pairing request signal.
3. The pairing system according to claim 1 or 2, wherein: To identify that the user account is associated with the pairing request signal, the machine-readable medium further includes instructions that, when executed by the processor, cause the processor to: query a stored directory of a companion computing device and associated user accounts.
4. The pairing system according to any one of claims 1 to 3, wherein: To determine that the identified user account is associated with the first computing device, the machine-readable medium also includes instructions that, when executed by the processor, cause the processor to: determine that the pairing system has a record that the user account has logged into the first computing device within a selected time period.
5. The pairing system according to any one of claims 1 to 4, wherein: To determine that the identified user account is associated with the first computing device, the machine-readable medium further includes instructions that, when executed by the processor, cause the processor to direct one or more local devices to monitor the short-range communication signal from the companion computing device.
6. The pairing system according to claim 5, wherein: The short-range communication signal includes identification information for the companion computing device or the first computing device from which the short-range communication signal was sent.
7. The pairing system according to any one of claims 1 to 6, wherein: The machine-readable medium further comprises instructions which, when executed by the processor, cause the processor to: determining that a second device is proximate to the companion computing device; and The companion computing device is directed to display an option for pairing with the first computing device or the second device.
8. The pairing system according to claim 7, wherein: The machine-readable medium further comprises instructions which, when executed by the processor, cause the processor to: The companion computing device is paired with both the first computing device and the second device.
9. A pairing method, comprising: receiving a request to pair a companion computing device with another computing device in proximity to the companion computing device; identifying a user account currently linked to the companion computing device; determining that the user account is associated with a first computing device; directing the companion computing device or the first computing device to monitor for a short-range communication signal from the other computing device; receiving an indication that the first computing device is in proximity to the companion computing device; as well as Identification information for the first computing device is sent to the companion computing device, the identification information sufficient to allow the companion computing device to present an option for pairing the companion computing device with the first computing device based on determining that the first computing device is proximate to the companion computing device.
10. The method of claim 9, further comprising pairing the companion computing device with the first computing device.
11. The method of claim 9 or 10, further comprising directing the first computing device to present an option for pairing the companion computing device with the first computing device.
12. The method of any one of claims 9-11, further comprising storing a directory of one or more companion computing devices and their linked users, wherein: Determining that the user is linked to the companion computing device includes querying a stored directory.
13. The method according to any one of claims 9 to 12, wherein: Determining that the user is linked with the companion computing device includes receiving user credentials.
14. The method according to any one of claims 9 to 13, wherein: A second computing device associated with the user is proximate to the companion computing device, and wherein presenting an option to pair the companion computing device with the first computing device further includes presenting an option to pair the companion computing device with the second computing device.
15. The method according to claim 14, wherein: The presenting of an option for pairing the companion computing device with the second computing device includes pairing the companion computing device with both the first computing device and the second computing device.
Citation Information
Patent Citations
Second-screen control automatic pairing using push notifications
US20160241605A1
System and method for wireless device pairing
US20170311365A1