US20140156038A1 - Exercise-related data processing - Google Patents
Exercise-related data processing Download PDFInfo
- Publication number
- US20140156038A1 US20140156038A1 US14/095,552 US201314095552A US2014156038A1 US 20140156038 A1 US20140156038 A1 US 20140156038A1 US 201314095552 A US201314095552 A US 201314095552A US 2014156038 A1 US2014156038 A1 US 2014156038A1
- Authority
- US
- United States
- Prior art keywords
- exercise
- computing device
- monitoring device
- related data
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H20/00—ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance
- G16H20/30—ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance relating to physical therapies or activities, e.g. physiotherapy, acupressure or exercising
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B24/00—Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
- A63B24/0062—Monitoring athletic performances, e.g. for determining the work of a user on an exercise apparatus, the completed jogging or cycling distance
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H40/00—ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
- G16H40/40—ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the management of medical equipment or devices, e.g. scheduling maintenance or upgrades
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H40/00—ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
- G16H40/60—ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices
- G16H40/67—ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices for remote operation
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H40/00—ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
- G16H40/60—ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices
- G16H40/63—ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices for local operation
Definitions
- the invention relates generally to transferring and processing exercise-related data comprised in an exercise monitoring device.
- an apparatus comprising processing means configured to cause the apparatus to perform any of the embodiments as described in the appended claims.
- an apparatus comprising a processing system configured to cause the apparatus to perform any of the embodiments as described in the appended claims.
- an apparatus comprising means for performing any of the embodiments as described in the appended claims.
- FIG. 1 presents a system according to an embodiment
- FIGS. 2 , 4 , 6 and 7 show methods according to some embodiments
- FIGS. 3 and 5 show apparatuses according to some embodiments.
- FIG. 8 illustrate a signaling flow diagram according to an embodiment.
- the personal training computer may be worn in the wrist of the user.
- the training computer may receive heart rate related information from a heart rate monitor, location specific information from a foot pod or from a global positioning system (GPS) receiver, cadence data from a corresponding monitoring device. pace/speed related data from the GPS/foot pod, etc.
- the training computer may store the data as exercise-related data which the user may use in post-analysis of the performed exercise. Such post-analysis may be at some level processed in the training computer, such as in a wrist computer.
- the exercise-related data is typically transferred from the training computer/monitoring sensor to a web-based service, such as Polar Personal Trainer (PTT) service, located in a server of a network.
- a web-based service such as Polar Personal Trainer (PTT) service
- PTT Polar Personal Trainer
- the transfer of the data may be performed via a data processing application stored in and executed by a computer (PC), a laptop, a tablet, a mobile phone, a gym equipment or, in general, any other computing device capable to access the network.
- PC computer
- Such data processing application may be, for example, a WebSync or a WebLink-application provided by Polar Electro.
- the data processing application is exercise monitoring device-specific.
- the exercise monitoring device may mean a training computer, a stride sensor, a GPS receiver, a cadence sensor, mobile phone with exercise software or any other equipment capable of monitoring, storing and/or recording at least some data related to, associated with or applied during the exercise.
- the data processing application may need to store software for a plurality of exercise monitoring devices. This may make the data processing application large and to cause a significant load to the computing device applied by the client.
- acquiring a new performance/exercise monitoring device may require the old software installed in the computing device to be updated or re-installed with updated parameters.
- a new exercise monitoring device may apply different coding or packing protocol for a specific performance metric, such as for heart rate variation.
- an update of the data processing application may be needed.
- Such update may require downloading the new updated software from the service provider, such as from Polar Electro, and installing the downloaded software in the personal computing device. This may also comprise deleting the old software, such as the data processing application, from the computing device.
- Each of these may be a time consuming and a frustrating task requiring computational effort from the personal computing device.
- a high-performance PC may be able to perform the tasks rather quickly, a mobile phone, a tablet, or any other limited performance computing device may straggle with such update-procedure.
- FIG. 1 shows a system in which the embodiments of the invention may be applicable to.
- the system may include the exercise monitoring device (EMD 100 ), the computing device 120 , a content server 160 and a data server 180 .
- the EMD 100 may comprise identity information 102 for indicating the identity of the EMD 100 , the exercise-related data 104 , such as heart rate related information, speed/pace, calories consumed, etc., and a user interface 106 for enabling the user of the EMD 100 to control the device 100 .
- the user of the EMD 100 may be the same as the user of the computing device 120 , that is, the user 150 .
- the user interface 106 may comprise, e.g., buttons, display, microphone, speakers, touch sensors, etc.
- the computing device 120 may be a personal computing device or a shared computing device. In an embodiment, the computing device is integrated into an exercise equipment, such as a treadmill or a bicycle.
- the computing device 120 may comprise at least one processor 122 and at least one memory 124 including a computer program code (PROG). Further the computing device may comprise a data processing application 134 .
- PROG computer program code
- FIG. 3 shows a more detailed illustration of the computing device 120 .
- the computing device 100 may further comprise an input/output interface 126 (I/O) for receiving exercise-related data 104 from the EMD 100 and for outputting the exercise-related data 104 further, for example.
- the computing device 120 may also comprise a user interface 128 (UI) comprising, for example, at least one keypad, a micro-phone, a touch display, a display, a speaker, etc. for controlling the computing device 120 .
- UI user interface 128
- the servers 160 , 180 may be a part of the client-server computing model that acts as distributed application which may partition tasks or workloads between the provider of a resource or service, called the server 160 , 180 , and the service requester, such as the computing device 120 .
- the server computer 160 , 180 is a host that is running one or more server programs.
- the computing device 120 may, for example, request a server's content or a service function.
- the data server 180 may store in a database 190 the exercise-related data 104 with respect to a plurality of users and with respect to a plurality of different EMDs 100 of the same or of different users.
- the data server 180 may comprise a database, for example, the Polar Personal Trainer (PPT) web service 192 to which clients (i.e. the users of the EMDs 100 ) may register to.
- PPT Polar Personal Trainer
- the data server 180 may be responsible of performing the post analysis of the exercise-related data 104 once transferred to the data server 180 , for example. Let us look at the functionalities of a content server 160 later.
- the at least one memory 124 and the computer program code (PROG) are configured, with the at least one processor 122 , to cause, in step 200 , the computing device 120 to execute, in the computing device 120 , the data processing application 134 comprising a static part 136 for performing certain steps/functions when an exercise monitoring device is connected to the computing device 120 .
- the data processing application 134 may be executed when any EMD is connected to the computing device 120 .
- the functionalities of the static part 136 do not depend on the type/model, etc. of the EMD that is connected to the computing device 120 .
- the connection 108 between the exercise monitoring device 100 and the computing device 120 may comprise at least one the following: a cable, an infra-red (IR), a Bluetooth, wireless communication via a wireless network, a wireless communication utilizing electric and/or magnetic fields.
- the computing device 120 may detect the EMD 100 upon plug-in of the cable, upon pairing of the Bluetooth protocol, upon detecting wireless transmission from the EMD 100 , etc.
- the connection establishment may be also performed via a second I/O module coupled to the computing device 100 (not shown).
- An example I/O module may be an infra-red module, a FlowLink, a DataLink or a WindLink provided by Polar Electro.
- the module may be plugged in to a universal serial bus (USB), or any other communication port/interface of the computing device 120 .
- USB universal serial bus
- the static part 136 may then in step 202 determine at least one identifier 102 of the connected exercise monitoring device 100 , wherein the connected EMD 100 comprises exercise-related data 104 .
- the identifier 102 comprises at least one of the following: the type of the connected EMD 100 , the brand of the connected EMD 100 , the model of the connected EMD 100 , the serial number of the connected EMD 100 , the age of the connected EMD 100 , the manufacturer of the connected EMD 100 , the firmware version of the connected EMD 100 .
- the type or brand of the EMD 100 may be Polar, whereas the model may be RS400, RCX5, FT40, etc.
- An example of the manufacturer may be Polar Electro.
- the age or the serial number may be important as this may indicate the software or firmware versions of the EMD 100 , for example, unless they are given explicitly.
- the computing device 120 may request the EMD 100 to indicate the identifier 102 or the EMD 100 may transmit the identifier 102 to the computing device 120 without any explicit request. For example, during pairing of the devices 100 , 120 according to the used communication protocol, the computing device 120 may acquire the identifier 102 of the EMD 100 .
- the EMD 100 may include or the EMD 100 may store at least some exercise-related data 104 .
- Such exercise-related data 104 may have been stored during one exercise or during several exercises or physical activities.
- a certain model of the EMD 100 may comprise different types of exercise related data 104 than another model.
- EMDs may not be able to store location related GPS data, whereas some are able to do so.
- exercise-related data may denote data produced on the basis of the performed physical exercise(s), such as heart rate samples, fat/calorie consumption, running index, training load, etc.
- the term 104 may denote also data related to the exercise, such as configured heart rate zones for the person for the exercise, default heart rate zones available for use during the exercise, music tracks or music lists comprised in the EMD 100 and available for listening during the exercise. In other words, data that is not generated on the basis of or during the physical activity/exercise, but data that is available to be used during or for the benefit of the exercise.
- the computing device 120 may with the static part 136 indicate the determined at least one identifier 102 to a first server 160 via a network 140 , wherein the first server 160 stores operational attributes for a plurality of different exercise monitoring devices.
- the network 140 may be any network providing connectivity to the content server 160 , such as the Internet. The communication over the network may take place by applying TCP/IP and HTTP protocols.
- the first server 160 may be also called a content server as it comprises a database 170 including sets of operational attributes, each set associated with a different EMD (devices #A, #B, . . . #Z). By different EMD it is meant that the EMDs may vary in the type, brand, model, etc.
- the device #A may apply different operational attributes than the device #B, etc. This is why it may be important to store the “intelligence” needed by the computing device 120 in accessing the exercise-related data of different EMDs.
- the operational attributes may refer to the logic, configuration, functionality, and user interface layer settings of the data processing application 134 required for accessing the data 104 in the EMD 100 , to mention only a few possible contents of the operational attributes.
- the static part 136 of the data processing application 134 performs the ID protocol for determining the identifier 102 of the EMD 100
- the computing device 120 may merely transmit the identifier 102 to the server 160 but it need not identify the EMD 100 .
- the content server 160 may then identify the connected EMD 100 on the basis of the indicated identifier 102 .
- This embodiment may allow a simpler data processing software/application 134 because it need not compare the determined identifier 102 to any database itself.
- the static part 136 of the data processing application 134 also identifies the connected EMD 100 on the basis of the determined identifier 102 in addition to transmitting the identifier 102 to the server 160 .
- the computing device 120 receives information indicating the operational attributes associated with the currently connected exercise monitoring device 100 from the first server 160 .
- the operational attributes may be also called operational parameters, data structures or data records, for example.
- the operational attributes may be indicated to the computing device 120 in a java script-format.
- the computing device 120 need not store the operational attributes for each and every type of exercise monitoring device, which reduces the used amount of memory 124 of the computing device 120 .
- the computing device 120 may simply receive, from the server 160 , the required operational parameters (e.g. the “intelligence”) needed for processing or performing operations to the data 104 with respect the currently connected EMD 100 .
- the indicated operational attributes may then form or be applied in forming an exercise monitoring device-specific dynamic part 138 of the data processing application 134 .
- the static part 136 generates the dynamic part 138 on the basis of the indicated operational attributes.
- the operational attributes comprise an executable packet which auto-generate such dynamic part 138 to the data processing application 134 . It should be noted that receiving the required operational attributes from the server 160 may enable the data processing application 134 to be simpler and to cause significantly reduced amount of computational load to the computing device 120 . Further, it should be noted that prior to receiving the operational attributes from the server 160 , the computing device 120 may be unable to perform operations (such as process or transfer) to the exercise-related data 104 and/or to the EMD 100 .
- the data may be inaccessible to the computing device 120 prior to receiving the “intelligence” or “logic” from the server 160 , that is, prior to generating the dynamic part 138 which is specific to the connected EMD 100 .
- the computing device 120 may require the operational attributes in order to perform the at least one operation to the data 104 , such as transfer of the data 104 .
- the static part 136 of the data processing application 134 of the computing device 120 need not be updated or re-installed often because the operational attributes of the EMDs, which may require such update relatively often, are stored in the server 160 .
- the server 160 is updated and this update may be invisible to the user 150 of the computing device 120 .
- An update of the server 160 may be in order each time a new exercise monitoring device is brought to markets, for example.
- an update may be needed when a software bug is detected in the software. In such case it is beneficial, from the point of view of the reputation/image of the software provider, to be able to fix the bug without the user 150 knowing anything about the update.
- the server 160 may be updated frequently, the dynamic part 138 , which is formed on the basis of the operational attributes stored in the server 160 , is always up-to-date and the end-user 150 may enjoy reliable and up-to-date service. Further, the use of different servers 160 and 180 for operational attributes and for data offers flexibility from the point of view of the service provider, for example.
- a further advantage may be that the static part 136 of the data processing application 134 in the computing device 120 may be on all the time without any need to re-starting the application. This may be enabled because no update is needed to the static part 136 of the data processing application 134 which retrieves, the required tools for establishing the dynamic part 138 , for accessing the data 104 and for working with the EMD 100 .
- the static part 136 performs at least the said functions (i.e. the steps 202 , 204 , and 206 ) each time any exercise monitoring device is connected to the computing device 120 .
- the dynamic part 138 is generated from the beginning each time any EMD is connected to the computing device 120 on the basis of the EMD-specific operational attributes retrieved from the server 160 by the static part 136 .
- the dynamic part 138 may change each time the application 134 is used, depending on which EMD is connected to the computing device 120 and depending on updates performed for the server 160 , for example.
- the static part 136 of the data processing application 134 initiates the generation of the dynamic part 138 from the beginning by requesting the server 160 to respond with the correct operational parameters for the EMD 100 .
- the dynamic part 138 is deleted upon disconnecting the EMD 100 from the computing device 120 . That is, the data processing application 134 or the computing device 120 does not store any dynamic parts 138 in the memory permanently. This may simplify the data processing application 134 significantly, as the basic functions caused by the static part 136 are the same each time any EMD is connected to the computing device 120 and the EMD-specific dynamic part 138 is formed from the start each time any EMD is connected to the computing device 120 .
- Yet one advantage due to the proposed solution may be that the users 150 of the computing devices 100 may generate skins or other software-related functions for the data processing application. These software-related functions may be transmitted to and stored in one of the servers 160 / 180 . Other users 150 may then apply those software-related functions in their own computing devices 120 .
- the computing device 120 requests the first server 160 to indicate the operational attributes associated with the connected exercise monitoring device 100 on the basis of the at least one identifier 102 upon connection of the exercise monitoring device 100 to the computing device 120 .
- the computing device 120 automatically requests the content server 160 to response with the correct operational attributes applied by or associated with the connected EMD 100 .
- the computing device 120 may acquire the operational attributes associated with the exercise monitoring device 100 directly from the information received from the content server 160 .
- the computing device 120 may itself store a database X (similar to the database 170 ) comprising operational attributes for a plurality of EMDs. Then the computing device 120 may select the operational attributes from the sets of operational on the basis of the information received from the content server 160 .
- the server 160 need not response with the operational parameters for the connected EMD 100 , but it is enough for the content server 160 to indicate, for example, the index of the database X corresponding to the connected EMD 120 .
- the information indicating the operational attributes associated with the connected exercise monitoring device 100 may be an index of the database X stored in the computing device 120 .
- the computing device 120 may perform at least one operation to the exercise-related data 104 on the basis of the indicated operational attributes associated with the connected exercise monitoring device 100 .
- Processing the exercise-related data 104 may denote processing the data in the EMD 100 , in the computing device 120 and/or perform a transfer of the data 104 , for example.
- the proposed solution may provide ease of usage from the point of view of the computing device 120 as the data processing application automatically retrieves the correct operational attributes or functional parameters needed for certain EMD 100 from the server 160 .
- the computing device 120 acquires all of the operational attributes related to the connected EMD 100 from the server 160 substantially simultaneously. That is, even though the computing device 120 would not require any operational attributes related to handling location specific data, the computing device 120 is nevertheless provided with the attributes enabling such GPS data handling.
- the content of the received operational attributes are based on an explicit request from the computing device 120 . That is, the content may be based on a current need and the computing device 120 may thus request the first server ( 160 ) to provide only those operational attributes which are required for forming the dynamic part 138 for a specific processing task. For example, let us assume that the first task the computing device 120 needs to do with respect to the connected EMD 100 is to transfer the data 104 to the computing device 120 . Then the computing device may request the server 160 to indicate those operational parameters which are needed for the transfer, not any other operational parameters. Then, when the user 150 of the computing devise 120 or the computing device 120 itself decides that, for example, heart rate data is to be shown, the computing device 120 may request the corresponding operational parameters from the server 160 .
- the operational attributes (OA) may indicate at least one of the following: the types of exercise-related data available from the connected exercise monitoring device 100 , a data format applied by the connected exercise monitoring device 100 for each available type of exercise-related data, coding applied by the connected exercise monitoring device 100 for each available type of exercise-related data, a communication protocol applied by the connected exercise monitoring device 100 for the transfer of the exercise-related data, identification of a second server 180 to which the exercise-related data is to be transferred. Let us look at these further.
- the operational attributes may indicate the types of exercise-related data available from the connected exercise monitoring device 100 .
- This may denote that the computing device 120 may acquire knowledge of what types of exercise-related data 104 is available in the EMD 100 . The computing device 120 may then process each type of data simultaneously or separately, depending on what data 104 is available. The computing device 120 may in this manner acquire knowledge of, for example, what information it should display to the user 150 . If the data 104 comprise GPS location data, then the computing device 120 may show the route travelled during the physical exercise, whereas if the data 104 do not comprise such location data, then no route display needs to be generated.
- the operational attributes may indicate the data format and/or coding applied by the connected exercise monitoring device 100 for each available type of exercise-related data 104 .
- the computing device 120 acquires knowledge about how the given EMD 100 connected to the computing device 120 has encoded the data 104 and in which format the data 104 is stored. By acquiring such info, the computing device 120 may perform at least one operation to the data 104 , such as decoding the data 104 and displaying the data 104 to the user 150 , for example.
- the operational attributes may indicate the communication protocol applied by the connected exercise monitoring device 100 for the transfer of the exercise-related data.
- the processing of the computing device 120 may in this case denote, for example, transferring the data types 104 from the EMD 100 to the computing device 120 .
- the operational attributes may indicate the identification of a second server 180 to which the exercise-related data is to be transferred. Accordingly, the attributes may specify a specific server 180 for a given EMD 100 , whereas for another type of EMD, the data server could be a different server or a target directory of the server 180 could be different.
- the identification of the server 180 may be the network address of the server 180 , for example. Then, the computing device 120 may select the second server 180 or the target directory of the second server 180 to which the exercise-related data 104 is to be transferred at least partly on the basis of the operational attributes.
- the computing device 120 may, with the dynamic part 138 , perform operation(s) to the exercise-related data 104 .
- the computing device 120 performs, with the dynamic part 138 , at least one of the following operations: transfer the exercise-related data 104 from the connected exercise monitoring device 100 to the computing device 120 , transfer the exercise-related data 104 to the second server 180 from the computing device, decode at least part of the exercise-related data 104 , encode at least part of the exercise-related data 104 , reorganize at least part of the exercise-related data 104 , delete at least part of the exercise-related data, add information to the exercise-related data 104 , display or output at least part of the exercise-related data 104 , store at least part of the exercise-related data 104 to the computing device 120 .
- FIG. 3 shows the computing device 120 comprising the control circuitry (CTRL) 122 and the at least one memory 124 including the computer program code (PROG).
- the computing device 120 may be a laptop, a PC, a mobile phone, a tablet, a communicator, a smart phone, a palm computer, or any computing device. Alternatively, the computing device 120 is comprised in such a computing device. Further, the computing device 120 may be or comprise a module, to be attached to such computing device, such as a plug-in unit, an “USB dongle”, or any other kind of unit.
- the computing device 120 may further comprise communication interface (I/O interface) 126 comprising hardware and/or software for realizing a communication connectivity according to one or more communication protocols.
- the interface 126 may provide the apparatus with communication capabilities to access the EMD 100 and to the network 140 (and further to the servers 160 , 180 ), for example.
- the computing device 120 may also comprise the user interface (UI) 128 , as indicated earlier, so that the person 150 may control the apparatus 120 .
- UI user interface
- the control circuitry 122 may comprise an identifier (ID) determination circuitry 130 for determining the at least one identifier of the connected EMD 100 , as explained above.
- the static part 136 of the data processing application 134 may apply the functionalities of the circuitry 130 , for example.
- the control circuitry 122 may further comprise a data processing circuitry 132 responsible for performing operation(s) to the data 104 according to any of the embodiments.
- the dynamic part 138 of the data processing application 134 may apply the functionalities of the circuitry 132 , for example.
- FIG. 4 shows a flow diagram for the method performed by the content server 160
- FIG. 5 illustrates the server 160
- the server 160 may comprise at least one processor 162 and at least one memory 164 including a computer program code (PROG).
- PROG computer program code
- the at least one memory 164 and the computer program code (PROG) are configured, with the at least one processor 162 , to cause the server 160 at least to store operational attributes for a plurality of different exercise monitoring devices, as mentioned earlier.
- the operational attribute database 170 may thus store separate data records, parameters, data structures, etc. for a plurality of different EMDs.
- the server 160 may receive information from the computing device 120 , wherein the information indicates at least one identifier of the EMD 100 connected to the EMD 100 .
- the server 160 may then in step 404 determine the operational attributes associated with the connected EMD 100 on the basis of the at least one identifier and the stored operational attributes. For example, if it is determined on the basis of the received ID that the connected EMD 100 is the EMD #K, then the server 160 may determine that the operational attributes corresponding to the EMD #K are to be selected from the database 170 and transmitted to the device 120 .
- step 406 the information indicating the determined operational attributes (corresponding to the EMD #K) is transmitted to the device 120 in order to enable the device 120 to perform at least one operation to the exercise-related data 104 comprised in the connected exercise monitoring device 100 .
- FIG. 5 provides an embodiment illustrating the server 160 (a.k.a. the server computer 160 ).
- the server 160 comprises the CTRL 162 and the at least one memory 164 .
- the server 160 may be a laptop, a PC, or any computing device capable of acting as a server and performing functionalities required from a server.
- the apparatus may further comprise communication interface (I/O interface) 166 comprising hardware and/or software for realizing a communication connectivity according to one or more communication protocols.
- the interface 166 may provide the apparatus with communication capabilities to access client's device 120 via the network 140 .
- the apparatus may also comprise a user interface (UI) 168 for controlling the server 160 .
- UI user interface
- the control circuitry 162 may comprise an identification circuitry 172 for determining identity of the connected EMD 100 on the basis of the received identifier, as explained above.
- the control circuitry 162 may further comprise an operational attribute (OA) determination circuitry 174 responsible for determining which operational attributes are to be transmitted to the device 120 for operating with the connected EMD 100 .
- OA operational attribute
- FIG. 6 depicts an embodiment in which the user's device (i.e. the computing device 120 ) receives in step 600 configuration information indicating the to-be-applied configuration of the computing device 120 when connected to the identified exercise monitoring device 100 .
- the configuration data may be received from the content server 160 .
- the computing device 120 e.g. the dynamic part 138
- the computing device 120 then configures itself (e.g. the data processing application 134 ) at least partly on the basis of the received configuration information.
- the computing device 120 when an EMD #C is connected to the computing device 120 , the computing device 120 is required to have a certain type of configuration, whereas when an EMD #D is connected to the computing device 120 , the computing device 120 or the data processing application 134 is required to have another type of configuration.
- the configuration information may be part of the operational attributes or it may be given as a separate data.
- the configuration information indicates at least one of the following: functionalities and appearance of the user interface (of the data processing application 134 ), language setting for the user interface, a skin or a theme of the user interface, a communication protocol to be applied for the transfer of the exercise-related data 104 .
- the user interface is required to show certain selection areas or certain information (such as the model of the connected specific EMD) in a display.
- the language settings of the user interface may depend on the received configuration information.
- the skin or theme of the user interface of the computing device 120 may vary depending on what type of EMD is connected and/or depending on what season (summer, winter, Christmas, Olympics, etc.) it is.
- the current time and/or date may affect the content of the configuration data.
- such embodiment allows applying themes, such as Christmas themes or Olympic-themes, to the user interface of the computing device 120 (e.g. to the user interface of the data processing application 134 comprised in the computing device 120 ).
- the computing device 120 may in an embodiment configure its I/O interface 126 on the basis of the communication protocol which is to be applied for the transfer of the exercise-related data 104 from the EMD 100 to the computing device 120 and/or from the computing device 120 to the data server 180 .
- the content of the received configuration information is at least partly based on at least one of the following: the identity of the computing device 120 , the user 150 associated with the computing device 120 .
- the configuration data (such as the appearance of the UI) may be different than when the computing device 120 is identified to belong to equipment of a gym, for example.
- the user 150 may affect the content of the configuration information.
- each user 150 may have their own user profiles stored in the content server 160 and each profile may have its own visual appearance, language settings, display settings or user interface setting in general.
- the computing device 120 may in step 700 receive a set of commands for controlling the functionalities of the connected exercise monitoring device 120 from the content server 160 .
- the set of commands may be part of the operational attributes indicated or the set of commands may be given as a separate data.
- the computing device 100 may acquire an indication to change at least partly the functionalities of the connected exercise monitoring device 100 .
- the computing device 120 may detect that some functionalities of the EMD 100 are outdated (e.g. the firmware is old) or the user 150 may indicate that, e.g. at least one training display needs to be amended.
- the computing device 120 may, with the dynamic part 138 , control the functionalities of the connected exercise monitoring device 100 by applying the received set of commands.
- the user 150 may define a new training display is needed for running-exercises.
- the user 150 and the computing device 120 may then add such new training display to the connected EMD 100 on the basis of the received set of commands corresponding to the currently connected EMD 100 .
- Each EMD may have its own set of commands. Therefore, it may be beneficial not to store sets of commands for a plurality of EMDs in the memory 124 but to request the to-be-applied set of commands corresponding to the currently connected EMD from the server 160 .
- FIG. 8 shows a signaling flow diagram with respect to the proposed system.
- the EMD 100 is connected to the client's device (e.g. the computing device) 120 .
- the computing device 120 defines at least one identifier of the EMD 100 and transmits it to the content server 160 in step 804 .
- the computing device 120 may identify the EMD on the basis of the identifier.
- the content server 160 selects the operational attributes corresponding to the connected EMD 100 on the basis of the identifier.
- the operational attributes are selected from a set of operational attributes stored in the database 170 , each set corresponding to a different type of exercise monitoring device.
- the content server 160 indicates the operational attributes to the computing device 120 .
- the content server 160 may indicate the index for the correct operational attributes when the computing device 120 itself stores such set of operational attributes, each set corresponding to a different type of exercise monitoring device.
- the computing device 120 may perform (re)configuration of its own user interface, communication protocols, etc. on the basis of the configuration information, as explained earlier.
- the computing device 120 may transfer the data 104 from the EMD 100 to the computing device 120 .
- the computing device 120 may perform further processing to the data, such as storing the data 104 , adding information elements to the data 104 , etc., as explained earlier.
- the computing device 120 may transfer the data 104 to the data server 180 .
- the computing device 120 may control the functionalities of the EMD 100 on the basis of received set of commands, as explained earlier.
- the static part 136 of the data processing application 134 may be responsible of performing the tasks which are above a horizontal dotted line 820 .
- the tasks which are below the horizontal dotted line 820 may be tasks performed by the dynamic part 138 of the data processing application.
- circuitry refers to all of the following: (a) hardware-only circuit implementations, such as implementations in only analog and/or digital circuitry, and (b) combinations of circuits and software (and/or firmware), such as (as applicable): (i) a combination of processor(s) or (ii) portions of processor(s)/software including digital signal processor(s), software, and memory(ies) that work together to cause an apparatus to perform various functions, and (c) circuits, such as a microprocessor(s) or a portion of a microprocessor(s), that require software or firmware for operation, even if the software or firmware is not physically present.
- This definition of ‘circuitry’ applies to all uses of this term in this application.
- circuitry would also cover an implementation of merely a processor (or multiple processors) or a portion of a processor and its (or their) accompanying software and/or firmware.
- circuitry would also cover, for example and if applicable to the particular element, a baseband integrated circuit or applications processor integrated circuit for a mobile phone or a similar integrated circuit in a server, a cellular network device, or another network device.
- the techniques and methods described herein may be implemented by various means. For example, these techniques may be implemented in hardware (one or more devices), firmware (one or more devices), software (one or more modules), or combinations thereof.
- the apparatus(es) of embodiments may be implemented within one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, other electronic units designed to perform the functions described herein, or a combination thereof.
- ASICs application-specific integrated circuits
- DSPs digital signal processors
- DSPDs digital signal processing devices
- PLDs programmable logic devices
- FPGAs field programmable gate arrays
- processors controllers, micro-controllers, microprocessors, other electronic units designed to perform the functions described herein, or a combination thereof.
- the implementation can be carried out through modules of at least one
- the software codes may be stored in a memory unit and executed by processors.
- the memory unit may be implemented within the processor or externally to the processor. In the latter case, it can be communicatively coupled to the processor via various means, as is known in the art.
- the components of the systems described herein may be rearranged and/or complemented by additional components in order to facilitate the achievements of the various aspects, etc., described with regard thereto, and they are not limited to the precise configurations set forth in the given figures, as will be appreciated by one skilled in the art.
- Embodiments as described may also be carried out in the form of a computer process defined by a computer program.
- the computer program may be in source code form, object code form, or in some intermediate form, and it may be stored in some sort of carrier, which may be any entity or device capable of carrying the program.
- the computer program may be stored on a computer program distribution medium readable by a computer or a processor.
- the computer program medium may be, for example but not limited to, a record medium, computer memory, read-only memory, electrical carrier signal, telecommunications signal, and software distribution package, for example. Coding of software for carrying out the embodiments as shown and described is well within the scope of a person of ordinary skill in the art.
Landscapes
- Health & Medical Sciences (AREA)
- Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- General Business, Economics & Management (AREA)
- Epidemiology (AREA)
- Business, Economics & Management (AREA)
- Medical Informatics (AREA)
- Primary Health Care (AREA)
- Public Health (AREA)
- Physical Education & Sports Medicine (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Medical Treatment And Welfare Office Work (AREA)
Abstract
A method includes executing a data processing application including a static part for performing at least the following functions: determining at least one identifier of an exercise monitoring device which is connected to the computing device, wherein the connected exercise monitoring device comprises exercise-related data; indicating the determined at least one identifier to a first server over a network, wherein the first server stores operational attributes for a plurality of different exercise monitoring devices; and receiving information indicating operational attributes associated with the connected exercise monitoring device from the first server, wherein the indicated operational attributes form an exercise monitoring device-specific dynamic part of the data processing application. The method also includes performing, by the dynamic part, at least one operation to the exercise-related data on the basis of the indicated operational attributes associated with the connected exercise monitoring device.
Description
- This application claims priority to European Application No. 12195453.1, filed 4 Dec. 2012, which is incorporated by reference herein in its entirety.
- 1. Field
- The invention relates generally to transferring and processing exercise-related data comprised in an exercise monitoring device.
- 2. Description of the Related Art
- Nowadays people often want to see the results of their physical exercises not only in a performance monitor, such as in a wrist watch, but also on a screen of a computer, a laptop, a mobile phone, etc. This requires the computing device to comprise appropriate software. However, one type of software may only be able to appropriately process exercise-related data with respect to a certain type of performance monitor or exercise monitoring device. When the user buys another performance monitor, new software may need to be installed or at least the old software may need to be updated. This may be a time consuming and frustrating task.
- According to an aspect of the invention, there are provided apparatuses as specified in claims 1 and 17.
- According to an aspect of the invention, there is provided a method as specified in claim 15.
- According to an aspect of the invention, there is provided a computer program product as specified in claim 16.
- According to an aspect of the invention, there is provided a computer-readable distribution medium carrying the above-mentioned computer program product.
- According to an aspect of the invention, there is provided an apparatus comprising processing means configured to cause the apparatus to perform any of the embodiments as described in the appended claims.
- According to an aspect of the invention, there is provided an apparatus comprising a processing system configured to cause the apparatus to perform any of the embodiments as described in the appended claims.
- According to an aspect of the invention, there is provided an apparatus comprising means for performing any of the embodiments as described in the appended claims.
- Embodiments of the invention are defined in the dependent claims.
- In the following, the invention will be described in greater detail with reference to the embodiments and the accompanying drawings, in which
-
FIG. 1 presents a system according to an embodiment; -
FIGS. 2 , 4, 6 and 7 show methods according to some embodiments; -
FIGS. 3 and 5 show apparatuses according to some embodiments; and -
FIG. 8 illustrate a signaling flow diagram according to an embodiment. - The following embodiments are exemplary. Although the specification may refer to “an”, “one”, or “some” embodiment(s) in several locations of the text, this does not necessarily mean that each reference is made to the same embodiment(s), or that a particular feature only applies to a single embodiment. Single features of different embodiments may also be combined to provide other embodiments.
- It is common to wear a personal training computer during an exercise. The personal training computer, or in general an exercise monitoring device, may be worn in the wrist of the user. The training computer may receive heart rate related information from a heart rate monitor, location specific information from a foot pod or from a global positioning system (GPS) receiver, cadence data from a corresponding monitoring device. pace/speed related data from the GPS/foot pod, etc. The training computer may store the data as exercise-related data which the user may use in post-analysis of the performed exercise. Such post-analysis may be at some level processed in the training computer, such as in a wrist computer. However, for a more accurate and in-depth analysis, the exercise-related data is typically transferred from the training computer/monitoring sensor to a web-based service, such as Polar Personal Trainer (PTT) service, located in a server of a network. The transfer of the data may be performed via a data processing application stored in and executed by a computer (PC), a laptop, a tablet, a mobile phone, a gym equipment or, in general, any other computing device capable to access the network. Such data processing application may be, for example, a WebSync or a WebLink-application provided by Polar Electro.
- However, typically the data processing application is exercise monitoring device-specific. Here, the exercise monitoring device may mean a training computer, a stride sensor, a GPS receiver, a cadence sensor, mobile phone with exercise software or any other equipment capable of monitoring, storing and/or recording at least some data related to, associated with or applied during the exercise. Accordingly, the data processing application may need to store software for a plurality of exercise monitoring devices. This may make the data processing application large and to cause a significant load to the computing device applied by the client.
- Further, acquiring a new performance/exercise monitoring device may require the old software installed in the computing device to be updated or re-installed with updated parameters. For example, a new exercise monitoring device may apply different coding or packing protocol for a specific performance metric, such as for heart rate variation. In order for the computing device to be able to perform process the specific performance metric correctly, an update of the data processing application may be needed. Such update may require downloading the new updated software from the service provider, such as from Polar Electro, and installing the downloaded software in the personal computing device. This may also comprise deleting the old software, such as the data processing application, from the computing device. Each of these may be a time consuming and a frustrating task requiring computational effort from the personal computing device. It should be noted that while a high-performance PC may be able to perform the tasks rather quickly, a mobile phone, a tablet, or any other limited performance computing device may straggle with such update-procedure.
-
FIG. 1 shows a system in which the embodiments of the invention may be applicable to. The system may include the exercise monitoring device (EMD 100), thecomputing device 120, acontent server 160 and adata server 180. The EMD 100 may comprise identity information 102 for indicating the identity of the EMD 100, the exercise-related data 104, such as heart rate related information, speed/pace, calories consumed, etc., and auser interface 106 for enabling the user of the EMD 100 to control thedevice 100. The user of the EMD 100 may be the same as the user of thecomputing device 120, that is, theuser 150. Theuser interface 106 may comprise, e.g., buttons, display, microphone, speakers, touch sensors, etc. - The
computing device 120 may be a personal computing device or a shared computing device. In an embodiment, the computing device is integrated into an exercise equipment, such as a treadmill or a bicycle. Thecomputing device 120 may comprise at least oneprocessor 122 and at least onememory 124 including a computer program code (PROG). Further the computing device may comprise adata processing application 134. -
FIG. 3 shows a more detailed illustration of thecomputing device 120. Thecomputing device 100 may further comprise an input/output interface 126 (I/O) for receiving exercise-related data 104 from the EMD 100 and for outputting the exercise-related data 104 further, for example. Thecomputing device 120 may also comprise a user interface 128 (UI) comprising, for example, at least one keypad, a micro-phone, a touch display, a display, a speaker, etc. for controlling thecomputing device 120. - The
servers server computing device 120. Theserver computer computing device 120 may, for example, request a server's content or a service function. - The
data server 180 may store in adatabase 190 the exercise-relateddata 104 with respect to a plurality of users and with respect to a plurality ofdifferent EMDs 100 of the same or of different users. Thedata server 180 may comprise a database, for example, the Polar Personal Trainer (PPT)web service 192 to which clients (i.e. the users of the EMDs 100) may register to. Thedata server 180 may be responsible of performing the post analysis of the exercise-relateddata 104 once transferred to thedata server 180, for example. Let us look at the functionalities of acontent server 160 later. - In order to avoid the time consuming and frustrating task of updating or re-installing the
data process application 134 of thecomputing device 120 frequently, it is proposed, as shown inFIGS. 2 to 3 , that the at least onememory 124 and the computer program code (PROG) are configured, with the at least oneprocessor 122, to cause, instep 200, thecomputing device 120 to execute, in thecomputing device 120, thedata processing application 134 comprising astatic part 136 for performing certain steps/functions when an exercise monitoring device is connected to thecomputing device 120. Thedata processing application 134 may be executed when any EMD is connected to thecomputing device 120. The functionalities of thestatic part 136 do not depend on the type/model, etc. of the EMD that is connected to thecomputing device 120. Theconnection 108 between theexercise monitoring device 100 and thecomputing device 120 may comprise at least one the following: a cable, an infra-red (IR), a Bluetooth, wireless communication via a wireless network, a wireless communication utilizing electric and/or magnetic fields. As such, thecomputing device 120 may detect theEMD 100 upon plug-in of the cable, upon pairing of the Bluetooth protocol, upon detecting wireless transmission from theEMD 100, etc. The connection establishment may be also performed via a second I/O module coupled to the computing device 100 (not shown). An example I/O module may be an infra-red module, a FlowLink, a DataLink or a WindLink provided by Polar Electro. The module may be plugged in to a universal serial bus (USB), or any other communication port/interface of thecomputing device 120. - The
static part 136 may then instep 202 determine at least one identifier 102 of the connectedexercise monitoring device 100, wherein theconnected EMD 100 comprises exercise-relateddata 104. In an embodiment, the identifier 102 comprises at least one of the following: the type of the connectedEMD 100, the brand of the connectedEMD 100, the model of the connectedEMD 100, the serial number of the connectedEMD 100, the age of the connectedEMD 100, the manufacturer of the connectedEMD 100, the firmware version of the connectedEMD 100. For example, the type or brand of theEMD 100 may be Polar, whereas the model may be RS400, RCX5, FT40, etc. An example of the manufacturer may be Polar Electro. The age or the serial number may be important as this may indicate the software or firmware versions of theEMD 100, for example, unless they are given explicitly. Thecomputing device 120 may request theEMD 100 to indicate the identifier 102 or theEMD 100 may transmit the identifier 102 to thecomputing device 120 without any explicit request. For example, during pairing of thedevices computing device 120 may acquire the identifier 102 of theEMD 100. - As said, the
EMD 100 may include or theEMD 100 may store at least some exercise-relateddata 104. Such exercise-relateddata 104 may have been stored during one exercise or during several exercises or physical activities. The following is a non-limiting list of possible types of exercise-relateddata 104 available from the EMD 100: heart rate zones, heart rate samples, heart rate variation samples, fat consumption, calorie consumption, activity zones, activity samples, speed and/or pace samples, power samples, cadence samples, altitude samples, temperature samples, location samples, pedal index, left-right balance, running index, training load, galvanic skin response samples, fluid balance, skin temperature samples, music list. A certain model of theEMD 100 may comprise different types of exercise relateddata 104 than another model. For example, some EMDs may not be able to store location related GPS data, whereas some are able to do so. It should also be noted that the term “exercise-related data” may denote data produced on the basis of the performed physical exercise(s), such as heart rate samples, fat/calorie consumption, running index, training load, etc. Further, theterm 104 may denote also data related to the exercise, such as configured heart rate zones for the person for the exercise, default heart rate zones available for use during the exercise, music tracks or music lists comprised in theEMD 100 and available for listening during the exercise. In other words, data that is not generated on the basis of or during the physical activity/exercise, but data that is available to be used during or for the benefit of the exercise. - In step 204, the
computing device 120 may with thestatic part 136 indicate the determined at least one identifier 102 to afirst server 160 via anetwork 140, wherein thefirst server 160 stores operational attributes for a plurality of different exercise monitoring devices. Thenetwork 140 may be any network providing connectivity to thecontent server 160, such as the Internet. The communication over the network may take place by applying TCP/IP and HTTP protocols. Thefirst server 160 may be also called a content server as it comprises adatabase 170 including sets of operational attributes, each set associated with a different EMD (devices #A, #B, . . . #Z). By different EMD it is meant that the EMDs may vary in the type, brand, model, etc. It should be noted that the device #A may apply different operational attributes than the device #B, etc. This is why it may be important to store the “intelligence” needed by thecomputing device 120 in accessing the exercise-related data of different EMDs. The operational attributes may refer to the logic, configuration, functionality, and user interface layer settings of thedata processing application 134 required for accessing thedata 104 in theEMD 100, to mention only a few possible contents of the operational attributes. - It should be noted that in an embodiment, although the
static part 136 of thedata processing application 134 performs the ID protocol for determining the identifier 102 of theEMD 100, thecomputing device 120 may merely transmit the identifier 102 to theserver 160 but it need not identify theEMD 100. Thecontent server 160 may then identify theconnected EMD 100 on the basis of the indicated identifier 102. This embodiment may allow a simpler data processing software/application 134 because it need not compare the determined identifier 102 to any database itself. In another embodiment, thestatic part 136 of thedata processing application 134 also identifies the connectedEMD 100 on the basis of the determined identifier 102 in addition to transmitting the identifier 102 to theserver 160. - In step 206, the
computing device 120, and more particularly thestatic part 136, receives information indicating the operational attributes associated with the currently connectedexercise monitoring device 100 from thefirst server 160. The operational attributes may be also called operational parameters, data structures or data records, for example. The operational attributes may be indicated to thecomputing device 120 in a java script-format. As a result, thecomputing device 120 need not store the operational attributes for each and every type of exercise monitoring device, which reduces the used amount ofmemory 124 of thecomputing device 120. Instead, thecomputing device 120 may simply receive, from theserver 160, the required operational parameters (e.g. the “intelligence”) needed for processing or performing operations to thedata 104 with respect the currently connectedEMD 100. - The indicated operational attributes may then form or be applied in forming an exercise monitoring device-specific
dynamic part 138 of thedata processing application 134. In an embodiment, thestatic part 136 generates thedynamic part 138 on the basis of the indicated operational attributes. In another embodiment, the operational attributes comprise an executable packet which auto-generate suchdynamic part 138 to thedata processing application 134. It should be noted that receiving the required operational attributes from theserver 160 may enable thedata processing application 134 to be simpler and to cause significantly reduced amount of computational load to thecomputing device 120. Further, it should be noted that prior to receiving the operational attributes from theserver 160, thecomputing device 120 may be unable to perform operations (such as process or transfer) to the exercise-relateddata 104 and/or to theEMD 100. That is, the data may be inaccessible to thecomputing device 120 prior to receiving the “intelligence” or “logic” from theserver 160, that is, prior to generating thedynamic part 138 which is specific to theconnected EMD 100. As will be described later, thecomputing device 120 may require the operational attributes in order to perform the at least one operation to thedata 104, such as transfer of thedata 104. - As one example advantage, the
static part 136 of thedata processing application 134 of thecomputing device 120 need not be updated or re-installed often because the operational attributes of the EMDs, which may require such update relatively often, are stored in theserver 160. In this case it is enough that theserver 160 is updated and this update may be invisible to theuser 150 of thecomputing device 120. An update of theserver 160 may be in order each time a new exercise monitoring device is brought to markets, for example. Also, an update may be needed when a software bug is detected in the software. In such case it is beneficial, from the point of view of the reputation/image of the software provider, to be able to fix the bug without theuser 150 knowing anything about the update. This may further provide more reliable service by the service provider as the bar for making such updates is significantly lower when they are performed without theuser 150 knowing. As theserver 160 may be updated frequently, thedynamic part 138, which is formed on the basis of the operational attributes stored in theserver 160, is always up-to-date and the end-user 150 may enjoy reliable and up-to-date service. Further, the use ofdifferent servers - A further advantage may be that the
static part 136 of thedata processing application 134 in thecomputing device 120 may be on all the time without any need to re-starting the application. This may be enabled because no update is needed to thestatic part 136 of thedata processing application 134 which retrieves, the required tools for establishing thedynamic part 138, for accessing thedata 104 and for working with theEMD 100. - In an embodiment, the
static part 136 performs at least the said functions (i.e. thesteps 202, 204, and 206) each time any exercise monitoring device is connected to thecomputing device 120. In this way, thedynamic part 138 is generated from the beginning each time any EMD is connected to thecomputing device 120 on the basis of the EMD-specific operational attributes retrieved from theserver 160 by thestatic part 136. Thus, thedynamic part 138 may change each time theapplication 134 is used, depending on which EMD is connected to thecomputing device 120 and depending on updates performed for theserver 160, for example. Even if thesame EMD 100 is connected to thecomputing device 120 later, such as on the following day, thestatic part 136 of thedata processing application 134 initiates the generation of thedynamic part 138 from the beginning by requesting theserver 160 to respond with the correct operational parameters for theEMD 100. In other words, in an embodiment, thedynamic part 138 is deleted upon disconnecting theEMD 100 from thecomputing device 120. That is, thedata processing application 134 or thecomputing device 120 does not store anydynamic parts 138 in the memory permanently. This may simplify thedata processing application 134 significantly, as the basic functions caused by thestatic part 136 are the same each time any EMD is connected to thecomputing device 120 and the EMD-specificdynamic part 138 is formed from the start each time any EMD is connected to thecomputing device 120. - Yet one advantage due to the proposed solution may be that the
users 150 of thecomputing devices 100 may generate skins or other software-related functions for the data processing application. These software-related functions may be transmitted to and stored in one of theservers 160/180.Other users 150 may then apply those software-related functions in theirown computing devices 120. - In an embodiment, the
computing device 120 requests thefirst server 160 to indicate the operational attributes associated with the connectedexercise monitoring device 100 on the basis of the at least one identifier 102 upon connection of theexercise monitoring device 100 to thecomputing device 120. In this way, each time any EMD is connected to thecomputing device 120, thecomputing device 120 automatically requests thecontent server 160 to response with the correct operational attributes applied by or associated with theconnected EMD 100. In this case thecomputing device 120 may acquire the operational attributes associated with theexercise monitoring device 100 directly from the information received from thecontent server 160. - In another embodiment, the
computing device 120 may itself store a database X (similar to the database 170) comprising operational attributes for a plurality of EMDs. Then thecomputing device 120 may select the operational attributes from the sets of operational on the basis of the information received from thecontent server 160. In this case, theserver 160 need not response with the operational parameters for theconnected EMD 100, but it is enough for thecontent server 160 to indicate, for example, the index of the database X corresponding to theconnected EMD 120. In this way, the information indicating the operational attributes associated with the connectedexercise monitoring device 100 may be an index of the database X stored in thecomputing device 120. - In
step 208, thecomputing device 120, or more specifically thedynamic part 138 of thedata processing application 134, may perform at least one operation to the exercise-relateddata 104 on the basis of the indicated operational attributes associated with the connectedexercise monitoring device 100. Processing the exercise-relateddata 104 may denote processing the data in theEMD 100, in thecomputing device 120 and/or perform a transfer of thedata 104, for example. The proposed solution may provide ease of usage from the point of view of thecomputing device 120 as the data processing application automatically retrieves the correct operational attributes or functional parameters needed forcertain EMD 100 from theserver 160. - In an embodiment, the
computing device 120 acquires all of the operational attributes related to theconnected EMD 100 from theserver 160 substantially simultaneously. That is, even though thecomputing device 120 would not require any operational attributes related to handling location specific data, thecomputing device 120 is nevertheless provided with the attributes enabling such GPS data handling. - In another embodiment, the content of the received operational attributes are based on an explicit request from the
computing device 120. That is, the content may be based on a current need and thecomputing device 120 may thus request the first server (160) to provide only those operational attributes which are required for forming thedynamic part 138 for a specific processing task. For example, let us assume that the first task thecomputing device 120 needs to do with respect to theconnected EMD 100 is to transfer thedata 104 to thecomputing device 120. Then the computing device may request theserver 160 to indicate those operational parameters which are needed for the transfer, not any other operational parameters. Then, when theuser 150 of the computing devise 120 or thecomputing device 120 itself decides that, for example, heart rate data is to be shown, thecomputing device 120 may request the corresponding operational parameters from theserver 160. - The operational attributes (OA) may indicate at least one of the following: the types of exercise-related data available from the connected
exercise monitoring device 100, a data format applied by the connectedexercise monitoring device 100 for each available type of exercise-related data, coding applied by the connectedexercise monitoring device 100 for each available type of exercise-related data, a communication protocol applied by the connectedexercise monitoring device 100 for the transfer of the exercise-related data, identification of asecond server 180 to which the exercise-related data is to be transferred. Let us look at these further. - In one embodiment, the operational attributes may indicate the types of exercise-related data available from the connected
exercise monitoring device 100. This may denote that thecomputing device 120 may acquire knowledge of what types of exercise-relateddata 104 is available in theEMD 100. Thecomputing device 120 may then process each type of data simultaneously or separately, depending on whatdata 104 is available. Thecomputing device 120 may in this manner acquire knowledge of, for example, what information it should display to theuser 150. If thedata 104 comprise GPS location data, then thecomputing device 120 may show the route travelled during the physical exercise, whereas if thedata 104 do not comprise such location data, then no route display needs to be generated. - In one embodiment, the operational attributes may indicate the data format and/or coding applied by the connected
exercise monitoring device 100 for each available type of exercise-relateddata 104. In this case, thecomputing device 120 acquires knowledge about how the givenEMD 100 connected to thecomputing device 120 has encoded thedata 104 and in which format thedata 104 is stored. By acquiring such info, thecomputing device 120 may perform at least one operation to thedata 104, such as decoding thedata 104 and displaying thedata 104 to theuser 150, for example. - In one embodiment, the operational attributes may indicate the communication protocol applied by the connected
exercise monitoring device 100 for the transfer of the exercise-related data. The processing of thecomputing device 120 may in this case denote, for example, transferring thedata types 104 from theEMD 100 to thecomputing device 120. - In one embodiment, the operational attributes may indicate the identification of a
second server 180 to which the exercise-related data is to be transferred. Accordingly, the attributes may specify aspecific server 180 for a givenEMD 100, whereas for another type of EMD, the data server could be a different server or a target directory of theserver 180 could be different. The identification of theserver 180 may be the network address of theserver 180, for example. Then, thecomputing device 120 may select thesecond server 180 or the target directory of thesecond server 180 to which the exercise-relateddata 104 is to be transferred at least partly on the basis of the operational attributes. - Let us look at possible ways in which the
computing device 120 may, with thedynamic part 138, perform operation(s) to the exercise-relateddata 104. In an embodiment, thecomputing device 120 performs, with thedynamic part 138, at least one of the following operations: transfer the exercise-relateddata 104 from the connectedexercise monitoring device 100 to thecomputing device 120, transfer the exercise-relateddata 104 to thesecond server 180 from the computing device, decode at least part of the exercise-relateddata 104, encode at least part of the exercise-relateddata 104, reorganize at least part of the exercise-relateddata 104, delete at least part of the exercise-related data, add information to the exercise-relateddata 104, display or output at least part of the exercise-relateddata 104, store at least part of the exercise-relateddata 104 to thecomputing device 120. -
FIG. 3 shows thecomputing device 120 comprising the control circuitry (CTRL) 122 and the at least onememory 124 including the computer program code (PROG). Thecomputing device 120 may be a laptop, a PC, a mobile phone, a tablet, a communicator, a smart phone, a palm computer, or any computing device. Alternatively, thecomputing device 120 is comprised in such a computing device. Further, thecomputing device 120 may be or comprise a module, to be attached to such computing device, such as a plug-in unit, an “USB dongle”, or any other kind of unit. - As said, the
computing device 120 may further comprise communication interface (I/O interface) 126 comprising hardware and/or software for realizing a communication connectivity according to one or more communication protocols. Theinterface 126 may provide the apparatus with communication capabilities to access theEMD 100 and to the network 140 (and further to theservers 160, 180), for example. Thecomputing device 120 may also comprise the user interface (UI) 128, as indicated earlier, so that theperson 150 may control theapparatus 120. - The
control circuitry 122 may comprise an identifier (ID)determination circuitry 130 for determining the at least one identifier of the connectedEMD 100, as explained above. Thestatic part 136 of thedata processing application 134 may apply the functionalities of thecircuitry 130, for example. Thecontrol circuitry 122 may further comprise adata processing circuitry 132 responsible for performing operation(s) to thedata 104 according to any of the embodiments. Thedynamic part 138 of thedata processing application 134 may apply the functionalities of thecircuitry 132, for example. - Let us look at the proposed solution from the point of view of the
content server 160, which may be a server computer accessible via thenetwork 140, with reference toFIGS. 4 and 5 .FIG. 4 shows a flow diagram for the method performed by thecontent server 160, whereasFIG. 5 illustrates theserver 160. Theserver 160 may comprise at least oneprocessor 162 and at least onememory 164 including a computer program code (PROG). As shown instep 400 ofFIG. 4 , the at least onememory 164 and the computer program code (PROG) are configured, with the at least oneprocessor 162, to cause theserver 160 at least to store operational attributes for a plurality of different exercise monitoring devices, as mentioned earlier. Theoperational attribute database 170 may thus store separate data records, parameters, data structures, etc. for a plurality of different EMDs. - In step 402, the
server 160 may receive information from thecomputing device 120, wherein the information indicates at least one identifier of theEMD 100 connected to theEMD 100. - The
server 160 may then instep 404 determine the operational attributes associated with theconnected EMD 100 on the basis of the at least one identifier and the stored operational attributes. For example, if it is determined on the basis of the received ID that theconnected EMD 100 is the EMD #K, then theserver 160 may determine that the operational attributes corresponding to the EMD #K are to be selected from thedatabase 170 and transmitted to thedevice 120. - In step 406 the information indicating the determined operational attributes (corresponding to the EMD #K) is transmitted to the
device 120 in order to enable thedevice 120 to perform at least one operation to the exercise-relateddata 104 comprised in the connectedexercise monitoring device 100. - Let us then look at
FIG. 5 , which provides an embodiment illustrating the server 160 (a.k.a. the server computer 160). Theserver 160 comprises theCTRL 162 and the at least onememory 164. Theserver 160 may be a laptop, a PC, or any computing device capable of acting as a server and performing functionalities required from a server. - The apparatus may further comprise communication interface (I/O interface) 166 comprising hardware and/or software for realizing a communication connectivity according to one or more communication protocols. The
interface 166 may provide the apparatus with communication capabilities to access client'sdevice 120 via thenetwork 140. The apparatus may also comprise a user interface (UI) 168 for controlling theserver 160. - The
control circuitry 162 may comprise anidentification circuitry 172 for determining identity of the connectedEMD 100 on the basis of the received identifier, as explained above. Thecontrol circuitry 162 may further comprise an operational attribute (OA)determination circuitry 174 responsible for determining which operational attributes are to be transmitted to thedevice 120 for operating with theconnected EMD 100. -
FIG. 6 depicts an embodiment in which the user's device (i.e. the computing device 120) receives in step 600 configuration information indicating the to-be-applied configuration of thecomputing device 120 when connected to the identifiedexercise monitoring device 100. The configuration data may be received from thecontent server 160. In step 602, the computing device 120 (e.g. the dynamic part 138) then configures itself (e.g. the data processing application 134) at least partly on the basis of the received configuration information. For example, it may be that when an EMD #C is connected to thecomputing device 120, thecomputing device 120 is required to have a certain type of configuration, whereas when an EMD #D is connected to thecomputing device 120, thecomputing device 120 or thedata processing application 134 is required to have another type of configuration. The configuration information may be part of the operational attributes or it may be given as a separate data. - In an embodiment, the configuration information indicates at least one of the following: functionalities and appearance of the user interface (of the data processing application 134), language setting for the user interface, a skin or a theme of the user interface, a communication protocol to be applied for the transfer of the exercise-related
data 104. For example, for a specific EMD, the user interface is required to show certain selection areas or certain information (such as the model of the connected specific EMD) in a display. In an embodiment, the language settings of the user interface may depend on the received configuration information. In an embodiment, the skin or theme of the user interface of thecomputing device 120 may vary depending on what type of EMD is connected and/or depending on what season (summer, winter, Christmas, Olympics, etc.) it is. Thus, the current time and/or date may affect the content of the configuration data. As an example, it may be said that such embodiment allows applying themes, such as Christmas themes or Olympic-themes, to the user interface of the computing device 120 (e.g. to the user interface of thedata processing application 134 comprised in the computing device 120). Thecomputing device 120 may in an embodiment configure its I/O interface 126 on the basis of the communication protocol which is to be applied for the transfer of the exercise-relateddata 104 from theEMD 100 to thecomputing device 120 and/or from thecomputing device 120 to thedata server 180. - In an embodiment, the content of the received configuration information is at least partly based on at least one of the following: the identity of the
computing device 120, theuser 150 associated with thecomputing device 120. For example, when thecomputing device 120 is identified to be a personal home computer, such as PC, the configuration data (such as the appearance of the UI) may be different than when thecomputing device 120 is identified to belong to equipment of a gym, for example. Further, in an embodiment, theuser 150 may affect the content of the configuration information. For example, eachuser 150 may have their own user profiles stored in thecontent server 160 and each profile may have its own visual appearance, language settings, display settings or user interface setting in general. - In an embodiment as shown in
FIG. 7 , thecomputing device 120 may in step 700 receive a set of commands for controlling the functionalities of the connectedexercise monitoring device 120 from thecontent server 160. The set of commands may be part of the operational attributes indicated or the set of commands may be given as a separate data. Instep 702, thecomputing device 100 may acquire an indication to change at least partly the functionalities of the connectedexercise monitoring device 100. For example, thecomputing device 120 may detect that some functionalities of theEMD 100 are outdated (e.g. the firmware is old) or theuser 150 may indicate that, e.g. at least one training display needs to be amended. Consequently, instep 704 thecomputing device 120 may, with thedynamic part 138, control the functionalities of the connectedexercise monitoring device 100 by applying the received set of commands. For example, theuser 150 may define a new training display is needed for running-exercises. Theuser 150 and thecomputing device 120 may then add such new training display to theconnected EMD 100 on the basis of the received set of commands corresponding to the currently connectedEMD 100. Each EMD may have its own set of commands. Therefore, it may be beneficial not to store sets of commands for a plurality of EMDs in thememory 124 but to request the to-be-applied set of commands corresponding to the currently connected EMD from theserver 160. -
FIG. 8 shows a signaling flow diagram with respect to the proposed system. Instep 800 theEMD 100 is connected to the client's device (e.g. the computing device) 120. Instep 802, thecomputing device 120 defines at least one identifier of theEMD 100 and transmits it to thecontent server 160 instep 804. Optionally, thecomputing device 120 may identify the EMD on the basis of the identifier. Instep 806 thecontent server 160 selects the operational attributes corresponding to theconnected EMD 100 on the basis of the identifier. The operational attributes are selected from a set of operational attributes stored in thedatabase 170, each set corresponding to a different type of exercise monitoring device. Thereafter, instep 808 thecontent server 160 indicates the operational attributes to thecomputing device 120. Alternatively, thecontent server 160 may indicate the index for the correct operational attributes when thecomputing device 120 itself stores such set of operational attributes, each set corresponding to a different type of exercise monitoring device. - In an optional step 810 the
computing device 120 may perform (re)configuration of its own user interface, communication protocols, etc. on the basis of the configuration information, as explained earlier. Instep 812, thecomputing device 120 may transfer thedata 104 from theEMD 100 to thecomputing device 120. In anoptional step 814 thecomputing device 120 may perform further processing to the data, such as storing thedata 104, adding information elements to thedata 104, etc., as explained earlier. Instep 816, thecomputing device 120 may transfer thedata 104 to thedata server 180. In anoptional step 818 thecomputing device 120 may control the functionalities of theEMD 100 on the basis of received set of commands, as explained earlier. - As shown in
FIG. 8 , thestatic part 136 of thedata processing application 134 may be responsible of performing the tasks which are above a horizontal dottedline 820. The tasks which are below the horizontal dottedline 820 may be tasks performed by thedynamic part 138 of the data processing application. - As used in this application, the term ‘circuitry’ refers to all of the following: (a) hardware-only circuit implementations, such as implementations in only analog and/or digital circuitry, and (b) combinations of circuits and software (and/or firmware), such as (as applicable): (i) a combination of processor(s) or (ii) portions of processor(s)/software including digital signal processor(s), software, and memory(ies) that work together to cause an apparatus to perform various functions, and (c) circuits, such as a microprocessor(s) or a portion of a microprocessor(s), that require software or firmware for operation, even if the software or firmware is not physically present. This definition of ‘circuitry’ applies to all uses of this term in this application. As a further example, as used in this application, the term ‘circuitry’ would also cover an implementation of merely a processor (or multiple processors) or a portion of a processor and its (or their) accompanying software and/or firmware. The term ‘circuitry’ would also cover, for example and if applicable to the particular element, a baseband integrated circuit or applications processor integrated circuit for a mobile phone or a similar integrated circuit in a server, a cellular network device, or another network device.
- The techniques and methods described herein may be implemented by various means. For example, these techniques may be implemented in hardware (one or more devices), firmware (one or more devices), software (one or more modules), or combinations thereof. For a hardware implementation, the apparatus(es) of embodiments may be implemented within one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, other electronic units designed to perform the functions described herein, or a combination thereof. For firmware or software, the implementation can be carried out through modules of at least one chip set (e.g. procedures, functions, and so on) that perform the functions described herein. The software codes may be stored in a memory unit and executed by processors. The memory unit may be implemented within the processor or externally to the processor. In the latter case, it can be communicatively coupled to the processor via various means, as is known in the art. Additionally, the components of the systems described herein may be rearranged and/or complemented by additional components in order to facilitate the achievements of the various aspects, etc., described with regard thereto, and they are not limited to the precise configurations set forth in the given figures, as will be appreciated by one skilled in the art.
- Embodiments as described may also be carried out in the form of a computer process defined by a computer program. The computer program may be in source code form, object code form, or in some intermediate form, and it may be stored in some sort of carrier, which may be any entity or device capable of carrying the program. For example, the computer program may be stored on a computer program distribution medium readable by a computer or a processor. The computer program medium may be, for example but not limited to, a record medium, computer memory, read-only memory, electrical carrier signal, telecommunications signal, and software distribution package, for example. Coding of software for carrying out the embodiments as shown and described is well within the scope of a person of ordinary skill in the art.
- Even though the invention has been described above with reference to an example according to the accompanying drawings, it is clear that the invention is not restricted thereto but can be modified in several ways within the scope of the appended claims. Therefore, all words and expressions should be interpreted broadly and they are intended to illustrate, not to restrict, the embodiment. It will be obvious to a person skilled in the art that, as technology advances, the inventive concept can be implemented in various ways. Further, it is clear to a person skilled in the art that the described embodiments may, but are not required to, be combined with other embodiments in various ways.
Claims (20)
1. A server computer, comprising:
at least one processor and at least one memory including a computer program code, wherein the at least one memory and the computer program code are configured, with the at least one processor, to cause the server computer at least to:
store operational attributes for a plurality of different exercise monitoring devices;
cause a reception of information from a static part of a data processing application of a computing device applied by a user, wherein the information indicates at least one identifier of an exercise monitoring device connected to the computing device;
determine the operational attributes associated with the connected exercise monitoring device on the basis of the at least one identifier and the stored operational attributes; and
cause a transmission of information indicating the determined operational attributes to the computing device in order to enable the computing device to perform at least one operation to exercise-related data comprised in the connected exercise monitoring device.
2. The server computer of claim 1 , wherein the operational attributes comprise an executable packet which auto-generate a dynamic part to the data processing application of the computing device.
3. The server computer of claim 1 , wherein the identifier comprises at least one of the following with respect to the connected exercise monitoring device: a type identifier, a model identifier, the serial number, an age identifier, a manufacturer identifier, a firmware version identifier.
4. The server computer of claim 1 , wherein the at least one memory and the computer program code are configured, with the at least one processor, to cause the server computer to
receive a request from the computing device to indicate the operational attributes associated with the connected exercise monitoring device on the basis of the at least one identifier each time upon connection of any exercise monitoring device to the computing device.
5. The server computer of claim 1 , wherein the operational attributes indicate at least an identification of a second server or a target directory of the second server to which the exercise-related data is to be transferred, in order to enable the computing device to transfer the exercise-related data from the connected exercise monitoring device to the computing device and to transfer the exercise-related data from the computing device to the second server.
6. The server computer of claim 1 , wherein the operational attributes indicate the types of exercise-related data available from the connected exercise monitoring device.
7. The server computer of claim 1 , wherein the operational attributes indicate at least one of the following: a data format applied by the connected exercise monitoring device for each available type of exercise-related data, coding applied by the connected exercise monitoring device for each available type of exercise-related data, a communication protocol applied by the connected exercise monitoring device for the transfer of the exercise-related data.
8. The server computer of claim 1 , wherein the types of exercise-related data available from the connected exercise monitoring device comprise location specific exercise data.
9. The server computer of claim 1 , wherein the types of exercise-related data available from the connected exercise monitoring device comprise activity information.
10. The server computer of claim 1 , wherein the types of exercise-related data available from the connected exercise monitoring device comprise at least one of the following: heart rate zones, heart rate samples, heart rate variation samples, fat consumption, calorie consumption, activity zones, activity samples, speed and/or pace samples, power samples, cadence samples, altitude samples, temperature samples, location samples, pedal index, left-right balance, running index, training load, galvanic skin response samples, fluid balance, skin temperature samples, music samples.
11. The server computer of claim 1 , wherein the transmitted information indicating the operational attributes enable the computing device to further perform at least one of the following operations to the exercise-related data:
decode at least part of the exercise-related data, encode at least part of the exercise-related data, reorganize at least part of the exercise-related data, delete at least part of the exercise-related data, add information to the exercise-related data, display or output at least part of the exercise-related data, store at least part of the exercise-related data to the computing device.
12. The server computer of claim 1 , wherein the at least one memory and the computer program code are configured, with the at least one processor, to cause the server computer to
cause a transmission of configuration information to the computing device, wherein the configuration information indicates the to-be-applied configuration of the computing device when connected to the identified exercise monitoring device in order to enable the computing device to configure the computing device at least partly on the basis of the transmitted configuration information, wherein the configuration information indicates at least one of the following: functionalities and appearance of the user interface, language setting for the user interface, a skin or a theme of the user interface, a communication protocol to be applied for the transfer of the exercise-related data.
13. The server computer of claim 12 , wherein the content of the received configuration information is at least partly based on the identity of the computing device and/or the identity of the user associated with the computing device.
14. The server computer of claim 1 , wherein the at least one memory and the computer program code are configured, with the at least one processor, to cause the server computer to
cause a transmission of a set of exercise monitoring device-specific commands to the computing device in order to allow the computing device to control the functionalities of the connected exercise monitoring device by applying the transmitted set of commands.
15. A method, comprising:
storing, by a server computer, operational attributes for a plurality of different exercise monitoring devices;
receiving information from a static part of a data processing application of a computing device applied by a user, wherein the information indicates at least one identifier of an exercise monitoring device connected to the computing device;
determining the operational attributes associated with the connected exercise monitoring device on the basis of the at least one identifier and the stored operational attributes; and
transmitting information indicating the determined operational attributes to the computing device in order to enable the computing device to perform at least one operation to exercise-related data comprised in the connected exercise monitoring device.
16. A computer program product embodied on a distribution medium readable by a computer and comprising program instructions which, when loaded into an apparatus, cause the apparatus to execute at least the following:
storing, by a server computer, operational attributes for a plurality of different exercise monitoring devices;
receiving information from a static part of a data processing application of a computing device applied by a user, wherein the information indicates at least one identifier of an exercise monitoring device connected to the computing device;
determining the operational attributes associated with the connected exercise monitoring device on the basis of the at least one identifier and the stored operational attributes; and
transmitting information indicating the determined operational attributes to the computing device in order to enable the computing device to perform at least one operation to exercise-related data comprised in the connected exercise monitoring device (100).
17. A computing device, comprising:
at least one processor and at least one memory including a computer program code, wherein the at least one memory and the computer program code are configured, with the at least one processor, to cause the computing device at least to:
execute, in the computing device, a data processing application comprising a static part for performing at least the following functions when an exercise monitoring device is connected to the computing device:
determine at least one identifier of the connected exercise monitoring device, wherein the connected exercise monitoring device comprises exercise-related data;
cause an indication of the determined at least one identifier to a first server over a network, wherein the first server stores operational attributes for a plurality of different exercise monitoring devices; and
cause a reception of information indicating operational attributes associated with the connected exercise monitoring device from the first server, wherein the indicated operational attributes form an exercise monitoring device-specific dynamic part of the data processing application, and the computing device is further caused to:
perform, with the dynamic part, at least one operation to the exercise-related data on the basis of the indicated operational attributes associated with the connected exercise monitoring device.
18. The computing device of claim 17 , wherein the operational attributes indicate at least an identification of a second server or a target directory of the second server to which the exercise-related data is to be transferred, and the computing device is further caused to:
transfer the exercise-related data from the connected exercise monitoring device to the computing device; and
transfer the exercise-related data from the computing device to the second server.
19. The computing device of claim 17 , wherein the static part performs at least the said functions each time any exercise monitoring device is connected to the computing device.
20. The computing device of claim 17 , wherein the at least one memory and the computer program code are configured, with the at least one processor, to cause the computing device to:
cause a reception of a set of commands for controlling the functionalities of the connected exercise monitoring device from the first server;
acquire an indication to change at least partly the functionalities of the connected exercise monitoring device; and
control the functionalities of the connected exercise monitoring device by applying the received set of commands.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP12195453 | 2012-12-04 | ||
EP12195453.1 | 2012-12-04 | ||
EP12195453.1A EP2741222B1 (en) | 2012-12-04 | 2012-12-04 | Exercise-related data processing |
Publications (2)
Publication Number | Publication Date |
---|---|
US20140156038A1 true US20140156038A1 (en) | 2014-06-05 |
US9700760B2 US9700760B2 (en) | 2017-07-11 |
Family
ID=47504616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/095,552 Active 2035-12-05 US9700760B2 (en) | 2012-12-04 | 2013-12-03 | Exercise-related device data sent indirectly through intermediary device to first remote server or directly sent to second remote server for processing |
Country Status (2)
Country | Link |
---|---|
US (1) | US9700760B2 (en) |
EP (1) | EP2741222B1 (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9660930B2 (en) | 2014-03-17 | 2017-05-23 | Splunk Inc. | Dynamic data server nodes |
US9836358B2 (en) | 2014-03-17 | 2017-12-05 | Splunk Inc. | Ephemeral remote data store for dual-queue systems |
US9838346B2 (en) | 2014-03-17 | 2017-12-05 | Splunk Inc. | Alerting on dual-queue systems |
US9838467B2 (en) | 2014-03-17 | 2017-12-05 | Splunk Inc. | Dynamically instantiating dual-queue systems |
US10055312B2 (en) | 2014-09-19 | 2018-08-21 | Splunk Inc. | Data forwarder prioritizing live data |
US10393884B2 (en) * | 2015-12-07 | 2019-08-27 | Creative Specific Software | System and method for detecting the wearing by a patient of a foot ulcer offloading apparatus |
US20210377346A1 (en) * | 2018-12-06 | 2021-12-02 | Huawei Technologies Co., Ltd. | Exercise Data Processing Method and Apparatus |
US11540095B2 (en) * | 2020-05-27 | 2022-12-27 | Goldman Sachs & Co. LLC | Projecting content from exercise equipment |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11350853B2 (en) | 2018-10-02 | 2022-06-07 | Under Armour, Inc. | Gait coaching in fitness tracking systems |
CN111951640B (en) * | 2020-08-22 | 2022-01-25 | 湖南大学 | Photon attenuation sensor assisted vocal music breath exercise device and use method |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6605038B1 (en) * | 2000-06-16 | 2003-08-12 | Bodymedia, Inc. | System for monitoring health, wellness and fitness |
US20110179405A1 (en) * | 2006-10-24 | 2011-07-21 | Dicks Kent E | Systems for remote provisioning of electronic devices |
US8152693B2 (en) * | 2006-05-08 | 2012-04-10 | Nokia Corporation | Exercise data device, server, system and method |
US20120259652A1 (en) * | 2011-04-07 | 2012-10-11 | Full Recovery, Inc. | Systems and methods for remote monitoring, management and optimization of physical therapy treatment |
US20150081763A1 (en) * | 2013-09-13 | 2015-03-19 | Polar Electro Oy | Pairing of devices |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6668376B1 (en) * | 2000-01-07 | 2003-12-23 | Ricoh Company, Ltd. | System and method for automatically loading a device driver |
IL153516A (en) * | 2000-06-23 | 2007-07-24 | Bodymedia Inc | System for monitoring health, wellness and fitness |
US7076536B2 (en) * | 2000-12-21 | 2006-07-11 | Microsoft Corporation | Method and system to access software pertinent to an electronic peripheral device at an address based on a peripheral device identifier |
US20070136098A1 (en) * | 2005-12-12 | 2007-06-14 | Smythe Alan H | System and method for providing a secure feature set distribution infrastructure for medical device management |
US20120182939A1 (en) * | 2011-01-14 | 2012-07-19 | Qualcomm Incorporated | Telehealth wireless communication hub and service platform system |
-
2012
- 2012-12-04 EP EP12195453.1A patent/EP2741222B1/en active Active
-
2013
- 2013-12-03 US US14/095,552 patent/US9700760B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6605038B1 (en) * | 2000-06-16 | 2003-08-12 | Bodymedia, Inc. | System for monitoring health, wellness and fitness |
US8152693B2 (en) * | 2006-05-08 | 2012-04-10 | Nokia Corporation | Exercise data device, server, system and method |
US20110179405A1 (en) * | 2006-10-24 | 2011-07-21 | Dicks Kent E | Systems for remote provisioning of electronic devices |
US20120259652A1 (en) * | 2011-04-07 | 2012-10-11 | Full Recovery, Inc. | Systems and methods for remote monitoring, management and optimization of physical therapy treatment |
US20150081763A1 (en) * | 2013-09-13 | 2015-03-19 | Polar Electro Oy | Pairing of devices |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11102095B2 (en) | 2014-03-17 | 2021-08-24 | Splunk Inc. | Monitoring data queues and providing alerts |
US9836358B2 (en) | 2014-03-17 | 2017-12-05 | Splunk Inc. | Ephemeral remote data store for dual-queue systems |
US9838346B2 (en) | 2014-03-17 | 2017-12-05 | Splunk Inc. | Alerting on dual-queue systems |
US9838467B2 (en) | 2014-03-17 | 2017-12-05 | Splunk Inc. | Dynamically instantiating dual-queue systems |
US11882054B2 (en) | 2014-03-17 | 2024-01-23 | Splunk Inc. | Terminating data server nodes |
US11558270B2 (en) | 2014-03-17 | 2023-01-17 | Splunk Inc. | Monitoring a stale data queue for deletion events |
US10419528B2 (en) | 2014-03-17 | 2019-09-17 | Splunk Inc. | Dynamically instantiating and terminating data queues |
US10425300B2 (en) | 2014-03-17 | 2019-09-24 | Splunk Inc. | Monitoring data queues and providing alerts |
US9660930B2 (en) | 2014-03-17 | 2017-05-23 | Splunk Inc. | Dynamic data server nodes |
US10599529B2 (en) | 2014-03-17 | 2020-03-24 | Splunk Inc. | Instantiating data queues for management of remote data stores |
US10911369B2 (en) | 2014-03-17 | 2021-02-02 | Splunk Inc. | Processing event data using dynamic data server nodes |
US10545838B2 (en) | 2014-09-19 | 2020-01-28 | Splunk Inc. | Data recovery in a multi-pipeline data forwarder |
US11237922B2 (en) | 2014-09-19 | 2022-02-01 | Splunk Inc. | Removing data from a data pipeline for efficient forwarding of live data |
US11640341B1 (en) | 2014-09-19 | 2023-05-02 | Splunk Inc. | Data recovery in a multi-pipeline data forwarder |
US10055312B2 (en) | 2014-09-19 | 2018-08-21 | Splunk Inc. | Data forwarder prioritizing live data |
US10393884B2 (en) * | 2015-12-07 | 2019-08-27 | Creative Specific Software | System and method for detecting the wearing by a patient of a foot ulcer offloading apparatus |
US20210377346A1 (en) * | 2018-12-06 | 2021-12-02 | Huawei Technologies Co., Ltd. | Exercise Data Processing Method and Apparatus |
US11540095B2 (en) * | 2020-05-27 | 2022-12-27 | Goldman Sachs & Co. LLC | Projecting content from exercise equipment |
Also Published As
Publication number | Publication date |
---|---|
EP2741222A1 (en) | 2014-06-11 |
EP2741222B1 (en) | 2019-07-03 |
US9700760B2 (en) | 2017-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9700760B2 (en) | Exercise-related device data sent indirectly through intermediary device to first remote server or directly sent to second remote server for processing | |
US10135934B2 (en) | Near field communication system, and method of operating same | |
US8973014B2 (en) | Inter-device communication transmission system and method thereof | |
KR102040754B1 (en) | Interaction method, terminal and server based on recommended content | |
US9705989B2 (en) | Pairing of devices | |
US20160381118A1 (en) | Extracting and formatting content from web-resources | |
CN107045508B (en) | Application program processing method and device | |
US10942722B2 (en) | Dynamically configuring software application | |
CN111408136A (en) | Game interaction control method, device and storage medium | |
CN104376039A (en) | Network content pushing method, device and system | |
US20180082214A1 (en) | Information processing device, method of processing information, and method of providing information | |
EP3005135A1 (en) | Smart media device ecosystem using local data and remote social graph data | |
US11782910B2 (en) | System and method for dynamic inference collaboration | |
US20180129519A1 (en) | Method and system for emulating application running in secondary device on primary device | |
CN113138816A (en) | Message screen display theme display method and mobile device | |
AU2016259289A1 (en) | Method and apparatus for managing content in a processing device | |
KR100869245B1 (en) | System and method for offering a personalized service | |
KR20180046032A (en) | Electronic device and method for operating the same | |
CN105528550B (en) | Information display control method and device | |
CN114647412A (en) | Content display method and terminal equipment | |
CN109992178B (en) | Control method and device of target component, storage medium and electronic device | |
CN115905742A (en) | Data display method, device, equipment and storage medium | |
JP2015210744A (en) | Unique information transmission system, communication equipment, program for communication equipment, and unique information transmission method | |
US20200057533A1 (en) | Totaling system, terminal system, server, recording medium, and totaling method | |
Javed et al. | IoT Platforms |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: POLAR ELECTRO OY, FINLAND Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:POYHTARI, PETTERI;RANTANEN, SIMO;SIGNING DATES FROM 20140226 TO 20140317;REEL/FRAME:032601/0636 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |