PACING TRAINING SYSTEM
20230144722 · 2023-05-11
Inventors
Cpc classification
A63B71/0686
HUMAN NECESSITIES
F21S8/032
MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
A63B2225/50
HUMAN NECESSITIES
F21Y2115/10
MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
A63B2225/02
HUMAN NECESSITIES
A63B2024/0025
HUMAN NECESSITIES
F21W2131/103
MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
F21Y2105/10
MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
A63B71/0622
HUMAN NECESSITIES
International classification
A63B71/06
HUMAN NECESSITIES
A63B69/00
HUMAN NECESSITIES
F21S8/00
MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
Abstract
A pacing system signals runners with lights indicating if the runner is ahead or behind a preset pace as the runner proceeds around a running track. The system includes a controller that provides pace setting, start, stop, pause, and reset functions; pacing stations (e.g., 20) that are placed at intervals around the running track; and a cart for transport and battery charging. Paces are setup in the controller with a specific number of laps and a time per lap. Bright LED lights in LED matrices in the pacing stations signal the runners outdoors in sunlight. The controller wirelessly communicates with the pacing stations to signal the pacing stations to light at intervals determined by the preset pace. The system may support two or more simultaneous paces and variable pacing per lap to accommodate multiple runners.
Claims
1. A pacing system that signals runners with lights indicating if a runner is ahead or behind a preset pace as the runner proceeds around a running track, comprising: a controller that is adapted to accept inputs for setting a pace in a setup mode and an input for starting a pace setting in a run mode, and a wireless transceiver that transmits pacing information; and a plurality of pacing stations that are placed at intervals around the running track and include lights that light sequentially at respective pacing stations around the running track based on a set pace, wherein each pacing station includes a wireless transceiver that receives the pacing information from the controller.
2. The pacing station as in claim 1, wherein the lights in the respective pacing stations blink as a runner is expected to approach the pacing station based on the set pace and turn on steadily when the runner is expected to reach the pacing station based on the set pace.
3. The pacing system as in claim 1, wherein the controller accepts inputs for designating a number of laps and a time per lap for the set pace.
4. The pacing system as in claim 1, wherein the controller accepts inputs for setting at least two paces and respective pacing stations comprise different lights for each pace.
5. The pacing system as in claim 1, wherein the controller includes a start button that starts the pace setting in the run mode upon pressing of the start button.
6. The pacing system as in claim 1, wherein the respective pacing stations comprise a matrix of LED lights for each set pace.
7. The pacing station as in claim 1, wherein the controller wirelessly communicates with respective pacing stations to signal a light of the pacing stations to blink or turn on steadily based on the set pace and a distance of the respective pacing station from a starting line on the running track.
8. The pacing station as in claim 1, further comprising a metal frame for each respective pacing station that attaches to a case of the respective pacing station magnetically and breaks away from the respective pacing station upon contact.
9. The pacing station as in claim 1, wherein at least one of the pacing stations comprises a speaker to announce elapsed race time.
10. The pacing station as in claim 1, further comprising a cart that transports the controller and pacing stations and provides battery charging of the controller and pacing stations.
11. A method of pacing at least one runner as the at least one runner proceeds around a running track, comprising: accepting inputs for setting at least one pace, the inputs including a number of laps and a desired time for each lap for each pace; wirelessly transmitting pacing information for the at least one pace to each of a plurality of pacing stations that are placed at intervals around the running track; and as the at least one runner proceeds around the running track, sequentially lighting lights at respective pacing stations around the running track based on the at least one set pace.
12. The method claim 11, wherein sequentially lighting lights at the respective pacing stations comprises causing the lights at the respective pacing stations to blink as the at least one runner is expected to approach a respective pacing station based on the at least one set pace and causing the lights at the respective pacing station to turn on steadily when the at least one runner is expected to reach the respective pacing station based on the set pace.
13. The method of claim 11, further comprising lighting lights of different colors for each pace at the respective pacing stations.
14. The method of claim 11, wherein sequentially lighting lights at the respective pacing stations comprises causing lights at the respective pacing stations to blink or turn on steadily based on the set pace and a distance of the respective pacing stations from a starting line on the running track.
15. The method of claim 1, further comprising placing the respective pacing stations in a metal frame for each respective pacing station that attaches to a case of the respective pacing station magnetically and breaks away from the respective pacing station upon contact.
16. The method of claim 11, further comprising at least one of the pacing stations announcing an elapsed race time.
17. The method of claim 11, comprising a controller that accepts the inputs for setting the at least one pace, further comprising synchronizing a timing of the controller and the respective pacing stations.
18. The method claim 11, further comprising transporting and charging the pacing stations using a cart having electrical charging outlets for each pacing station.
19. A non-transitory computer readable medium comprising instructions that when executed by at least one processor cause the at least one processor to implement a method of pacing at least one runner as the at least one runner proceeds around a running track, the method comprising: accepting inputs for setting at least one pace, the inputs including a number of laps and a desired time for each lap for each pace; wirelessly transmitting pacing information for the at least one pace to each of a plurality of pacing stations that are placed at intervals around the running track whereby, as the at least one runner proceeds around the running track, lights are sequentially lighted at respective pacing stations around the running track based on the at least one set pace; and initiating pace timing by the respective pacing stations.
20. The medium claim 19, wherein initiating the pace timing causes the lights at the respective pacing stations to blink as the at least one runner is expected to approach a respective pacing station based on the at least one set pace and the lights at the respective pacing station to turn on steadily when the at least one runner is expected to reach the respective pacing station based on the set pace.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0012] The foregoing and other beneficial features and advantages of the invention will become apparent from the following detailed description in connection with the attached figures, of which:
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
DETAILED DESCRIPTION
[0023] Embodiments of the pacing system described herein may be understood more readily by reference to the following detailed description taken in connection with the accompanying figures and examples that form a part of this disclosure. It is to be understood that this description is not limited to the specific products, methods, conditions, or parameters described and/or shown herein, and that the terminology used herein is for the purpose of describing particular embodiments by way of example only and is not intended to be limiting of any claimed subject matter. Similarly, any description as to a possible mechanism or mode of action or reason for improvement is meant to be illustrative only, and the subject matter described herein is not to be constrained by the correctness or incorrectness of any such suggested mechanism or mode of action or reason for improvement. Throughout this text, it is recognized that the descriptions refer both to methods and systems/software for implementing such methods.
[0024] A detailed description of illustrative embodiments will now be described with reference to
[0025] The pacing system described herein provides a more reliable way for runners to train. The portable pacing system provides a reliably reproducible pacing that is easier to learn. By providing visual lighting cues along with the simultaneous announcement of the times while the runner is running, development of the runner's performance may be reliably enhanced. The pacing system provides reproducible modeling of speed pacing for runners who are training at any running distances. Through paced runs, athletes may develop muscle memory for a given speed and then, with training, lower their times while improving their consistency.
[0026] In sample configurations, pacing light units are spaced evenly around a track to provide sequential visual cues that help the athletes learn their pace. Each athlete may maintain their pace by matching the visual cue of illumination of colored lights on the pacing stations as they pass the respective pacing stations. The lights thus enhance training by providing an accurate, reproducible and adjustable method of training for any desired pace.
[0027] As illustrated in
[0028]
[0029] During operation, the user starts by placing the pacing stations 200 at even intervals around the running track as shown in
[0030] A rotary measuring tool may be used to measure the 20 meter increments around the track. The track is setup by putting pacing station 200 at the starting line, then measuring 20 meter increments and placing the remaining pacing stations 200, from 1-19 around the track. It may be useful to mark the locations with tape or paint for subsequent training sessions.
[0031] Setup of the controller 100 will be described with reference to FIG.
[0032] At step 400, the controller 100 is turned on and the system is reset by touching the START button 500 (
[0033] During a training session, the runners line up for start. The runners start and the Start button 500 is pressed on the controller 100 at 460, and the controller 100 signals the pacing lights of the respective pacing stations 200 to start timing. The pacing lights start their timing cycle, displaying their lights as appropriate. For example, the first pacing station 200 after the starting line will display its pacing light at 1/20.sup.th of the pacing interval (assuming that 20 pacing stations 200 are being used), the second pacing station 200 after the starting line will display its pacing light at 2/20.sup.th of the pacing interval, and so forth.
[0034] As the runners proceed around the track, each pacing station 200 will blink its light more quickly as it reaches the proper pace time for that position on the track. Once the pacing station 200 reaches its time point, the light will be turned on steadily. This way, the runner will know where they are relative to the pace. In a sample configuration, if the runner reaches a given pacing station: [0035] Light is still blinking—the runner is ahead of the pace; [0036] Light turns solid as the runner passes—the runner is on pace; and [0037] Light turns solid before the runner passes—the runner is behind pace.
[0038] As noted above, the controller 100 is a hand-held device that is battery operated and can be recharged when not in use (or during use). The controller 100 functions include setting the pace timings, starting and stopping the timing process, resetting the entire system, and sending control signals, polling, and tracking presence of each pacing unit over a wireless connection. The controller 100 is adapted to handle setup and operation of at least two paces. In a sample configuration, the respective paces are designated by different color lights on the pacing stations 200. For example, the paces may be designated as A (red) and B (green), where the LED matrices 220 of the respective pacing stations 200 are red and green for the A and B paces, respectively.
[0039] In a sample configuration, the controller 100 includes a waterproof plastic box with a rechargeable battery mounted inside capable of, for example, 12 hours of continuous use. Charging is through a standard micro-USB port 160, which is connected to the charging station (
[0040] The controller 100 has a Setup mode and a Run mode. In Setup mode, the laps count and lap times are set, as described above. In Run mode, the lap timers will run for each pace that has been set in the Setup mode.
[0041] In Setup mode, the controller 100 provides an interface to setup the lap timings and counts, start and stop the pacing, and reset all pacing stations. Since the controller 100 will most frequently be used outdoors, the colors of the LCD display screen 110 are selected for use in bright sunlight as well as cloudy/darker conditions. The display screen 110 will dim and turn off after a period of inactivity. For example, after 30 seconds of inactivity, the display screen 110 will dim to 50%. After 10 more seconds of inactivity, the display screen 110 will turn off. During inactivity, any touch will bring the display screen 110 back, but touch will be ignored in any user interface screen.
[0042] During setup, the controller 100 will show an introduction/splash screen of the type shown in
[0043] Once the pacing stations 200 have been reset, the user selects the number of laps for pace A. In an example, the default lap count is 2, the minimum lap count is 1, and maximum lap count is 12. Up and down arrow buttons 520 may be used to increase/decrease the lap count as shown in
[0044] Next, the user selects the lap time in minutes and seconds. In an example, the default lap time is 55 seconds, a minimum lap time is 10 seconds, and a maximum lap time is 120 minutes. As shown in
[0045] The process of setting the number of laps and lap time in minutes and seconds is repeated for pace B and any additional paces.
[0046] Once the laps and lap timing has been set, the controller 100 sends the timing settings to each of the pacing stations 200. The station count increases as the pacing stations 200 respond to the timing settings. As shown in
[0047] In Run mode, the Start button 540 is pressed to start the timing in coordination with the start of the runners. The timer will count up to the lap time, then increment the lap count for each lap. The timing display during the running/timing process shows the current lap count and timing for each pace at 550 as shown in
[0048] The Stop button 560 is pressed to stop a pacing session for any reason. Otherwise, the controller 100 will stop at the end of each pacing cycle and will return to the ready position. Pressing the Stop button 560 again will reset both paces, starting with setup of pace A.
[0049]
[0050] When the pacing stations 200 power up, they will register with the controller 100 at 600. In response to receiving the registration message from a pacing station 200, the controller 100 sends an acknowledgement message that the pacing station receives at 610. The controller 100 sends a clock synchronization message to the pacing station 200 that the pacing station 200 receives at 620. The pacing station 200 sends an acknowledgement at 630. The clock synchronization message is sent for each pacing station 200 as each pacing station powers up.
[0051] The wireless messages between the controller 100 and pacing stations 200 follow a standard message/acknowledge protocol. The controller 100 sends a message and will expect an acknowledgement from each pacing station 200 for the messages sent to each pacing station 200. On the other hand, broadcast messages to not expect or receive an acknowledgement. In a sample configuration, the communications between the controller 100 and the pacing station 200 include the following
TABLE-US-00001 Message Parameters Direction Description REGISTER Station ID To Station Register a pacing station, send specific (1-20) station number. This will also synchronize the time on the pacing stations. Network time LAPTIME Station ID To Stations Sends the lap time for each pace to all pacing (1-20) stations. Pace A seconds Pace B seconds START Current Broadcast to Tells all pacing stations to start timing. time Stations STOP Current Broadcast to Tells all pacing stations to stop timing. time Stations RESET Current Broadcast to Tells all pacing stations to reset and await time Stations LAPTIME command. ACK Station ID To Controller Response to all commands from controller. (1-20) IDENTIFY Station ID To Controller Sent from pacing station to identify itself. (1-20) SYNCH Current Broadcast to Sent to all stations to synchronize time. time Stations
[0052] In a sample configuration, the pacing stations 200 (
[0053] As shown in
[0054] The pacing stations 200 include a USB charging port 720 for charging internal rechargeable batteries. The pacing stations 200 are also waterproof for outdoor use.
[0055] The pacing stations 200 each include a central processing unit (CPU) (e.g., ATS AMD 21G18 ARM Cortex M0 or an Arduino UNO processor), a wireless module (e.g., RFM69, 915 MHz, Packet Radio), an external antenna 230, a red LED array (A) and green LED array (B) 220, a rechargeable battery, a battery charging circuit, a unit select DIP switch, and a power switch. At least one of the pacing stations 200 may be adapted to include one or more speakers for calling out the elapsed race time.
[0056] The pacing stations 200 have no user operation function. The pacing stations 200 are placed around the track at 20 meter intervals with a first station 20 meters from the starting line.
[0057] An internal setting DIP switch (not shown) may control the station identification numbers (1-20) as shown by the station number setting below. The pacing stations 200 must be placed in order around the track 210 for the timing to work correctly. Each pacing station 200 may be marked on the outside with its station number.
Station Number Settings
[0058]
TABLE-US-00002 Station Switch 1 2 3 4 5 1 On Off Off Off Off 2 Off On Off Off Off 3 On On Off Off Off 4 Off Off On Off Off 5 On Off On Off Off 6 Off On On Off Off 7 On On On Off Off 8 Off Off Off On Off 9 On Off Off On Off 10 Off On Off On Off 11 On On Off On Off 12 Off Off On On Off 13 On Off On On Off 14 Off On On On Off 15 On On On Off Off 16 Off Off Off Off On 17 On Off Off Off On 18 Off On Off Off On 19 On On Off Off On 20 Off Off On Off On
[0059] Two LED indicators may be provided on the side of each pacing station 200, one is a power indicator and the other is the battery charging indicator. When the pacing station 200 is in the charging rack (powered on) and the charging LED is on, the internal battery is charging. The LED will turn off when the battery is fully charged.
[0060] When each pacing station 200 is powered on, the radio network is initialized and the default lap time is set to 30 for 8 laps. The pacing station 200 reads its DIP switch settings for identification. The pacing station 200 alternately blinks the A/B LEDs to count up to the station number and to show proper operation.
[0061] Referring back to
[0062] When the pacing station 200 receives a message, if the message is PACE_CONNECT or PACE_SEND_PACES, a return acknowledge (Ack) is sent to the controller 100. If the message is any other broadcast message, the pacing station 200 checks if the message is a repeat and only processes the message if the same message is not received within 3 seconds. The pacing station 200 then processes each message. For example, if the next message is a RESET command, the pacing station 200 resets each pace and sets the network time to the controller time. The pacing station 200 also may flash the pace indicator. Then, upon receipt of a START command, the pacing station 200 starts the timing for the specified pace. However, if a STOP command is received at any time, the pacing station 200 stops the timing for the specified pace.
[0063] While a pace is running, each pacing station 200 calculates its timing based on its station number. Based on the calculation, the pacing station 200 begins flashing the pace indicator on the LED matrix 220 when the runner should be 20 meters before the station according to the set pace. The pace indicator is held steady when the runner should be at the pacing station 200 according to the set pace. When the runner is calculated to be 20 meters past the pacing station 200 based on the set pace, the pace indicator is turned off. The pacing station 200 may then calculate the timing for the next lap. If the current lap is the last lap, the pacing station 200 may move to idle and await the next command from controller 100. All calculations are done based on the station number, lap time of the current lap, and the network timing latency.
[0064] At least one of the pacing stations 200 may include at least one speaker and be programmed to announce elapsed race time in conjunction with the light displayed by each LED matrix 220 of each pacing station 200. The timing may be called out every 5 or 10 seconds and at one minute call “1” then continue again at 10, 20, 30 seconds until two minutes have elapsed and then call “2” and again repeat at 10 second intervals with the minutes called in succession for as long as programmed or just continuously.
[0065] A carrying/charging cart may also be provided to provide a place to store and transport the controller 100 and pacing stations 200. An example carrying/charging cart is shown in
[0066] The carrying/charging cart 800 thus includes a hand truck including wheels 810 and handle 820, a component rack including compartments 840, a 5V power supply, USB charging cables for the controller 100, a power inlet 830 and a switch, a power cable, and a roller measuring tool. The carrying/charging cart 800 may also be designed to include waterproof charging components.
Computer Architecture
[0067]
[0068] Memory 903 may include volatile memory 914 and non-volatile memory 908. Computer 900 may include—or have access to a computing environment that includes—a variety of computer-readable media, such as volatile memory 914 and non-volatile memory 908, removable storage 910 and non-removable storage 912. Computer storage includes random access memory (RAM), read only memory (ROM), erasable programmable read-only memory (EPROM) or electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, compact disc read-only memory (CD ROM), Digital Versatile Disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium capable of storing computer-readable instructions.
[0069] Computer 900 may include or have access to a computing environment that includes input interface 906, output interface 904, and a wireless communication interface 916. Output interface 904 may include a display device, such as a touchscreen, that also may serve as an input device. The input interface 906 may include one or more of a touchscreen, touchpad, mouse, keyboard, camera, one or more device-specific buttons, one or more sensors integrated within or coupled via wired or wireless data connections to the computer 900, and other input devices.
[0070] The computer 900 may operate in a networked environment using a communication connection to connect to one or more remote computers, such as database servers. The remote computer may include a personal computer (PC), server, router, network PC, a peer device or other common DFD network switch, or the like. The communication connection may include a Local Area Network (LAN), a Wide Area Network (WAN), cellular, Wi-Fi, Bluetooth, or other networks. According to one embodiment, the various components of computer 900 are connected with a system bus 920.
[0071] Computer-readable instructions stored on a computer-readable medium are executable by the processing unit 902 of the computer 900, such as a program 918. The program 918 in some embodiments comprises software that, when executed by the processing unit 902, performs operations according to any of the configurations included herein. A hard drive, CD-ROM, and RAM are some examples of articles including a non-transitory computer-readable medium such as a storage device. The terms computer-readable medium and storage device do not include carrier waves to the extent carrier waves are deemed too transitory. Storage can also include networked storage, such as a storage area network (SAN). Computer program 918 may be used to cause processing unit 902 to perform one or more methods or algorithms described herein.
[0072] Although a few configurations have been described in detail above, other modifications are possible. For example, the logic flows depicted in the figures do not require the particular order shown, or sequential order, to achieve desirable results. Other steps may be provided, or steps may be eliminated, from the described flows, and other components may be added to, or removed from, the described systems. Other embodiments may be within the scope of the following claims.
[0073] It should be further understood that software including one or more computer-executable instructions that facilitate processing and operations as described above with reference to any one or all of steps of the disclosure can be installed in and sold with one or more computing devices consistent with the disclosure. Alternatively, the software can be obtained and loaded into one or more computing devices, including obtaining the software through physical medium or distribution system, including, for example, from a server owned by the software creator or from a server not owned but used by the software creator. The software can be stored on a server for distribution over the Internet, for example.
[0074] Also, it will be understood by one skilled in the art that this disclosure is not limited in its application to the details of construction and the arrangement of components set forth in the description or illustrated in the drawings. The embodiments herein are capable of other embodiments, and capable of being practiced or carried out in various ways. Also, it will be understood that the phraseology and terminology used herein is for the purpose of description and should not be regarded as limiting. The use of “including,” “comprising,” or “having” and variations thereof herein is meant to encompass the items listed thereafter and equivalents thereof as well as additional items. Unless limited otherwise, the terms “connected,” “coupled,” and “mounted,” and variations thereof herein are used broadly and encompass direct and indirect connections, couplings, and mountings. In addition, the terms “connected” and “coupled” and variations thereof are not restricted to physical or mechanical connections or couplings.
[0075] The components of the illustrative devices, systems and methods employed in accordance with the illustrated embodiments can be implemented, at least in part, in digital electronic circuitry, analog electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. These components can be implemented, for example, as a computer program product such as a computer program, program code or computer instructions tangibly embodied in an information carrier, or in a machine-readable storage device, for execution by, or to control the operation of, data processing apparatus such as a programmable processor, a computer, or multiple computers.
[0076] A computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network. Also, functional programs, codes, and code segments for accomplishing the techniques described herein can be easily construed as within the scope of the claims by programmers skilled in the art to which the techniques described herein pertain. Method steps associated with the illustrative embodiments can be performed by one or more programmable processors executing a computer program, code or instructions to perform functions (e.g., by operating on input data and/or generating an output). Method steps can also be performed by, and apparatus for performing the methods can be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit), for example.
[0077] The various illustrative logical blocks, modules, and circuits described in connection with the embodiments disclosed herein may be implemented or performed with a general-purpose processor, a digital signal processor (DSP), an ASIC, a FPGA or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
[0078] Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read-only memory or a random-access memory or both. The required elements of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks. Information carriers suitable for embodying computer program instructions and data include all forms of non-volatile memory, including by way of example, semiconductor memory devices, e.g., electrically programmable read-only memory or ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory devices, and data storage disks (e.g., magnetic disks, internal hard disks, or removable disks, magneto-optical disks, and CD-ROM and DVD-ROM disks). The processor and the memory can be supplemented by or incorporated in special purpose logic circuitry.
[0079] Those of skill in the art understand that information and signals may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.
[0080] As used herein, “machine-readable medium” means a device able to store instructions and data temporarily or permanently and may include, but is not limited to, random-access memory (RAM), read-only memory (ROM), buffer memory, flash memory, optical media, magnetic media, cache memory, other types of storage (e.g., Erasable Programmable Read-Only Memory (EEPROM)), and/or any suitable combination thereof. The term “machine-readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, or associated caches and servers) able to store processor instructions. The term “machine-readable medium” shall also be taken to include any medium, or combination of multiple media, that is capable of storing instructions for execution by one or more processors 902, such that the instructions, upon execution by one or more processors 902 cause the one or more processors 902 to perform any one or more of the methodologies described herein. Accordingly, a “machine-readable medium” refers to a single storage apparatus or device, as well as “cloud-based” storage systems that include multiple storage apparatus or devices.
[0081] In addition, techniques, systems, subsystems, and methods described and illustrated in the various embodiments as discrete or separate may be combined or integrated with other systems, modules, techniques, or methods without departing from the scope of the present disclosure. Other items shown or discussed as coupled or directly coupled or communicating with each other may be indirectly coupled or communicating through some interface, device, or intermediate component whether electrically, mechanically, or otherwise. Other examples of changes, substitutions, and alterations are ascertainable by one skilled in the art and could be made without departing from the scope disclosed herein.
[0082] Although the present disclosure has been described with reference to specific features and embodiments thereof, it is evident that various modifications and combinations can be made thereto without departing from the scope of the disclosure. The specification and drawings are, accordingly, to be regarded simply as an illustration of the disclosure as defined by the appended claims, and are contemplated to cover any and all modifications, variations, combinations or equivalents that fall within the scope of the present disclosure.