The present disclosure relates to systems and methods for capturing activity data over a period of time and synchronizing data transfers between a tracker device and a client device.
In recent years, the need for health and fitness has grown tremendously. The growth has occurred due to a better understanding of the benefits of good fitness to overall health and wellness. Unfortunately, although today's modern culture has brought about many new technologies, such as the Internet, connected devices and computers, people have become less active. Additionally, many office jobs require people to sit in front of computer screens for long periods of time, which further reduces a person's activity levels. Furthermore, much of today's entertainment options involve viewing multimedia content, computer social networking, and other types of computer involved interfacing. Although such computer activity can be very productive as well as entertaining, such activity tends to reduce a person's overall physical activity.
To provide users concerned with health and fitness a way of measuring or accounting for their activity or lack thereof, fitness trackers are often used. Fitness trackers are used to measure activity, such as walking, motion, running, sleeping, being inactive, bicycling, exercising on an elliptical trainer, and the like. Usually, the data collected by such fitness trackers can be transferred and viewed on a computing device. However, such data is often provided as a basic accumulation of activity data with complicated or confusing interfaces. In addition, updates between a tracker and a client device usually require wired connectors and/or complex syncing schemes.
It is in this context that embodiments described herein arise.
Embodiments described in the present disclosure provide systems, apparatus, computer readable media, and methods for setting a data transfer rate between an activity tracking device and a computing device client, based on a detected update condition. The transfer rates are set by scaling the connection interval of data transfers up or down, depending on the type/amount of data to be transferred in accordance with the update condition.
In one embodiment, a method is provided that includes capturing activity data associated with activity of a user via a device. The activity data is captured over time, and the activity data is quantifiable by a plurality of metrics. The method includes storing the activity data in storage of the device and, from time to time, connecting the device with a computing device over a wireless communication link. The method defines using a first transfer rate for transferring activity data captured and stored over a period of time. The first transfer rate is used following startup of an activity tracking application on the computing device The method also defines using a second transfer rate for transferring activity data from the device to the computing device for display of the activity data in substantial-real time on the computing device.
In another embodiment, a method is provided. The method includes capturing activity data associated with activity of a user via a device. The activity data is captured over time, and the activity data is quantified by a plurality of metrics. The method acts to store the activity data in storage of the device and connecting the device with a computing device over 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 upon the detected update condition. The update condition is used to select 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 that is displayable in substantial-real time on the computing device. The update condition is used to select the first transfer rate when an activity tracking application is detected to be opened on the computing device, and the update condition is used to select the second transfer rate while the device is connectable with the computing device and the activity tracking application remains open, the method is executed by a processor.
In another embodiment, a device configured for capture of activity for a user is provided. The device includes a housing and a sensor disposed in the housing to capture activity data associated with activity of the user. The activity data is captured over time, and the activity data is quantified by a plurality of metrics associated. A memory for storing the captured activity data is provided in the device. The device further includes a processor for connecting the device with a computing device over a wireless communication link. The processor detects an update condition when the device is connected with the computing device, such that the processor sets a data transfer rate between the device and the computing device based upon the detected update condition. The update condition used to select 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 for display in substantial-real time on the computing device. The update condition is used to select the first transfer rate when an activity tracking application on the computing device is detected to be open, and used to select the second transfer rate while the device is connectable with the computing device and the activity tracking application remains open.
In another embodiment, a method is provided. The method includes capturing activity data associated with activity of a user via a device. The activity data is captured over time, and the activity data quantified by a plurality of metrics. The activity data is stored in storage of the device. The method includes connecting the device to a computing device over a wireless communication link and detecting an update condition. The method sets a data transfer rate between the device and the computing device based upon the detected update condition. The update condition is used to select 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 that is displayable in substantial-real time on the computing device. The update condition is used to select the first transfer rate when starting an activity tracking application on the computing device is detected, and the update condition is further used to select the second transfer rate while the device is connected with the computing device and the activity tracking application is open. The method includes transferring the activity data from the device to the computing device at the selected first or second transfer rate. The first transfer rate is set in response to scaling-up a connection interval and the second transfer rate is set in response to scaling-down the connection interval, the method is executed by a processor.
Computer readable medium for storing program instructions executable by a processor, for managing the transfer of data between an activity tracking device and a computing device client is also provided.
Other aspects will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, illustrating by way of example the principles of embodiments described in the present disclosure.
Various embodiments described in the present disclosure may best be understood by reference to the following description taken in conjunction with the accompanying drawings.
Embodiments described in the present disclosure provide systems, apparatus, computer readable media, and methods for scaling a connection interval for data transfers to and from an activity tracking device and a computing device. The computing device can be a computer that executes an activity tracking application (APP). The computing device can take on any form, so long as it can process information, load and execute an application, and can communicate wirelessly with the activity tracking device. For example purposes, the computing device can be a computer, a tablet computer, a smart phone, a tablet, a laptop, a desktop, a watch computer, glasses computer, or any device having access to memory and processing power.
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 a determined update condition. The update condition can include detecting that an application (e.g., activity tracking application) on the computing device has been opened, which causes a first transfer rate to be set. The first transfer rate has a scaled-up connection interval which allows for a higher frequency of packets to be sent between the activity tracking device and the computing device (e.g., changes the packet transfer frequency).
The scaled-up connection interval of the first transfer rate enables larger blocks of data and/or data logs to be downloaded faster from the activity tracking device to the computing device, so as to enable display of tracked or monitored information collected when the application was not open or the computing device was not in wireless connection range with the activity tracking device. In some embodiments, the scaled-up connection interval also enables transfer of data for firmware updates of the device, when updates are needed, scheduled or required. In one configuration, if the update conditions dictate that the activity tracking device is generating data that can be transferred to the computing device, while the application is open, the connection interval can 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 the site, e.g., storage associated with a website that manages accounts concerning activity tracking information. In some embodiments, the computing device acts as a transfer pipe between the activity tracking device and the website.
The second transfer rate is used to transfer updates to enable definition of metrics regarding the monitored or captured activity data. In the scaled-down connection interval, the data transfer rate is slower than the scaled-up connection interval, but the amount of data to be transferred is typically less or is data that is just detected/monitored by the activity tracking device. Thus, the second transfer rate of the scaled-down connection interval is sufficient to enable transfer of updates for activity data captured, monitored, or collected by the activity tracking device to the computing device. The transfers of updates enable such activity data to be processed by the computing device and displayed in substantial real-time on a screen of the computing device, just as the activity is occurring and the connection between the activity tracking device and computing device can be maintained. In one embodiment, the second transfer rate is sufficient to enable an external device (e.g., computing device, smartphone, tablet, laptop, desktop, watch computer, glasses computer, etc.) to serve as a real time data display.
Furthermore, the transferred data need not be only motion data or activity data, but the data can include any type of data, such as altitude or relative altitude data, barometric pressure data, heart rate data, temperature data, alarm data, goal data, history status data, processed data, raw data, etc.
Additionally, although the computing device may usually have access to an Internet connection, every transfer between the activity tracking device and the computing device does not require Internet connection. When the computing device is connected to the Internet, the computing device can then sync data to a server. The server, in one embodiment, can be one or more distributed servers, data centers, virtualized servers in distributed data centers, etc. The server, in one embodiment, executes an activity management application that enables user account access to metrics associated with activity tracking devices.
It should be noted that there are many inventions described and illustrated herein. The present inventions are neither limited to any single aspect nor embodiment thereof, nor to any combinations and/or permutations of such aspects and/or embodiments. Moreover, each of the aspects of the present inventions, and/or embodiments thereof, may be employed alone or in combination with one or more of the other aspects of the present inventions and/or embodiments thereof. For the sake of brevity, many of those permutations and combinations will not be discussed separately herein.
Further, in the course of describing and illustrating the present inventions, various circuitry, architectures, structures, components, functions and/or elements, as well as combinations and/or permutations thereof, are set forth. It should be understood that circuitry, architectures, structures, components, functions and/or elements other than those specifically described and illustrated, are contemplated and are within the scope of the present inventions, as well as combinations and/or permutations thereof.
The environmental sensors 118 may be in the form of motion detecting sensors. In some embodiments, a motion sensor can be one or more of an accelerometer, or a gyroscope, or a rotary encoder, or a calorie measurement sensor, or a heat measurement sensor, or a moisture measurement 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 sensors 116 can be defined to measure physiological characteristics of the user that is using the activity tracking device 100. The user interface 114 provides a way for communicating with the activity tracking device 100, in response to user interaction 104. The user interaction 104 can be in the form of physical contact (e.g., without limitation, tapping, sliding, rubbing, multiple taps, gestures, etc.).
In some embodiments, the user interface 114 is configured to receive user interaction 104 that is in the form of noncontact input. The noncontact input can be by way of proximity sensors, button presses, touch sensitive screen inputs, graphical user interface inputs, voice inputs, sound inputs, etc. The activity tracking device 100 can communicate with a client and/or server 112 using the wireless transceiver 110. The wireless transceiver 110 will allow the activity tracking device 100 to communicate using a wireless connection, which is enabled by wireless communication logic. The wireless communication logic can be in the form of a circuit having radio communication capabilities. The radio communication capabilities can be in the form of a Wi-Fi™ connection, a Bluetooth™ connection, a low-energy Bluetooth™ connection, or any other form of wireless tethering or near field communication. In still other embodiments, the activity tracking device 100 can communicate with other computing devices using a wired connection (not shown). As mentioned, the environmental sensors 118 can detect motion of the activity tracking device 100.
The motion can be activity of the user, such as walking, running, stair climbing, etc. The motion can also be in the form of physical contact received on any surface of the activity tracking device 100, so long as the environmental sensors 118 can detect such motion from the physical contact. As will be explained in more detail below, the physical contact may be in the form of a tap or multiple taps by a finger upon the housing of the activity tracking device 100.
In other embodiments, the device components 102 are positioned substantially in a central position of the wrist attachable device, such as under or proximate to a location where a display screen 122 is located. In the illustrated example, the housing 130 also includes a button 126. The button 126 can be pressed to activate the display screen 122, navigate to various metrics displayed on the screen 122, or turn off the screen 122.
As shown in
Some motions will produce and quantify various types of metrics, such as step count, stairs climbed, distance traveled, very active minutes, calories burned, etc. The physical contact logic 142 can include logic that calculates or determines when particular physical contact can qualify as an input. To qualify as an input, the physical contact detected by sensors 156 should have a particular pattern that is identifiable as input. For example, the input may be predefined to be a double tap input, and the physical contact logic 142 can analyze the motion to determine if a double tap indeed occurred in response to analyzing the sensor data produced by sensors 156.
In other embodiments, the physical contact logic can be programmed to determine when particular physical contacts occurred, the time in between the physical contacts, and whether the one or more physical contacts will qualify within predefined motion profiles that would indicate that an input is desired. If physical contact occurs that is not within some predefined profile or pattern, the physical contact logic will not indicate or qualify that physical contact as an input.
The display interface logic 144 is configured to interface with the processor and the physical contact logic to determine when specific metric data will be displayed on the display screen 122 of the activity tracking device 100. The display interface logic 144 can act to turn on the screen, display metric information, display characters or alphanumeric information, display graphical user interface graphics, or combinations thereof. Alarm management logic 146 can function to provide a user interface and settings for managing and receiving input from a user to set an alarm. The alarm management logic can interface with a timekeeping module (e.g., clock, calendar, time zone, etc.), and can trigger the activation of an alarm. The alarm can be in the form of an audible alarm or a non-audible alarm.
A non-audible alarm can provide such alarm by way of a vibration. The vibration can be produced by a motor integrated in the activity tracking device 100. The vibration can be defined to include various vibration patterns, intensities, and custom set patterns. The vibration produced by the motor or motors of the activity tracking device 100 can be managed by the alarm management logic 146 in conjunction with processing by the processor 106. The wireless communication logic 148 is configured for communication of the activity tracking device with another computing device by way of a wireless signal. The wireless signal can be in the form of a radio signal. As noted above, the radio signal can be in the form of a Wi-Fi™ signal, a Bluetooth™ signal, a low energy Bluetooth™ signal, or combinations thereof. The wireless communication logic can interface with the processor 106, storage 108 and battery 154 of device 100, for transferring activity data, which may be in the form of motion data or processed motion data, stored in the storage 108 to the computing device.
In one embodiment, processor 106 functions in conjunction with the various logic components 140, 142, 144, 146, and 148. The processor 106 can, in one embodiment, provide the functionality of any one or all of the logic components. In other embodiments, multiple chips can be used to separate the processing performed by any one of the logic components and the processor 106. Sensors 156 can communicate via a bus with the processor 106 and/or the logic components. The storage 108 is also in communication with the bus for providing storage of the motion data processed or tracked by the activity tracking device 100. Battery 154 is provided for providing power to the activity tracking device 100.
In one embodiment, remote device 200 communicates with activity tracking device 100 over a Bluetooth™ connection. In one embodiment, the Bluetooth™ connection is a low energy Bluetooth™ connection (e.g., Bluetooth™ LE, BLE, or Bluetooth™ Smart). Low energy Bluetooth™ is configured for providing low power consumption relative to standard Bluetooth™ circuitry. Low energy Bluetooth™ uses, in one embodiment, a 2.4 GHz radio frequency, which allows for dual mode devices to share a single radio antenna. In one embodiment, low energy Bluetooth™ connections can function at distances up to 50 meters, with over the air data rates ranging between 1-3 megabits (Mb) per second. In one embodiment, a proximity distance for communication can be defined by the particular wireless link, and is not tied to any specific standard. It should be understood that the proximity distance limitation will change in accordance with changes to existing standards and in view of future standards and/or circuitry and capabilities.
Remote device 200 can also communicate with the Internet 160 using an Internet connection. The Internet connection of the remote device 200 can include cellular connections, wireless connections such as Wi-Fi™, and combinations thereof (such as connections to switches between different types of connection links). The remote device, as mentioned above, can be a smartphone or tablet computer, or any other type of computing device having access to the Internet and with capabilities for communicating with the activity tracking device 100.
In one embodiment, a server 220 is also provided, which is interfaced with the Internet 160. The server 220 can include a number of applications that service the activity tracking device 100, and the associated users of the activity tracking device 100 by way of user accounts. For example, the server 220 can include an activity management application 224. The activity management application 224 can include logic for providing access to various activity tracking devices 100, which are associated with user accounts managed by server 220. Server 220 can include storage 226 that includes various user profiles associated with the various user accounts. The user account 228a for user A and the user account 228n for user N are shown to include various information.
The information can include, without limitation, device-user account paring 300, system configurations, user configurations, settings and data, etc. The storage 226 will include any number of user profiles, depending on the number of registered users having user accounts for their respective activity tracking devices. It should also be noted that a single user account can have various or multiple devices associated therewith, and the multiple devices can be individually customized, managed and accessed by a user. In one embodiment, the server 220 provides access to a user to view the user data 302 associated with activity tracking device. The user data can include historical activity data.
The data viewable by the user includes the tracked motion data, which is processed to identify a plurality of metrics associated with the motion data. The metrics are shown in various graphical user interfaces of a website enabled by the server 220. The website can include various pages with graphical user interfaces for rendering and displaying the various metrics for view by the user associated with the user account. In one embodiment, the website can also include interfaces that allow for data entry and configuration by the user.
The configurations may include defining which metrics will be displayed on the activity tracking device 100. In addition, the configurations can include identification of which metrics will be a first metric to be displayed on the activity tracking device. The first metric to be displayed by the activity tracking device can be in response to a user input at the activity tracked device 100. As noted above, the user input can be by way of physical contact. The physical contact is qualified by the processor and/or logic of the activity tracking device 100 to determine if the physical contact should be treated as an input. The input can trigger or cause the display screen of the activity tracking device 100 to be turned on to display a specific metric, that is selected by the user as the first metric to display. In another embodiment, the first metric displayed in response to the input can be predefined by the system as a default.
The configuration provided by the user by way of the server 220 and the activity management application 224 can also be provided by way of the activity tracking application 202 of the computing device 200. For example, the activity tracking application 202 can 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 can also allow for user input and configuration at various graphical user interface screens to set and define which input will produce display.
The communication described with reference to the flow diagrams in
In one embodiment, the first transfer rate is designed to allow the transfer of larger amounts of data that have been stored on the activity tracking device over a period of time, such as since the last connection was made to a computing device. The activity tracking data stored on the activity tracking device can include, for example, motion data associated with the various activities performed by a user, data sensed by the activity tracking device, or data measured by the activity tracking device.
The various activities may include, without limitation, walking, running, jogging, walking up and down stairs, and general movement. Other information that can be stored by the activity tracking device can include, for example, measured information such as heart rate information, temperature information, etc. In one embodiment, storage of the activity tracking device will store this information for a period of time until a connection is made to a client device, such as a computing device configured to sync with the activity tracking device. In one embodiment, the computing device (client device) can be a smart phone, a tablet computer, a laptop computer, a desktop computer, or a general computing device.
In one embodiment, the first transfer rate is defined by scaling up the connection interval of the 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 can be scaled to enable a transfer of packets that is more frequent than the second transfer rate.
First Transfer Rate (Connection Interval Scale-Up)
The connection interval for the first transfer rate can be scaled up to set a throughput of packets, such that each packet is transferred in less than about 200 milliseconds (ms). In one example embodiment, the first transfer rate is set to transfer one packet every about 10 ms to about 30 ms. In another example embodiment, the first transfer rate can be one packet every about 20 ms. In one embodiment, each packet is about 20 bytes.
In one embodiment, the first data transfer rate may be defined in terms of a frequency, in a range of between about 500 Bps (bytes per second) and about 2 kBps (kilobytes per second). In one example data transfer rate is about 1 kBps (kilobyte per second).
Second Transfer Rate (Connection Interval Scale-Down)
The connection interval for the second transfer rate can scaled down to set a throughput of packets, such that each packet is transferred at an interval that is greater than about 200 milliseconds (ms). In one example embodiment, the second transfer rate is set to transfer a packet every 500 ms. In some embodiments, depending on the frequency of events or lack of events, the transfer rate can be set to update only after several 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 that is less than 500 bps (bytes per second). In another embodiment, the second data transfer rate can be set to a value that is less than 100 bps (bytes per second). In still another example, the second data transfer rate can be about 1 Bps (1 byte per second). In some embodiments, depending on the frequency of events or lack of events, the transfer rate can be scaled down even further.
It should be understood that these example rates, parameters, and/or sizes can change over time, depending on standards, customizations, and/or optimizations. So therefore, these parameters should only be viewed as examples. It is further understood that the methods and devices defined herein can implement embodiments that include more than two data transfer rates. In fact, the number of data transfer rates can include any number, based on a number of predefined scaled up or scaled down connection intervals. The number of intervals will vary, of course, depending on the implementation.
By scaling the connection intervals up or down, it is not the actual throughput that is being changed, but rather 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 goes unused. A consideration for both transfer rates is latency, so the system does not want to have to wait too long before a single event (e.g., essentially one bit of information) can go from one device to another.
Returning to
The client device, in operation 408 may detect that an application is opened on the client device. The application that is opened is the activity tracking application 202, for example. In operation 410, the client device begins to pair with the activity tracking device. Pairing may occur, for example, upon request of a user that initiates the pairing.
The pairing, in this embodiment is a pairing between the activity tracking device and the site, which is enabled via the computing device client. For example, the scanning, connecting and data transfer at the computing device will enable the pairing with the site and sync 403. If the activity tracking device has activity data, it will also be synchronized with the site, as shown in 424 and 425. The communication between the computing device and the activity tracking device is carried out in accordance with the first transfer rate, which uses a scaled-up connection interval to transfer data. The first transfer rate can include, for example, command data 430 requesting data from the activity tracking device, sending data 432, and acknowledgement information 434 for received data. At this point, the user may wish to close application 414 at the client computing device.
In
The thick arrows 430, 432 and 434 represent the first data transfer rate, which is a faster transfer rate than the second transfer rate. Once the syncing with the site 404 and sync 425 is complete, using the scanning, connecting and data transfer 412 of the client, the operation of real-time client display updates 406 is processed.
The update condition has now changed, which causes a scale down of the connection intervals between the activity tracking device and the computing device. This, as noted above, causes the second transfer rate to govern for data exchanged to the computing device for real-time data display 420. In one embodiment, arrow 436 indicates a request from the computing device for real time updates. Arrows 438 indicate data transfers of any data available for transfer, using the second data transfer rate. Arrow 439 indicate a command that the client device has closed the application 414, so that the device can stop sending updates.
In this embodiment, the transfer of updates takes place to the computing device, which can display updates from the tracker in substantial real time. In one embodiment, the updates are transferred at a rate that is substantially not noticeable to a user viewing a changing screen or display of the computing device (e.g., the display of a smartphone, a smart watch, glasses device, etc.). In one example, the substantial real-time updates occur with transfer delay to the display that is less than about 2 seconds. In other embodiments, the transfer delay is less than about 1 second. In still other embodiments, the transfer delay is less than about 0.6 second. To human perception, the updates would appear to occur in real-time, wherein the updated activity data is continuously updated to the client device, and the display changes continuously or intermittently, depending on whether activity was captured or not. In some embodiments, the real time display will show numbers on a screen changing, such as counting steps, counting stairs, showing distance traveled, etc.
The communication between the client device and the server is executed using an Internet connection link, such as a Wi-Fi™ connection or cellular connection. As noted in this disclosure, the activity tracking device can be a wearable device on the wrist of a user, or a device that can be held by the user or attached to the user's clothing. As the user engages in motion or activities, the captured information can be transferred directly to the client device, such as a smart phone having an activity tracking application 202.
If the activity tracking application 202 is open, and the user is viewing one or more screens or data provided by the activity tracking application, that motion or activity data is transferred to the smart phone for display. Thus, if the user is currently viewing a screen that displays metric data associated with the activity being performed by the user, that activity can be updated substantially in real time as the user engages in the activity. For example, if the user is walking while viewing the screen that displays the number of steps, the number of steps can be shown to increase as the user is walking and viewing the display on the smart phone.
As the flow diagrams of
As mentioned above, the first connection interval setting 502 may transfer one packet every about 10 ms to about 30 ms. The packet transfer occurs over a low-energy Bluetooth™ connection, which saves energy by the activity tracking device. In one embodiment, the first connection interval setting 502 will remain during the data transfer. The data transfer that occurs upon first opening the application 202 is to transfer data that has been stored in the activity tracking device for some time. This data may include data held by the activity tracking device for several hours, days, or even months.
Therefore, during the first connection interval setting 502, such collected and stored data is downloaded to the client device so as 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 can also be used to transfer firmware from the client device to the activity tracking device.
The transfer of firmware to the activity tracking device generally includes transferring a larger chunk of data, and the increased or scaled up connection interval allows for such transfer to occur at a relatively fast rate. By using a scaled up connection interval, over a Bluetooth™ low-energy connection, the scaled-up connection interval provides for essentially a serialized transmission channel between the client device and the activity tracking device. In Bluetooth™ low-energy, serial data transfers are not allowed, but by scaling up the connection interval, it is possible to simulate an actual serial connection. In the context of firmware updates, it is noted that the firmware image is running on the activity tracking device, so updates need to be coordinated with the transmission of commands to save state, stop running the image, install the image, and resume execution of the firmware image update. Because the connection between the activity tracking device and the client devices is essentially serialized (due to the scaled up connection interval setting), the firmware image files and commands to update can be managed by the server.
The server, when it is determined that updates are needed, can issue instructions to scale up the connection interval, transfer the firmware updates and coordinate the install, directly from the server. In one embodiment, by coordinating the firmware update from the server, it is not necessary to have the application running on the client device manage the updates, which also avoids having to coordinate with App stores and sites to enable firmware updates. The determination to update, the updating, and the coordination of the updates can be directed from the server, at any schedule or when updates are needed. In this configuration, the client device simply acts as a communication pipe that enables the direct communication and exchange of control and data/firmware to the activity tracking device from the server.
In one embodiment, a device 100 can have two operating systems (OSs) so that each can be updated independently, and without risk of leaving device unable to communicate over Bluetooth™. In one configuration, the firmware update protocol includes deciding which OS the tracker will boot. The site on the server stores information about every firmware version and can compute deltas and data migration instructions from any version to any other version. For example, the computing device client can iteratively query current state from device 100, send the state to the site, receives in response a particular command to send to the device, and then after executing the command again queries the device for its current state. In this manner, no details about any particular version needs to be known by the client, as the site can manage the firmware updates.
Continuing with
The client device can then display in substantial real-time the updates on one or more of the graphical user interface screens provided by the activity tracking application 202. As noted above, one example of the second transfer rate can be to transfer one packet every 500 ms. This transfer rate is sufficient to update one or more of the metrics being captured by the activity tracking device and configured for display in substantial real-time on the client device (screen of a smart phone). The second connection interval setting 504 will remain during the period of time when updates for changes in activity data are captured by the activity tracking device or data is ready for transfer. When the activity tracking application 202 closes, the substantial real-time updates will stop or terminate.
When the activity tracking application 202 is not open, but the computing device is within a range of communication with the activity tracking device, background updates 602 are enabled. Background updates are programmed at predetermined times depending on how often or how infrequent updates have been received from an activity tracking device. In the graph, background updates occurred at times t1-t2, t3-t4, and t5-t6. In one embodiment, background syncing can be triggered by the tracker advertising that it has data to sync and typically the real world time between these data syncs is 15-90 minutes, or typically occurring in the 20-30 minute range. Background mode updates/syncing, however, is enabled when the activity tracking device is within communication range of the computing device (client device). In one embodiment, the range can be defined by capabilities of low-energy Bluetooth™ standards, and also taking into consideration the environment and/or structures between the tracker and the client.
In other embodiments, other communication distances may be enabled if other wireless standards are used now or in the future. As further shown, the background update 602, in one embodiment occur at the second transfer rate 502, which implement the second connection interval setting. In an alternate embodiment, the background update 602 can be performed using the first interval connection setting 502. Download updates 604 occur at the first connection interval setting, where larger chunks of data are transferred from storage of the activity tracking device when it is detected that the application has opened at time t7. Between time t7 and t8, the download updates 604 occur, or firmware updates to the activity tracking device.
The transfer rate is set at the first transfer rate by scaling up the connection interval between the activity tracking device and the computing device (transferring at the first connection interval setting 502). After it is detected that the application has closed at time t8, the second connection interval setting 504 is set by scaling down the connection interval. This places real-time updates 606 at the second transfer rate 508. As illustrated by the vertical bars, transfers are less continuous during this time, and depend on whether or not data is being produced by the activity tracking device and there is a need to transfer the data to the client device. For any such transfers of data, the transfers will occur at the second transfer rate, dictated by the second connection interval setting 504. At time t9, it is determined that the application has closed. If the computing device goes out of range of the activity tracking device, no updates will occur during time 608.
The update condition is determined at operation 706 and 708, in one example. For instance, in operation 706 it is determined if the application (e.g., activity tracking application 202) is open and is connectable (e.g., within range for connection) with the activity tracking device. If the application is not opened, it is determined in operation 708 if the computing device is connectable with the device within a transfer range. If the computing devices is within a transfer range, the method moves to operation 712. In operation 712, a background data transfers performed to the computing device using the second transfer rate, which is at a predefined scaled interval connection speed.
In another embodiment, background transfers can be executed at the first transfer rate. If it is determined that the device is not within the range of transfer with the computing device in operation 708, the method returns to operation 704 where that activity tracking device continues to collect data. If it is determined in operation 706 that the application is open and is 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 the first transfer rate. As noted above, the first transfer rate is faster than the second transfer rate, and is designed to transfer larger amounts of data over a low-energy Bluetooth™ wireless connection.
The first transfer rate may be, for example, enabling the transfer of a packet every 10 ms to 30 ms, whereas the second transfer rate may be enabling transfer of a packet after more than 200 ms, or after more than 300 ms, or after 400 ms, or after 500 ms. In operation 714, it is determined that the application is connected with the activity tracking device and is open. If the application remains open, then real-time updates 716 are performed such that one or more metrics associated with collected activity data is transferred to the computing device from the activity tracking device. This information can be displayed in substantial real time on one or more screens of the activity tracking application 202 rendered on a computing device 200 (e.g. smart phone, tablet, etc.). If in operation 714 it is determined that the application is no longer open, the method would return back to 702 where the activity tracking device continues to track data and store it in operation 704.
In operation 806, the update condition is determined for a current connection between the activity tracking device and a computing device. The update condition can identify whether an application has just been opened, whether the application remains open after a first transfer rate has concluded to transfer stored data or perform firmware updates, or if background updates are required. Depending on the update condition, it is determined whether to scale the connection interval up or down to optimize the data transfer operation. In operation 808 it is determined that the connection interval should be scaled up to a first transfer rate during a download of data from the activity tracking device to the client device, or 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 a second transfer rate for updating changes to metrics associated with collected activity data. At the scaled down connection interval rate, e.g., the second transfer rate, updates associated with one or more metrics can be transferred to the client device for display on one or more graphical user interface screens. The graphical user interface screens can include metric data that is changing on the fly as the user generates activity.
For instance, if the user is walking while viewing the one or more graphical user interface screens of the client device (e.g. running the activity tracking application 202), the step count will be shown to be increasing as the user takes each step. In another example, if the user is climbing stairs, the stair account would be increasing. In still another example, if the user is producing very active motion, the count of very active minutes can be shown to increase dynamically. Similarly, the calories burned count can be shown to increase dynamically while the user is performing an activity.
In one embodiment, synchronization (e.g., syncing) is a process between an activity tracking device and the web site. For example, the client device can be viewed as a dumb pipe that merely transmits data to the web site and then transmits a response to the activity tracking device. If there is no internet connection for the client device, no syncing is performed with the website. Syncing can then occur at a later time when an Internet connection has been established. In one embodiment, a “store and forward” type of approach can be implemented which just introduces asynchronous delays. The client would retrieve data from the tracker when it could, store it, and then relay the data to the site and get a response from the site later when there was an internet connection. In one embodiment, later, when the tracker was again available, the client could send the stored response to the tracker.
In some embodiments, a device is provided. The device is defined in a form of a wearable wrist attachable structure. In one embodiment, the device has a housing that is at least partially constructed or formed from a plastic material. In one embodiment, the housing of the device includes an altimeter. The defines can further include a transiently visible display, or a dead-front display, a touch screen display, a monochrome display, a digital display, a color display, or combination thereof. In yet another embodiment, the device can include one or more accelerometers. In one specific example, the device can include a 3-axis accelerometer. On still another embodiment, a 3-axis accelerometer can be replaced with or replicated by use of separate accelerometers (e.g., 3 accelerometers) positioned orthogonally to each other.
In one embodiment, the device collects one or more types of physiological and/or environmental data from embedded sensors and/or external devices and communicates or relays such metric information to other devices, including devices capable of serving as Internet-accessible data sources, thus permitting the collected data to be viewed, for example, using a web browser or network-based application. For example, while the user is wearing an activity tracking device, the device may calculate and store the user's step count using one or more sensors. The device then transmits data representative of the user's step count to an account on a web service, computer, mobile phone, or health station where the data may be stored, processed, and visualized by the user. Indeed, the device may measure or calculate a plurality of other physiological metrics in addition to, or in place of, the user's step count.
Some physiological metrics include, but are not limited to, energy expenditure (for example, calorie burn), floors climbed and/or descended, heart rate, heart rate variability, heart rate recovery, location and/or heading (for example, through GPS), elevation, ambulatory speed and/or distance traveled, swimming lap count, bicycle distance and/or speed, blood pressure, blood glucose, skin conduction, skin and/or body temperature, electromyography, electroencephalography, weight, body fat, caloric intake, nutritional intake from food, medication intake, sleep periods (i.e., clock time), sleep phases, sleep quality and/or duration, pH levels, hydration levels, and respiration rate. The device may also measure or calculate metrics related to the environment around the user such as barometric pressure, weather conditions (for example, temperature, humidity, pollen count, air quality, rain/snow conditions, wind speed), light exposure (for example, ambient light, UV light exposure, time and/or duration spent in darkness), noise exposure, radiation exposure, and magnetic field.
Still further, other metrics can include, without limitation, calories burned by a user, weight gained by a user, weight lost by a user, stairs ascended, e.g., climbed, etc., by a user, stairs descended by a user, steps taken by a user during walking or running, a number of rotations of a bicycle pedal rotated by a user, sedentary activity data, driving a vehicle, a number of golf swings taken by a user, a number of forehands of a sport played by a user, a number of backhands of a sport played by a user, or a combination thereof. In some embodiments, sedentary activity data is referred to herein as inactive activity data or as passive activity data. In some embodiments, when a user is not sedentary and is not sleeping, the user is active. In some embodiments, a user may stand on a monitoring device that determines a physiological parameter of the user. For example, a user stands on a scale that measures a weight, a body fat percentage, a biomass index, or a combination thereof, of the user.
Furthermore, the device or the system collating the data streams may calculate metrics derived from this data. For example, the device or system may calculate the user's stress and/or relaxation levels through a combination of heart rate variability, skin conduction, noise pollution, and sleep quality. In another example, the device or system may determine the efficacy of a medical intervention (for example, medication) through the combination of medication intake, sleep and/or activity data. In yet another example, the device or system may determine the efficacy of an allergy medication through the combination of pollen data, medication intake, sleep and/or activity data. These examples are provided for illustration only and are not intended to be limiting or exhaustive.
This information can be associated to the users account, which can be managed by an activity management application on the server. The activity management application can provide access to the users account and data saved thereon. The activity manager application running on the server can be in the form of a web application. The web application can provide access to a number of websites screens and pages that illustrate information regarding the metrics in various formats. This information can be viewed by the user, and synchronized with a computing device of the user, such as a smart phone.
In one embodiment, the data captured by the activity tracking device 100 is received by the computing device, and the data is synchronized with the activity measured application on the server. In this example, data viewable on the computing device (e.g. smart phone) using an activity tracking application (app) can be synchronized with the data present on the server, and associated with the user's account. In this way, information entered into the activity tracking application on the computing device can be synchronized with application illustrated in the various screens of the activity management application provided by the server on the website.
The user can therefore access the data associated with the user account using any device having access to the Internet. Data received by the network 176 can then be synchronized with the user's various devices, and analytics on the server can provide data analysis to provide recommendations for additional activity, and or improvements in physical health. The process therefore continues where data is captured, analyzed, synchronized, and recommendations are produced. In some embodiments, the captured data can be itemized and partitioned based on the type of activity being performed, and such information can be provided to the user on the website via graphical user interfaces, or by way of the application executed on the user's smart phone (by way of graphical user interfaces).
In an embodiment, the sensor or sensors of a device 100 can determine or capture data to determine an amount of movement of the monitoring device over a period of time. The sensors can include, for example, an accelerometer, a magnetometer, a gyroscope, or combinations thereof. Broadly speaking, these sensors are inertial sensors, which capture some movement data, in response to the device 100 being moved. The amount of movement (e.g., motion sensed) may occur when the user is performing an activity of climbing stairs over the time period, walking, running, etc. The monitoring device may be worn on a wrist, carried by a user, worn on clothing (using a clip, or placed in a pocket), attached to a leg or foot, attached to the user's chest, waist, or integrated in an article of clothing such as a shirt, hat, pants, blouse, glasses, and the like. These examples are not limiting to all the possible ways the sensors of the device can be associated with a user or thing being monitored.
In other embodiments, a biological sensor can determine any number of physiological characteristics of a user. As another example, the biological sensor may determine heart rate, a hydration level, body fat, bone density, fingerprint data, sweat rate, and/or a bioimpedance of the user. Examples of the biological sensors include, without limitation, a biometric sensor, a physiological parameter sensor, a pedometer, or a combination thereof.
In some embodiments, data associated with the user's activity can be monitored by the applications on the server and the users device, and activity associated with the user's friends, acquaintances, or social network peers can also be shared, based on the user's authorization. This provides for the ability for friends to compete regarding their fitness, achieve goals, receive badges for achieving goals, get reminders for achieving such goals, rewards or discounts for achieving certain goals, etc.
As noted, an activity tracking device 100 can communicate with a computing device (e.g., a smartphone, a tablet computer, a desktop computer, or computer device having wireless communication access and/or access to the Internet). The computing device, in turn, can communicate over 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 coupled 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 a controller include a processor and a memory device.
In one embodiment, the processor may be a general purpose processor. In another embodiment, the processor can be a customized processor configured to run specific algorithms or operations. Such processors can include digital signal processors (DSPs), which are designed to execute or interact with specific chips, signals, wires, and perform certain algorithms, processes, state diagrams, feedback, detection, execution, or the like. In some embodiments, a processor can include or be interfaced with an application specific integrated circuit (ASIC), a programmable logic device (PLD), a central processing unit (CPU), or a combination thereof, etc.
In some embodiments, one or more chips, modules, devices, or logic can be defined to execute instructions or logic, which collectively can be viewed or characterized to be a processor. Therefore, it should be understood that a processor does not necessarily have to be one single chip or module, but can be defined from a collection of electronic or connecting components, logic, firmware, code, and combinations thereof.
Examples of a memory device include a random access memory (RAM) and a read-only memory (ROM). A memory device may be a Flash memory, a redundant array of disks (RAID), a hard disk, or a combination thereof.
Embodiments described in the present 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. Several embodiments described in the present disclosure can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a wire-based or wireless network.
With the above embodiments in mind, it should be understood that a number of embodiments described in the present disclosure can employ various computer-implemented operations involving data stored in computer systems. These operations are those requiring physical manipulation of physical quantities. Any of the operations described herein that form part of various embodiments described in the present disclosure are useful machine operations. Several embodiments described in the present disclosure also relate to a device or an apparatus for performing these operations. The apparatus can be specially constructed for a purpose, or the apparatus can be a computer selectively activated or configured by a computer program stored in the computer. In particular, various machines can 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 the present disclosure can 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 the computer-readable medium include hard drives, network attached storage (NAS), ROM, RAM, compact disc-ROMs (CD-ROMs), CD-recordables (CD-Rs), CD-rewritables (RWs), magnetic tapes and other optical and non-optical data storage devices. The computer-readable medium can include computer-readable tangible medium distributed over a network-coupled computer system so that the computer-readable code is stored and executed in a distributed fashion.
Although the method operations were described in a specific order, it should be understood that other housekeeping operations may be performed in between operations, or operations may be performed in an order other than that shown, or operations may be adjusted so that they occur at slightly different times, or may be distributed in a system which allows the occurrence of the processing operations at various intervals associated with the 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 can 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 present disclosure are not to be limited to the details given herein, but may be modified within the scope and equivalents of the appended claims.
This application is a continuation of patented U.S. patent application Ser. No. 14/261,404, filed on Apr. 24, 2014, now U.S. Pat. No. 8,972,220, entitled “Methods, Systems And Devices For Activity Tracking Device Data Synchronization With Computing Devices,” which is a continuation of patented U.S. patent application Ser. No. 14/050,292, filed on Oct. 9, 2013, now U.S. Pat. No. 8,744,803, entitled “Methods, Systems and Devices for Activity Tracking Device Data Synchronization with Computing Devices”, which claims priority to U.S. Provisional Patent Application No. 61/885,962, filed on Oct. 2, 2013, entitled “Methods, Systems and Devices for Activity Tracking Device Data Synchronization with Computing Devices”, which is herein incorporated by reference. U.S. patent application Ser. No. 14/050,292 is a continuation-in-part of U.S. patent application Ser. No. 13/959,714, filed on Aug. 5, 2013, now U.S. Pat. No. 8,762,101, titled “Methods and Systems for Identification of Event Data Having Combined Activity and Location Information of Portable Monitoring Devices”, which is a continuation-in-part of U.S. patent application Ser. No. 13/693,334 (now issued as U.S. Pat. No. 8,548,770, issued on Oct. 1, 2013), filed on Dec. 4, 2012, titled “Portable Monitoring Devices and Methods for Operating Same”, which is a divisional of U.S. patent application Ser. No. 13/667,229 (now issued as U.S. Pat. No. 8,437,980, issued on May 7, 2013), filed on Nov. 2, 2012, titled “Portable Monitoring Devices and Methods for Operating Same”, which is a divisional of U.S. patent application Ser. No. 13/469,027, now U.S. Pat. No. 8,311,769, filed on May 10, 2012, titled “Portable Monitoring Devices and Methods for Operating Same”, which is a divisional of U.S. patent application Ser. No. 13/246,843, now U.S. Pat. No. 8,180,591, filed on Sep. 27, 2011, which is a divisional of U.S. patent application Ser. No. 13/156,304, filed on Jun. 8, 2011, now patented as U.S. Pat. No. 9,167,991, titled “Portable Monitoring Devices and Methods for Operating Same”, which claims the benefit of and priority to, under 35 U.S.C. 119§(e), to U.S. Provisional Patent Application No. 61/388,595, filed on Sep. 30, 2010, and titled “Portable Monitoring Devices and Methods for Operating Same”, and to U.S. Provisional Patent Application No. 61/390,811, filed on Oct. 7, 2010, and titled “Portable Monitoring Devices and Methods for Operating Same”, all of which are hereby incorporated by reference in their entirety. U.S. patent application Ser. No. 14/050,292 is a continuation-in-part of Ser. No. 13/959,714, filed Aug. 5, 2013, now U.S. Pat. No. 8,762,101, titled “Methods and Systems for Identification of Event Data Having Combined Activity and Location Information of Portable Monitoring Devices”, which is a continuation-in-part of U.S. patent application Ser. No. 13/759,485, (now issued as U.S. Pat. No. 8,543,351, issued on Sep. 24, 2013), filed on Feb. 5, 2013, titled “Portable Monitoring Devices and Methods for Operating Same”, which is a divisional of U.S. patent application Ser. No. 13/667,229, filed on Nov. 2, 2012, now U.S. Pat. No. 8,437,980, titled “Portable Monitoring Devices and Methods for Operating Same”, which is a divisional of U.S. patent application Ser. No. 13/469,027, now U.S. Pat. No. 8,311,769, filed on May 10, 2012, titled “Portable Monitoring Devices and Methods for Operating Same”, which is a divisional of U.S. patent application Ser. No. 13/246,843, now U.S. Pat. No. 8,180,591, filed on Sep. 27, 2011, which is a divisional of U.S. patent application Ser. No. 13/156,304, filed on Jun. 8, 2011, now patented as U.S. Pat. No. 9,167,991, titled “Portable Monitoring Devices and Methods for Operating Same”, which claims the benefit of and priority to, under 35 U.S.C. 119§(e), to U.S. Provisional Patent Application No. 61/388,595, filed on Sep. 30, 2010, and titled “Portable Monitoring Devices and Methods for Operating Same” and to U.S. Provisional Patent Application No. 61/390,811, filed on Oct. 7, 2010, and titled “Portable Monitoring Devices and Methods for Operating Same”, all of which are hereby incorporated by reference in their entirety. This application is a continuation-in-part of abandoned U.S. patent application Ser. No. 13/872,015, filed on Apr. 26, 2013, entitled “Secure Pairing of Devices via Paring Facilitator-Intermediary Device,” which claims priority from U.S. Provisional Patent Application No. 61/638,650, filed on Apr. 26, 2012, both of which are herein incorporated by reference. This Application is related to U.S. application Ser. No. 14/050,301, filed on Oct. 9, 2013, now patented as U.S. Pat. No. 9,188,460, entitled “Methods, Systems, and Devices for Generating Real-Time Activity Data Updates to Display Devices,” which claims priority to U.S. Provisional Application No. 61/885,966, filed on Oct. 2, 2013, both of which are incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
2717736 | Schlesinger | Sep 1955 | A |
2827309 | Fred | Mar 1958 | A |
2883255 | Anderson | Apr 1959 | A |
3163856 | Kirby | Dec 1964 | A |
3250270 | Walter | May 1966 | A |
3522383 | Chang | Jul 1970 | A |
3918658 | Beller | Nov 1975 | A |
4192000 | Lipsey | Mar 1980 | A |
4244020 | Ratcliff | Jan 1981 | A |
4281663 | Pringle | Aug 1981 | A |
4284849 | Anderson et al. | Aug 1981 | A |
4312358 | Barney | Jan 1982 | A |
4367752 | Jimenez et al. | Jan 1983 | A |
4390922 | Pelliccia | Jun 1983 | A |
4407295 | Steuer et al. | Oct 1983 | A |
4425921 | Fujisaki et al. | Jan 1984 | A |
4466204 | Wu | Aug 1984 | A |
4575804 | Ratcliff | Mar 1986 | A |
4578769 | Frederick | Mar 1986 | A |
4617525 | Lloyd | Oct 1986 | A |
4887249 | Thinesen | Dec 1989 | A |
4930518 | Hrushesky | Jun 1990 | A |
4977509 | Pitchford et al. | Dec 1990 | A |
5058427 | Brandt | Oct 1991 | A |
5224059 | Nitta et al. | Jun 1993 | A |
5295085 | Hoffacker | Mar 1994 | A |
5314389 | Dotan | May 1994 | A |
5323650 | Fullen et al. | Jun 1994 | A |
5365930 | Takashima et al. | Nov 1994 | A |
5446705 | Haas et al. | Aug 1995 | A |
5456648 | Edinburg et al. | Oct 1995 | A |
5553296 | Forrest et al. | Sep 1996 | A |
5583776 | Levi et al. | Dec 1996 | A |
5645509 | Brewer et al. | Jul 1997 | A |
5671162 | Werbin | Sep 1997 | A |
5692324 | Goldston et al. | Dec 1997 | A |
5704350 | Williams, III | Jan 1998 | A |
5724265 | Hutchings | Mar 1998 | A |
5817008 | Rafert et al. | Oct 1998 | A |
5890128 | Diaz et al. | Mar 1999 | A |
5891042 | Sham et al. | Apr 1999 | A |
5894454 | Kondo | Apr 1999 | A |
5899963 | Hutchings | May 1999 | A |
5941828 | Archibald et al. | Aug 1999 | A |
5947868 | Dugan | Sep 1999 | A |
5955667 | Fyfe | Sep 1999 | A |
5976083 | Richardson et al. | Nov 1999 | A |
6018705 | Gaudet et al. | Jan 2000 | A |
6077193 | Buhler et al. | Jun 2000 | A |
6078874 | Piety et al. | Jun 2000 | A |
6085248 | Sambamurthy et al. | Jul 2000 | A |
6129686 | Friedman | Oct 2000 | A |
6145389 | Ebeling et al. | Nov 2000 | A |
6183425 | Whalen et al. | Feb 2001 | B1 |
6213872 | Harada et al. | Apr 2001 | B1 |
6241684 | Amano et al. | Jun 2001 | B1 |
6287262 | Amano et al. | Sep 2001 | B1 |
6301964 | Fyfe et al. | Oct 2001 | B1 |
6302789 | Harada et al. | Oct 2001 | B2 |
6305221 | Hutchings | Oct 2001 | B1 |
6309360 | Mault | Oct 2001 | B1 |
6454708 | Ferguson et al. | Sep 2002 | B1 |
6469639 | Tanenhaus et al. | Oct 2002 | B2 |
6478736 | Mault | Nov 2002 | B1 |
6513381 | Fyfe et al. | Feb 2003 | B2 |
6513532 | Mault et al. | Feb 2003 | B2 |
6527711 | Stivoric et al. | Mar 2003 | B1 |
6529827 | Beason et al. | Mar 2003 | B1 |
6558335 | Thede | May 2003 | B1 |
6561951 | Cannon et al. | May 2003 | B2 |
6571200 | Mault | May 2003 | B1 |
6583369 | Montagnino et al. | Jun 2003 | B2 |
6585622 | Shum et al. | Jul 2003 | B1 |
6607493 | Song | Aug 2003 | B2 |
6620078 | Pfeffer | Sep 2003 | B2 |
6678629 | Tsuji | Jan 2004 | B2 |
6699188 | Wessel | Mar 2004 | B2 |
6761064 | Tsuji | Jul 2004 | B2 |
6772331 | Hind et al. | Aug 2004 | B1 |
6788200 | Jamel et al. | Sep 2004 | B1 |
6790178 | Mault et al. | Sep 2004 | B1 |
6808473 | Hisano et al. | Oct 2004 | B2 |
6811516 | Dugan | Nov 2004 | B1 |
6813582 | Levi et al. | Nov 2004 | B2 |
6813931 | Yadav et al. | Nov 2004 | B2 |
6856938 | Kurtz | Feb 2005 | B2 |
6862575 | Anttila et al. | Mar 2005 | B1 |
6984207 | Sullivan et al. | Jan 2006 | B1 |
7020508 | Stivoric et al. | Mar 2006 | B2 |
7041032 | Calvano | May 2006 | B1 |
7062225 | White | Jun 2006 | B2 |
7099237 | Lall | Aug 2006 | B2 |
7133690 | Ranta-Aho et al. | Nov 2006 | B2 |
7162368 | Levi et al. | Jan 2007 | B2 |
7171331 | Vock et al. | Jan 2007 | B2 |
7200517 | Darley et al. | Apr 2007 | B2 |
7246033 | Kudo | Jul 2007 | B1 |
7261690 | Teller et al. | Aug 2007 | B2 |
7272982 | Neuhauser et al. | Sep 2007 | B2 |
7283870 | Kaiser et al. | Oct 2007 | B2 |
7285090 | Stivoric et al. | Oct 2007 | B2 |
7373820 | James | May 2008 | B1 |
7443292 | Jensen et al. | Oct 2008 | B2 |
7457724 | Vock et al. | Nov 2008 | B2 |
7467060 | Kulach et al. | Dec 2008 | B2 |
7502643 | Farringdon et al. | Mar 2009 | B2 |
7505865 | Ohkubo et al. | Mar 2009 | B2 |
7539532 | Tran | May 2009 | B2 |
7558622 | Tran | Jul 2009 | B2 |
7559877 | Parks et al. | Jul 2009 | B2 |
7608050 | Shugg | Oct 2009 | B2 |
7653508 | Kahn et al. | Jan 2010 | B1 |
7690556 | Kahn et al. | Apr 2010 | B1 |
7713173 | Shin et al. | May 2010 | B2 |
7762952 | Lee et al. | Jul 2010 | B2 |
7771320 | Riley et al. | Aug 2010 | B2 |
7774156 | Niva et al. | Aug 2010 | B2 |
7789802 | Lee et al. | Sep 2010 | B2 |
7827000 | Stirling et al. | Nov 2010 | B2 |
7865140 | Levien et al. | Jan 2011 | B2 |
7881902 | Kahn et al. | Feb 2011 | B1 |
7907901 | Kahn et al. | Mar 2011 | B1 |
7925022 | Jung et al. | Apr 2011 | B2 |
7927253 | Vincent et al. | Apr 2011 | B2 |
7941665 | Berkema et al. | May 2011 | B2 |
7942824 | Kayyali et al. | May 2011 | B1 |
7953549 | Graham et al. | May 2011 | B2 |
7983876 | Vock et al. | Jul 2011 | B2 |
8005922 | Boudreau et al. | Aug 2011 | B2 |
8028443 | Case, Jr. | Oct 2011 | B2 |
8036850 | Kulach et al. | Oct 2011 | B2 |
8055469 | Kulach et al. | Nov 2011 | B2 |
8059573 | Julian et al. | Nov 2011 | B2 |
8060337 | Kulach et al. | Nov 2011 | B2 |
8095071 | Sim et al. | Jan 2012 | B2 |
8099318 | Moukas et al. | Jan 2012 | B2 |
8103247 | Ananthanarayanan et al. | Jan 2012 | B2 |
8132037 | Fehr et al. | Mar 2012 | B2 |
8172761 | Rulkov et al. | May 2012 | B1 |
8177260 | Tropper et al. | May 2012 | B2 |
8180591 | Yuen et al. | May 2012 | B2 |
8180592 | Yuen et al. | May 2012 | B2 |
8190651 | Treu et al. | May 2012 | B2 |
8213613 | Diehl et al. | Jul 2012 | B2 |
8260261 | Teague | Sep 2012 | B2 |
8270297 | Akasaka et al. | Sep 2012 | B2 |
8271662 | Gossweiler, III et al. | Sep 2012 | B1 |
8289162 | Mooring et al. | Oct 2012 | B2 |
8311769 | Yuen et al. | Nov 2012 | B2 |
8311770 | Yuen et al. | Nov 2012 | B2 |
8386008 | Yuen et al. | Feb 2013 | B2 |
8437980 | Yuen et al. | May 2013 | B2 |
8462591 | Marhaben | Jun 2013 | B1 |
8463576 | Yuen et al. | Jun 2013 | B2 |
8463577 | Yuen et al. | Jun 2013 | B2 |
8487771 | Hsieh et al. | Jul 2013 | B2 |
8533269 | Brown | Sep 2013 | B2 |
8533620 | Hoffman et al. | Sep 2013 | B2 |
8543185 | Yuen et al. | Sep 2013 | B2 |
8543351 | Yuen et al. | Sep 2013 | B2 |
8548770 | Yuen et al. | Oct 2013 | B2 |
8562489 | Burton et al. | Oct 2013 | B2 |
8583402 | Yuen et al. | Nov 2013 | B2 |
8597093 | Engelberg et al. | Dec 2013 | B2 |
8634796 | Johnson | Jan 2014 | B2 |
8670953 | Yuen et al. | Mar 2014 | B2 |
8684900 | Tran | Apr 2014 | B2 |
8690578 | Nusbaum et al. | Apr 2014 | B1 |
8738321 | Yuen et al. | May 2014 | B2 |
8738323 | Yuen et al. | May 2014 | B2 |
8744803 | Park et al. | Jun 2014 | B2 |
8762101 | Yuen et al. | Jun 2014 | B2 |
8764651 | Tran | Jul 2014 | B2 |
8825445 | Hoffman et al. | Sep 2014 | B2 |
8847988 | Geisner et al. | Sep 2014 | B2 |
8868377 | Yuen et al. | Oct 2014 | B2 |
8892401 | Yuen et al. | Nov 2014 | B2 |
8949070 | Kahn et al. | Feb 2015 | B1 |
8954290 | Yuen et al. | Feb 2015 | B2 |
8961414 | Teller et al. | Feb 2015 | B2 |
8968195 | Tran | Mar 2015 | B2 |
9047648 | Lekutai et al. | Jun 2015 | B1 |
9081534 | Yuen et al. | Jul 2015 | B2 |
9374279 | Yuen et al. | Jun 2016 | B2 |
9426769 | Haro | Aug 2016 | B2 |
20010049470 | Mault et al. | Dec 2001 | A1 |
20010055242 | Deshmukh et al. | Dec 2001 | A1 |
20020013717 | Ando et al. | Jan 2002 | A1 |
20020019585 | Dickinson | Feb 2002 | A1 |
20020077219 | Cohen et al. | Jun 2002 | A1 |
20020082144 | Pfeffer | Jun 2002 | A1 |
20020087264 | Hills et al. | Jul 2002 | A1 |
20020109600 | Mault et al. | Aug 2002 | A1 |
20020178060 | Sheehan | Nov 2002 | A1 |
20020191797 | Perlman | Dec 2002 | A1 |
20020198776 | Nara et al. | Dec 2002 | A1 |
20030018523 | Rappaport et al. | Jan 2003 | A1 |
20030050537 | Wessel | Mar 2003 | A1 |
20030065561 | Brown et al. | Apr 2003 | A1 |
20030107575 | Cardno | Jun 2003 | A1 |
20030131059 | Brown et al. | Jul 2003 | A1 |
20030171189 | Kaufman | Sep 2003 | A1 |
20030208335 | Unuma et al. | Nov 2003 | A1 |
20030226695 | Mault | Dec 2003 | A1 |
20040054497 | Kurtz | Mar 2004 | A1 |
20040061324 | Howard | Apr 2004 | A1 |
20040117963 | Schneider | Jun 2004 | A1 |
20040122488 | Mazar et al. | Jun 2004 | A1 |
20040152957 | Stivoric et al. | Aug 2004 | A1 |
20040239497 | Schwartzman et al. | Dec 2004 | A1 |
20040249299 | Cobb | Dec 2004 | A1 |
20040257557 | Block | Dec 2004 | A1 |
20050037844 | Shum et al. | Feb 2005 | A1 |
20050038679 | Short | Feb 2005 | A1 |
20050054938 | Wehman et al. | Mar 2005 | A1 |
20050102172 | Sirmans, Jr. | May 2005 | A1 |
20050107723 | Wehman et al. | May 2005 | A1 |
20050163056 | Ranta-Aho et al. | Jul 2005 | A1 |
20050171410 | Hjelt et al. | Aug 2005 | A1 |
20050186965 | Pagonis et al. | Aug 2005 | A1 |
20050187481 | Hatib | Aug 2005 | A1 |
20050195830 | Chitrapu et al. | Sep 2005 | A1 |
20050216724 | Isozaki et al. | Sep 2005 | A1 |
20050228244 | Banet | Oct 2005 | A1 |
20050228692 | Hodgdon | Oct 2005 | A1 |
20050234742 | Hodgdon | Oct 2005 | A1 |
20050248718 | Howell et al. | Nov 2005 | A1 |
20050272564 | Pyles et al. | Dec 2005 | A1 |
20060004265 | Pulkkinen et al. | Jan 2006 | A1 |
20060020174 | Matsumura | Jan 2006 | A1 |
20060020177 | Seo et al. | Jan 2006 | A1 |
20060025282 | Redmann | Feb 2006 | A1 |
20060039348 | Racz et al. | Feb 2006 | A1 |
20060047208 | Yoon | Mar 2006 | A1 |
20060047447 | Brady et al. | Mar 2006 | A1 |
20060064037 | Shalon et al. | Mar 2006 | A1 |
20060064276 | Ren et al. | Mar 2006 | A1 |
20060069619 | Walker et al. | Mar 2006 | A1 |
20060089542 | Sands | Apr 2006 | A1 |
20060106535 | Duncan | May 2006 | A1 |
20060111944 | Sirmans, Jr. | May 2006 | A1 |
20060129436 | Short | Jun 2006 | A1 |
20060143645 | Vock et al. | Jun 2006 | A1 |
20060166718 | Seshadri et al. | Jul 2006 | A1 |
20060189863 | Peyser | Aug 2006 | A1 |
20060217231 | Parks et al. | Sep 2006 | A1 |
20060247952 | Muraca | Nov 2006 | A1 |
20060277474 | Robarts et al. | Dec 2006 | A1 |
20060282021 | DeVaul et al. | Dec 2006 | A1 |
20060287883 | Turgiss et al. | Dec 2006 | A1 |
20060288117 | Raveendran et al. | Dec 2006 | A1 |
20070011028 | Sweeney | Jan 2007 | A1 |
20070049384 | King et al. | Mar 2007 | A1 |
20070050715 | Behar | Mar 2007 | A1 |
20070051369 | Choi et al. | Mar 2007 | A1 |
20070061593 | Celikkan et al. | Mar 2007 | A1 |
20070071643 | Hall et al. | Mar 2007 | A1 |
20070072156 | Kaufman et al. | Mar 2007 | A1 |
20070083095 | Rippo et al. | Apr 2007 | A1 |
20070083602 | Heggenhougen et al. | Apr 2007 | A1 |
20070123391 | Shin et al. | May 2007 | A1 |
20070135264 | Rosenberg | Jun 2007 | A1 |
20070136093 | Rankin et al. | Jun 2007 | A1 |
20070146116 | Kimbrell | Jun 2007 | A1 |
20070155277 | Amitai et al. | Jul 2007 | A1 |
20070159926 | Prstojevich et al. | Jul 2007 | A1 |
20070179356 | Wessel | Aug 2007 | A1 |
20070179761 | Wren et al. | Aug 2007 | A1 |
20070194066 | Ishihara et al. | Aug 2007 | A1 |
20070197920 | Adams | Aug 2007 | A1 |
20070208544 | Kulach et al. | Sep 2007 | A1 |
20070276271 | Chan | Nov 2007 | A1 |
20070288265 | Quinian et al. | Dec 2007 | A1 |
20080001735 | Tran | Jan 2008 | A1 |
20080014947 | Carnall | Jan 2008 | A1 |
20080022089 | Leedom | Jan 2008 | A1 |
20080032864 | Hakki | Feb 2008 | A1 |
20080044014 | Corndorf | Feb 2008 | A1 |
20080054072 | Katragadda et al. | Mar 2008 | A1 |
20080084823 | Akasaka et al. | Apr 2008 | A1 |
20080093838 | Tropper et al. | Apr 2008 | A1 |
20080097550 | Dicks et al. | Apr 2008 | A1 |
20080109158 | Huhtala | May 2008 | A1 |
20080114829 | Button et al. | May 2008 | A1 |
20080125288 | Case | May 2008 | A1 |
20080125959 | Doherty | May 2008 | A1 |
20080129457 | Ritter et al. | Jun 2008 | A1 |
20080134102 | Movold et al. | Jun 2008 | A1 |
20080139910 | Mastrototaro et al. | Jun 2008 | A1 |
20080140163 | Keacher et al. | Jun 2008 | A1 |
20080140338 | No et al. | Jun 2008 | A1 |
20080146892 | LeBoeuf et al. | Jun 2008 | A1 |
20080155077 | James | Jun 2008 | A1 |
20080176655 | James et al. | Jul 2008 | A1 |
20080190202 | Kulach et al. | Aug 2008 | A1 |
20080214360 | Stirling et al. | Sep 2008 | A1 |
20080275309 | Stivoric et al. | Nov 2008 | A1 |
20080285805 | Luinge et al. | Nov 2008 | A1 |
20080287751 | Stivoric et al. | Nov 2008 | A1 |
20080300641 | Brunekreeft | Dec 2008 | A1 |
20090012418 | Gerlach | Jan 2009 | A1 |
20090018797 | Kasama et al. | Jan 2009 | A1 |
20090043531 | Kahn et al. | Feb 2009 | A1 |
20090047645 | Dibenedetto et al. | Feb 2009 | A1 |
20090048044 | Oleson et al. | Feb 2009 | A1 |
20090054737 | Magar et al. | Feb 2009 | A1 |
20090054751 | Babashan et al. | Feb 2009 | A1 |
20090058635 | LaLonde et al. | Mar 2009 | A1 |
20090063193 | Barton et al. | Mar 2009 | A1 |
20090063293 | Mirrashidi et al. | Mar 2009 | A1 |
20090076765 | Kulach et al. | Mar 2009 | A1 |
20090088183 | Piersol | Apr 2009 | A1 |
20090093341 | James et al. | Apr 2009 | A1 |
20090098821 | Shinya | Apr 2009 | A1 |
20090144456 | Gelf et al. | Jun 2009 | A1 |
20090144639 | Nims et al. | Jun 2009 | A1 |
20090150178 | Sutton et al. | Jun 2009 | A1 |
20090156172 | Chan | Jun 2009 | A1 |
20090171788 | Tropper et al. | Jul 2009 | A1 |
20090195350 | Tsern et al. | Aug 2009 | A1 |
20090262088 | Moll-Carrillo et al. | Oct 2009 | A1 |
20090264713 | Van Loenen et al. | Oct 2009 | A1 |
20090271147 | Sugai | Oct 2009 | A1 |
20090287921 | Zhu et al. | Nov 2009 | A1 |
20090307517 | Fehr et al. | Dec 2009 | A1 |
20090309742 | Alexander et al. | Dec 2009 | A1 |
20090313857 | Carnes et al. | Dec 2009 | A1 |
20100023348 | Hardee et al. | Jan 2010 | A1 |
20100043056 | Ganapathy | Feb 2010 | A1 |
20100058064 | Kirovski et al. | Mar 2010 | A1 |
20100059561 | Ellis et al. | Mar 2010 | A1 |
20100069203 | Kawaguchi et al. | Mar 2010 | A1 |
20100079291 | Kroll | Apr 2010 | A1 |
20100125729 | Baentsch et al. | May 2010 | A1 |
20100130873 | Yuen et al. | May 2010 | A1 |
20100158494 | King | Jun 2010 | A1 |
20100159709 | Kotani et al. | Jun 2010 | A1 |
20100167783 | Alameh et al. | Jul 2010 | A1 |
20100179411 | Holmström et al. | Jul 2010 | A1 |
20100185064 | Bandic et al. | Jul 2010 | A1 |
20100191153 | Sanders et al. | Jul 2010 | A1 |
20100205541 | Rapaport et al. | Aug 2010 | A1 |
20100217099 | LeBoeuf et al. | Aug 2010 | A1 |
20100222179 | Temple et al. | Sep 2010 | A1 |
20100261987 | Kamath et al. | Oct 2010 | A1 |
20100292050 | DiBenedetto | Nov 2010 | A1 |
20100292600 | DiBenedetto et al. | Nov 2010 | A1 |
20100295684 | Hsieh et al. | Nov 2010 | A1 |
20100298656 | McCombie et al. | Nov 2010 | A1 |
20100298661 | McCombie et al. | Nov 2010 | A1 |
20100304674 | Kim et al. | Dec 2010 | A1 |
20100311544 | Robinette et al. | Dec 2010 | A1 |
20100331145 | Lakovic et al. | Dec 2010 | A1 |
20110003665 | Burton et al. | Jan 2011 | A1 |
20110009051 | Khedouri et al. | Jan 2011 | A1 |
20110021143 | Kapur et al. | Jan 2011 | A1 |
20110022349 | Stirling et al. | Jan 2011 | A1 |
20110029241 | Miller et al. | Feb 2011 | A1 |
20110032105 | Hoffman et al. | Feb 2011 | A1 |
20110051665 | Huang | Mar 2011 | A1 |
20110080349 | Holbein et al. | Apr 2011 | A1 |
20110087076 | Brynelsen et al. | Apr 2011 | A1 |
20110106449 | Chowdhary et al. | May 2011 | A1 |
20110109540 | Milne et al. | May 2011 | A1 |
20110131005 | Ueshima et al. | Jun 2011 | A1 |
20110145894 | Garcia Morchon et al. | Jun 2011 | A1 |
20110153773 | Vandwalle | Jun 2011 | A1 |
20110167262 | Ross et al. | Jul 2011 | A1 |
20110193704 | Harper et al. | Aug 2011 | A1 |
20110197157 | Hoffman et al. | Aug 2011 | A1 |
20110214030 | Greenberg et al. | Sep 2011 | A1 |
20110221590 | Baker et al. | Sep 2011 | A1 |
20110224508 | Moon | Sep 2011 | A1 |
20110230729 | Shirasaki et al. | Sep 2011 | A1 |
20110275940 | Nims et al. | Nov 2011 | A1 |
20120015778 | Lee et al. | Jan 2012 | A1 |
20120035487 | Werner et al. | Feb 2012 | A1 |
20120046113 | Ballas | Feb 2012 | A1 |
20120072165 | Jallon | Mar 2012 | A1 |
20120083705 | Yuen et al. | Apr 2012 | A1 |
20120083714 | Yuen et al. | Apr 2012 | A1 |
20120083715 | Yuen et al. | Apr 2012 | A1 |
20120083716 | Yuen et al. | Apr 2012 | A1 |
20120084053 | Yuen et al. | Apr 2012 | A1 |
20120084054 | Yuen et al. | Apr 2012 | A1 |
20120092157 | Tran | Apr 2012 | A1 |
20120094649 | Porrati et al. | Apr 2012 | A1 |
20120102008 | Kääri äinen et al. | Apr 2012 | A1 |
20120116684 | Ingrassia, Jr. et al. | May 2012 | A1 |
20120119911 | Jeon et al. | May 2012 | A1 |
20120150483 | Vock et al. | Jun 2012 | A1 |
20120165684 | Sholder | Jun 2012 | A1 |
20120166257 | Shiragami et al. | Jun 2012 | A1 |
20120179278 | Riley et al. | Jul 2012 | A1 |
20120183939 | Aragones et al. | Jul 2012 | A1 |
20120215328 | Schmelzer | Aug 2012 | A1 |
20120221634 | Treu et al. | Aug 2012 | A1 |
20120226471 | Yuen et al. | Sep 2012 | A1 |
20120226472 | Yuen et al. | Sep 2012 | A1 |
20120227737 | Mastrototaro et al. | Sep 2012 | A1 |
20120245716 | Srinivasan et al. | Sep 2012 | A1 |
20120254987 | Ge et al. | Oct 2012 | A1 |
20120265477 | Vock et al. | Oct 2012 | A1 |
20120265480 | Oshima | Oct 2012 | A1 |
20120274508 | Brown et al. | Nov 2012 | A1 |
20120283855 | Hoffman et al. | Nov 2012 | A1 |
20120290109 | Enqelberq et al. | Nov 2012 | A1 |
20120296400 | Bierman et al. | Nov 2012 | A1 |
20120297229 | Desai et al. | Nov 2012 | A1 |
20120297440 | Reams et al. | Nov 2012 | A1 |
20120316456 | Rahman et al. | Dec 2012 | A1 |
20120324226 | Bichsel et al. | Dec 2012 | A1 |
20120330109 | Tran | Dec 2012 | A1 |
20130006718 | Nielsen et al. | Jan 2013 | A1 |
20130041590 | Burich et al. | Feb 2013 | A1 |
20130072169 | Ross et al. | Mar 2013 | A1 |
20130073254 | Yuen et al. | Mar 2013 | A1 |
20130073255 | Yuen et al. | Mar 2013 | A1 |
20130080113 | Yuen et al. | Mar 2013 | A1 |
20130094600 | Beziat et al. | Apr 2013 | A1 |
20130095459 | Tran | Apr 2013 | A1 |
20130096843 | Yuen et al. | Apr 2013 | A1 |
20130102251 | Linde et al. | Apr 2013 | A1 |
20130103847 | Brown et al. | Apr 2013 | A1 |
20130106684 | Weast et al. | May 2013 | A1 |
20130132501 | Vandwalle et al. | May 2013 | A1 |
20130151193 | Kulach et al. | Jun 2013 | A1 |
20130151196 | Yuen et al. | Jun 2013 | A1 |
20130158369 | Yuen et al. | Jun 2013 | A1 |
20130166048 | Werner et al. | Jun 2013 | A1 |
20130187789 | Lowe | Jul 2013 | A1 |
20130190008 | Vathsancam et al. | Jul 2013 | A1 |
20130190903 | Balakrishnan et al. | Jul 2013 | A1 |
20130191034 | Weast et al. | Jul 2013 | A1 |
20130203475 | Kil et al. | Aug 2013 | A1 |
20130209972 | Carter et al. | Aug 2013 | A1 |
20130225117 | Giacoletto et al. | Aug 2013 | A1 |
20130228063 | Turner | Sep 2013 | A1 |
20130231574 | Tran | Sep 2013 | A1 |
20130238287 | Hoffman et al. | Sep 2013 | A1 |
20130261475 | Mochizuki | Oct 2013 | A1 |
20130267249 | Rosenberg | Oct 2013 | A1 |
20130268199 | Nielsen et al. | Oct 2013 | A1 |
20130268236 | Yuen et al. | Oct 2013 | A1 |
20130268687 | Schrecker | Oct 2013 | A1 |
20130268767 | Schrecker | Oct 2013 | A1 |
20130274904 | Coza et al. | Oct 2013 | A1 |
20130281110 | Zelinka | Oct 2013 | A1 |
20130289366 | Chua et al. | Oct 2013 | A1 |
20130296666 | Kumar et al. | Nov 2013 | A1 |
20130296672 | O'Neil et al. | Nov 2013 | A1 |
20130296673 | Thaveeprungsriporn et al. | Nov 2013 | A1 |
20130297220 | Yuen et al. | Nov 2013 | A1 |
20130310896 | Mass | Nov 2013 | A1 |
20130325396 | Yuen et al. | Dec 2013 | A1 |
20130331058 | Harvey | Dec 2013 | A1 |
20130337974 | Yanev et al. | Dec 2013 | A1 |
20130345978 | Lush et al. | Dec 2013 | A1 |
20140035761 | Burton et al. | Feb 2014 | A1 |
20140035764 | Burton et al. | Feb 2014 | A1 |
20140039804 | Park et al. | Feb 2014 | A1 |
20140039840 | Yuen et al. | Feb 2014 | A1 |
20140039841 | Yuen et al. | Feb 2014 | A1 |
20140052280 | Yuen et al. | Feb 2014 | A1 |
20140067278 | Yuen et al. | Mar 2014 | A1 |
20140077673 | Garg et al. | Mar 2014 | A1 |
20140085077 | Luna et al. | Mar 2014 | A1 |
20140094941 | Ellis et al. | Apr 2014 | A1 |
20140099614 | Hu et al. | Apr 2014 | A1 |
20140121471 | Walker | May 2014 | A1 |
20140125618 | Panther et al. | May 2014 | A1 |
20140156228 | Yuen et al. | Jun 2014 | A1 |
20140164611 | Molettiere et al. | Jun 2014 | A1 |
20140180022 | Stivoric et al. | Jun 2014 | A1 |
20140191866 | Yuen et al. | Jul 2014 | A1 |
20140200691 | Lee et al. | Jul 2014 | A1 |
20140207264 | Quy | Jul 2014 | A1 |
20140213858 | Presura et al. | Jul 2014 | A1 |
20140275885 | Isaacson et al. | Sep 2014 | A1 |
20140278229 | Hong et al. | Sep 2014 | A1 |
20140316305 | Venkatraman et al. | Oct 2014 | A1 |
20140337451 | Choudhary et al. | Nov 2014 | A1 |
20140337621 | Nakhimov | Nov 2014 | A1 |
20140343867 | Yuen et al. | Nov 2014 | A1 |
20150026647 | Park et al. | Jan 2015 | A1 |
20150057967 | Albinali | Feb 2015 | A1 |
20150088457 | Yuen et al. | Mar 2015 | A1 |
20150102923 | Messenger et al. | Apr 2015 | A1 |
20150120186 | Heikes | Apr 2015 | A1 |
20150137994 | Rahman et al. | May 2015 | A1 |
20150220883 | B'far et al. | Aug 2015 | A1 |
20150289802 | Thomas et al. | Oct 2015 | A1 |
20150324541 | Cheung et al. | Nov 2015 | A1 |
20150374267 | Laughlin | Dec 2015 | A1 |
20160058372 | Raghuram et al. | Mar 2016 | A1 |
20160061626 | Burton et al. | Mar 2016 | A1 |
20160063888 | McCallum et al. | Mar 2016 | A1 |
20160089572 | Liu et al. | Mar 2016 | A1 |
20160107646 | Kolisetty et al. | Apr 2016 | A1 |
20160259426 | Yuen et al. | Sep 2016 | A1 |
20160278669 | Messenger et al. | Sep 2016 | A1 |
20160285985 | Molettiere et al. | Sep 2016 | A1 |
20160323401 | Messenger et al. | Nov 2016 | A1 |
Number | Date | Country |
---|---|---|
101978374 | Feb 2011 | CN |
102111434 | Jun 2011 | CN |
102377815 | Mar 2012 | CN |
102740933 | Oct 2012 | CN |
102983890 | Mar 2013 | CN |
103226647 | Jul 2013 | CN |
1 721 237 | Nov 2006 | EP |
11347021 | Dec 1999 | JP |
2178588 | Jan 2002 | RU |
0211019 | Feb 2002 | WO |
2006055125 | May 2006 | WO |
2006090197 | Aug 2006 | WO |
2008038141 | Apr 2008 | WO |
2009042965 | Apr 2009 | WO |
2012061438 | May 2012 | WO |
WO 2012170586 | Dec 2012 | WO |
WO 2012170924 | Dec 2012 | WO |
WO 2012171032 | Dec 2012 | WO |
WO 2015127067 | Aug 2015 | WO |
WO 2016003269 | Jan 2016 | WO |
Entry |
---|
Chandrasekar et al., “Plug-and-Play, Single-Chip Photoplethysmography”, 34th Annual International Conference of the IEEE EMBS, San Diego, California USA, Aug. 28-Sep. 1, 2012, 4 pages. |
Clifford et al., “Altimeter and Barometer System”, Freescale Semiconductor Application Note AN1979, Rev. 3, Nov. 2006, 10 pages. |
Fang et al, “Design of a Wireless Assisted Pedestrian Dead Reckoning System—The NavMote Experience”, IEEE Transactions on Instrumentation and Measurement, vol. 54, No. 6, Dec. 2005, pp. 2342-2358. |
Fitbit Inc., “Fitbit Automatically Tracks Your Fitness and Sleep” published online at web.archive.org/web/20080910224820/http://www.fitbit.com, downloaded Sep. 10, 2008, 1 page. |
Godfrey et al., “Direct Measurement of Human Movement by Accelerometry”, Medical Engineering & Physics, vol. 30, 2008, pp. 1364-1386 (22 pages). |
Godha et al., “Foot Mounted Inertia System for Pedestrian Naviation”, Measurement Science and Technology, vol. 19, No. 7, May 2008, pp. 1-9 (10 pages). |
Intersema, “Using MS5534 for altimeters and barometers”, Application Note AN501, Jan. 2006, 12pages. |
Ladetto et al, “On Foot Navigation: When GPS alone is not Enough”, Journal of Navigation, vol. 53, No. 2, Sep. 2000, pp. 279-285 (6 pages). |
Lammel et al., “Indoor Navigation with MEMS Sensors”, Proceedings of the Eurosensors XIII conference, vol. 1, No. 1, Sep. 2009, pp. 532-535 (4 pages). |
Lester et al, “Validated caloric expenditure estimation using a single body-worn sensor”, Proc. of the Int'l Conf. on Ubiquitous Computing, 2009, pp. 225-234 (10 pages). |
Lester et al., “A Hybrid Discriminative/Generative Approach for Modeling Human Activities”, Proc. of the Int'l Joint Conf. Artificial Intelligence, 2005, pp. 766-772 (7 pages). |
Ohtaki et al, “Automatic classification of ambulatory movements and evaluation of energy consumptions utilizing accelerometers and barometer”, Microsystem Technologies, vol. 11, No. 8-10, Aug. 2005, pp. 1034-1040 (7 pages). |
Parkka, et al, Activity Classification Using Realistic Data From Wearable Sensors, IEEE Transactions on Information Technology in Biomedicine, vol. 10, No. 1, Jan. 2006, pp. 119-128 (10pages). |
PCT/IB07/03617 International Search Report dated Aug. 15, 2008, in related application, 3 pages. |
Perrin et al, “Improvement of Walking Speed Prediction by Accelerometry and Altimetry, Validated by Satellite Positioning”, Medical & Biological Engineering & Computing, vol. 38, 2000, pp. 164-168 (5 pages). |
Retscher, “An Intelligent Multi-Sensor system for Pedestrian Navigation”, Journal of Global Positioning Systems, vol. 5, No. 1, 2006, pp. 110-118 (9 pages). |
Sagawa et al, “Classification of Human Moving Patterns Using Air Pressure and Acceleration”, Proceedings of the 24th Annual Conference of the IEEE Industrial Electronics Society, vol. 2, Aug.-Sep. 1998, pp. 1214-1219 (6 pages). |
Sagawa et al, “Non-restricted measurement of walking distance”, IEEE Int'l Conf. on Systems, Man, and Cybernetics, vol. 3, Oct. 2000, pp. 1847-1852 (6 pages). |
Specification of the Bluetooth® System, Core Package, version 4.1, Dec. 2013, vols. 0 & 1, 282 pages. |
Stirling et al., “Evaluation of a New Method of Heading Estimation of Pedestrian Dead Reckoning Using Shoe Mounted Sensors”, Journal of Navigation, vol. 58, 2005, pp. 31-45 (15 pages). |
Suunto Lumi, “User Guide”, Copyright Jun. and Sep. 2007, 49 pages. |
Tanigawa et al, “Drift-Free Dynamic Height Sensor Using MEMS IMU Aided by MEMS Pressure Sensor”, Workshop on Positioning, Navigation and Communication, Mar. 2008, pp. 191-196 (6 pages). |
VTI Technologies, “SCP 1000-D01/D11 Pressure Sensor as Barometer and Altimeter”, Application Note 33, Jun. 2006, 3 pages. |
“Activator is One of the Best Cydia iPhone Hacks | Control your iPhone with Gestures,” iphone-tips-and-advice.com, [retrieved on Jul. 9, 2013 at http://www.iphone-tips-and-advice.comlactivatior.html], 10 pp. |
“Parts of Your Band,” (Product Release Date Unknown, downloaded Jul. 22, 2013) Jawbone UP Band, 1 page. |
Chudnow, Alan (Dec. 3, 2012) “Basis Wristband Make Its Debut,” The Wired Self, Living in a Wired World, published in Health [retrieved on Jul. 22, 2013 at http://thewiredself.com/health/basis-wrist-band-make-its-debut/], 3pp. |
Definition of “Graphic” from Merriam-Webster Dictionary, downloaded from merriam-webster.com on Oct. 4, 2014, 3 pp. |
Definition of “Graphical user interface” from Merriam-Webster Dictionary, downloaded from merriam-webster.com on Oct. 4, 2014, 2 pp. |
DesMarais, Christina (posted on Sep. 3, 2013) “Which New Activity Tracker is Best for You?” Health and Home, Health & Fitness , Guides & Reviews, [Retrieved on Sep. 23, 2013 at http://www.techlicious.com/guide/which-new-activity-tracker-is-right-for-- you/] 4 pp. |
Empson, Rip, (Sep. 22, 2011) “Basis Reveals an Awesome New Affordable Heart and Health Tracker You Can Wear on Your Wrist,” [retrieved on Sep. 23, 2013 at http://techcrunch.com/2011/09/22/basis-reveals-an-awesome-new . . . ], 3 pp. |
Fitbit User's Manual, Last Updated Oct. 22, 2009, 15 pp. |
Forerunner® 10 Owner's Manual (Aug. 2012), Garmin Ltd., 10 pp. |
Forerunner® 110 Owner's Manual, (2010) “GPS-Enabled Sport Watch,” Garmin Ltd., 16 pp. |
Forerunner® 201 personal trainer owner's manual, (Feb. 2006) Garmin Ltd., 48 pp. |
Forerunner® 205/305 Owner's Manual, GPS-enabled trainer for runners, (2006-2008), Garmin Ltd., 80 pp. |
Forerunner® 210 Owner's Manual, (2010) “GPS-Enabled Sport Watch,” Garmin Ltd., 28 pp. |
Forerunner® 301 personal trainer owner's manual, (Feb. 2006) Garmin Ltd., 66 pp. |
Forerunner® 310XT Owner's Manual, Multisport GPS Training Device, (2009-2013), Garmin Ltd., 56 pp. |
Forerunner® 405 Owner's Manual, (Mar. 2011) “GPS-Enabled Sport Watch With Wireless Sync,” Garmin Ltd., 56 pp. |
Forerunner® 405CX Owner's Manual, “GPS-Enabled Sports Watch With Wireless Sync,” (Mar. 2009), Garmin Ltd., 56 pp. |
Forerunner® 410 Owner's Manual, (Jul. 2012) “GPS-Enabled Sport Watch With Wireless Sync,” Garmin Ltd., 52 pp. |
Forerunner® 50 with ANT+Sport.TM. wireless technology, Owner's Manual, (Nov. 2007) Garmin Ltd., 44 pp. |
Forerunner® 910XT Owner's Manual, (Jan. 2013) Garmin Ltd., 56 pp. |
Garmin Swim™ Owner's Manual (Jun. 2012), 12 pp. |
Lark/Larkpro, User Manual, (2012) “What's in the box,” Lark Technologies, 7 pp. |
Larklife, User Manual, (2012) Lark Technologies, 7 pp. |
Minetti et al. Energy cost of walking and running at extreme uphill and downhill slopes. J Appl Physiol. 2002; 93:10-39-1046. |
Nike+ FuelBand GPS Manual, User's Guide (Product Release Date Unknown, downloaded Jul. 22, 2013), 26 pages. |
Nike+SportBand User's Guide, (Product Release Date Unknown, downloaded Jul. 22, 2013), 36 pages. |
Nike+SportWatch GPS Manual, User's Guide, Powered by TOMTOM, (Product Release Date Unknown, downloaded Jul. 22, 2013), 42 pages. |
O'Donovan et al., 2009, A context aware wireless body area network (BAN), Proc. 3rd Intl. Conf. Pervasive Computing Technologies for Healthcare, pp. 1-8. |
Polar WearLink® + Coded Transmitter 31 Coded Transmitter W.I.N.D. User Manual, POLAR® Listen to Your Body, Manufactured by Polar Electro Oy, 11 pages. |
Rainmaker, (Jun. 25, 2012, updated Feb. 16, 2013) “Garmin Swim watch In-Depth Review,”retrieved on Sep. 9, 2013 at http://www.dcrainmaker.com/2012/06/garmin-swim-in-depth-review.html, 38 pp. |
Thompson et al., (Jan. 1996) “Predicted and measured resting metabolic rate of male and female endurance athletes,” Journal of the American Dietetic Association 96(1):30-34. |
Number | Date | Country | |
---|---|---|---|
20150127268 A1 | May 2015 | US |
Number | Date | Country | |
---|---|---|---|
61885962 | Oct 2013 | US | |
61388595 | Sep 2010 | US | |
61390811 | Oct 2010 | US | |
61638650 | Apr 2012 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 13667229 | Nov 2012 | US |
Child | 13759485 | US | |
Parent | 13469027 | May 2012 | US |
Child | 13667229 | US | |
Parent | 13246843 | Sep 2011 | US |
Child | 13469027 | US | |
Parent | 14598161 | US | |
Child | 13469027 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 14261404 | Apr 2014 | US |
Child | 14598161 | US | |
Parent | 14050292 | Oct 2013 | US |
Child | 14261404 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 13959714 | Aug 2013 | US |
Child | 14050292 | US | |
Parent | 13759485 | Feb 2013 | US |
Child | 13959714 | US | |
Parent | 13872015 | Apr 2013 | US |
Child | 14598161 | US |