The present invention generally relates to exercise equipment, and more particularly, to exercise devices providing walking or running motions.
The need for physical exercise is especially important in today's world of drive through windows and sitting in front of a computer all day. It is suggested that cardiovascular exercise is most beneficial if the user can obtain an elevated heart rate for at least twenty minutes of sustained exercise. This type of exercise may vary according to the needs and personal preference of the user, but for many people a movement that employs larger muscles, such as those which move the legs and hips may be desirable, as these are capable of doing the most work. For many sedentary individuals the accumulation of excess bodyfat may be a concern. The more work the body does, the more energy the body uses to perform that work. In the human body, most energy storage is in the form of bodyfat. Therefore, using larger muscles to do more work may enable a quicker end result on reducing bodyfat and increasing cardiovascular health. Adding an upper body system to an exercise device may further help by taxing additional muscle groups and increase the work output of the body over time.
It may be beneficial for the user to perform an activity that has a familiar basis to the normal function of the body, such as walking or running. Walking may be preferred for many users, as the impact forces on the legs are less compared to those found in running for the same person, even at the same speed. Using a walking motion may enable some participants to perform the activity that they could not perform under the higher running loads. Also, the lower impact stress may allow some people to perform the activity longer and therefore have a higher cumulative energy expenditure compared to running, even considering the higher energy expenditure per unit of time with running as compared to walking. Increasing the energy expenditure and still maintaining a walking gait may be accomplished by increasing the force required to move the pedals of a machine that simulates walking, or altering the angle to simulate walking up a hill. Either or both may provide a useful alternative to walking on a street or road where the user may be subjected to extreme weather conditions, traffic or physical dangers not found in their home or other controlled environment.
Treadmills have typically been used, but they can be large, expensive and noisy. The noise is due at least partially to the friction between the moving belt and the supporting deck under the belt that occurs with each step. Where there is friction there is wear. The decks must be regularly replaced or lubricated and the belts replaced.
It should, therefore, be appreciated that there is a need for an exercise device that allows the user to simulate walking or other bipedal movement that can be done indoors, with a small footprint and with minimal noise and parts wear. The present invention fulfills this need and others.
Existing elliptical exercise machines attempt to provide a low-impact exercise motion, but force a gait that is strictly elliptical in nature, which is not consistent with a natural walking motion. Further, existing elliptical exercise machines do not allow for a variable stride length. What is needed is a low-impact exercise machine similar to existing elliptical-type exercise machines, but with a more natural gait motion.
Accordingly, the inventor has conceived and reduced to practice an exercise machine with a more natural gait which, in some embodiments, further allows for a variable stride length while in use. In one configuration, each side of the exercise machine has a first crank assembly connected at an upper location on a pedal arm and a second crank connected at a middle location on the pedal arm, and a pedal is attached to a lower location of the pedal arm. The first crank assembly is connected to the pedal arm by a crank arm. The second crank assembly is connected to the pedal arm via a crank arm pivotally attached to a crank link. The path of each pedal is determined by the lengths of crank arms and crank links of the first and second crank assemblies rotating in synchronous motion.
According to a preferred embodiment, an exercise device is disclosed comprising: a frame; a first and a second crank system mounted opposing sides of the frame adapted for positioning a user therebetween, each of the first and second crank system comprising a first crank assembly rotatable about a first axis and a second crank assembly rotatable about a second axis with the first and second axes each being displaced from the other, each of the first crank assemblies comprising a first crank arm, and each of the second crank assemblies comprising a second crank arm; a pair of synchronous control system assemblies one mechanically coupled to the first crank system and the other mechanically coupled to the second crank system, each synchronous control system assembly of the pair of synchronous control system assemblies being mechanically coupled to the first and second crank assemblies of the corresponding crank system in a configuration that allows for 360 degrees of synchronous rotation of the first and second crank assemblies, wherein each first crank arm of each first crank assembly rotates in the same direction as the second crank arm of each second crank assembly by the corresponding synchronous control system assembly of the pair of synchronous control system assemblies; a pair of pedal arms, one coupled to the first crank system and the other coupled to the second crank system, each of the pair of pedal arms being pivotally coupled at a first end to the first crank arm of the first crank assembly and being pivotally coupled at a second end to a pedal; a pair of movable crank links, one corresponding to each of the first and second crank systems, each of the pair of movable crank links comprising a first attachment point, a second attachment point, and a flexible attachment between the first attachment point and second attachment point, wherein the first attachment point of each movable crank link is pivotally coupled to the pedal arm of its corresponding crank system and the second attachment point of each movable crank is pivotally coupled to the second crank arm of its corresponding second crank assembly.
According to an aspect of an embodiment, each of the movable crank link of the pair of movable crank links comprises a first link and a second link, wherein the first attachment point of the movable crank link is proximal to a first end of the first link and the second attachment point of the movable crank link is proximal to a first end the second link, and the attachment point comprises a pivoting attachment of the first and second links.
According to an aspect of an embodiment, the pivoting attachment of the first and second links is at a medial location of both the first and second links, such that a second end of the first link distal from the first attachment point extends past the attachment point and second end of the second link distal to the second attachment point extends past the attachment point.
According to an aspect of an embodiment, a first spring is attached between the second end of the first link the second end of the second link, and a second spring is attached between the second end of the first link and a medial location of the second link.
According to an aspect of an embodiment, a first spring is attached between the second end of the second link the second end of the first link, and a second spring is attached between the second end of the second link and a medial location of the first link.
Embodiments of the present invention will now be described, by way of example only, with reference to the following drawings, in which:
The inventor has conceived and reduce to practice an exercise machine with a more natural gait which, in some embodiments, further allows for a variable stride length while in use. In one configuration, each side of the exercise machine has a first crank assembly connected at an upper location on a pedal arm and a second crank connected at a middle location on the pedal arm, and a pedal is attached to a lower location of the pedal arm. The first crank assembly is connected to the pedal arm by a crank arm. The second crank assembly is connected to the pedal arm via a crank arm pivotally attached to a crank link. The path of each pedal is determined by the lengths of crank arms and crank links of the first and second crank assemblies rotating in synchronous motion.
A control system may be provided that may be in communication with the first crank assembly and the second crank assembly, the control system may provide a synchronous movement of the first crank assembly relative to the second crank assembly. A pedal arm may have a first end pivotally coupled to the first crank assembly and a pedal positioned on a second end of the pedal arm. In addition, a crank link may have one end coupled to the second crank assembly and a second end coupled to the pedal arm. The first crank link may be movably coupled to a location on the first pedal arm and then moved to a second position on the first pedal arm, thereby changing the path of movement of the pedals.
The control system may include a drive shaft rotateably connected to the frame, which may provide mechanical communication between the first crank arm and the second crank arm of the first crank assembly. The control system may also include a drive member selected from the groups consisting of a belt, roller chain, a synchronous belt, a v-belt and a poly-v belt. The control system may also include a torque linkage including a link rod rotateably coupled to the second crank assembly and the drive shaft. The torque linkage may transfer power between the second crank assembly and the drive shaft operating in cooperation with the drive member. A braking system may be provided that may be in mechanical communication with the drive shaft, which may provide a resistance to movement of first crank arm and the second crank arm of the first crank assembly and the second crank assembly.
The exercise device may also include a support frame which may support the first crank assembly and the second crank assembly. The support frame may be movably mounted to a base frame, such that the orientation of the first axis or the second axis may be altered with respect to the base frame and thereby vary the path of the pedals.
The system may include a pair of drive handles pivotally coupled to the frame, each one of the pair of drive handles may include a hand grip on a first end and a drive lever on a second end. A handle link may also be provided with a first end pivotally coupled to the first crank assembly and a second end pivotally coupled to the drive lever.
For purposes of summarizing the invention and the advantages achieved over the prior art, certain advantages of the invention have been described herein. Of course, it is to be understood that not necessarily all such advantages can be achieved in accordance with any particular embodiment of the invention. Thus, for example, those skilled in the art will recognize that the invention may be embodied or carried out in a manner that achieves or optimizes one advantage or group of advantages as taught herein without necessarily achieving other advantages as may be taught or suggested herein.
All of these embodiments are intended to be within the scope of the invention herein disclosed. These and other embodiments of the present invention will become readily apparent to those skilled in the art from the following description of the preferred embodiments and drawings, the invention not being limited to any particular preferred embodiment(s) disclosed.
One or more different aspects may be described in the present application. Further, for one or more of the aspects described herein, numerous alternative arrangements may be described; it should be appreciated that these are presented for illustrative purposes only and are not limiting of the aspects contained herein or the claims presented herein in any way. One or more of the arrangements may be widely applicable to numerous aspects, as may be readily apparent from the disclosure. In general, arrangements are described in sufficient detail to enable those skilled in the art to practice one or more of the aspects, and it should be appreciated that other arrangements may be utilized and that structural, logical, software, electrical and other changes may be made without departing from the scope of the particular aspects. Particular features of one or more of the aspects described herein may be described with reference to one or more particular aspects or figures that form a part of the present disclosure, and in which are shown, by way of illustration, specific arrangements of one or more of the aspects. It should be appreciated, however, that such features are not limited to usage in the one or more particular aspects or figures with reference to which they are described. The present disclosure is neither a literal description of all arrangements of one or more of the aspects nor a listing of features of one or more of the aspects that must be present in all arrangements.
Headings of sections provided in this patent application and the title of this patent application are for convenience only, and are not to be taken as limiting the disclosure in any way.
Devices that are in communication with each other need not be in continuous communication with each other, unless expressly specified otherwise. In addition, devices that are in communication with each other may communicate directly or indirectly through one or more communication means or intermediaries, logical or physical.
A description of an aspect with several components in communication with each other does not imply that all such components are required. To the contrary, a variety of optional components may be described to illustrate a wide variety of possible aspects and in order to more fully illustrate one or more aspects. Similarly, although process steps, method steps, algorithms or the like may be described in a sequential order, such processes, methods and algorithms may generally be configured to work in alternate orders, unless specifically stated to the contrary. In other words, any sequence or order of steps that may be described in this patent application does not, in and of itself, indicate a requirement that the steps be performed in that order. The steps of described processes may be performed in any order practical. Further, some steps may be performed simultaneously despite being described or implied as occurring non-simultaneously (e.g., because one step is described after the other step). Moreover, the illustration of a process by its depiction in a drawing does not imply that the illustrated process is exclusive of other variations and modifications thereto, does not imply that the illustrated process or any of its steps are necessary to one or more of the aspects, and does not imply that the illustrated process is preferred. Also, steps are generally described once per aspect, but this does not mean they must occur once, or that they may only occur once each time a process, method, or algorithm is carried out or executed. Some steps may be omitted in some aspects or some occurrences, or some steps may be executed more than once in a given aspect or occurrence.
When a single device or article is described herein, it will be readily apparent that more than one device or article may be used in place of a single device or article. Similarly, where more than one device or article is described herein, it will be readily apparent that a single device or article may be used in place of the more than one device or article.
The functionality or the features of a device may be alternatively embodied by one or more other devices that are not explicitly described as having such functionality or features. Thus, other aspects need not include the device itself.
Techniques and mechanisms described or referenced herein will sometimes be described in singular form for clarity. However, it should be appreciated that particular aspects may include multiple iterations of a technique or multiple instantiations of a mechanism unless noted otherwise. Process descriptions or blocks in figures should be understood as representing modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or steps in the process. Alternate implementations are included within the scope of various aspects in which, for example, functions may be executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved, as would be understood by those having ordinary skill in the art.
With reference to the illustrative drawings, and particularly to
It may be desirable for the first crank assembly 28 and the second crank assembly 32 to move in a synchronous manner with respect to one another. This may be accomplished by the use of a control system 44. The control system 44 may be comprised of a roller chain, a drive belt, a gearing system or any other mechanical transmission elements known in the art. In that the first axis 30 and the second axis 34 may not allow a direct communication between the right and left portions of the first crank assembly 28 or the second crank assembly 32, the control system 44 may also be in mechanical communication with the driveshaft 42. In that the driveshaft 42 may be located in position to mechanically span the entire width of the exercise device 20, the driveshaft 42 with the control system 44 may then act to connect the left and right portions of each of the first crank assembly 28 and the second crank assembly 32 as well as provide for synchronous rotation of the first crank assembly 28 with respect to the second crank assembly 32.
A pedal arm 46 may be rotatably coupled to the first crank assembly 28 on a first end 48 of the pedal arm 46. On a second end 50 of the pedal arm 46 a pedal 52 may be provided, which may be adapted to support the weight of the user 36. Between the first end 48 and the second end 50 of the pedal arm 46, a crank link pin 54 may be provided. The crank link pin 54 may be pivotally coupled to a crank link 56 and the crank link 56 may also be coupled to the second crank assembly 32, thereby connecting the pedal arm 46 to the second crank assembly 32.
It is important to note that in these preferred embodiments of the exercise device 20, the drive shaft 42 is positioned such that it is not in line with the first axis 30 or the second axis 34. That is because both the first axis 30 and the second axis 34 may be positioned to potentially interfere with the movement of the user 36. As such, the drive shaft 42 may be moved to a position that is unlikely to interfere with the movement of the legs of the user 36. It is possible that the second axis 34, and the second crank assembly 32, could be moved far enough forward to avoid the legs of the user 36. If that were done, the drive shaft 42 could directly connect the second crank assembly 32. The crank link 56 may then be increased in length in accordance with the increase in dimension of the relocation of the second axis 34 relative to the current position. This would eliminate the need for some components in the system. The applicant recognizes this could be done and hereby includes this as a variation to the disclosed embodiments even though this is not shown in any of the Figures.
With reference to
To provide a smooth movement of the pedals 52 a flywheel 74 may be coupled to the driveshaft 42, whereby rotation of the driveshaft 42 about the bearings 72 may cause a similar rotation of the flywheel 74. It may also be desirable to include a braking system to resist the movement of the pedals 52. A braking system may include a friction strap 76 mounted to a screw 78, which may be mounted to the support frame 26. Therefore, as the screw 78 is advanced this may increase the tension in the friction strap 76, which may increase the drag and therefore increase the resistance to movement of the flywheel 74. This may increase the work necessary to be provided by the user 36, thus increasing the intensity of the exercise. In a similar manner, any magnetic form of resistance known to the art, such as an electric motor, an eddy current brake or any other braking system may be used in place of the combination of the friction strap 76 and screw 78.
With particular attention to
With regard to
It may be desirable to change the resistance of the exercise device 20. Any number of users may have different physical capabilities and therefore it may be desirable to have the exercise device conform to those varying capabilities. In addition, as a person uses an exercise device, it is likely the person's physical fitness level will improve. As such, in order to continue to make physiological gains from the exercise, it may be desirable for the exercise device to increase in its ability to stress the body of the user by increasing the workload.
As noted, one method to increase the workload in the present exercise device 20 is by providing resistance to rotation of the flywheel 74 by way of the friction strap 76 or any other form of resistance, such as any number of electromagnetic braking systems. An alternative may be to increase the angle of the pedal path. A solution to do so is illustrated in
With regard to
It may be desirable to enable the user to change the stride length of the pedal path. An example of how this may be accomplished is shown in
A spring may obey “Hook's Law” in that the force needed to deform a spring by some distance is proportional to that distance. Therefore in this example, if a force is applied to cause the distance “x” to decrease, as depicted by the compression arrows 110 shown in
The result is the movable crank link 96 may allow for the dimension “x” to be increased or decreased by forces applied to the movable crank link 96, but the action of the first spring 104 and the second spring 106 may provide a pair of forces that may be balanced optimally when the dimension “x” is at a predetermined value. This combination may allow for displacement of the first link 98 relative to the second link 100 of the movable crank link 96 to allow the value of “x” to vary, but yet provide a bias to return the orientation of the movable crank link 96 to that so the dimension “x” may be a predetermined value.
When used on the exercise device 20″, the force applied to the movable crank links 96 may be applied by the user to the pedals 52. This may be illustrated in more detail in
In a similar but opposite manner, if the user wishes to extend the pedal 52 supporting the back foot farther back than what may be illustrated by the trace of the pedal path 82, the user may apply a force to the rear pedal 52, (right one in
Another option to vary the stride length of the pedals 52 is presented in
With regard to
The horizontal displacement of multiple stride lengths of the pedals 52 that may be provided by varying the position of the movable link pin 118 is illustrated in
If the movable link pin 118 is used with a constant length crank link 56, as shown, the adjustment in the stride length may provide a series of set pedal paths (82, 128, 130) or any infinite number of variations to those shown. Each path may be a result of the settings of the exercise device 20′″ and therefore stable to the user, as the user may not be able to alter the pedal paths without making an adjustment to the position of the movable link pin 118. This stability may be desirable to some users in that their body may be fully supported on the pedals 52 of the exercise device 20′″. Using the movable crank link 96 with the adjustable stride length system as provided by the movable link pin 118 together may provide a system which allows for the user to vary their stride length where the path of the pedals 52 comply with that of the user, and an adjustable baseline path of the path of the pedals 52 may be provided by the movable link pin 118 and set in accordance with the desire or some physical characteristics of the user.
Another embodiment of the exercise device 20″″ is shown in
A drive pulley 135 may be mounted to the drive shaft 42. The drive pulley 135 may be in mechanical communication with the flywheel 74 by way of a drive belt 137. A braking system may be coupled to the flywheel 74 so that resistance provided to the flywheel 74 may offer a resistance to movement of the drive shaft 42, which in turn may offer a resistance to movement of the pedals 52. This combination may offer a form of exercise resistance to the user.
The control system 44 may include a drive member 138, which may take the form of a belt, roller chain, a synchronous belt, a v-belt, a poly-v belt or any other power transmission system known in the art. The drive member 138, as shown here in the form of a belt, may be tensioned by the idler 80. A drive pulley 140 may be secured to the first crank assembly 28 and the second crank assembly 32 on both the first drive 132 and the second drive 134. The drive member 138 may be limited to a belt or other power transmission system alone. Alternatively it may be advantageous to provide a secondary power transmission system in the form of a torque linkage 142. This may include a link rod 144 that may be coupled to the second crank assembly 32 and the drive shaft 42 by way of a pair of clamp links 146. This torque linkage 142 may be used to supplement the drive member 138 when high torque is applied to the second crank assembly 32 by the user. The braking system may be applied to the flywheel 74, as such, the highest load may be seen between the second crank assembly 32 and the drive shaft 42. The use of the torque linkage 142 may allow the drive member 138 to be designed for the lower torque associated with extended use by a user and when high forces are applied by the user, such as during sprinting or high incline “hiking” movements, the torque linkage 142 may supplement the power transmission, taking any excessive stress off the drive member 138. This may help eliminate the possibility of drive member 138 jumping a tooth of one of the drive pulleys 140 without the need to over engineer the drive member 138 and drive pulleys 140 for stresses that are only seen occasionally and for short durations.
The torque linkage 142 is shown here to connect the second crank assembly 32 to the drive shaft 42, which may be connected to the braking system. This combination may experience the highest forces and that is why it is shown in this configuration. It is understood that one or more torque linkages 142 may connect any one or more combinations between the first crank assembly 28, the second crank assembly 32 and the drive shaft 42.
The transfer of the higher forces that may be added by the user to the torque linkage 142 may be generated by the user by positioning the exercise device 20″″ in a configuration so as to simulate walking up a hill. In this embodiment, this may be accomplished by altering the position of the support frame 26″ and all the elements supported by the support frame 26″ with respect to the base frame 24. One method of doing this is illustrated in
To reduce production costs, compared to using linear actuators in place of the counterbalance springs 148, the gas springs may be used as the counterbalance springs 148 with an incline adjustment 150. The incline adjustment 150 may include a first support 152, which may articulate with a second support 154, and a locking pin 156 to releasably secure the first support 152 to the second support 154 at desired positions. This may securely alter the dimension between a support frame pin 158 and a base frame pin 160. By increasing the dimension between the support frame pin 158 and the base frame pin 160, exercise device 20″″ may produce an inclined pedal angle from flat (as shown in
In this embodiment the drive handles 58 of previous embodiments have been removed and a set of stationary leaning handles 162 are shown. These handle types are not mutually exclusive to any embodiment. The leaning handles 162 may be desirable in some angular orientations of the exercise device 20 and the moving drive handles 58 may be desirable in other orientations, or as a personal preference in any orientation. Either form of handles (moving drive handles 58 or stationary leaning handles 162) may be interchangeably used or in combination together on any embodiment.
A method of altering the pedal path by varying the position of the crank link 56 on the pedal arm 46 has been disclosed. This embodiment of the exercise device 20″″ illustrates a manually adjustable version to accomplish this task. An adjustment bracket 164 may be releasably secured to the pedal arm 46 at one or more positions on the pedal arm 46. A leg lock pin 166 may be used to releasably secure the adjustment bracket 164 to a position on the pedal arm 46. The crank link 56 may be pivotally secured to the adjustment bracket 164 at the movable lock pin 118, and as noted before, also to the second crank arm 40. Therefore, by adjusting and securing the adjustment bracket 164 at different positions on the pedal arm 46, the path of the pedals 52 may be altered to achieve more than one pedal path, as previously disclosed.
The foregoing detailed description of the present invention is provided for purposes of illustration, and it is not intended to be exhaustive or to limit the invention to the particular embodiment shown. The embodiments may provide different capabilities and benefits, depending on the configuration used to implement key features of the invention.
Many other configurations are possible including, but not limited to, mounting of the linear position sensor inside or alongside one or more of the springs 104, 106, or mounting of the linear position sensor at a position on the side of the crossed links opposite to spring 104. Other types of position sensors may be used in a manner similar to linear position sensors including, but not limited to, ultrasonic distance sensors, optical distance or position sensors, and strain gauges.
Many other configurations are possible including, but not limited to, mounting of the linear position sensor inside or alongside one or more of the springs 104, 106, or mounting of the linear position sensor at a position on the side of the crossed links opposite to spring 104. Other types of position sensors may be used in a manner similar to linear position sensors including, but not limited to, ultrasonic distance sensors, optical distance or position sensors, and strain gauges.
An example of such calculations is shown in this diagram. Here, a simplified view of a single side of the natural motion exercise mechanism is shown without frame 22. The components of the natural motion exercise mechanism are shown in a first position 2610 corresponding to rotation of crank arms 2611, 2612 in a forward position (shown in solid lines) and in a second position 2620 corresponding to rotation of crank arms 2621, 2611 to a backward position (180 degrees of rotation from the forward position; shown in dashed lines). As the length and angles of attachment of the various components of the natural motion exercise mechanism are known a stride length can be calculated as a base stride length 2630 from a forward-most position of the pedal 2615 in the first position 2610 to a backward-most position of the pedal 2625 in the second position, plus an offset at each end 2616, 2626 of base stride length corresponding to compression or extension of movable crank link 2614 in first position 2610 and compression or extension of movable crank link 2624 in second position 2620.
This principle of using sensor position information with known mechanical characteristics of exercise device 20 can be used to calculate other useful exercise statistics including, but not limited to, stride length variability, stride period variability, stride height, stride height variability, instantaneous or average power expended during exercise, and total work performed during exercise.
Pressure sensor 2811 is configured to measure a downward pressure applied by a user's foot onto footpad or pedal 2810 which can be sent to a computing device as pressure data comprising a magnitude of the force applied, the speed at which the force is applied, a time of application of the force, etc., which pressure data can be captured over time to provide additional information such as a period of application of force. Depending on configuration, pressure sensor 2811 may be of various configurations such as having a resistive, capacitive, piezo-electric, or optical, or other force sensor technology.
Strap 2812 is configured to measure an upward lift pressure of the user's foot away from the footpad or pedal applied by the top of a user's foot against strap 2812 which can be sent to a computing device as pressure data comprising a magnitude of the force applied, the speed at which the force is applied, a time of application of the force, etc., which pressure data can be captured over time to provide additional information such as a period of application of force. Depending on configuration, strap 2812 may be of various configurations such as having a strain gauge integrated into its material, having a pressure sensor affixed to the underside of strap 2812, or having one or both ends of strap affixed to a strain gauge or force sensor.
In another configuration (not shown), footpad or pedal 2810 may be configured on a rotational platform with a rotary encoder or other mechanism for determining the angle of rotation of the user's foot during exercise.
Data from the above-described pressure sensors and rotational sensors can be used to calculate useful exercise statistics including, but not limited to, a periodicity of a user's gait, variations in the periodicity of a user's gait, discrepancies in sided-ness of the user's gait (e.g., indicating a preference for right side over left side or vice-versa, possibly indicating a disability or movement restriction), changes in, or discrepancies in, a user's foot angle or rotation during certain exercises or motions, or discrepancies in sided-ness of the user's foot angle or rotation (again, possibly indicating some disability or movement restriction).
Generally, the techniques disclosed herein may be implemented on hardware or a combination of software and hardware. For example, they may be implemented in an operating system kernel, in a separate user process, in a library package bound into network applications, on a specially constructed machine, on an application-specific integrated circuit (ASIC), or on a network interface card.
Software/hardware hybrid implementations of at least some of the aspects disclosed herein may be implemented on a programmable network-resident machine (which should be understood to include intermittently connected network-aware machines) selectively activated or reconfigured by a computer program stored in memory. Such network devices may have multiple network interfaces that may be configured or designed to utilize different types of network communication protocols. A general architecture for some of these machines may be described herein in order to illustrate one or more exemplary means by which a given unit of functionality may be implemented. According to specific aspects, at least some of the features or functionalities of the various aspects disclosed herein may be implemented on one or more general-purpose computers associated with one or more networks, such as for example an end-user computer system, a client computer, a network server or other server system, a mobile computing device (e.g., tablet computing device, mobile phone, smartphone, laptop, or other appropriate computing device), a consumer electronic device, a music player, or any other suitable electronic device, router, switch, or other suitable device, or any combination thereof. In at least some aspects, at least some of the features or functionalities of the various aspects disclosed herein may be implemented in one or more virtualized computing environments (e.g., network computing clouds, virtual machines hosted on one or more physical computing machines, or other appropriate virtual environments).
Referring now to
In one aspect, computing device 10 includes one or more central processing units (CPU) 12, one or more interfaces 15, and one or more busses 14 (such as a peripheral component interconnect (PCI) bus). When acting under the control of appropriate software or firmware, CPU 12 may be responsible for implementing specific functions associated with the functions of a specifically configured computing device or machine. For example, in at least one aspect, a computing device 10 may be configured or designed to function as a server system utilizing CPU 12, local memory 11 and/or remote memory 16, and interface(s) 15. In at least one aspect, CPU 12 may be caused to perform one or more of the different types of functions and/or operations under the control of software modules or components, which for example, may include an operating system and any appropriate applications software, drivers, and the like.
CPU 12 may include one or more processors 13 such as, for example, a processor from one of the Intel, ARM, Qualcomm, and AMD families of microprocessors. In some aspects, processors 13 may include specially designed hardware such as application-specific integrated circuits (ASICs), electrically erasable programmable read-only memories (EEPROMs), field-programmable gate arrays (FPGAs), and so forth, for controlling operations of computing device 10. In a particular aspect, a local memory 11 (such as non-volatile random access memory (RAM) and/or read-only memory (ROM), including for example one or more levels of cached memory) may also form part of CPU 12. However, there are many different ways in which memory may be coupled to system 10. Memory 11 may be used for a variety of purposes such as, for example, caching and/or storing data, programming instructions, and the like. It should be further appreciated that CPU 12 may be one of a variety of system-on-a-chip (SOC) type hardware that may include additional hardware such as memory or graphics processing chips, such as a QUALCOMM SNAPDRAGON™ or SAMSUNG EXYNOS™ CPU as are becoming increasingly common in the art, such as for use in mobile devices or integrated devices.
As used herein, the term “processor” is not limited merely to those integrated circuits referred to in the art as a processor, a mobile processor, or a microprocessor, but broadly refers to a microcontroller, a microcomputer, a programmable logic controller, an application-specific integrated circuit, and any other programmable circuit.
In one aspect, interfaces 15 are provided as network interface cards (NICs). Generally, NICs control the sending and receiving of data packets over a computer network; other types of interfaces 15 may for example support other peripherals used with computing device 10. Among the interfaces that may be provided are Ethernet interfaces, frame relay interfaces, cable interfaces, DSL interfaces, token ring interfaces, graphics interfaces, and the like. In addition, various types of interfaces may be provided such as, for example, universal serial bus (USB), Serial, Ethernet, FIREWIRE™, THUNDERBOLT™, PCI, parallel, radio frequency (RF), BLUETOOTH™, near-field communications (e.g., using near-field magnetics), 802.11 (WiFi), frame relay, TCP/IP, ISDN, fast Ethernet interfaces, Gigabit Ethernet interfaces, Serial ATA (SATA) or external SATA (ESATA) interfaces, high-definition multimedia interface (HDMI), digital visual interface (DVI), analog or digital audio interfaces, asynchronous transfer mode (ATM) interfaces, high-speed serial interface (HSSI) interfaces, Point of Sale (POS) interfaces, fiber data distributed interfaces (FDDIs), and the like. Generally, such interfaces 15 may include physical ports appropriate for communication with appropriate media. In some cases, they may also include an independent processor (such as a dedicated audio or video processor, as is common in the art for high-fidelity A/V hardware interfaces) and, in some instances, volatile and/or non-volatile memory (e.g., RAM).
Although the system shown in
Regardless of network device configuration, the system of an aspect may employ one or more memories or memory modules (such as, for example, remote memory block 9916 and local memory 9911) configured to store data, program instructions for the general-purpose network operations, or other information relating to the functionality of the aspects described herein (or any combinations of the above). Program instructions may control execution of or comprise an operating system and/or one or more applications, for example. Memory 9916 or memories 9911, 9916 may also be configured to store data structures, configuration data, encryption data, historical system operations information, or any other specific or generic non-program information described herein.
Because such information and program instructions may be employed to implement one or more systems or methods described herein, at least some network device aspects may include nontransitory machine-readable storage media, which, for example, may be configured or designed to store program instructions, state information, and the like for performing various operations described herein. Examples of such nontransitory machine-readable storage media include, but are not limited to, magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD-ROM disks; magneto-optical media such as optical disks, and hardware devices that are specially configured to store and perform program instructions, such as read-only memory devices (ROM), flash memory (as is common in mobile devices and integrated systems), solid state drives (SSD) and “hybrid SSD” storage drives that may combine physical components of solid state and hard disk drives in a single hardware device (as are becoming increasingly common in the art with regard to personal computers), memristor memory, random access memory (RAM), and the like. It should be appreciated that such storage means may be integral and non-removable (such as RAM hardware modules that may be soldered onto a motherboard or otherwise integrated into an electronic device), or they may be removable such as swappable flash memory modules (such as “thumb drives” or other removable media designed for rapidly exchanging physical storage devices), “hot-swappable” hard disk drives or solid state drives, removable optical storage discs, or other such removable media, and that such integral and removable storage media may be utilized interchangeably. Examples of program instructions include both object code, such as may be produced by a compiler, machine code, such as may be produced by an assembler or a linker, byte code, such as may be generated by for example a JAVA™ compiler and may be executed using a Java virtual machine or equivalent, or files containing higher level code that may be executed by the computer using an interpreter (for example, scripts written in Python, Perl, Ruby, Groovy, or any other scripting language).
In some aspects, systems may be implemented on a standalone computing system. Referring now to
In some aspects, systems may be implemented on a distributed computing network, such as one having any number of clients and/or servers. Referring now to
In addition, in some aspects, servers 9932 may call external services 9937 when needed to obtain additional information, or to refer to additional data concerning a particular call. Communications with external services 9937 may take place, for example, via one or more networks 9931. In various aspects, external services 9937 may comprise web-enabled services or functionality related to or installed on the hardware device itself. For example, in one aspect where client applications 9924 are implemented on a smartphone or other electronic device, client applications 9924 may obtain information stored in a server system 9932 in the cloud or on an external service 9937 deployed on one or more of a particular enterprise's or user's premises. In addition to local storage on servers 9932, remote storage 9938 may be accessible through the network(s) 9931.
In some aspects, clients 9933 or servers 9932 (or both) may make use of one or more specialized services or appliances that may be deployed locally or remotely across one or more networks 9931. For example, one or more databases 9934 in either local or remote storage 9938 may be used or referred to by one or more aspects. It should be understood by one having ordinary skill in the art that databases in storage 9934 may be arranged in a wide variety of architectures and using a wide variety of data access and manipulation means. For example, in various aspects one or more databases in storage 9934 may comprise a relational database system using a structured query language (SQL), while others may comprise an alternative data storage technology such as those referred to in the art as “NoSQL” (for example, HADOOP CASSANDRA™, GOOGLE BIGTABLE™, and so forth). In some aspects, variant database architectures such as column-oriented databases, in-memory databases, clustered databases, distributed databases, or even flat file data repositories may be used according to the aspect. It will be appreciated by one having ordinary skill in the art that any combination of known or future database technologies may be used as appropriate, unless a specific database technology or a specific arrangement of components is specified for a particular aspect described herein. Moreover, it should be appreciated that the term “database” as used herein may refer to a physical database machine, a cluster of machines acting as a single database system, or a logical database within an overall database management system. Unless a specific meaning is specified for a given use of the term “database”, it should be construed to mean any of these senses of the word, all of which are understood as a plain meaning of the term “database” by those having ordinary skill in the art.
Similarly, some aspects may make use of one or more security systems 9936 and configuration systems 9935. Security and configuration management are common information technology (IT) and web functions, and some amount of each are generally associated with any IT or web systems. It should be understood by one having ordinary skill in the art that any configuration or security subsystems known in the art now or in the future may be used in conjunction with aspects without limitation, unless a specific security 9936 or configuration system 9935 or approach is specifically required by the description of any specific aspect.
In various aspects, functionality for implementing systems or methods of various aspects may be distributed among any number of client and/or server components. For example, various software modules may be implemented for performing various functions in connection with the system of any particular aspect, and such modules may be variously implemented to run on server and/or client components.
The skilled person will be aware of a range of possible modifications of the various aspects described above. Accordingly, the present invention is defined by the claims and their equivalents.
Priority is claimed in the application data sheet to the following patents or patent applications, each of which is expressly incorporated herein by reference in its entirety: Ser. No. 18/299,017Ser. No. 17/405,347Ser. No. 15/609,91062/358,517Ser. No. 18/171,330Ser. No. 17/030,233Ser. No. 17/030,195Ser. No. 16/781,663Ser. No. 16/354,374Ser. No. 16/176,511Ser. No. 16/011,394Ser. No. 15/853,746Ser. No. 15/219,115Ser. No. 15/193,112Ser. No. 15/187,787Ser. No. 15/175,04362/310,568Ser. No. 14/846,966Ser. No. 14/012,87961/696,06862/330,60262/330,642Ser. No. 16/927,704Ser. No. 16/867,238Ser. No. 16/793,915Ser. No. 16/255,641Ser. No. 16/223,034Ser. No. 16/176,51162/697,973
Number | Date | Country | |
---|---|---|---|
62310568 | Mar 2016 | US | |
61696068 | Aug 2012 | US | |
62330602 | May 2016 | US | |
62330642 | May 2016 | US | |
62697973 | Jul 2018 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 17405347 | Aug 2021 | US |
Child | 18299017 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 15609910 | May 2017 | US |
Child | 17405347 | US | |
Parent | 62358517 | Jul 2016 | US |
Child | 15609910 | US | |
Parent | 17030233 | Sep 2020 | US |
Child | 18171330 | US | |
Parent | 15219115 | Jul 2016 | US |
Child | 15853746 | US | |
Parent | 16867238 | May 2020 | US |
Child | 16927704 | US | |
Parent | 16223034 | Jan 2019 | US |
Child | 16255641 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 18299017 | Apr 2023 | US |
Child | 18433350 | US | |
Parent | 18171330 | Feb 2023 | US |
Child | 18433350 | US | |
Parent | 17030195 | Sep 2020 | US |
Child | 17030233 | US | |
Parent | 16781663 | Feb 2020 | US |
Child | 17030195 | US | |
Parent | 16354374 | Mar 2019 | US |
Child | 16781663 | US | |
Parent | 16176511 | Oct 2018 | US |
Child | 16354374 | US | |
Parent | 16011394 | Jun 2018 | US |
Child | 16176511 | US | |
Parent | 15853746 | Dec 2017 | US |
Child | 16011394 | US | |
Parent | 15193112 | Jun 2016 | US |
Child | 15219115 | US | |
Parent | 15187787 | Jun 2016 | US |
Child | 15193112 | US | |
Parent | 15175043 | Jun 2016 | US |
Child | 15187787 | US | |
Parent | 14846966 | Sep 2015 | US |
Child | 15187787 | US | |
Parent | 14012879 | Aug 2013 | US |
Child | 14846966 | US | |
Parent | 16927704 | Jul 2020 | US |
Child | 17030233 | US | |
Parent | 16793915 | Feb 2020 | US |
Child | 16867238 | US | |
Parent | 16255641 | Jan 2019 | US |
Child | 16793915 | US | |
Parent | 16176511 | Oct 2018 | US |
Child | 16223034 | US |