fig1 shows an overview of how an illustrative modular personal network ( mpn ) may be used . the mpn is associated with a user 1 . the mpn may include multiple individual network components ( incs ), each of which may have one or more primary functions . each inc may include a wireless transceiver for communicating with other incs in the mpn . the wireless network may be associated with user 1 , for example , within a few meters of the user . each inc may be worn or carried by user 1 , or otherwise in the user &# 39 ; s immediate vicinity . for example , inc 2 , which may be worn on the user &# 39 ; s waist , may be a control unit that includes a processor and memory , to store and run software to control other incs in the mpn . inc 3 , which may be worn on the user &# 39 ; s hand or wrist , may be a display device . if desired , a variety of mountings may be provided to allow the display to be seen optimally in variety of circumstances , such as mounting on the side of the hand or wrist . if desired , a reusable mount may allow a display or other inc to be easily repositioned , reoriented , and replaced . inc 4 , which may be a headset or may be worn in a headband or hat , may be an audio output device . one or more speakers may be worn in the ear , or may be worn against the skin near the ear . the audio output device may support output of tones , music , or voice . audio cues of various types may be generated . if desired , the audio output device may provide multiple types of audio output . one output may be paused or muted while the other is provided . incs 5 , 7 , and 7 may be user input devices . any suitable type of user input may be provided , such as voice input , buttons , a portable keyboard , or a stylus . as shown , pressure sensors are worn in the fingertips of a glove , and are operated by tapping with the fingers . different commands may be indicated by tapping with different fingers or in different sequences . if desired , such pressure sensors may be worn on the hand , at the waist , on the foot , or in any other suitable manner . inc 8 may provide another function for the user , such as an input function , an output function , a storage function , or a control function . as many or as few incs may be included in the mpn as desired . if desired , one or more incs may be removed from the mpn to remove functions , and one or more incs , such as inc 9 , may be added to add other functions . the changed configuration may be determined dynamically or the changes may be indicated by the user . second user 10 may have a second mpn . for example , second user 10 may be riding a bicycle . inc 11 may be mounted on the handlebars of the bicycle and may include display functions , user input functions , and control unit functions . inc 12 may be an audio output device , mounted on second user 10 &# 39 ; s helmet . inc 13 may be a sensor mounted on the bicycle to measure its speed . when second user 10 comes into range of first user 1 &# 39 ; s mpn , there is no interference . each inc in either mpn is programmed with a network identifier that is common to all incs in the mpn but unique among different mpns . each message sent from one inc in an mpn to another inc in the same mpn may be tagged with the common network identifier or with a unique component identifier of the target inc , so that no unintended incs process the message . in addition , the network identifier may be stored in secure memory in each inc , so that the inc cannot be used in a different mpn without explicit authorization from the user who programmed the network identifier . the mpn may interface with a more stationary device , such as base station 15 or personal computer 16 . base station 15 may act as part of the mpn when the mpn is within range . base station 15 may include a wireless communication device to communicate with one or more of the incs in the mpn . alternatively , base station 15 may communicate with one of the incs using another means , such as a serial cable , usb , a docking station , infrared , or other connection . personal computer 16 may communicate with base station 15 . alternatively , personal computer 16 may communicate directly with one or more incs , acting as a base station . personal computer 16 or base station 15 may download software , data , settings , and other information to one or more incs . for example , software may be downloaded to control one or more incs , or to implement one or more features . as unanticipated incs are added to the mpn , new software modules may be downloaded to control and interface with them , and an application on personal computer 16 may be used to configure settings related to the new incs . personal computer 16 and base station 15 may be used to program the common network identifier into each inc in the mpn . data may be uploaded from one or more incs to personal computer 16 to be stored , displayed , or analyzed . if desired , personal computer 16 may communicate with another computer 18 over a wide area network 17 , such as the internet . software , data , settings , and other information may be sent from computer 18 to personal computer 16 for use with the mpn , and data from the mpn may be sent from personal computer 16 to computer 18 . an mpn may be used for one or more purposes . for example , the mpn may support a global turn on or turn off feature , in which all active devices may be disabled or re - enabled with a single command to a single inc . the mpn may provide clock functions 20 , such as providing the current time and date , supporting multiple time zones , providing stopwatch features , and synchronizing other features of the mpn . the mpn may provide communication functions 25 , such as communicating with another mpn to support games , competitions , and other types of data transfers , telephone features , paging features , instant messaging , and electronic mail . the mpn may provide entertainment functions 30 , such as playing music , recording audio and video media , and games . the mpn may provide personal organization functions 35 , such as scheduling appointments , managing contacts , tracking tasks , and maintaining a mobile electronic journal . the mpn may support guidance functions 40 , such as showing current position , speed , and elevation , providing route guidance , collecting and annotating position and speed data , and recommending an athletic training route . the mpn may support athletic functions 45 , such as supporting a workout plan , supporting workout definition , controlling a workout , communicating with exercise equipment , collecting athletic data , detecting and correcting errors in collected data , estimating secondary data based on collected data , providing competition between users of multiple mpns , logging lap swim workouts , providing form feedback , and providing an athletic training journal . the mpn may support physical therapy and medical functions 50 , such as measuring range of motion , gait analysis , measuring muscle strength , measuring changes in physical therapy , monitoring a metabolic value , detecting a medical problem , controlling a treatment device , providing emergency communication , storing medical databases , providing an electronic medical journal , and supporting incs that may be injected , ingested , or implanted . the mpn may provide disabled access 55 , such as alternate input devices , alternate output devices , and alternate inc mounting means . the mpn may support travel functions 60 , such as language translation , currency conversion , time zone conversion , route guidance , local information , guidebook features , wildlife recognition , a mobile electronic travel journal , weather information , local transit and entertainment schedules , and expense tracking the mpn may support outdoor functions 65 , such as compass direction , geographical location , route guidance , elevation reporting , and weather features . the mpn may support identity functions 70 , such as identifying a user to another user or another system , providing exchange of money , providing product discounts , and providing product purchasing . the mpn may support personal security functions 75 , such as an audible alert , an alert message to a public safety facility , and storage of emergency information . the mpn may support military functions 80 , such as communications , geographical position , route guidance , and weather features . the mpn may support combinations of functions , and its functions may vary over time as incs are added or removed , as different software or data is downloaded , or as the user &# 39 ; s needs change . fig1 a shows a block diagram of illustrative mpn 100 a . this mpn includes incs 110 a , 110 b , 110 c , and 110 / d . each inc includes communication device 120 , for communicating with other incs over wireless communication path 140 . communication device 120 may be , for example , a standard radio frequency wireless transceiver with a range appropriate for a personal network ( e . g ., between six feet and sixty feet ). communication device 120 may also include hardware and software implementing a standard wireless protocol , such as bluetooth or ieee 802 . 15 . an antenna may be included . if desired , transmitter and receiver may be separate devices . not shown in each inc is a power source . each inc also includes one or more other functions 130 - 137 . these other functions may be provided by hardware and / or software incorporated into the inc . the software may be firmware provided with the inc , or it may be downloaded into the inc over communication path 140 or using other means . fig1 b shows how mpn 100 a may be modified to become mpn 100 b . in the modified mpn , inc 110 c has been removed , and inc 110 e has been added . correspondingly , other function 135 associated with inc 110 c is no longer available , and other functions 138 and 139 associated with inc 110 e are now available . different manufacturers may manufacture incs . each manufacturer may be assigned a unique manufacturer identifier , as shown in table 210 of fig2 a . each manufacturer may provide various types of incs , each of which may be assigned a model identifier by the manufacturer , as shown in table 220 of fig2 b . the model identifier may be unique for a specific manufacturer . there may also be defined a set of device types , as shown in table 230 of fig2 c . the device type identifiers may be standard across all manufacturers and models . for example , model 3 by manufacturer 2 may have the same device type as model 7 by manufacturer 12 . device types may be divided into a range for input devices 234 and a range for output devices 232 . it may also have ranges 236 and 238 for manufacturers to use when a standard device type has not yet been assigned . an inc may have multiple device types , if it has multiple functions 130 - 139 ( fig1 ). for each device type , there may be a standard set of defined capabilities , which may or may not be supported by any specific inc with that device type . for example , as shown in table 240 of fig2 d , device type 257 , which may be an audio output inc , may have three standard capabilities , any of which may or may not be supported by any particular audio output inc . capability 242 may be the ability to output stereo audio . capability 244 may be the ability to control the output volume of the audio . capability 246 may specify the number of volume increments supported by a particular inc . these capabilities are merely illustrative . the manufacturer identifier , model identifier , one or more device types , and any supported device capabilities and values may be stored in read - only memory in the inc , and provided over communication path 140 ( fig1 ), to allow the inc to be identified by another inc . fig3 a through 3j illustrate an exemplary communications protocol that may be used between incs in an mpn . the protocol may include a defined set of messages that may be sent from one inc to another . this message protocol may be encapsulated in one or more lower - level protocols , such as bluetooth or ieee 801 . 15 . if desired , this protocol may function on different lower - level protocols in different environments . as shown in fig3 a , each message may include message type 301 and error detection / correction fields 302 . message type 301 may indicate to the receiving inc how to process the message . error detection / correction may include parity , checksums , cyclic redundance checks ( crcs ), or other mechanisms for detecting that a received message has one or more errors , and possibly correcting the error ( s ). identity request message 300 of fig3 a may be sent by an inc ( such as a control unit or base station ) wishing to determine the identity and characteristics of one or more other incs in the mpn . for example , this message may be broadcast and all other incs in the mpn may respond . identity request message 300 may include a unique network identifier 303 common to all incs in the mpn . it may include a network address 304 of the inc sending the request . each inc in the mpn may have a network address that is unique among all incs in the mpn . identity request message 300 may also include controller identifier 305 . this may be an identifier that is unique across all incs , and it may correspond to the control unit , base station , or other inc that is sending the message . component identity message 310 of fig3 b may be sent by an inc in response to identity request message 300 . it may include network identifier 311 of the inc sending the message . network identifier 311 may be the same as the network identifier 303 in the requesting message , if both incs are part of the same mpn . it may be blank if this inc has not yet been assigned to an mpn . it may be different if this inc belongs to a different mpn . if this inc has been assigned to an mpn , component identity message 310 may also include network address 312 . component identity message 310 may also include information about the type of inc and its capabilities that may be stored in read - only memory in the inc . for example , the message may include component identifier 313 , which may be the identifier for this inc that is unique across all incs . the message may also include manufacturer identifier 314 , model identifier 315 , one or more device types 316 , and capability list 317 . net address assignment message 320 of fig3 c may be sent by a control unit , base station , or other inc to configure a newly detected inc to function within the mpn . it may include controller identifier 305 . it may include the new network identifier 321 and network address 322 to be programmed into the inc . it may include component identifier 313 to ensure that the correct inc processes the message . it may also include security code 323 to ensure that unauthorized personnel do not change the network identifier and network address . on processing net address assignment message 320 , the inc may respond with network acknowledgement message 330 of fig3 d . this message may repeat component identifier 313 , network identifier 321 , and network address 322 , to inform the controller that the operation was successful . alternatively , the message may include a field indicating success or failure of the operation , and the reason for failure if it was not successful . output data request message 340 of fig3 e may be sent to an inc that is capable of outputting . it may include the network identifier 321 and network address 322 of the inc that is to perform the output function . the message may include request serial number 341 . this number may be used by the requesting inc and the outputting inc to keep track of multiple pending requests . output data request message 340 may include device type 316 and capability type 317 to inform an inc that supports multiple output functions how to process the data . output data request message 340 may also include the data to output 342 . the format of this data may depend on the type of inc receiving the data and how it is to be processed . after processing output data request message 340 , the output inc may respond with output acknowledgement message 350 of fig3 f . this message may include network identifier 321 , network address 322 , and request serial number 341 to allow the controller to determine which request this acknowledgement corresponds to . it may also include acknowledgement code 351 , which may indicate whether the request was processed correctly , and if not successful may include a reason for the failure . input data request message 360 of fig3 g may be sent to an inc that is capable of inputting . it may include the network identifier 321 and network address 322 of the inc that is to perform the input function . the message may include request serial number 361 . this number may be used by the requesting inc and the inputting inc to keep track of multiple pending requests . input data request message 360 may include device type 316 and capability type 317 to inform an inc that supports multiple input functions how to process the data . after processing input data request message 360 , the input inc may respond with input acknowledgement message 370 of fig3 h . this message may include network identifier 321 , network address 322 , and request serial number 361 to allow the controller to determine which request this acknowledgement corresponds to . it may include acknowledgement code 371 , which may indicate whether the request was processed correctly , and if not successful may include a reason for the failure . it may also include the requested data 372 , formatted as appropriate for the device and data type . an inc may also send unsolicited data message 380 of fig3 i . this message may be sent when the inc has acquired some data for which there may be an ongoing request , or when the inc has entered a state , such as an error condition , that needs to be reported to a control unit , base station , or other inc . this message may include the network identifier 321 and network address 322 of the inc . it may include device type 316 and capability type 317 to allow the receiving inc to know how to process the data . it may also include data 381 , formatted as appropriate for the device type and capability type . a control unit , base station , or other inc may periodically send out network poll message 390 of fig3 j . this message is sent to determine whether an inc is still present on the mpn . it may include network identifier 321 and network address 322 of the inc being polled . the polled inc may respond with component identity message 310 or other suitable message . the message types shown in fig3 a through 3j are merely illustrative . other types of messages may be defined and sent between incs in the mpn . for example , a command may be sent to turn on an inc or to turn off an inc . if desired , a command may be broadcast to all incs in an mpn , rather than addressed to a specific inc . table 400 of fig4 shows an illustrative data structure that may be maintained by a control unit , base station , or other inc to track incs on the mpn . if desired , multiple incs in the mpn may maintain such information . column 410 may hold the network address of each inc . column 420 may hold the component identifier of each inc . column 430 may hold the manufacturer identifier of the inc . column 440 may hold the model identifier of the inc . column 450 may hold the device type of each inc . multiple device types may be stored for a single inc if desired . column 460 may hold a list of capability types for each device type listed for each inc . column 460 may also hold specific values related to each capability type . column 470 may hold a flag indicating whether the inc is currently active . for example , if an inc has not recently responded to a network poll message 390 ( fig3 j ), flag 470 may be changed to indicate that the inc is no longer active . if an inc responds to an identity request message 300 ( fig3 a ), the inc may be added to table 400 if it is not already present , and flag 470 may be set indicating that the inc is active . table 400 is merely illustrative . other columns may be included . other data structures may be used . if desired , this information may be stored in multiple data structures . fig5 shows flow chart 500 of an illustrative process for providing an mpn . all steps are optional and may be performed in any suitable order . in step 510 , multiple incs may be provided . this may include substep 514 of providing wireless communications with each inc . it may also include substep 512 of providing at least one primary function for each inc . the primary function may correspond to other function 130 - 139 ( fig1 a and 1b ). if desired , an inc may include multiple primary functions . alternatively , an inc may include a primary function , a secondary function , etc . in step 520 , incs may be changed dynamically . this may include substep 522 in which an inc may be removed . it may also include substep 524 in which a new inc may be added . in step 530 , the change may be detected automatically , for example using messages 300 through 390 of the communications protocol of fig3 a through 3j . the system may alternatively allow a user to enter information about the change in step 535 . for example , a user may add or remove an entry for an inc from a configuration screen on a personal computer . in step 540 , the functions of the mpn may be adjusted to compensate for the change . in substep 542 , this may include removing a function from the mpn that may have been provided ( or partly provided ) by the removed inc . in substep 544 , this may also include adding a function to the mpn that may be at least partly supported by the new inc . fig6 a shows illustrative mpn 600 showing how software may be downloaded to control incs . mpn 600 may interface with personal computer 610 to control downloading and configuration functions . personal computer 610 may include control application 620 , which may be configured to control downloading to an mpn and configuring various aspects of mpn functions . control application 620 may support plug - ins for different types of incs . for example , plug - in a 622 may support downloading code to support inc a 650 . plug - in a 622 may support loading driver a 626 , for example from local storage such as a compact disk or over the internet , as well as downloading driver a 626 . it may also support configuring inc a 650 , as well as downloading data to and uploading data from inc a 650 . personal computer 610 may include communications device 612 for communicating with one of the incs , such as a control unit 630 , using communication path 670 . control unit 630 may include communications device 632 for communicating with personal computer 610 . communications device 612 , communications device 632 , and communication path 670 may be , for example : a docking station and connector ; a universal serial bus ( usb ) port ; infrared transmitters and receivers ; serial ports ; ethernet connectors ; radio frequency ( rf ) transceivers ; or any other suitable communications means . if desired , communications may be performed wirelessly , and communications device 632 may be the same as wireless communications device 636 used to communicate between control unit 630 and other incs . one of the incs may be a control unit 630 . control unit 630 may include processor 634 and memory 638 , as well as communications device 632 for communicating with personal computer 610 , and wireless communications device 636 for communicating with other incs over wireless communication path 675 . memory 638 may hold control software 640 which may include firmware , operating system , boot software , communication software , and the like . memory 638 may also hold downloaded driver a 626 for controlling inc a 650 . mpn 600 may also include inc a 650 . this component may include wireless communications device 652 for communicating with control unit 630 and other incs over wireless communication path 675 . inc a 650 may also include device hardware and firmware 654 for performing one or more primary functions of the inc . in operation , a user may run control application 620 on personal computer 610 . the user may load and run plug - in a 622 to configure mpn 600 to function with inc 650 . the user may load driver a 626 and download it to control unit 630 . control unit 630 may subsequently use downloaded driver a 626 to control the functions of inc a 650 . the user may also use plug - in a 622 to configure aspects of inc a 650 , to download data to the inc , to upload data that may have been collected by the inc , or to perform other functions related to inc a 650 . in fig6 b , inc b 660 has been added to mpn , creating new mpn configuration 605 . inc b 660 may include wireless communications device 662 for communicating with control unit 630 and other incs over wireless communication path 675 . it may also include device hardware and firmware 664 for performing one or more primary functions associated with inc b 660 . plug - in b 624 may be loaded into control application 620 on personal computer 610 , for controlling aspects of inc b 660 . driver b 628 may be loaded into personal computer 610 and downloaded into control unit 630 for subsequently controlling inc b 660 . although fig6 a and 6b show drivers being downloaded into a control unit , software may alternatively be downloaded into any of the incs , for example , if control unit 630 is not present . fig7 shows illustrative screen 700 of mpn 600 ( fig6 a ) that may be displayed by control application 620 and plug - in a 622 on personal computer 610 . menu bar 710 may allow the user to access various application functions , such as file functions , security functions , device functions , system functions , help functions , and the like . item 720 may display information about the inc , such as the name of the manufacturer , the model number , capabilities , and other suitable information . item 730 may display the version number of the device plug - in currently loaded on personal computer 610 . button 735 may allow the user to download the selected driver to control unit 630 or other inc . button 737 may allow the user to load a more recent driver from the internet . region 740 may allow the user to set various configuration parameters associated with the inc . for example , region 742 may allow the user to enter text for a first parameter . selection 745 may allow the user to select from a set of options for a second parameter . this screen is purely illustrative and may be configured and designed in any suitable manner . fig8 shows flow chart 800 of an illustrative process to allow an unanticipated inc to be added to the mpn . for example , after a user has several incs of an mpn , a new inc with a new capability may be manufactured . the user does not need to discard any existing incs ; they can continue to be used just as they have been . the unanticipated inc can be added to the mpn and the capabilities of the mpn will be expanded to encompass the capabilities of the new inc . all steps are optional and may be performed in any suitable order . in step 810 , the unanticipated inc may be added to the mpn . the system may detect the inc using an identity request message 300 ( fig3 a ). in step 820 , a software application may be run , for example on a personal computer , which controls downloading software objects to incs . in step 830 , that application may be used to download the specific software object to control the unanticipated inc . in step 840 , software may be downloaded to control the unanticipated inc . the software may be downloaded , for example , to a control unit . alternatively , the software may be downloaded to the unanticipated inc itself . in substep 842 , multiple software objects may be downloaded , one of which may control the unanticipated inc . other software objects may be used to control other incs , or to perform other mpn functions . in step 850 , a software extension , such as a plug - in , may be provided to the software application . in step 860 , the user may be allowed to configure the new inc and the downloaded software object , using the software application and the software extension . flow chart 900 of fig9 shows an illustrative process for downloading data to control an inc . all steps are optional and may be performed in any suitable order . in step 910 , software may be downloaded . in step 912 , data may be downloaded . in step 914 , setup options may be downloaded . in step 916 , the current time may be downloaded . if desired , other suitable types of data may be downloaded as well . in step 920 , data may be downloaded over a network , such as the internet . for example , software or other data may be downloaded from an internet site into a personal computer . in step 922 , data may be downloaded from a computer , such as a personal computer . in step 924 , data may be downloaded from a base station . a base station may be a stationary device that communicates with one or more incs . the base station may be independent , or it may be connected to a personal computer . in step 930 , the data may be downloaded into the inc to be controlled . in step 932 , the data may be downloaded into a control unit . the control unit may be an inc configured with a processor and memory to control aspects of other incs in the mpn . the control unit may send information or commands to the inc in step 934 . in step 940 , the downloaded data may be used to modify one or more functions of the inc . software and other data may also be downloaded , for example into a control unit , to coordinate the functions of multiple incs . fig1 shows how two mpns 1000 and 1050 may interact . first mpn 1000 may include audio output inc 1010 , display inc 1012 , control unit 1014 , and accelerometer 1016 . second mpn 1050 may include display 1060 , heart rate sensor 1062 , and control unit 1064 . any of the incs of either mpn may send a message intended for one or more incs of the same mpn . the incs of the other mpn may need to ignore the message . for example , control unit 1014 may send data to display 1012 to be displayed . display 1060 will ignore the message , because it did not originate within second mpn 1050 . similarly , heart rate monitor 1062 may send heart rate data to control unit 1064 for processing . control unit 1014 will ignore the data , as it did not originate within first mpn 1000 . the configuration of these two mpns is merely illustrative , and all incs are optional . fig1 shows illustrative partial mpn 1100 , illustrating how an inc 1130 may be programmed with a common network identifier using a base station 1110 . base station 1110 may be a personal computer , a card installed in a personal computer , a docking station connected to a personal computer over a connection such as usb , a standalone device , or any other suitable configuration . base station 1110 may include memory 1120 , which may be random access memory , a hard disk , or other suitable memory . base station 1110 may also include communications device 1112 , which may be a wireless communications device similar to the communications device in each of the other incs , or may be any other wired or wireless connection . memory 1120 may be used to hold a common network identifier to be used within all incs of a single mpn . it may also be used to hold information about the various incs that have been configured using base station 1110 . inc 1130 may be a new inc , which has not yet been assigned a network identifier . alternatively , it may already have been assigned a network identifier , which may be stored in secure memory 1140 . secure memory 1140 may be memory that can only be read or written by inc 1130 , and cannot be accessed without a security code . a user of base station 1110 may indicate that inc 1130 is to be programmed with the base station &# 39 ; s network identifier . the user may make this indication by , for example , bringing inc 1130 into proximity of base station 1110 , making a physical connection between base station 1110 and inc 1130 , pressing a button on base station 1110 , making a menu selection on base station 1110 ( for example , if base station 1110 is a personal computer or is connected to a personal computer ), or by taking other suitable actions . the user may also be required to enter a personal code , or to invoke other security measures to ensure his or her proper identity . base station 1110 may then send a message to inc 1130 with the new common network identifier and the proper security code . if inc 1130 is a new inc , it may store the security code and the network identifier in secure memory 1140 . if it has previously been programmed with a network identifier , it may compare its stored security code with the security code it just received , and if they match may store the new network identifier . if desired , inc 1130 may also incorporate an algorithm to prevent a large number of consecutive attempts at changing the network identifier . for example , if inc 1130 receives more than three unsuccessful attempts to change the network identifier within a ten - minute period , it may lock out any further attempts for the next thirty minutes . using this configuration a user may assign any new inc into his or her mpn . a user may also move an inc from one mpn to another , but only with the authorization of the original owner of the inc . fig1 shows illustrative screen 1200 that may be shown by base station 1110 ( fig1 ) or personal computer to allow an inc 1130 to be personalized with the user &# 39 ; s network identifier . the user may be allowed to enter a security code in screen region 1210 . when the security code has been verified , and the security code and network identifier have been successfully sent to the inc 1130 , the system may display overlay 1220 . fig1 shows illustrative screen 1300 that may be shown by base station 1110 ( fig1 ) or personal computer to allow inc 1130 to be programmed with a different network identifier when it already has a network identifier stored in secure memory 1140 . the user may be prompted for a security code in screen region 1310 , as well as the old security code used to program inc 1130 with the previous network identifier in region 1320 . when the security codes have been verified , and the security code and network identifier have been successfully sent to the inc 1130 , the system may display overlay 1330 . these screens are purely illustrative and may be configured and designed in any suitable manner . fig1 shows flow chart 1400 of an illustrative process to use a common network identifier among incs in an mpn . all steps are optional and may be performed in any suitable order . in step 1410 , each inc may be programmed with a common network identifier . this may be done with a base station , personal computer , or other device . the programming may use appropriate security to ensure that an unauthorized user cannot reprogram the network identifier in any inc . in step 1420 , any messages sent from a first inc in the mpn to a second inc in the same mpn may contain the network identifier stored within the first inc . the second inc , on receiving the message , may compare the network identifier within the message to the network identifier stored in the secure memory in the second inc . if the two identifiers are different , the message may be ignored . if the two identifiers are the same , the second inc may assume that the message originated from an inc within the same mpn , and may process the message if appropriate . in step 1430 , an inc may be moved from one mpn to another . this may involve changing the network identifier stored in the inc to a new value . to do this may require explicit authorization from a user , in substep 1432 . it may also require the entry of a password or code or another security measure to ensure that the user is authorized to make the change , in substep 1434 . fig1 shows extended mpn 1500 . this block diagram shows how an mpn may interface with other systems . mpn 1500 may include control unit 1510 . the use of control unit 1510 is merely illustrative . any other suitable inc may be used . control unit 1510 may include wireless communications device 1512 for communicating over wireless communications paths 1546 and 1547 with other incs within the mpn . control unit 1510 may also include one or more other functions 1514 , which may include a processor and memory for controlling other incs in the mpn . mpn 1500 may also include incs 1520 and 1530 . these incs may include wireless communications devices 1522 and 1532 , respectively . each may include one or more other functions 1524 and 1534 , respectively . control unit 1510 , and other incs , may communicate over communication path 1545 with base station 1540 . as shown , communications path 1545 may be a wireless communications path . alternatively , base station 1540 may communication with one or more incs using any suitable wired path . base station 1540 may include communications device 1542 for communicating with control unit 1510 and other incs , and a second communications device 1544 for communicating over communication path 1555 with personal computer 1550 . if desired , communications device 1542 and communications device 1544 may be the same device . communications device 1544 may communicate with communications device 1556 on personal computer 1550 using any suitable physical and logical protocol . this may include a serial port , usb , infrared , radio frequency , a docking station , or other means . in addition to communications device 1556 , personal computer 1550 may have display 1552 , keyboard 1553 , mouse , printer 1554 , and modem 1551 . modem 1551 may be any suitable type of connection to a wide area network , and may include a telephone modem , a digital subscriber line modem , a cable modem , an ethernet hub , and ethernet router , or other suitable equipment . personal computer 1550 may connect using path 1565 to wide area communications network 1560 , which may be the internet . personal computer 1550 may be configured to send or receive information from another computer using wide area network 1560 . fig1 shows flow chart 1600 of an illustrative process for uploading information from an inc . all steps are optional and may be performed in any suitable order . in step 1610 , information may be reported by an inc . that information may have been collected by the inc , for example using a sensor within the inc . alternatively , the information may have been generated by the inc . in step 1615 , the information may be received by a control unit , which may be another inc within the same mpn . the information may be sent from the control unit , or any other suitable inc , to a base station in step 1620 , and to a personal computer in step 1622 . if desired , any of the control unit , base station , and personal computer may be omitted , or their functions may be combined in any suitable manner . if desired , the collected information may be sent over a communications network , such as the internet , in step 1624 , and received by another computer . in step 1630 , the information may be stored , for example by the base station , the personal computer , or by another computer accessed over the communications network . the information may be displayed for a user . the information may be analyzed , in step 1632 . in step 1640 , the uploaded information may be used , at least in part , to create information to download . this derived information may be downloaded to the same inc that originated the uploaded data , to the control unit , or to another inc in the mpn . refer to the description of fig9 above for steps related to downloading of data . fig1 shows a more detailed block diagram 1700 of a portion of mpn 1500 of fig1 . base station 1540 , control unit 1510 , and inc 1520 are shown . it can be seen that control unit 1510 includes processor 1742 and memory 1744 . inc 1720 , which is an audio output inc , is also shown . audio output inc 1720 includes wireless communications device 1722 for communicating over wireless communication path 1730 with control unit 1510 and other incs . audio output inc 1720 also includes digital - to - analog converter 1724 , for converting digital audio data to an analog audio signal , and speaker 1726 for playing the analog audio signal audibly . the incs shown are merely illustrative . fig1 shows flow chart 1800 of illustrative process for using an inc that is a control unit in an mpn . all steps are optional and may be performed in any suitable order . in step 1810 , the control unit may be configured to be worn . it may be attached , for example , to a waistband , a wristband , an armband , or other worn in another suitable location . if desired , the control unit may alternatively be carried , mounted on personal equipment , or otherwise associated with the user . information may be downloaded to the control unit , for example from a base station or personal computer . in step 1820 , software may be downloaded to the control unit . in step 1822 , data may be downloaded to the control unit . in step 1824 , configuration parameters may be downloaded to the control unit . in step 1826 , the date and / or time may be downloaded to the control unit . in step 1830 , data may be sent from the control unit to another inc within the mpn . for example , any of the data sent to the control unit in steps 1820 , 1822 , 1824 , or 1826 may be sent to another inc . the control unit may also send information to another inc that is derived from downloaded data , from data collected from other incs , or other suitable data . in step 1832 , the control unit may control a function of another inc . the control unit may accomplish this by sending one or more messages to the other inc , and possibly by receiving messages in response . the control may be based on downloaded software , downloaded data , downloaded parameters , time , or any derived data . in step 1834 , the control unit may collect data from another inc . the control unit may request the data by sending a message to the other inc . alternatively , the other inc may send the data unsolicited . the data may be a single item , or it may consist of several samples collected over a period of time . the control unit may process the data , combine data samples , combine data from multiple incs , or otherwise modify the collected data . in step 1850 , data may be uploaded from the control unit , for example to a base station or personal computer . this may included collected data , derived data , or data generated by the control unit . in step 1860 , functions of the control unit may be integrated with other functions . for example , the control unit may also have a display or a user input device . the control unit may also include clock functions , in step 1840 , and it may track time to coordinate functions of the mpn , to schedule actions , and to tag collected data . the control unit may treat the other integrated functions as though they were in another inc , without the need to send and receive wireless messages to communicate with them . in step 1870 , the control unit may support multiple other incs with multiple functions . some may be input incs , some may be output incs , and some may be a combination . some incs may be wholly contained without external input or output , such as a storage inc or a data processing inc . the control unit may maintain a table of active incs , and communicate with the other incs as required . the control unit may automatically detect when an inc is added to the mpn or removed from the mpn . when an inc is added to the mpn , the control unit may ignore it until it receives downloaded software or data related to the new inc . alternatively , it may automatically make use of the capabilities of the new inc . when a inc is removed from the mpn , the control unit may wait for a period of time to make sure that communications with the inc were not temporarily lost . the control unit may continue functioning with reduced functions . in addition or alternatively it may generate an alert to the user . if desired , an mpn need not include a control unit . some or all of the functions of a control unit may be incorporated into one or more of the other incs . if desired , each inc may provide its own control . if desired , software , data , configuration settings , and other information may be downloaded directly into some or all of the incs by a base station or personal computer prior to mobile use . fig1 shows flow chart 1900 of an illustrative process for providing personal incs in an mpn . all steps are optional and may be performed in any suitable order . in step 1910 , the user may wear an inc . for example , in substep 1912 , the user may wear an inc on a hand , wrist , arm , leg , foot , waist , head , or other suitable part of the body . the inc may be worn on an article of clothing in substep 1914 , such as a glove , a partial glove , a wristband , an armband , a hat , a headband , a shirt , a waistband , a shoe , or other suitable item of clothing . in step 1920 , the inc may be mounted on personal equipment that may be used by the user . for example , in substep 1922 , the inc may be mounted on a bicycle , a car , a piece of exercise equipment , or other suitable personal equipment . the inc may provide an input or output function associated with the personal equipment . in step 1930 , the mpn may also include a relatively stationary inc , such as a base station or personal computer . the base station or personal computer may function as part of the mpn while the user is in proximity to the device . the communications connection with the stationary device may be the same wireless network used to communicate between the incs , or it may be another type of connection . the other type of communication may be a docking station or other fixed method , usb or other wired method , or infrared or other wireless method . the stationary device may only support communications with one of the mobile incs , such as a control unit , or it may support communications with several or substantially all of the incs . fig2 a through 20c show several illustrative methods for mounting incs . for example , fig2 a shows some options for allowing a user 2005 to wear incs . inc 2012 , which may be an audio output inc , may be mounted on headband 2010 . inc 2022 , which may be a display , may be mounted on wristband 2020 . inc 2032 , which may be a user control , may be mounted on glove 2030 . inc 2042 , which may be a control unit , may be mounted on waistband 2040 . inc 2052 , which may be an accelerometer , may be mounted on shoe 2050 . these incs and options for wearing are merely illustrative . other options may be used if desired . the user 2005 may decide what functions will be provided simply by choosing to wear a specific set of incs at any given time . fig2 b shows some options for mounting incs on a piece of exercise equipment 2070 . for example , inc 2074 may be an input sensor to read data associated with the exercise equipment , or may be an output inc to control aspects of the exercise equipment . inc 2072 may be a display inc , or may be configured to communicate with a processor embedded within the exercise equipment . these incs may function as part of the mpn when the user is on or near the device . fig2 c shows options for mounting incs on a bicycle 2060 . for example , inc 2062 may be a display inc . inc 2064 may be a sensor for measuring pedaling cadence . inc 2066 may be a sensor for measuring wheel speed . these incs may function as part of the mpn when the user is on or near the bicycle . the options shown in fig2 a through 20c are merely illustrative . other types of incs , other types of mounting , and other types of personal equipment may be supported if desired . fig2 shows flow chart 2100 of an illustrative process for using an inc mounted on a piece of exercise equipment . all steps are optional and may be performed in any suitable order . in step 2110 , the inc may be mounted on a piece of exercise equipment . in substep 2112 , the inc may be mounted on a bicycle . the inc may function as part of the user &# 39 ; s mpn when the user is near or on the exercise equipment . in step 2120 , control commands may be sent to the inc mounted on the exercise equipment . the inc may control the function of the exercise equipment directly , or it may send a command to the exercise equipment , for example using a serial port or radio frequency transmitter . as shown in substep 2122 , the command may be to control the difficulty of the exercise , such as by changing a resistance setting , a speed setting , a slope setting , or the like . the control command may also be to a display inc or other user output inc mounted on the exercise equipment . in step 2130 , data may be collected from the inc . the inc may measure the collected data directly , or it may retrieve the data from the exercise equipment , for example using a serial port or radio frequency receiver . the data may be , for example , pedal speed of a bicycle in substep 2132 or wheel speed of a bicycle in substep 2134 . in substep 2136 , other performance information may be collected from the exercise equipment , such as speed , power , or heart rate . the data may be collected , for example , using a sensor attached to the exercise equipment or bicycle , or by communicating with a processor embedded in the exercise equipment . the collected data may be stored , it may be displayed , and it may be used to modify a workout . if desired , the collected data may be uploaded to a base station or personal computer , where it may be stored , displayed , or analyzed . an inc may function as a display inc . a display inc may be worn or carried by the user or mounted on a piece of personal equipment . a display inc may be combined with other functions , such as user controls , audio output , or a control unit , or the inc may function solely as a display inc . a single display inc may be used to display different types of information at different times , depending on the other incs in the mpn . the display inc may not need to be changed to provide new types of information display . rather this may be accomplished by adding a new inc with a new function , downloading new software into the display inc or a control unit , or otherwise modifying other parts of the mpn . in addition , the user may switch to a different style of display inc without changing any other part of the mpn , and maintain all preexisting mpn settings and functions . the display inc may include a wireless communications device for communicating with other incs in the mpn . for example , the display inc may receive display commands and data from one of the other incs , such as a control unit . the display inc may incorporate any appropriate display technology , such as liquid crystal displays ( lcds ), light emitting diodes ( leds ), etc . it may also include means for mounting the inc to the user &# 39 ; s body . if desired , a display inc may accept different types of input for display , such as text , bit - map or other graphics , video data , instructions to turn on or off specific visual indicators , instructions to turn on or off various display modes , or other suitable display items and instructions . in a mounting similar to a wristwatch , a display inc 2215 may be mounted on the back of a wrist 2210 , using wristband 2220 , as shown in fig2 a . fig2 b shows a variation , in which display inc 2235 is mounted on the side of wrist 2230 , using wristband 2240 . in another variation shown in fig2 c , display inc 2255 may be mounted on the back of hand 2250 using partial glove 2260 . in these examples , the display incs are shown to display time . however , any suitable information appropriate to the functions provided by the incs of the mpn may be shown on the display inc . fig2 a through 23f show how a display inc may be worn on the side of a hand , and may be configured with various orientations . for example , in fig2 a through 23c , the display inc may be configured to be oriented toward the back of the hand , toward the fingertips , or at an angle between them , respectively . in these figs ., the display is shown on the left hand . alternatively , the display may be configured to be worn on the right hand , as shown in fig2 d through 23f . different users with different needs may desire displays worn on opposite hands , in different positions on the hand or wrist , and at different orientations . some , for example , may wish to wear the display in the traditional wristwatch position and orientation on the back of the wrist . others , for example athletes , may desire a display that can be quickly viewed on the side of the hand without having to twist the arm . the preferred orientation may depend on the user &# 39 ; s activity . a display may be provided in which the user may configure the position and / or orientation . for example , a user may wish to switch the display between the left wrist / hand and the right wrist / hand . a user may also be allowed to change the orientation of the display . for example , if the display is implemented using a dot - matrix liquid crystal display ( lcd ), the software within the mpn may support multiple orientations . a display may also be provided with multiple mounts — e . g ., wristbands , partial gloves , and the like . fig2 a shows flow chart 2400 of an illustrative process for providing a display as an inc in an mpn . all steps are optional and may be performed in any suitable order . in step 2410 , a display may be provided as an inc . the inc may include a wireless communications device for communicating with other incs in the mpn . if desired , the display may be combined with one or more other functions into a single inc , sharing a single wireless communications device . in step 2415 , the display inc may be configured to be worn , for example on a wristband , partial glove , or the like . in step 2420 , the display inc may be configured to be mounted on an item of personal equipment . that may include , for example , a car in substep 2424 , a bicycle in substep 2422 , or a piece of exercise equipment in substep 2426 . in step 2430 , the user may be allowed to change the mounting of the display inc . for example , multiple mounts may be provided so that the display inc may be moved from one part of the body to another , or from the wrist to a piece of exercise equipment . fig2 b shows a flow chart with illustrative expanded detailed of step 2415 , in which the display inc may be worn by the user . all steps are optional and may be performed in any suitable order . in step 2460 , the display may be configured to be worn on a hand or wrist . for example , a wristband or partial glove may be provided . if desired , the display may be worn on other parts of the body instead of the hand or wrist . in step 2465 , the display may be configured to be worn on the side of the hand or wrist , allowing the display to be viewed more easily , for example by an athlete . in step 2470 , the display and mount may be configured to allow the display to be worn on either the left or right hand or wrist . in step 2480 , the display may be oriented in a direction desirable to the user . for example , in substep 2482 , the display may be oriented toward the fingertips . in substep 2484 , the display may be oriented toward the back of the hand or wrist . in substep 2486 , the display may be oriented at an angle between those two options . in step 2490 , the orientation of the display may be configurable by a user , allowing the user to select from one or more orientation options . fig2 shows illustrative flow chart 2500 of an illustrative process for providing a reusable wearable mount that may be used with various incs , such as a display inc . this method may allow the user to use different mounts or displays to match clothing , to use displays with different functions , and to quickly and easily change the position and orientation of the display . all steps are optional and may be performed in any suitable order . in step 2510 , a reusable mount may be provided that may be worn on the user &# 39 ; s body . in step 2515 , the mount may be provided as part of an article of clothing , such as a glove , partial glove , wristband , waistband , shirt , or any other suitable article of clothing . in step 2520 , the mount may use a hook and loop type of fastener . if desired , any other suitable type of fastener may be used on the article of clothing . in step 2525 , the mount may be made directly to the user &# 39 ; s skin . for example , a non - toxic adhesive may be used on the back of the inc to be mounted . in step 2530 , a plurality of mounts may be provided . for example , in substep 2532 , mounts may be manufactured in different styles or colors . in substep 2534 , mounts may be manufactured to be worn on different parts of the body . a user may choose one of the mounts based on style , whim , convenience , function , or for any other reason . in step 2540 , the mount may be used with an inc . the user may temporarily attach the inc to the mount . if desired , the mount may also be configured to allow devices that are not incs to be attached . in step 2545 , the inc attached to the mount may be a display inc . the display inc may be used to display current time and other information that may be provided by the mpn . in step 2550 , the user may be allowed to reposition the inc on the mount . for example , the user may be allowed to change the placement and orientation of a display inc to make it more convenient to read the displayed information . in step 2560 , the user may be allowed to mount various incs onto a single mount . the incs may be manufactured with different shapes , materials , colors , styles , functions , or otherwise may be of different value to a user at different times . fig2 a through 26c show various examples of reconfigurable wearable mounts that may be provided . fig2 a shows a wristband with a buckle . fig2 b shows a partial glove . fig2 c shows a stretchable band that may be looped around the hand and over the thumb . each of these mounts may be manufactured with an area of hook and loop fasteners , where the mount includes , for example , the hook portion , and the loop portion is on the back of the inc to be mounted . fig2 a through 27d show various display incs that may be used with the mounts of fig2 a through 26c . these displays may have different shapes , different materials , different functions ( for example showing either time or heart rate ), or may otherwise differ . each of the incs may provide the means to fasten to the mount , for example the loop portion of a hook and loop fastener . an inc may function as an audio output inc . an audio output inc may be worn or carried by the user or mounted on a piece of personal equipment . the audio output inc may be combined with other functions , such as user controls , display , or a control unit , or the inc may function solely as an audio output inc . a single audio output inc may be used to output different types of information at different times , depending on the other incs in the mpn . the audio output inc may not need to be changed to provide new types of information output . rather this may be accomplished by adding a new inc with a new function , downloading new software into the audio output inc or a control unit , or otherwise modifying other parts of the mpn . in addition , the user may switch to a different style of audio output inc without changing any other part of the mpn , and maintain all preexisting mpn functions . the audio output inc may include a wireless communications device for communicating with other incs in the mpn . for example , the audio output inc may receive digital audio data from one of the other incs , such as a control unit . the audio output inc may include a digital - to - analog converter ( dac ) for converting the digital audio data to an analog audio signal . alternatively , the audio output inc may receive an analog audio signal from another inc . it may include one or more amplifiers and one or more speakers . it may also include means for mounting the inc to the user &# 39 ; s body . if desired , the audio output inc may also include more advanced audio processing capabilities , including speech synthesis , recognition of various audio file formats , decryption of secure data formats , the ability to generate any of a predefined set of tones or audio segments , or other suitable circuits and algorithms . fig2 a through 28d show various types of audio output inc that may be used with an mpn . fig2 a shows an audio output inc configured as a pair of headphones 2810 . it may include two speakers 2812 and 2814 . a wireless communications device , dac , and amplifiers may also be included . the headphones may also be configured as two separate incs , which may each communicate wirelessly with control unit and other incs . each inc may have its own dac , amplifier , and speaker . headphones may be provided with connecting bar , or they may be configured as small modules to be inserted inside the ear and worn independently . fig2 b shows audio output inc 2822 that may be configured to be worn with a headband 2820 . the audio output inc may be worn near the ear so that minimal power is needed to drive its speaker . sound from the speaker may be provided via conduction through the skull . fig2 c shows two independent audio output incs 2832 and 2834 , which may be worn with a headband 2830 , to provide stereo sound . in fig2 d , audio output inc 2844 may be configured to be worn with hat 2840 . if desired , hat 2840 may be configured to function with two audio output incs ( not shown ). the audio output inc of fig2 b through 28d may be configured to fit into the ear , or to lie flat across the skin near the ear . the headband or hat may be designed to hold the audio output inc or incs in place in the ear , or to hold the audio output inc in place against the skin where sound may be conducted through the skull . if desired , the headband or hat and the audio output inc may be jointly designed so that the audio output inc may be repositioned to best meet the user &# 39 ; s needs , and so that alternate designs of audio output incs may be used with the same mount . fig2 shows flow chart 2900 of an illustrative process for providing an audio output inc in an mpn . all steps are optional and may be performed in any suitable order . in step 2910 an audio output inc may be provided . audio output inc may include a wireless communications device for receiving audio data and other audio commands from one or more other incs in the mpn . it may include dac , one or more amplifiers , and one or more speakers . it may also include speech synthesis circuitry , tone generation circuitry , digital audio file processing capability , decryption circuitry , a library of audio segments , or other suitable subsystems . in step 2920 , the audio output inc may be configured to be worn . for example , in substep 2922 , it may be configured as a headset . in substep 2924 , it may be configured as one or more independent earphones , for example to be inserted inside an ear . in substep 2926 , it may be configured to be worn with a hat . in substep 2928 , it may be configured to be worn with a headband . in step 2930 , the audio output inc may include one or more speakers . for example , it may be configured to provide stereo sound . alternatively , multiple audio output incs may be included as separate incs in a single mpn , and may be controlled independently . in step 2932 , audio output inc may provide music . music may be provided in stereo . in step 2934 , synthesized voice may be provided . the synthesized voice may be provided to the audio output inc as digital or analog audio . alternatively , the voice may be provided to the inc in another form , such as text or phonemes , and the audio output inc may create the synthesized voice . in step 2936 , tones may be output . the tones may be provided to the audio output inc as digital or analog audio . alternatively , the tones may be provided to the inc in another form , such as waveform descriptions or indexes into a table of predefined audio segments , and the audio output inc may create the tones . in step 2940 , the audio output inc may be used by the mpn to provide audio cues to the user . the audio cues may be for any purpose appropriate to the functions provided by the mpn and its other incs . for example , cues may be provided to an athlete with performance information 2941 , workout zone information 2942 , workout prompt 2943 , or change intensity prompt 2944 . route prompt 2945 or direction alert 2947 may be provided by an mpn that provides route guidance . medical alert 2946 may be provided by an mpn that monitors medical conditions . communication alert ( e . g ., notification of an incoming telephone call or message ) 2948 and voice communication 2949 may be provided by an mpn that provides communication services . in step 2950 , sound may be used to indicate different conditions or different audio cues . for example , in substep 2952 , different sounds ( e . g ., different tones ) may be used to indicate different conditions . in substep 2954 , different sound sequences may be used to indicate different conditions . in substep 2956 , sound may be sent to different speakers or audio output incs to indicate different conditions . in step 2960 , the audio output inc may be used for multiple purposes simultaneously . for example , in a system that provides both music and audible athletic workout feedback , both may be sent to the same audio output inc or incs . when an audio cue , such as workout feedback , is output , the music may be muted in substep 2962 or the volume of the music may be lowered in substep 2964 . alternatively , the music may be paused in substep 2966 while the audio cue is presented . the volume changing or pausing of the music may be controlled , for example , by a control unit . for example , the control unit may send both music and audio cues to the audio output inc , and may send commands to the audio output inc to control the volume of both . to pause the music , which may be stored in digital form in memory in the control unit , the control unit may temporarily stop reading music data from its memory while the audio cue is presented , and then resume reading the music data from where it was left off . if desired , the pausing , muting , or volume reduction of the music itself may constitute the audio cue , with no additional sound generated . for example , the system may pause the music once for two seconds as one type of cue , and pause the music three times for one half second each time as a second type of cue . in step 2970 , an audio output inc may be provided separately from a display inc . this may be an advantage over many existing systems in which these two functions are combined into a single unit worn on the wrist . in these prior art devices , either the sound volume is so loud that it disturbs other nearby people , or it is too soft to be heard by the user at all times . in this invention , the audio output inc can be provided close to the ear , and the volume can be kept low while still allowing the user to hear the audio even in poor environmental conditions . if desired , the mpn may include the ability for a user to control the volume of audio output . the system may also allow a user to independently control the volume of different types of audio output . for example , the volume of the music may be controlled separately from the volume of the audio cues , and both of those may be controlled separately from the volume of voice communications . in substep 2975 , cues may be sent to either the audio output inc as audio cues , or to the display inc as visual cues , or both . the user may be allowed to configure where different types of cues are sent . an inc may function as a user input inc . a user input inc may be worn or carried by the user or mounted on a piece of personal equipment . the user input inc may be combined with other functions , such as a display or control unit , or the inc may function solely as a user input inc . a single user input inc may be used to input different types of information at different times , depending on the other incs in the mpn . the user input inc may not need to be changed to provide new types of information input . rather this may be accomplished by adding a new inc with a new function , downloading new software into the user input inc or a control unit , or otherwise modifying other parts of the mpn . in addition , the user may switch to a different style of user input inc without changing any other part of the mpn , and maintain all preexisting mpn functions . an mpn may include multiple user input incs , which may be of similar types or of different types . the user input inc may include a wireless communications device for communicating with other incs in the mpn . for example , the user input inc may send digital commands or data to one of the other incs , such as a control unit . the user input inc may include an analog - to - digital converter ( adc ) for converting analog inputs to digital data . it may also include means for mounting the inc to the user &# 39 ; s body . if desired , the user input inc may also include more advanced input processing capabilities , including voice recognition , tensile , audible , or visual feedback of input commands , anticipation of likely commands , grouping and combining of similar inputs , or other suitable circuits and algorithms . fig3 shows flow chart 3000 of an illustrative process for providing a user input inc in an mpn . all steps are optional and may be performed in any suitable order . in step 3010 , a user input inc may be provided . in step 3020 , the user input inc may be separate from other incs , such as a display inc or a control unit . this may be an advantage to some users . for example , in many prior art systems the user controls are mounted on a display device worn on the wrist . controls may be small and close together , and may require the user to look at the display device to operate it . this requires to user to twist the arm , to look and find the controls , and to reach one hand over to the other . these actions may not be convenient for all users at all times . for example , an athlete may need to operate a system using the minimum possible motions , and without having to change the direction he or she is looking . if desired , user controls may be combined with any other inc . in step 3020 , any suitable type of user input inc may be used . preferably , the inc is one that may be used in a mobile environment . for example , a computer keyboard and mouse may not be appropriate except as attached to a personal computer or base station that may be used at times with the mpn . appropriate types of input inc may include a pressure sensor or button 3021 , multiple pressure sensors or buttons 3022 , a touch pad 3023 , a stylus 3024 used for example with a touch pad , a portable keyboard 3025 , and a microphone 3026 . microphone 3026 may be used to capture audio data , or it may include speech recognition circuitry . if desired , an mpn may include multiple user input incs . for example , one system may include several buttons , a microphone with speech recognition , and a touch pad with a stylus . in step 3030 , the user input inc may be configured to be worn or carried . for example , a pressure sensor may be attached to a fingertip 3032 , hand 3031 , foot 3035 , or waist 3034 . a touch pad or microphone may be worn at the waist 3034 . a microphone may be worn on the wrist 3033 or other part of the arm , or may be configured as part of a headset . if desired , the user input inc may be designed to be mounted on an item of clothing in step 3040 , such as glove 3041 , partial glove 3042 , wristband 3043 , waistband 3044 , or footband 3045 , shoe , or sock . the user input inc may also be mounted on an item of personal equipment in step 3050 , such as on a car 3051 , bicycle 3052 , or exercise equipment 3053 . in step 3060 , if user input inc includes one or more pressure sensors or buttons , it may be operated by tapping . for example , the user may mount a pressure sensor on one or more fingertips , and they may be operated by tapping the fingertip against the palm of the hand , the thumb , other part of the body , or another surface . the user may mount a pressure sensor on the palm of the hand and operate it by tapping it with a fingertip , with the other hand , hitting another part of the body , or striking another surface . the user may mount a pressure sensor on a waistband and operate it by tapping it . the user may mount a pressure sensor on the foot and operate it by tapping an object with the toe or by pushing off the wall while swimming laps in a swimming pool . in substep 3062 , the user may tap different sensors for different commands . for example , an athlete may tap with the sensor on one finger to start and stop a stopwatch function , and tap with the sensor on a different finger to capture a single lap split time . in substep 3064 , the user may tap different sequences to indicate different commands . for example , the user may tap once , twice in quick succession , or other suitable sequences . in substep 3066 , the user may tap a specific combination of sensors simultaneously to input a specific command . fig3 a through 31c show several illustrative methods for mounting a user input inc . in fig3 a , pressure sensors 3110 , 3111 , 3112 , 3113 , 3114 , and 3120 are mounted on a user &# 39 ; s hand 3100 . if desired , they may also be mounted on a glove or partial glove worn by the user . in this configuration , any single sensor may be operated independently . in addition , combinations of sensors may be operated simultaneously . for example , a user may tap the thumb with the forefinger and simultaneously operate both sensor 3110 and sensor 3111 . the user may also simultaneously strike a surface with one , two , or more sensors to provide various input commands . fig3 b shows pressure sensor 3134 mounted to a user &# 39 ; s foot 3130 using footband 3132 . this configuration may be useful to a swimmer , who may tap the wall of a swimming pool to count laps , and may tap the bottom of the pool to indicate other commands . fig3 c shows user 3140 who has mounted two input incs 3144 and 3146 on waistband 3142 . these input incs may be pressure sensors and may be operated by tapping . alternatively , these incs may include a microphone , portable keyboard , touchpad and stylus , or other input inc carried on the waist and retrieved for use . any suitable combination of input incs and mounts may be used . an mpn may be used for many purposes . a single mpn may be used for a single purpose , or it may be used for multiple purposes . the uses of the mpn may change over time , as the user adds and removes incs , downloads or removes software , changes configuration parameters , or just changes how he or she interacts with the system . a single inc may have a single purpose , or it may be used for multiple purposes . some types of incs , such as control units incs , display incs , audio output incs , and user input incs , may be general purpose . fig3 shows a flow chart of an illustrative process for using an mpn for multiple purposes . all steps are optional and may be performed in any suitable order . in step 3205 , the mpn may be used to provide a time - related function . in step 3208 , the mpn may be used to provide a guidance function . in step 3210 , the mpn may be used to provide an athletic function . in step 3215 , the mpn may be used to provide a medical function . in step 3220 , the mpn may be used to provide an entertainment function . in step 3225 , the mpn may be used to provide an outdoor - related function . in step 3230 , the mpn may be used to provide a communications function . in step 3235 , the mpn may be used to provide a personal organization function . in step 3240 , the mpn may be used to provide an identification function . in step 3245 , the mpn may be used to provide a personal security function . in step 3250 , the mpn may be used to provide a military function . in step 3255 , the mpn may be used to provide a physical therapy function . in step 3260 , the mpn may be used to provide a disability - related function . in step 3265 , the mpn may be used to provide a travel - related function . in step 3270 , the mpn may be used to provide multiple functions . this may include substep 3272 of providing multiple functions with a single mpn configuration . it may also include substep 3274 of providing multiple functions with multiple mpn configurations . the functions shown in fig3 are merely illustrative . other functions may be provided if desired . step 3205 , providing time - related functions , is shown in more detail in fig3 . all steps are optional and may be performed in any suitable order . in step 3310 , a clock may be provided as part of an mpn . this may include substep 3312 in which the clock is provided as part of another inc , such as a control unit or display inc . in step 3320 , the current date and time may be downloaded into the inc . this may include substep 3322 in which the current time is downloaded over the wireless network , for example from a personal computer . alternatively , it may include substep 3324 in which the inc include a radio receiver to acquire the current time from station wwv time of day radio broadcast . in step 3330 , the inc may provide a clock function . this may include displaying the current day and time on a display inc . the inc may include a time zone function in step 3331 . this may include displaying the current time in multiple time zones , or converting a time from one time zone to another . in step 3332 , the inc may provide a stopwatch function . this may include allowing the user to time individual events . it may include step 3334 of providing a split timer function , in which the user is allowed to time individual portions of an event . it may also include step 3335 in which the user is allowed to time multiple events . in step 3333 , the system may provide an interval timer function , allowing the user to mark one or more recurring intervals of specific durations . in step 3340 , the system may store collected time information . this may include collected stopwatch , split , and event times . this collected data may be tagged with the date and time on which it was stored . the user may also be allowed to input descriptive data related to the collected time data . the stored data may also include time zone settings , intervals settings , or other settings . in step 3342 , the collected time information may be uploaded , for example to a base station or personal computer . in step 3350 , the clock functions may be used to synchronize other mpn functions . for example , a control unit may collect data from a particular inc on a regular interval , or update a display once per second . the control unit may be allowed to read the current time from the clock . the clock may also be configured to provide an unsolicited interrupt to the control unit or other inc at a regular interval . in step 3352 , data collected from other incs may be tagged with the current time retrieved from the clock . fig3 shows a block diagram of an illustrative mpn 3400 with a clock function . in this system , the clock 3420 is embedded in the control unit 3410 . clock information is sent to a separate display inc 3430 , which may output the information on display 3440 . user commands , such as changing clock mode and starting and stopping the stopwatch , are provided by buttons 3460 on a separate input inc 3450 . the input inc 3450 may be worn on the hand , the control unit / clock 3410 may be worn on the waist , and the display inc 3440 may be worn on the wrist . fig3 shows an illustrative screen 3500 that may be shown on display 3440 ( fig3 ). mode list 3520 may list the available clock modes . in this case , the system may support a time mode , a zone mode ( e . g ., time zone ), a stopwatch mode , an interval timer mode , and an event timer mode . indicator 3530 may show the currently active mode , in this case the time mode . the user may change to a different mode by pressing one of buttons 3460 ( fig3 ). the current time 3510 may be displayed while in time mode . more details of step 3230 ( fig3 ), providing a communication function in an mpn , are shown in fig3 . all steps are optional and may be performed in any suitable order . in step 3610 , communication may be provided with another mpn . this may be accomplished if one of the incs in the mpn includes a communications device capable of communicating with an inc of another mpn . the wireless communications device used for communicating among the incs within an mpn may also be used for communicating with another mpn , if the user of that mpn is in close proximity . the system may be configured to accept messages with the specific network identifier associated with the other mpn , while the communications are in progress . in step 3620 , wireless telephone communications may be provided , if one of the incs includes a wireless telephone . the audio output inc for the mpn may output the incoming audio from a telephone call , and a microphone used as a user input inc for the mpn may be used to provide the outgoing audio for the telephone call . this allows the telephone inc itself to be smaller and less costly , since it does not require a built - in speaker or microphone . in step 3625 , paging services may be provided . for example , one of the incs may include a paging receiver . text pages may be shown on the display inc . audio alerts and voice pages may be sent to the audio output inc . two - way paging may be provided if desired . an instant messaging function may be provided in step 3630 , with one inc receiving text messages for display on the display inc , and another inc allowing text messages to be composed and sent to another person elsewhere . electronic mail messages may also be composed and received in a similar manner in step 3635 . different types of communication may be provided as appropriate . for example , voice communications may be provided in step 3640 . text communication may be provided in step 3642 . video communication may be provided in step 3644 . other formats of communication may also be supported if desired . in step 3650 , data may be transmitted by a communications device in one of the incs in the mpn . this may include substep 3652 transmitting image data , substep 3654 transmitting audio data , substep 3656 transmitting video data , and substep 3658 transmitting text data . the data to be transmitted may be provided by the user with a user input inc , may be stored in memory within the mpn , and may be transmitted among incs in the mpn prior to sending . in step 3660 , data may be received by a communications device in one of the incs in the mpn . this may include substep 3662 receiving image data , substep 3664 receiving audio data , substep 3666 receiving video data , and substep 3668 receiving text data . the data received may be transmitted among incs in the mpn and stored in memory within the mpn , prior to its being provided to the user on one or more of the incs , such as a display inc or audio output inc . if desired , a communications alert may be provided to the user on the display or audio output inc to let the user know that a message has been received . if desired , input and output incs in the mpn may be shared between a communications function and another function of the mpn . for example , music may be paused or muted while voice communications or communications alerts are being provided to the audio output inc . fig3 shows more detail of step 3610 ( fig3 ), communicating between mpns . all steps are optional and may be performed in any suitable order . as described above , one of the incs of the mpn may include a communications device for exchanging data with an inc of another mpn . alternatively , the communications device used for exchanging data among incs of a single mpn may also be used to exchange data with another mpn that may be in proximity . for example , the user may have downloaded software into the control unit or other inc that allows such communication . the user may use the user input inc to notify the mpn that these communications are to begin . the mpn may then begin to send messages to an inc of the other mpn , and may listen for incoming messages from the other mpn . in this manner , each mpn may determine the network identifier of the other user &# 39 ; s mpn . in step 3710 of fig3 , data may be sent from one mpn to another . for example , the control unit or other inc may tag an outgoing message with the network identifier of the other mpn . the data may include personal data in step 3720 . for example , if the two mpns are configured to provide personal organization features , the data sent from one to the other may include contact information , such as a name , phone number , electronic mail address , or other suitable information . in step 3730 , the data sent between mpns may include game data . this may allow the users to play a game that requires two or more players , if both users have the same game software installed . in step 3740 , the data may allow two users to compete athletically . for example , the two users may each be on a stationary bicycle , and performance data may be exchanged between them . the two mpns may determine who wins the competition based on data gathered from the two stationary bicycles or other sensors . in step 3750 , one user may send software to another user . this may include , for example , software that enables an mpn to perform a specific feature or provide a specific function . in step 3760 , one user may be allowed to send a digital music file , or other recorded media , to another . any other suitable type of data may be exchanged between mpns . if desired , data may be exchanged between more than two mpns simultaneously , for example allowing a game with more than two players . fig3 shows two users with mpns that are communicating . first user 3820 is wearing first mpn 3810 . first mpn 3810 includes control unit 3830 and display inc 3840 . user controls may be incorporated into either inc . second user 3870 is wearing second mpn 3860 , consisting of control unit 3880 and display inc 3890 . either of these two incs may have user controls as well . data may be exchanged between control unit 3830 and control unit 3880 . exchanged data may be displayed on display inc 3840 and display inc 3890 . user 3820 and user 3870 may , for example , exchange personal contact information or may play a game . the incs shown are merely illustrative . another example of two users with communicating mpns is shown in fig3 . first user 3920 is on first bicycle 3915 , mounted on a stationary training stand . second user 3970 is on second bicycle 3965 , also mounted on a stationary training stand . first mpn 3910 may include inc 3925 which may combine display functions and user controls with a control unit and which may be mounted on bicycle 3915 . first mpn 3910 may include audio output inc 3930 worn by first user 3920 inside a helmet or headband . it may include inc 3935 that controls the difficulty setting of the training stand . it may also include inc 3940 that measures the speed of the rear wheel of bicycle 3915 . second mpn 3960 may similarly include user input / display / control unit 3975 , audio output inc 3980 , difficulty setting inc 3985 , and speed sensor 3990 . the two control units may control the difficulty for the two riders to simulate a specific race course , and may compare the speeds of the two riders . the display incs may be used to provide feedback on the comparative progress on the simulated course of the two riders , for example notifying each rider of the comparative position of the other . the incs shown are merely illustrative . fig4 shows more detail of step 3220 ( fig3 ), providing entertainment functions . all steps are optional and may be performed in any suitable order . in step 4010 , recorded music may be played . for example , songs may be stored in digital format ( e . g ., mp3 format ) in memory in the control unit or other inc with storage capabilities . the storage inc may read the digital audio data and send it to the audio output inc , which may play the audio for the user . if desired , the system may provide audio control functions , such as volume control , playing and stopping , skipping songs , repeating a song , random play , etc . in step 4015 , broadcast music ( e . g ., radio ) may be played by the mpn . a radio receiver may be included in one of the incs . the radio signal may be received and sent to the audio output inc to allow the user to listen . if desired , the audio signal may be digitized for processing within the system . if desired , the system may include volume changing and station selection functions , and other desired radio - related features . in step 4020 , the system may allow audio to be recorded . for example , one of the incs may include a microphone . the audio may be digitized and stored into memory in one of the incs , such as a control unit . the recorded audio may be replayed by the user , using the audio output inc . similarly , video segments may be captured in step 4022 and still video images may be captured in step 4024 by an inc with a video input . the video segments may be digitized and stored in memory in one of the incs . if desired , the captured video segments and images may be viewed by the user on the display inc . if desired , any stored music or any recorded media may be shared with a user of another mpn , as described above in conjunction with fig3 . any recorded audio , video , or image data may be uploaded to a personal computer , if desired . in step 4030 , the user may be allowed to play a game . the game may involve only the user of the mpn . alternatively it may involve a user of another mpn , if one of the incs in each mpn includes a communication device capable of communicating with the other mpn . for example , the wireless communications device within each of the incs may be used to transfer game - related information between mpns if the two users are in close proximity . an inc of the mpn may also be configured to communicate with an external game device . music and audio cues may both be provided by a single mpn , as described previously in conjunction with fig2 . fig4 shows more details of step 3235 ( fig3 ), providing personal organization features with an mpn . all steps are optional and may be performed in any suitable order . in step 4110 , the mpn may support scheduling of appointments . the user input inc and display inc may be used for entering new appointments , modifying appointments , and viewing upcoming schedules . the display inc and audio output inc may be used to inform the user of imminent appointments . in step 4120 , the mpn may manage contact information . this may include names , phone numbers , addresses , electronic mail addresses , and other information about contacts . in step 4130 , the mpn may be used to manage a task list . for example , the user may be allowed to enter and prioritize tasks , and to track their completion . in step 4140 , the mpn may allow the user to keep a journal . the user may be able to create text , audio , video , and other types of entries . in step 4150 , the personal organizer data stored by the mpn may be synchronized with another system , such as a software application running on a personal computer . appointments , contacts , tasks , and journal entries created on either system may be copied to the other system . this may allow the user to keep a permanent or backup copy of data created in the mobile system , and may also allow the user to take advantage of the keyboard , mouse , and full - sized monitor on the personal computer to enter significant amounts of information . in step 4160 , information may be shared with another mpn , as described above in conjunction with fig3 . fig4 shows more detail of step 4140 ( fig4 ), allowing the user to maintain a mobile electronic journal . all steps are optional and may be performed in any suitable order . in step 4210 , a user may be allowed to enter journal entries . entries may include voice in substep 4212 , text in substep 4214 , input from an electronic sketchpad in substep 4216 , or any other suitable type of entry or combination of entries . in step 4220 , the user may be allowed to capture a video image , for example using an inc that has digital camera hardware . if desired , the user may capture a video clip . in substep 4225 , the captured video image may be stored with a journal entry . for example , it may be stored in the same memory , and there may be a link from one to the other . in step 4230 , the journal entry may be automatically tagged with the current date and time if one of the incs in the mpn includes a clock . in step 4235 , the journal entry may be automatically tagged with the current location , if one of the incs in the mpn includes a position monitor such as a global positioning system ( gps ) monitor . in step 4240 , the user may be allowed to control functions of the journal using the audio input , if the mpn includes a speech recognition function . in step 4250 , a database may be downloaded into memory in the mpn . the database may include data of interest to the user , and may relate to topics to which the user may refer in the journal . for example , the database may include travel - related information , music - related information , school - related information , work - related information , or any other suitable data . in step 4255 , the user may be allowed to link a journal entry to a database element . in step 4260 , any journal entries stored in the mpn may be uploaded to a personal computer . this may include the voice , text , and drawing parts of the entries , as well as any linked images and time and location tags . it may also include links to any database elements that may be linked to the journal entries , or it may include the data from the database elements themselves . in step 4265 , the uploaded journal may be converted into a standard file format , so that it may be easily viewed or printed with the personal computer . the file format may include html , pdf , or any other suitable format . images and audio segments may also be stored in a common file format . the data may be loaded into a database on the personal computer if desired . fig4 a shows more detail of step 3208 ( fig3 ), providing a guidance function using an mpn . in step 4310 , the mpn may include a position monitor inc . this may be a gps monitor in substep 4312 . the system may also include an elevation monitor in substep 4314 , which may , for example , use barometric pressure readings . in step 4320 , the position monitor may be used to provide current user information . this may include current position in substep 4322 , current speed in substep 4324 , current elevation in substep 4326 , and current elevation gain in substep 4328 . if desired , the system may also collect direction information , for example from a compass , and provide direction information . in step 4330 , route guidance may be provided to a user . turning to fig4 b for greater detail of step 4330 , route guidance may include step 4331 , in which map information may be downloaded into memory in the mpn . the map information may be downloaded using the wireless communications device in one of the incs . alternatively , it may be loaded from a memory device , such as a cd - rom . in step 4332 , the user may be allowed to enter a desired location . for example , the user may enter an address or the name of a destination , the user may choose a destination from a list , the user may point to a destination on a map displayed on a touch screen , or the user may speak the desired location . in step 4333 , an inc in the mpn may calculate a route from the current location to the desired location . this may be done using any suitable algorithm or combination of algorithms that may compare various routes based on distance , estimated time , traffic , road conditions , or any other suitable criteria . if desired , the user may be allowed to enter criteria for choosing a route , or may be allowed to choose from multiple routes . in step 4334 , map information may be displayed . the map information may include the current location , the desired location , and / or all or part of the route between them . in step 4335 , the user &# 39 ; s current location may be displayed on the map . this may also include other information , such as the user &# 39 ; s direction and speed . in step 4336 , route guidance may be displayed . in addition to displaying the chosen route on the map , the system may provide , either visually or audibly , prompts informing the user of turns and other actions . the system may also make corrections to the route if the user misses a turn or otherwise does not follow the guidance . returning to fig4 a , in step 4340 , the system may collect and store position information as the user moves . this may include , for example , location , speed , and elevation , along with the time at which each measurement was taken . this step may also include substep 4341 , uploading the collected data to a base station or personal computer . the collected data may be saved in a database , displayed , or analyzed , by an inc of the mpn , by a base station , by a personal computer , by a computer accessed over a wide area network such as the internet , or in any other suitable location . in step 4342 , the user may be allowed to annotate the collected position data , or otherwise modify it . for example , the user may enter text , create a voice annotation , or capture a video image or segment . annotations may include information about a location , about the route , personal notes , images or video clips of sights seen , or any other information . if desired , the system may have a number of predefined annotations that may be quickly and easily entered by the user at any point . the system may store the annotation with the position information , and may create a link between the data items . the user may also be allowed to modify the collected data itself . the annotation or modification may be created as the position information is collected in substep 4343 , for example using an input device that may be an inc in the mpn . the annotation or modification may also be created after the position information has been collected in substep 4344 , for example using an input device connected to a personal computer . in step 4345 , the collected information may be correlated with map data . this may be done in the mpn , using map data stored in memory in an inc of the mpn , or on a personal computer after the position information has been uploaded . the position information , along with any annotations , may be displayed on a map , for example showing the route taken by the user . in step 4350 , position information may be correlated with simultaneously collected performance information . this may be useful in an mpn that is also used to support athletic workouts . for example , the route may be an athletic training route or an athletic competition route . the performance information may , for example , be speed in substep 4351 , heart rate in substep 4352 , cadence , or any other suitable performance data . the personal data may be stored with the position data , and the system may also store links between the two data items . this collected performance data may be displayed during the session . it may also be displayed or printed on a personal computer at a later time . it may be displayed in a table , in a graph , on a map , on an elevation profile , or any other suitable format . in step 4353 , performance data may be collected during multiple sessions . in step 4354 , the performance data may be compared between sessions . the comparison may be for the entire sessions , or for portions of the sessions following the same route . for example , a table or graph may be used to show the performance differences between two sessions . summary information , such as averages , may also be provided . information may be displayed on an inc of the mpn , on a personal computer after being uploaded , to a computer accessed via a wide area network such as the internet , or at any other suitable location . the collected position information may be used to recommend a route for a later session in step 4360 . for example , the mpn may store position information from one or more sessions , and may construct map data of routes that are available to the user . prior to or during a later session , the constructed map data may be used to plan a route for the user . the system may also use the collected performance data to plan the route . if desired , the route may be that of an upcoming athletic competition , and the system may be used to collect information about the route , such as elevation profile , distance of individual segments , landmarks , or other information of interest . in substep 4361 , a route may be recommended based on a desired workout intensity . for example , the system may use collected heart rate data or an elevation profile to choose a route with the desired difficulty . in substep 4362 , a user may specify a desired elevation profile , and the system may choose a route that most closely matches the user &# 39 ; s preference . in substep 4363 , the system may recommend a route based on a desired distance chosen by the user . if desired , the system may allow the user to specify any other suitable criteria , or combination of criteria , for route selection . in step 4365 , the mpn may provide directions or other guidance to the user during a session , based on the selected route . if desired , the guidance may be based on a route chosen ahead of time and downloaded . alternatively , the directions may be made dynamically , as specific decision points are reached . for example , a prompt to take a specific turn may be shown on the display inc or played through the audio output inc . the system may also make modifications to the recommended route if the user does not follow the prompts . if desired , the chosen route may be based on map and elevation information loaded from a cd - rom or other memory device or loaded from the internet or other network , rather than using position information collected by the user . position data collected in one session may also be used to simulate the same route in a later session . for example , a user may travel the route of an upcoming competition in one or more sessions and collect position and elevation information . this collected position and elevation information may be used to control exercise equipment in later sessions to simulate the racecourse . fig4 shows an illustrative mpn 4400 that may be used to provide guidance to an athlete . inc 4410 may be worn on a waistband , and may include a control unit , a gps monitor , an elevation sensor , user input controls , and a clock . inc 4420 may be worn on a wristband and may include a display device and an accelerometer . inc 4430 may be worn on a headband , and may include an audio output device . inc 4440 may be worn on a chest strap and may include a heart rate sensor . inc 4450 may be worn on an ankle band and may include an accelerometer . use of accelerometers mounted on the arm and leg to perform functions such as measuring cadence and providing form feedback is described in more detail below . incs shown are merely illustrative , and all incs are optional . fig4 a through 45l show examples of screens that may be provided by display inc 4420 in an mpn 4400 ( fig4 ) that may be used for guidance and athletic functions . fig4 a provides a display of the user &# 39 ; s current altitude . fig4 b provides a display of the user &# 39 ; s current geographical location . fig4 c provides a display of the user &# 39 ; s current speed . fig4 d provides a display of the user &# 39 ; s current rate of elevation change . fig4 e provides a display of the user &# 39 ; s heart rate . fig4 f provides a display of a route prompt . fig4 g provides a display of the user &# 39 ; s current cadence . fig4 h provides a display of the user &# 39 ; s current stride length . fig4 i provides a display of the current date and time . fig4 j provides a display of a session total time and partial time from a stopwatch function . fig4 k provides a display of an interval timer . fig4 l provides a display of a speed prompt . these screens are merely illustrative . any suitable information may be displayed , in any suitable format . if desired , any of this information may be sent to an audio output inc in addition to or instead of the display inc . fig4 through 49 show illustrative screens that may be displayed on a personal computer configured to interface with an mpn that provides guidance features and athletic features . fig4 shows session overview screen 4600 that may display collected position , performance , and annotation data for a session . graphs 4610 , 4620 , 4630 , 4640 , and 4650 , along with note line 4660 , may all be displayed relative to a common time line . graph 4610 may display elevation vs . time for the session or portion of session . graph 4620 may display speed vs . time for the session or portion of session . graph 4630 may display heart rate vs . time for the session or portion of session . graph 4640 may display stride length vs . time for the session or portion of session . graph 4650 may display cadence vs . time for the session or portion of session . the user may be allowed to click on any graph to view more details of the graphed data ( such as a chart of the data ). these graphs are merely illustrative . any suitable data may be graphed or charted . note line 4660 may display indicator to show the link between time and each annotation . for example , indicator 4662 may indicate that an audio annotation has been linked to that first specific time during the session . indicator 4664 may indicate that a video annotation may be linked to that second specific time during the session . indicator 4666 may indicate that a text annotation has been linked to that third specific time during the session . the user may be allowed to point the mouse at an indicator or click on it to view the actual annotation . menu bar 4670 may provide user access to various functions . for example , file menu 4672 may allow the user to save the session data , open a file with other session data , or perform other file related functions . notes menu 4674 may allow the user to perform functions related to annotations , such as adding a new annotation , modifying an annotation , deleting an annotation , or viewing an existing annotation . time menu 4676 may allow the user to perform time - related functions , such as modifying which time span from the session is graphed . view menu 4678 may allow the user to change the display to another view of the same data ( such as a chart ), or to any other display supported by the system . this may include , for example , allowing the user to select session comparison display 4700 of fig4 or map view 4800 of fig4 . the menu options described here are merely illustrative . any suitable menu options may be offered . for example , an option may be offered to allow the user to select which types of data to graph . fig4 shows session comparison screen 4700 that may display collected position , performance , and annotation data for multiple sessions or partial session in which the user followed the same route . graphs 4720 , 4730 , and 4740 may all be displayed relative to a common distance line . graph 4720 may display elevation vs . distance for the common route or portion of route . graph 4730 may display speed vs . distance for the first session or portion of session on date 4735 . graph 4740 may display speed vs . distance for the second session or portion of session on date 4745 . the user may be allowed to click on any graph to view more details of the graphed data ( such as a chart of the data ). these graphs are merely illustrative . any suitable data may be graphed or charted summary region 4750 may display and compare summary data from the multiple sessions . for example , if speed data is graphed on the screen , the summary region 4750 may display average and maximum speed for the graphed segment of each session . menu bar 4710 may provide user access to various functions . for example , file menu 4712 may allow the user to save the session data , open a file with other session data , or perform other file related functions . time menu 4714 may allow the user to perform time - related functions , such as modifying which time span from the session is graphed . data menu 4716 may allow the user to perform data - related functions , such as modifying which data from the session is graphed . view menu 4718 may allow the user to change the display to another view of the same data ( such as a chart ), or to any other display supported by the system . this may include , for example , allowing the user to select session overview display 4600 of fig4 or map view 4800 of fig4 . the menu options described here are merely illustrative . any suitable menu options may be offered . for example , an option may be offered to view or modify annotations . fig4 shows map view screen 4800 that may display collected position , performance , and annotation data for a session or partial session in relation to a map . date field 4820 may display the date and / or time of the session being viewed . road indicator 4830 may show the roads , trails , and other fixed items from the region in which the session occurred . route indicator 4840 may be used to indicate the actual route followed by the user during the session . route indicator 4840 may have different characteristics to indicate different performance data . for example , there may be three different line styles used to indicate heart rate above a desired zone , within a desired zone , and below a desired zone . the number of line styles and the performance parameter shown are merely illustrative . any suitable data divided into any suitable number of zones may be drawn on the map . if desired , multiple performance parameters may be shown on the same map . the user may be allowed to click on the map to view more details of the data ( such as a chart or graph of the data ). note indicators may be displayed on the map to show the link between the route and each annotation . for example , indicator 4852 may indicate that an audio annotation has been linked to that first specific time during the session . indicator 4854 may indicate that a video annotation may be linked to that second specific time during the session . indicator 4856 may indicate that a text annotation has been linked to that third specific time during the session . the user may be allowed to point the mouse at an indicator or click on it to view the actual annotation . legend 4860 may display a legend of the line styles used for the road indicator and route indicator , along with any other information that may be displayed on the map . for example , a legend may be provided for the different styles of annotation indicator . menu bar 4810 may provide user access to various functions . for example , file menu 4812 may allow the user to save the session data , open a file with other session data , or perform other file related functions . notes menu 4814 may allow the user to perform functions related to annotations , such as adding a new annotation , modifying an annotation , deleting an annotation , or viewing an existing annotation . data menu 4816 may allow the user to perform data - related functions , such as modifying which data from the session is shown on the map . view menu 4818 may allow the user to change the display to another view of the same data ( such as a chart ), or to any other display supported by the system . this may include , for example , allowing the user to select session overview display 4600 of fig4 or session comparison display 4700 of fig4 . the menu options described here are merely illustrative . any suitable menu options may be offered . for example , an option may be offered to zoom into a portion of the route . fig4 shows session planning screen 4900 that may allow the user to enter desired attributes of an upcoming session , to allow the system to plan an appropriate route . for example , the user may be allowed to enter a desired total distance in screen region 4910 . screen region 4920 may allow the user to enter a desired total time for the session . screen region 4930 may allow the user to enter a desired elevation gain for the route . screen region 4940 may allow the user to enter a desired pace or speed for the session . screen region 4950 may allow the user to enter a desired heart rate or heart rate range for the session . these parameters are merely illustrative . any suitable parameters may be offered . the user may be allowed to enter a subset of desired parameters , and the system may create a route that best matches the entered parameters . menu bar 4960 may provide user access to various functions . for example , file menu 4962 may allow the user to save the session data , open a file with other session data , or perform other file related functions . maps menu 4964 may allow the user to perform functions related to maps , such as viewing maps of available routes , and selecting one or more preferred routes . the menu options described here are merely illustrative . any suitable menu options may be offered . for example , an option may be offered to view data from previous sessions . fig5 shows more detail of step 3210 of fig3 , providing an athletic function with an mpn . all steps are optional and may be performed in any suitable order . in step 5005 , the mpn may be used to control a workout . in step 5010 , the mpn may be used to control one or more sections of a workout . in step 5015 , the mpn may be used to collect data from a workout . in step 5020 , the mpn may be used to provide both music and audio workout cues , as described previously with respect to fig2 . in step 5025 , the mpn may be used to provide route guidance during a workout , as described previously with respect to fig4 a . in step 5030 , the mpn may measure an athlete &# 39 ; s cadence . in step 5035 , the mpn may measure an athlete &# 39 ; s stride length . in step 5040 , the mpn may be used to control a piece of exercise equipment , as described previously with respect to fig2 . in step 5045 , the mpn may be used to collect data from a piece of exercise equipment , as described previously with respect to fig2 . in step 5050 , the mpn may correct errors in collected athletic data . in step 5055 , the mpn may remind an athlete to consume a consumable . in step 5060 , the mpn may use previously stored data to estimate a performance parameter . in step 5065 , the mpn may provide for an athletic competition between two or more athletes , as described previously with respect to fig3 . in step 5070 , the mpn may provide for a coaching interface . in step 5075 , the mpn may count swimming laps . in step 5080 , the mpn may provide form feedback to an athlete . in step 5085 , the mpn may provide a training journal . more details of these embodiments are described below . these athletic uses of the mpn are merely illustrative . other athletic uses are possible if desired . fig5 shows flow chart 5100 of an illustrative process for providing workout control and feedback . all steps are optional and may be performed in any suitable order . in step 5110 , workout parameters may be defined . the parameters may be defined , for example , on a coach &# 39 ; s computer or on an athlete &# 39 ; s computer . the parameters may be entered by a user such as the coach or athlete , or they may be generated automatically by a coaching software application . the parameters may define aspects of a planned workout , such as its type , duration , intensity , etc . in step 5120 , if the workout parameters were defined on a coach &# 39 ; s computer , they may be downloaded to the athlete &# 39 ; s computer . in step 5125 , the parameters may be downloaded from the athlete &# 39 ; s computer to an inc in the mpn , such as a control unit . in step 5130 , the inc may control aspects of the workout session , using an output inc in the mpn . in step 5140 , the inc may collect workout results from an input inc in the mpn . in step 5150 , the workout results may be uploaded to the athlete &# 39 ; s computer . in step 5155 , the workout results may be uploaded to the coach &# 39 ; s computer . in step 5160 , the workout results may be stored , for example on the athlete &# 39 ; s computer or the coach &# 39 ; s computer . in step 5170 , the workout results may be analyzed , for example on the athlete &# 39 ; s computer or the coach &# 39 ; s computer . for example , the workout results may be displayed , or may be compared with workout results from other workout sessions . in step 5180 , the workout results may be used to determine parameters for one or more upcoming workout sessions , for example on the athlete &# 39 ; s computer or the coach &# 39 ; s computer . fig5 shows a block diagram of an illustrative system 5200 for communicating between a personal computer 5210 and a control unit 5240 that is an inc in an mpn . personal computer 5210 may have communications device 5220 , control unit 5240 may have communications device 5250 , and they may communicate using communication path 5230 . communication path 5230 may be a wireless radio frequency link , an infrared link , a docking station link , a usb link , a serial port link , or any other suitable type of communications path . control unit 5240 may include processor 5260 for executing software related to controlling a workout , collecting workout results , communicating with personal computer 5210 , and communicating with other incs in the mpn . control unit 5240 may also include memory 5270 for holding software , downloaded workout parameters , and collected workout results . fig5 shows a block diagram of an illustrative mpn 5300 for controlling aspects of an athletic workout and collecting results from a workout . control unit 5240 may be the same control unit shown in fig5 , and may be configured to communicate with a personal computer as shown in that fig . it may also have wireless communications device 5310 for communicating with other incs in mpn 5300 over wireless communication path 5350 , such as data collection inc 5320 and output inc 5330 . if desired , wireless communications device 5310 may be the same as communications device 5250 . if desired , control unit 5240 may be omitted , and its functions may be assumed by other incs in the mpn . data collection inc 5320 may have wireless communication device 5322 for sending collected data to control unit 5240 or other inc having storage capabilities . it may also have data collection circuit 5324 . data collection circuit 5324 may collect any athletic data , such as speed , heart rate , power , resistance , location , cadence , or any other suitable type of athletic data . data collection inc 5320 may be worn by the athlete . if desired , data collection inc 5320 may be mounted on a piece of athletic equipment or a bicycle and may collect data from that equipment . output inc 5330 may have wireless communication device 5332 for receiving control commands from control unit 5240 or other suitable inc . it may also have output circuit 5334 . output circuit 5334 may output athletic control data using any appropriate method , such as displaying a prompt to the user , outputting a prompt to the user , controlling resistance , controlling speed , or any other suitable type of athletic control . output inc 5330 may be worn by the athlete . if desired , output inc 5330 may be mounted on a piece of athletic equipment or a bicycle and may send control commands to that equipment . fig5 shows how mpn 5300 ( fig5 ) may communicate with an athlete &# 39 ; s personal computer 5210 and a coach &# 39 ; s personal computer 5410 . athlete &# 39 ; s personal computer 5210 may communicate with coach &# 39 ; s personal computer 5410 using any suitable network 5415 , such as the internet . either computer may connect with network 5415 using connection 5412 and 5418 , such as a telephone modem , a cable modem , a digital subscriber line modem , or any other suitable type of connection . as shown previously , athlete &# 39 ; s personal computer 5210 may connect to control unit 5240 , and control unit 5240 may send commands to athletic output inc 5330 and collect data from athletic data collection inc 5320 . if desired , connections may not all be in place simultaneously . for example , at a first time , coach &# 39 ; s computer 5410 may be connected to network 5415 , and workout parameters may be uploaded to a web server . at a second time , athlete &# 39 ; s computer 5210 may be connected to network 5415 , and workout parameters may be downloaded from the web server . at a third time , athlete &# 39 ; s personal computer 5210 may be connected to control unit 5240 , and workout parameters may be downloaded into control unit 5240 . at a fourth time , which may be during a workout session , the control unit 5240 may send control commands to athletic output inc 5330 and may receive data from athletic data collection inc 5320 . at a fifth time , workout results may be uploaded from control unit 5240 to athlete &# 39 ; s personal computer 5210 . at a sixth time , workout results may be uploaded from athlete &# 39 ; s personal computer 5210 to a web server in network 5415 . at a seventh time , workout results may be downloaded from the web server in network 5415 into coach &# 39 ; s computer 5410 . if desired , data may be sent directly between coach &# 39 ; s computer 5410 and athlete &# 39 ; s computer 5210 , rather than using a web server to store data sent from one to the other . if desired , control unit 5240 may be omitted , and athlete &# 39 ; s personal computer 5210 may connect directly to athletic output inc 5330 and athletic data collection inc 5320 or storage inc ( not shown ). fig5 shows illustrative mpn 5500 that may be used to provide control of an athletic workout and collect workout results . inc 5510 may be a control unit , and may be worn by the athlete . inc 5515 may be an athletic data collection inc worn by the athlete , and may include a heart rate sensor . inc 5520 may be an athletic output inc worn by the athlete , and may include an audio output inc . inc 5525 may be an athletic output inc mounted on a bicycle , and may include a display inc . inc 5530 may be an athletic data collection inc mounted on a bicycle , and may include a pedal cadence sensor . inc 5535 may be an athletic data collection inc mounted on a bicycle , and may include a wheel speed sensor . inc 5540 may be an athletic output inc mounted on a bicycle training stand , and may include resistance control device . during a workout , the control unit may control aspects of the workout by changing the cycling difficulty using inc 5540 , and by providing prompts to the athlete using inc 5520 and inc 5525 . prompts may include , for example , prompts to pedal faster , slower , harder , or easier , to stand or sit , to pedal with one leg or both legs , or any other suitable prompts . incs shown are merely illustrative , and each inc is optional . fig5 shows a flow chart of an illustrative process 5600 for managing a workout plan . all steps are optional and may be performed in any suitable order . the workout plan may be managed using software on athlete &# 39 ; s computer 5210 or coach &# 39 ; s computer 5410 ( fig5 ). in step 5610 , a workout goal may be defined . this may include a specific date in substep 5612 , a specific upcoming competition in substep 5614 , a specific performance goal in substep 5616 , a specific health goal in substep 5618 , or any other suitable type of goal . if desired , multiple goals may be defined . in step 5620 , a workout plan may be defined based on the workout goal . this may include different types of workouts , different periods of time with specific sub - goals , or other suitable plan . in step 5625 , a workout session may be defined . that may include a type of workout , duration , intensity , repetitions , or any other suitable parameters . as many parameters as desired may be created for each workout . the workout plan may include tracking of multiple planned workout sessions . in step 5630 , the workout parameters may be downloaded from the coach &# 39 ; s computer or athlete &# 39 ; s computer into an inc of the mpn , such as a control unit or storage inc . in step 5635 and step 5640 , during a workout session , aspects of the workout may be controlled and data may be collected . in step 5645 , workout results may be uploaded . this may include storing results on the athlete &# 39 ; s computer or the coach &# 39 ; s computer . results may be stored for multiple workout sessions . this may include storing the parameters that were used to define the workout sessions , as well as data collected during the sessions . in step 5650 , workout results may be displayed for the athlete or coach . in step 5655 , workout results may be analyzed . this may include comparing results between multiple workout sessions . in step 5660 , the workout results may be used to modify one or more parameters for an upcoming workout session . workout results may include data collected during a workout , as well as the workout parameters used during the workout session . workout results may include information on missed workout sessions . workout results may also include related information such as athlete health information , athlete eating and drinking records , athlete &# 39 ; s resting heart rate , and other auxiliary information . for example , a future workout may be made easier or harder depending on the results of the workout . in another example , if the time of a workout session was changed , an upcoming session may also be moved or canceled . if desired , in substep 5665 , rules may be applied to restrict how future workout modifications may be made . for example , a rule may restrict the system from scheduling two workouts of the same type on the same or consecutive days . as another example , the intensity , difficulty , or duration may not be allowed to increase more than a fixed percentage , such as ten percent . and in step 5670 , the results of all workouts in a plan may be tracked as they occur . the coach or athlete may be allowed to view historical data , to view trends and improvements , or compare the results of two or more workout sessions . this may also include comparing the collected workout results to the workout plan goal or goals . if desired , other data , such as data entered by the coach or athlete , may be compared with the workout plan goal . in fig5 , more details are shown of step 5625 ( fig5 ), defining the workout parameters . all steps are optional and may be performed in any suitable order . in step 5710 , the day and time of a workout may be defined . the workout time may be defined with any suitable degree of specificity , such as any time within a week , any time within a three day period , any time on a specific day , before or after a different workout , or at a specific hour . in step 5720 , the type of workout may be defined . this may include a general workout type , such as running , cycling , swimming , weightlifting , rowing , or the like . it may also include a style of workout , such as endurance , speed work , interval training , fartlek (“ speed play ”— bursts of speed during a training run ) training , hill work , strength training , or any other suitable style . in step 5730 , the duration of the workout may be defined . the duration may be measured in time , distance , or any other suitable units . the duration may be expressed as a range , if desired . in step 5740 , the workout may be divided into sections . each section may have its own goal , such as warm up , increasing anaerobic threshold , recovery , increasing endurance , cool down , or any other suitable goal . each section may be provided its own set of workout parameters . for example , in step 5750 , target intensity may be defined for a section . in step 5760 , target heart rate , speed , power , cadence , or any other parameter to be controlled may be defined for the section . if desired , multiple parameters to be controlled may be defined . if desired , the desired profile of the parameter or parameters during the section may be specified . if desired , a section may be defined with no parameter to be controlled . for example , the desired heart rate for a section may be 100 beats per minute at the start of the section , and may increase linearly to a value of 130 beats per minute at the end of the section . in step 5770 , the duration of each section may be defined . the duration may be measured in units of time , units of distance , or any other suitable units . in step 5780 , the controlling parameter for the section may be defined . for example , to control the heart rate , the athlete &# 39 ; s speed may be controlled by sending audible prompts , the speed may be controlled by sending commands to a piece of exercise equipment , or the resistance may be controlled by sending commands to a piece of exercise equipment . if desired , multiple controlling parameters may be specified . if desired , limits on the values or rate of change of the controlling parameter may be specified . in step 5790 , repetitions of sections may be defined . for example , two sections may be alternated , and the combination may be repeated four times . any other suitable attributes of a section may also be defined . if desired , the definition of one section may be copied from the definition of another section . fig5 shows illustrative screen 5800 that may be shown on athlete &# 39 ; s computer or coach &# 39 ; s computer for defining a workout . region 5810 may be used to enter the total number of sections . region 5820 may be used to enter the duration of a section , in this example in minutes . selection 5830 may be used to choose the parameter to be controlled . in this example , heart rate has been chosen , and other choices are cadence , power , and speed . the user may also choose to control no parameter during the section . selection 5840 may allow the user to specify the type of control , such as constant , between two values , linear , or on a defined curve . in this example , the user has chosen linear control . in region 5850 , the user may enter the value or values at which to control the parameter . in this example , the user has entered a desired starting and ending heart rate for the section . selection 5860 may allow the user to specify the controlling parameter , such as controlling heart rate by controlling speed or difficulty . in this example , the user has chosen difficulty as the controlling parameter . scroll bar 5880 may allow the user to view and modify more fields , such as parameters for other sections in the workout . menu bar 5870 may allow the user to access other features , such as file features ( e . g ., save and loading workout session definition files ), edit features , download features ( e . g ., downloading workout definitions from a coach &# 39 ; s computer or to an inc of the mpn ), and help features . fig5 shows illustrative data structure 5900 that may be used to store information about a workout session . this data structure or a similar structure may be stored in a personal computer , in memory in an inc of the mpn , or in any other suitable location . if desired , similar information may be stored in multiple data structures . a workout session may consist of multiple “ super sections ,” wherein each super section consists of one or more sections , and wherein each super section may be repeated multiple times . data structure 5900 may include a definition of the number of super sections 5910 . it may also include the definition of each super section , such as super section definition 5920 , super section definition 5940 , and super section definition 5960 . each super section definition may include a definition of number of sections in the super section , such as definition 5921 , definition 5941 , and definition 5961 . each super section definition may include a definition of number of times the super section is to be repeated during the workout session , such as definition 5922 , definition 5942 , and definition 5962 . section a definition 5925 may specify that the section is to have a duration of 15 minutes in duration definition 5926 . it may specify that the heart rate is to be controlled in primary parameter definition 5927 , and that the heart rate is to follow a linear curve from 100 beats per minute to 125 beats per minute in curve definition 5928 . it may specify a secondary parameter of cadence , which is to be kept at a rate of 90 revolutions per minute in secondary parameter specification 5929 . it may specify in controlling parameter definition 5930 that the heart rate is to be controlled by user audio prompt . in this definition , section a is to occur once during the workout session . section b definition 5945 may specify that the section is to have a duration of 5 minutes in duration definition 5946 . it may specify that the heart rate is to be controlled in primary parameter definition 5947 , and that the heart rate is to be maintained in a range between 150 beats per minute and 160 beats per minute in curve definition 5948 . it may specify a secondary parameter of cadence , which is to be kept at a rate of 90 revolutions per minute in secondary parameter specification 5949 . it may specify in controlling parameter definition 5950 that the heart rate is to be controlled using a resistance setting output . section c definition 5955 may specify that the section is to have a duration of 1 minute and 30 seconds in duration definition 5956 . it may specify that speed is to be controlled in primary parameter definition 5957 , and that the speed is to be maintained below 15 miles per hour in curve definition 5958 . it may specify a secondary parameter of resistance , which is to be kept at the easy setting in secondary parameter specification 5959 . it may specify in controlling parameter definition 5960 that the speed is to be controlled by user audio prompt . in this definition , section b and section c are combined into a single super section , which is to occur twice during the workout session . section d definition 5975 may specify that the section is to have a duration of 15 minutes in duration definition 5976 . it may specify that the heart rate is to be controlled in primary parameter definition 5977 , and that the heart rate is to be maintained at a constant rate of 110 beats per minute in curve definition 5978 . it may specify a secondary parameter of cadence , which is to be kept at a rate of 90 revolutions per minute in secondary parameter specification 5979 . it may specify in controlling parameter definition 5980 that the heart rate is to be controlled by user audio prompt . in this definition , section d is to occur once during the workout session . fig6 shows flow chart 6000 of an illustrative process for controlling multiple sections of a workout . all steps are optional and may be performed in any suitable order . in step 6010 , an athletic workout session may be defined as multiple sections . this workout definition may occur , for example , on an athlete &# 39 ; s computer or on a coach &# 39 ; s computer . in substep 6012 , the definition may specify that a section is to be repeated multiple times during a workout session . the repetitions do not have to be consecutive . in substep 6014 , groups of sections , such as super sections , may be repeated multiple times . in substep 6016 , one section may be a copy of another section , in the same workout or in another workout . in substep 6018 , one section may be a variation of another section , in the same workout or another workout . in substep 6020 , the starting value of a parameter in one sections may be specified as the ending value of the same parameter in the previous section . in step 6030 , the workout parameters for each section may be defined . this may include substep 6032 in which a performance parameter to be controlled may be specified . this may include , for example , heart rate , cadence , power , or speed . in substep 6034 , the desired value , values , or profile of the performance parameter to be controlled may be specified . this may include specifying a constant level , a defined curve , the end points of a linear variation , or two values to maintain the parameter between . if desired , a range above and below the desired curve may be defined . in substep 6036 , an output parameter to be used to control the performance parameter may be specified . in substep 6038 , one or more secondary performance parameters with corresponding desired values may be specified . in substep 6040 , the duration of the section may be specified , for example , in time or distance . after all workout parameters have been defined , they may be downloaded from the coach &# 39 ; s computer or athlete &# 39 ; s computer into memory in an inc of the mpn , such as a control unit , for use during the workout . if desired , the workout parameters may be transmitted directly from the coach &# 39 ; s computer into an inc of the mpn , or they may be transmitted over a wide area network such as the internet to the athlete &# 39 ; s computer , and downloaded from the athlete &# 39 ; s computer into an inc of the mpn . in step 6050 , data may be collected during the section of the workout session . that may include heart rate data in substep 6052 , speed data in substep 6054 , position data in substep 6056 , cadence data in substep 6058 , power data in substep 6060 , data from a sensor mounted on a piece of exercise equipment in substep 6062 , data from a sensor mounted on a bicycle in substep 6064 , or any other suitable type of input data . data collected during a workout may be presented to the athlete during the workout , for example on a display inc . if desired , collected data may be uploaded to a base station , the athlete &# 39 ; s personal computer or the coach &# 39 ; s personal computer , where they may be stored , displayed as a chart or graph , compared with results from previous workouts , or otherwise analyzed . if desired , collected workout results may be used to modify workout parameters of future workout sessions . in step 6070 , a performance parameter may be controlled during the section of the workout session . this may be done by prompting the user in substep 6072 . the prompt may be a visual prompt in substep 6074 or an audible prompt in substep 6076 . in substep 6078 , the prompt may be to change speed , change intensity or level of effort , change route , or any other suitable prompt . in substep 6080 , the control may be performed by changing a setting , such as a difficulty , speed , or resistance setting , on an output inc . in substep 6082 , the control may be performed by changing a setting on a piece of exercise equipment . in substep 6084 , the control may be performed using a position - integral - derivative ( pid ) servo algorithm , in which the value of an input parameter , the rate of change of the input parameter , and previous values of the input parameter are used to calculate a new value for the controlling parameter . the system may also include a set of limits on the output value to prevent it from exceeding a minimum value , a maximum value , and / or a maximum rate of change . in substep 6086 , the input data used in the algorithm may be data that was collected in step 6050 , and the definition of the input parameter and the controlling parameter may be part of the workout parameters that were defined in step 6030 . the constants in the servo equation may be standard values , may be entered or downloaded by a user , or may be derived and modified with use . in substep 6088 , one or more additional parameters may be controlled during the workout section , as specified in the workout parameters . for example , a secondary parameter may be maintained between two values in substep 6090 , maintained at a constant level , controlled linearly , or controlled in any other suitable fashion . in addition to directly collecting data to measure a performance parameter , an mpn may use stored information along with collected information to estimate a derived performance parameter . a process for doing so is illustrated in flow chart 6100 of fig6 . all steps are optional and may be performed in any suitable order . in step 6110 , previously collected personal data may be stored in an inc of the mpn . the personal data may be age in substep 6112 , gender in substep 6114 , weight in substep 6116 , resting heart rate in substep 6118 , maximum heart rate in substep 6120 , vo 2 max in substep 6122 , results ( e . g ., time and distance or speed and distance ) from a previous athletic effort in substep 6124 , or any other suitable personal data . the personal data may have been collected using an inc of the mpn , in step 6130 . alternatively , the personal data may have been downloaded in step 6135 , for example from an athlete &# 39 ; s computer or from a coach &# 39 ; s computer , where it may have been entered . in step 6140 , primary performance data may be collected , for example by an inc of the mpn during an athletic effort . the data may be a single sample , or it may be many samples collected over a period of time . in step 6150 , a secondary performance parameter may be estimated using the stored personal data and the collected primary performance data . in substep 6162 , maximum heart rate ( mhr ) may be calculated . mhr is the maximum rate at which the athlete &# 39 ; s heart can beat during a maximal effort , and is commonly measured in beats per minute . the mhr value may be entered by the user as personal data . the mhr may be estimated by the system based on the age and gender entered by the user . for example , mhr is commonly estimated as 220 - age in years . alternatively it may be estimated as 214 -( age * 0 . 8 ) for males and 209 -( age * 0 . 7 ) for females . another method of estimating mhr is 210 -( 0 . 5 * age )−( 0 . 05 * weight in pounds )+( 4 if male or 0 if female ). the estimate may be modified based on the specific type of activity or other factors . alternatively , mhr may be estimated based on actual heart rate measurements in a defined athletic effort . resting heart rate ( rhr ) may be entered by the athlete as personal data or it may be measured . rhr is a measure of the rate at which the athlete &# 39 ; s heart beats when at complete rest , and is also measured in beats per minute . rhr may be estimated based on actual heart rate measurements taken over a period of time , for example while the athlete is asleep . regardless of how mhr was entered , measured or estimated , the percent of maximum heart rate may be estimated by dividing actual heart rate ( hr ) by mhr , in substep 6154 . percent of heart rate reserve may be estimated as ( hr − rhr )/( mhr − rhr ), in substep 6156 . another performance parameter of interest to athletes is oxygen uptake ( vo 2 ) and maximum oxygen uptake ( vo 2 max ). vo 2 is a measure of the amount of oxygen removed from the blood and used by the muscles during an athletic effort . vo 2 max is a measure of the maximum amount of oxygen that can be used by the athlete during an effort . both are commonly measured in units of ml / kg / min . although the actual measurement of vo 2 requires sophisticated equipment , there are several known methods to estimate it . for example , in “ jack daniels , conditioning for distance running — the scientific aspects ,” wiley & amp ; sons , 1978 , the following formulas are used : in the above formulas , t is the time to complete a race - level effort in minutes , and v is the speed during the race in meters per minute . oxygen uptake may be estimated during an athletic effort in substep 6152 , using the above formula or any other suitable method . vo 2 max may similarly be estimated in substep 6166 . the system may also estimate the speed , heart rate , or other parameter corresponding to the level of effort at which vo 2 max is reached . if desired , time and speed data may have been entered by the athlete as personal data , or may be measured by the mpn . in substep 6158 , the system may estimate energy consumed during an athletic effort . energy consumption may be expressed in calories , and may be estimated based on age , gender , height , and weight , which may be entered as personal data . it may also be estimated based on type of activity , hr , speed , elevation gain , and other factors that may be measured during an athletic effort . similarly , the power exerted while exercising may be estimated in substep 6160 . lactate threshold ( lt ) may be estimated in substep 6164 . lt represents the highest level at which exercise may be maintained for an extended period without a build - up of lactate in the blood . it may be measured , for example as a percent of vo 2 max or a percent of mhr above which lactic acid begins to accumulate in the blood . it may be estimated , for example , by using the average heart rate for a maximal athletic effort over a half hour . alternatively , it may be estimated by measuring heart rate during a series of progressively more difficult efforts , and based on the rate of increase of heart rate between the efforts . in step 6170 , the estimated secondary parameter may be used to modify an athletic workout . for example , the intensity of a workout may be expressed as percent of lt , and during the workout the system may measure heart rate , estimate lt , and increase or decrease the speed setting of a piece of exercise equipment to maintain the proper level of effort . in step 6175 , the user may be prompted to modify the level of effort based on an estimate of a secondary performance parameter . for example , the intensity of a workout may be expressed as percent of vo 2 max , and during the workout the system may measure heart rate , estimate vo 2 , and prompt the user to speed up or slow down to maintain the proper level of effort . the estimated secondary parameter may also be displayed for the user by the mpn , or it may be uploaded to a base station or personal computer to be stored , displayed , or analyzed . fig6 shows illustrative mpn 6200 that may be used to measure a primary performance parameter and estimate a secondary performance parameter . inc 6210 may be a control unit or other inc with memory and processing capabilities , and may include software to control the other incs , as well as to perform the estimation . it may also include memory to hold software , as well as downloaded personal data such as age , gender , and weight . it may also include a communications device to download the personal data . inc 6220 may be a display inc , on which the primary and secondary performance parameters may be displayed . inc 6230 may be a heart rate sensor , used for monitoring the athlete &# 39 ; s heart rate , which may be a primary performance parameter . inc 6240 may be an accelerometer for measuring cadence , which may also be a primary performance parameter . inc 6250 may be an audio output inc , which may be used to prompt the user to modify the level of effort based on the estimated secondary performance parameter . these incs are merely illustrative , and all incs are optional . fig6 shows illustrative display screen 6300 that may be displayed by the athlete &# 39 ; s personal computer to allow the entry of personal data . it may include entry region 6310 for entering the athlete &# 39 ; s name . it may include entry region 6320 for entering the athlete &# 39 ; s age . it may include entry region 6330 for entering the athlete &# 39 ; s weight . it may include selection 6340 for entering the athlete &# 39 ; s gender . it may include entry region 6350 for entering the athlete &# 39 ; s height . it may include entry region 6360 for entering the athlete &# 39 ; s rhr . it may include entry region 6370 for entering the athlete &# 39 ; s mhr . these fields are merely illustrative . any suitable personal data may be entered on a screen such as display screen 6300 . display screen 6300 may also include menu bar 6380 , which may allow the user to perform other functions . other functions supported may include file - related functions ( e . g ., loading and storing personal data ), device - related functions ( e . g ., downloading personal data to a device ), system - related functions , user - related functions , security - related functions , and help - related functions . these functions are merely illustrative . fig6 a through 64f show illustrative display screens that may be displayed by a display inc in an mpn during an athletic effort . fig6 a shows screen 6410 , which may be a prompt for the athlete to go faster , and may be based on an estimated secondary performance parameter . fig6 b shows screen 6420 , which may display the athlete &# 39 ; s currently measured heart rate 6422 , percent of mhr 6424 , and percent of hrr 6426 . fig6 c shows screen 6430 , which may display the estimated vo 2 max 6432 , lt 6434 , and mhr 6436 at the end of a testing effort . fig6 d shows screen 6440 , which may display the athlete &# 39 ; s estimated vo 2 during or after an effort . fig6 e shows screen 6450 , which may display the athlete &# 39 ; s cumulative energy consumption for a workout 6452 and current power exertion 6454 . fig6 f shows screen 6460 , which may show the athlete &# 39 ; s current actual percent of hrr 6462 , the target hrr range for the workout 6464 , and a prompt to the athlete 6466 to modify the level of effort based on those values . as described herein , the mpn may be used to collect data , such as heart rate and other athletic data . however , at times the data collection may be unreliable , for example because of interference with the wireless communications between incs in the mpn . temporary interference may be common because of nearby electro - mechanical devices , other radio frequency transmitters , poor contact between a metabolic sensor and the skin , and even static electricity between the athlete &# 39 ; s body and clothing . one way of handling this is by including memory in the data collection inc , and retransmitting any lost data once the interference is gone . however , this may not be practical , as it may significantly increase the cost of the data collection inc . also , at times data samples may not be collected successfully by the data collection inc , due to such factors as intermittent connections between the inc and the athlete &# 39 ; s body . therefore , the mpn may include algorithms to recognize invalid data samples and to estimate new values for the invalid samples . fig6 shows illustrative mpn 6500 that may be used to collect data and that may include detection of invalid data and estimation of replacement data for the invalid data . control unit 6520 may collect data samples from heart rate monitor 6530 using wireless communication path 6550 and store the collected heart rate data in memory in control unit 6520 . control unit may display heart rate data on display 6540 . control unit 6520 may detect invalid data received from heart rate monitor 6530 , perhaps due to a failure in communication path 6550 , and may estimate replacement data to store and to send to display 6540 . collected heart rate data may also be uploaded to personal computer 6510 and stored there . personal computer 6510 may recognize invalid samples , and may estimate replacement data for the invalid data samples . the collected heart rate data , including any estimated replacement data may be displayed on a monitor attached to personal computer 6510 . incs shown are merely illustrative . all incs are optional . fig6 shows flow chart 6600 of an illustrative process for estimating replacement data for invalid collected data . all steps are optional and may be performed in any suitable order . in step 6610 , data samples , such as athletic performance data samples , may be collected by an mpn . this may be , for example , heart beat data in substep 6612 , or heart rate data in substep 6614 . any suitable type of data may be collected . in step 6620 , one or more invalid samples may be recognized . the invalid samples may be recognized , for example , by a control unit while data is being collected or by a personal computer after collected data has been uploaded . in substep 6621 , invalid samples may be recognized on the basis of missing values . in substep 6622 , invalid samples may be recognized on the basis of zero values , i . e ., samples with the value of zero . in substep 6623 , invalid samples may be recognized on the basis of values outside a defined range , for example , heart rate data lower than the resting heart rate or greater than the maximum heart rate . in substep 6624 , invalid samples may be recognized on the basis of a rapid change in values , for examples values that indicate a very significant change in heart rate in a very short period of time . in substep 6625 , invalid samples may be recognized on the basis of values inconsistent with other data , for example significantly different from samples collected before and after , or for example heart rate data inconsistent with collected speed and elevation data . in step 6630 , replacement values may be estimated for the invalid samples . replacement values may be interpolated based on valid samples collected before , after , or both before and after the invalid samples in substep 6631 . replacement values may be interpolated linearly in substep 6632 . replacement values may be interpolated based on the first derivative of valid samples in substep 6633 . replacement values may be interpolated linearly based on the first derivative in substep 6634 . replacement data may be interpolated using a quadratic equation in substep 6636 . replacement data may be interpolated using a polynomial equation in substep 6638 , and may match the values and / or derivatives of valid samples at the end points of the interpolation range . the data may also be estimated based on data collected in previous sessions under similar conditions , for example , the rate of change of the data may be made to match the rate of change of data collected in the similar session . in step 6640 , the data samples may be listed , for example on personal computer 6510 ( fig6 ). in substep 6642 , estimated samples may be indicated in the listing . in step 6645 , the data samples may be graphed , for example on personal computer 6510 . in substep 6647 , estimated samples ranges may be indicated in the graph . in step 6650 , secondary data may be derived from the collected data . in step 6652 , the secondary data may be listed , for example on personal computer 6510 . in substep 6654 , secondary data values derived from estimated samples may be indicated in the listing . in step 6656 , the secondary data may be graphed , for example on personal computer 6510 . in substep 6658 , secondary data values derived from estimated samples ranges may be indicated in the graph . fig6 shows an example 6700 of heart beat data that may have been collected by an mpn . the data may include samples 6705 through 6740 . it may be seen that each sample is approximately 0 . 5 seconds after the previous , with the exception of sample 6725 . this sample was collected almost three seconds after the previous sample , indicating that samples were likely lost . by interpolation , it may be estimated that five samples were missed , and the user &# 39 ; s heart rate may be estimated at about 122 beats per minute during this time by dividing the number of samples by the time . fig6 a and 68b illustrate how samples may be estimated to replace invalid samples . fig6 a shows illustrative heart rate sample data 6800 that may have been collected at a regular interval , such as every 15 seconds . in this example , heart rate data is increasing at a rate of eight beats per minute per minute in first sample range 6805 . heart rate data samples are all zero and are assumed to be invalid in second sample range 6810 . heart rate data is increasing at a reduced rate of four beats per minute per minute in third sample range 6815 . heart rate data samples are all out of range and are assumed to be invalid in fourth sample range 6820 . and heart rate data is decreasing at a rate of one beat per minute per minute in fifth sample range 6825 . fig6 b shows how replacement values may be created for the invalid samples , creating revised heart rate sample data 6830 . range 6835 , which corresponds to range 6810 in the original data , has been filled using a linear interpolation between samples collected just prior to and just after the invalid data in range 6810 . similarly , range 6840 , which corresponds to range 6820 in the original data , has been filled using a linear interpolation between samples collected just prior to and just after the invalid data in range 6820 . fig6 a shows illustrative display screen 6900 , which lists and graphs collected sample heart rate data . sample data list 6905 may include estimated samples 6910 . estimated samples may be marked as estimated , for example with an asterisk . the sample data may also be shown in graph 6915 . range 6920 of the graph , corresponding to the estimated data , may be drawn with a different line style to indicate that the samples were estimated . fig6 b shows illustrative display screen 6950 , which lists and displays average heart rate data derived from the collected heart rate data samples . data list 6955 may include data point 6960 and 6970 derived from estimated samples . estimated data may be marked as estimated , for example with an asterisk . the derived data may also be shown in graph 6965 . values 6960 and 6970 on the graph , corresponding to the data derived from estimated samples , may be marked , for example with an asterisk , to indicate that data is estimated . an mpn may also be used to provide an athlete , such as a runner or walker , with cadence information and stride length information . fig7 shows flow chart 7000 of an illustrative process for providing this information . all steps are optional and may be performed in any suitable order . in step 7010 , an accelerometer may be provided as an inc in the mpn . the accelerometer may send acceleration data to a control unit or other inc with storage capabilities at regular intervals . if desired , multiple accelerometers may be used to measure motion by different parts of the body , or components of motion in different directions . in step 7020 , the accelerometer may be worn by the user . for example , it may be worn on the leg in substep 7022 , the foot in substep 7024 , the arm in substep 7026 , or the hand in substep 7028 . in step 7030 , the accelerometer may be used to measure cadence . for example , a control unit may collect the data from the accelerometer , and measure the frequency at which the data reaches its relative maximums and minimums . this may correspond to the rate at which the user is swinging his or her arms or moving his or her legs , which translates directly to cadence . in step 7040 , a position monitor may be provided as an inc in the mpn . the position monitor may be a gps monitor in substep 7042 . the position monitor may send position data to a control unit or other component with storage capabilities at regular intervals . the position monitor may also be worn by the user . in step 7050 , the position monitor may be used to measure the user &# 39 ; s speed , which can be calculated as distance traveled divided by time . in step 7060 , stride length may be calculated based on the speed and cadence of the user . in substep 7062 , the stride length may be calculated as speed divided by cadence . if desired , the units of stride length displayed to the user may be converted to feet , meters , or other appropriate units . if desired , any of speed , cadence , and stride length may be displayed for the user . fig4 g shows an example of how cadence may be displayed on a display inc in the mpn . fig4 h shows an example of how stride length may be displayed on a display inc in the mpn . if desired , any of speed , cadence and stride length may be recorded for the duration of a session , and uploaded to a personal computer or base station for storage , display , or analysis . fig4 shows illustrative mpn 4400 that may be used to calculate and display cadence and stride length . a significant impact on athletic performance is the loss of certain valuable consumables by the athlete during a training or competition event . for example , as the user continues at a high level of exertion , levels of water , sodium , carbohydrates , and other nutrients will decrease , and performance will correspondingly decrease . as levels decrease further , performance levels will decrease at an even higher rate , until the athlete is no longer able to continue . however , if the athlete consumes too much of any of these consumables , performance will also suffer , with conditions such as stomach distress and cramping , hyponatremia , and hypernatremia . the mpn can be used to measure the usage or loss of such consumables , and provide the athlete with reminders to take in specific amounts of one or more of them . fig7 shows flow chart 7100 of an illustrative process for providing consumption reminders to an athlete . all steps are optional and may be performed in any suitable order . in step 7110 , metabolic data may be collected from a user such as an athlete . for example , an inc in an mpn may include a sensor to measure a specific metabolic value . in substep 7112 , heart rate data may be collected . in substep 7114 , skin resistance data may be collected . in substep 7116 , body temperature data may be collected . in substep 7118 , blood pressure data may be collected . in step 7120 , the loss of a consumable may be estimated based on the metabolic data . for example , water may be estimated in substep 7122 , carbohydrates in substep 7124 , and sodium in substep 7126 . a rate of loss of each consumable based on level of effort indicated by heart rate may be used . skin resistance may be used to measure the amount of sweat , which translates to water and sodium loss . an increasing body temperature or blood pressure may indicate a significant loss of water . need may also be estimated based on information stored about the athlete , such as weight or gender . in step 7130 , time may be measured since the most recent reminder , and the time may be used to refine the estimate of lost consumables . in step 7140 , the mpn may include an inc to measure the amount of consumable , such as energy drink or water , carried by the user . the measured amount may be reported to the user . additionally , the measured amount may be used to calculate the amount previously consumed by the user , and may be used to refine the estimate of needed consumables . in step 7150 , the user may be reminded to consume a consumable based on the estimated loss . in substep 7152 , the reminder may be presented when the loss or usage reaches a defined amount . in substep 7154 , the user may be told a specific amount of the consumable to consume . in substep 7156 , the user may be given an audible reminder . in substep 7158 , the user may be given a visual reminder . fig7 shows illustrative mpn 7200 that may be used to provide consumable reminders to an athlete . inc 7210 may be a control unit , which may include memory for storing input data samples , a processor for estimating consumable loss , and a wireless communications device for receiving metabolic data and sending reminders to the user . inc 7220 may be a metabolic data monitor , such as a skin resistance monitor , body temperature monitor , or blood pressure monitor . inc 7230 may be an audio output inc for providing audible reminders . inc 7240 may be a display inc for providing visual reminders . inc 7250 may be a device capable of measure the volume of consumable in , for example , a bladder worn by the user . inc 7260 may be a heart rate monitor . incs shown are merely illustrative and are optional in practice . fig7 shows illustrative display screen 7300 that may be provided on display inc 7240 ( fig7 ). prompt 7310 may tell the user to consume a specific amount of consumable , in this case four ounces of sports drink . information display 7320 may tell the user how much sports drink is remaining . display 7330 may inform the user that a salt pill should be taken in 15 minutes . an mpn may be used by a swimmer to provide swimming - related information , such as lap counts . this is illustrated in flow chart 7400 of fig7 . all steps are optional and may be performed in any suitable order . in step 7410 , the mpn may include a monitor , such as a flow meter , which may be worn by the swimmer in a swimming pool . other examples of monitors that may be used include a turbulence meter , or an accelerometer to measure arm or leg movements . preferably , the monitor should provide data with one characteristic while swimming and another characteristic while turning . if desired , multiple monitors may be worn , of the same or different types . in step 7415 , the monitor may be used to measure a parameter , such as rate of flow of water past the user &# 39 ; s body , amount of water turbulence near the user &# 39 ; s body , arm movements , or leg movements . in step 7420 , a characteristic of the parameter may be evaluated . for example , one characteristic of the flow may be the irregular readings during the turbulence of the turn at the end of the pool , as opposed to the more cyclical readings seen while swimming water flow may maintain a fairly constant positive value while swimming , and may vary in rate and direction while turning . arm or leg movements may have different characteristics while swimming various strokes , while kicking , while turning , or while resting . arm or leg movements may be regular and cyclical while swimming , and irregular while turning or resting . if desired , multiple characteristics of the measurement may be evaluated to determine which of several strokes is being used . in step 7425 , transitions between the two values or characteristics may be counted . in step 7430 , the count of transitions may be used , to provide a lap count . if desired , more than two characteristics of the parameter may be measured . for example , a third characteristic may be seen while the swimmer rests at the end of the pool . also , different characteristics may be seen when the swimmer performs different strokes . for example , a system in which an athlete wears a water flow meter and a single accelerometer on one wrist can be used to detect the difference between swimming the crawl , breaststroke , backstroke , butterfly , and kicking . in step 7440 , the duration of the two or more characteristics may be measured , and this measurement may be used to provide a lap time in step 7445 . if desired , the measured lap time may be compared with a typical lap time in step 7450 , and validated that it falls within a normal range . for example , if two consecutive measured lap times are much less than the typical lap time , the user may have paused in the middle of a lap . similarly , the turn time may be measured in step 7460 , and may be validated in step 7465 . typical lap times and typical turn times may be standard values , they may be entered by the swimmer , they may be measured during a calibration swim , or they may be entered in any other suitable way . in a calibration swim , for example , the swimmer may swim a small number of laps of each stroke , while the system measures the characteristics of the data collected by the monitor and measures the typical lap times . based on the data collected during a swim workout , the system may construct a model of the entire workout , including each swim , with type of stroke , speed , and distance for each swim , duration of rest periods , and other data . the data from the model may be stored , displayed , graphed , analyzed , or processed in any other suitable manner . fig7 shows illustrative mpn 7500 that may be used to provide lap swimming information . inc 7510 may combine the functions of a control unit and a flow meter , and may be configured to be worn attached to the swimsuit . inc 7520 may combine the functions of a display and an accelerometer and may be configured to be worn on the wrist . inc 7530 may be an audio output inc , and may be configured to be worn attached to a goggle strap or swim cap . inc 7540 may be an input inc worn on the foot , and it may be operated by tapping the end or bottom of the pool . incs shown are merely illustrative and are optional in practice . fig7 a shows an example of a screen 7600 that may be displayed on display inc 7520 ( fig7 ) to provide distance information to the swimmer . for example , the swimmer may have configured the system with the length of the pool , and the mpn may convert a lap count into a total distance 7605 for display . screen 7610 of fig7 b may be provided on display inc 7520 at the conclusion of a swim . it shows the distance of the swim 7612 which may have been derived from the measured lap count . it shows the swim stroke 7615 , which may be determined automatically based on the characteristic of data measured by input inc 7510 and 7520 ( fig7 ). screen 7610 also includes total swim time 7620 , which may be measured by the system . fig7 shows illustrative display screen 7700 which may be shown on a monitor attached to a personal computer , after data has been uploaded from inc 7510 ( fig7 ) of the mpn . date and time of workout 7710 may be displayed , and may have been determined automatically by a clock embedded in inc 7510 . distance 7720 may be listed for each swim , along with stroke 7722 and time 7724 . rest times 7726 may also be listed . the user may be allowed to scroll through more data , using scroll bar 7730 . other functions may be available using menu bar 7740 . other functions may include file - related functions ( e . g ., loading and saving data sets ), data - related functions ( e . g ., viewing different subsets of data , or viewing the data in different formats or units ), profile - related data ( e . g ., defining the length of the pool , typical swim times , etc . ), history - related functions ( e . g ., comparing performance between swim sessions ), and help - related functions . an mpn may be used to provide form or gait feedback to an athlete or other user . through the use of one or more accelerometers mounted on a part of the body that is moved during a particular activity , the system may compare the measured movements with ideal movements , and provide feedback to the user . an example of such a process is shown in flow chart 7800 of fig7 . all steps are optional and may be performed in any suitable order . in step 7810 , a user may be allowed to wear an accelerometer , which may be included in an inc of an mpn . it may be worn on a part of the body that is moved , intentionally or unintentionally , during an activity for which the user desired form feedback . for example , it may be worn on a foot , leg , hand , arm , or wrist . any other suitable part of the body may also be monitored . in step 7815 , multiple accelerometers may be worn by the user . multiple accelerometers may be worn on a single part of the body , for example to provide validation of readings , or to provide readings of different components of motion in different directions . accelerometers may be worn on corresponding parts of the body , on opposite sides , such as opposite arms or legs , for example to monitor symmetry of motion . accelerometers may be worn on different parts of the body , such as an arm and a leg , for example to monitor different motion aspects of an activity . in step 7820 , the user may be allowed to wear the accelerometer or accelerometers during a training activity . for example , one or more accelerometers may be worn while running in substep 7821 , walking in substep 7822 , swimming in substep 7823 , bicycling in substep 7824 , rowing , during a physical therapy activity in substep 7825 , or during any other suitable activity . in step 7830 , characteristics of desired movements of the monitored part or parts of the body may be stored . for example , the characteristics may have been captured by an expert in the activity wearing one or more accelerometers in the same location or locations . alternatively , the characteristics may have been generated by monitoring multiple users and averaging the results , or by calculating optimum characteristics theoretically . if desired , the characteristics of desired motions may be stored in a personal computer , or they may be downloaded into memory in an inc of the mpn . if desired , a coach or physical therapist may wear the accelerometer or accelerometers and demonstrate the motion , while the mpn captures the characteristics of the coach &# 39 ; s motions or therapist &# 39 ; s motions . in step 7835 , data from the accelerometer or accelerometers may be collected during the training activity . if desired , the collected accelerometer data may be uploaded from the mpn into a personal computer . in step 7840 , the system may compare the collected accelerometer data with the stored characteristics of desired motion . this comparison may be performed in the mpn , for example using a control unit , or it may be performed using a personal computer to which the data was uploaded . in step 7845 , the comparison may be used to evaluate the user &# 39 ; s form during the training activity , for example to determine incorrect aspects of the user &# 39 ; s form . for example , while running , incorrect form may include over - striding , under - striding , lifting the feet too high , crossing the arms excessively in front of the body , or any other suitable type of incorrect form . feedback on incorrect form may be provided to the user during the activity in step 7850 . this may be audible feedback , for example using an audio output inc , and may be synthesized voice . the feedback may be visual feedback , for example using a display inc . in step 7855 , feedback may be provided to the user after the training activity has been completed , for example using a personal computer . the raw data may be collected and uploaded to the personal computer , which may provide the comparison to create the feedback . alternatively , the comparison may be performed in an inc of the mpn , and the results of the comparison may be collected and uploaded to the personal computer . the feedback may be in the form of a chart , table , or graph , it may be displayed or printed , or it may be presented in any other suitable form . form feedback data may be combined with other suitable data when displayed , such as time , speed , or percent grade uphill or downhill . in step 7860 , the collected data or the form feedback may be transmitted to a coach or physical therapist , for example over a network such as the internet , and the coach or physical therapist may view the data or feedback . fig7 shows an example of an mpn 7900 that may be used to provide form feedback based on accelerometer data collected during a training activity . inc 7930 may be a control unit . the control unit may include a processor to control the data collection and to perform the form comparison . it may also include memory to store desired form characteristics and collected data . it may also include a wireless communications device for collecting accelerometer data and for providing form feedback . inc 7920 may be an accelerometer mounted on the left wrist , for measuring movements of the left arm . inc 7910 may be a display inc for providing visual feedback to the user . if desired , a display inc and an accelerometer may be combined into a single inc . inc 7940 may be an audio output inc , for providing audible form feedback . incs 7950 may be accelerometers worn on the feet for measuring movements of the legs and feet . if desired , accelerometers may be worn on any part of the body , and may be combined with any other inc . if desired , an accelerometer may be worn on a part of the body that is not expected to move , and the system may use it to detect incorrect motions by that part of the body . incs shown are merely illustrative and are optional in practice . fig8 a through 80c show examples of screens that may be shown on display inc 7910 ( fig7 ) during a training activity such as running or walking , to provide form feedback to a user . screen 8010 of fig8 a may suggest that the user shorten his or her stride , if the collected data indicates a stride length longer than the desired stride length . screen 8020 of fig8 b may suggest that the user relax his or her shoulders . tightly held shoulders may be inferred , for example , based on the range of motion measured from the arms . screen 8030 of fig8 c may suggest that the user run with less bounce , for example if the collected data indicates too much vertical motion . any suitable type of feedback may be provided for any suitable characteristic of the training activity . any suitable training activity may be monitored . feedback may be provided audibly during the training activity if desired , for example using audio output inc 7940 ( fig7 ). screen 8100 of fig8 is an illustrative example of a display screen that may be displayed after a training activity on a personal computer , to provide form feedback on the training activity . the screen may be displayed for the user ( e . g ., athlete or physical therapy patient ) or may be displayed for a coach , physical therapist or other interested party . graph 8110 may include curve 8120 of ideal motions , and curve 8130 of actual motions . this type of graph may illustrate the parts of the user &# 39 ; s motions that vary from the ideal motions . if desired , multiple types of curves may be shown on the same graph . for example , the forward component of the motion may be represented using one curve , and the side - to - side component of the motion may be represented using a second curve . as another example , motions of both legs or of both arms may be shown on a single graph , or motions of an arm and a leg may be shown on the same graph . legend 8140 may illustrate the line styles of the various curves . menu bar 8150 may provide access to various functions , such as file - related functions ( e . g ., saving or loading collected data files or loading a file with a different set of ideal characteristics ), session - related functions ( e . g ., looking at data from different training sessions ), data - related functions ( e . g ., looking at data collected using different accelerometers during a single session ), or help - related functions . an mpn may be used to provide an athletic training journal . fig8 shows flow chart 8200 of an illustrative process for providing an athletic training journal . all steps are optional and may be performed in any suitable order . in step 8210 , a mobile electronic journal may be provided , for example as described earlier in connection with fig4 . in step 8220 , the journal may include an exercise database . for example , the exercise database may include a list of different types of exercises , and may include characteristics of each , such as calories burned per hour at different intensities or muscle groups trained . the exercise database may also include data on recommended levels , types , and amounts of exercise . in step 8230 , the journal may include a nutrition database . for example , the nutrition database may include a list of different types of foods , and characteristics of each , such as calories , amount of fat , carbohydrates , protein , and other nutrients . the nutrition database may also include data on recommended amounts of various types of nutrients . in step 8240 , the journal may include a competition database . the competition database may include lists of competitions of various types of activities , results , times , and other information . in step 8250 , the journal may include a personal database . the personal database may include data on the user &# 39 ; s own exercise needs or plans , the user &# 39 ; s own nutrition needs , the user &# 39 ; s own competition history or goals , or other suitable user data . it may include data on the user &# 39 ; s weight , body fat percentage , waist measurement , and other suitable health measurements . in step 8260 , the journal may include an athletic data collection inc . for example , it may include a heart rate monitor , a blood pressure monitor , a stopwatch , or other inc that may be used to measure athletic performance . in practice , the user may enter journal entries related to exercise , nutrition , competition , health , and other related items . for example , the user may log foods eaten , exercises performed , competitions entered , and other items of interest . if desired , journal entries may be linked to suitable database entries . the journal may make automatic calculations related to the journal entry and the database , such as calories consumed or burned , nutrition taken in or needed , etc . journal entries may also be linked to audio or video media files , clock data , position data , or other suitable information . as described in step 3255 of flow chart 3200 of fig3 , an mpn may be used to provide physical therapy functions . this is illustrated in more detail in fig8 . all steps are optional and may be performed in any suitable order . in step 8310 , the mpn may be used to measure range of motion . for example , a range of motion monitor may be one of the incs in the mpn . in step 8320 , the mpn may be used to measure gait or do gait analysis . for example , the form feedback functions described previously in conjunction with fig7 may be used . in step 8330 , the mpn may be used to test muscle strength . for example , a muscle - strength tester may be incorporated into an inc of the mpn . in step 8340 , the mpn may be used to measure changes in a user &# 39 ; s physical capabilities . this may be done , for example , using the functions of the mobile electronic journal described in conjunction with fig4 . if desired , the mobile electronic journal used for physical therapy purposes may include a patient database , a treatment database , an insurance database , a diagnostic database , a range of motion sensor , accelerometers to be used for form feedback , a muscle strength tester , or other appropriate incs . as described in step 3215 of flow chart 3200 of fig3 , an mpn may be used to provide medical functions . this is illustrated in more detail in fig8 . all steps are optional and may be performed in any suitable order . in step 8410 , an inc may be worn or carried by a doctor , patient or nurse , mounted on equipment such as a wheelchair , or implanted , ingested , or injected into a patient . any suitable method of providing a portable medical inc may be used . in step 8420 , an inc of the mpn may be used to measure a metabolic value of a patient . this may include heart rate in substep 8421 , blood oxygen level in substep 8422 , body temperature in substep 8423 , skin resistance in substep 8424 , breath rate in substep 8425 , blood pressure in substep 8426 , blood sugar level in substep 8427 , or any other suitable metabolic parameter . in step 8430 , the mpn may be used to automatically detect a medical problem . in step 8440 , the mpn may control a medical device , such as a treatment device . the medical device may be an inc in the mpn , or an inc in the mpn may send commands to the device . in substep 8445 , the mpn may control a syringe pump . in step 8450 , the mpn may provide emergency communications , such as an alert to emergency medical personnel . in step 8460 , the mpn may provide storage of medical records . in step 8465 , the mpn may provide storage of insurance information . in step 8470 , the mpn may store a medical database , such as a treatment database , diagnostic database , pharmaceutical database , medical instrument database , or health alert database . in step 8480 , the mpn may provide a medical journal . fig8 shows flow chart 8500 of an illustrative process for using a measured metabolic parameter to detect a medical problem . all steps are optional and may be performed in any suitable order . in step 8510 , a metabolic parameter of the user may be measured , for example by an inc of the mpn . this may include measuring heart rate in substep 8511 , blood oxygen level in substep 8512 , body temperature in substep 8513 , skin resistance in substep 8514 , breath rate in substep 8515 , blood pressure in substep 8516 , blood sugar level in substep 8517 , or any other suitable metabolic parameter that may be measured using a portable system . in step 8520 , the system may use the measured metabolic parameter to estimate a medical problem . other factors may also be used to estimate the medical problem , such as information stored about the user , level and time of exertion , water and other substances consumed , or other suitable data . estimating a medical problem may include detecting a medical problem , predicting a medical problem , or estimating the likelihood that the medical problem exists or will occur . for example , the system may estimate the likelihood that the user is affected with dehydration in substep 8521 , hyponatremia in substep 8522 , a heat injury in substep 8523 , heat cramps in substep 8524 , heat exhaustion in substep 8525 , heatstroke in substep 8526 , heart attack in substep 8527 , hypoglycemia in substep 8528 , hyperglycemia in substep 8529 , insulin shock , diabetic coma , or any other medical problem . the system may take an action to address the estimated medical problem in step 8530 . for example , a prompt may be provided to the user , visually or audibly , in step 8540 . that may include a prompt to drink in substep 8541 , a prompt to consume sodium in substep 8542 , a prompt to slow down in substep 8543 , a prompt to cease activity in substep 8544 , a prompt to eat in substep 8545 , a prompt to take insulin in substep 8546 , a prompt to take medication in substep 8547 , a prompt to seek emergency medical attention in substep 8548 , or any other suitable prompt . if desired , the system may send an alert message in step 8550 . for example , a radio frequency message may be sent to emergency medical personnel . in step 8560 , an audible alert may be sounded . if desired , the action may include control of a medical treatment device , such as a portable syringe pump , an implanted defibrillator , or other suitable device . fig8 shows more detail of step 8480 ( fig8 ), providing a mobile electronic medical journal . all steps are optional and may be performed in any suitable order . in step 8610 , a mobile electronic journal may be provided as described earlier with reference to fig4 . in step 8620 , a treatment database may be provided , which may provide information about different types of medical treatments . a diagnostic database may be provided in step 8625 , and may contain information about different medical diagnoses . a patient database may be provided in step 8630 , and may include information about patients of a medical provider , such as medical history , previous diagnoses , previous treatments , family medical history , risk factors , insurance and payment information or other suitable types of information . in step 8635 , a pharmaceutical database may be provided , and may include information about various drugs , including indications for use , recommended dosage , side effects , availability , and other suitable drug information . in step 8640 , an insurance database may be provided , and may include information about different insurance providers , such as types of policies , payment histories , covered expenses , and other suitable information . a medical instrument database may be provided in step 8645 , and may include information about various medical instruments , their uses , risks , and other related data . a health alert database may be provided in step 8650 , and may include information about current and recent health alerts , such as may be issued by public agencies like the centers for disease control . any journal entry may be linked to one or more elements from one or more of the included databases . each journal entry may have one or more linked images or video clips . medical images such as x - rays , cat scans , mris , bone scans and the like , may also be input and linked to journal entries . each journal entry may also have one or more audio clips , such as a doctor &# 39 ; s dictation . the dictation may be translated into text using voice recognition software if desired . the journal may include a medical diagnostic instrument in step 8660 , and a journal entry may be linked to one or more readings from the instrument . the journal may include a medical treatment device in step 8670 . any journal entry may be linked to a usage report of the treatment device . fig8 shows an illustrative block diagram of a mobile electronic medical journal 8700 . journal 8700 may include processor 8710 , which may , for example , be in a control unit . image memory 8712 for holding images and other user data and library memory 8714 for holding one or more databases may also be included in the control unit if desired , and if desired may be the same memory . digital camera 8720 may be provided . it may be capable of capturing video still images to link to journal entries . if desired it may also be capable of capturing video clips for the journal entries . communications device 8730 may be used for downloading database information and uploading journal entries . text input inc 8740 , drawing pad / touch screen input 8742 , and voice input inc 8744 may be provided to allow text , drawing , and voice portions of a journal entry respectively . if desired , voice input inc 8744 may also include a voice recognition capability . a device such as a scanner may also be included to input medical images . clock 8750 may be provided to tag journal entries with the current time . medical device 8752 may be included to perform a medical function , and may be either a medical diagnostic / input device or a medical treatment device . if desired , multiple medical devices may be included . display 8760 may also be provided to view journal entries , database information , and other data . if desired , an audio output inc , not shown , may be provided . incs may be separate devices , or may be combined in any suitable fashion . all incs shown are merely illustrative and are optional . fig8 shows more detail of step 3260 of fig3 , providing features for a disabled user . all steps are optional and may be performed in any suitable order . in step 8810 , braille may be output for a visually impaired user . for example , an inc may include an output device capable of generating braille characters . in step 8820 , audio may be output for a visually impaired user , in addition to or instead of a visual output . this may include speech generation . in step 8830 , information may be output visually for a hearing impaired user , in addition to or instead of an audible output . in step 8835 , voice input may be translated into a visual input for a hearing impaired user . for example , the mpn may include an audio input inc to accept a voice input that the user wishes to have translated . the system may use voice recognition to provide a visual display , which may be , for example , text or sign language . in step 8840 , voice input may be accepted from a physically impaired user . in step 8850 , breath input may be accepted from a physically impaired user . this may include allowing a user to input commands to the mpn by blowing into a tube . in step 8860 , one or more incs may be configured to be mounted on a wheelchair or other device used by a disabled user . as described in step 3265 of fig3 , an mpn may be used by a traveler to provide travel - related functions . this is illustrated in more detail in fig8 . all steps are optional and may be performed in any suitable order . in step 8902 , the system may provide language translation . it may translate from the user &# 39 ; s language to a second language , or from a second language to the user &# 39 ; s language . input may be text or it may be spoken with voice recognition . output may be text , spoken with speech generation , or both . translation may be based on a local dialect or local slang . in step 8904 , the system may provide currency conversion . it may convert home currency to travel currency , or travel currency to home currency . in step 8906 , the system may provide time zone conversion . it may allow the display of time in the local time zone , in the home time zone , or any other time zone . in step 8910 , the mpn may monitor the user &# 39 ; s position , for example using a gps monitor . information on the user &# 39 ; s position may be provided to the user in step 8912 . in step 8914 , the system may provide guidance to the user based on the user &# 39 ; s location . in step 8916 , the system may provide the user with information about a geographical region . this may include geographical information , local customs , laws , tipping guidelines , and other suitable local information . in step 8920 , the system may provide directions to a local business or attraction , which may be based on the user &# 39 ; s location . in step 8922 , a discount with a local business may be provided . in step 8924 , an advertisement for a local business may be provided to the user . in step 8930 , information may be provided about local flora and / or fauna . in step 8932 , the system may assist the user in identifying local wildlife . in step 8940 , the system may allow the user to maintain a travel journal . in step 8950 , the system may provide weather information , such as a local weather forecast . in step 8952 , the system may provide a transit schedule , such as an airline schedule to or from a travel location , local train and bus schedules , and the like . in step 8954 , the system may provide a local entertainment schedule . in step 8956 , the system may allow the user to track expenses , for example in either local or home currency . the system may accept text input in step 8960 , voice input in step 8962 , video input in step 8964 , still image input in step 8966 , sketch pad input in step 8968 , or any other suitable form of user input . in step 8970 , the system may be customized to a specific geographical region . for example , prior to a trip , a user may enter the destination or destinations into a software application running on a personal computer . suitable information for the specific region or regions may be downloaded over a network such as the internet , and may be downloaded into an inc of the electronic travel journal , such as a control unit . suitable information may include local language and dialect translation dictionaries , currency exchange rates , time zone information , information about a location , businesses , customs , laws , geography , wildlife , flora , climate information and weather forecasts , local transit schedules , local entertainment schedules , and any other suitable local information . if desired , local information may be updated while traveling , for example by connecting one of the incs to a connection such as an internet connection . fig9 shows a block diagram of illustrative mpn 9000 that may be used while traveling . mpn may include processor 9010 , which may , for example , be part of a control unit . image memory 9012 may be used for storing video images and other user inputs . database memory 9014 may be used to store downloaded data . image memory 9012 and database memory 9014 may be the same memory , and may be part of a control unit . digital camera 9020 may be provided . it may be capable of capturing video still images . if desired it may also be capable of capturing video clips . communications device 9030 may be used for downloading data into database memory 9014 , and for uploading user data form image memory 9012 . text input inc 9040 , drawing pad / touch screen input 9042 , and voice input inc 9044 may be provided to allow text , drawing , and voice input for travel features , respectively . if desired , voice input inc 9044 may also include a voice recognition capability . clock 9050 may be provided to tag user entries with the current time , and to provide a user time display . gps monitor 9052 may be included to provide location information in support of travel features . display 9060 may also be provided to view information . if desired , an audio output inc , not shown , may be provided . incs may be separate devices , or may be combined in any suitable fashion . step 8940 ( fig8 ), providing a travel journal , is described in more detail in fig9 . all steps are optional and may be performed in any suitable order . in step 9110 , a mobile electronic journal may be provided , for example as described in conjunction with fig4 . the travel journal may be configured , for example , as the mpn shown in fig9 . any suitable travel database or databases may be included and stored in database memory 9014 . for example , a database of local businesses may be provided in step 9120 . a database of local attractions may be provided in step 9121 . a database of local parks may be provided in step 9122 . a database of local plants may be provided in step 9123 . a database of local animals may be provided in step 9124 . a database of local geology may be provided in step 9125 . a database of local customs may be provided in step 9126 . any other suitable travel data may also be included . the database or databases may be downloaded into the database memory prior to a trip , based on the planned destination or destinations . if desired , any database may be updated during a trip , for example using communications device 9030 to connect to a network such as the internet . any journal entry may be allowed to link to one or more database elements from any of the supported databases . the travel journal may also provide any other suitable travel function or functions , such as language translation in step 9130 , currency conversion in step 9132 , time zone conversion in step 9134 , route guidance in step 9136 , electronic guidebook features ( e . g ., information about local customs , businesses , attractions , etc .) in step 9138 , advertisements in step 9140 , a discount at a local business in step 9142 , a local weather forecast in step 9144 , transit schedules in step 9146 , entertainment schedules in step 9148 , or expense management in step 9150 . if desired , any journal entry may be linked to an element from another travel feature . step 8932 ( fig8 ), assisting a user in identifying local wildlife , is described in more detail in fig9 . all steps are optional and may be performed in any suitable order . the mpn may be configured , for example , as shown in fig9 . in step 9210 , the user may be allowed to capture an image of wildlife , for example using digital camera 9020 , and it may be stored in image memory 9012 . in step 9220 , a library of images of wildlife may be stored , for example in database memory 9014 . the library of images may be downloaded into database memory 9014 in step 9222 for example using communications device 9030 . the images downloaded may be specific to a geographical region in step 9224 . in step 9230 , the captured image may be compared with the images from the library , using , for example , processor 9010 . in step 9232 , the system may allow the user to assist the search , for example by using a user input inc to narrow a list of potential matches . in step 9234 , one or more potential matches may be presented to the user , for example using display 9060 . in step 9240 , additional information may be provided for the wildlife in the library . for example , there may be text descriptions , descriptions of habitat and habits , sound samples characteristic of the wildlife , etc . in step 9250 , the user may be allowed to annotate the captured image . for example , the user may be allowed to add text in substep 9252 , voice or other captured audio in substep 9254 , a drawing in substep 9256 , or any other suitable type of user annotation . in step 9260 , the captured image may be automatically annotated . that may include an annotation with a link to any match or matches from the wildlife library in substep 9262 , the time the image was captured determined for example using clock 9050 in substep 9264 , the location at which the image was captured in substep 9266 determined for example using gps monitor 9052 , or any other suitable automatic annotation . fig9 shows more detail of step 3225 of fig3 , supporting outdoor enthusiast features with an mpn . all steps are optional and may be performed in any suitable order . in step 9310 , the mpn may provide directional information . for example , one of the incs may include a compass . in step 9320 , the mpn may provide position information , if for example one of the incs contains a position monitor . in step 9330 , the mpn may provide elevation information , using an inc that may include an elevation monitor . in step 9340 , the mpn may provide route guidance . guidance may be based on , for example , topographical information , trail maps , visual landmarks , and other items useful to a hiker , skier , snowshoer , or other outdoor enthusiast . the mpn may also provide weather related information , such as environmental temperature readings in step 9350 , humidity readings in step 9360 , or barometric readings in step 9370 . other suitable outdoor features may also be included if desired . fig9 shows more detail of step 3240 of fig3 , providing an identification function with an mpn . all steps are optional and may be performed in any suitable order . in step 9410 , the mpn may confirm an identity using a smart card , with an inc that may include a smart card reader . in step 9415 , the mpn may confirm an identity using a personal code or password , for example if one of the incs allows numeric or text entry . in step 9420 , an identity may be confirmed using biometrics . the biometric may be any suitable technique adapted to a portable inc in the mpn , and may include fingerprint analysis in substep 9421 , voice identification in substep 9422 , hand or finger scanning in substep 9423 , analysis of typing characteristics in substep 9424 , signature analysis in substep 9425 , iris scanning in substep 9426 , retina scanning in substep 9427 , or facial scanning in substep 9428 . if desired , other physical characteristics may be used for identification , such as athletic performance data or metabolic data . in step 9430 , exchange of money may be provided based on the confirmed identity . in step 9440 , the identity may be proven to another person . in step 9445 , the identity may be proven to another system , such as another mpn . in step 9450 , a product discount may be provided based on the confirmed identity . in step 9455 , product purchasing may be provided based on the confirmed identity . if desired , the system may store purchasing information , such as a credit card number , a bank account number , a bank balance , or any other suitable information . if desired , the personal identification may also be used to prevent unauthorized use of the mpn or any of its incs . the personal identification may also be used to provide secure access to restricted areas , features , and the like . fig9 shows more detail of step 3245 of fig3 , providing a personal security function with an mpn . all steps are optional and may be performed in any suitable order . in step 9505 , the mpn may be capable of providing an audible alert , such as a whistle or other alarm . in step 9510 , the mpn may be configured to provide an alert to public safety personnel . for example , an inc may be provided that includes a communication inc configured to transmit a message to an emergency dispatch facility , a police department , a fire department , or an emergency medical facility . the audible alert or emergency message may be triggered by a specific user input , or by any other suitable input or lack of input that may arise in the event of a personal or public emergency . in step 9520 , the mpn may store emergency contact information for the user , and may be configured to display or otherwise provide that information with suitable authorization . in step 9530 , the mpn may be configured to store emergency medical information , such as preexisting conditions , allergies , current prescriptions , etc ., and may be configured to display or otherwise provide that information with suitable authorization . fig9 shows more detail of step 3250 of fig3 , providing a military function in an mpn . all steps are optional and may be performed in any suitable order . for example , individual military members involved in ground support may each be equipped with an mpn having suitable incs and functions . the mpn may provide a communications function in step 9610 , such as instant message , and voice , data , text , or video communications . the mpn may provide location functions in step 9620 , such as providing the current location using a gps monitor . the mpn may include guidance functions in step 9630 . that may include guidance to specific position in substep 9632 , and directional information in substep 9634 . the mpn may provide weather functions in step 9640 . this may include barometric readings in substep 9642 , environmental temperature readings in substep 9644 , humidity readings in substep 9646 , or any other suitable weather function . as described in step 3270 of fig3 , an mpn may support multiple functions . some combinations have been described above . for example , providing both athletic and guidance functions was described in conjunction with fig4 a . providing both music and other audio cues was described in conjunction with step 2960 of fig2 . another example of an mpn 9700 that may be used for multiple purposes is shown in fig9 . mpn 9700 may include inc 9710 , configured to be worn on the wrist . inc 9710 may include a display inc , user controls , and a microphone . mpn 9700 may include inc 9720 , configured to be worn on a waistband . inc 9720 may include control unit functions , clock functions , storage of audio and video media , and a gps monitor . mpn 9700 may include inc 9730 , which may be a video / still camera configured to be worn on a waistband . mpn 9700 may include inc 9740 , which may be an audio output inc . mpn 9700 may include inc 9750 , which may be a heart rate sensor configured to be worn on the chest . these incs are merely illustrative . any suitable incs and method of carrying may be used . fig9 shows flow chart 9800 of an illustrative process for allowing multiple uses of mpn 9700 ( fig9 ). all steps are optional and may be performed in any suitable order . in step 9805 , the user may be allowed to listen to music . music may be stored digitally in inc 9720 and sent to inc 9740 to be heard . in step 9810 , the user may be allowed to collect media data . for example , using the microphone in inc 9710 and using inc 9730 , the user may collect audio data in substep 9812 , video data in substep 9814 , and still images in substep 9816 . in step 9820 , the mpn may collect personal data . that may include , for example , heart rate data 9822 collected from inc 9750 or other suitable athletic data 9826 , and speed , location 9824 , and elevation data collected from the gps monitor in inc 9720 . in step 9830 , the media data may be stored , for example in memory in inc 9720 . in step 9832 , the personal data may be stored , for example in memory in inc 9720 . in step 9834 , a relationship may be stored between the media data and the personal data . for example , the personal data may be stored at a regular interval with a time stamp , and the collected media data may use the same time stamp . in step 9840 , the mpn may interpret collected media . that may include speech recognition in substep 9842 . the interpreted media may be used to control the functions of the mpn in step 9845 , for example controlling the collection of personal data . alternatively , the interpreted media may be stored as text or in another suitable format . in step 9850 , data may be uploaded , for example to a base station or personal computer . that may include uploading the personal data in substep 9852 , the media data in substep 9854 , and the relationship between them in step 9856 . in step 9860 , the uploaded data may be stored . this may include storing the personal data in substep 9862 , the media data in substep 9864 , and the relationship data in substep 9866 . in step 9870 , the personal data may be displayed . in step 9872 , the media data may be displayed or output based on its relationship to the personal data . see the description of fig4 and 48 for examples of the display of personal data and the related media data . fig9 shows illustrative data structure 9900 that may be used to store personal data and their relationships to media data . in this example , personal data samples are stored every second . first sample 9920 has time stamp 9910 and has no linked media . second sample 9940 has time stamp 9930 , and has related media link 9950 . in this case , the media link is the name of a file containing a still image captured by the user . the mpn has automatically named the file based on the type of content and date and time of capture . third sample 9970 with stamp 9960 in this example has no linked media . the ability to easily turn off all incs in an mpn may be useful to conserve power . it may also be useful to terminate radio frequency transmission in an environment in which they may cause unwanted interference , such as on a commercial airliner . one of the commands received by the user input inc may be a turn on command , or a turn off command . these may be global commands applying to all incs in the mpn . a process for handling a global turn on command and a global turn off command is shown in fig1 a and fig1 b . all steps are optional and may be performed in any suitable order . flow chart 10100 of fig1 a shows an illustrative process that may be performed by a user input inc , or by an inc such as a control unit that receives commands from a user input inc . in step 10102 , the inc may be in its normal “ on ” state , in which it processes commands and data normally . the inc may check for user input in step 10104 . if no user input is received , the inc may remain in its normal “ on ” state and continue with normal functions . if user input is received , the inc may check to see if it is a turn off command in step 10106 . any appropriate type of user input may be used , such as a voice input , a key press , etc . if the user input is not a turn off command , the inc may process the user input normally in step 10108 and continue with normal functions . if the user input is a turn off command , the inc may check to see if the command is validated in step 10110 . validation may consist of a second input , holding the key down for an extended period , the entry of a personal code , or any other suitable user validation . if desired , the inc may not require validation . if the turn off command is not validated within a defined period of time , the inc may return to its normal “ on ” state . if the turn off command is validated , the inc may proceed with the turn off sequence . in step 10112 , the inc may send a turn off command to all of the incs in the mpn . this may be a single message that is broadcast to all incs with the same network identifier in substep 10114 . alternatively , individual messages may be sent addressed to each inc in substep 10116 . in step 10118 , the inc may wait for confirmation from each other inc . if confirmation is not received , the inc may resend the turn off command , display an error message , or perform another suitable action . if desired , the wait for confirmation step may be optional . once all confirmations have been received , the inc may enter a low power mode , in step 10120 . for example , if a processor with a sleep mode is used in the inc , it may enter the sleep mode , and it may configure an interrupt to be generated when a user input is received . while in the low power turned off state , the inc may check for user input , in step 10122 . for example , an interrupt may be generated when a user input is received . if no user input is received , the inc may remain in the turned off state . if user input is received , the inc may check to see if it is a turn on command , in step 10124 . if not , the user input may be ignored and the inc may remain in the turned off state . if the turn on command is confirmed , the inc may resume its high power mode , in step 10126 . turn on messages may be sent to all components in step 10128 , either as a single broadcast message or as individually addressed messages . the inc may resynchronize with the other components in step 10130 . this may include waiting for acknowledgement from the turn on message , resending the turn on message if required , or synchronizing functions that may have been in progress prior to the turn off command . in step 10132 , normal functioning may resume . flow chart 10150 of fig1 b shows an illustrative process that may be performed by an inc that does not receive user input . the inc may start in its normal “ on ” state , in step 10152 . it may be performing its normal functions , such as data collection , output , control , storage , or other functions or combination of functions . in step 10154 , the inc may check for a message , such as a wireless message from another inc in the mpn . this may include checking to see if the message has the correct network identifier , component identifier , or other address . if no message is received , the inc may continue its normal functions . when a message is received , the inc may check to see if it is a turn off message , in step 10156 . if not , the message may be handled normally , in step 10158 , and the inc may remain in its normal “ on ” state . when a turn off message is received , the inc may acknowledge the message in step 10160 . the acknowledgement may be optional . in step 10162 , the inc may stop its normal functions . this may include stopping any data collection , output , or control functions . the inc may stop sending any information using its wireless transmitter . preferably , the inc will retain any stored information in memory , including information about any processes that may have been underway , and any other information required to later resume normal functions . in step 10164 , the inc may enter a low power mode . for example , if a processor with a sleep mode is used in the inc , it may enter the sleep mode , and it may configure an interrupt to be generated when a wireless message is received . while in low power mode , the inc may check for incoming messages , in step 10166 . if no message is received , it may remain in low power mode . when a message is received , the inc may check to see if it is a turn on message , in step 10168 . if the message is not a turn on message , the inc may ignore it and remain in the low power off state . when the turn on message is received , the inc may resume its high power mode in step 10170 . an optional acknowledgement message may be sent in step 10172 . optionally , the inc may resynchronize with other incs in the mpn , in step 10174 . this may include synchronizing any functions that were in progress when the power off message was received . in step 10176 , the inc may resume normal functions , and return to its normal “ on ” state . although various embodiments have been described herein in terms of an mpn , many of them are possible without all of the features and aspects of an mpn . for example , components may be designed specifically for a single purpose , and may not support dynamic configuration of a wireless network . although our present invention has been described in considerable detail with reference to certain preferred embodiments thereof , other embodiments are possible . this includes uses , functions , components , and combinations thereof that may not be fully described . therefore , the spirit and scope of the appended claims should not be limited to the description of the preferred embodiments contained herein .