Techniques for managing pairing process between computing device and accessory computing device
By generating identifiers and setting hash values for codes and announcing these hash values within the smart home system, connectivity issues during smart home device configuration are resolved, enabling seamless and intuitive device pairing and simplifying user operations.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-07-17
- Publication Date
- 2026-04-10
AI Technical Summary
In smart home systems, users face connectivity issues when configuring new smart home devices, especially when using multiple centrally managed devices. Existing technology leads to user confusion and cumbersome configuration processes.
By generating hash values for identifiers and setting codes, and announcing these hash values over the communication network, along with an indication of capability, the device pairing process is simplified to guide users through factory resets or secondary pairing procedures.
It enables a seamless and intuitive device pairing process, reducing the complexity and confusion of user operations and improving the pairing success rate.
Smart Images

Figure CN121844592A_ABST
Abstract
Description
Technical Field
[0001] The described implementation scheme illustrates the technology used to manage the pairing process between a computing device and an accessory computing device. Background Technology
[0002] Smart home devices refer to electronic devices that enable home automation. These devices can include, for example, smart thermostats, smart lighting, smart locks, smart garage systems, and smart cameras. A key element of a smart home system is the smart home hub, which acts as the central control system for the various smart home devices included in the home. A given smart home hub can be implemented in different forms, such as a standalone device or a built-in component of other devices (e.g., smart speakers, home entertainment systems), and is responsible for facilitating communication between smart home devices and remote computing devices. In most cases, smart home devices communicate with the smart home hub via wireless protocols (e.g., Wi-Fi, Bluetooth, etc.). Additionally, the smart home hub typically connects to the home's Wi-Fi network to communicate with remote computing devices and, in most cases, gains access to the internet. Internet access enables various useful functions, such as allowing individuals to control smart home devices outside the home and allowing activity logs associated with smart home devices to be managed by one or more external services.
[0003] The number of categories of smart home devices in a given home typically corresponds to the number of smart home software applications (“smart home applications”) installed on remote computing devices associated with the smart home. For example, in a smart home comprising (i) a single smart thermostat, (ii) twenty-five smart lighting devices, (iii) two smart lock devices, (iv) a smart garage door device, and (v) four smart camera devices, one or more remote computing devices might include (i) a smart thermostat application, (ii) a smart lighting application, (iii) a smart lock application, (iv) a smart garage door application, and (v) a smart camera application. In this respect, the proliferation of available smart home devices has led to a highly fragmented system that is cumbersome for individuals to manage. For example, an individual residing in the example smart home described above might need to access most of the applications individually during isolated events (e.g., morning routines, bedtime routines, etc.) to configure the smart home according to their individual preferences.
[0004] Various organizations have effectively mitigated the aforementioned problems by providing software applications and hardware devices for centralized control of smart home devices under a unified management interface. Specifically, various smart home hubs within a given home can be configured to interact with a centralized management device, such as smart home speakers capable of communicating with different smart home hubs (and, through extension, smart home devices communicating with the smart home hubs), and the centralized management device can be accessed by a centralized smart home application running on one or more remote computing devices. In this way, users of the remote computing devices can interact with various smart home devices through a (single) centralized smart home application rather than numerous smart home applications highly specific to each individual smart home device.
[0005] Despite the aforementioned advancements, various challenges remain within the smart home domain, particularly when a given user uses two or more centralized management devices / centralized smart home applications. In one example, a given smart home device is typically configured to update its configuration to stop broadcasting its identifier after the first successful pairing with a given control entity (otherwise, it would broadcast it upon initial power-on and throughout the initial setup mode). Therefore, when a new (i.e., supplementary) control entity seeks to pair with a smart home device, for example, in conjunction with a scan of a Quick Response (QR) that includes the identifier / setup code associated with the smart home device, the new control entity is left searching for the identifier's announcement (based on the aforementioned configuration update, which no longer is announced by the smart home device). Such scenarios can confuse users, as they are uncertain about both the nature of the connectivity problem and any available remedies. Furthermore, even when remedies are available to users, they still face the cumbersome responsibility of performing such remedies every time they acquire a new smart home device and seek to pair it with multiple control entities.
[0006] Therefore, there is a need for an effective method to enable individuals to configure their smart home devices in a seamless, intuitive, and efficient manner. Summary of the Invention
[0007] The described implementation scheme illustrates the technology used to manage the pairing process between a computing device and an accessory computing device.
[0008] One implementation describes a method for guiding a pairing process between a computing device and an accessory computing device. According to some implementations, the method may be implemented by a computing device seeking pairing with the accessory computing device and includes the following steps: (1) obtaining at least an identifier and a setup code associated with the accessory computing device; (2) determining, by scanning a first communication network associated with the accessory computing device, that the identifier is not advertised on the first communication network; (3) generating a hash value based on the identifier and the setup code; (4) identifying, by scanning a second communication network, that the hash value is advertised on the second communication network; and (5) displaying an indication instructing the user to perform: (i) a factory reset of the accessory computing device; or (ii) a secondary pairing process with the accessory computing device via at least one primary computing device currently paired with the accessory computing device.
[0009] Another embodiment describes a method for synchronizing a pairing process between a computing device and an accessory computing device. According to some embodiments, the method may be implemented by a first computing device and includes the following steps: (1) receiving from a second computing device a request for pairing the second computing device and a first accessory computing device to which the first computing device is paired, (2) facilitating pairing between the first accessory computing device and the second computing device, (3) registering the second computing device to notify when other accessory computing devices are paired with the first computing device, (4) pairing with the second accessory computing device, and (5) providing the second computing device with notification of the pairing between the first computing device and the second accessory computing device.
[0010] Another embodiment describes a method for pairing an accessory computing device with other computing devices. According to some embodiments, the method can be implemented by an accessory computing device paired with a first computing device and includes the following steps: (1) receiving a request from the first computing device to pair the accessory computing device with a second computing device; (2) updating the configuration of the accessory computing device to: put the accessory computing device into a pairing mode; keep the accessory computing device in the pairing mode until a time exceeding a threshold time of the next scheduled wake-up cycle of the accessory computing device is exceeded; and, in conjunction with entering the next scheduled wake-up cycle, notify at least the second computing device that the accessory computing device is capable of performing pairing; (3) receiving a pairing request from the second computing device; and (4) pairing with the second computing device.
[0011] Other embodiments include a non-transitory computer-readable storage medium configured to store instructions that, when executed by a processor included in a computing device, cause the computing device to perform various steps of any of the aforementioned methods. Further embodiments include a computing device configured to perform various steps of any of the aforementioned methods.
[0012] Other aspects and advantages of the embodiments described herein will become apparent from the following detailed description, taken in conjunction with the accompanying drawings illustrating the principles of the embodiments by way of example. Attached Figure Description
[0013] The accompanying drawings are for illustrative purposes and are intended only to provide examples of possible structures and arrangements of the disclosed apparatus and methods for providing wireless computing devices. These drawings are in no way intended to limit any changes in form and detail that may be made to the embodiments by those skilled in the art without departing from the spirit and scope of the embodiments. The embodiments will be readily understood from the following detailed description taken in conjunction with the accompanying drawings, wherein similar reference numerals denote similar structural elements.
[0014] Figure 1 Block diagrams illustrating different components of a system configured to implement the various technologies described herein, according to some implementation schemes.
[0015] Figure 2A A sequence diagram illustrating a pairing process between a computing device and an accessory computing device, according to some implementation schemes, is shown.
[0016] Figure 2B An example is illustrated of a method for guiding the pairing process between a computing device and an accessory computing device, according to some implementation schemes.
[0017] Figure 2C Examples of associative combinations are shown. Figures 2A to 2B A conceptual diagram of an example user interface describing a technique used to guide the pairing process between a computing device and an accessory computing device.
[0018] Figure 3A A sequence diagram illustrating a method for a pairing process between a synchronous computing device and an auxiliary computing device according to some implementation schemes is shown.
[0019] Figure 3B A method for pairing a synchronous computing device with an accessory computing device, according to some implementation schemes, is illustrated.
[0020] Figure 3C Examples of associative combinations are shown. Figures 3A to 3B A conceptual diagram of an example user interface describing a technique used to implement the pairing process between a synchronous computing device and an auxiliary computing device.
[0021] Figure 4A A sequence diagram illustrating a method for pairing an accessory computing device with other computing devices according to some implementation schemes is shown.
[0022] Figure 4BExamples of methods for pairing an accessory computing device with other computing devices according to some implementation schemes are illustrated.
[0023] Figure 5 Detailed views of computing devices that can be used to implement the various components described herein, according to some implementation schemes, are illustrated. Detailed Implementation
[0024] Representative applications of the apparatus and methods according to embodiments of the present invention are provided in this section. These examples are provided only to add context and aid in understanding the described embodiments. It will therefore be apparent to those skilled in the art that the embodiments currently described can be practiced without some or all of these specific details. In other instances, well-known process steps have not been described in detail to avoid unnecessarily obscuring the embodiments currently described. Other applications are possible, such that the following examples should not be considered limiting.
[0025] The described implementation scheme illustrates the technology used to manage the pairing process between a computing device and an accessory computing device.
[0026] Figure 1 Block diagrams illustrating different components of a system 100 configured to implement the various technologies described herein, according to some implementation schemes, are shown. For example... Figure 1 As shown, system 100 may include one or more server computing devices 102. System 100 may also include one or more smart home ecosystems 101, each of which logically encapsulates a subset of various smart home devices included in a given home, structure, etc. Figure 1 As shown, a given smart home ecosystem 101 may include one or more centralized management hubs 110, one or more peripheral device hubs 112, one or more client devices 116, and one or more peripheral devices 120.
[0027] According to some implementations, one or more server computing devices in server computing device 102 may represent entities providing various functions (such as cloud-based services via the Internet), such as organizations, services, etc. According to some implementations, a given server computing device 102 may include a management entity 104 configured to interact with a centralized management hub 110, a peripheral device hub 112, client devices 116, and / or peripheral devices 120. For example, management entity 104 may be configured to handle activity log requests (e.g., delete, write, overwrite, read, etc.) issued by the centralized management hub 110, peripheral device hub 112, client devices 116, and / or peripheral devices 120, facilitate commands issued between the aforementioned devices, etc. Figure 1As shown, management entity 104 can associate any number of activity logs 108 with any number of user accounts 106 linked to centralized management hub 110, peripheral device hub 112, client device 116 and / or peripheral device 120 in order to efficiently process activity log requests issued by such devices.
[0028] Incidentally, it should be noted that each client device 116 may have any number of software applications (smart home applications or others) installed thereon and may implement a software application manager configured to facilitate the installation, execution (e.g., loading, displaying, etc.) of the software applications. Each client device 116 may also be associated with a user account 106. For example, such an association may be established when a user of client device 116 provides necessary information such as creating and logging into user account 106 using client device 116. According to some embodiments, a user's user account 106 may include username / password information, contact information associated with the user, demographic information associated with the user, etc. It should be noted that the above examples are not intended to be limiting, and without departing from the scope of this disclosure, user account 106 may store any user-related (or other) information at any level of granularity.
[0029] According to some implementation schemes, a given peripheral device 120 of the management entity 122 may represent a device capable of performing different functions. For example, peripheral device 120 may represent any smart home device, such as a smart speaker, smart thermostat, smart lock, smart camera, smart light bulb / light switch, smart plug, smart smoke detector, smart doorbell, smart garage door opener, smart irrigation system, smart appliance, smart curtains, smart air purifier, smart vacuum cleaner, etc. As described herein, a given peripheral device 120 may be configured to interact with one or more peripheral device hubs 112. For example, a group of peripheral devices 120 representing a smart light switch may be configured to communicate with peripheral device hub 112 using standardized, proprietary, or other wireless communications. In another example, a group of peripheral devices representing a smart curtain may be configured to communicate with peripheral device hub 112 using wired communications.
[0030] In the above example, one or more client devices in client device 116 typically include various software applications ("smart home applications") corresponding to the respective peripheral device hubs in peripheral device hub 112 and enable control of peripheral device 120 via peripheral device hub 112. Specifically, the smart home application may be configured to interact with a management entity 114 executing on peripheral device hub 112 to access the available functions of peripheral device 120 controlled by peripheral device hub 112. However, it should be noted that some peripheral devices 120 may be configured to operate without requiring peripheral device hub 112. For example, peripheral device 120 representing a smart garage door opener may be configured to interact directly with one or more of client devices 116, centralized management hub 110, etc., without involving peripheral device hub 112. In this example, one or more client devices in client device 116 may include a smart home application that enables client device 116 to communicate directly with the smart garage door opener (e.g., via a connection formed using Wi-Fi, Bluetooth, the Internet, etc.). In another example, the smart garage door opener can be configured to interact with the centralized management hub 110 independently of any other device.
[0031] As described herein, the specific implementation of various peripheral hubs 112 / peripheral devices 120 can result in a fragmented system that is cumbersome for individuals to manage. Specifically, each time an individual wants to interact with peripheral device 120, they may need to access different smart home applications separately. Therefore, a centralized management hub 110, including management entity 111, can be used to centralize the functionality of peripheral hubs 112 / peripheral devices 120 under a common interface, referred to herein as smart home ecosystem 101. In this regard, a given centralized management hub 110 may represent a centralized management device capable of communicating with any number of peripheral hubs 112, peripheral devices 120, and / or client devices 116. In one example, the centralized management hub 110 may represent a standalone device designed solely to centrally control different peripheral devices 120, for example, in conjunction with a peripheral active user interface (UI) 118 implemented on client device 116 (details of which are described in more detail below). In another example, the centralized management hub 110 may represent a device that provides additional functions (such as smart home device functions) to those mentioned above. For example, in addition to the centralized functions described herein, the centralized management hub 110 may also provide smart speaker functions, streaming device functions, etc.
[0032] It should be noted that the above examples are not intended to be limiting, and the centralized management hub 110 may be configured to provide any number of functions (in addition to the centralized functions described herein) without departing from the scope of this disclosure. Additionally, it should be noted that the implementation does not rely on one or more centralized management hubs within the centralized management hub 110 to provide the functions described herein. Specifically, the functions of the centralized management hub 110 may be wholly or partially provided by the peripheral device hub 112, peripheral device 120, client device 116, and / or Figure 1 This can be achieved by one or more of other devices not illustrated herein. For example, without departing from the scope of this disclosure, one or more of the peripheral device hub 112, client device 116, and / or peripheral device 120 may be configured to interact directly or indirectly with each other, and directly or indirectly with server computing device 102.
[0033] It should be understood that, for the sake of simplicity, Figure 1 The various components of the illustrated computing device are given at a high level. For example, although Figure 1 Not illustrated herein, but it should be understood that various computing devices may include common hardware / software components capable of implementing the software entities described above. For example, each of the computing devices may include one or more processors that cooperate with one or more volatile memories (e.g., dynamic random access memory (DRAM)) and one or more storage devices (e.g., hard disk drives, solid-state drives (SSDs), etc.) to enable the execution of the various software entities described herein. Furthermore, each computing device may include communication components that enable the computing devices to send information to each other.
[0034] A more detailed explanation of these hardware components is provided below with reference to Figure 6. Additionally, it should be understood that, without departing from the scope of this disclosure, the computing device may include additional entities capable of implementing the various techniques described herein. Additionally, it should be understood that, without departing from the scope of this disclosure, the entities described herein may be combined or divided into additional entities. It should also be understood that, without departing from the scope of this disclosure, the various entities described herein may be implemented using software-based or hardware-based methods.
[0035] therefore, Figure 1 An overview is provided of the ways in which system 100, according to some implementation schemes, can implement the various techniques described herein. These will now be discussed in conjunction with... Figures 2A to 2C , Figures 3A to 3C , Figures 4A to 4B and Figure 5 Provide a more detailed breakdown of the ways to implement these technologies.
[0036] Figure 2AA sequence diagram 200 illustrates a pairing process for guiding a computing device and an accessory computing device according to some implementation schemes. For example... Figure 2A As shown, sequence diagram 200 begins at step 202, where peripheral device 120 announces its identifier. The identifier may represent, for example, a "discriminator" under the Matter standard. According to some embodiments, at step 202, peripheral device 120 operates in an unpaired state, such as when peripheral device 120 is first powered on, when peripheral device 120 completes a factory reset, or when peripheral device 120 is unpaired from all computing devices. According to some embodiments, peripheral device 120 may use one or more communication protocols (such as Near Field Communication (NFC), Bluetooth, etc.). ® The peripheral device 120 may broadcast its identifier via Wi-Fi or other means. According to some implementations, the peripheral device 120 may be configured to announce the identifier until the peripheral device 120 is paired with at least one control entity, such as a smart home ecosystem 101.
[0037] At step 204, the smart home ecosystem 101-1 scans the QR code associated with the peripheral device 120 via a client device 116 communicatively coupled to the smart home ecosystem 101-1 to obtain an identifier and setup code to perform a pairing process with the peripheral device 120. According to some embodiments, the QR code may be printed on the peripheral device 120 itself, or on materials associated with the peripheral device 120 (e.g., user manuals, packaging, etc.). According to some embodiments, the identifier, setup code, and / or other information contained within the QR code (or based on a lookup of any information included in the QR code) can provide guidance on how to communicate with the peripheral device 120 via a specific communication protocol. For example, when the peripheral device 120 uses Bluetooth... ® When the protocol announces its identifier, this instruction can direct client device 116-1 (operating within the smart home ecosystem 101-1) to activate its Bluetooth. ® The radio uses a search for the identifier. It should be noted that the implementation is not limited to QR code-based methods, and any method (such as manual input, alternative code scanning, wireless transmission, etc.) can be used to obtain the identifier and set the code without departing from the scope of this disclosure. In any case, at step 206, the client device 116-1 (operating within the smart home ecosystem 101-1) attempts and successfully locates the peripheral device 120 using the identifier.
[0038] At step 208, client device 116-1 (operating within smart home ecosystem 101-1) and peripheral device 120 initiate and complete the pairing process using identifiers and setup codes. According to some embodiments, the pairing process may involve establishing a secure connection using setup codes, and then performing any number of steps via that secure connection to complete the pairing process. These steps may include, for example, exchanging encrypted credentials, updating (local, cloud-based, etc.) configurations, etc. It should be noted that, for the sake of simplicity, a detailed explanation of the pairing process has been omitted without departing from the scope of this disclosure, and any method used for effectively pairing devices may be used. In any case, at the end of step 208, peripheral device 120 is qualified as a paired device, referred to as an "authorized" device under the Matter standard.
[0039] At step 210, due to successful pairing with at least one control entity (at step 208), peripheral device 120 updates its configuration to suppress (i.e., stop) the announcement identifier (which would otherwise be announced by peripheral device 120 when operating in an unpaired state). According to some embodiments, assuming peripheral device 120 is eligible as a pairing device and is unlikely to be prompted to pair with other control entities, peripheral device 120 suppresses the announcement identifier. However, when a situation arises where it is desired to pair peripheral device 120 with a supplementary control entity (such as an alternative smart home ecosystem 101), scanning the QR code will cause the supplementary control entity to attempt to search for the identifier (extracted from the QR code). Assuming the identifier is no longer announced by peripheral device 120, a search timeout will occur, which could lead to confusion and a poor overall user experience.
[0040] Therefore, at step 210, peripheral device 120 also updates its configuration to announce the hash value of the identifier and setup code. According to some embodiments, the identifier and setup code can be preprocessed in any way (e.g., modified, cascaded, etc.) and then provided to any form of hash function to produce the hash value. According to some embodiments, any communication protocol can then be used to announce the hash value. For example, in one embodiment, peripheral device 120 can be configured to announce the hash value by adding a new key value to its Domain Name Service-Service Discovery (DNS-SD) record (e.g., a network accessed through peripheral device 120 (e.g., Wi-Fi)). In this way, the supplementary control entity can, in response to a timeout while searching for the identifier's announcement, calculate the hash value based on the identifier and setup code (using the same hash function / method discussed above) and then search for the hash value (e.g., via any number of communication protocols). If the hash value is identified, the supplementary control entity can effectively determine that peripheral device 120 is a paired device. An alternative pairing process (described below) can then be utilized. Figures 3A to 3B and Figures 4A to 4B(Description) to enable the supplementary control entity to pair with peripheral device 120. The breakdown of the above technology is described below in conjunction with steps 212 to 220.
[0041] At step 212, the smart home ecosystem 101-2 (i.e., a supplementary control entity via client device 116 communicatively coupled to the smart home ecosystem 101-2) scans the QR code associated with the peripheral device 120 to obtain an identifier and setup code for performing the pairing process (or obtains the identifier and setup code using alternative methods discussed herein). It should be noted that, without departing from the scope of this disclosure, client device 116-1 operating under smart home ecosystem 101-1 and client device 116-2 operating under smart home ecosystem 101-2 may be the same or different client device 116.
[0042] At step 214, client device 116-2 (operating under smart home ecosystem 101-2) attempts to locate the peripheral device using the identifier but fails (e.g., as described above in conjunction with step 210). At step 216, client device 116-2 (operating under smart home ecosystem 101-2) calculates a hash value for the identifier and the setup code (e.g., as described above in conjunction with step 210). At step 218, client device 116-2 (operating under smart home ecosystem 101-2) detects that the hash value notification matches the calculated hash value, as described above in conjunction with step 210. This effectively notifies client device 116-2 that peripheral device 120 has been paired with another control entity.
[0043] At step 220, client device 116-2 (operating within smart home ecosystem 101-2) displays an indication of capability (e.g., a human-perceptible user interface) including instructions for performing a factory reset of the peripheral device. For example, the instructions can be retrieved by performing an identifier lookup in a database of factory reset instructions for peripheral device 120. The factory reset instructions are provided so that peripheral device 120 can be restored to its initial (i.e., unpaired) state. Client device 116-2 can then re-attempt pairing with peripheral device 120 by scanning a QR code, and may use an off-the-shelf process to pair with peripheral device 120.
[0044] Additionally, the power indication may include instructions for interacting with a client device that pairs with a peripheral device to perform a secondary pairing process. Specifically, and as described in more detail herein, given the pairing status of the smart home ecosystem 101-1 / client device 116-1 with the peripheral device 120, the smart home ecosystem / client device may interact with both the peripheral device 120 and the smart home ecosystem 101-2 / client device 116-2 to enable a secondary pairing process between the peripheral device 120 and the smart home ecosystem 101-2 / client device 116-2. In this regard, the power indication may encourage the user of client device 116-2 to seek out client device 116-1, another client device 116-1 operating under the smart home ecosystem 101-2, its user, etc., to participate in the aforementioned secondary pairing process. It should be noted that the above examples are not intended to be limiting, and information of any form, type, etc., may be included in the power indication at any level of granularity without departing from the scope of this disclosure.
[0045] Figure 2B A method 250 for guiding a pairing process between a computing device and an accessory computing device, according to some embodiments, is illustrated. According to some embodiments, method 250 may be implemented by a computing device (e.g., a client device 116 representing a smart home ecosystem 101) seeking to pair with an accessory computing device (e.g., peripheral device 120). Figure 2B As shown, method 250 begins at step 252, wherein the computing device obtains at least an identifier and a setup code associated with the attached computing device (e.g., as described above in conjunction with...). Figure 2A (as described in step 212).
[0046] At step 254, the computing device determines that the identifier has not been advertised on the first communication network by scanning the first communication network associated with the attached computing device (e.g., as described above in conjunction with...). Figure 2A (as described in step 214). At step 256, the computing device generates a hash value based on the identifier and setting code (e.g., as described above in conjunction with...). Figure 2A (as described in step 216). At step 258, the computing device identifies that the hash value is being advertised on the second communication network by scanning the second communication network (e.g., as described above in conjunction with...). Figure 2A (as described in step 218). At step 260, the computing device displays an instruction to the user to perform the following enablement: (1) a factory reset of the accessory computing device, or (2) a secondary pairing process with the accessory computing device via at least one primary computing device currently paired with the accessory computing device (e.g., as described above in conjunction with...). Figure 2A (as described in step 220).
[0047] Figure 2C Examples are provided that can be combined with the above text. Figures 2A to 2B Conceptual diagram 290 illustrates an example user interface implemented using a technique described for guiding the pairing process between a computing device and an accessory computing device. Figure 2C As shown, example user interface 292 can be displayed in conjunction with a user (e.g., a user operating client device 116) attempting to add a smart home device to a control entity (e.g., smart home ecosystem 101) by scanning a QR code associated with the smart home device. In this example, the smart home device is already paired with another control entity (i.e., another smart home ecosystem 101). Therefore, client device 116 fails to locate the smart home device using the existing pairing process. This aspect is represented by example user interface 294. Subsequently, example user interface 296 can be displayed in conjunction with client device 116 locating the smart home device using the hash function / value method discussed herein. In this respect, and as... Figure 2C As shown, example user interface 296 may include information informing the user of different methods that can be adopted to ultimately achieve pairing with smart home devices. Note that... Figure 2C The example user interface described herein is merely exemplary and may be modified in any way, implemented, incorporated, reflected, or otherwise adapted at any granular level, without departing from the scope of this disclosure.
[0048] Figure 3A Sequence diagram 300 illustrates a method for a pairing process between a synchronous computing device and an auxiliary computing device according to some embodiments. For example... Figure 3A As shown, sequence diagram 300 begins at step 302, where the smart home ecosystem 101-1 (i.e., the control entity) completes a pairing process with the peripheral device 120-1 via a client device 116-1 communicatively coupled to the smart home ecosystem 101-1. Here, the pairing process may refer to an initial pairing process that transforms the peripheral device 120-1 from operating as an unpaired device to a device paired with the smart home ecosystem 101-1 (e.g., as described above in conjunction with...). Figure 2A (as described in steps 202 to 210).
[0049] At step 304, the smart home ecosystem 101-2 (i.e., a supplementary control entity via client device 116-2 communicatively coupled to the smart home ecosystem 101-2) issues a pairing request with the peripheral device 120-1. According to some embodiments, the smart home ecosystem 101-1 / client device 116-1 may implement an application programming interface (API) that enables the issuance and receipt of such pairing requests (e.g., from the supplementary control entity / other client device 116, from a user operating a client device 116 communicatively coupled to the smart home ecosystem 101-1, etc.). It should be noted that, without departing from the scope of this disclosure, client device 116-1 operating under smart home ecosystem 101-1 and client device 116-2 operating under smart home ecosystem 101-2 may be the same or different client devices 116.
[0050] At step 306, client device 116-1 (operating within smart home ecosystem 101-1) generates new pairing information. This new pairing information may include, for example, a new identifier (e.g., a new "discriminator" under the Matter standard), a new setup code, etc. Then, at step 308, client device 116-1 (operating within smart home ecosystem 101-1) causes peripheral device 120-1 to enter pairing mode using the new pairing information. At step 310, client device 116-1 (operating within smart home ecosystem 101-1) collects configuration information associated with peripheral device 120-1. This configuration information may include, for example, characteristic information associated with peripheral device 120-1, such as the name associated with peripheral device 120-1, the room associated with peripheral device 120-1, the area associated with peripheral device 120-1, the sleep interval associated with peripheral device 120-1, etc. It should be noted that the above examples are not intended to be limiting, and any type or form of information associated with peripheral device 120-1 at any granularity may be collected without departing from the scope of this disclosure. At step 312, client device 116 (operating under smart home ecosystem 101-1) provides client device 116-2 (operating under smart home ecosystem 101-2) with new pairing and configuration information associated with peripheral device 120-1.
[0051] At step 314, client device 116-2 (operating within smart home ecosystem 101-2) displays a power indication including at least a portion of configuration information and instructions for pairing with peripheral device 120-1. For example, the power indication may take the form of a user interface including the name, room, and zone associated with peripheral device 120-1, assuring the user of client device 116-2 that the appropriate peripheral device has been selected for pairing. The user interface may also include instructions for pairing with peripheral device 120-1, such as guidance on how to interact with peripheral device 120-1 during the pairing process (e.g., pressing a physical button on peripheral device 120-1, standing near peripheral device 120-1, etc.), what to expect / look for during the pairing process, etc. It should be noted that the above examples are not intended to be limiting, and information of any type, form, etc., may be included in the power indication at any level of granularity without departing from the scope of this disclosure.
[0052] At step 316, client device 116-2 (operating within smart home ecosystem 101-2) completes the pairing process with peripheral device 120-1 using the new pairing information. According to some embodiments, the same methods described herein can be used to complete the pairing process, except that new pairing information (instead of factory-provided pairing information) is used during the pairing process. For example, the pairing process may involve establishing a secure connection using new setup codes (included in the new pairing information), and then performing any number of steps via the secure connection to complete the pairing process. These steps may include, for example, exchanging encrypted credentials, updating (local, cloud-based, etc.) configurations, etc. Again, it should be noted that, for the sake of simplicity, a detailed explanation of the pairing process has been omitted without departing from the scope of this disclosure, and any method used for effectively pairing devices may be used.
[0053] At step 318, client device 116-1 (operating under smart home ecosystem 101-1) and client device 116-2 (operating under smart home ecosystem 101-2) register for bidirectional notifications to receive notifications when changes occur to the peripheral devices 120 they each manage. According to some implementations, registration can be performed using the API described above in conjunction with step 304. For example, client device 116-1 may request client device 116-2 (operating under smart home ecosystem 101-2) (e.g., on behalf of smart home ecosystem 101-1) to receive updates at any time when the pairing between smart home ecosystem 101-2 and the peripheral devices changes (e.g., addition, removal, update, etc.). Alternatively or additionally, client device 116-2 may request client device 116-1 (operating under smart home ecosystem 101-1) (e.g., on behalf of smart home ecosystem 101-2) to receive updates at any time when the pairing between smart home ecosystem 101-1 and the peripheral devices changes. It should be noted that the above examples are not intended to be restrictive, and without departing from the scope of this disclosure, any number of controlling entities may register to receive requests from each other regarding any type, form, etc., of changes to their configuration at any level of granularity.
[0054] At step 320, client device 116-2 (operating under smart home ecosystem 101-2) completes the pairing process with peripheral device 120-2 (i.e., the new peripheral device 120). Here, due to the notification registration that occurred at step 318, client device 116-2 / smart home ecosystem 101-2 is obligated to notify smart home ecosystem 101-1 / client device 116-1 of the new pairing. Therefore, at step 322, client device 116-2 (operating under smart home ecosystem 101-2) provides a notification of pairing with peripheral device 120-2. Subsequently, at an optional step 324, client device 116-1 (operating under smart home ecosystem 101-1) can complete the pairing process with peripheral device 120-2 (e.g., using steps similar to steps 304 to 316 discussed above).
[0055] Figure 3B A method 350 for synchronizing a pairing process between a computing device and an accessory computing device, according to some embodiments, is illustrated. According to some embodiments, method 350 may be implemented by a first computing device (e.g., client device 116) that has already been paired with the accessory computing device (e.g., peripheral device 120). Figure 3AAs shown, method 350 begins at step 352, wherein the first computing device receives from the second computing device a request for pairing the second computing device with a first accessory computing device to which the first computing device is paired (e.g., as described above in conjunction with...). Figure 3A (as described in step 304).
[0056] At step 354, the first computing device facilitates pairing between the first accessory computing device and the second computing device (e.g., as described above in conjunction with...). Figure 3A (as described in steps 306 to 316). At step 356, the first computing device registers the second computing device to notify when other accessory computing devices are paired with the first computing device (e.g., as described above in conjunction with...). Figure 3A (as described in step 318). Similarly, as mentioned above, additional registrations can be made, such as two-way registration, registration for notification of changes in pairing (instead of just adding, as in step 356), etc. At step 358, the first computing device is paired with the second accessory computing device (e.g., as described above in conjunction with...). Figure 3A (as described in step 320). At step 360, the first computing device provides the second computing device with a notification of pairing between the first computing device and the second auxiliary computing device (e.g., as described above in conjunction with...). Figure 3A (as described in step 322).
[0057] Figure 3C Examples are provided that can be combined with the above text. Figures 3A to 3B Conceptual diagram 390 illustrates an example user interface implemented using a technique described for synchronizing the pairing process between a computing device and an auxiliary computing device. Figure 3C As shown, example user interface 392 can be displayed by combining a user (e.g., a user operating client device 116 under smart home ecosystem 101-2 (“Smart Home Controller B”)) scanning a QR code generated by a control entity (e.g., smart home ecosystem 101-1 (“Smart Home Controller A”)) previously paired with a smart home device. Here, when a smart home device is successfully paired with smart home ecosystem 101-2, client device 116 displays user interface 394, which provides smart home ecosystems 101-1 and 101-2 with options to notify each other when changes are made to the smart home devices they each manage. Subsequently, when a new smart home device is added to smart home ecosystem 101-2, client device 116 can display user interface 396 providing a notification of the addition, as well as options enabling the new smart home device to be added to smart home ecosystem 101-1. Note that... Figure 3C The example user interface described herein is merely exemplary and may be modified in any way, implemented, incorporated, reflected, or otherwise adapted at any granular level, without departing from the scope of this disclosure.
[0058] Figure 4A Sequence diagram 400 illustrates a method for pairing an accessory computing device with other computing devices according to some embodiments. Specifically, the method involves managing the wake-up / sleep cycles of a peripheral device 120 with limited runtime (e.g., a battery-powered device, an infrequently accessed device, etc.) to improve the overall likelihood that the pairing process with the peripheral device 120 will be successful. Figure 4A As shown, sequence diagram 400 begins at step 402, where the smart home ecosystem 101-1 completes the pairing process with peripheral device 120 via client device 116-1 (e.g., as described above in conjunction with...). Figure 3A (as described in step 302).
[0059] At step 404, the smart home ecosystem 101-2 sends a pairing request to the client device 116-1 / smart home ecosystem 101-1 via the client device 116-2 (e.g., as described above in conjunction with...). Figure 3A (as described in step 304). It should be noted that, without departing from the scope of this disclosure, client device 116-1 operating under smart home ecosystem 101-1 and client device 116-2 operating under smart home ecosystem 101-2 can be the same or different client device 116. At step 406, client device 116-1 (operating under smart home ecosystem 101-1) generates new pairing information (e.g., as described above in conjunction with...). Figure 3A (as described in step 306).
[0060] At step 408, client device 116-1 (operating under smart home ecosystem 101-1) provides new pairing information to client device 116-2 (operating under smart home ecosystem 101-2) (e.g., as described above in conjunction with...). Figure 3A (as described in step 312). Thus, client device 116-2 becomes configured to pair with peripheral device 120, and at step 409, its configuration is updated to remain awake and periodically searches for (e.g., at any time intervals) peripheral device 120 using the new pairing information. Figure 4A As illustrated, example sleep / wake cycle timing information is interwoven into sequence diagram 400 to provide a better understanding of how to modify the sleep / wake cycle to increase the overall likelihood that a request for pairing between client device 116-2 and peripheral device 120 will succeed. Specifically, peripheral device 120 may enter a wake-up cycle at step 410, thereby enabling peripheral device 120 to receive communication from client device 116-1 and / or client device 116-2. Therefore, at step 412, client device 116-2 causes peripheral device 120 to enter pairing mode using new pairing information (e.g., as described above in conjunction with...). Figure 3A (as described in step 308).
[0061] At step 414, peripheral device 120 updates its configuration in response to receiving new pairing information at step 412 to extend the time before peripheral device 120 enters the next scheduled sleep cycle. This extension can be any amount of time, such as five (5) seconds, a percentage of the wake-up cycle time (e.g., twenty-five percent (25)), etc. This effectively extends the current wake-up cycle time of peripheral device 120, increasing the likelihood that client device 116-2 and peripheral device 120 will successfully communicate with each other, participate in the pairing process, and complete the pairing process. Conversely, if the current wake-up cycle time of peripheral device 120 remains unchanged, the likelihood that peripheral device 120 will enter the next sleep cycle before being contacted by client device 116-2 increases. Therefore, client device 116-2 may experience a timeout when attempting to interact with client device 116-2 (which is already in a sleep cycle), preventing the pairing process from succeeding.
[0062] Additionally, and to achieve the same benefits potentially provided by the specific implementation of step 414, at step 416, peripheral device 120 updates its configuration to remain in pairing mode until a time exceeding the threshold amount of the next scheduled wake-up cycle is elapsed. For example, if step 414 is executed at 8:00 PM, the next scheduled wake-up time is 8:15 PM, and the threshold amount of time is fifteen (15) minutes, then based on the aforementioned rule, peripheral device 120 will update its configuration to remain in pairing mode until 8:25 PM. Thus, peripheral device 120 remains in pairing mode not only through its current wake-up cycle (when step 416 is performed) but also through its next wake-up cycle for the aforementioned threshold amount of time. This method provides the benefit of allowing client device 116-2 another opportunity to interact with peripheral device 120 before client device 116-2 effectively interacts with peripheral device 120 to perform the pairing process, in the event that peripheral device 120 enters its next sleep cycle. In other words, a redundancy level is established because client device 116-2 can retry interacting with peripheral device 120, even though it initially missed the opportunity to do so. This approach can be beneficial because the pairing process may not need to be restarted via device 116-1 / smart home ecosystem 101-1 / peripheral device 120 for client device 116-2 to successfully interact with peripheral device 120.
[0063] Additionally, and to achieve the same benefits potentially provided through the specific implementation of steps 414 / 416, at step 418, peripheral device 120 updates its configuration to announce its ability to perform pairing upon entering the next scheduled wake-up cycle. Any method that effectively enables peripheral device 120 to broadcast its ability / readiness to perform the pairing process to other computing devices, such as client device 116-2, may be utilized. For example, peripheral device 120 may update its Domain Name Service-Service Discovery (DNS-SD) record to convey that peripheral device 120 is back online (and presumably ready to proceed with the pairing process that client device 116-2 is seeking). This concept is captured by step 424, which occurs after peripheral device 120 completes its next sleep cycle at step 420 and then enters the next wake-up cycle at step 422, in which peripheral device 120 announces its ability to perform pairing. Then, at step 426, the peripheral device 120 uses the new pairing information to complete the pairing process with the client device 116 (operating within the smart home ecosystem 101-2) (e.g., as described above in conjunction with...). Figure 3A (as described in step 316).
[0064] Additionally, and although in Figure 4A Not illustrated, but client device 116-1 (operating under smart home ecosystem 101-1) can be configured to periodically interact with peripheral device 120 to determine whether peripheral device 120 has successfully paired with client device 116-2 (operating under smart home ecosystem 101-2) after bringing peripheral device 120 into pairing mode using new pairing information (at step 412). For example, client device 116-1 can be configured to schedule subsequent time exceeding the time threshold amount described above in conjunction with step 416 (e.g., two (2) minutes). In this way, client device 116-1 can effectively determine whether the pairing process is successful and, if unsuccessful, restart the pairing process (e.g., by re-executing steps 406 to 412).
[0065] Figure 4B An example is illustrated by method 450 for pairing an accessory computing device with other computing devices according to some embodiments. For example... Figure 4B As shown, method 450 begins at step 452, wherein the accessory computing device receives from the first computing device a request for pairing of the accessory computing device with the second computing device (e.g., as described above in conjunction with...). Figure 4A (as described in step 412). At step 454, the accessory computing device updates its configuration to enter pairing mode (e.g., also as described above in conjunction with...). Figure 4A (as described in step 412).
[0066] At step 456, the computing device updates its configuration to extend the time before the auxiliary computing device enters the next scheduled sleep cycle (e.g., as described above in conjunction with...). Figure 4A (as described in step 414). At step 458, the attached computing device updates its configuration to remain in paired mode until the wake-up cycle threshold time for the next scheduling is exceeded (e.g., as described above in conjunction with...). Figure 4A (as described in step 416). At step 460, the accessory computing device updates its configuration to incorporate the wake-up cycle entering the next scheduling, notifying at least the second computing device that the accessory computing device is capable of performing pairing (e.g., as described above in conjunction with...). Figure 4A (as described in step 418).
[0067] At step 462, the accessory computing device receives a pairing request from the second computing device (e.g., as described above in conjunction with...). Figure 4A (as described in step 426). At step 464, the accessory computing device is paired with the second computing device (e.g., also as described above in conjunction with...). Figure 4A (as described in step 426).
[0068] Figure 5 Detailed views of a computing device 500, according to some embodiments, that can be used to implement the various components described herein are illustrated. Specifically, the detailed views illustrate components that may be included in the foregoing. Figure 1 The various components in the server computing device 102, centralized management hub 110, peripheral device hub 112, client device 116, and peripheral device 120 described in A.
[0069] like Figure 5 As shown, computing device 500 may include a processor 502 representing a microprocessor or controller for controlling the overall operation of computing device 500. Computing device 500 may also include a user input device 508 that allows a user of computing device 500 to interact with it. For example, user input device 508 may take various forms, such as buttons, keypads, dial pads, touchscreens, audio input interfaces, visual / image capture input interfaces, sensor data input, etc. Furthermore, computing device 500 may include a display 510 (screen display) that can be controlled by processor 502 to display information to a user. Data bus 516 facilitates data transfer between at least storage device 540, processor 502, and controller 513. Controller 513 can be used to interact with and control different devices via equipment control bus 514. Computing device 500 may also include a network / bus interface 511 coupled to data link 512. In the case of wireless connectivity, network / bus interface 511 may include a wireless transceiver.
[0070] The computing device 500 also includes a storage device 540, which may include a single disk or multiple disks (e.g., an SSD), and includes a storage management module for managing one or more partitions within the storage device 540. In some embodiments, the storage device 540 may include flash memory, semiconductor (solid-state) memory, etc. The computing device 500 may also include random access memory (RAM) 520 and read-only memory (ROM) 522. ROM 522 may store programs, utilities, or processes that will be executed in a non-volatile manner. RAM 520 may provide volatile data storage and store instructions related to the operation of the computing device described herein.
[0071] Various aspects, embodiments, specific implementations, or features of the described embodiments may be used individually or in any combination. Various aspects of the described embodiments may be implemented by software, hardware, or a combination of hardware and software. The described embodiments may also be embodied as computer-readable code on a computer-readable medium. A computer-readable medium is any data storage device that can store data that can be read by a computer system. Examples of such computer-readable media include read-only memory, random access memory, CD-ROM, DVD, magnetic tape, hard disk drive, solid-state drive, and optical data storage devices. Computer-readable media may also be distributed across a network-coupled computer system, such that the computer-readable code is stored and executed in a distributed manner.
[0072] For illustrative purposes, the foregoing description uses specific names to provide a thorough understanding of the described embodiments. However, it will be apparent to those skilled in the art that specific details are not required to practice the described embodiments. Therefore, the foregoing description of specific embodiments is presented for illustrative and descriptive purposes. The foregoing description is not intended to be exhaustive or to limit the described embodiments to the precise forms disclosed. It will be apparent to those skilled in the art that many modifications and variations are possible in light of the teachings above.
[0073] As described herein, one aspect of the present invention is the collection and use of data available from various sources to improve user experience. This disclosure envisions that, in some instances, such collected data may include personal information that uniquely identifies or can be used to contact or locate specific individuals. Such personal information may include demographic data, location-based data, telephone numbers, email addresses, home addresses, data or records related to a user's health or fitness level (e.g., vital sign measurements, medication information, exercise information), date of birth, smart home activities, or any other identifying information or personal information. This disclosure recognizes that the use of such personal information in the present invention can be used to benefit users.
[0074] This disclosure anticipates that entities responsible for the collection, analysis, disclosure, transmission, storage, or other use of such personal information data will comply with robust privacy policies and / or privacy measures. Specifically, such entities should implement and adhere to privacy policies and measures that are recognized as meeting or exceeding industry or governmental requirements for maintaining the privacy and security of personal information data. Such policies should be easily accessible to users and should be updated as the collection and / or use of data changes. Personal information from users should be collected for legitimate and reasonable entity purposes and should not be shared or sold outside of these legitimate purposes. Furthermore, such collection / sharing should be conducted only after receiving informed consent from users. Additionally, such entities should consider taking any necessary steps to protect and safeguard the right to access such personal information data and ensure that other entities with access to personal information data comply with the privacy policies and procedures of other entities. Furthermore, such entities may subject themselves to third-party assessments to demonstrate their compliance with widely accepted privacy policies and privacy practices. Moreover, policies and measures should be adapted to the specific types of personal information data collected and / or accessed, and to applicable laws and standards, including considerations of specific jurisdictions. For example, in the United States, the collection or acquisition of certain health data may be governed by federal and / or state laws, such as the Health Insurance Portability and Accountability Act (HIPAA); while in other countries, health data may be subject to other regulations and policies and should be handled accordingly. Therefore, different privacy measures should be advocated for different types of personal data in each country.
[0075] Regardless of the foregoing, this disclosure also contemplates implementation schemes for users to selectively block the use or access to personal information data. That is, this disclosure contemplates providing hardware and / or software components to prevent or block access to such personal information data. For example, the technology of this invention can be configured to allow users to opt-in or opt-out at any time during or after registering for the service. Alternatively, users can choose to provide only specific types of data that contribute to the technology described herein. In addition to providing opt-in and opt-out options, this disclosure also contemplates providing notifications related to access to or use of personal information. For example, users may be notified that their personal information data may be accessed, and then reminded again before the personal information data is accessed.
[0076] Furthermore, the intent of this disclosure is that personal information data should be managed and processed in a manner that minimizes the risk of unintentional or unauthorized access or use. Once data is no longer needed, this risk can be minimized by restricting data collection and deleting data. Additionally, and where applicable, including in certain health-related applications, data deidentification can be used to protect user privacy. Deidentification can be facilitated, where appropriate, by removing specific identifiers (e.g., date of birth, etc.), controlling the amount or specificity of stored data (e.g., collecting location data at the city level rather than the address level), controlling how data is stored (e.g., aggregating data among users), and / or other methods.
[0077] Therefore, while this disclosure broadly covers the use of personal information data to implement one or more of the various disclosed embodiments, it is also contemplated that various embodiments can be implemented without access to such personal information data. That is, various embodiments of the present invention will not become inoperable due to the absence of all or part of such personal information data.
Claims
1. A method for guiding a pairing process between a computing device and an accessory computing device, the method comprising a computing device seeking to pair with the accessory computing device: At least obtain the identifier and configuration code associated with the attached computing device; It was determined by scanning the first communication network associated with the accessory computing device that the identifier was not advertised on the first communication network; Generate a hash value based on the identifier and the setting code; The hash value is identified as being advertised on the second communication network by scanning the second communication network. as well as The display indicates an indication that the user is instructed to perform the following actions: (1) a factory reset of the accessory computing device, or (2) a secondary pairing process with the accessory computing device via at least one primary computing device currently paired with the accessory computing device.
2. The method of claim 1, wherein the identifier and the setting code are obtained by scanning a quick response (QR) code, the QR code (1) being printed on the accessory computing device or material associated with the accessory computing device, and / or (2) being output on a display device communicatively coupled to the accessory computing device.
3. The method according to claim 1, wherein the first communication network and the second communication network utilize the same or different types of communication protocols.
4. The method according to claim 1, wherein the first communication network includes a Bluetooth network, and the second communication network includes a Wi-Fi network.
5. The method according to claim 1, wherein, After completing the initial pairing process with the at least one main computing device, the accessory computing device: Stop advertising the identifier on the first communication network, and The hash value is then announced on the second communication network.
6. The method of claim 1, wherein the accessory computing device announces the hash value on the second communication network using a DNS-SD protocol based on Domain Name Service (DNS) implemented by the accessory computing device and the computing device.
7. The method of claim 1, wherein the energy indication comprises: (1) A first instruction for executing the factory reset of the attached computing device, and (2) A second instruction for performing the secondary pairing process using the at least one main computing device, wherein the second instruction includes at least some identification information associated with the at least one main computing device.
8. A non-transitory computer-readable storage medium configured to store instructions, which, when executed by at least one processor included in a computing device, cause the computing device to guide a pairing process between the computing device and an auxiliary computing device by performing steps including: At least obtain the identifier and configuration code associated with the attached computing device; It was determined by scanning the first communication network associated with the accessory computing device that the identifier was not advertised on the first communication network; Generate a hash value based on the identifier and the setting code; The hash value is identified as being advertised on the second communication network by scanning the second communication network. as well as The display indicates an indication that the user is instructed to perform the following actions: (1) a factory reset of the accessory computing device, or (2) a secondary pairing process with the accessory computing device via at least one primary computing device currently paired with the accessory computing device.
9. The non-transitory computer-readable storage medium of claim 8, wherein the identifier and the setting code are obtained by scanning a quick response (QR) code, the QR code (1) being printed on the accessory computing device or material associated with the accessory computing device, and / or (2) being output on a display device communicatively coupled to the accessory computing device.
10. The non-transitory computer-readable storage medium of claim 8, wherein the first communication network and the second communication network utilize the same or different types of communication protocols.
11. The non-transitory computer-readable storage medium of claim 8, wherein the first communication network includes a Bluetooth network, and the second communication network includes a Wi-Fi network.
12. The non-transitory computer-readable storage medium according to claim 8, wherein, After completing the initial pairing process with the at least one main computing device, the accessory computing device: Stop advertising the identifier on the first communication network, and The hash value is then announced on the second communication network.
13. The non-transitory computer-readable storage medium of claim 8, wherein the accessory computing device announces the hash value on the second communication network using a Domain Name Service (DNS)-based service discovery (DNS-SD) protocol implemented by the accessory computing device and the computing device.
14. The non-transitory computer-readable storage medium of claim 8, wherein the power indication comprises: (1) A first instruction for executing the factory reset of the attached computing device, and (2) A second instruction for performing the secondary pairing process using the at least one main computing device, wherein the second instruction includes at least some identification information associated with the at least one main computing device.
15. A computing device configured to guide a pairing process between a computing device and an accessory computing device, the computing device comprising: At least one processor; as well as At least one memory, the at least one memory storing instructions, the instructions, when executed by the at least one processor, causing the computing device to perform the following steps: At least obtain the identifier and configuration code associated with the attached computing device; It was determined by scanning the first communication network associated with the accessory computing device that the identifier was not advertised on the first communication network; Generate a hash value based on the identifier and the setting code; The hash value is identified as being advertised on the second communication network by scanning the second communication network. as well as The display indicates an indication that the user is instructed to perform the following actions: (1) a factory reset of the accessory computing device, or (2) a secondary pairing process with the accessory computing device via at least one primary computing device currently paired with the accessory computing device.
16. The computing device of claim 15, wherein the identifier and the setting code are obtained by scanning a quick response (QR) code, the QR code (1) being printed on the accessory computing device or material associated with the accessory computing device, and / or (2) being output on a display device communicatively coupled to the accessory computing device.
17. The computing device of claim 15, wherein the first communication network and the second communication network utilize the same or different types of communication protocols.
18. The computing device of claim 15, wherein the first communication network includes a Bluetooth network, and the second communication network includes a Wi-Fi network.
19. The computing device according to claim 15, wherein, After completing the initial pairing process with the at least one main computing device, the accessory computing device: Stop advertising the identifier on the first communication network, and The hash value is then announced on the second communication network.
20. The computing device of claim 15, wherein the accessory computing device announces the hash value on the second communication network using a Domain Name Service (DNS)-based Service Discovery (DNS-SD) protocol implemented by the accessory computing device and the computing device.
21. The computing device of claim 15, wherein the power indication comprises: (1) A first instruction for executing the factory reset of the attached computing device, and (2) A second instruction for performing the secondary pairing process using the at least one main computing device, wherein the second instruction includes at least some identification information associated with the at least one main computing device.
22. A computing device configured to guide a pairing process between a computing device and an accessory computing device, the computing device comprising: A means for obtaining at least the identifier and setting code associated with the attached computing device; A means for determining, by scanning a first communication network associated with the accessory computing device, that the identifier has not been advertised on the first communication network; A means for generating a hash value based on the identifier and the setting code; A means for identifying, by scanning a second communication network, that the hash value is being announced on the second communication network; as well as A device for displaying an indication to instruct a user to perform the following actions: (1) a factory reset of the accessory computing device, or (2) a secondary pairing process with the accessory computing device via at least one primary computing device currently paired with the accessory computing device.
23. The computing device of claim 22, wherein the identifier and the setting code are obtained by scanning a quick response (QR) code, the QR code (1) being printed on the accessory computing device or material associated with the accessory computing device, and / or (2) being output on a display device communicatively coupled to the accessory computing device.
24. The computing device of claim 22, wherein the first communication network and the second communication network utilize the same or different types of communication protocols.
25. The computing device of claim 22, wherein the first communication network includes a Bluetooth network, and the second communication network includes a Wi-Fi network.
26. The computing device according to claim 22, wherein, After completing the initial pairing process with the at least one main computing device, the accessory computing device: Stop advertising the identifier on the first communication network, and The hash value is then announced on the second communication network.
27. The computing device of claim 22, wherein the accessory computing device announces the hash value on the second communication network using a Domain Name Service (DNS)-based Service Discovery (DNS-SD) protocol implemented by the accessory computing device and the computing device.
28. The computing device of claim 22, wherein the power indication includes: (1) A first instruction for executing the factory reset of the attached computing device, and (2) A second instruction for performing the secondary pairing process using the at least one main computing device, wherein the second instruction includes at least some identification information associated with the at least one main computing device.
29. A method for synchronizing a pairing process between a computing device and an accessory computing device, the method comprising: a first computing device: Receive a request from the second computing device to pair the second computing device with a first accessory computing device paired with the first computing device; Facilitate pairing between the first accessory computing device and the second computing device; Register the second computing device to be notified when other accessory computing devices are paired with the first computing device; Pair with the second accessory computing device; as well as The second computing device is provided with a notification of the pairing between the first computing device and the second auxiliary computing device.
30. The method of claim 29, wherein facilitating the pairing comprises: Put the first accessory computing device into pairing mode; as well as Provide information to the second computing device, wherein the information includes: Feature information associated with the first accessory computing device, the feature information causing the second computing device to display a power indication including at least some of the feature information, and Identifiers and setting codes that enable the second computing device to pair with the first accessory computing device.
31. The method according to claim 30, wherein the feature information includes: The name associated with the first accessory computing device. The room associated with the first accessory computing device, The area associated with the first accessory computing device. The sleep interval associated with the first accessory computing device, Or some combination thereof.
32. The method of claim 29, further comprising, in conjunction with providing the notification: Facilitates a second pairing between the second accessory computing device and the second computing device.
33. The method of claim 29, wherein the method further comprises: registering the second computing device to be notified when another accessory computing device is paired with the first computing device; The second computing device registers the first computing device so that it is notified when other accessory computing devices are paired with the second computing device.
34. The method according to claim 33, further comprising: Receive a second notification from the second computing device that the second computing device has been paired with the third accessory computing device; as well as Pair with the third accessory computing device.
35. The method according to claim 34, further comprising: Receive third information associated with the third accessory computing device from the second computing device, wherein the third information enables the pairing with the third accessory computing device.
36. A non-transitory computer-readable storage medium configured to store instructions, which, when executed by at least one processor included in a first computing device, cause the first computing device to synchronize a pairing process between the computing device and an auxiliary computing device by performing steps including: Receive a request from the second computing device to pair the second computing device with a first accessory computing device paired with the first computing device; Facilitate pairing between the first accessory computing device and the second computing device; Register the second computing device to be notified when other accessory computing devices are paired with the first computing device; Pair with the second accessory computing device; as well as The second computing device is provided with a notification of the pairing between the first computing device and the second auxiliary computing device.
37. The non-transitory computer-readable storage medium of claim 36, wherein facilitating the pairing comprises: Put the first accessory computing device into pairing mode; as well as Provide information to the second computing device, wherein the information includes: Feature information associated with the first accessory computing device, the feature information causing the second computing device to display a power indication including at least some of the feature information, and Identifiers and setting codes that enable the second computing device to pair with the first accessory computing device.
38. The non-transitory computer-readable storage medium of claim 37, wherein the feature information includes: The name associated with the first accessory computing device. The room associated with the first accessory computing device, The area associated with the first accessory computing device. The sleep interval associated with the first accessory computing device, Or some combination thereof.
39. The non-transitory computer-readable storage medium of claim 36, wherein, in conjunction with providing the notification, the step further includes: Facilitates a second pairing between the second accessory computing device and the second computing device.
40. The non-transitory computer-readable storage medium of claim 36, wherein the step of being notified in conjunction with registering the second computing device to be paired with the first computing device in other accessory computing devices further comprises: The second computing device registers the first computing device so that it is notified when other accessory computing devices are paired with the second computing device.
41. The non-transitory computer-readable storage medium of claim 40, wherein the step further comprises: Receive a second notification from the second computing device that the second computing device has been paired with the third accessory computing device; as well as Pair with the third accessory computing device.
42. The non-transitory computer-readable storage medium of claim 41, wherein the step further comprises: Receive third information associated with the third accessory computing device from the second computing device, wherein the third information enables the pairing with the third accessory computing device.
43. A first computing device configured to synchronize a pairing process between a computing device and an auxiliary computing device, the first computing device comprising: At least one processor; as well as At least one memory, the at least one memory storing instructions, the instructions, when executed by the at least one processor, causing the first computing device to perform the following steps: Receive a request from the second computing device to pair the second computing device with a first accessory computing device paired with the first computing device; Facilitate pairing between the first accessory computing device and the second computing device; Register the second computing device to be notified when other accessory computing devices are paired with the first computing device; Pair with the second accessory computing device; as well as The second computing device is provided with a notification of the pairing between the first computing device and the second auxiliary computing device.
44. The first computing device of claim 43, wherein facilitating the pairing comprises: Put the first accessory computing device into pairing mode; as well as Provide information to the second computing device, wherein the information includes: Feature information associated with the first accessory computing device, the feature information causing the second computing device to display a power indication including at least some of the feature information, and Identifiers and setting codes that enable the second computing device to pair with the first accessory computing device.
45. The first computing device according to claim 44, wherein the feature information includes: The name associated with the first accessory computing device. The room associated with the first accessory computing device, The area associated with the first accessory computing device. The sleep interval associated with the first accessory computing device, Or some combination thereof.
46. The first computing device of claim 43, wherein, in conjunction with providing the notification, the step further includes: Facilitates a second pairing between the second accessory computing device and the second computing device.
47. The first computing device of claim 43, wherein the step of being notified in conjunction with registering the second computing device to pair with other accessory computing devices with the first computing device further comprises: The second computing device registers the first computing device so that it is notified when other accessory computing devices are paired with the second computing device.
48. The first computing device of claim 47, wherein the step further comprises: Receive a second notification from the second computing device that the second computing device has been paired with the third accessory computing device; as well as Pair with the third accessory computing device.
49. The first computing device of claim 48, wherein the step further comprises: Receive third information associated with the third accessory computing device from the second computing device, wherein the third information enables the pairing with the third accessory computing device.
50. A first computing device configured to synchronize a pairing process between a computing device and an auxiliary computing device, the first computing device comprising: A means for receiving from a second computing device a request for pairing the second computing device with a first accessory computing device paired with the first computing device; A means for facilitating pairing between the first accessory computing device and the second computing device; A means for registering the second computing device to be notified when other accessory computing devices are paired with the first computing device; Device for pairing with the second accessory computing device; as well as A means for providing a notification to the second computing device of the pairing between the first computing device and the second auxiliary computing device.
51. The first computing device of claim 50, wherein facilitating the pairing comprises: Put the first accessory computing device into pairing mode; as well as Provide information to the second computing device, wherein the information includes: Feature information associated with the first accessory computing device, the feature information causing the second computing device to display a power indication including at least some of the feature information, and Identifiers and setting codes that enable the second computing device to pair with the first accessory computing device.
52. The first computing device according to claim 51, wherein the feature information includes: The name associated with the first accessory computing device. The room associated with the first accessory computing device, The area associated with the first accessory computing device. The sleep interval associated with the first accessory computing device, Or some combination thereof.
53. The first computing device of claim 50, further comprising means for providing the notification: Facilitates a second pairing between the second accessory computing device and the second computing device.
54. The first computing device of claim 50, wherein the first computing device further comprises means for: registering the second computing device to be notified when other accessory computing devices are paired with the first computing device; The second computing device registers the first computing device so that it is notified when other accessory computing devices are paired with the second computing device.
55. The first computing device according to claim 54, further comprising means for: Receive a second notification from the second computing device that the second computing device has been paired with the third accessory computing device; and Pair with the third accessory computing device.
56. The first computing device according to claim 55, further comprising means for: Receive third information associated with the third accessory computing device from the second computing device, wherein the third information enables the pairing with the third accessory computing device.
57. A method for pairing an accessory computing device with other computing devices, the method comprising an accessory computing device paired with a first computing device: Receive a request from the first computing device to pair the accessory computing device with the second computing device; Update the configuration of the attached computing device to: Put the accessory computing device into pairing mode. The accessory computing device is kept in the paired mode until a threshold time exceeds the next scheduled wake-up period of the accessory computing device, and The accessory computing device is brought into the wake-up cycle of the next scheduling and notifies at least the second computing device that the accessory computing device is capable of performing pairing; Receive a pairing request from the second computing device; as well as Pair with the second computing device.
58. The method of claim 57, wherein notifying at least the second computing device that the accessory computing device is capable of performing pairing comprises: Update the DNS-SD record based on Domain Name Service (DNS) to refresh the multicast record associated with the attached computing device.
59. The method according to claim 57, wherein: The request includes an identifier and a setting code; and The pairing request includes at least the identifier and the setting code.
60. The method of claim 59, wherein the identifier and the setting code are provided by the first computing device to the second computing device, and the second computing device updates a second configuration of the second computing device in response to receiving the identifier and the setting code, so that the second computing device remains awake and periodically searches for the adjacent computing device at least based on the identifier.
61. The method of claim 57, further comprising, prior to pairing with the second computing device: Receive a query from the first computing device regarding whether the accessory computing device has been successfully paired with the second computing device; and The first computing device is provided with an indication that the accessory computing device has not been successfully paired with the second computing device, wherein the indication causes the first computing device to reissue the request to the accessory computing device.
62. The method according to claim 57, further comprising: The configuration of the accessory computing device is updated to extend the second time for the accessory computing device to enter the next scheduled sleep cycle by a second threshold time amount.
63. A non-transitory computer-readable storage medium configured to store instructions, which, when executed by at least one processor included in a first computing device, cause the first computing device to pair an auxiliary computing device with other computing devices by performing steps including: Receive a request from the first computing device to pair the auxiliary computing device with the second computing device; Update the configuration of the attached computing device to: Put the accessory computing device into pairing mode. The accessory computing device is kept in the paired mode until a threshold time exceeds the next scheduled wake-up period of the accessory computing device, and The accessory computing device is brought into the wake-up cycle of the next scheduling and notifies at least the second computing device that the accessory computing device is capable of performing pairing; Receive a pairing request from the second computing device; as well as Pair with the second computing device.
64. The non-transitory computer-readable storage medium of claim 63, wherein notifying at least the second computing device that the accessory computing device is capable of performing pairing comprises: Update the DNS-SD record based on Domain Name Service (DNS) to refresh the multicast record associated with the attached computing device.
65. The non-transitory computer-readable storage medium according to claim 63, wherein: The request includes an identifier and a setting code; and The pairing request includes at least the identifier and the setting code.
66. The non-transitory computer-readable storage medium of claim 65, wherein the identifier and the setting code are provided by the first computing device to the second computing device, and the second computing device updates a second configuration of the second computing device in response to receiving the identifier and the setting code, such that the second computing device remains awake and periodically searches for the adjacent computing device at least based on the identifier.
67. The non-transitory computer-readable storage medium of claim 63, wherein the step further comprises, prior to pairing with the second computing device: Receive a query from the first computing device regarding whether the accessory computing device has been successfully paired with the second computing device; and The first computing device is provided with an indication that the accessory computing device has not been successfully paired with the second computing device, wherein the indication causes the first computing device to reissue the request to the accessory computing device.
68. The non-transitory computer-readable storage medium of claim 63, wherein the step further comprises: The configuration of the accessory computing device is updated to extend the second time for the accessory computing device to enter the next scheduled sleep cycle by a second threshold time amount.
69. A first computing device configured to pair an accessory computing device with other computing devices, the first computing device comprising: At least one processor; as well as At least one memory, the at least one memory storing instructions, the instructions, when executed by the at least one processor, causing the first computing device to perform the following steps: Receive a request from the first computing device to pair the auxiliary computing device with the second computing device; Update the configuration of the attached computing device to: Put the accessory computing device into pairing mode. The accessory computing device is kept in the paired mode until a threshold time exceeds the next scheduled wake-up period of the accessory computing device, and The accessory computing device is brought into the wake-up cycle of the next scheduling and notifies at least the second computing device that the accessory computing device is capable of performing pairing; Receive a pairing request from the second computing device; as well as Pair with the second computing device.
70. The first computing device of claim 69, wherein notifying at least the second computing device that the accessory computing device is capable of performing pairing comprises: Update the DNS-SD record based on Domain Name Service (DNS) to refresh the multicast record associated with the attached computing device.
71. The first computing device according to claim 69, wherein: The request includes an identifier and a setting code; and The pairing request includes at least the identifier and the setting code.
72. The first computing device of claim 71, wherein the identifier and the setting code are provided by the first computing device to the second computing device, and the second computing device updates a second configuration of the second computing device in response to receiving the identifier and the setting code, so that the second computing device remains awake and periodically searches for the adjacent computing device at least based on the identifier.
73. The first computing device of claim 69, wherein the step further comprises, prior to pairing with the second computing device: Receive a query from the first computing device regarding whether the accessory computing device has been successfully paired with the second computing device; and The first computing device is provided with an indication that the accessory computing device has not been successfully paired with the second computing device, wherein the indication causes the first computing device to reissue the request to the accessory computing device.
74. The first computing device of claim 69, wherein the step further comprises: The configuration of the accessory computing device is updated to extend the second time for the accessory computing device to enter the next scheduled sleep cycle by a second threshold time amount.
75. A first computing device configured to pair an accessory computing device with other computing devices, the first computing device comprising: A means for receiving from the first computing device a request for pairing an auxiliary computing device with a second computing device; A means for updating the configuration of the attached computing device to perform the following operations: Put the accessory computing device into pairing mode. The accessory computing device is kept in the paired mode until a threshold time exceeds the next scheduled wake-up period of the accessory computing device, and The accessory computing device is brought into the wake-up cycle of the next scheduling and notifies at least the second computing device that the accessory computing device is capable of performing pairing; A means for receiving a pairing request from the second computing device; as well as A means for pairing with the second computing device.
76. The first computing device of claim 75, wherein notifying at least the second computing device that the accessory computing device is capable of performing pairing comprises: Update the DNS-SD record based on Domain Name Service (DNS) to refresh the multicast record associated with the attached computing device.
77. The first computing device according to claim 75, wherein: The request includes an identifier and a setting code; and The pairing request includes at least the identifier and the setting code.
78. The first computing device of claim 77, wherein the identifier and the setting code are provided by the first computing device to the second computing device, and the second computing device updates a second configuration of the second computing device in response to receiving the identifier and the setting code, so that the second computing device remains awake and periodically searches for the adjacent computing device at least based on the identifier.
79. The first computing device of claim 75, further comprising means for performing the following operations prior to pairing with the second computing device: Receive a query from the first computing device regarding whether the accessory computing device has been successfully paired with the second computing device; and The first computing device is provided with an indication that the accessory computing device has not been successfully paired with the second computing device, wherein the indication causes the first computing device to reissue the request to the accessory computing device.
80. The first computing device according to claim 75, further comprising means for performing the following operations: The configuration of the accessory computing device is updated to extend the second time for the accessory computing device to enter the next scheduled sleep cycle by a second threshold time amount.