Mobile device and method performed thereby, medium and computer program product
Patent Information
- Application Number
- CN202180063218.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-08-13
- Filing Date
- 2021-09-14
- Publication Date
- 2026-10-09
- Estimated Expiration
- 2041-09-14
AI Technical Summary
通常,这些配置是复杂的,因为这些配置是在无线通信网络(例如,利用Wi-Fi路由器)被安装在家庭中之前执行的
Smart Images

Figure CN116325844B_ABST
Abstract
Description
[0001] Cross-references to related applications
[0002] This application claims the benefit of U.S. Provisional Patent Application No. 63 / 083,415, entitled "Techniques For Managing Smart Home Configurations," filed September 25, 2020, and U.S. Patent Application No. 17 / 402,369, entitled "Techniques For Managing Smart Home Configurations," filed August 13, 2021, each of which is incorporated herein by reference in its entirety for all purposes. Technical Field
[0003] This disclosure generally relates to technologies for managing smart home configurations. Background Technology
[0004] Accessory devices, such as kitchen utensils, lighting fixtures, and thermometers, are typically used in automated environments, such as home automation systems. These accessories can be controlled by controller devices such as laptops, mobile devices, and wearable devices.
[0005] For new or renovated smart homes, builders may hire one or more installers to configure accessories to work with the home network. Most smart home installations are performed professionally. Multiple installers may be available for different systems (e.g., lighting, HVAC, security, etc.). These configurations are often complex because they are performed before wireless communication networks (e.g., using Wi-Fi routers) are installed in the home. Additionally, such installations may pose security risks to new homeowners if configuration information is stored on the installer's mobile device after installation is complete. Storing secure information exclusively in a cloud environment can also present security problems if the server is compromised. Summary of the Invention
[0006] The implementation provides systems, devices, methods, and computer-readable media for managing smart home configurations. Home devices may store one or more security certificates. An installer may authenticate his or her mobile device to install accessories in the home. The installer can authenticate the installer's mobile device by opening an application associated with the home device, selecting an installation mode, and choosing an option to search for the home device. The installer may place the installer's mobile device within close proximity (e.g., less than 4 cm) to authorize communication with the home device.
[0007] After the installer's mobile device has been authorized, the installer can authenticate the home device by checking its security certificate via a network (e.g., the Internet). A remote security server can verify the home device's security certificate to ensure that the home device remains valid and authorized to sign device certificates. After verification, the installer's device can provide the home device with the installer's certificate for signing. The home device can return the signed certificate. The installer can enter information about the accessory, such as its name, ID, and location. This information can be associated with the accessory identifier and stored in the home device. The signed certificate can be used to authorize one or more accessories to operate within the home ecosystem. The signed certificate may expire after a predetermined time. The installer's device can receive accessory information from the one or more accessory devices. This accessory information can be sent to and stored in the home device's memory.
[0008] Upon completion of accessory installation, the builder can authenticate his or her device in a similar manner to the installer. After authentication, the home device can send the accessory information to the builder's mobile device. The builder's mobile device can import this accessory information and update the available accessories controlled via an app on the builder's mobile device. The builder can configure the accessory to suit one or more preferences (e.g., for a future homeowner or based on common usage) and operate the accessory using the builder's mobile device. Changes made to the accessory's configuration or settings can be uploaded and stored on the home device.
[0009] When selling a home, the builder can transfer the identification code to the new owner. The new owner can then reset the identification code and import the associated information onto their mobile device. Once imported, the owner can add the device directly to their own ecosystem (e.g., a home app running on their mobile device).
[0010] According to some specific implementations, a method may include: identifying a home device using a first wireless protocol; enabling a secure channel between the home device and a mobile device via a second wireless protocol; authenticating access to the mobile device using an identification code; verifying a home device certificate via a security server; sending a mobile device certificate to the home device via the secure channel; receiving a signed mobile device certificate from the home device via the secure channel; and receiving accessory information corresponding to one or more accessory devices, the mobile device being configured to connect to the one or more accessory devices, from the home device via the secure channel.
[0011] According to some specific implementations, a method may include: implementing an installation mode by a computing device for adding an accessory device to a physical environment using a first wireless protocol and a secure element; while in the installation mode: receiving first device information from a first device via the first wireless protocol; establishing a first secure channel with the first device by the computing device based on the receipt of the first device information; receiving accessory information corresponding to the accessory device to be added to the physical environment via the first secure channel; storing the accessory information corresponding to the accessory device by the computing device; receiving second device information from a second device; establishing a second secure channel with the second device by the computing device based on the receipt of the second device information; and transmitting the accessory information corresponding to the accessory device to the second device; terminating the installation mode; and when the installation mode is closed: receiving third device information from a third device; establishing a third secure channel with the third device by the computing device based on the receipt of the third device information; transmitting the accessory information corresponding to the accessory device to the third device; and sending control commands to the accessory device to control the accessory device.
[0012] Other implementations involve systems, portable consumer devices, and computer-readable media associated with the methods described herein.
[0013] A better understanding of the substance and advantages of the exemplary embodiments can be obtained by referring to the following detailed description and accompanying drawings. Attached Figure Description
[0014] This disclosure will be readily understood from the following detailed description taken in conjunction with the accompanying drawings, wherein similar reference numerals refer to similar elements, and wherein:
[0015] Figure 1 A simplified flowchart for managing smart home configurations is shown according to some exemplary implementations.
[0016] Figure 2 Use cases for managing smart home configurations are illustrated according to some exemplary implementations.
[0017] Figure 3 The process performed by an installer for managing smart home configurations, according to some exemplary embodiments, is illustrated.
[0018] Figure 4 The process performed by the builder for managing smart home configurations according to some exemplary embodiments is shown.
[0019] Figure 5 The process performed by a new owner / buyer for managing smart home configurations, according to some exemplary implementations, is illustrated.
[0020] Figure 6A simplified diagram of a system for managing smart home configurations according to some exemplary embodiments is shown.
[0021] Figure 7 A flowchart is shown for a technology for managing smart home configurations by mobile devices, according to some exemplary embodiments.
[0022] Figure 8 A flowchart is shown for a technology for managing smart home configurations by home devices, according to some exemplary embodiments.
[0023] Figure 9 A flowchart is shown for a technology for managing smart home configurations by home devices, according to some exemplary embodiments.
[0024] Figure 10 A simplified block diagram of a home device for managing smart home configurations is shown according to some exemplary embodiments.
[0025] Figure 11 A block diagram of an exemplary mobile device according to some implementation schemes is shown.
[0026] Multiple instances of a component can be indicated by adding a letter or hyphen after the first number of the component and then a second number. Detailed Implementation
[0027] In the following description, specific details are set forth for illustrative purposes in order to provide a thorough understanding of exemplary embodiments. However, it will be apparent, however, that various embodiments may be practiced without these specific details. The accompanying drawings and descriptions are not intended to be limiting.
[0028] I. Overview of the Home Environment
[0029] A home application on a controller device (e.g., a laptop, mobile device, wearable device, etc.) can be used to control accessory devices in a home automation environment. Accessory devices may also be referred to as smart devices or smart home devices. For brevity, throughout this description, accessory devices may also be referred to as accessories, and controller devices may also be referred to as controllers. The home application can be used to control the operation of accessory devices in an automated environment via the controller device. The automated environment may, for example, be within a user's home or office. Additionally, in some examples, the resident device may be some type of controller. The resident device (e.g., a network-connected media player and / or television control unit) may be installed in the automated environment, and it is anticipated that the resident device will be relatively stationary (e.g., it typically resides in the home or office). The resident device may be configured to control specific accessories (e.g., a television or external speakers); however, the resident device may also control other accessories that are also controlled by those other controllers when other controllers are within reach.
[0030] The technology disclosed herein is not limited to single-family homes. It can be used to set up attachments in multi-tenant residences (e.g., apartment buildings). The system can be used by building management companies that have multiple apartments in different buildings. Building managers may require remote access to apartments to set up attachments, change access codes, and detect apartment problems (e.g., leaks, insufficient appliance supply). The system provides efficient access control and auditing. Typically, these systems may require tenant permission, except in cases of legally approved eviction (e.g., legal eviction). The technologies and equipment disclosed herein can also be used to manage common areas (e.g., recreational areas, gymnasiums, swimming pools, elevators, gates, garage doors, etc.).
[0031] Because the system uses the installer's mobile device for network connectivity (e.g., the internet), there is no need to establish internet access in the home during installation.
[0032] Figure 1 A simplified flowchart for managing smart home configurations is shown according to some exemplary implementations.
[0033] A smart home can include a variety of connected devices, from smart door locks to light switches to smart thermostats. Because these devices allow homeowners to operate them remotely via a home network, they need to be secure to prevent unauthorized access. Therefore, the process for establishing a secure home network may involve sharing secrets with various devices during installation. These shared secrets can be used to verify that remote devices are authorized to access or control different parts of the home network.
[0034] A home can be built as a smart home from the outset by installing one or more smart devices during the construction process. Alternatively, an existing home can be retrofitted as a smart home. Home builder 102 may initially be granted the right to install the home system. Home builder 102 may transfer all or part of these rights to one or more other users (e.g., contractor 104) for the installation and authorization of accessories. Typically, smart home installations are performed by multiple contractor installers because the types of smart devices can vary. For example, electrician 106 may install smart lights or smart sockets, HVAC technician 108 may install smart thermostats, and security contractor 110 may install various alarm system components. Therefore, different contractors 104 will require access to security credentials to set up the home system. However, it is not ideal for contractor 104 to retain access to the home system after installation is completed. After one or more installations are completed, access may be transferred from contractor 104 to home builder 102 until the home is sold. After the home is completed and sold, home builder 102 may transfer access to the home system to the new homeowner 112. After the transfer to homeowner 112, neither contractor 104 nor home builder 102 should continue to have the right to access or modify the home system.
[0035] Figure 2 This document illustrates use cases for managing smart home configurations according to some exemplary embodiments. The home system may include a home device 202. Home device 202 may include one or more transceivers to enable communication via one or more communication protocols, such as Bluetooth (including Bluetooth Low Energy (BLE)), Thread, Near Field Communication (NFC), Wi-Fi, etc. Home device 202 may include a secure storage device for storing one or more shared secrets. Home device 202 may also include a storage device for storing one or more configurations for accessories in the home system. Home device 202 may also access a cloud storage device for storing one or more home configurations, accessory information 204, and / or one or more security certificates. Accessory information 204 may include the name of the accessory, the location of the accessory, and one or more installation certificates. Accessory information 204 may also include one or more programmable settings for the accessory. Accessory information 204 may include one or more templates for the home to inform installers of the types and locations of various accessories to be installed.
[0036] Installer 206 can receive a security certificate and one or more templates from home device 202 via one of the transceivers. The security certificate can be transmitted to the installer's mobile device and stored in the device's memory. Installer 206 can establish communication with attachments 208-1, 208-2, and 208-3 via wired or wireless protocols (e.g., Bluetooth, Thread, NFC, Wi-Fi, etc.). Although in Figure 2Only three attachments 208-1, 208-2, and 208-3 (depicted as light bulbs) are shown in this document, but the technology disclosed herein is not limited to the number or type of attachments 208-1, 208-2, and 208-3. Installer 206 can wirelessly transmit a security certificate to one or more attachments 208-1, 208-2, and 208-3. One or more attachments 208-1, 208-2, and 208-3 can store the security certificate in the memory of attachments 208-1, 208-2, and 208-3. The security certificate authorizes attachments 208-1, 208-2, and 208-3 to operate within the home ecosystem. Attachments 208-1, 208-2, and 208-3 can transmit attachment information 204 to the installer's mobile device. Attachment information 204 can be temporarily stored in the memory of the mobile device. Attachment information 204 may include the names, identifiers, locations, settings, and one or more configuration settings of attachments 208-1, 208-2, and 208-3. The installer's mobile device may send attachment information 204 to home device 202 via wired or wireless protocols. After installation is complete, attachment information 204 and the security certificate may be deleted from the installer's mobile device's memory.
[0037] After accessories 208-1, 208-2, and 208-3 have been installed and configured, accessory information 204 can be transmitted to the builder's mobile device. Home device 202 can transmit accessory information 204 and security certificates to the builder's mobile device via wired or wireless protocols. The builder can customize one or more installed accessories 208-1, 208-2, and 208-3 to suit his or her preferences. The builder can use the mobile device to control one or more accessories 208-1, 208-2, and 208-3 (e.g., activating lights, adjusting the home's temperature, and unlocking / locking doors). Builder 210 can control one or more accessories 208-1, 208-2, and 208-3 by sending commands to them via one or more wireless communication protocols. The builder can also receive the status of one or more accessories 208-1, 208-2, and 208-3 via one or more wireless communication protocols. In some cases, the builder may provide agency (e.g., real estate agent) control over one or more annexes 208-1, 208-2, and 208-3 to enable the maintenance or display of the residence.
[0038] After transferring ownership of the residence from builder 210 to the new owner, builder 210 can transmit Annex Information 204 and the security certificate to the new owner. After the transmission is complete, Annex Information 204 and the security certificate can be deleted from the builder's mobile device. The new owner can also change the identification code of home device 202. In this way, builder 210 will lose the ability to control or program any of Annexes 208-1, 208-2, and 208-3. The new owner will be able to adjust the settings of Annexes 208-1, 208-2, and 208-3. The new owner will also be able to create temporary identification codes if they rent out the property. In this way, they retain overall control over the system.
[0039] II. Installation process
[0040] Figure 3 A process 300 performed by an installer for managing smart home configurations, according to some exemplary embodiments, is shown.
[0041] The installer can establish communication with the home device 302 via a wireless communication channel 304 using an installer mobile device 306. The secure channel 304 can be established based on the NFC protocol. Alternatively, the secure channel 304 can use other wireless protocols (e.g., Bluetooth, Thread, Wi-Fi, etc.). Using the user interface of an application on the installer mobile device 306, the installer can select the installation mode on the home device 302. In an implementation using the NFC protocol, the installer mobile device can establish communication with the home device 302 by moving within an NFC communication threshold (e.g., less than 4 cm). The home device 302 can establish a secure channel 304 between the home device 302 and the installer mobile device 306. The secure channel 304 can use a second wireless protocol. If the identification code does not match a stored identification code, the application can prompt the user to enter the identification code again. After a preset number of incorrect identification codes have been entered within a predetermined time period, access to the home device 302 can be locked. By using NFC and a PIN, the installer must be within close proximity to the home device 302 and know the security PIN. The requirement for physical ownership of home appliances (302) and the requirement for identification codes provide multiple layers of protection to prevent unauthorized users from accessing the home ecosystem.
[0042] After establishing a secure channel 304, the installer mobile device 306 can receive a home device security certificate from the home device 302. The installer mobile device 306 can verify the home device 302 security certificate via a network (e.g., the Internet). While verifying the home device 302 security certificate, the installer mobile device 306 can send a Certificate Signing Request (CSR) to the home device 302. A CSR is a block of encoded text given to a Certificate Authority (CA) when requesting a certificate to be verified by a CA. It is typically generated on the server where the certificate will be installed and contains information that will be included in the certificate, such as the organization name, common name (domain name), region, and country. It also contains the public key that will be included in the certificate. The private key is typically created at the same time as the CSR, forming a key pair. The Certificate Authority will use the CSR to create the certificate, but it does not need the private key.
[0043] Home device 302 can sign the CSR and send the signed certificate to installer mobile device 306 via secure channel 304. The signed CSR can be stored in the memory of installer mobile device 306.
[0044] Installers can use a signed CSR to set up one or more attachments 308-1, 308-2, and 308-3 for use within a home ecosystem. Installer mobile device 306 can send CA certificates to one or more attachments 308-1, 308-2, and 308-3. The CA certificates for one or more attachments 308-1, 308-2, and 308-3 can be stored in memory. Installers can use their mobile device to pair with one or more attachments 308-1, 308-2, and 308-3. The pairing process can use a protocol that defines security measures to prevent unauthorized controllers from manipulating the attachments. For example, an attachment can be configured to accept only requests from controllers that have previously been paired with and are therefore recognized by that attachment. Establishing a pairing may include securely exchanging long-term public keys between the attachment and the controller, with each device persistently storing these keys. The protocol may specify a pairing setup procedure to mitigate the risk of establishing a pairing without the attachment's owner / operator's approval. For example, during the pairing setup process, a user may be asked to read a setup code presented by one device (e.g., an accessory) and enter that setup code into another device (e.g., a controller), or to place these devices in close physical proximity to each other. Once a pairing is established, it can be used to provide end-to-end message encryption, allowing only the paired controller and accessory to read the messages exchanged between them. For example, when a previously paired accessory and controller reconnect, they can (e.g., by proving that each pair possesses the other's long-term public key) verify the previous pairing and generate a session-specific encryption key. Further details regarding the specific pairing process can be found in U.S. Patent No. 9,979,625, which is incorporated herein by reference.
[0045] Accessories may include any device that can be controlled by the controller. Examples of accessories include lighting fixtures, thermostats, door locks, automatic door openers (e.g., garage door openers), cameras or video cameras, and so on. Accessories and the controller can communicate with each other via wired or wireless channels using standard transmission protocols such as Wi-Fi, Bluetooth, Bluetooth LE, etc. For example, the controller can be implemented on a general-purpose computing device such as a desktop computer, laptop computer, tablet computer, mobile phone, other handheld or wearable computing device by providing suitable executable program code; alternatively, the controller may be a dedicated computing device.
[0046] The controller creates attachment information. For example, the controller (e.g., installer mobile device 306) can retrieve the serial number, but the name and location are created by the installer on the controller. This information is not sent to one or more attachments 308-1, 308-2, and 308-3. Attachment information 310 can be stored in the memory of installer mobile device 306. The installer can complete the process of authorizing one or more attachments 308-1, 308-2, and 308-3. After authorizing the last attachment, the installer mobile device can send attachment information 310 to home device 302. Home device 302 can store attachment information 310 in its memory. Attachment information 310, the CA certificate, and the signed CSR can be deleted from installer mobile device 306.
[0047] In various implementations, the certificate signed by the installer may expire after a predetermined number of hours from the date the certificate is received from home device 302. Home device 302 may also include a three-dimensional (3D) map of the house or building. In various implementations, the builder or contractor may scan the house or building and store the 3D map in home device 302. Home device 302 may include vendor-specific data that may be meaningful only to certain controllers (e.g., home network automation).
[0048] III. Builder Process
[0049] Figure 4 A process 400 performed by the builder for managing smart home configurations, according to some exemplary embodiments, is shown.
[0050] The builder can establish communication with home device 402 via secure channel 404. Secure channel 404 can use the NFC protocol. The builder can choose the installation mode on home device 402. In an implementation using the NFC protocol, the builder's mobile device 406 can establish communication with home device 402 by moving the builder's mobile device 406 within an NFC communication threshold (e.g., less than 4 cm). Communication established between home device 402 and builder's mobile device 406 may prompt the builder to enter an identification code (e.g., a PIN) using the user interface of an application associated with home device 402 on the builder's mobile device 406. The builder's mobile device 406 can send the entered identification code to home device 402. If the identification code matches a stored identification code, home device 402 can establish a secure channel between home device 402 and builder's mobile device 406. Secure channel 404 can use a second wireless protocol (e.g., Bluetooth, Thread, Wi-Fi, etc.). If the identification code does not match a stored identification code, the application may prompt the user to enter the identification code again. Access to home device 402 can be locked after a predetermined number of incorrect identification codes have been entered within a pre-defined time period. By using NFC and a PIN, the builder must be within close proximity to the home device and know the secure PIN. This provides an additional layer of protection to prevent unauthorized users from gaining access to the system.
[0051] After establishing a secure channel 404, the builder mobile device 406 can receive a home device security certificate from the home device 402. The builder mobile device 406 can verify the home device security certificate via a network (e.g., the Internet). In verifying the home device security certificate, the builder mobile device 406 can send a Certificate Signing Request (CSR) to the home device 402.
[0052] Home device 402 can sign a certificate and send the signed certificate to builder mobile device 406 via secure channel 404. The signed certificate can be stored in the memory of builder mobile device 406.
[0053] Home device 402 can transmit accessory information 410 to builder mobile device 406. Accessory information 410 can be stored in the memory of builder mobile device 406. The builder can import accessory information 410 into a mobile application for controlling one or more accessories 408-1, 408-2, and 408-3. The builder can customize the operation of accessories 408-1, 408-2, and 408-3 according to the protocols used for accessories 408-1, 408-2, and 408-3. The builder can control one or more accessories 408-1, 408-2, and 408-3 using the user interface on builder mobile device 406. Builder mobile device 406 sends modified accessory information 410 to be stored in home device 402.
[0054] IV. Ownership Process
[0055] Figure 5 A process 500 for managing smart home configurations, performed by a new owner / buyer, is shown according to some exemplary embodiments.
[0056] The new owner / buyer (“owner”) can establish communication with home device 502 via secure channel 504. Secure channel 504 can use the NFC protocol. The owner can choose the installation mode on home device 502. In an implementation using the NFC protocol, the owner's mobile device 506 can establish communication with the home device by moving the device within an NFC communication threshold (e.g., less than 4 cm). Communication established between home device 502 and owner's mobile device 506 may prompt the owner to enter an identification code using the user interface of an application associated with home device 502 on owner's mobile device 506. Owner's mobile device 506 may send the entered identification code to home device 502. If the identification code matches a stored identification code, home device 502 can establish secure channel 504 between home device 502 and owner's mobile device 506. Secure channel 504 can use a second wireless protocol (e.g., Bluetooth, Thread, Wi-Fi). If the identification code does not match a stored identification code, the application may prompt the user to enter the identification code again. Access to home device 502 can be locked after a predetermined number of incorrect identification codes have been entered within a pre-defined time period. By using NFC and a PIN, the owner must be within close proximity to home device 502 and know the security PIN. This provides an additional layer of protection to prevent unauthorized users from gaining access to the home ecosystem. In some implementations, the owner who enters the correct identification code can disable the installation mode on home device 502.
[0057] After establishing a secure channel 504, the owner mobile device 506 can receive the home device security certificate from the home device 502. The owner mobile device 506 can verify the home device 502 security certificate via a network (e.g., the Internet). In verifying the home device 502 security certificate, the owner mobile device 506 can send a Certificate Signing Request (CSR) to the home device 502.
[0058] Home device 502 can sign the CSR and send the signed certificate to owner mobile device 506 via a secure channel. The signed certificate can be stored in the memory of owner mobile device 506.
[0059] Home device 502 can transmit accessory information 510 to owner mobile device 506. Accessory information 510 can be stored in the memory of owner mobile device 506. The owner can import the accessories into a mobile application for controlling one or more accessories 508-1, 508-2, and 508-3. The owner can customize the operation of one or more accessories 508-1, 508-2, and 508-3 according to the protocols used for one or more accessories 508-1, 508-2, and 508-3. The owner can control one or more accessories 508-1, 508-2, and 508-3 using the user interface on owner mobile device 506.
[0060] Figure 6 A simplified diagram of an ecosystem 600 for managing smart home configurations according to some exemplary embodiments is shown. Ecosystem 600 may include a controller 602, home devices 604, a resident controller 606, one or more accessories 608, and a network hub 610.
[0061] Ecosystem 600 may include controller device 602. Controller device 602 may include mobile devices (e.g., smartphones). Controller device 602 may also include wearable devices (e.g., smartwatches, smart glasses), tablets, laptops, or desktop computers. Controller device 602 may communicate with home device 604 via wireless protocols (e.g., NFC, Bluetooth, Thread, or Wi-Fi). In some embodiments, controller device 602 may communicate with home device 604 via wired protocols. Controller device 602 may communicate with one or more accessories 608-1, 608-2, and 608-3 via wireless protocols (e.g., NFC, Bluetooth, Thread, or Wi-Fi). Controller device 602 may also communicate with home controller 606 via wireless protocols (e.g., NFC, Bluetooth, Thread, or Wi-Fi). Home controller 606 may control one or more home devices, including home entertainment devices or smart speaker systems. Controller device 602 may include any of the installer mobile device 306, builder mobile device 406, or owner mobile device 506 discussed above. Additional details regarding controller device 602 are discussed in Section VIII below.
[0062] The home controller 606 can also communicate with one or more accessories 608-1, 608-2, and 608-3 via wireless protocols (e.g., NFC, Bluetooth, Thread, or Wi-Fi). The home controller 606 can also communicate with the network hub 610 via wired or wireless protocols (Bluetooth, Thread, or Wi-Fi, etc.). The network hub 610 connects the home ecosystem 600 to a network (e.g., the Internet).
[0063] V. Processes for managing smart home configurations using mobile devices
[0064] Figure 7 A flowchart is shown for a technology for managing smart home configurations by mobile devices, according to some exemplary embodiments.
[0065] Figure 7 This is a flowchart of an exemplary process 700 for managing smart home configurations. In some specific implementations, Figure 7 One or more process frames can be executed by a mobile device. In some specific implementations, Figure 7 One or more process frames can be executed by another device or group of devices that are separate from or include the mobile device.
[0066] At 710, process 700 may include identifying home devices using a first wireless protocol. For example, a mobile device (e.g., using a wireless protocol such as...) Figure 11The processor 1118, computer-readable medium 1102, application program 1128, wireless circuit 1108, I / O subsystem 1106, etc., shown and described below, may use a first wireless protocol to identify home devices, as described above. The first wireless protocol may include NFC, Bluetooth, Threading, or Wi-Fi.
[0067] At 720, process 700 may include enabling a secure channel between home devices and mobile devices via a second wireless protocol. For example, the mobile device (e.g., using a...) Figure 11 The processor 1118, computer-readable medium 1102, application program 1128, wireless circuit 1108, I / O subsystem 1106, etc., shown and described below, may enable a secure channel between home devices and mobile devices via a second wireless protocol, as described above. The second wireless protocol may include NFC, Bluetooth, Threading, or Wi-Fi.
[0068] At 730, process 700 may include authenticating access to a mobile device using an identification code. For example, a mobile device (e.g., using a device such as...) Figure 11 The processor 1118, computer-readable medium 1102, application program 1128, wireless circuit 1108, I / O subsystem 1106, etc., shown and described below, can use an identification code to authenticate access to the mobile device, as described above. The identification code may include a PIN code. A PIN code can be a combination of alphanumeric characters and can vary in length. The identification code can be changed from a preset code assigned to the home device by the manufacturer.
[0069] In some implementations, process 700 may include verifying the home device certificate via a security server. For example, a mobile device (e.g., using a device like...) Figure 11 The processor 1118, computer-readable medium 1102, application program 1128, wireless circuit 1108, I / O subsystem 1106, etc., shown and described below, can verify the home device certificate via a security server, as described above. Verifying the home device certificate may include sending the home device certificate to the security server via a function of an application on the mobile device. The security server can verify that the home device certificate is valid. If the security server determines that the home device certificate is valid, the security server may send a message back to the mobile device.
[0070] At point 740, process 700 may include sending a mobile device certificate signing request to the home device via a secure channel. For example, the mobile device (e.g., using a device like...) Figure 11The processor 1118, computer-readable medium 1102, application program 1128, wireless circuit 1108, I / O subsystem 1106, etc., shown and described below, can send a mobile device certificate to a home device via a secure channel, as described above. The mobile device certificate can be generated by an application in the mobile device. The mobile device certificate can be sent via a wireless protocol (NFC, Bluetooth, Thread, or Wi-Fi). The home device can execute a certificate signing request and return the signed certificate to the mobile device.
[0071] At 750, process 700 may include receiving a signed mobile device certificate from a home device via a secure channel. For example, the mobile device (e.g., using...) Figure 11 The processor 1118, computer-readable medium 1102, application program 1128, wireless circuit 1108, I / O subsystem 1106, etc., shown and described below, can receive a signed mobile device certificate from a home device via a secure channel, as described above. The home device can sign the mobile device certificate and transmit the signed certificate to the mobile device via a secure channel.
[0072] At 760, process 700 may include receiving accessory information corresponding to one or more accessory devices from a home device via a secure channel, the mobile device being configured to connect to one or more accessory devices. For example, the mobile device (e.g., using...) Figure 11 The processor 1118, computer-readable medium 1102, application program 1128, wireless circuit 1108, I / O subsystem 1106, etc., shown and described below, can receive accessory information corresponding to one or more accessory devices from a home device via a secure channel. The mobile device is configured to connect to one or more accessory devices, as described above. The mobile device can receive accessory information corresponding to one or more accessory devices via a secure channel using a wireless protocol (NFC, Bluetooth, Thread, or Wi-Fi).
[0073] Process 700 may include additional embodiments, such as any single embodiment or any combination of embodiments described below and / or in conjunction with one or more other processes described elsewhere herein. It should be understood that... Figure 7 The specific steps illustrated provide specific techniques for managing smart home configurations according to various implementation schemes. Other sequences of steps may also be performed according to alternative implementation schemes. For example, alternative implementation schemes may perform the steps briefly described above in a different order. Furthermore, Figure 7 The individual steps shown may include multiple sub-steps, which may be performed in various sequences suitable for the individual steps. Furthermore, depending on the specific application, additional steps may be added or removed. Those skilled in the art will recognize that many variations, modifications, and alternative forms exist.
[0074] In some implementations, the mobile device includes a graphical user interface for receiving one or more inputs to adjust settings of one or more accessory devices. The mobile device may also include a touchscreen display for receiving one or more inputs to adjust or customize accessory settings.
[0075] In some implementations, mobile devices are configured to update one or more accessory devices with the device ecosystem associated with the mobile device. The mobile device may transmit security certificates to authorize one or more accessories to operate in a secure environment.
[0076] In some implementations, the primary wireless protocol is Near Field Communication (NFC). For NFC, the mobile device needs to be within close proximity to the home device (e.g., less than 4 cm) to receive NFC signals.
[0077] In some implementations, process 700 includes sending a signed mobile device certificate to one or more accessory devices via a first wireless protocol to enter a setup mode; receiving one or more inputs via the mobile device specifying configuration for the accessory device; and sending the configuration for the accessory device to a home device via a second wireless protocol.
[0078] In some specific implementations, the second wireless protocol is Bluetooth Low Energy.
[0079] In some implementations, attachment information includes at least one of the following: attachment identifier, attachment capabilities, or current attachment settings.
[0080] although Figure 7 Exemplary steps of process 700 are shown, but in some specific implementations, they differ from those in the standard implementation. Figure 7 Compared to the steps described, process 700 may include additional steps, fewer steps, different steps, or steps arranged differently. Additionally or alternatively, two or more of the steps in process 700 may be performed in parallel.
[0081] VI. Processes for managing smart home configurations using home devices
[0082] Figure 8 A flowchart is shown for a technology for managing smart home configurations by home devices, according to some exemplary embodiments. Figure 8 This is a flowchart of an exemplary process 800 for managing smart home configurations. In some specific implementations, Figure 8 One or more process frames can be executed by a computer device. In some specific implementations, Figure 8 One or more process frames may be executed by another device or group of devices that are separate from or include the computer device.
[0083] At point 805, process 800 may include using a secure element to implement an installation mode for adding accessory devices to the physical environment. For example, a computer device (e.g., using a...) Figure 11 The processor 1118, computer-readable medium 1102, application program 1128, wireless circuit 1108, I / O subsystem 1106, etc., shown and described below, can implement an installation mode for adding accessory devices to the physical environment via a secure element, as described above. The secure element can store one or more CA certificates in the memory of the home device. The installation mode allows installers, builders, or owners to modify (add or remove) one or more accessories from the home ecosystem.
[0084] At 810, process 800 may include, when in installation mode: receiving first device information from a first device via a first wireless protocol. For example, a computer device (e.g., using...) Figure 11 The processor 1118, computer-readable medium 1102, application program 1128, wireless circuit 1108, I / O subsystem 1106, etc., shown and described below, may simultaneously be in installation mode, as described above. The first wireless protocol may include NFC, Bluetooth, Threading, or Wi-Fi. The first device may include one of an installer's mobile device, a builder's mobile device, or an owner's mobile device. The first device information may include an identifier (e.g., IMEI number) of one of the installer's mobile device, the builder's mobile device, or the owner's mobile device.
[0085] At point 815, process 800 may include establishing a first secure channel with the first device based on the receipt of first device information. For example, a computer device (e.g., using...) Figure 11 The processor 1118, computer-readable medium 1102, application program 1128, wireless circuit 1108, I / O subsystem 1106, etc., shown and described below, can establish a first secure channel with the first device based on the receipt of first device information, as described above. The secure channel can use a wireless protocol using NFC, Bluetooth, Thread, or Wi-Fi. The first device information may include one of an installer's mobile device certificate, a builder's equipment certificate, or an owner's equipment certificate.
[0086] At point 820, process 800 may include receiving accessory information corresponding to an accessory device to be added to the physical environment via a first secure channel. For example, a computer device (e.g., using...) Figure 11 The processor 1118, computer-readable medium 1102, application program 1128, wireless circuit 1108, I / O subsystem 1106, etc. shown and described below can receive accessory information corresponding to the accessory device to be added to the physical environment via a first secure channel, as described above.
[0087] At point 825, process 800 may include storing accessory information corresponding to the accessory device. For example, a computer device (e.g., using...) Figure 11 The processor 1118, computer-readable medium 1102, application program 1128, wireless circuit 1108, I / O subsystem 1106, etc. shown and described below can store accessory information corresponding to the accessory device, as described above.
[0088] At 830, process 800 may include receiving second device information from the second device. For example, a computer device (e.g., using...) Figure 11 The processor 1118, computer-readable medium 1102, application program 1128, wireless circuit 1108, I / O subsystem 1106, etc. shown and described below can receive second device information from the second device, as described above.
[0089] At point 835, process 800 may include establishing a second secure channel with the second device based on the receipt of second device information. For example, a computer device (e.g., using...) Figure 11 The processor 1118, computer-readable medium 1102, application program 1128, wireless circuit 1108, I / O subsystem 1106, etc. shown and described below can establish a second secure channel with the second device based on the reception of the second device information, as described above.
[0090] At point 840, process 800 may include transmitting accessory information corresponding to the accessory device to the second device. For example, a computer device (e.g., using...) Figure 11 The processor 1118, computer-readable medium 1102, application program 1128, wireless circuit 1108, I / O subsystem 1106, etc., shown and described below, can transmit accessory information corresponding to the accessory device to the second device, as described above. The accessory information 204 may include the accessory's name, identification number, location, setting information, and one or more configuration settings.
[0091] At point 845, process 800 may include terminating the installation mode. For example, a computer device (e.g., using...) Figure 11 The processor 1118, computer-readable medium 1102, application program 1128, wireless circuit 1108, I / O subsystem 1106, etc. shown and described below can terminate the installation mode, as described above.
[0092] Process 800 may include additional embodiments, such as any single embodiment or combination of embodiments described below and / or in conjunction with one or more other processes described elsewhere herein. It should be understood that... Figure 8The specific steps illustrated provide specific techniques for managing smart home configurations according to various implementation schemes. Other sequences of steps may also be performed according to alternative implementation schemes. For example, alternative implementation schemes may perform the steps briefly described above in a different order. Furthermore, Figure 8 The individual steps shown may include multiple sub-steps, which may be executed in various sequences suitable for the individual steps. Furthermore, depending on the specific application, additional steps may be added or removed. Those skilled in the art will recognize that many variations, modifications, and alternative forms exist.
[0093] In some implementations, the first device is configured to pair with an accessory device and configure the accessory device using a computing device ecosystem associated with the computing device.
[0094] In some implementations, the second device is configured to connect to the accessory device, update the accessory device with the second device ecosystem associated with the second device, and configure the settings of the accessory device.
[0095] In some implementations, the third device is configured to connect to the accessory device and update the accessory device with the third device ecosystem associated with the third device.
[0096] In some specific implementations, process 800 includes verifying the personal identification number (PIN) of the second device received via the second secure channel by the computing device before transmitting attachment information to the second device; and verifying the PIN of the second device when signing and verifying the second certificate of the computing device on the second certificate of the second device using the second secure element.
[0097] In some implementations, process 800 includes the computing device verifying the third device's Personal Identifier (PIN) received via a third secure channel before transmitting attachment information to the third device; and verifying the third device's PIN when signing the third certificate of the third device using a third secure element and verifying the computing device's third certificate.
[0098] In some implementations, the accessory information includes templates depicting the placement of one or more accessory devices.
[0099] although Figure 8 Exemplary steps of process 800 are shown, but in some specific implementations, they differ from those in the standard implementation. Figure 8 Compared to the steps described, process 800 may include additional steps, fewer steps, different steps, or steps arranged differently. Additionally or alternatively, two or more of the steps in process 800 may be performed in parallel.
[0100] Figure 9 A flowchart is shown for a technology for managing smart home configurations by home devices, according to some exemplary embodiments. Figure 9 A flowchart is shown for a technology for managing smart home configurations by home devices, according to some exemplary embodiments. Figure 9 This is a flowchart of an exemplary process 900 for managing smart home configurations. In some specific implementations, Figure 9 One or more process frames can be executed by a computer device. In some specific implementations, Figure 9 One or more process frames may be executed by another device or group of devices that are separate from or include the computer device. Process 900 may continue the process 800 described above.
[0101] At 950, process 900 may include, when the installation mode is off: receiving third-device information from a third device. For example, a computer device (e.g., using...) Figure 11 The processor 1118, computer-readable medium 1102, application program 1128, wireless circuit 1108, I / O subsystem 1106, etc. shown and described below can be operated when the installation mode is off, as described above.
[0102] At 955, process 900 may include establishing a third secure channel with the third device based on the receipt of third device information. For example, a computer device (e.g., using...) Figure 11 The processor 1118, computer-readable medium 1102, application program 1128, wireless circuit 1108, I / O subsystem 1106, etc. shown and described below can establish a third secure channel with the third device based on the reception of information from the third device, as described above.
[0103] At 960, process 900 may include transmitting accessory information corresponding to the accessory device to a third device. For example, a computer device (e.g., using...) Figure 11 The processor 1118, computer-readable medium 1102, application program 1128, wireless circuit 1108, I / O subsystem 1106, etc. shown and described below can transmit accessory information corresponding to the accessory device to a third device, as described above.
[0104] At 965, process 900 may include sending control instructions to an accessory device to control that accessory device. For example, a computer device (e.g., using...) Figure 11 The processor 1118, computer-readable medium 1102, application program 1128, wireless circuit 1108, I / O subsystem 1106, etc. shown and described below can send control commands to the accessory device to control the accessory device, as described above.
[0105] Process 900 may include additional embodiments, such as any single embodiment or any combination of embodiments described below and / or in conjunction with one or more other processes described elsewhere herein. It should be understood that... Figure 9 The specific steps illustrated provide specific techniques for managing smart home configurations according to various implementation schemes. Other sequences of steps may also be performed according to alternative implementation schemes. For example, alternative implementation schemes may perform the steps briefly described above in a different order. Furthermore, Figure 9 The individual steps shown may include multiple sub-steps, which may be executed in various sequences suitable for the individual steps. Furthermore, depending on the specific application, additional steps may be added or removed. Those skilled in the art will recognize that many variations, modifications, and alternative forms exist.
[0106] In some implementations, the first device is configured to pair with an accessory device and configure the accessory device using a computing device ecosystem associated with the computing device.
[0107] In some implementations, the second device is configured to connect to the accessory device, update the accessory device with the second device ecosystem associated with the second device, and configure the settings of the accessory device.
[0108] In some implementations, the third device is configured to connect to the accessory device and update the accessory device with the third device ecosystem associated with the third device.
[0109] In some implementations, process 900 includes verifying the personal identification number (PIN) of the second device received via the second secure channel by the computing device before transmitting attachment information to the second device; and verifying the PIN of the second device when signing and verifying the second certificate of the computing device on the second certificate of the second device using the second secure element.
[0110] In some implementations, process 900 includes the computing device verifying the third device's Personal Identifier (PIN) received via a third secure channel before transmitting attachment information to the third device; and verifying the third device's PIN when signing the third certificate of the third device using a third secure element and verifying the computing device's third certificate.
[0111] In some implementations, the accessory information includes templates depicting the placement of one or more accessory devices.
[0112] although Figure 9 Exemplary steps of process 900 are shown, but in some specific implementations, they differ from those in the standard implementation. Figure 9 Compared to the steps described, process 900 may include additional steps, fewer steps, different steps, or steps arranged differently. Additionally or alternatively, two or more of the steps in process 900 may be performed in parallel.
[0113] VII. Exemplary Home Devices
[0114] Figure 10 A simplified block diagram of a home device 1000 for managing smart home configurations according to some exemplary embodiments is shown. The home device 1000 may include a power supply 1002, a processor 1004, one or more transceivers, and a memory 1006. The home device 1000 may also include a security element 1008 for storing one or more security certificates. The one or more transceivers may include an NFC transceiver 1010, a Threaded Radio 1012, Bluetooth (e.g., BLE) 1014, and Wi-Fi 1016. The home device 1000 may include a bus 1018 for data communication between the various components of the home device 1000.
[0115] The Home Device 1000 may include a factory-installed PIN code. The PIN code can be changed after purchase. Alternatively, a temporary PIN code can be created. The Home Device 1000 supports hardware authentication with a device certificate. This certificate can be verified against a public CA (e.g., a ZigBee group). The Home Device 1000 generates a new root key each time it is factory reset.
[0116] The Home Device 1000 supports the Internet Protocol-based Home Connectivity (CHIP) project as a CHIP attachment that can be added to one or more ecosystems. The Home Device 1000 can store an attachment list based on the home ecosystem. The Home Device 1000 can list attachments, add attachments, remove attachments, obtain a Home Device Public Certificate, a signing certificate, generate a PIN code, enable installation mode (restricted), and disable installation mode.
[0117] Home Device 1000 can be added to an existing home during renovations. Homeowners can add Home Device 1000 to other home networks (e.g., HomeKit). Home network apps can query Home Device 1000 for its CA (Certificate Authority) to authenticate it. Home network apps can put one or more accessories into setup mode. Home network apps can use Home Device 1000's CA to configure one or more accessories. Home network apps can store accessory metadata in Home Device 1000.
[0118] The Home Appliance 1000 can be configured with one or more rules that determine which accessories an installer can access and what operations are permitted. By default, the installation mode is set to allow all accessories and all possible actions (e.g., installing or removing accessories).
[0119] Home Appliance 1000 can create certificates for installers and set target attachments. The certificate provides a list of permitted operations.
[0120] Home device 1000 can store a 3D map of the residence in its memory 1006. The 3D map provides detailed micro-location of one or more attachments. The 3D map can be created by the residence builder. Installers can use their mobile installation equipment to scan the residence and store it in home device 1000.
[0121] Nest Radio 1012 is an IPv6-based low-power mesh networking technology for IoT products, designed to be secure and not obsolete. Thread uses 6LoWPAN, which in turn uses the IEEE 802.15.4 wireless protocol with mesh communication, similar to ZigBee and other systems. However, Thread is IP addressable, with cloud access and AES encryption. A BSD-licensed open-source implementation of Thread (called "OpenThread") has also been released by Nest. Built on open standards and using the IPv6 / 6LoWPAN protocol, Thread's wireless networking approach provides secure and reliable mesh networking without single points of failure and supports low-power end devices. Because it utilizes mesh networking, it does not require a central access point as is the case with Wi-Fi.
[0122] In some implementations, the home device 1000 may communicate with one or more accessories via a threaded radio device 1012. The threaded radio 1012 is both low-power and low-bandwidth.
[0123] The secure element 1008 may be made of silicon with a very difficult-to-extract key embedded within it. Using sophisticated silicon, the key is virtually impossible to extract. The secure element 1008 may include a block fuse that renders the device unusable if it is physically tampered with.
[0124] VIII. Exemplary Mobile Devices
[0125] Figure 11 A block diagram of an exemplary mobile device according to some implementation schemes is shown. Figure 11This is a block diagram of an exemplary electronic device 1100. Device 1100 typically includes a computer-readable medium 1102, a processing system 1104, an input / output (I / O) subsystem 1106, wireless circuitry 1108, and audio circuitry 1110 including a speaker 1112 and a microphone 1114. The computer-readable medium 1102 may be a non-transitory computer-readable medium. These components may be coupled via one or more communication buses or signal lines 1103. Device 1100 may be any portable electronic device, including handheld computers, tablets, mobile phones, laptops, tablet devices, media players, personal digital assistants (PDAs), keychains, car keys, access cards, multifunction devices, mobile phones, portable gaming devices, etc., including combinations of two or more of these items. Device 1100 may correspond to a controller device or accessory device.
[0126] Obviously, Figure 11 The architecture shown is only an example of the architecture of device 1100, and device 1100 may have more or fewer parts or different configurations of parts than shown in the figure. Figure 11 The various components shown can be implemented in hardware, software, or a combination of both, and include one or more signal processing circuits and / or application-specific integrated circuits.
[0127] Wireless circuit 1108 is a conventional circuit used to send and receive information to one or more other devices via a wireless link or network, such as an antenna system, radio frequency (RF) transceiver, one or more amplifiers, tuners, one or more oscillators, digital signal processors, CODEC chipsets, memory, etc. In some implementations, wireless circuit 1108 is capable of establishing and maintaining communication with other devices using one or more communication protocols, including Time Division Multiple Access (TDMA), Code Division Multiple Access (CDMA), Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), Wideband Code Division Multiple Access (W-CDMA), Long Term Evolution (LTE), LTE-Advanced, Wi-Fi (such as IEEE 802.11a, IEEE 802.11b, IEEE 802.11g and / or IEEE 802.11n), Bluetooth, Wi-MAX, Voice over Internet Protocol (VoIP), Near Field Communication (NFC), protocols for email, instant messaging and / or Short Message Service (SMS), or any other suitable communication protocol, including those not yet developed as of the date of this submission. Mobile devices may include wireless circuits capable of communicating over several different types of wireless networks, depending on the range required for communication. For example, short-range wireless transceivers (e.g., Bluetooth), mid-range wireless transceivers (e.g., Wi-Fi), and / or long-range wireless transceivers (e.g., GSM / GPRS, UMTS, CDMA2000 1x / EV-DO, and LTE / LTE-Advanced) may be used depending on the type of communication or the range of communication.
[0128] Wireless circuit 1108 is coupled to processing system 1104 via peripheral device interface 1116. Peripheral device interface 1116 may include conventional components for establishing and maintaining communication between peripheral devices and processing system 1104. Voice and data information received via wireless circuit 1108 (e.g., in voice recognition or voice command applications) is transmitted via peripheral device interface 1116 to one or more processors 1118. The one or more processors 1118 may be configured to process various data formats.
[0129] Peripheral interface 1116 couples the input and output peripherals of device 1100 to one or more processors 1118 and computer-readable medium 1102. One or more processors 1118 communicate with computer-readable medium 1102 via controller 1120. Computer-readable medium 1102 can be any device or medium capable of storing code and / or data for use by one or more processors 1118. Computer-readable medium 1102 may include a memory hierarchy, including cache, main memory, and secondary memory. The memory hierarchy can be implemented using any combination of RAM (e.g., SRAM, DRAM, DDRAM), ROM, flash memory, magnetic storage devices, and / or optical storage devices (e.g., disk drives, magnetic tape, CDs (optical discs), and DVDs (digital video discs)). In some embodiments, peripheral interface 1116, one or more processors 1118, and controller 1120 may be implemented on a single chip, such as processing system 1104. In some other examples, they may be implemented on separate chips.
[0130] Processor 1118 may include hardware and / or software elements that perform one or more processing functions, such as mathematical operations, logical operations, data manipulation operations, data transmission operations, control of receiving user input, control of outputting information to the user, etc. Processor 1118 may be embodied as one or more hardware processors, microprocessors, microcontrollers, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), etc.
[0131] Device 1100 may also include a power system 1142 for supplying power to various hardware components. Power system 1142 may include a power management system, one or more power sources (e.g., batteries, alternating current (AC)), a recharging system, power fault detection circuitry, a power converter or inverter, power status indicators (e.g., light-emitting diodes (LEDs)), and any other components typically associated with the generation, management, and distribution of power in mobile devices.
[0132] In some embodiments, device 1100 includes a camera 1144. In some embodiments, device 1100 includes a sensor 1146. The sensor may include an accelerometer, compass, gyroscope, pressure sensor, audio sensor, light sensor, barometer, etc. Sensor 1146 may be used to sense location aspects, such as auditory or optical markers of location. In some embodiments, device 1100 may include a GPS receiver, sometimes referred to as GPS unit 1148. Mobile devices may use satellite navigation systems such as the Global Positioning System (GPS) to obtain location information, timing information, altitude, or other navigation information. In some embodiments, device 1100 may include an external port 1136 (e.g., USB, FireWire, Lightning connector, 110-pin connector, etc.). External port 1136 may be adapted to be directly coupled to other devices or indirectly coupled via a network (e.g., Internet, wireless LAN, etc.).
[0133] One or more processors 1118 run various software components stored in computer-readable medium 1102 to perform various functions of device 1100. In some embodiments, the software components include an operating system 1122, a communication module 1124 (or instruction set), a position and motion module 1126, other applications (computer products, instruction sets, etc.) 1128, and a haptic feedback module 1130 and a mixed-shape input module 1132. The operating system 1122 can be any suitable operating system, including iOS, Mac OS, Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS, or embedded operating systems such as VxWorks. The operating system may include various programs, instruction sets, software components, and / or drivers for controlling and managing general system tasks (e.g., memory management, storage device control, power management, etc.) and facilitating communication between various hardware and software components.
[0134] The communication module 1124 facilitates communication with other devices via external port 1136 or via wireless circuit 1108, and includes various software components for processing data received from wireless circuit 1108 and / or external port 1136.
[0135] One or more applications 1134 on device 1100 may include any application installed on device 1100, including but not limited to browsers, address books, contact lists, email, instant messaging, social networks, word processing, keyboard emulation, widgets, JAVA-enabled applications, encryption, digital rights management, speech recognition, speech copying, music players (playback of recorded music stored in one or more files such as MP3 or AAC files), and so on.
[0136] Status information 1132 may include power status or operating modes collected by one or more components of device 1100. Status information 1132 may also include power status or operating modes of components of other devices obtained by device 1100. As a mobile or accompanying device, device 1100 may generate local and remote status information in status information 1138. Device 1100 (e.g., using wireless circuit 1108) may use status information 1132 to locally manage operation in order to reduce power consumption. Device 1100 may synchronize all or part of the local status information in status information 1132 with other devices. Other devices may delay sending messages to device 1100, thereby allowing processor 1118 to remain in a sleep state, thereby further reducing power consumption.
[0137] Other modules or instruction sets (not shown) may exist, such as graphics modules, time modules, etc. For example, a graphics module may include various conventional software components for rendering, animate, and displaying graphical objects (including but not limited to text, web pages, icons, digital images, animations, etc.) on the display surface. In another example, a timer module may be a software timer. Timer modules may also be implemented in hardware. A time module may maintain various timers for any number of events.
[0138] I / O subsystem 1106 may be coupled to a display system (not shown), which may be a touch-sensitive display. The display presents visual output to the user in a GUI. The visual output may include text, graphics, video, and any combination thereof. Some or all of the visual output may correspond to user interface objects. Although the display may use LED (light-emitting diode) technology, LCD (liquid crystal display) technology, or light-emitting polymer display (LPD) technology, other display technologies may be used in other embodiments.
[0139] In some embodiments, the I / O subsystem 1106 may include a display and user input devices such as a keyboard, mouse, and / or touchpad. In some embodiments, the I / O subsystem 1106 may include a touch-sensitive display. The touch-sensitive display may also accept input from a user based at least in part on tactile and / or haptic contact. In some embodiments, the touch-sensitive display forms a touch-sensitive surface for accepting user input. The touch-sensitive display / surface (along with any associated modules and / or instruction set in the computer-readable medium 1102) detects contact (and any movement or release of contact) on the touch-sensitive display and translates the detected contact into an interaction with a user interface object, such as one or more soft keys displayed on the touchscreen when the contact occurs. In some embodiments, the contact point between the touch-sensitive display and the user corresponds to one or more of the user's fingers. The user may use any suitable object or accessory, such as a stylus, pen, or finger, to contact the touch-sensitive display. The surface of a touch-sensitive display can use any suitable touch-sensitive technology to detect contact and any movement or release. These technologies include capacitive technology, resistive technology, infrared technology, surface acoustic wave technology, and other proximity sensor arrays or other elements used to determine one or more points of contact with the touch-sensitive display.
[0140] In addition, the I / O subsystem 1106 may be coupled to one or more other physical control devices (not shown), such as buttons, keys, switches, joysticks, dial pads, slide switches, joysticks, LEDs, etc., for controlling or performing various functions, such as power control, speaker volume control, telephone ring volume, keypad input, scrolling, holding, menus, screen locking, clearing, and ending communication. In some embodiments, in addition to a touchscreen, the device 1100 may include a touchpad (not shown) for activating or deactivating specific functions. In some embodiments, the touchpad is a touch-sensitive area of the device that, unlike a touchscreen, does not display visual output. The touchpad may be a separate touch-sensitive surface from the touch-sensitive display, or an extension of the touch-sensitive surface formed by the touch-sensitive display.
[0141] The preceding description may refer to specific examples of mobile devices (e.g., wrist-worn devices) and / or accompanying devices (e.g., smartphones). It should be understood that these examples are illustrative and not limiting; other devices may be substituted and similar functional blocks and / or algorithms may be implemented to perform the operations and / or other operations described herein.
[0142] The embodiments described herein, such as methods, apparatuses, computer-readable media, etc., can be implemented using any combination of dedicated components and / or programmable processors and / or other programmable devices. The various processes described herein can be implemented on the same or different processors in any combination. As used herein, a processor includes a single-core processor on the same integrated chip, a multi-core processor, or multiple processing units on a single circuit board or network. Where components are described as being configured to perform certain operations, such configurations can be implemented, for example, by designing electronic circuits to perform operations, by programming programmable electronic circuits (such as microprocessors) to perform operations, or any combination thereof. Furthermore, while the above embodiments may refer to specific hardware and software components, those skilled in the art will understand that different combinations of hardware and / or software components can also be used, and specific operations described as being implemented in hardware may also be implemented in software, and vice versa.
[0143] Computer programs incorporating the various features of this disclosure can be encoded on a variety of computer-readable storage media; suitable media include magnetic disks or magnetic tapes, optical storage media such as optical discs (CDs) or DVDs (Digital Universal Optical Discs), flash memory, etc. Computer-readable storage media encoding program code can be packaged with compatible devices or provided separately from other devices. Furthermore, program code can be encoded and transmitted via wired optical and / or wireless networks (including the Internet) conforming to various protocols, thereby allowing distribution, for example, via download over the Internet. Any such computer-readable medium can be present or located within a single computer product (e.g., a hard disk drive, CD, or an entire computer system) and can be present or located within different computer products within a system or network. A computer system may include a monitor, printer, or other suitable display for providing any results mentioned herein to a user.
[0144] While specific exemplary embodiments have been described, various modifications, alterations, alternative constructions, and equivalents are also covered within the scope of this disclosure. The embodiments are not limited to operating within certain specific data processing environments, but are freely operable within multiple data processing environments. Furthermore, although the embodiments have been described using a specific series of transactions and steps, it will be apparent to those skilled in the art that the scope of this disclosure is not limited to said series of transactions and steps. Various features and aspects of the above embodiments can be used individually or in combination.
[0145] As described above, one aspect of this technology involves collecting and using data from specific and legitimate sources to improve the delivery of inspirational or other content that may be of interest to users when updating firmware. This disclosure envisions that, in some instances, the collected data may include personal information data that uniquely identifies or can be used to identify a specific person. Such personal information data may include demographic data, location-based data, online identifiers, 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, and exercise information), date of birth, or any other personal information.
[0146] This disclosure recognizes that the use of such personal information data in the present invention can benefit users. For example, personal information data can be used to deliver targeted content that a user may be interested in based on their preferences. Therefore, the use of such personal information data enables users to have greater control over the delivered content. Furthermore, this disclosure also anticipates other uses of personal information data that benefit users.
[0147] This disclosure assumes that entities responsible for collecting, analyzing, disclosing, transmitting, storing, or otherwise using such personal information data will comply with established privacy policies and / or privacy practices. Specifically, it is expected that such entities will implement and consistently apply privacy practices generally recognized as meeting or exceeding industry or governmental requirements for protecting user privacy. Such information regarding the use of personal data should be highlighted and easily accessible to users, and should be updated as data collection and / or use changes. Users' personal information should be collected only for lawful use. Furthermore, such collection / sharing should only occur after receiving user consent or other lawful grounds provided for in applicable law. In addition, such entities should consider taking any necessary steps to protect and safeguard access to such personal information data and ensure that others with access to personal information data comply with their privacy policies and processes. Additionally, such entities may be subject to third-party evaluations to demonstrate their compliance with widely accepted privacy policies and practices. Furthermore, policies and practices should be tailored to the specific types of personal information data collected and / or accessed, and made applicable to applicable laws and standards, including jurisdiction-specific considerations that may be used to impose higher standards. For example, in the United States, the collection or access to certain health data may be governed by federal and / or state laws, such as the Health Insurance Portability and Accountability Act (HIPAA); while health data in other countries may be subject to other regulations and policies and should be handled accordingly.
[0148] Regardless of the foregoing, this disclosure also anticipates implementation schemes for users to selectively prevent the use or access to personal information data. That is, this disclosure anticipates providing hardware and / or software components to prevent or block access to such personal information data. For example, in the case of advertising delivery services, the technology can be configured to allow users to opt-in or opt-out at any time during or after service registration to participate in the collection of personal information data. In another example, users can choose not to provide emotion-related data for targeted content delivery services. Furthermore, users can choose to limit the duration for which emotion-related data is retained, or completely prevent the development of underlying emotional states. In addition to providing opt-in and opt-out options, this disclosure also envisions providing notifications related to access to or use of personal information. For example, users can be notified when downloading an application that their personal information data will be accessed, and then reminded again just before the application accesses the personal information data.
[0149] Furthermore, the purpose of this disclosure is to manage and process personal information data to minimize the risk of unintentional or unauthorized access or use. Once data is no longer needed, this risk can be minimized by limiting 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 identifiers, 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 such as differentiated privacy.
[0150] 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 be rendered inoperable due to the absence of all or part of such personal information data. For example, content can be selected and delivered to the user based on aggregated non-personal information data or an absolute minimum amount of personal information, such as content processed only on the user's device or other non-personal information that can be used for content delivery services.
[0151] 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 service registration. In addition to providing opt-in and opt-out options, this disclosure also envisions providing notifications related to access to or use of personal information. For example, users may be notified when downloading an application that their personal information data will be accessed, and then reminded again just before the application accesses the personal information data.
[0152] Furthermore, the purpose of this disclosure is to manage and process personal information data to minimize the risk of unintentional or unauthorized access or use. Once data is no longer needed, this risk can be minimized by limiting 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.
[0153] 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 be rendered inoperable due to the absence of all or part of such personal information data. For example, preferences can be inferred based on non-personal information data or a minimal amount of personal information such as content requested by the user's associated device, other non-personal information available for avatar applications, or publicly available information, thereby selecting suggested customizations and delivering these suggested customizations to the user.
[0154] Furthermore, although exemplary embodiments have been described using specific combinations of hardware and software, it should be recognized that other combinations of hardware and software are also within the scope of the exemplary embodiments. Some exemplary embodiments may be implemented solely in hardware, solely in software, or using a combination thereof. The various processes described herein may be implemented on the same or different processors in any combination. Thus, when a component or module is described as being configured to perform certain operations, such configuration may be implemented, for example, by designing electronic circuits to perform operations, programming programmable electronic circuits (such as microprocessors) to perform operations, or any combination thereof. Processes may communicate using a variety of technologies, including but not limited to conventional technologies for inter-process communication, and different pairs of processes may use different technologies, or the same pair of processes may use different technologies at different times.
[0155] Accordingly, the specification and drawings should be considered illustrative rather than restrictive. However, it will be apparent that additions, omissions, deletions, and other modifications and changes may be made therein without departing from the broader spirit and scope set forth in the claims. Therefore, while specific exemplary embodiments have been described, they are not intended to be limiting. Various modifications and equivalents are within the scope of the following claims.
[0156] For all purposes, all patents, patent applications, publications, and specifications mentioned herein are incorporated herein by reference in their entirety. No document is acknowledged as prior art.
Claims
1. A method performed by a mobile device, comprising: Use the first wireless protocol to identify home devices; A secure channel is enabled between the home device and the mobile device via a second wireless protocol; Access to the mobile device is authenticated using an identification code; After establishing the secure channel, receive the home device certificate from the home device; The home device certificate is verified via a security server using the following steps: Transmit the home device certificate to the security server; as well as Receive a message from the security server that identifies the home device certificate as verified; In response to receiving the message identifying the home device certificate as verified, the mobile device certificate of the mobile device is sent to the home device via the secure channel, wherein the home device is configured to sign the mobile device certificate to create a signed mobile device certificate, and wherein the signed mobile device certificate expires after a predetermined period of time. Receive a signed mobile device certificate from the home device via the secure channel; Receive accessory information corresponding to one or more accessory devices from the home device via the secure channel; Connecting to the one or more accessory devices is based at least in part on the accessory information; as well as Authorize the one or more accessory devices to operate within the home ecosystem using the signed mobile device certificate.
2. The method of claim 1, wherein the mobile device includes a graphical user interface for receiving one or more inputs to adjust settings of the one or more accessory devices.
3. The method of claim 1, wherein the mobile device is configured to update the one or more accessory devices with a device ecosystem associated with the mobile device.
4. The method of claim 1, wherein the first wireless protocol is near-field communication.
5. The method of claim 1, wherein the mobile device includes a builder mobile device, and the method further comprises: Send the signed mobile device certificate to one of the one or more accessory devices via the first wireless protocol to enter the setup mode; The mobile device receives one or more inputs, which specify configuration for the accessory device. as well as The configuration for the accessory device is sent to the home device via the second wireless protocol.
6. The method of claim 1, wherein the mobile device includes the owner's mobile device, and the method further comprises: Add the accessory information to the home ecosystem; Remove the builder's access to the home appliances; as well as Receive one or more inputs to control the one or more accessory devices.
7. The method of claim 1, wherein the attachment information includes at least one of attachment identifier, attachment capability, or current attachment settings.
8. A computer-readable storage medium storing a set of computer-executable instructions that, when executed by one or more processors of a mobile device, cause the mobile device to perform the following operations: Use the first wireless protocol to identify home devices; A secure channel is enabled between the home device and the mobile device via a second wireless protocol; Access to the mobile device is authenticated using an identification code; After establishing the secure channel, receive the home device certificate from the home device; The home device certificate is verified via a security server using the following steps: Transmit the home device certificate to the security server; as well as Receive a message from the security server that identifies the home device certificate as verified; In response to receiving the message identifying the home device certificate as verified, the mobile device certificate of the mobile device is sent to the home device via the secure channel, wherein the home device is configured to sign the mobile device certificate to create a signed mobile device certificate, and wherein the signed mobile device certificate expires after a predetermined period of time. Receive a signed mobile device certificate from the home device via the secure channel; Receive accessory information corresponding to one or more accessory devices from the home device via the secure channel; Connecting to the one or more accessory devices is based at least in part on the accessory information; as well as Authorize the one or more accessory devices to operate within the home ecosystem using the signed mobile device certificate.
9. The computer-readable storage medium of claim 8, wherein the mobile device includes a graphical user interface for receiving one or more inputs to adjust settings of the one or more accessory devices.
10. The computer-readable storage medium of claim 8, wherein the mobile device is configured to update the one or more accessory devices with a device ecosystem associated with the mobile device.
11. The computer-readable storage medium of claim 8, wherein the first wireless protocol is near-field communication.
12. The computer-readable storage medium of claim 8, wherein the mobile device includes a builder mobile device, and the operation further includes: Send the signed mobile device certificate to one of the one or more accessory devices via the first wireless protocol to enter the setup mode; The mobile device receives one or more inputs, which specify configuration for the accessory device. as well as The configuration for the accessory device is sent to the home device via the second wireless protocol.
13. The computer-readable storage medium of claim 8, wherein the mobile device includes an owner's mobile device, and the operation further includes: Add the accessory information to the home ecosystem; Remove the builder's access to the home appliances; as well as Receive one or more inputs to control the one or more accessory devices.
14. The computer-readable storage medium of claim 8, wherein the attachment information includes at least one of attachment identifier, attachment capability, or current attachment settings.
15. A mobile device, comprising: One or more memory units; and One or more processors, communicatively coupled to the one or more memories, are configured to perform the following operations: Use the first wireless protocol to identify home devices; A secure channel is enabled between the home device and the mobile device via a second wireless protocol; Access to the mobile device is authenticated using an identification code; After establishing the secure channel, receive the home device certificate from the home device; The home device certificate is verified via a security server using the following steps: Transmit the home device certificate to the security server; as well as Receive a message from the security server that identifies the home device certificate as verified; In response to receiving the message identifying the home device certificate as verified, the mobile device certificate of the mobile device is sent to the home device via the secure channel, wherein the home device is configured to sign the mobile device certificate to create a signed mobile device certificate, and wherein the signed mobile device certificate expires after a predetermined period of time. Receive a signed mobile device certificate from the home device via the secure channel; Receive accessory information corresponding to one or more accessory devices from the home device via the secure channel; Connecting to the one or more accessory devices is based at least in part on the accessory information; as well as Authorize the one or more accessory devices to operate within the home ecosystem using the signed mobile device certificate.
16. The mobile device of claim 15, wherein the mobile device includes a graphical user interface for receiving one or more inputs to adjust settings of the one or more accessory devices.
17. The mobile device of claim 15, wherein the mobile device is configured to update the one or more accessory devices with a device ecosystem associated with the mobile device.
18. The mobile device of claim 15, wherein the first wireless protocol is near-field communication.
19. The mobile device of claim 15, wherein the mobile device includes a builder mobile device, and the operation further includes the following operations: Send the signed mobile device certificate to one of the one or more accessory devices via the first wireless protocol to enter the setup mode; The mobile device receives one or more inputs, which specify configuration for the accessory device. as well as The configuration for the accessory device is sent to the home device via the second wireless protocol.
20. The mobile device of claim 15, wherein the mobile device includes an owner's mobile device, and the operation further includes the following operations: Add the accessory information to the home ecosystem; Remove the builder's access to the home appliances; as well as Receive one or more inputs to control the one or more accessory devices.
21. A computer program product comprising instructions that, when executed by a processor, cause the processor to perform the method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Uniform communication protocols for communication between controllers and accessories
US9979625B2
Wireless provisioning and configuring of hardware elements of a home automation system
CN107615783A