CN107329965B - Method, system and device for synchronizing activity tracking device with computing device data - Google Patents

Method, system and device for synchronizing activity tracking device with computing device data Download PDF

Info

Publication number
CN107329965B
CN107329965B CN201710324879.9A CN201710324879A CN107329965B CN 107329965 B CN107329965 B CN 107329965B CN 201710324879 A CN201710324879 A CN 201710324879A CN 107329965 B CN107329965 B CN 107329965B
Authority
CN
China
Prior art keywords
computing device
activity
activity data
transfer rate
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710324879.9A
Other languages
Chinese (zh)
Other versions
CN107329965A (en
Inventor
J.帕克
B.布顿
H.潘特
E.弗里伊德曼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Feibit Co ltd
Original Assignee
Fitbit LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US14/050,292 external-priority patent/US8744803B2/en
Application filed by Fitbit LLC filed Critical Fitbit LLC
Publication of CN107329965A publication Critical patent/CN107329965A/en
Application granted granted Critical
Publication of CN107329965B publication Critical patent/CN107329965B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The present application relates to methods, systems, and devices for synchronizing activity tracking devices with computing device data. Methods, systems, and devices are provided for capturing activity data associated with user activity via a device and transmitting the data to a client device at a selected defined transmission rate based on an update condition. The activity data is captured over time. The activity data is stored in a storage means of the device. The method sets a data transfer rate between the device and a computing device based on the detected update condition. The update condition is used to select one of the following transfer rates: a first transfer rate for transferring activity data captured and stored over a period of time, or a second transfer rate for transferring activity data displayable in substantially real-time on the computing device. The first transmission rate is set in response to scaling up the connection interval, and the second transmission rate is set in response to scaling down the connection interval.

Description

Method, system and device for synchronizing activity tracking device with computing device data
The present application is a divisional application of the national application No. 201410524729.9, filed as international filing date 10/8/2014 entitled "method, system, and device for synchronizing activity tracking device with computing device data".
Technical Field
The present disclosure relates to systems and methods for capturing activity data over a period of time and synchronizing data transfer between a tracking device and a client device.
Background
In recent years, the demand for health and fitness has grown dramatically. This growth occurs because of a better understanding of the benefits of good fitness practices for the overall physical and mental health status. Unfortunately, while modern cultures today bring many new technologies such as the internet, connected devices and computers, people have become less and less active. In addition, many office operations require people to sit in front of a computer screen for extended periods of time, which further reduces the amount of activity of the individual. In addition, many of today's entertainment options involve viewing multimedia content, computer social networks, and other types of computer-related interactions. While such computer activities can be extremely productive and entertaining, such activities tend to diminish an individual's overall physical activity.
Fitness trackers are often used in order to provide a way for users who are concerned about health and fitness to measure or describe their activities or lack thereof. Fitness trackers are used to measure activities such as walking, exercising, running, sleeping, inactivity, cycling, exercising on an elliptical machine (elliptical trainer), and the like. Typically, data collected by such fitness trackers may be communicated to and viewable on a computing device. However, such data is typically provided in a basic accumulated form of activity data with complex or confusing interfaces. Additionally, updates between the tracker and the client device typically require a wired connector and/or a complex synchronization scheme.
It is in this context that the embodiments described herein have been made.
Disclosure of Invention
Embodiments described in this disclosure provide systems, apparatuses, computer-readable media, and methods to set a data transfer rate between an activity tracking device and a computing device client based on detected update conditions. The transfer rate is set by scaling up or down the connection interval of data transfer depending on the type/amount of data to be transferred according to the update condition.
In one embodiment, a method is provided. The method includes capturing, via a device, activity data associated with a user activity. The activity data is captured over time and the activity data is quantified by a plurality of metrics. The method is for storing activity data in a storage of a device and connecting the device with a computing device via a wireless communication link. The method detects an update condition when the device is connected with the computing device. The method sets a data transfer rate between the device and the computing device based on the detected update condition. The update condition is used to select one of the following transfer rates: a first transfer rate for transferring activity data captured and stored over a period of time, or a second transfer rate for transferring activity data that is displayable on a computing device in substantially real-time. The update condition is for selecting a first transfer rate when it is detected that the active tracking application is turned on the computing device, and the update condition is for selecting a second transfer rate when the device is connectable with the computing device and the active tracking application remains turned on, the method being performed by a processor.
In another embodiment, a device configured to capture user activity is provided. The device includes a housing and a sensor disposed in the housing to capture activity data associated with a user activity. The activity data is captured over time and the activity data is quantified by an associated plurality of metrics. A memory is provided in the device for storing the captured activity data. The device further includes a processor that connects the device with a computing device via a wireless communication link. When the device is connected with a computing device, the processor detects an update condition to cause the processor to set a data transfer rate between the device and the computing device based on the detected update condition. The update condition is used to select one of the following transfer rates: a first transfer rate for transferring activity data captured and stored over a period of time, or a second transfer rate for transferring activity data for display on a computing device in substantially real-time. The update condition is used to select a first transfer rate when an activity tracking application on the computing device is detected to be on, and to select a second transfer rate when the device is connectable with the computing device and the activity tracking application remains on.
In another embodiment, a method is provided. The method includes capturing, via a device, activity data associated with a user activity. The activity data is captured over time and the activity data is quantified by a plurality of metrics. The activity data is stored in a storage means of the device. The method includes connecting a device to a computing device via a wireless communication link and detecting an update condition. The method sets a data transfer rate between the device and the computing device based on the detected update condition. The update condition is used to select one of the following transfer rates: a first transfer rate for transferring activity data captured and stored over a period of time, or a second transfer rate for transferring activity data that is displayable on a computing device in substantially real-time. The update condition is used to select a first transfer rate when an active tracking application is detected to be launched on the computing device, and the update condition is further used to select a second transfer rate when the device is connected to the computing device and the active tracking application is turned on. The method includes transmitting activity data from the device to the computing device at the selected first transfer rate or second transfer rate. The first transmission rate is set in response to scaling up the connection interval and the second transmission rate is set in response to scaling down the connection interval, the method being performed by a processor.
A computer readable medium is also provided for storing program instructions executable by a processor for managing data transfer between an activity tracking device and a computing device client.
Other aspects will become apparent from the following detailed description taken in conjunction with the accompanying drawings which illustrate, by way of example, the principles of the described embodiments of the disclosure.
Drawings
The various embodiments described in this disclosure can be best understood by referring to the following description taken in conjunction with the accompanying drawings.
FIG. 1A shows a block diagram of an activity tracking device according to one embodiment of the present invention.
FIG. 1B illustrates an example of an activity tracking device according to one embodiment of the present invention.
FIG. 1C illustrates another example of an activity tracking device according to one embodiment of the present invention.
FIG. 2 shows an example of an activity tracking device including exemplary components for tracking the activity and movement of the device, and an associated interface to a display screen, according to one embodiment of the invention.
FIG. 3 illustrates an example of an activity tracking device in communication with a remote device and interfacing with a server according to one embodiment of the invention.
Fig. 4A-4C illustrate embodiments of communication operations between an activity tracking device, a client device, and a backend server.
Fig. 5 is a diagram showing dynamic switching between first and second connection interval settings according to one embodiment of the present invention.
FIG. 6 shows a diagram showing various periods when a transfer may occur between an activity tracking device and a client device, according to one embodiment of the invention.
FIG. 7 illustrates a flow diagram associated with one embodiment of the invention in which the connection interval is scaled up or down depending on the update condition detected between the activity tracking device and the computing device (client device).
Figure 8 shows a flow diagram of one embodiment of the present invention.
FIG. 9 illustrates an example of various types of activities that may be captured or collected by an activity tracking device for a user according to various embodiments of the invention.
Detailed Description
Embodiments described in this disclosure provide systems, apparatuses, computer-readable media, and methods for scaling a connection interval for round-trip data transfer between an activity tracking device and a computing device. The computing device may be a computer executing an activity tracking Application (APP). The computing device may take any form so long as it can process information, load and execute applications, and can wirelessly communicate with the activity tracking device. For purposes of example, the computing device may be a computer, tablet computer, smartphone, tablet, laptop computer, desktop computer, watch computer, glasses computer, or any device that has access to memory and has processing capabilities.
The scaling of the connection interval enables dynamic setting of a data transfer rate between the activity tracking device and the computing device based on the determined update condition. The update condition may include detecting that an application (e.g., an activity tracking application) on the computing device has been turned on, causing the first transfer rate to be set. The first transfer rate has a scaled-up connection interval that allows higher frequency packets to be sent between the active tracking device and the computing device (e.g., changing the packet transfer frequency).
The scaled-up connection interval of the first transfer rate enables faster downloading of larger chunks of data and/or data records from the activity tracking device to the computing device to enable display of tracked or monitored information collected when the application is not turned on or the computing device is not within wireless connection range with the activity tracking device. In some embodiments, the scaled-up connection interval also enables data to be transferred for firmware updates to the device when an update is needed, planned, or required. In one configuration, if the update condition specifies that the activity tracking device generates data that may be transferred to the computing device when the application is started, the connection interval may be scaled down to set a second data transfer rate between the activity tracking device and the computing device. In one embodiment, during the first transfer rate, the transfer of data from the activity tracking device is set directly to a site, e.g., a storage associated with a website that manages accounts related to activity tracking information. In some embodiments, the computing device acts as a transport conduit between the activity tracking device and the website.
The second transfer rate is used to transfer updates to enable defining metrics on the monitored or captured activity data. In a scaled down connection interval, the data transfer rate is slower than a scaled up connection interval, but the amount of data to be transferred is usually less or exactly the data detected/monitored by the activity tracking device. Thus, the second transfer rate of the scaled-down connection interval is sufficient to enable the transfer of updates of activity data captured, monitored, or collected by the activity tracking device to the computing device. Communicating updates enables such activity data to be processed by the computing device and displayed substantially in real-time on a screen of the computing device as the activity has just occurred and a connection between the activity tracking device and the computing device can be maintained. In one embodiment, the second transfer rate is sufficient to enable an external device (e.g., a computing apparatus, a smartphone, a tablet, a laptop computer, a desktop computer, a watch computer, a glasses computer, etc.) to function as a real-time data display.
Further, the data transmitted need not be just athletic or activity data, but the data may include any type of data, such as altitude or relative altitude data, barometric pressure data, heart rate data, temperature data, alarm data, target data, historical status data, processed data, raw data, and so forth.
Additionally, while computing devices typically have access to an internet connection, not every transfer between the activity tracking device and the computing device requires an internet connection. When the computing device is connected to the internet, the computing device may then synchronize the data to the server. In one embodiment, the server may be one or more distributed servers, data centers, virtualized servers in distributed data centers, and the like. In one embodiment, the server executes an activity management application, thereby enabling a user account to access metrics associated with the activity tracking device.
It should be noted that many of the inventions are described and illustrated herein. The present invention is not limited to any single aspect or embodiment thereof, nor to any combination and/or permutation of such aspects and/or embodiments. Moreover, each aspect of the present invention and/or embodiments thereof may be used alone or in combination with one or more other aspects of the present invention and/or embodiments thereof. For the sake of brevity, many of those permutations and combinations will not be discussed individually herein.
Furthermore, in describing and illustrating the present invention, various circuits, architectures, structures, components, functions and/or elements, as well as combinations and/or permutations thereof, are set forth. It is to be understood that circuits, architectures, structures, components, functions and/or elements, and combinations and/or permutations thereof, other than those explicitly described and illustrated, are contemplated and are within the scope of the present invention.
FIG. 1A shows a block diagram of an activity tracking device 100 according to one embodiment of the present invention. The activity tracking device 100 is contained in a housing that can be worn or grasped by a user. The housing may be in the form of a wristband, device clip, wearable device, or may be held in a user's hand or held in a pocket or attached to a user's body by the user. The activity tracking device 100 includes a device component 102, which may be in the form of logic, storage and glue logic, one or more processors, microelectronics, and docking circuitry. In one example, the component 102 includes a processor 106, a memory 108, a wireless transceiver 110, a user interface 114, a biometric sensor 116, and an environmental sensor 118.
The environmental sensor 118 may be in the form of a motion detection sensor. In some embodiments, the motion sensor may be one or more of the following: an accelerometer, or a gyroscope, or a rotary encoder, or a calorie measuring sensor, or a heat measuring sensor, or a humidity measuring sensor, or a displacement sensor, or an ultrasonic sensor, or a pedometer, or an altimeter, or a linear motion sensor, or an angular motion sensor, or a multi-axis motion sensor, or a combination thereof. The biometric sensor 116 may be defined to measure a physiological characteristic of a user using the activity tracking device 100. The user interface 114 provides a way to communicate with the activity tracking device 100 in response to user interactions 104. The user interaction 104 may be in the form of physical contact (e.g., without limitation, a tap, a slide, a friction, multiple taps, a gesture, etc.).
In some embodiments, the user interface 114 is configured to accept the user interaction 104 in the form of a non-contact input. The non-contact input may be via a proximity sensor, a key, a touch screen input, a graphical user interface input, a voice input, or the like. The activity tracking device 100 may communicate with a client and/or server 112 using a wireless transceiver 110. Wireless transceiver 110 allows activity tracking device 100 to communicate using a wireless connection enabled by wireless communication logic. The wireless communication logic may be in the form of circuitry having radio communication capabilities. The radio communication capability may be in the form of a Wi-Fi connection, a bluetooth connection, a low energy bluetooth connection, or any other form of wireless sharing (tethering) or near field communication. In other embodiments, the activity tracking device 100 may communicate with other computing devices using a wired connection (not shown). As mentioned, the environmental sensors 118 may detect motion of the activity tracking device 100.
The movement may be a user activity such as walking, running, climbing stairs, etc. The motion may also be in the form of physical contact received on any surface of the activity tracking device 110, so long as the environmental sensor 118 can detect such motion caused by the physical contact. As explained in more detail below, the physical contact may be in the form of one tap or multiple taps of a finger on the housing of the activity tracking device 100.
Fig. 1B shows an example of activity tracking device 100 having a housing 130 in the form of a wearable wrist attachment device. The sensors of activity tracking device 100 may detect motion, such as physical contact, imparted and received on surface 120 of housing 130 as described above. In the example shown, the physical contact 124 is in the form of one tap or multiple taps on the surface 120. In one embodiment, the device component 102 is contained within a housing 130. The location at which the device component 102 is integrated into the housing 130 may vary. For example, the device components 102 may be integrated at various locations around the housing 130 and are not limited to the central portion of the wrist attachment device. In some embodiments, device component 102 may be integrated into or with a smart watch device.
In other embodiments, device component 102 is positioned substantially in a central location of the wrist attachment device, such as below or near where display screen 122 is located. In the example shown, the housing 130 also includes a button 126. Button 126 may be pressed to activate display screen 122, navigate to various metrics displayed on screen 122, or turn off screen 122.
FIG. 1C illustrates another example of an activity tracking device 100 according to one embodiment of the present invention. The form factor of activity tracking device 100 is shown as a clickable device that includes screen 122, buttons 126, and device components 102 integrated into housing 130'. The housing 130' may include a clip that allows attachment to a user's clothing or item, or simply placement of the device within a user's pocket or holder. Thus, the physical contact 124 shown with respect to FIG. 1B may also be implemented on the surface 120 of the activity tracking device 100 of FIG. 1C. Accordingly, it should be appreciated that the form factor of the activity tracking device 100 may take on a variety of configurations and should not be limited to the exemplary configurations provided herein.
FIG. 2 illustrates an example of the activity tracking device 100 of FIG. 1A, showing some additional exemplary components for tracking activity and movement of the device, and an interface associated with the display screen 122. In this example, the user's finger may be used to tap and provide physical contact 124 on any surface 120 of the activity tracking device 100. The physical contact, when sensed by the sensor 156 of the activity tracking device 100, will cause the activity tracking device 100 to respond and thus provide some measure on the display screen 122. In one embodiment, examples of the display screen 122 may include, but are not limited to, a Liquid Crystal Display (LCD) screen, a Light Emitting Diode (LED) screen, an Organic Light Emitting Diode (OLED) screen, a plasma display screen, and the like.
As illustrated in fig. 2, the activity tracking device 100 includes logic 158. Logic 158 may include activity tracking logic 140, physical contact logic 142, display interface logic 144, alarm management logic 146, wireless communication logic 148, processor 106, and sensors 156. Additionally, storage (e.g., memory) 108 and battery 154 may be integrated into activity tracking device 100. The activity tracking logic 140 may include logic configured to process the motion data generated by the sensor 156 in order to quantify the motion and generate an identifiable metric associated with the motion.
Some sports generate and quantify various types of metrics, such as steps, stairs climbed, distance traveled, minutes of extreme activity, calories consumed, and so forth. Physical contact logic 142 may include logic to calculate or determine when a particular physical contact may qualify as an input. To qualify as an input, the physical contact detected by the sensor 156 should have a specific pattern that is recognizable as an input. For example, the input may be predefined as a double tap input, and the physical contact logic 142 may analyze the motion in response to analyzing sensor data generated by the sensor 156 to determine whether a double tap did occur.
In other embodiments, the physical contact logic may be programmed to determine when a particular physical contact occurs, the time between physical contacts, and whether one or more physical contacts qualify within a predefined motion profile (profile) indicating that input is required. If physical contact does occur that is not within some predefined configuration feature or pattern, then the physical contact logic does not indicate the physical contact as input or qualify the physical contact as input.
The display interface logic 144 is configured to interface with the processor and the physical contact logic to determine when particular metric data will be displayed on the display screen 122 of the activity tracking device 100. The display interface logic 144 may operate to open a screen, display metric information, display character or alphanumeric information, display graphical user interface graphics, or a combination thereof. The alert management logic 146 may function to provide a user interface and settings to manage and receive input from a user to set an alert. The alarm management logic can interface with a timing module (e.g., clock, calendar, time zone, etc.) and can trigger the enablement of an alarm. The alarm may be in the form of an audible alarm or a non-audible alarm.
Non-audible alerts may provide such alerts via vibration. The vibrations may be generated by a motor integrated into activity tracking device 100. Vibrations may be defined to include various vibration patterns, intensities, and custom setting patterns. The vibrations generated by one or more motors of activity tracking device 100 may be managed by alarm management logic 146 in conjunction with the processing of processor 106. The wireless communication logic 148 is configured to cause the activity tracking device to communicate with another computing device via wireless signals. The wireless signal may be in the form of a radio signal. As mentioned above, the radio signal may be in the form of a Wi-Fi signal, a bluetooth signal, a low energy bluetooth signal, or a combination thereof. The wireless communication logic may interface with the processor 106, storage 108, and battery 154 of the device 100 for communicating activity data, which may be in the form of athletic data or processed athletic data, stored in the storage 108 to the computing device.
In one embodiment, processor 106 functions in conjunction with various logic components 140, 142, 144, 146, and 148. In one embodiment, the processor 106 may provide the functionality of any or all of the logic components. In other embodiments, multiple chips may be used to separate the processing performed by any of the logic and processor 106. The sensors 156 may communicate with the processor 106 and/or the logic via a bus. The storage device 108 also communicates with the bus to provide storage for the motion data processed or tracked by the activity tracking device 100. A battery 154 is provided to provide power to the activity tracking device 100.
FIG. 3 shows an example of activity tracking device 100 in communication with remote device 200. Remote device 200 is a computing device capable of wireless communication with activity tracking device 100 and internet 160. Remote device 200 may support the installation and execution of applications (e.g., APPs, mobile APPs, etc.). Such applications may include an activity tracking application 202. The activity tracking application 202 may be downloaded from a server. The server may be a dedicated server or a server that provides applications to the device, such as an application store. Once the activity tracking application 202 is installed in the remote device 200, the remote device 200 may communicate with or be set in communication with the activity tracking device 100 (device A). Remote device 200 may be a smartphone, handheld computer, tablet computer, laptop computer, desktop computer, or any other computing device capable of wirelessly interfacing with device a. In one embodiment, the remote device may also have circuitry and logic to communicate with the internet. However, it should be appreciated that no internet connection is required in order for the remote device 200 to be able to communicate with the activity tracking device 100.
In one embodiment, the remote device 200 communicates with the activity tracking device 100 via a bluetooth connection. In one embodiment, the bluetooth connection is a low energy bluetooth connection (e.g., bluetooth LE, BLE, or bluetooth Smart). Bluetooth low energy is configured to provide low power consumption relative to standard bluetooth circuitry. In one embodiment, low energy bluetooth uses a 2.4GHz radio frequency, which allows dual mode devices to share a single radio antenna. In one embodiment, a low energy bluetooth connection may function over a distance of up to 50 meters and the data rate via the radio is in a range between 1-3 megabits (Mb)/second. In one embodiment, the proximity for communication may be defined by a particular wireless link and is not limited to any particular standard. It should be appreciated that the proximity distance limit will vary according to existing standards and in view of future standards and/or circuits and capabilities.
Remote device 200 may also communicate with the internet 160 using an internet connection. The internet connection of the remote device 200 may include a cellular connection, a wireless connection such as Wi-Fi, and combinations thereof (e.g., a switch connected between different types of connection links). The remote device as described above may be a smartphone or tablet computer, or any other type of computing device that has access to the internet and has the ability to communicate with the activity tracking device 100.
In one embodiment, a server 220 is also provided that interfaces with the internet 160. The server 220 may include a plurality of applications that serve the activity tracking device 100 and associated users of the activity tracking device 100 via user accounts. For example, the server 220 may include an activity management application 224. The activity management application 224 may include logic that provides access to various devices 100 associated with user accounts managed by the server 220. Server 220 may include storage 226 that includes different user profiles associated with different user accounts. The user account 228a for user A and the user account 228N for user N are shown to include different information.
The information may include, but is not limited to, device-user account pairing 300, system configuration, user configuration, settings and data, and the like. The storage 226 will include a number of user profiles depending on the number of registered users with their user accounts of their respective activity tracking devices. It should also be noted that a single user account may have various or multiple devices associated with it, and that multiple devices may be customized, managed, and accessed independently by the user. In one embodiment, the server 220 provides access for the user to view user data 302 associated with the activity tracking device. The user data may include historical activity data.
The data viewable by the user includes tracked motion data that is processed to identify a plurality of metrics associated with the motion data. The metrics are presented in various graphical user interfaces of a website enabled by server 220. The website may include various pages having graphical user interfaces for presenting and displaying various metrics for viewing by users associated with user accounts. In one embodiment, the website may also include an interface that allows data entry and configuration by the user.
Configuration may include defining which metrics are displayed on the activity tracking device 100. Additionally, the configuration may include identifying which metrics will be the first metric to display on the activity tracking device. The first metric displayed by the activity tracking device may be responsive to user input at the activity tracking device 100. As mentioned above, the user input may be via physical contact. The physical contact is qualified by the processor and/or logic of activity tracking device 100 to determine whether the physical contact should be processed as input. The input may trigger or cause a display screen of the activity tracking device 100 to be opened to display a particular metric selected by the user as the first metric to be displayed. In another embodiment, the first metric displayed in response to the input may be predefined by the system as a default.
The configuration provided by the user via the server 220 and the activity management application 224 may also be provided via the activity tracking application 202 of the computing device 200. For example, the activity tracking application 202 may include a plurality of screens that also display metrics associated with the captured motion data of the activity tracking device 100. The activity tracking application 202 may also allow user input and configuration at various graphical user interface screens to set and define which inputs produce the display.
Fig. 4A-4C illustrate an embodiment of communication operations between an activity tracking device, a client device, and a backend server according to an embodiment of the present invention.
The communications described with reference to the flow diagrams of fig. 4A-4C should be considered merely exemplary illustrations of operations occurring between an activity tracking device, a client device (computing device), and a back-end server (server). In this illustrated example, the thick arrows indicate that the connection interval has been scaled up to operate the data transfer at the first data transfer rate, while the thin arrows indicate that the connection interval has been scaled down to operate the data transfer at the second data transfer rate.
In one embodiment, the first transfer rate is designed to allow transfer of a larger amount of data that has been stored on the activity tracking device over a period of time, for example, since the last connection to the computing device was made. The activity tracking data stored on the activity tracking device may include, for example, motion data associated with various activities performed by the user, data sensed by the activity tracking device, or data measured by the activity tracking device.
Various activities may include, but are not limited to, walking, running, jogging, walking up and down stairs, and general movement. Other information that may be stored by the activity tracking device may include, for example, measured information such as heart rate information, temperature information, and the like. In one embodiment, the storage of the activity tracking device stores this information for a period of time until a connection is made with a client device, such as a computing device configured to synchronize with the activity tracking device. In one embodiment, the computing device (client device) may be a smartphone, tablet computer, laptop computer, desktop computer, or general purpose computing device.
In one embodiment, the first transfer rate is defined by scaling up a connection interval of a communication channel established between the activity tracking device and the client device. For example, if the communication channel is a low energy bluetooth connection, the connection interval may be scaled to achieve more frequent packet transfers than the second transfer rate.
First transfer rate (connection interval up-scaling)
The connection interval for the first transmission rate may be scaled up to set the throughput of the packets such that each packet is transmitted in less than about 200 milliseconds (ms). In an exemplary embodiment, the first transmission rate is set to transmit one packet every about 10ms to about 30 ms. In another exemplary embodiment, the first transmission rate may be one packet every approximately 20 ms. In one embodiment, each packet is about 20 bytes.
In one embodiment, the first data transfer rate may be defined in frequency as being in a range between about 500Bps (bytes/second) and about 2kBps (kilobytes/second). In one example, the data transfer rate is about 1kBps (kilobytes/second).
Second transfer rate (connection interval scaled down)
The connection interval for the second transmission rate may be scaled down to set the throughput of the packets such that each packet is transmitted at an interval greater than about 200 milliseconds (ms). In an exemplary embodiment, the second transmission rate is set to transmit one packet every 500 ms. In some implementations, depending on the frequency of events or whether there are events, the transfer rate can be set to update only after a few seconds (e.g., about 1-10 seconds). In one embodiment, each packet is about 20 bytes.
In one embodiment, the second data transfer rate may define a frequency value of less than 500bps (bytes per second). In another embodiment, the second data transfer rate may be set to a value of less than 100bps (bytes/second). In another example, the second data transfer rate may be about 1Bps (1 byte/second). In some embodiments, the transmission rate may be scaled down even further depending on the frequency of events or whether there are events.
It should be appreciated that these example rates, parameters, and/or sizes may change over time, depending on criteria, customization, and/or optimization. Accordingly, these parameters should be considered as examples only. It should be further appreciated that the methods and apparatus defined herein may implement embodiments that include more than two data transfer rates. In fact, the number of data transfer rates may include any number based on the number of predefined connection intervals to scale up or down. Of course, the number of intervals varies depending on the implementation.
By scaling up or down the connection interval, what changes is not the actual throughput, but actually the possible bandwidth that can be supported by the channel. In the first data transfer rate, the scaled setting uses almost all of the channel bandwidth. In the second data transfer rate, most of the available channel bandwidth is unused. The consideration of both transfer rates is latency, so the system does not want to wait too long before a single event (e.g., a substantially one bit (bit) of information) can reach from one device to another.
Returning to FIG. 4A, the activity begins at operation 402, where the activity tracking device detects and stores activity data associated with the motion or data collected by the device. In the example of fig. 4A, assume that the activity tracking device is from a website (e.g., site) of an unsynchronized server. Therefore, pairing of the activity tracking device with the site needs to occur at least once.
In operation 408, the client device may detect that an application on the client device is open. The open application is, for example, activity tracking application 202. In operation 410, the client device begins pairing with the activity tracking device. Pairing may occur, for example, when a user requests to initiate pairing.
In this embodiment, the pairing is a pairing between the activity tracking device and a site enabled via the computing device client. For example, scanning, connection, and data transfer at a computing device enables pairing with a site. If the activity tracking device has activity data, it is also synchronized with the site, as shown in 424 and 425. Communication between the computing device and the activity tracking device is conducted according to a first transfer rate that transfers data using the upscaled connection interval. The first transfer rate may include, for example, command data 430 requesting data from the activity tracking device, transmit data 432, and acknowledgement information 434 of the received data. At this point, the user may wish to close the application 414 at the client computing device.
In fig. 4B, an example of a connection is shown where an activity tracking device has been previously paired to a site on a server, according to one embodiment of the invention. In operation 402, activity data is detected and stored on an activity tracking device. At some point, an application at the computing device is started 408. As mentioned above, the application may be an activity tracking application 202. The update condition is detected by the client device, which is identified by opening the application. The update condition is used to scale up the connection interval to set the first data transfer rate.
Thick arrows 430, 432, and 434 represent a first data transfer rate, which is a faster transfer rate than a second transfer rate. The operation of the real-time client display update 406 is processed once the synchronization 404 and synchronization 425 with the site is completed using the client's scanning, connection, and data transfer 412.
The update condition has now changed, causing the connection interval between the activity tracking device and the computing device to scale down. As mentioned above, this causes the second transfer rate to control the data exchanged to the computing device for real-time data display 420. In one embodiment, arrow 436 indicates a request for a real-time update from a computing device. Arrow 438 indicates the data transfer using the second data transfer rate for any data available for transfer. Arrow 439 indicates that the client device has closed application 414 so that the device can stop sending updated commands.
Fig. 4C illustrates an embodiment in which the activity tracking device is connected to the computing device and not to the server. Without a server connection, the computing device (client) does not establish a pairing with the server, but instead only establishes a connection with the activity tracking device to perform real-time client display updates. As mentioned above, the activity tracking device will be set to communicate with the computing device using a second transfer rate that is a result of scaling down the connection interval for performing the update transfer.
In this embodiment, the transfer of the updates to the computing device occurs, and the computing device may display the updates from the tracker in substantially real-time. In one implementation, updates are communicated at a rate that is substantially imperceptible to a user viewing a changing screen or display of a computing device (e.g., a display of a smartphone, a smartwatch, an eyewear device, etc.). In one example, substantially real-time updates occur with a transmission delay of the display of less than about 2 seconds. In other embodiments, the transfer delay is less than about 1 second. In other embodiments, the transfer delay is less than about 0.6 seconds. The update appears to occur in real time to the human perception, where the updated activity data is continuously updated to the client device and the display changes continuously or intermittently, depending on whether activity is captured. In some embodiments, the real-time display will show changing numbers on the screen, such as step counts, stair counts, show distance traveled, and the like.
Communication between the client device and the server is performed using an internet connection link, such as a Wi-Fi connection or a cellular connection. As mentioned in this disclosure, the activity tracking device may be a wearable device on the user's wrist, or a device that may be gripped by the user or attached to the user's clothing. When the user engages in an exercise or activity, the captured information may be communicated directly to a client device, such as a smartphone having an activity tracking application 202.
If the activity tracking application 202 is turned on and the user views one or more screens or data provided by the activity tracking application, the motion or activity data is transmitted to the smartphone for display. Thus, if a user is currently viewing a screen that displays metric data associated with an activity performed by the user, the activity may be updated in substantially real-time as the user engages in the activity. For example, if the user views a screen displaying the number of steps while walking, the number of steps may be shown as increasing as the user walks and views the display on the smartphone.
As illustrated in the flow diagrams of fig. 4A-4C, communications between an activity tracking device, a computing device, and a backend server are managed. However, it should be appreciated that communication between the activity tracking device and the client device may occur without any internet connection or connection to a back-end server, as mentioned with respect to fig. 4C. When the client device establishes an internet connection at some point, the client device may then synchronize with the backend server, such as during background synchronization or when an application on the client device is turned on again.
Fig. 5 is a diagram 500 illustrating dynamic switching between a first connection interval setting 502 and a second connection interval setting 504 according to one embodiment of the invention. In this example, the vertical axis is the transfer rate, and the horizontal axis is time. At some point, an application at the client device is started. In one example, the open application is activity tracking application 202, as described in FIG. 3. When the activity tracking application 202 is turned on, the communication between the activity tracking device and the client device scales up in connection interval. The connection interval defines a first transmission rate 506 at which packets are transmitted over a period of time or at a frequency.
As described above, the first connection interval setting 502 may transmit one packet every about 10ms to about 30 ms. Packet transfer occurs via a low energy bluetooth connection, thereby saving energy of the active tracking device. In one embodiment, the first connection interval setting 502 is maintained during data transfer. The data transfer that occurs after application 202 is first turned on is to transfer data that has been stored in the activity tracking device for some time. This data may include data maintained by the activity tracking device for hours, days, or even months.
Accordingly, during the first connection interval setting 502, such collected and stored data is downloaded to the client device to enable the client device to process the data and display information on one or more graphical user interfaces of the activity tracking application 202. In one embodiment, the first connection interval setting 502 may also be used to transfer firmware from the client device to the activity tracking device.
Transferring firmware to an activity tracking device generally involves transferring larger blocks of data, and increasing or scaling up the connection interval allows such transfers to occur at a relatively faster rate. The scaled-up connection interval provides a substantially serialized transmission channel between the client device and the activity tracking device via the bluetooth low energy connection using the scaled-up connection interval. In bluetooth low energy, serial data transfer is not allowed, but by scaling up the connection interval it is possible to simulate an actual serial connection. In the case of a firmware update, it should be noted that the firmware image is running on the activity tracking device, so the update needs to be coordinated with the transmission of commands to save state, stop running the image, install the image, and resume performing the firmware image update. Because the connection between the activity tracking device and the client device is substantially serialized (due to the scaled-up connection interval setting), the firmware image files and update commands can be managed by the server.
When it is determined that an update is needed, the server may directly issue instructions from the server to scale up the connection interval, transmit the firmware update, and coordinate the installation. In one embodiment, by coordinating firmware updates from the server, applications running on the client device are not required to manage the updates, thereby also avoiding coordination with application stores and sites to implement firmware updates. The determination of updates, the making of updates, and the coordination of updates may be directed by the server in any schedule or when updates are needed. In this configuration, the client device merely acts as a communication conduit that allows controls and data/firmware from the server to be directly communicated and exchanged to the activity tracking device.
In one embodiment, the device 100 may have two Operating Systems (OSs) so that each operating system may be updated independently and without the risk of disabling the device from communicating via bluetooth. In one configuration, the firmware update scheme includes deciding which OS the tracker will boot. The site on the server stores information about each firmware version and can calculate delta and data migration instructions from any version to any other version. For example, a computing device client may repeatedly query the current state from the device 100, send the state to a site, receive a specific command to send to the device in response, and then query the device again after executing the command to obtain its current state. In this way, the client need not know details about any particular version because the site can manage firmware updates.
With continued reference to fig. 5, at a point 512, it is detected that the data download has ended or the firmware update has ended, and at this point, the connection interval is scaled down to the second connection interval setting 504. The second connection interval setting 504 is used to reduce the transmission rate to a second transmission rate. As mentioned above, the second transfer rate is used because the amount of data transferred during this time represents only an update of the data stored in the client device. For example, the updated data may include the number of currently monitored steps that are transmitted to the client device in the form of smaller packet updates.
The client device may then display the updates in substantially real-time on one or more graphical user interface screens provided by the activity tracking application 202. As mentioned above, one example of the second transmission rate may be one packet per 500 ms. This transfer rate is sufficient to update one or more metrics captured by the activity tracking device and configured to be displayed substantially in real-time on the client device (the screen of the smartphone). The second connection interval setting 504 will be maintained for the period of time when updates of activity data changes are captured by the activity tracking device or data is ready for transmission. Substantially real-time updates will stop or terminate when activity tracking application 202 is closed.
Fig. 6 shows a diagram 550 showing various periods when a transfer occurs between an activity tracking device and a client device, according to one embodiment of the invention. In an example, data transfer (e.g., update) occurs during the background update 602, download update 604, real-time update 606, and no update during periods outside the range of the computing device 608. In this example, first transfer rate 506 and second transfer rate 508 are shown in the vertical axis. The horizontal axis shows time.
When the activity tracking application 202 is not turned on, but the computing device is within communication range with the activity tracking device, a context update is enabled 602. The background updates are programmed at predetermined times depending on how often or how infrequently updates are received from the activity tracking devices. In the figure, background updates occur at times t1-t2, t3-t4, and t5-t 6. In one embodiment, background synchronization may be triggered by the tracker by informing the tracker that there is data to be synchronized, and typically the actual global time between these data synchronizations is 15-90 minutes, or typically occurs in the range of 20-30 minutes. However, when the activity tracking device is within communication range of the computing device (client device), background mode updates/synchronization are enabled. In one embodiment, the range may be defined by the capabilities of the low energy bluetooth standard, and also taking into account the environment and/or structure between the tracker and the client.
In other implementations, other communication distances may be enabled if other wireless standards are used now or in the future. As further shown, in one implementation, the background update 602 occurs at a second transfer rate 508 that implements a second connection interval setting. In an alternative implementation, the background update 602 may be performed using the first interval connection setting 502. The download update 604 occurs at a first connection interval setting, where a large block of data from the storage of the activity tracking device is transferred when it is detected at time t7 that the application has been started. Between times t7 and t8, a download update 604, or activity tracking device firmware update, occurs.
The transfer rate is set at a first transfer rate (transferred at a first connection interval setting 502) by scaling up the connection interval between the activity tracking device and the computing device. After detecting at time t8 that the application has been closed, the second connection interval setting 504 is set by scaling down the connection interval. This places the real-time update 606 at the second transfer rate 508. As shown by the vertical bars, the transfer is less continuous during this time and depends on whether data is produced by the activity tracking device and whether there is a need to transfer the data to the client device. For any such transfer of data, the transfer occurs at a second transfer rate, as specified by a second connection interval setting 504. At time t9, it is determined that the application has closed. If the computing device leaves the range of the activity tracking device, no update occurs during time 608.
FIG. 7 illustrates a flow diagram associated with one embodiment of the invention in which the connection interval is scaled up or down depending on the update condition detected between the activity tracking device and the computing device (client device). The method begins at operation 702, where activity data is collected using an activity tracking device. The activity data is the result of movement data generated by a user wearing, holding, or carrying the connected tracking device. The activity data may also be associated with data monitored by the device, such as blood pressure, heart rate, barometric pressure readings, and other metrics associated with environmental conditions or user conditions. At operation 704, the collected activity data is stored in a storage of the activity tracking device. The storage device may be any type of memory, such as a non-volatile memory.
In one example, the update condition is determined at operations 706 and 708. For example, in operation 706, it is determined whether an application (e.g., activity tracking application 202) is up and available to connect with (e.g., within connection range of) the activity tracking device. If the application is not open, a determination is made as to whether the computing device is connectable to devices within transmission range in operation 708. If the computing device is within the transfer range, the method moves to operation 712. In operation 712, a transfer of the background data to the computing device is performed using a first transfer rate at a predefined scaled interval connection speed.
In another embodiment, the background transfer may be performed at a second transfer rate. If, in operation 708, it is determined that the device is not within transmission range with the computing device, then the method returns to operation 704, where the activity tracking device continues to collect data. If it is determined in operation 706 that the application is on and within the transfer range, the method moves to operation 710 where a download of data stored in the storage of the activity tracking device is transferred to the computing device at a first transfer rate. As mentioned above, the first transfer rate is faster than the second transfer rate and is designed to transfer larger amounts of data via a low energy bluetooth wireless connection.
The first transmission rate may, for example, enable transmission of packets every 10ms to 30ms, while the second transmission rate may enable transmission of packets after more than 200ms, or after more than 300ms, or after 400ms, or after 500 ms. In operation 714, it is determined that the application is connected and started with the active tracking device. If the application remains on, then a real-time update is performed 716 to cause one or more metrics associated with the collected activity data to be communicated from the activity tracking device to the computing device. This information may be displayed in substantially real-time on one or more screens of the activity tracking application 202 presented on the computing device 200 (e.g., smartphone, tablet, etc.). If it is determined in operation 714 that the application is no longer open, the method will return to 702 where the active tracking device continues to track the data and store it in operation 704.
Figure 8 shows a flow diagram of one embodiment of the present invention. In this example, operation 802 includes collecting activity data by an activity tracking device. As mentioned above, the type of data collected by the activity tracking device may be associated with athletic data, monitored data from the user, monitored data from ambient conditions, and the like. At operation 804, the collected activity data is stored in a storage of the activity tracking device.
In operation 806, an update condition of a current connection between the activity tracking device and the computing device is determined. The update condition may identify whether the application has just started, whether the application remains started after the first transfer rate has finished transferring stored data or performing a firmware update, or whether a background update is required. Depending on the update condition, it is determined whether to scale up or down the connection interval to optimize the data transfer operation. In operation 808, it is determined that the connection interval should be scaled up to the first transfer rate during downloading of data from the activity tracking device to the client device or downloading of a firmware update from the client device to the activity tracking device.
In operation 810, it is determined that the connection interval should be scaled down to the second transfer rate to update a change in a metric associated with the collected activity data. At a scaled-down connection interval rate, e.g., a second transfer rate, updates associated with the one or more metrics may be transferred to the client device for display on the one or more graphical user interface screens. The graphical user interface screen may include metric data that changes on the fly as the user generates activities.
For example, if a user views one or more graphical user interface screens of a client device while walking (e.g., running the activity tracking application 202), the number of steps is shown to increase as the user takes each step. In another example, if the user climbs a staircase, the step count will continue to increase. In another example, if the user generates a very active motion, the very active minutes count may be shown to dynamically increase. Similarly, the calorie count consumed may be shown to dynamically increase as the user performs the activity.
In one embodiment, synchronization (e.g., synching) is a process that takes place between an activity tracking device and a website. For example, a client device may be considered a silent pipe that simply transmits data to a website and then transmits a response to an activity tracking device. If no internet connection is available for the client device, no synchronization with the website is performed. Synchronization may then occur at a later time when an internet connection has been established. In one embodiment, a "store and forward" type of method may be implemented that introduces only asynchronous delays. The client retrieves the data as it may be retrieved from the tracker, stores it, then relays the data to the site and later obtains a response from the site when there is an internet connection. In one embodiment, the client may send the stored response to the tracker later when the tracker is again available.
In some embodiments, an apparatus is provided. The device is defined in the form of a wearable wrist attachment structure. In one embodiment, the device has a housing constructed or formed at least in part from a plastic material. In one embodiment, the housing of the device includes an altimeter. The definition may further include an instantaneously visible display, or a dead-front display, a touch screen display, a monochrome display, a digital display, a color display, or a combination thereof. In another embodiment, the device may include one or more accelerometers. In one particular example, the device may include a 3-axis accelerometer. In another embodiment, the 3-axis accelerometer may be replaced or replicated by using separate accelerometers (e.g., 3 accelerometers) positioned orthogonally to each other.
FIG. 9 illustrates an example in which various types of activities of users 900A-900I may be captured by activity tracking device 100, according to one embodiment of the invention. As shown, various types of activities may produce different types of data that may be captured by the activity tracking device 100. Data, which may be represented as motion data (or processed motion data), may be transmitted 920 to the network 176 for processing and storage by a server, as described above. In one embodiment, the activity tracking device 100 may communicate with the device using a wireless connection, and the device is able to communicate and synchronize the captured data to an application running on a server. In one embodiment, an application running on a local device, such as a smartphone or tablet or smartwatch, may capture or receive data from activity tracking device 100 and represent the tracked motion data in a plurality of metrics.
In one embodiment, a device collects one or more types of physiological and/or environmental data from embedded sensors and/or external devices and communicates or relays such quantitative information to other devices, including devices capable of acting as internet-accessible data sources, thereby allowing the collected data to be viewed, for example, using a web browser or web-based application. For example, when a user wears an activity tracking device, the device may use one or more sensors to calculate and store the user's number of steps. The device then transmits data representing the user's steps to a network service, computer, mobile phone or account on a healthcare station where the data can be stored, processed and observed by the user. In fact, the device may measure or calculate a number of other physiological measures in addition to, or instead of, the user's steps.
Some physiological metrics include, but are not limited to, energy expenditure (e.g., calories expended), climbing and/or walking floors, heart rate variability, heart rate recovery, location and/or direction (e.g., via GPS), altitude, walking speed and/or distance traveled, number of swim cycles, bicycle distance and/or speed, blood pressure, blood glucose, skin conductance, skin and/or body temperature, electromyography, electroencephalogram, weight, body fat, caloric intake, nutritional intake from food, drug intake, sleep period (i.e., clock time), sleep stage, sleep quality and/or duration, pH level, hydration level, and respiration rate. The device may also measure or calculate metrics related to the user's surroundings, such as barometric pressure, weather conditions (e.g., temperature, humidity, pollen count, air quality, rain/snow conditions, wind speed), light exposure (e.g., ambient light, UV light exposure, time spent in the dark, and/or duration), noise exposure, radiation exposure, and magnetic fields.
Still further, other metrics may include, but are not limited to, calories consumed by the user, weight gain of the user, weight loss of the user, steps the user climbs, e.g., climbs, steps the user steps down, steps the user takes during walking or running, number of rotations of bicycle pedals rotated by the user, sedentary activity data, driving a vehicle, number of golf clubs the user has, number of forehands the user is exercising, number of backhoes the user is exercising, or a combination thereof. In some embodiments, sedentary activity data is referred to herein as inactive activity data or passive activity data. In some embodiments, the user is active when the user is not sedentary and not sleeping. In some embodiments, the user may stand on a monitoring device that determines a physiological parameter of the user. For example, the user stands on a scale that measures the user's weight, body fat percentage, biomass index, or a combination thereof.
In addition, the device or system that collates the data stream may compute a metric derived from this data. For example, a device or system may calculate a user's stress and/or relaxation level via a combination of heart rate variability, skin conductance, noise pollution, and sleep quality. In another example, a device or system may determine the efficacy of a medical intervention (e.g., a medication) via a combination of drug intake, sleep, and/or activity data. In another example, a device or system may determine the efficacy of an allergy medication via a combination of pollen data, medication intake, sleep and/or activity data. These examples are provided for ease of illustration only and are not intended to be limiting or exhaustive.
This information may be associated with a user account that may be managed by an activity management application on the server. The activity management application may provide access to user accounts and data stored thereon. The campaign management application running on the server may be in the form of a web application. The web application may provide access to a plurality of web site screens and pages that show information about the metrics in various formats. This information may be viewed by the user and synchronized with the user's computing device, such as a smartphone.
In one embodiment, the data captured by the activity tracking device 100 is received by a computing device and the data is synchronized with an activity measurement application on a server. In this example, data that can be viewed on a computing device (e.g., a smartphone) using an activity tracking application (application) can be synchronized with data that exists on a server and associated with a user account. In this manner, information entered into the activity tracking application on the computing device may be synchronized with the application shown in a different screen of the activity management application provided by the server on the website.
Thus, a user may access data associated with a user account using any device that has access to the internet. The data received by the network 176 may then be synchronized with the user's various devices, and the analysis on the server may provide data analysis to provide suggestions for additional activities and or to improve physical health. Thus, the process continues as data is captured, analyzed, synchronized, and recommendations are generated. In some embodiments, the captured data may be itemized and divided based on the type of activity performed, and such information may be provided to the user on the website via a graphical user interface, or via an application executing on the user's smartphone (via a graphical user interface).
In one embodiment, one or more sensors of device 100 may determine or capture data to determine the amount of movement of the monitoring device over a period of time. The sensors may include, for example, accelerometers, magnetometers, gyroscopes, or combinations thereof. Broadly speaking, these sensors are inertial sensors that capture some motion data in response to movement of the device 100. The amount of motion (e.g., sensed motion) may occur when a user performs an activity of climbing stairs, walking, running, etc., for a period of time. The monitoring device may be worn on the wrist, carried by the user, worn on clothing (using a clip, or placed in a pocket), attached to a leg or foot, attached to the chest, waist of the user, or integrated into an article of clothing, such as integrated into a shirt, hat, pants, shirt, glasses, or the like. These examples are not limiting with respect to all possible ways in which a sensor of a device may be associated with a monitored user or thing.
In other embodiments, the biosensor may determine a number of physiological characteristics of the user. As another example, the biosensor may determine a heart rate, hydration level, body fat, bone density, fingerprint data, sweat rate, and/or bio-impedance of the user. Examples of biosensors include, but are not limited to, biometric sensors, physiological parameter sensors, pedometers, or combinations thereof.
In some embodiments, data associated with user activities may be monitored by the server and applications on the user device, and activities associated with friends, acquaintances, or social network colleagues of the user may also be shared based on user authorization. This enables friends to compete about their fitness, achieve goals, accept medals for achieving goals, obtain reminders to achieve such goals, achieve rewards or discounts for certain goals, etc.
As mentioned, the activity tracking device 100 may communicate with a computing device (e.g., a smartphone, tablet, desktop computer, or computer device with wireless communication access and/or internet access). Further, the computing devices may communicate via a network, such as the internet or an intranet, to provide data synchronization. The network may be a wide area network, a local area network, or a combination thereof. The network may be connected to one or more servers, one or more virtual machines, or a combination thereof. A server, a virtual machine, a controller of a monitoring device, or a controller of a computing device is sometimes referred to herein as a computing resource. Examples of controllers include processors and memory devices.
In one embodiment, the processor may be a general purpose processor. In another embodiment, the processor may be a customized processor configured to execute a particular algorithm or operation. Such processors may include Digital Signal Processors (DSPs) designed to execute or interact with specific chips, signals, wires, and perform certain algorithms, processes, state diagrams, feedback, detection, execution, and so forth. In some embodiments, the processor may include or interface with an Application Specific Integrated Circuit (ASIC), a Programmable Logic Device (PLD), a Central Processing Unit (CPU), a combination thereof, or the like.
In some implementations, one or more chips, modules, devices, or logic may be defined to execute instructions or logic that collectively may be considered or described as a processor. Thus, it should be appreciated that a processor need not be a single chip or module, but may be defined by a collection of electronic or connected components, logic, firmware, code and combinations thereof.
Examples of storage devices include Random Access Memory (RAM) and read-only memory (ROM). The storage device may be flash memory, redundant array of disks (RAID), hard disk, or a combination thereof.
The embodiments described in this disclosure may be practiced with various computer system configurations, including hand-held devices, microprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and the like. Some embodiments described in this disclosure may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a wired or wireless network.
In view of the above embodiments, it should be understood that many of the embodiments described in this disclosure may employ various computer-implemented operations involving data stored in computer systems. The operations are those requiring physical manipulations of physical quantities. Any of the operations described in this disclosure are useful machine operations that form part of the various embodiments described in this disclosure. Several embodiments described in this disclosure also relate to an apparatus or device for performing these operations. The apparatus may be specially constructed for the required purposes, or the apparatus may be a computer selectively enabled or configured by a computer program stored in the computer. In particular, the various machines may be used with computer programs written in accordance with the teachings herein, or it may be more convenient to construct a more specialized apparatus to perform the required operations.
Various embodiments described in this disclosure may also be embodied as computer readable code on a non-transitory computer readable medium. The computer readable medium is any data storage device that can store data which can thereafter be read by a computer system. Examples of computer readable media include hard disk drives, Network Attached Storage (NAS), ROM, RAM, compact disk ROM (CD-ROM), CD recordable (CD-R), CD Rewritable (RW), magnetic tape, and other optical and non-optical data storage devices. The computer readable medium can include computer readable tangible media distributed over a network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
Although the method operations are described in a particular order, it should be understood that other housekeeping operations may be performed between the operations, or the operations may be performed in an order other than that shown, or the operations may be adjusted so that they occur at slightly different times, or may be distributed in systems that allow the processing operations to occur at different intervals associated with processing.
Although the foregoing embodiments have been described in some detail for purposes of clarity of understanding, it will be apparent that certain changes and modifications may be practiced within the scope of the appended claims. Accordingly, the present embodiments are to be considered as illustrative and not restrictive, and the various embodiments described in the disclosure are not to be limited to the details given herein, but may be modified within the scope and equivalents of the appended claims.

Claims (51)

1. An apparatus configured for capturing user activity, comprising:
a housing;
a sensor disposed in the housing to capture activity data associated with user activity;
a memory for storing the captured activity data; and
a processor for managing connection of the device with a computing device via a wireless communication link, wherein:
the processor is configured to transmit activity data captured and stored in the memory of the device via the wireless communication link using a first transmission rate at which to transmit activity data for context updates when the device is within range of communications of the computing device and an activity tracking application on the computing device is turned off; and is
The processor is further configured to transmit activity data for real-time display on the computing device using a second transmission rate after the sensor captures the activity data and while the activity tracking application is turned on to initiate display.
2. The device of claim 1, wherein the housing is part of a wearable wrist attachment structure, or part of an attachable structure that can be carried or worn by the user.
3. The apparatus of claim 1, further comprising one or both of an altimeter and an accelerometer.
4. The apparatus of claim 1, wherein the housing further comprises wireless communication logic to communicate data via the wireless communication link.
5. The apparatus of claim 4, wherein the wireless communication logic comprises one or more of: wireless connection processing logic, low energy wireless processing logic, and radio processing logic.
6. The device of claim 5, wherein the computing device is configured to be able to communicate with an activity management server.
7. The device of claim 1, wherein the processor further receives data as a firmware update for the device using the first transfer rate.
8. The apparatus of claim 1, wherein the second transfer rate is lower than the first transfer rate.
9. The apparatus of claim 1, wherein the processor is configured such that the first transfer rate is set at a proportionally larger connection interval and the second transfer rate is set at a proportionally smaller connection interval, the first transfer rate being higher than the second transfer rate.
10. A method performed by a processor and comprising:
capturing, via a device, activity data associated with user activity, the activity data captured over time and quantified by a plurality of metrics;
storing the activity data in a storage of the device;
connecting the device with a computing device via a wireless communication link when the device is within range of communications of the computing device and an activity tracking application on the computing device is closed;
transmitting activity data captured and stored over a period of time using a first transmission rate; and
transmitting activity data from the device to the computing device using a second transmission rate when the activity tracking application is turned on to display one or more of the metrics of the activity data on the computing device in real-time.
11. The method of claim 10, wherein the first transfer rate is selected for transferring the activity data from the storage of the device to the computing device.
12. The method of claim 10, further comprising,
transmitting the activity data to an activity management server to update the plurality of metrics associated with the user activity, an
From time to time, activity data and settings are synchronized with the computing device by the activity management server.
13. The method of claim 10, wherein the second transfer rate is selected to transfer activity data to the computing device for real-time display by the activity tracking application on the computing device while or after the activity data is generated in the device.
14. The method of claim 10, wherein the first transfer rate is set at a scaled-up connection interval, the second transfer rate is set at a scaled-down connection interval, and the first transfer rate is higher than the second transfer rate.
15. The method of claim 10, wherein the range of the communication is within a low energy wireless communication link distance.
16. The method of claim 10, wherein the first transfer rate for transferring activity data captured and stored over a period of time is for one or more background transfers of activity data from the device to the computing device that occur at predetermined intervals.
17. The method of claim 12, further comprising,
receiving a settings configuration from the campaign management server as obtained from the computing device, the settings configuration received from a user account associated with the device, the campaign management server configured to present a graphical user interface on a website to display a count of the plurality of metrics in various graphical configurations, the campaign data using the transfer of the first transfer rate and the second transfer rate for obtaining campaign data from the device, and synchronizing the count of the plurality of metrics for display on the computing device and the website.
18. The method of claim 10, further comprising,
detecting opening of the activity tracking application on the computing device; and
initiating transmission of a firmware update to the device using the first transmission rate while the activity tracking application is launched, wherein the firmware update is triggered in response to an install command obtained by the activity tracking application from a server.
19. The method of claim 15, wherein the plurality of metrics includes a time of day metric and a metric representing activity data captured by the device with one or more sensors of the device.
20. The method of claim 10, wherein the plurality of metrics comprises: a step count metric, a distance traveled metric, an activity time metric, a calorie expenditure metric, a heart rate metric, a sleep metric, or a combination of two or more of the foregoing.
21. A non-transitory computer readable storage medium having stored thereon instructions that, when executed, cause a processor of a device to:
transmitting activity data captured and stored in a memory of a computing device using a first transmission rate when the device is within range of communications of the computing device and an activity tracking application on the computing device is turned off, transmitting activity data for context updates using the first transmission rate, and
after a sensor captures the activity data and the activity tracking application turns on to enable display on the computing device, activity data is transmitted for real-time display on the computing device using a second transmission rate.
22. A method performed by a processor and comprising:
capturing, via a device, activity data associated with user activity, the activity data captured over time and quantified by a plurality of metrics;
storing the activity data in a storage of the device;
connecting the device with a computing device via a wireless communication link;
transmitting activity data captured and stored over a period of time using a first transmission rate, the first transmission rate used upon launching an activity tracking application on the computing device; and
transferring activity data from the device to the computing device using a second transfer rate to display the activity data on the computing device in real-time.
23. The method of claim 22, wherein the first transfer rate is selected for transferring the activity data from the storage of the device to the computing device.
24. The method of claim 22, further comprising:
transmitting the activity data to an activity management server to update the plurality of metrics associated with the user activity, an
From time to time, activity data and settings are synchronized with the computing device by the activity management server.
25. The method of claim 22, wherein the second transfer rate is selected to transfer activity data to the computing device for real-time display on the computing device while or after the activity data is generated in the device.
26. The method of claim 22, wherein the first transfer rate is set at a scaled-up connection interval, the second transfer rate is set at a scaled-down connection interval, and the first transfer rate is higher than the second transfer rate.
27. The method of claim 22, further comprising:
receiving a settings configuration from the campaign management server as obtained from the computing device, the settings configuration received from a user account associated with the device, the campaign management server configured to present a graphical user interface on a website to display a count of the plurality of metrics in various graphical configurations, the campaign data using the transfer of the first transfer rate and the second transfer rate for obtaining campaign data from the device, and synchronizing the count of the plurality of metrics for display on the computing device and the website.
28. The method of claim 22, further comprising:
in response to an install command obtained from a server, transmitting a firmware update to the device using the first transmission rate.
29. The method of claim 22, wherein the plurality of metrics comprises: a step count metric, a distance traveled metric, an activity time metric, a calorie expenditure metric, a heart rate metric, a sleep metric, or a combination of two or more of the foregoing.
30. The method of claim 22, further comprising:
detecting that the device is within a proximity distance of the computing device, the proximity distance being within a low energy wireless communication link distance; and
enabling connection of the device with the computing device via the wireless communication link.
31. The method of claim 30, further comprising:
determining that the device is connectable with the computing device via the wireless communication link and that the activity tracking application is currently closed; and is
Enabling the second transfer rate to handle a background transfer of activity data from the device to the computing device in response to determining that the device is connectable with the computing device via the wireless communication link, the background transfer occurring at predetermined intervals.
32. The method of claim 30, wherein the plurality of metrics include a time of day metric and a metric representing activity data captured by or sensed by the device.
33. An apparatus configured for capturing user activity, comprising:
a housing;
a sensor disposed in the housing to capture activity data associated with user activity;
a memory for storing the captured activity data; and
a processor for managing connection of the device with a computing device via a wireless communication link, the processor configured for:
transferring the activity data captured and stored in the memory of the device using a first transfer rate, and
transmitting activity data for real-time display on the computing device using a second transmission rate while the sensor captures the activity data.
34. The device of claim 33, wherein the housing is part of a wearable wrist attachment structure, or part of an attachable structure that can be carried or worn by the user.
35. The apparatus of claim 33, further comprising one or both of an altimeter and an accelerometer.
36. The apparatus of claim 33, wherein the processor further receives data as a firmware update for the apparatus using the first transfer rate.
37. The apparatus of claim 33, wherein the second transfer rate is lower than the first transfer rate.
38. The apparatus of claim 33, wherein the processor is configured such that the first transfer rate is set at a proportionally larger connection interval and the second transfer rate is set at a proportionally smaller connection interval, the first transfer rate being higher than the second transfer rate.
39. The device of claim 33, wherein the processor is configured to: the firmware update is transmitted to the device using a first transmission rate at the boot of the remote server.
40. The device of claim 33, wherein the processor is further configured to:
cause detection of the device within a proximity distance of the computing device, the proximity distance being within a low energy wireless communication distance; and is
Enabling the connection via the wireless communication link in response to determining that the device is within a proximity distance of the computing device.
41. The device of claim 40, wherein the processor is further configured to:
determining that the device is connected to the computing device via the wireless communication link and that the activity tracking application is closed, and
in response to determining that the device is connected to the computing device via the wireless communication link and the activity tracking application is off, enabling the second transfer rate to handle background transfers of activity data from the device to the computing device via the wireless communication link, the background transfers occurring at predetermined intervals while the device remains connected with the computing device via the wireless communication link and while the tracking application remains off and installed on the computing device.
42. The apparatus of claim 33, wherein the housing further comprises wireless communication logic to communicate data via the wireless communication link.
43. The apparatus of claim 42, wherein the wireless communication logic comprises one or more of: wireless connection processing logic, low energy wireless processing logic, or radio processing logic.
44. The device of claim 42, wherein the computing device is configured to be able to communicate with a server for campaign management.
45. A method performed by a processor and comprising:
capturing, via a device, activity data associated with user activity and storing the activity data in a storage of the device, the activity data captured over time and quantified by a plurality of metrics;
connecting the device with a computing device via a wireless communication link;
selecting a data transfer rate between the device and the computing device, the data transfer rate being one of: a first transfer rate for transferring activity data captured and stored over a period of time or a second transfer rate for transferring activity data displayable in real-time on the computing device; and
transmitting the activity data from the device to the computing device at the selected first transmission rate or second transmission rate, wherein the first transmission rate utilizes a scaled-up connection interval and the second transmission rate utilizes a scaled-down connection interval.
46. The method of claim 45, wherein the second transfer rate is selected to transfer activity data to the computing device for real-time display on the computing device while or after the activity data is generated in the device.
47. The method of claim 46, wherein real-time includes a delay of less than 1 second from the time activity data is generated on the device to the time the activity data is displayed on the computing device.
48. The method of claim 46, wherein the first transfer rate further enables transfer of firmware updates to the device.
49. The method of claim 46, wherein the plurality of metrics include a time of day metric and a metric representing activity data captured by, measured by, or sensed by the device.
50. A non-transitory computer readable storage medium having stored thereon instructions that, when executed, cause a processor of a wearable device to:
capturing, via the wearable device, activity data associated with user activity and storing the activity data in a storage of the wearable device, the activity data being captured over time and quantified by a plurality of metrics;
connecting the wearable device with a computing device via a wireless communication link;
setting a data transfer rate between the wearable device and the computing device, the data transfer rate being one of: a first transfer rate for transferring activity data captured and stored over a period of time or a second transfer rate for transferring activity data displayable in real-time on the computing device; and
transmitting the activity data from the wearable device to the computing device at the selected first transmission rate or second transmission rate, wherein the first transmission rate utilizes a scaled-up connection interval and the second transmission rate utilizes a scaled-down connection interval.
51. The non-transitory computer-readable storage medium of claim 50, wherein:
selecting the second transfer rate to transfer activity data to the computing device for real-time display on the computing device while the activity data is being generated by the wearable device or after the activity data is being generated by the wearable device; and is
The plurality of metrics includes a time of day metric and a metric representing activity data captured by, measured by, or sensed by the device.
CN201710324879.9A 2013-10-02 2014-10-08 Method, system and device for synchronizing activity tracking device with computing device data Active CN107329965B (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361885962P 2013-10-02 2013-10-02
US61/885962 2013-10-02
US14/050,292 US8744803B2 (en) 2010-09-30 2013-10-09 Methods, systems and devices for activity tracking device data synchronization with computing devices
US14/050292 2013-10-09
CN201410524729.9A CN104519123B (en) 2013-10-02 2014-10-08 For making method, system and the equipment of activity tracking equipment and computing device data syn-chronization

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201410524729.9A Division CN104519123B (en) 2013-10-02 2014-10-08 For making method, system and the equipment of activity tracking equipment and computing device data syn-chronization

Publications (2)

Publication Number Publication Date
CN107329965A CN107329965A (en) 2017-11-07
CN107329965B true CN107329965B (en) 2020-11-06

Family

ID=52793827

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201410524729.9A Active CN104519123B (en) 2013-10-02 2014-10-08 For making method, system and the equipment of activity tracking equipment and computing device data syn-chronization
CN201710324879.9A Active CN107329965B (en) 2013-10-02 2014-10-08 Method, system and device for synchronizing activity tracking device with computing device data

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201410524729.9A Active CN104519123B (en) 2013-10-02 2014-10-08 For making method, system and the equipment of activity tracking equipment and computing device data syn-chronization

Country Status (1)

Country Link
CN (2) CN104519123B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2820923T3 (en) * 2015-05-13 2021-04-22 Alivecor Inc Mismatch monitoring
CN105516899B (en) * 2015-12-14 2019-08-13 北京握奇智能科技有限公司 Adjust the method, apparatus and card-type device of the Connecting quantity of bluetooth low energy device
TWI701632B (en) * 2017-08-11 2020-08-11 鉅碼科技股份有限公司 Method and system for converting movement information into tangible value, and a computer-readable medium
CN107961140B (en) * 2017-12-18 2020-07-14 沈研 Walking aid and using method thereof
CN117707322B (en) * 2023-07-04 2024-09-06 荣耀终端有限公司 Data processing method, electronic device and storage medium

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7904184B2 (en) * 2004-11-23 2011-03-08 Rockwell Automation Technologies, Inc. Motion control timing models
CN101032401B (en) * 2006-03-10 2010-06-23 通用电气公司 System and method for measuring and reporting change of ambulating speed
CN101587178A (en) * 2008-05-21 2009-11-25 威航科技股份有限公司 Method for outputting data updating rate of dynamic optimized GPS receiver
CA2783791C (en) * 2009-12-09 2017-01-03 Nike International Ltd. Athletic performance monitoring system utilizing heart rate information
CN103210355B (en) * 2010-11-01 2016-09-28 耐克创新有限合伙公司 There is the wearable device assembly of motor function
US9049447B2 (en) * 2010-12-30 2015-06-02 Pelco, Inc. Video coding
CN103690148B (en) * 2013-12-24 2016-09-07 东南大学 A kind of exercise coordination capacity simple detection system

Also Published As

Publication number Publication date
CN107329965A (en) 2017-11-07
CN104519123B (en) 2017-05-31
CN104519123A (en) 2015-04-15

Similar Documents

Publication Publication Date Title
US20220260389A1 (en) Methods, Systems and Devices for Generating Real-Time Activity Data Updates to Display Devices
US9819754B2 (en) Methods, systems and devices for activity tracking device data synchronization with computing devices
US11521474B2 (en) Notifications on a user device based on activity detected by an activity monitoring device
US8954289B2 (en) Methods, systems and devices for generating real-time activity data updates to display devices
US10838675B2 (en) Motion-activated display of messages on an activity monitoring device
US8954291B2 (en) Alarm setting and interfacing with gesture contact interfacing controls
US8812259B2 (en) Alarm setting and interfacing with gesture contact interfacing controls
CN110859597B (en) Method, system and device for generating real-time activity data updates for display devices
CN107329965B (en) Method, system and device for synchronizing activity tracking device with computing device data
US11990019B2 (en) Notifications on a user device based on activity detected by an activity monitoring device
US20240346904A1 (en) Notifications on a User Device Based on Activity Detected by an Activity Monitoring Device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: California, USA

Patentee after: Feibit Co.,Ltd.

Address before: California, USA

Patentee before: Fitbit, Inc.