Resumable wearable device setup using dynamic segments

A resumable setup process with dynamic segments for wearable devices addresses the issue of restarting from scratch after faults, ensuring efficient and user-friendly completion of the setup process, enhancing device functionality and user retention.

WO2026054758A1PCT designated stage Publication Date: 2026-03-12GOOGLE LLC
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-09-04
Publication Date
2026-03-12

AI Technical Summary

Technical Problem

Wearable devices often require a lengthy and repetitive setup process that users must restart from the beginning upon encountering faults, leading to user frustration and potential abandonment due to perceived device malfunction.

Method used

Implement a resumable setup process with dynamic segments that allows the wearable device to resume from the last completed segment after a fault, using stored setup data to synchronize with a companion setup process on a computing device.

Benefits of technology

Ensures seamless completion of the setup process, reduces resource consumption, and enhances user satisfaction by avoiding repetitive steps, thus improving device functionality and retention.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US2024045212_12032026_PF_FP_ABST
    Figure US2024045212_12032026_PF_FP_ABST
Patent Text Reader

Abstract

In one example, a computing system comprises a memory that stores instructions, and one or more processors that execute the instructions to: establish, to a computing device, a wireless connection corresponding to a setup process including a plurality of segments that is completed in connection with a companion setup process of the computing device; store setup data corresponding to at least partial completion of a first segment, wherein the wireless connection is disconnected prior to completion of one or more second segments; establish, to the computing device, a reestablished wireless connection; and responsive to establishing the reestablished wireless connection, transmit the setup data to the computing device to cause the companion setup process of the computing device to resume from the one or more second segments; and responsive to completion of the segments of the setup process, enable previously disabled functions of the wearable device.
Need to check novelty before this filing date? Find Prior Art

Description

Docket No.: 1333-878WO01 RESUMABLE WEARABLE DEVICE SETUP USING DYNAMIC SEGMENTS BACKGROUND

[0001] Wearable devices provide computing services to users in a wearable form factor. Wearable devices may operate in conjunction with other computing devices, such as mobile devices, to provide computing services to users such as through various communication links. SUMMARY

[0002] In general, various aspects of the techniques described in this disclosure are directed to resumable wearable device setup using dynamic segments. Wearable devices may require a setup process in order to enable one or more features. In some cases, a wearable device may be substantially inoperable until the setup process, or at least a portion thereof, is completed. For example, the setup process may be required to configure the wearable device for network connectivity (e.g., WI-FI, BLUETOOTH, cellular), assign user accounts to the wearable device required to access features of the wearable device, enable installation and / or execution of applications (e.g., downloaded software), and the like.

[0003] The setup process may represent an out of box experience (OOBE) for the user of the wearable device in that the setup process may be the first interaction between the wearable device and the user after the wearable device is unboxed or factory reset. Some wearable devices require the user to redo (e.g., recomplete) each step, including any previously completed steps, of the setup process when there is fault (e.g., interruption, disruption, error) to the setup process. Setup processes may include a large volume of screens (e.g., 20 or more screens, 45 or more screens, etc.) with a corresponding number of steps. Accordingly, the user may have to redo numerous steps when an interruption occurs.

[0004] In accordance with the techniques disclosed herein, a wearable device may include a resumable setup process with dynamic segments. For example, the resumable setup process may include a plurality of segments where, should a fault occur during the setup process, the wearable device may resume rather than restart the setup process. The segments may be performed and resumed according to a sequence based on dependencies of respective segments. Upon resolution of a fault during the setup process, the wearable device mayDocket No.: 1333-878WO01 synchronize a companion setup process at the computing device such that the companion setup process may resume from the same segment of the setup process. By resuming rather than restarting the setup process, the wearable device avoids repeating previously completed steps and helps to ensure the setup process is completed and, as a result, helps to ensure the wearable device is fully functional. When the wearable device is fully functional user retention may be improved.

[0005] In one example, various aspects of the techniques are directed to a method comprising: establishing, by a wearable device and to a computing device, a wireless connection corresponding to a setup process for configuring the wearable device, wherein the setup process includes a plurality of segments and is completed in connection with a companion setup process of the computing device; storing, by the wearable device, setup data corresponding to at least partial completion of a first segment of the plurality of segments, wherein the wireless connection is disconnected prior to completion of one or more second segments of the plurality of segments; establishing, by the wearable device and to the computing device, a reestablished wireless connection; and responsive to establishing the reestablished wireless connection, transmitting, by the wearable device, the setup data to the computing device through the reestablished wireless connection to cause the companion setup process of the computing device to resume from the one or more second segments; and responsive to completion of the plurality of segments of the setup process, enabling, by the wearable device, a plurality of previously disabled functions of the wearable device.

[0006] In another example, various aspects of the techniques are directed to a wearable device comprising a memory that stores instructions, and one or more processors that execute the instructions to: establish, to a computing device, a wireless connection corresponding to a setup process for configuring the wearable device, wherein the setup process includes a plurality of segments and is completed in connection with a companion setup process of the computing device; store setup data corresponding to at least partial completion of a first segment of the plurality of segments, wherein the wireless connection is disconnected prior to completion of one or more second segments of the plurality of segments; establish, to the computing device, a reestablished wireless connection; and responsive to establishing the reestablished wireless connection, transmit the setup data to the computing device through the reestablished wireless connection to cause the companion setup process of the computingDocket No.: 1333-878WO01 device to resume from the one or more second segments; and responsive to completion of the plurality of segments of the setup process, enable a plurality of previously disabled functions of the wearable device.

[0007] In another example, various aspects of the techniques are directed to non-transitory computer-readable storage media comprising instructions, that when executed by processing circuitry, cause the processing circuitry to: establish, to a computing device, a wireless connection corresponding to a setup process for configuring the wearable device, wherein the setup process includes a plurality of segments and is completed in connection with a companion setup process of the computing device; store setup data corresponding to at least partial completion of a first segment of the plurality of segments, wherein the wireless connection is disconnected prior to completion of one or more second segments of the plurality of segments; establish, to the computing device, a reestablished wireless connection; and responsive to establishing the reestablished wireless connection, transmit the setup data to the computing device through the reestablished wireless connection to cause the companion setup process of the computing device to resume from the one or more second segments; and responsive to completion of the plurality of segments of the setup process, enable a plurality of previously disabled functions of the wearable device.

[0008] The details of one or more examples are set forth in the accompanying drawings and the description below. Other features, objects, and advantages will be apparent from the description and drawings, and from the claims. BRIEF DESCRIPTION OF DRAWINGS

[0009] FIG.1 is a conceptual diagram illustrating an example environment for performing resumable wearable device setup using dynamic segments, in accordance with one or more aspects of the present disclosure.

[0010] FIG.2 is a block diagram illustrating an example environment for performing resumable wearable device setup using dynamic segments, in accordance with one or more aspects of the present disclosure.

[0011] FIG.3 is a flowchart illustrating an example process for completing resumable wearable device setup, in accordance with one or more aspects of the present disclosure.Docket No.: 1333-878WO01

[0012] FIG.4 is a flowchart illustrating an example process for generating dynamic segments, in accordance with one or more aspects of the present disclosure.

[0013] FIG.5 is a flowchart illustrating an example process for performing resumable wearable device setup using dynamic segments, in accordance with one or more aspects of the present disclosure. DETAILED DESCRIPTION

[0014] FIG.1 is a conceptual diagram illustrating an example environment for performing resumable wearable device setup using dynamic segments, in accordance with one or more aspects of the present disclosure. As can be seen from the example of FIG. 1, environment 100 may include one or more wearable devices 110 and one or more computing devices 120 that may communicate with one another over communication link 102. Computing device 120 may represent and be referred to herein as a “companion device 120” in that wearable device 110 and computing device 120 may operate in conjunction to perform a resumable setup process 116 for wearable device 110. As will be described further below, wearable device 110 includes a resumable setup process 116 which may operate in conjunction with a companion setup process 126 that may be provided by execution of a companion application 122 at computing device 120.

[0015] As shown in the example of FIG.1, wearable device 110 may be a mobile computing device, such as a smartwatch. Computing device 120 may be a mobile device, such as a smartphone. In some examples, wearable computing device 110, computing device 120, or both may be any type of computing device that may perform the respective functions described herein, such as a mobile phone, a tablet computer, a laptop computer, a desktop computer, a wearable device, a gaming system, a media player, an e-book reader, camera device, computerized watch, computerized eyewear, computerized ring, or fitness tracker.

[0016] Wearable device 110 may include setup module 112 and setup process 116. Wearable device 110 may require setup process 116, or at least a portion thereof, to be completed before one or more functions of wearable device 110 may become operational (e.g., activated, enabled). In some examples, wearable device 110 may be substantially inoperable until the setup process 116, or at least a portion thereof, is completed. For example, prior to completion of setup process 116, wearable device 110 may be incapable orDocket No.: 1333-878WO01 otherwise inoperable relative to network connectivity (e.g., WI-FI, BLUETOOTH, cellular), application installation and / or execution, tethering, and the like. In some examples, setup process 116 may represent an out of box experience (OOBE) for the user of wearable device 110 in that setup process 116 may be the first interaction between wearable device 110 and the user after wearable device 110 is unboxed (after being newly purchased) or after wearable device 110 is factory reset.

[0017] Wearable device 110 may perform setup process 116 through setup module 112. For example, wearable device 110 may execute setup module 112 to complete one or more steps of setup process 116. Setup module 112 may utilize companion application 122 of computing device 120 to implement setup process 116. For example, setup module 112 may present output and receive input for one or more steps of segments 118 through companion application 122, such as through a user interface device 128. User interface device 128 may be hardware that functions as an input and / or output device for computing device 220. For example, user interface device 128 may include a display component (e.g., liquid crystal display (LCD), organic light-emitting diode (OLED) display), which may be a screen at which information corresponding to companion application 122 is displayed and a presence- sensitive input device that may detect a user’s touch or other input.

[0018] As shown in the example of FIG.1 for instance, companion application 122 may present one or more user interfaces, such as one or more screens 124A–124N (collectively, “screens 124”). Screen 124 may present information (e.g., welcome messages, setup information, end user license agreements (EULAs)) to the user and prompt the user for and receive user input (e.g., usernames and passwords, network selections, authorizations, indications of user acknowledgement or agreement). For example, screen 124B of FIG.1 includes user interface elements 125A–125N (collectively, “user interface elements 125”) that may receive user input, present output, or both. For instance, user interface element 125A and user interface element 125B may receive and / or present authentication information, such as the user’s username, password, or both. Continuing this example, user interface elements, such as user interface element 125N, may correspond to a button or the like that, when selected by the user, causes screen 124B to be dismissed. For instance, user interface element 125N may be a “Sign In” button, a “Next” button, a “Skip” button, or the like. In operation, companion application 122 may dismiss screen 124B to present anotherDocket No.: 1333-878WO01 screen 124N. For example, companion application 122 may present screen 124N in response to a successful user sign in through screen 124B.

[0019] Setup process 116 may include a plurality of segments 118A–118N (collectively, “segments 118”). Segments 118 may individually represent a respective point or milestone of setup process 116. For example, segment 118A may correspond to device pairing (e.g., pairing wearable device 110 to computing device 120), segment 118B may correspond to user sign in, and segment 118N may correspond to presentation and / or user agreement to a EULA. As such, when setup module 112 completes segment 118, the milestone corresponding to segment 118 may be considered achieved (e.g., complete). Setup module 112 may perform segments 118 of setup process 116 according to a predefined sequence. For instance, setup module 112 may perform segment 118A followed by segment 118B, which may be followed by setup module 112 performing segment 118N. To perform segment 118, setup module 112 may perform individual steps assigned to segment 118. To complete at least a portion of setup process 116, wearable device 110 may complete one or more steps or all the steps of at least one segment 118.

[0020] In some examples, rather than relying on a preset (e.g., hardcoded, human defined) segment sequence, setup module 112 may dynamically generate a segment sequence where segment 118A is followed by segment 118B when segment 118B depends on completion of segment 118A. For instance, setup module 112 may determine credential information is obtained by completing sign in at segment 118A and segment 118B relies on credential information. Accordingly, setup module 112 may generate a sequence of segments where segment 118A precedes segment 118B.

[0021] As described above, each segment 118 may include one or more steps. As such, segment 118 may represent a collection of steps within setup process 116. For example, segment 118A may include a first subset of steps of setup process 116 and segment 118B may include a second subset of steps of setup process 116. Segments 118 may include entirely different (e.g., entirely disjoint) or at least partially different sets of steps. For example, segment 118A may include mandatory (e.g., required) steps of setup process 116 (e.g., mandatory device pairing steps, sign in steps, EULA steps) and segment 118B may include optional steps of setup process (e.g., optional user preference configuration steps).Docket No.: 1333-878WO01 As will be described further below, segments 118 may be mandatory or optional in some examples.

[0022] Setup module 112 may complete individual steps of segment 118 to complete segment 118 in conjunction with companion application 122. For example, to complete a step of segment 118, setup module 112 may cause companion application 122 to present a screen of screens 124 corresponding to the step. For example, to complete a sign in segment, such as segment 118B, setup module 112 may cause companion application 122 to present a screen corresponding to an authentication step of segment 118B, such as screen 124B. Setup module 112 may receive input, such as user or other input to complete the step, from companion application 112. Continuing the above example, setup module 112 may receive authentication information (e.g., username / password) the user inputs into one or more of user interface elements 125 of screen 124B. As another example, setup module 112 may receive pairing information of computing device 120 (e.g., WI-FI / BLUETOOTH address and / or credentials) from companion application 112 for device pairing purposes. When each step of segment 118 is complete, setup module 112 may determine segment 118 is complete.

[0023] Setup module 112 may perform steps of segment in a predefined sequence (e.g., order). For example, a first step may be followed by a second step which is followed by a third step, and so on and so forth. In some examples, rather than relying upon preset (e.g., hardcoded, human defined) sequences of steps, setup module 112 may dynamically generate step sequences for one or more segments 118. For instance, setup module 112 may generate a step sequence based on dependencies of individual steps. In this manner, setup module 112 may generate a step sequence where the first step is followed by the second step when the second step depends on completion of the first step. For instance, setup module 112 may determine a network name (E.g., WI-FI network name) is obtained by completing the first step and the second step requires the network name to establish a network connection. Accordingly, setup module 112 may generate a step sequence where the first step precedes the second step.

[0024] In some examples, individual steps of segment 118 may respectively correspond to a portion (e.g., type) of setup data 114. As such, setup module 112, companion application 122, or both may determine a step of segment 118 is complete wherein the corresponding setup data 114 for the step is received. For example, with respect to sign in, which may beDocket No.: 1333-878WO01 represented by segment 118B, a first step of segment 118B may correspond to setup data 114 in the form of authentication information (e.g., a username and password) and a second step of segment 118B may correspond to setup data 114 in the form of credential information (e.g., a sign in token or the like indicating successful sign in).

[0025] Continuing this example, during the first step of segment 118B, setup module 112 may receive authentication information from companion application 122 and store an indication of the authentication information in setup data 114. During the second step of segment 118B, setup module 112 may receive credential information from companion application 122 and store an indication of credential information in setup data. In this manner, setup data 114 may contain a record of the state of steps of segment 118B.

[0026] For example, setup data 114 may indicate the first step is complete when setup data 114 includes the indication of the authentication information and setup data 114 may indicate the first step is incomplete (e.g., not completed) when setup data 114 does not include such indication. Likewise, setup data 114 may indicate the second step is complete when setup data 114 includes the indication that sign in succeeded (e.g., an indication of the credential information) and indicate the second step is incomplete when setup data 114 does not include such indication. As such, setup module 112, companion application 122, or both may determine the current state (e.g., complete or incomplete) of one or more steps of one or more of segments 118 based on whether setup data 114 includes data corresponding to the one or more steps of segments 118. Setup module 112 may determine segment 118 is complete when each of the steps of segment 118 are included in setup data 114.

[0027] In some examples, setup data 114 may include an indication of the particular step or segment 118 at which setup process 116 should resume by storing an indication of the particular step or segment 118. For example, setup module 112 may store an identifier of the subsequent step of setup process 116 (e.g., step 1 of segment 118A) when setup module 112 completes a current step. For instance, setup module 112 may store an identifier of a second step of segment 118 in setup data 114 upon completion of a first step of segment 118. With respect to segments 118, setup module 112 may store an identifier of segment 118B (e.g., segment 2) in setup data 114 upon completion of segment 118A. As such, in addition to or instead of determining whether setup data 114 includes data corresponding to one or more steps or segments to determine where to resume setup process 116, setup module 112 mayDocket No.: 1333-878WO01 read the step identifier or segment identifier and resume setup process 116 at the identified step or segment. Step identifier or segment identifier may each be unique identifiers within setup data 114 that uniquely identify where (e.g., the step or segment 118) setup process 116 should resume. In some examples, setup module 112 may determine each step, segment 118, or both that precedes the identified step or segment 118 are complete.

[0028] Setup module 112 may determine whether a fault has occurred during setup process 116 that interrupts, at least temporarily, setup process 116. Examples of faults include software crashes, hardware crashes, application programming interface (API), communication, or other timeouts, or other errors that cause setup process 116 to be interrupted, such as through a loss of connectivity (e.g., disruption of communication link 102) between wearable device 110 and computing device 120. A loss of connectivity may occur whenever communication link 102 is disrupted. Some examples of when loss of connectivity may occur include when companion application 122 closes, such as in response to user input or due to a software or hardware crash, when wearable device 110 or computing device 120 powers off, such as in response to user input or a low power state, when an airplane mode of wearable device 110 and / or computing device 120 is turned on, when a software or hardware crash occurs, or when wearable device 110 and computing device 120 are moved out of communication range. As described above, setup process 116 may require companion application 122 of computing device 120 to advance and complete setup process 116. As such, loss of connectivity with computing device 120 may interrupt setup process 116.

[0029] In some examples, setup module 112 may periodically exchange data packets with computing device 120 to determine whether a fault (e.g., loss of connectivity) has occurred. For example, setup module 112 may determine a fault has occurred when one or more exchanges of data packets fails. For instance, setup module 112 may determine a loss of connectivity when setup module 112 does not receive within a predetermined period of time (e.g., timeout period), from computing device 120, a data packet or acknowledgement of a data packet sent by setup module 112.

[0030] Rather than restarting setup process 116 subsequent to the occurrence of a fault, setup module 112 may resume setup process 116, such as relative to a previously completed segment 118. As described above, segments 118, may be ordered according to a particularDocket No.: 1333-878WO01 sequence. Setup module 112 may resume setup process 116 starting from the segment of segments 118 that is subsequent to (e.g., is after) the last completed segment 118. For example, in a sequence of segments 118 where segment 118A is followed by segment 118B and segment 118A was previously completed, setup module 112 may resume setup process 116 beginning with segment 118B. Setup module 112 may determine the last completed segment 118 in the sequence based on setup data 114, such as described above.

[0031] To resume setup process 116 after occurrence of a fault, wearable device 110, computing device 120, or both may resume setup process 116 based on setup data 114. For example, wearable device 110 and companion application 122 may resume setup process 116 from a segment of segments 118 that is subsequent to the last completed segment as indicated in setup data 114. For instance, setup data 114 may include an indication of device pairing information corresponding to completion of segment 118A but lack any indication of sign in information (e.g., authentication information, credential information) corresponding to segment 118B. As such, assuming a sequence where segment 118A is followed by segment 118B, setup module 112 may resume setup process 116 beginning with segment 118B.

[0032] Setup module 112 may resume setup process 116 in response to determining the fault is resolved. For example, the fault may be resolved by wearable device 110 and computing device 120 both being powered on or when airplane mode is deactivated at wearable device 110 and computing device, by companion application 122 opening (e.g., executing, restarting) at computing device 120, by wearable device 110 and computing device 120 being charged, by wearable device 110 and computing device 120 moving into communication range, or any other event that allows communication link 102 to be reestablished. Setup module 112 and companion application 122 may reestablish communication link 102 once the fault is resolved.

[0033] Setup module 112 may send an indication of setup data 114 to computing device 120 through reestablished communication link 102, such as to cause companion application 122 to resume companion setup process 126 for a particular segment 118. For example, if setup data 114 indicates segment 118A is complete, companion application 122 may resume companion setup process 126 beginning with a subsequent segment, such as segment 118B of setup process 116. As such, rather than presenting screen 124A or screen 124N,Docket No.: 1333-878WO01 companion application 122 may present a screen, such as screen 124B, corresponding to segment 118B. Setup module 112 itself may resume setup process 116 based on setup data 114. Continuing the above example, setup module 112 may resume setup process 116 at segment 118B based on setup data 114 indicating segment 118A is complete. In this manner, setup process 116 and companion setup process 126 may be synchronized based on setup data 114 when resuming setup process 116.

[0034] In some examples, setup module 112 may resume setup process 116 at an intermediary step of segment 118. For instance, rather than resuming setup process 116 at a first step of segment 118, setup module 112 may resume setup process 116 at a second or subsequent step of segment 118. To illustrate, segment 118N may represent network setup where setup module 112 may receive network information (e.g., WI-FI network name and password) to connect wearable device 110 to network 108. In this example, setup module 112 may receive a network selection (e.g., indication of a WI-FI network name) to complete a first step of segment 118N and use the network information to connect to the selected network to complete a second step of segment 118N. Setup module 112 may store an indication that the first step is complete (e.g., store the network selection) in setup data 114.

[0035] Upon resolution of a fault, setup module 112 may resume segment 118N from the second step rather than the first step. For example, if the fault occurred after completion of the first step and prior to the second step, setup module 112 may resume segment 118N beginning with the second step. Setup module 112 may determine which of one or more steps of segment 118C are completed based on whether setup data 114 includes data corresponding to the one or more steps, such as described above. For example, setup module 112 may determine the first step is complete when setup data 114 includes an indication of the selected network and determine the second step is complete when setup data 114 includes an indication that the selected network is connected (e.g., an assigned network address on the selected network). With respect to the above example, setup data 114 may include the indication of the selected network and lack the indication that the selected network is connected.

[0036] When possible, setup module 112 may complete one or more steps of segment 118 independent of computing device 120, to allow setup process 116 to advance (e.g., continue) even after a fault has occurred. For example, in response to detecting a fault, setup moduleDocket No.: 1333-878WO01 112 may identify one or more incomplete steps of segment 118, if any, that may be completed without computing device 120 (e.g., without communicating with companion application 122). For instance, setup module 112 may identify one or more incomplete segments 118 that do not require input from companion application 122.

[0037] Setup module 112 may complete the incomplete steps of segment 118 independent of computing device 120 (e.g., without communication with companion application 122). Continuing the above example for instance, setup module 112 may determine the second step (e.g., connect to the selected network) of segment 118N does not depend on interaction with companion application 122 and thereafter proceed to complete the second step (e.g., connect to the selected network) even though the fault occurred prior to the second step.

[0038] Similar to storing, in setup data 114, indications of steps completed in conjunction with companion application 122, setup module 112 may store, in setup data 114, an indication of the completion of individual steps completed independent of companion application 122. In this manner, subsequent a fault, setup module 112 may resume setup process 116 from the last completed step of segment 118 regardless of whether setup module 112 completed such step independently or in conjunction with companion application 122. Continuing the above example, setup module 112 may store an indication that the second step of segment 118N has been completed (e.g., store an indication of an assigned network address on the selected network) upon successfully connecting to the selected network. Upon resolution of the fault, setup module 112 and companion application 122 may resume setup process from a subsequent step of setup process 116 which may be within the same segment, segment 118N, or within another segment, such as a segment subsequent to segment 118N.

[0039] Setup module 112 may perform operations described herein using software, hardware, firmware, or a mixture of hardware, software, and firmware residing in and / or executing at wearable device 110. Wearable device 110 may execute setup module 112 with multiple processors or multiple devices, as virtual machines executing on underlying hardware, as one or more services of an operating system or computing platform, and / or as one or more executable programs at an application layer of a computing platform of wearable device 110.Docket No.: 1333-878WO01

[0040] As setup module 112 completes setup process 116, previously disabled functionality of wearable device 110 may be enabled. For example, wearable device 110 may be disconnected from network 108 until setup module 112 completes segment 118N. To complete setup process 116, setup module 112 may complete segments 118 corresponding to device pairing, sign in, user agreement to one or more EULAs, network setup, user preferences configuration, and the like. As can be seen, wearable device 110 may be considered fully functional when each of segments 118 is completed and be only partially functional when some of segments 118 are left incomplete. For example, wearable device 110 may not be able to present an application launcher (e.g., home screen), tether to computing device 120 for Internet access, or the like when segment 118 corresponding to EULA agreement or sign in are incomplete. As another example, wearable device 110 may not be able to connect to network 108, such as the Internet, when segment 118 corresponding to network setup is incomplete. As yet another example, wearable device 110 may function in a standard configuration (e.g., default appearance) when segment 118 corresponding to user preferences configuration is incomplete.

[0041] Network 108 may represent any public or private communications network, for example, cellular, WI-FI, and / or other types of networks, for transmitting data between computing systems, servers, and computing devices. Network 108 may include one or more network hubs, network switches, network routers, or any other network equipment, that are operatively inter-coupled thereby providing for the exchange of information between wearable device 110 and other devices, including computing device 120. Wearable device 110, computing device 120, or both may transmit and receive data across network 108 using any suitable communication techniques. Each of wearable device 110 and computing device 120 may be operatively coupled to network 108 using respective network links, such as Ethernet, WI-FI, BLUETOOTH or any other type of wired and / or wireless network connections.

[0042] As can be seen, setup module 112 may store setup data 114 as individual steps of segments 118 of setup process 116 are completed. Rather than requiring the user to redo each segment 118 of setup process 116 subsequent to a fault, setup module 112 may resume setup process 116 from a previously completed segment of segments 118. By storing setup data 114 as segments 118 are completed, setup module 112 may resume rather than restartDocket No.: 1333-878WO01 setup process 116. In this manner, setup module 112 avoids repetition of previously completed segments 118 and helps to ensure setup process 116 is completed. Setup module 112 reduces consumption of power resources (e.g., battery power) and compute resources (e.g., processor cycles) by avoiding repetition of previously completed segments 118. Setup module 112 also reduces consumption of network resources (e.g., data transmission, bandwidth) by avoiding retransmission of information that was previously transmitted in connection with previously completed segments 118. Some wearable devices restart setup processes for any fault. As such, by resuming setup process 116 rather than restarting setup process 116, setup module 112 also reduces the number of wearable device restarts, which also conserves power and compute resources.

[0043] As setup module 112 advances through segments 118 of setup process 116 additional functions of wearable device 110 may become activated (e.g., operational). When setup module 116 completes setup process 116 (e.g., completes each segment 118 of setup process 116), wearable device 110 may be considered fully functional. When setup process 116 is completed, user retention may be improved. For example, when setup process 116 is not completed, wearable device 110 may not be fully functional or may be substantially or entirely nonfunctional. In these cases, the user may believe wearable device 110 does not function as expected or as needed, or is defective, leading the user to discontinue using wearable device and / or return the wearable device 110.

[0044] FIG.2 is a block diagram illustrating an example environment for performing resumable wearable device setup using dynamic segments, in accordance with one or more aspects of the present disclosure. As can be seen, environment 200 may include a wearable device 210, a computing device 220, a computing system 204, and network 208. Wearable device 210, computing device 220, and network 208 of FIG.2 are described below as examples, respectively, of wearable device 110, computing device 120, and network 108 as illustrated in FIG.1.

[0045] Wearable device 210 may be any suitable computing device, such as such as a mobile phone, a tablet computer, a laptop computer, a desktop computer, a wearable device, a gaming system, a media player, an e-book reader, camera device, computerized watch, computerized eyewear, computerized ring, or fitness tracker. FIG. 2 illustrates only one particular example of wearable device 210, and many other examples of wearable device 210Docket No.: 1333-878WO01 may be used in other instances and may include a subset of the components included in example wearable device 210 or may include additional components not shown in FIG. 2.

[0046] As shown in the example of FIG.2, wearable device 210 may include one or more processors 230, one or more input devices 232, one or more output devices 234, one or more communication units 236, and one or more storage devices 240. Storage device 240 of computing system 204 may setup module 212, which may be an example of setup module 112 of FIG.1. Storage device 240 may include operating system 242, which may provide an execution environment for setup module 212 in some examples. Communication channels 238 may interconnect each of the components 230, 232, 234, 236, and 240 for inter- component communications (physically, communicatively, and / or operatively). In some examples, communication channels 238 may include a system bus, a network connection, an inter-process communication data structure, or any other method for communicating data.

[0047] One or more input devices 232 of wearable device 210 may receive input. Examples of input are tactile, audio, and video input. Input devices 232 of wearable device 210, in one example, includes a presence-sensitive display, touch-sensitive screen, mouse, keyboard, voice responsive system, video camera, microphone or any other type of device for detecting input from a human or machine. One or more output devices 234 of wearable device 210 may generate output. Examples of output are tactile, audio, and video output. Output devices 234 of wearable device 210, in one example, includes a presence-sensitive display, sound card, video graphics adapter card, speaker, liquid crystal display (LCD), organic light- emitting diode (OLED) display, a light field display, haptic motors, linear actuating devices, or any other type of device for generating output to a human or machine.

[0048] In some examples, one or more input devices 232 and one or more output devices may together form a user interface device of wearable device 210 that functions as an input and / or output device for wearable device 210, such as user interface device 128 of FIG.1. For example, the user interface device may include an output device 234 (e.g., liquid crystal display (LCD), organic light-emitting diode (OLED) display), which may be a screen at which information is displayed by user interface device and a presence-sensitive input device 232 that may detect an object at and / or near the display component. The presence-sensitive input device may, for example, detect a user’s touch or other input.Docket No.: 1333-878WO01

[0049] One or more communication units 236 of wearable device 210 may communicate with external devices via one or more wired and / or wireless networks by transmitting and / or receiving network signals on the one or more networks. Examples of one or more communication units 236 may include wireless network radios (e.g., WI-FI and / or BLUETOOTH radios), cellular radios, ultra-wideband radios, and near field communication (NFC) radios. Other examples of one or more communication units 236 include network interface cards (e.g., Ethernet cards), optical transceivers, a radio frequency transceivers, and universal serial bus (USB) controllers, or any other type of device that can send and / or receive information.

[0050] One or more processors 230 may implement functionality and / or execute instructions within wearable device 210. For example, one or more processors 230 of wearable device 210 may receive and execute instructions stored by one or more storage devices 240 that execute the functionality of setup module 212. The instructions executed by one or more processors 230 may cause wearable device 210 to store information within one or more storage devices 240 during program execution. Examples of one or more processors 230 include application processors, display controllers, sensor hubs, and any other hardware configured to function as a processing unit. One or more processors 230 may execute instructions of setup module 212 to perform actions or functions. That is, setup module 212 may be operable by one or more processors 230 to perform various actions or functions of wearable device 210.

[0051] For example, setup module 212 may complete setup process 216 in conjunction with companion application 226, such as described with respect to setup module 112 of FIG.1. For instance, setup module 212 may complete one or more steps 244A–244N (collectively, “steps 244”) of segments 218A–218N (collectively, “segments 218”) of setup process 216 in conjunction with companion application 226. Steps 244, segments 218, and setup process 216 may respectively be examples of the steps, segments 118, and setup process 116 described above with respect to FIG.1. Setup module 212 may detect when a fault occurs during setup process 216 and resume setup process 216 relative to the last completed step 244 or segment 218, such as described above.

[0052] One or more storage devices 240 within wearable device 210 may store information for processing during operation of wearable device 210. That is, wearable device 210 mayDocket No.: 1333-878WO01 store data accessed by setup module 212 during execution at wearable device 210, including setup data 214, which may be an example of setup data 114 described above with respect to FIG.1. As can be seen, storage device 240 may store setup process 216 including segments 218 and steps 244 of setup process 216.

[0053] Storage device 240 may store setup data 114 in a structured data format, such as in a database. An example of setup data 214 is provided in the following Table 1.Table 1

[0054] Setup data 214 may include values for various types of data. For example, setup data 214 of Table 1 includes pairing information (e.g., pairing address, paired device identifier) that may be stored to setup data 214 during device pairing (e.g., pairing wearable device 210 to computing device 220) and network information that may be stored to setup data 214 during network setup. Though shown in Table 1 with these particular examples of setup data 214, other types of setup data 214 may be stored, including the types of setup data 214 described above in connection with FIG.1. For example, setup data 214 may include authentication information, credential information, user agreement information (e.g., user agreement to EULAs), or other information.

[0055] Individual entries of setup data 214 may represent units or portions of setup data 214. For example, the pairing address, paired device, network information, and network address information of Table 1 above may each correspond to a respective unit of setup data 214. Storage device 240 may store an indication of step 244 and / or segment 218 for each respective unit of setup data 214. As shown in Table 1 above for example, the pairing address corresponds to a first step 244A of segment 218A, the paired device corresponds to a second step 244B of segment 218A, the network information corresponds to a first step 244C of segment 218B, and the network address corresponds to a second step 244N of segmentDocket No.: 1333-878WO01 218B. In this manner, setup data 214 may indicate which steps 244 and / or segments 218 are completed or incomplete.

[0056] For example, setup data 214 of Table 1 may indicate segment 218 is complete in that values for the units of setup data 214 corresponding to steps 244 of segment 218 are included in setup data 214. For instance, since setup data 214 includes data for first step 244A and second step 244B of segment 218A, setup module 112 may determine first step 244A and second step 244B of segment 218A are complete. Similarly, setup module 112 may determine segment 218 is incomplete in that data corresponding to each step 244 of segment 218B are not included in setup data 214. For instance, in the example of Table 1, setup data 214 lacks a value for the network address corresponding to second step 244N of segment 218B.

[0057] Setup module 212, companion application 222, or both may determine which of steps 244 and segments 218 are complete or incomplete based on setup data 214. For example, upon reading setup data 214 of the example of Table 1, setup module 212 may determine segment 218A is complete and only first step 244C of segment 218B is complete (e.g., segment 218B is incomplete) based on the data (e.g., values) included in setup data 214. As described above, when resuming setup process 216, setup module 212 may send an indication of setup data 214 to companion application 222 of computing device 220. Companion application 222 may determine which of steps 244 and segments 218 are complete or incomplete from the setup data 214 from wearable device 210. For example, companion application 222 may determine segment 218A is complete and only first step 244C of segment 218B is complete (e.g., segment 218B is incomplete) based on the populated values of setup data 214.

[0058] In some examples, storage device 240 is a temporary memory, meaning that a primary purpose of storage device 240 is not long-term storage. One or more storage devices 240 on computing system 204 may be configured for short-term storage of information as volatile memory and therefore not retain stored contents if powered off. Examples of volatile memories include random access memories (RAM), dynamic random access memories (DRAM), static random access memories (SRAM), and other forms of volatile memories known in the art.Docket No.: 1333-878WO01

[0059] One or more storage devices 240, in some examples, also include one or more computer-readable storage media. One or more storage devices 240 may be configured to store larger amounts of information than volatile memory. One or more storage devices 240 may further be configured for long-term storage of information as non-volatile memory space and retain information after power on / off cycles. Examples of non-volatile memories include magnetic hard disks, optical disks, floppy disks, flash memories, or forms of electrically programmable memories (EPROM) or electrically erasable and programmable (EEPROM) memories. One or more storage devices 240 may store program instructions and / or information (e.g., data) associated with operating system 242 and setup module 212. Setup module 212 may execute at one or more processors 230 to perform functions similar to that of setup module 112 of FIG.1.

[0060] Computing device 220 may be an example of a smartphone, mobile phone, a tablet computer, a laptop computer, a desktop computer, a gaming system, a media player, an e- book reader, camera device, or other computing device capable of providing the companion setup process 226 for setup process 216, such as by executing companion application 222. In some examples, computing device 220 may be wearable. FIG.2 illustrates a particular example of computing device 220, and many other examples of computing device 220 may be used in other instances and may include a subset of the components included in example computing device 220 or may include additional components not shown in FIG.2.

[0061] Computing device 220 includes one or more user interface devices 252, one or more processors 250, one or more communication units 254, and one or more storage devices 256. One or more storage devices 256 of computing device 220 may include an operating system that provides an execution environment for companion application 222. Companion application 222 and companion setup process 226 of FIG. 2 may respectively be examples of companion application 122 and companion setup process 126 described with respect to FIG. 1.

[0062] User interface device 252 of computing device 220 may be hardware that functions as an input and / or output device for computing device 220. For example, user interface device 252 may include a display component (e.g., liquid crystal display (LCD), organic light- emitting diode (OLED) display), which may be a screen at which information is displayed by user interface device 252 and a presence-sensitive input device that may detect an object atDocket No.: 1333-878WO01 and / or near the display component. The presence-sensitive input device may, for example, detect a user’s touch or other input. User interface device 252 may provide tactile, audio, and video output. User interface device 252, in some examples, includes one or more of a presence-sensitive display, speaker, liquid crystal display (LCD), organic light-emitting diode (OLED) display, haptic motors, linear actuating devices, or any other type of device for receiving input or generating output to a human or machine. User interface device 252 may be an example of user interface device 128 of FIG.1.

[0063] One or more communication units 254 of computing device 220 may communicate with external devices by transmitting and / or receiving communication signals, such as via one or more wired or wireless connections. Examples of one or more communication units 254 include a network interface card (e.g., WI-FI card or Ethernet card), an optical transceiver, a radio frequency transceiver, a global positioning system (GPS) receiver, or any other type of device that can send and / or receive information. Other examples of one or more communication units 254 may include short wave radios, cellular data radios, ultra- wideband radios, NFC radios, wireless network radios, as well as universal serial bus (USB) controllers or any other type of device that can send and / or receive information over a wired or wireless connection.

[0064] One or more processors 250 may implement functionality and / or execute instructions within computing device 220. For example, one or more processors 250 of computing device 220 may receive and execute instructions stored by one or more storage devices 256 that execute the functionality of companion application 222. The instructions executed by one or more processors 250 may cause computing device 220 to store information within one or more storage devices 256 during program execution. Examples of one or more processors 250 include application processors, display controllers, sensor hubs, and any other hardware configured to function as a processing unit.

[0065] One or more storage devices 256 within computing device 220 may store information for processing during operation of computing device 220. That is, computing device 220 may store data accessed by companion application 222 during execution at computing device 220, including setup data 214 received from wearable device 210, and other data. In some examples, storage device 256 is a temporary memory, meaning that a primary purpose of storage device 256 is not long-term storage. One or more storage devices 256 on computingDocket No.: 1333-878WO01 device 220 may be configured for short-term storage of information as volatile memory and therefore not retain stored contents if powered off. Examples of volatile memories include random access memories (RAM), dynamic random access memories (DRAM), static random access memories (SRAM), and other forms of volatile memories known in the art.

[0066] One or more storage devices 256, in some examples, also include one or more computer-readable storage media. One or more storage devices 256 may be configured to store larger amounts of information than volatile memory. One or more storage devices 256 may further be configured for long-term storage of information as non-volatile memory space and retain information after power on / off cycles. Examples of non-volatile memories include magnetic hard disks, optical disks, floppy disks, flash memories, or forms of electrically programmable memories (EPROM) or electrically erasable and programmable (EEPROM) memories. One or more storage devices 256 may store program instructions and / or information (e.g., data) associated with applications 205.

[0067] Companion application 222 may execute at one or more processors 250 to perform functions related to interacting with wearable device 210, computing system 204, or both. For example, companion application 222 may present one or more screens, such as screens 124 of FIG.1, for displaying information and receiving user input in connection with setup process 216. Companion application 222 may execute at one or more processors 250 to communicate with setup module 212, such as described above.

[0068] Computing system 204 may be any suitable computing system, such as one or more desktop computers, laptop computers, mainframes, servers, cloud computing systems, virtual machines, etc. capable of sending and receiving information via network 208. In some examples, computing system 204 may represent a cloud computing system that provides one or more services via network 208. That is, in some examples, computing system 204 may be a distributed computing system. One or more devices, such as wearable device 210, computing device 220, or both may access the services provided by the cloud by communicating with computing system 204. FIG.2 illustrates only one particular example of computing system 204, and many other examples of computing system 204 may be used in other instances and may include a subset of the components included in example computing system 204 or may include additional components not shown in FIG.2.Docket No.: 1333-878WO01

[0069] Wearable device 210 and computing device 220 may communicate with a computing system 104 over network 208. In some examples, wearable device 210, computing device 220, and computing system 204 may be peer devices that operate in a client / server fashion. For instance, wearable device 210 and computing device 220 may be clients that are used to access services, such as device management services (e.g., device registration and / or provisioning services), application store services (e.g., application download services), or other services provided by a device management module 206 of computing system 204 through network 208.

[0070] In some examples, in connection with setup process 216, wearable device 210 may be registered with a device management service provided by device management module 106 of computing system 104. For instance, by completing a segment of segments 218 corresponding to user sign in and / or a segment of segments 218 corresponding to user agreement to a EULA, wearable device 210 may be assigned to a user account of the device management service. Device management module 206 may require completion of one or more of segments 218, such as segments corresponding to sign in or EULAs, as a prerequisite to permitting access to services provided by device management module 206.

[0071] FIG.3 is a flowchart illustrating an example process for completing resumable wearable device setup, in accordance with one or more aspects of the present disclosure. FIG.3 is described below in the context of FIGS.1 and 2. As can be seen from the example of FIG.3, setup process 216 may include segments 218 that are mandatory and segments 218 that are optional. For example, segment 218A may be mandatory while segment 218B may be optional. To illustrate, mandatory segment 218A may correspond to device pairing, sign in, or user agreement to one or more EULAs and optional segment 218B may correspond to user preferences configuration. Other examples of segments 218 that are mandatory include segments 218 including one or more steps 244 for collecting user permissions, GOOGLE® Mobile Services (GMS) check in, factory reset protection (FRP) activation and / or setup (e.g., setup of passcode and / or personal identification number (PIN) for performing a factory reset of wearable device 210 remotely), and device restoration (e.g., copying device settings from another device to wearable device 210). Other examples of segments 218 that are optional include segments 218 including one or more steps 244 for fitness tracker pairing, voice orDocket No.: 1333-878WO01 other assistant setup, application store setup / installation, embedded subscriber identity module (eSIM) setup, and day zero (e.g., initial) over the air (OTA) updates.

[0072] In some examples, setup module 212 may require each mandatory segment 218 to be completed prior to completing any of optional segments 218. Setup module 212 may respond differently when resuming setup process 216 subsequent to a fault during mandatory segment 218A as compared to when resuming setup process 216 subsequent to a fault during optional segment 218B, as will be described below.

[0073] Setup module 212 may complete mandatory segment 218A by performing each step 244 of mandatory segment 218A (302). For example, setup module 212 may complete mandatory segment 218A by performing first step 244A and second step 244B of segment 218A. Setup module 212 may determine whether mandatory segment 218A is complete (304), such as based on setup data 214. For example, setup module 212 may read setup data 214 to determine whether segment 218A is complete. As described above, when data corresponding to each of steps 244 of segment 218 are included in setup data 214, setup module 212 may determine segment 218 is complete.

[0074] When a fault occurs before completion of each of mandatory segments 218, setup module 212 may refrain from proceeding to complete any optional segments 218. For example, upon resolution of a fault occurring before completion of each mandatory segment 218, setup module 212 may resume setup process 216 at mandatory segment 218A. Setup module 212 may, in some examples, cause wearable device 210 to execute a factory reset when one or more mandatory segments 218 are not completed, thereby causing setup process 216 to restart from the beginning (e.g., a beginning step) of setup process 216. In these examples, rather than resuming setup process 216, setup module 212 may restart setup process 216 to ensure each mandatory segment 218 is completed before any optional segments 218 are completed.

[0075] When mandatory segments 218 are completed, setup module 212 may optionally complete one or more optional segments 218 (306). For example, subsequent to the completion of mandatory segment 218A, setup module 212 may complete optional segment 218B. Setup module 212 may complete optional segment 218B by performing steps 244 of optional segment 218B, such as described above.Docket No.: 1333-878WO01

[0076] Optional segments 218 may also or alternatively be completed in response to setup module 212 resuming setup process 216, such as subsequent to resolution of a fault. In contrast to when a fault interrupts setup process 216 during mandatory segments 218, setup module 212 may not mandate (e.g., force) setup process 216 to be automatically restarted. For example, rather than factory resetting wearable device 210 (thereby forcing setup process 216 to be automatically restarted), setup module 212 may permit wearable device 210 to start up normally after resolution of a fault that occurred subsequent to completion of each mandatory segment 218. For instance, setup module 212 may permit wearable device 210 to boot or load an application launcher (e.g., home screen) of wearable device 210.

[0077] Setup module 212 may determine whether to resume setup process 216 (308) (since setup process 216 may not be automatically restarted for faults occurring during optional segments 218). For example, once the fault is resolved, wearable device 210 may present the application launcher, as described above. Setup module 212 may determine to resume setup process 216 in response to user input indicating the user wishes to resume setup process 216. For example, the user may open companion application 222 from application launcher to indicate the user wishes to resume setup process 216 and / or provide user input through companion application 222 indicating the user wishes to resume setup process 216 (e.g., tapping a “Resume Setup” button or the like).

[0078] In response to determining setup process 216 should resume, setup module 212 may resume setup process 216 at one or more optional segments 218. For example, setup module 212 may resume setup process 216 at optional segment 218B. In this example, optional segment 218B may be an incomplete segment of one or more optional segments 218. When optional segments 218 are complete, setup module 212 may finalize setup process 216 (310). For example, to finalize setup process 216, setup module 212 may configure wearable device 210 according to setup data 214 collected during setup process 216. Setup module 212 may enable functions of wearable device 210 (e.g., tethering with computing device 220, access to application store or device management services, Internet access, application launcher access, installation and execution of applications) that are made operative through completion of segments 218 of setup process 216.

[0079] FIG.4 is a flowchart illustrating an example process for generating dynamic segments, in accordance with one or more aspects of the present disclosure. FIG. 4 isDocket No.: 1333-878WO01 described below in the context of FIGS.1 and 2. Segments 218 may be considered dynamic in that setup module 214 may generate different step sequences based on the various information, as will be described below. A step sequence may provide an order by which steps 244 should be performed, which may accordingly define an order by which segments 218 should be performed. For example, the step sequence may cause setup module 212 to perform step 244A of segment 218A followed by step 244B of segment 218A followed by step 244C of segment 218N and so on and so forth.

[0080] Setup module 212 may receive a feature setup request, such as from a provider (e.g., wearable device original equipment manufacturer (OEM)) (402). For example, setup module 212 may receive a feature setup request indicating requirements to enable a particular function of wearable device 210. For instance, the feature setup request may include indications of the units of setup data 214 the provider requires to enable the particular function. To illustrate, the feature setup request may identify user permissions required to permit wearable device 210 to be paired with a fitness tracker (e.g., BLUETOOTH permission, authentication information, credential information). Setup module 212 may identify one or more steps 244 that, when completed, result in collection of these units of setup data 214 (e.g., BLUETOOTH permission, authentication information, credential information). These identified steps may represent and be referred to herein collectively as “feature request steps 244.” Setup module 212 may generate a step sequence including the feature request steps 244 based on wearable device information, dependency information, completed steps information, and other suitable information, or various subsets thereof as will now be described.

[0081] Setup module 212 may receive wearable device information (404), such as configuration or specification information about the device capabilities of wearable device 210 (e.g., storage space, cellular capable, operating system version, hardware version). Setup module 212 may determine dependencies of steps 244 of segments 218 of setup process 216 (406). For example, setup module 212 may generate dependency information identifying, for individual steps of steps 244, data required to as a prerequisite to performing the step 244 and data generated by completing the step 244. In this manner, setup module 212 may generate a graph, tree, or other data structure indicating which steps 244 depend on data generated byDocket No.: 1333-878WO01 other steps 244. Setup module may determine completed steps 244 of segments 218 of setup process 216 (408), such as by reading setup data 214.

[0082] In some examples, setup module 212 may determine whether to generate the step sequence (410), such as to refrain from generating the step sequence when wearable device 210 cannot provide a particular function. For example, setup module 112 may determine whether the function requested in the feature setup request corresponds to a function wearable device 210 can provide, such as by comparing the requirements of requested function to the device capabilities in the wearable device information. When wearable device 210 cannot provide such a function, setup module 212 may refrain from generating the step sequence.

[0083] Setup module 212 may generate the step sequence (412), such as based on one or more of the feature setup request received at step 402, the wearable device information received at step 404, the dependency information determined at step 406, or the completed steps determined at step 408. For example, setup module 212 may generate the step sequence to ensure steps 244 in a segment 218 are performed in an order whereby dependencies of each step 244 are satisfied by preceding steps 244, such as based on the dependency information. Setup module 212 may generate the step sequence to account for device capabilities or specifications from the wearable device information. For example, setup module 212 may replace or omit a step 244 corresponding to an eSIM setup when the wearable device information indicates WI-FI connectivity is operational or wearable device 210 does not include cellular capability. Setup module 212 may generate the step sequence to account for completed steps 244. For example, setup module 212 may omit completed steps 244 from the step sequence.

[0084] To serve the feature setup request, setup module 212 may generate the step sequence to include enabling the function requested in the feature setup request. For example, setup module 212 may generate the step sequence to include one or more feature request steps 244 corresponding to enabling the function and any dependent steps 244 of the one or more feature request steps 244.

[0085] Once the step sequence is generated, setup module 212 may finalize the step sequence (414). For example, setup module 212 may store an indication of the step sequence, such as to storage device 240 of wearable device 210. Setup module 212 may store the stepDocket No.: 1333-878WO01 sequence by creating segments 218 including the step sequence. In some examples, setup module 212 may divide the step sequence so as to create multiple dependent segments 218. For instance, setup module 212 may store a step sequence including step 244A followed by step 244B as segment 218A, such as shown in FIG.2, or may store such step sequence in multiple segments. To illustrate, rather than including step 244A followed by step 244B in segment 218A, setup module 212 may include step 244A in segment 218A and include step 244B in segment 218B. As such, segment 218A may be followed by segment 218B by virtue of the step sequence requiring step 244A to precede step 244B. Setup module 212 may include and perform the created segments 218 as part of setup process 216.

[0086] Though described above as being performed on device (e.g., performed by setup module 212 of wearable device 210), the process for generating dynamic segments, as described above, may be performed by another device, such as computing system 204. For example, setup module 212, or the relevant elements thereof, may execute at one or more processors of computing system 204 to generate dynamic segments as described above. For instance, device management module 206 of computing system 204 may include setup module 212, or the relevant elements thereof. In these examples, generated segments 218 may be stored to a storage device of computing system 204 and may be distributed (e.g., transmitted) to wearable device 210, computing device 220, or both, such as through network 208. Setup module 212 of wearable device 210 may then perform setup process 216 including one or more segments 218 generated by computing system 204.

[0087] FIG.5 is a flowchart illustrating an example process for performing resumable wearable device setup using dynamic segments, in accordance with one or more aspects of the present disclosure. FIG. 5 is described below in the context of FIGS. 1 and 2.

[0088] Wearable device 210 may establish, to a computing device 220, a wireless connection (e.g., communication link 202) corresponding to a setup process 216 for configuring the wearable device (502). Setup process 216 may include a plurality of segments 218 and may be completed in connection with a companion setup process 226 of computing device 220. As described above, segments 218 may include one or more steps 244 and wearable device 210 may complete a segment of segments 218 by completing each step 244 of the segment.

[0089] Wearable device 210 may store setup data 214 corresponding to at least partial completion of a first segment 218A of segments 218 (504). The wireless connection may beDocket No.: 1333-878WO01 disconnected prior to completion of one or more second segments 218B of segments 218. Such disconnection may represent a fault that interrupts setup process 216. In some examples, in addition to being disconnected prior to completion of one or more second segments 218B, the wireless connection may be disconnected prior to the at least partial completion of first segment 218A. In such a case, wearable device 210 may perform a factory reset of wearable device 210 to ensure first segment 218A is completed prior to completion of any optional segments 218.

[0090] Wearable device 210 may determine whether at least first segment 218A of segments 218 can be completed without communicating with companion setup process 226 of companion application 222. In such a case, wearable device 210 may complete at least first segment 218A of setup process 216 while the wireless connection is disconnected. Wearable device 210 may complete at least first segment 218A of setup process 216 while the wireless connection is disconnected responsive to determining at least first segment 218A of segments 218 can be completed without communicating with companion setup process 226.

[0091] Wearable device 210 may periodically exchange, such as through the wireless connection, a plurality of packets with computing device 220. Wearable device 210 may determine the wireless connection is disconnected prior to completion of one or more second segments 218B based on one or more failed exchanges of one or more of the plurality of packets. For example, wearable device 210 may determine the wireless connection is disconnected when a number of failed exchanges exceeds a threshold number of failures (e.g., 1, 3, 5).

[0092] Wearable device 210 may establish, to the computing device, a reestablished wireless connection (506). For example, once the fault that caused the wireless connection to be disconnected is resolved, wearable device 210 may reestablish the wireless connection (e.g., reestablish communication link 202). Responsive to establishing the reestablished wireless connection, wearable device 210 may transmit setup data 214 to computing device 220 through the reestablished wireless connection to cause companion setup process 226 of computing device 220 to resume from one or more second segments 218B (508). Wearable device 210 may resume setup process 216 from one or more second segments 218B based on setup data 214. In this manner, wearable device 210 and computing device 220 may perform setup process 216 in a synchronized fashion based on setup data 214.Docket No.: 1333-878WO01

[0093] Wearable device 210 may resume setup process 216 from one or more second segments 218B based on setup data 214 by selecting a segment from the one or more second segments 218B based on setup data 214, and continuing setup process 216 from the segment selected from one or more second segments 218B. For example, wearable device 210 may select a segment from one or more second segments 218B that is subsequent to the last completed segment of segments 218. For instance, wearable device 210 may identify the last completed segment based on data currently included in setup data 214 and select the segment from one or more second segments 218B that is subsequent to the last completed segment.

[0094] In response to completion of segments 218 of setup process 216 (e.g., every segment 218 of setup process 216), wearable device 210 may enable a plurality of previously disabled functions of wearable device 210 (510). In some examples, the at least partial completion of first segment 218A may entirely complete first segment 218A. Responsive to first segment 218A being entirely completed, wearable device 210 may enable a subset of the plurality of previously disabled functions. The subset of the plurality of previously disabled functions may include, for example, a previously disabled function to present an application launcher (e.g., home screen) of wearable device 210.

[0095] In some examples, one or more processors 230 execute setup module 212 to provide the functionality described above with respect to the flowchart of FIG.5.

[0096] Aspects of this disclosure include the following examples.

[0097] Example 1: A method includes establishing, by a wearable device and to a computing device, a wireless connection corresponding to a setup process for configuring the wearable device, wherein the setup process includes a plurality of segments and is completed in connection with a companion setup process of the computing device; storing, by the wearable device, setup data corresponding to at least partial completion of a first segment of the plurality of segments, wherein the wireless connection is disconnected prior to completion of one or more second segments of the plurality of segments; establishing, by the wearable device and to the computing device, a reestablished wireless connection; and responsive to establishing the reestablished wireless connection, transmitting, by the wearable device, the setup data to the computing device through the reestablished wireless connection to cause the companion setup process of the computing device to resume from the one or more second segments; and responsive to completion of the plurality of segments of the setup process,Docket No.: 1333-878WO01 enabling, by the wearable device, a plurality of previously disabled functions of the wearable device.

[0098] Example 2: The method of example 1, further comprising, responsive to establishing the reestablished wireless connection, resuming, by the wearable device, the setup process from the one or more second segments based on the setup data.

[0099] Example 3: The method of any of examples 1 and 2, wherein resuming the setup process from the one or more second segments based on the setup data comprises: selecting, by the wearable device, a segment from the one or more second segments based on the setup data; and continuing, by the wearable device, the setup process from the segment selected from the one or more second segments.

[0100] Example 4: The method of any of examples 1-3, wherein the wireless connection is disconnected prior to completion of one or more second segments of the plurality of segments and prior to the at least partial completion of the first segment, the method further comprising performing, by the wearable device, a factory reset of the wearable device.

[0101] Example 5: The method of any of examples 1-4, wherein the at least partial completion of the first segment is an entire completion of the first segment, the method further comprising responsive to the at least partial completion of the first segment, enabling, by the wearable device, a subset of the plurality of previously disabled functions.

[0102] Example 6: The method of example 5, wherein the subset of the plurality of previously disabled functions includes a previously disabled function to present an application launcher of the wearable device.

[0103] Example 7: The method of any of examples 1-6, further includes periodically exchanging, by the wearable device and through the wireless connection, a plurality of packets with the computing device; and determining, by the wearable device, the wireless connection is disconnected prior to completion of one or more second segments of the plurality of segments based on one or more failed exchanges of one or more of the plurality of packets.

[0104] Example 8: The method of any of examples 1-7, further comprising completing, by the wearable device, at least the first segment of the setup process while the wireless connection is disconnected.Docket No.: 1333-878WO01

[0105] Example 9: The method of example 8, further includes determining, by the wearable device, whether the at least the first segment can be completed without communicating with the companion setup process, wherein completing the at least the first segment while the wireless connection is disconnected is responsive to determining the at least the first segment can be completed without communicating with the companion setup process.

[0106] Example 10: A wearable device includes a memory that stores instructions; and one or more processors that execute the instructions to: establish, to a computing device, a wireless connection corresponding to a setup process for configuring the wearable device, wherein the setup process includes a plurality of segments and is completed in connection with a companion setup process of the computing device; store setup data corresponding to at least partial completion of a first segment of the plurality of segments, wherein the wireless connection is disconnected prior to completion of one or more second segments of the plurality of segments; establish, to the computing device, a reestablished wireless connection; and responsive to establishing the reestablished wireless connection, transmit the setup data to the computing device through the reestablished wireless connection to cause the companion setup process of the computing device to resume from the one or more second segments; and responsive to completion of the plurality of segments of the setup process, enable a plurality of previously disabled functions of the wearable device.

[0107] Example 11: The wearable device of example 10, wherein the one or more processors execute the instructions to, responsive to establishing the reestablished wireless connection, resume the setup process from the one or more second segments based on the setup data.

[0108] Example 12: The wearable device of any of examples 10 and 11, to resume the setup process from the one or more second segments based on the setup data the one or more processors execute the instructions to: select a segment from the one or more second segments based on the setup data; and continue the setup process from the segment selected from the one or more second segments.

[0109] Example 13: The wearable device of any of examples 10-12, wherein: the wireless connection is disconnected prior to completion of one or more second segments of the plurality of segments and prior to the at least partial completion of the first segment; and the one or more processors execute the instructions to perform a factory reset of the wearable device.Docket No.: 1333-878WO01

[0110] Example 14: The wearable device of any of examples 10-13, wherein: the at least partial completion of the first segment is an entire completion of the first segment; and the one or more processors execute the instructions to, responsive to the at least partial completion of the first segment, enable a subset of the plurality of previously disabled functions.

[0111] Example 15: The wearable device of example 14, wherein the subset of the plurality of previously disabled functions includes a previously disabled function to present an application launcher of the wearable device.

[0112] Example 16: The wearable device of any of examples 10-15, wherein the one or more processors execute the instructions to: periodically exchange, through the wireless connection, a plurality of packets with the computing device; and determine the wireless connection is disconnected prior to completion of one or more second segments of the plurality of segments based on one or more failed exchanges of one or more of the plurality of packets.

[0113] Example 17: The wearable device of any of examples 10-16, wherein the one or more processors execute the instructions to complete at least the first segment of the setup process while the wireless connection is disconnected.

[0114] Example 18: The wearable device of example 17, wherein the one or more processors execute the instructions to: determine whether the at least the first segment can be completed without communicating with the companion setup process; and the one or more processors execute the instructions to complete the at least the first segment while the wireless connection is disconnected responsive to determining the at least the first segment can be completed without communicating with the companion setup process.

[0115] Example 19: Non-transitory computer-readable storage media includes establish, to a computing device, a wireless connection corresponding to a setup process for configuring the wearable device, wherein the setup process includes a plurality of segments and is completed in connection with a companion setup process of the computing device; store setup data corresponding to at least partial completion of a first segment of the plurality of segments, wherein the wireless connection is disconnected prior to completion of one or more second segments of the plurality of segments; establish, to the computing device, a reestablished wireless connection; and responsive to establishing the reestablished wireless connection,Docket No.: 1333-878WO01 transmit the setup data to the computing device through the reestablished wireless connection to cause the companion setup process of the computing device to resume from the one or more second segments; and responsive to completion of the plurality of segments of the setup process, enable a plurality of previously disabled functions of the wearable device.

[0116] Example 20: The non-transitory computer-readable storage media of example 19, wherein the instructions, when executed by the one or more processors, cause the one or more processors to, responsive to establishing the reestablished wireless connection, resume the setup process from the one or more second segments based on the setup data.

[0117] Example 21: The non-transitory computer-readable storage media of any of examples 19 and 20, to resume the setup process from the one or more second segments based on the setup data the instructions, when executed by the one or more processors, cause the one or more processors to: select a segment from the one or more second segments based on the setup data; and continue the setup process from the segment selected from the one or more second segments.

[0118] Example 22: The non-transitory computer-readable storage media of any of examples 19-21, wherein: the wireless connection is disconnected prior to completion of one or more second segments of the plurality of segments and prior to the at least partial completion of the first segment; and the instructions, when executed by the one or more processors, cause the one or more processors to perform a factory reset of the wearable device.

[0119] Example 23: The non-transitory computer-readable storage media of any of examples 19-22, wherein: the at least partial completion of the first segment is an entire completion of the first segment; and the instructions, when executed by the one or more processors, cause the one or more processors to, responsive to the at least partial completion of the first segment, enable a subset of the plurality of previously disabled functions.

[0120] Example 24: The non-transitory computer-readable storage media of example 23, wherein the subset of the plurality of previously disabled functions includes a previously disabled function to present an application launcher of the wearable device.

[0121] Example 25: The non-transitory computer-readable storage media of any of examples 19-24, wherein the instructions, when executed by the one or more processors, cause the one or more processors to: periodically exchange, through the wireless connection, a plurality of packets with the computing device; and determine the wireless connection is disconnectedDocket No.: 1333-878WO01 prior to completion of one or more second segments of the plurality of segments based on one or more failed exchanges of one or more of the plurality of packets.

[0122] Example 26: The non-transitory computer-readable storage media of any of examples 19-25, wherein the instructions, when executed by the one or more processors, cause the one or more processors to complete at least the first segment of the setup process while the wireless connection is disconnected.

[0123] Example 27: The non-transitory computer-readable storage media of example 26, wherein the instructions, when executed by the one or more processors, cause the one or more processors to: determine whether the at least the first segment can be completed without communicating with the companion setup process; and the instructions, when executed by the one or more processors, cause the one or more processors to complete the at least the first segment while the wireless connection is disconnected responsive to determining the at least the first segment can be completed without communicating with the companion setup process.

[0124] Example 28: A computer-program product that includes instructions that cause one or more processors to perform any combination of the methods of examples 1-9.

[0125] In one or more examples, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or transmitted over, as one or more instructions or code, a computer- readable medium and executed by a hardware-based processing unit. Computer-readable media may include computer-readable storage media, which corresponds to a tangible medium such as data storage media, or communication media including any medium that facilitates transfer of a computer program from one place to another, e.g., according to a communication protocol. In this manner, computer-readable media generally may correspond to (1) tangible computer-readable storage media, which is non-transitory or (2) a communication medium such as a signal or carrier wave. Data storage media may be any available media that may be accessed by one or more computers or one or more processors to retrieve instructions, code and / or data structures for implementation of the techniques described in this disclosure. A computer program product may include a computer-readable medium.Docket No.: 1333-878WO01

[0126] By way of example, and not limitation, such computer-readable storage media may comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage, or other magnetic storage devices, flash memory, or any other storage medium that may be used to store desired program code in the form of instructions or data structures and that may be accessed by a computer. Also, any connection is properly termed a computer- readable medium. For example, if instructions are transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. It should be understood, however, that computer-readable storage media and data storage media do not include connections, carrier waves, signals, or other transient media, but are instead directed to non-transient, tangible storage media. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and Blu-ray disc, where disks usually reproduce data magnetically, while disks reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media.

[0127] Instructions may be executed by one or more processors, such as one or more digital signal processors (DSPs), general purpose microprocessors, application specific integrated circuits (ASICs), field programmable logic arrays (FPGAs), or other equivalent integrated or discrete logic circuitry. Accordingly, the term "processor," as used herein may refer to any of the foregoing structures or any other structure suitable for implementation of the techniques described herein. In addition, in some aspects, the functionality described herein may be provided within dedicated hardware and / or software modules. Also, the techniques could be fully implemented in one or more circuits or logic elements.

[0128] The techniques of this disclosure may be implemented in a wide variety of devices or apparatuses, including a wireless handset, an integrated circuit (IC) or a set of ICs (e.g., a chip set). Various components, modules, or units are described in this disclosure to emphasize functional aspects of devices configured to perform the disclosed techniques, but do not necessarily require realization by different hardware units. Rather, as described above, various units may be combined in a hardware unit or provided by a collection ofDocket No.: 1333-878WO01 intraoperative hardware units, including one or more processors as described above, in conjunction with suitable software and / or firmware.

[0129] It is to be recognized that, depending on the example, certain acts or events of any of the methods described herein may be performed in a different sequence, may be added, merged, or left out altogether (e.g., not all described acts or events are necessary for the practice of the method). Moreover, in certain embodiments, acts or events may be performed concurrently, e.g., through multi-threaded processing, interrupt processing, or multiple processors, rather than sequentially.

[0130] In some examples, a computer-readable storage medium comprises a non-transitory medium. The term "non-transitory" indicates that the storage medium is not embodied in a carrier wave or a propagated signal. In certain examples, a non-transitory storage medium may store data that can, over time, change (e.g., in RAM or cache).

[0131] Various examples have been described. These and other examples are within the scope of the following claims.

Claims

Docket No.: 1333-878WO01 CLAIMS:

1. A method comprising: establishing, by a wearable device and to a computing device, a wireless connection corresponding to a setup process for configuring the wearable device, wherein the setup process includes a plurality of segments and is completed in connection with a companion setup process of the computing device; storing, by the wearable device, setup data corresponding to at least partial completion of a first segment of the plurality of segments, wherein the wireless connection is disconnected prior to completion of one or more second segments of the plurality of segments; establishing, by the wearable device and to the computing device, a reestablished wireless connection; and responsive to establishing the reestablished wireless connection, transmitting, by the wearable device, the setup data to the computing device through the reestablished wireless connection to cause the companion setup process of the computing device to resume from the one or more second segments; and responsive to completion of the plurality of segments of the setup process, enabling, by the wearable device, a plurality of previously disabled functions of the wearable device.

2. The method of claim 1, further comprising, responsive to establishing the reestablished wireless connection, resuming, by the wearable device, the setup process from the one or more second segments based on the setup data.

3. The method of any of claims 1 and 2, wherein resuming the setup process from the one or more second segments based on the setup data comprises: selecting, by the wearable device, a segment from the one or more second segments based on the setup data; and continuing, by the wearable device, the setup process from the segment selected from the one or more second segments.Docket No.: 1333-878WO01 4. The method of any of claims 1-3, wherein the wireless connection is disconnected prior to completion of one or more second segments of the plurality of segments and prior to the at least partial completion of the first segment, the method further comprising performing, by the wearable device, a factory reset of the wearable device.

5. The method of any of claims 1-4, wherein the at least partial completion of the first segment is an entire completion of the first segment, the method further comprising responsive to the at least partial completion of the first segment, enabling, by the wearable device, a subset of the plurality of previously disabled functions.

6. The method of claim 5, wherein the subset of the plurality of previously disabled functions includes a previously disabled function to present an application launcher of the wearable device.

7. The method of any of claims 1-6, further comprising: periodically exchanging, by the wearable device and through the wireless connection, a plurality of packets with the computing device; and determining, by the wearable device, the wireless connection is disconnected prior to completion of one or more second segments of the plurality of segments based on one or more failed exchanges of one or more of the plurality of packets.

8. The method of any of claims 1-7, further comprising completing, by the wearable device, at least the first segment of the setup process while the wireless connection is disconnected.

9. The method of claim 8, further comprising: determining, by the wearable device, whether the at least the first segment can be completed without communicating with the companion setup process, wherein completing the at least the first segment while the wireless connection is disconnected is responsive to determining the at least the first segment can be completed without communicating with the companion setup process.Docket No.: 1333-878WO01 10. A wearable device comprising: a memory that stores instructions; and one or more processors that execute the instructions to perform the method of any of claims 1-9.

11. Non-transitory computer-readable storage media comprising instructions, that when executed by one or more processors of a wearable device, cause the one or more processors to perform the method of any of claims 1-9.

12. A computer-program product that includes instructions that cause one or more processors to perform any combination of the methods of claims 1-9.

Citation Information

Patent Citations

  • Standalone wearable device configuration and interface

    US11671835B2

  • Mechanisms for conserving resources of wearable devices

    US20160299779A1