FOOTWEAR WITH PROTUBERANCES AND CONSTRUCTION THEREOF
20220361628 · 2022-11-17
Inventors
Cpc classification
A43B7/147
HUMAN NECESSITIES
A43D1/00
HUMAN NECESSITIES
A43D2200/60
HUMAN NECESSITIES
International classification
Abstract
A footwear including a vamp and an inner sole defining in combination a Volume of Treatment (VOTf) and an outsole coupled to at least one protuberance, that when in use, comprises a Point of Contact (POC) with a surface, and wherein dimensions of the VOTf are defined by a position of said POC in 3D space in relation to the outsole and/or insole and/or any selected point within the VOTf. Also disclosed are a method and a computer program product program code for manufacturing same.
Claims
1. A footwear comprising: a vamp and an inner sole defining in combination a Volume of Treatment (VOTf) and an outsole coupled to at least one protuberance, that when the footwear is in use, the at least one protuberance comprises a Point of Contact (POC) with a surface, and wherein dimensions of said VOTf are defined by a position of said POC in 3D space in relation to one of: said outsole, insole and any selected point within said VOTf.
2. The footwear according to claim 1, wherein said position of said POC in 3D space comprises at least a distance of said POC from a surface of said outsole.
3. The footwear according to claim 1, wherein said at least one protuberance is moveable.
4. The footwear according to claim 3, wherein points registered at maximal range of movement of said POC on a plane generally parallel to said a surface of said outsole delineate a zone of maximal range of movement of said POC.
5. The footwear according to claim 4, wherein said plane of maximal range of movement in combination with a maximal range of a plurality of distances of said POC from a surface of said outsole define a maximal Volume of Treatment of said protuberance (VOTp).
6. The footwear according to claim 4, wherein said zone of maximal range of movement of said POC comprises one or more zones of treatment efficacy within which said POC generates an effective gait/posture proprioceptive and kinesthetic exercise.
7. The footwear according to claim 6, wherein said zones of efficacy vary in the level of treatment efficacy.
8. The footwear according to claim 6, wherein said zones of efficacy in combination with a maximal range of a plurality of distances of said POC from a surface of said outsole define an effective Volume of Treatment of said protuberance (effective VOTp).
9. The footwear according to claim 8, wherein dimensions of said VOTf defined by said effective VOTp provide an effective VOTf.
10. The footwear according to claim 1, wherein said VOTf defines a last for said footwear.
11. A method for producing a footwear coupled to two protuberances comprising selecting an anterior protuberance and a posterior protuberance based on one or more parameters of a required treatment; determining an effective VOTp for each of the selected protuberances; selecting a desired corrective footwear design and identifying points that collectively define the footwear desired VOTf; converting said raw (X, Y) values and generating for each of said selected protuberances new-effective (X, Y) values for and effective footwear VOTf, based on the determined effective VOTp; and generating (Z) values corresponding to said generated new effective (X, Y) values.
12. The method according to claim 11, further comprising defining said effective VOTf dimensions by the effective (X, Y) values and generated corresponding (Z) value.
13. The method according to claim 11, further comprising forming a last for said footwear in accordance with said effective VOTf.
14. A computer program product comprising a non-transitory computer-readable storage medium having program instructions embodied therewith, the program instructions executable by at least one hardware processor to generate a VOTf for a corrective footwear based on a VOTp of at least one corresponding protuberance, said computer program product program code is executable to: receive (X, Y, Z) values of an effective VOTp of a desired corrective footwear protuberance; receive raw (X, Y) values of points defining a desired VOTf or portions of a desired VOTf of a corrective footwear; generate new effective (X, Y) values of an effective VOTf or portions of a effective VOTf of the corrective footwear based on the (X, Y, Z) values of the effective VOTp; generate (Z) values of an effective VOTf or portions of a effective VOTf of the corrective footwear corresponding to the generated new effective (X, Y) values; and combine the generated (X, Y) values and (Z) value and generate an effective VOTf or portions of an effective VOTf of the corrective footwear.
15. The computer program product program code according to claim 14, wherein said computer program product program code is further executable to receive said raw (X, Y) values of the desired VOTf or portions of the desired VOTf of the desired corrective footwear in a form of a point cloud.
16. The computer program product program code according to claim 14, wherein said computer program product program code is further executable to run a point cloud thinning algorithm and keep significant points only.
17. The computer program product program code according to claim 15, wherein said computer program product program code is further executable to run a nearest neighbor (kNN) algorithm to generate said new effective (X, Y) values of the effective VOTf or portions of the effective VOTf of the corrective footwear based on the (X, Y, Z) values of the effective VOTp.
18. The computer program product program code according to claim 17, wherein said computer program product program code is further executable to cluster the generated new effective (X, Y) values of the effective VOTf.
19. The computer program product program code according to claim 14, wherein said computer program product program code is further executable to combine the generated new effective (X, Y) values and (Z) value and generate a 3D file for production of a last corresponding to the effective VOTf of the corrective footwear based on the (X, Y, Z) values of the effective VOTp.
Description
BRIEF DESCRIPTION OF THE FIGURES
[0014] The patent or application file contains at least one drawing executed in color. Copies of this patent or patent application publication with color drawing(s) will be provided by the Office upon request and payment of the necessary fee.
[0015] Exemplary embodiments are illustrated in referenced figures. Dimensions of components and features shown in the figures are generally chosen for convenience and clarity of presentation and are not necessarily shown to scale. The figures are listed below.
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
DETAILED DESCRIPTION
[0028] In some embodiments, there is provided a gait/posture proprioceptive and kinesthetic exercise apparatus in the form of a corrective footwear, which includes two bulbous protrusions, also referred to as protuberances, protruding from the underside of the footwear. One of the protuberances is positioned more posteriorly than the other protuberance. In some embodiments, one or both protuberances are fixed at a predetermined location wherein in some embodiments, one or both protuberances are moveable in relation to an outsole of the footwear.
[0029] As described above, transfer of desired sensory input from the foot (e.g., sole of the foot) to the brain and more specifically to the cerebellum to effect an effective gait/posture proprioceptive and kinesthetic exercise may be distorted by interfering factors such as uncontrolled movement of the foot in relation to the protuberances for example, sliding of the foot inside the footwear, undesired pressure vectors on irrelevant locations on the foot resulting from tilting of the foot and/or footwear design/construction and/or other factors.
[0030] Therefore, the construction of the footwear itself, at least in part, being the foot-accommodating portion of the corrective footwear, has a qualitative and quantitative impact on the efficacy of the gait/posture proprioceptive and kinesthetic exercise and requires consideration in the planning of the corrective footwear.
[0031] Since the gait/posture proprioceptive and kinesthetic exercise stems from the two protuberances, protruding from the underside of the corrective footwear, construction of such corrective footwear must also be directly and closely associated with effective treatment pressure applied by the protuberance generated by both the geometry as well as the location of the protuberances in relation to the footwear.
[0032] Footwear is commonly constructed of many elements, however, for the purpose of clarity of explanation, in this disclosure reference is made to a footwear comprising a sole and a vamp. The outer portion or surface of the sole to which the protuberances are coupled is herein termed an outsole. The inner portion or surface of the sole, which directly contacts a foot accommodated in the footwear is herein termed an insole. An inner surface of the footwear vamp in combination with the insole define a foot-accommodating Volume of Treatment of the footwear (VOTf). The vamp may completely surround the foot e.g., to form a shoe, or partially surround the foot e.g., to form a sandal.
[0033] The VOTf may be defined by a combination of an inner portion of the footwear vamp and the insole of the footwear and/or the outer surface of a last that serves as a template for large scale footwear manufacturing and on which the footwear is constructed. As used herein the terms “last”, “Volume of Treatment of the footwear (VOTf)” and/or “inner surface of the vamp and insole”, and dimensions thereof are regarded to be the same and are used interchangeably throughout the disclosure.
[0034] In some embodiments, the combination of the range of distances (d) (e.g., height) of a point of contact of a protuberance (POC) with a surface (e.g., a floor), measured perpendicularly from the surface of outsole, and areas of two main translation zones defined by zones of translation of an anterior and posterior protuberances in relation to an insole generates a volume termed herein as an effective Volume of Treatment of the Protuberance (effective VOTp).
[0035] As explained elsewhere herein, the corrective footwear comprises protuberances coupled to an outsole of the footwear and a vamp and insole defining a foot accommodating VOTf positioned over the protuberances. This arrangement is aimed at establishing, when in use, a point of contact (POC) of the protuberances with a surface (e.g., a floor) in reference to the foot accommodated in the VOTf and transferring desired sensory input from the foot (e.g., sole of the foot) to the brain and more specifically to the cerebellum to effect an effective gait/posture proprioceptive and kinesthetic exercise. However, under certain circumstances, the sensory input from the foot (e.g., sole of the foot) to the brain may be distorted by interfering factors such as, for example, uncontrolled movement of the foot in relation to the protuberances. Some examples include sliding of the foot inside the footwear placing the foot at least partially outside the effective VOTp, undesired pressure vectors on irrelevant locations on the foot resulting from tilting of the foot and/or footwear design and/or construction and/or other factors. It should be appreciated that the term POC as used herein may refer to a point on the outer surface of a protuberance, that is located at the longest orthogonal distance from the surface of an outsole to which the protuberance is connected, or when the footwear is in use, any point on the surface of the protuberance, that in contact with a surface.
[0036] To minimize such interfering factors, the VOTf may be altered. However, Altering the VOTf may result in new types of interference such as pain-inducing pressure on portions of the foot accommodated in the VOTf. An opposite situation may also occur in which the VOTf is altered to correct for interfering factors such as pain-inducing pressure on portions of the foot accommodated in the VOTf. However, these changes may bring about a change in the relative location of the foot in reference to the POC of the protuberance resulting in distortion of the sensory input from the foot (e.g., sole of the foot) to the brain and reduced efficacy of the gait/posture proprioceptive and kinesthetic exercise.
[0037] Table 1 below, is a table summarizing examples of such interrelated cause and effect relationships between VOTf/Last adjustment and their effect on interfering factors or efficacy of the gait/posture proprioceptive and kinesthetic exercise.
[0038] According to an aspect of some embodiments of the present invention there is provided a footwear including a vamp and an inner sole defining in combination a Volume of Treatment (VOTf) and an outsole coupled to at least one protuberance comprising a Point of Contact (POC) with a surface, wherein dimensions of the VOTf are defined by a position of the POC in 3D space in relation to the outsole and/or insole and/or corresponding VOTf. In some embodiments, the position of the POC in 3D space includes a distance of the POC from a surface of the outsole and/or insole and/or any selected point within a corresponding VOTf. In some embodiments, the position of the POC in 3D space includes a location of the POC on a plain parallel to and located at a distance from the surface of the outsole and/or the insole. In some embodiments, the protuberance contacts a surface (e.g., the floor) via a plurality of POCs defining a surface.
TABLE-US-00001 TABLE 1 Interrelated cause and effect relationships between VOTf/Last adjustment and clinical efficacy Last parameter Clinical significance Solution Clinical significance of Change Toe box 1. May cause pain in Make toe 1. May reduce the efficacy of the width metatarsalgia. box wider calibration (Pertupod placement) as 2. May increase hallux the exact position of the COP valgus. (center of pressure) may be difficult 3. May reduce blood to control. perfusion in patients who 2. May create skin abrasion already have foot edema. 3. May reduce the effect of the 4. May cause ischemia of perturbation as it causes foot toes in diabetic patients. movement inside the device rather than a general instability. Toe spring 1. May increase May be 1. May increase Metatarsalgia. metatarsalgia. possibly 2. May increase joint pain in the 2. May increase joint pain reduced by metatarsal-phalangeal joints. in the metatarsal- repositioning 3. May increase stress on tendons phalangeal joints. of the of the flexor hallucis and flexor 3. May increase stress on protuberance digitorum longus & brevis. tendons of the flexor anterior 4. May increase tension in the hallucis and flexor rail. plantar fascia through the Windlass digitorum longus & brevis. mechanism. 4. May increase tension in the plantar fascia through the Windlass mechanism. Medial 1. May increase stress on 1. Increase arch the tendons of the tibialis medial arch support posterior, flexor hallucis support. longus, flexor digitorum 2. Additional longus and medial Achilles support by tendons. elevating 2. May increase symptoms EVA wall in due to osteoarthritis in the arch area. intertarsal joints. 3. May increase symptoms of hallux valgus. 4. Possible medial foot pain probably due to increased pressure on an area that usually bears a relatively small amount of weight. Toe in 1. May lead to forefoot 1. Change 1. May cause increased pressure angle Varus. toe angle and pain in the joints between the navicular and the cuneiforms (mainly the medial cuneiform). 2. May cause increased tension and in the ligaments and joints between the cuboid and the 4th and 5th metatarsals. 3. May press the 4th and 5the toes to the upper and to each other causing bunions.
[0039] According to an aspect of some embodiments of the present invention there is provided a method of manufacturing of a footwear including a vamp and an inner sole defining in combination a Volume of Treatment (VOTf) and an outsole coupled to at least one protuberance comprising a Point of Contact (POC) with a surface e.g., a floor, wherein dimensions of the VOTf are defined by a position of the POC in 3D space in relation to the outsole and/or insole and/or corresponding VOTf. In some embodiments, the method comprises selecting an anterior protuberance and a posterior protuberance based on one or more treatment parameters and determining an effective VOTp for each of the selected protuberances. The term “effective” as used herein (e.g., effective VOTp, effective VOTf, effective (X, Y) values, etc.) means generating or at least contributing to generation of an effective gait/posture proprioceptive and kinesthetic exercise.
[0040] In some embodiments the method further comprises selecting a desired corrective footwear design and identifying raw (X, Y) points that collectively define the footwear desired VOTf. Inputting the (X, Y) values of the identified points of the desired corrective footwear VOTf into a VOTf Generator, converting the inputted (X, Y) values into new effective (X, Y) values corresponding to an effective footwear VOTf and generating (Z) values corresponding to the new effective (X, Y) values. Using the generated (Z) values in concert with the new effective (X, Y) values and producing a corrective footwear and/or corrective footwear last for effective gait/posture proprioceptive and kinesthetic exercise.
[0041] According to an aspect of some embodiments of the present invention there is provided a VOTf generator in the form of a computer program product comprising a non-transitory computer-readable storage medium having program code embodied therewith, the program code executable by at least one hardware processor to generate a VOTf based on a VOTf of a corresponding protuberance. In some embodiments, the program code is executable to define an effective VOTp. In some embodiments, the VOTp is defined by the protuberance geometry and dimensions and an effective VOTp lookup table. In some embodiments, the program code is further executable to design a desired corrective footwear VOTf and generate a raw (X, Y) value point cloud defining the desired VOTf. The program code is further executable to thin the raw (X, Y) point cloud and keep significant points only.
[0042] In some embodiments, the program code is executable to further run a Nearest Neighbor algorithm and convert the raw (X, Y) values to new (X, Y) values for an effective footwear VOTf by generating new (X, Y) values being within the effective VOTf domain. In some embodiments and optionally, this step is followed by clustering the results. Finally and in some embodiments, the corrective footwear VOTf generator program code is executable to run an equation solver and generate (Z) values corresponding to the new (X, Y) values of the point clusters ensuring an effective corrective footwear VOTf positioned appropriately over and within the generated effective VOTp.
[0043] The corrective footwear VOTf generator is configured to generate a VOTp, a VOTp and corresponding portion of the corrective footwear VOTf, for example a VOTp of the posterior protuberance 108 together with the posterior portion of the corrective footwear, e.g., VOTf 3 and/or VOTf 4, or a VOTp of both the anterior and posterior protuberances 106/108 together with the full VOTf of the corrective footwear.
[0044] Reference is now made to
[0045] As shown in
[0046] Referring now to
[0047]
[0048]
[0049] In
[0050]
[0051] In some embodiments, dimensions of the anterior protuberance 106 VOTp 604 are the same as the dimensions of the posterior protuberance 108 VOTp 614. In some embodiments, dimensions of the anterior protuberance 106 VOTp 604 are different than the dimensions of the posterior protuberance 108 VOTp 614. In some embodiments, the geometry of the VOTp is generally, though not necessarily, ellipsoid. The dimensions of the VOTps are measured by their major axis, e.g., axes 608/618 in
[0052] For example, for the anterior VOTp 604 the length of the major axis 608 may be between 75 and 175 mm, in some embodiments between 150 and 170 mm, between 110 and 120 mm or between 80 and 85 mm.
[0053] For example, for the anterior VOTp 604 the length of the minor axis 606 may be between 20 and 120 mm, in some embodiments between 100 and 110 mm, between 50 and 55 mm or between 20 and 25 mm.
[0054] For the posterior VOTp 614 the length of the major axis 618 may be between 55 and 140 mm, in some embodiments between 130 and 140 mm, between 80 and 90 mm or between 50 and 60 mm.
[0055] For example, for the posterior VOTp 614 the length of the minor axis 616 may be between 20 and 120 mm, in some embodiments between 100 and 110 mm, between 50 and 55 mm or between 20 and 25 mm.
[0056] For example, the end radii for both VOTps 604/614 may be between 12 and 53 mm, between 50 and 55 mm, between 20 and 30 mm or between 10 and 15 mm. For example, the distance (d) for both VOTps 604/614 may be between 25 and 60 mm, in some embodiments between 50 and 60 mm, between 35 and 45 mm or between 25 and 35 mm.
[0057] As explained in detail elsewhere herein, the efficacy of the treatment depends not only on the position in 3D space of the POC in relation to the outsole and/or insole and/or VOTf, but also on the position in 3D space of the POC in relation to the foot accommodated in the corrective footwear VOTf. Moreover, it was found that simple restraining of the foot inside the footwear is not sufficient to secure optimal and effective gait/posture proprioceptive and kinesthetic exercise since the signal generated by the position of the POC may be distorted by interfering factors such as uncontrolled movement of the foot in relation to the protuberances for example, sliding of the foot inside the footwear, undesired pressure vectors on irrelevant locations on the foot resulting from tilting of the foot and/or footwear design/construction and/or other factors.
[0058] Since the dimensions of the corrective footwear VOTf are directly dependent on and interrelated with the potential position of the POC in 3D space and in relation to the outsole and/or insole of the corrective footwear, changing dimensions of the footwear to correct for such interferences must take into account the POC position in 3D space and in relation to the insole of the corrective footwear. When designing a footwear to be associated with protuberances, care should be taken to assure that the VOTf defined by the inner surface of the vamp and the insole places a foot accommodated by the VOTf over an effective zone of the protuberance/s to provide effective gait/posture proprioceptive and kinesthetic exercise to the user.
[0059] Therefore and according to an aspect of some embodiments of the present invention there is provided a footwear including a vamp and an inner sole defining in combination a Volume of Treatment of a footwear (VOTf) and an outsole coupled to at least one protuberance comprising a Point of Contact (POC) with a surface, wherein dimensions of the VOTf are defined by a position of the POC in 3D space in relation to the insole and/or outsole and/or any selected point within a corresponding VOTf. In some embodiments, the position of the POC in 3D space includes a distance of the POC from a surface of the outsole and/or of the insole, measured perpendicularly from the surface of outsole 302. In some embodiments, the position of the POC in 3D space includes a location of the POC on a plain parallel to and located at a distance from the surface of the outsole.
[0060] Reference is now made to
[0061] Throughout the process of calculating the (Z) values (steps 706 and 708), the VOTf Generator (e.g., of
[0062] Reference is now made to
[0063] According to some embodiments, to method of operation of the corrective footwear VOTf generator comprises at step 802, defining an effective VOTp. At step 804, designing a desired corrective footwear VOTf and generating a raw (X, Y) value point cloud defining the desired VOTf. Since the number of points in the point cloud may be vast (e.g., 1500 and more points), embodiments of the method may include at step 806 thinning the point cloud and keeping significant points only. For example, the minimal number of points that still defines the volume of the desired corrective footwear VOTf, e.g., points on the outer surface of the volume. A nearest neighbor algorithm is then run at step 808, converting the raw (X, Y) values to new effective (X, Y) values for an effective footwear VOTf by generating the new effective (X, Y) values within the effective VOTf domain. In some embodiments and optionally, this is followed by clustering (e.g., as described in
[0064] The corrective footwear VOTf generator is configured to generate a VOTp, a VOTp and corresponding portion of the corrective footwear VOTf, for example a VOTp of the posterior protuberance 108 together with the posterior portion of the corrective footwear, e.g., VOTf 3 and/or VOTf 4, or a VOTp of both the anterior and posterior protuberances 106/108 together with the full VOTf of the corrective footwear.
[0065] According to an aspect of some embodiments of the present invention there is provided a VOT generator in the form of a computer program product comprising a non-transitory computer-readable storage medium having program code embodied therewith, the program code executable by at least one hardware processor to generate a VOTf for a corrective footwear based on a VOTp of at least one corresponding protuberance.
[0066] In some embodiments, the computer program product program code is executable by at least one hardware processor to: receive (X, Y, Z) values of an effective VOTp of a desired corrective footwear protuberance; receive raw (X, Y) values of a desired VOTf or portions of a desired VOTf of a corrective footwear; generate new effective (X, Y) values of an effective VOTf or portions of a effective VOTf of the corrective footwear based on the (X, Y, Z) values of the effective VOTp; run an equation solver to generate a (Z) value of an effective VOTf or portions of an effective VOTf of the corrective footwear corresponding to the generated new effective (X, Y) values; and combine the generated (X, Y) values and (Z) value and generate an effective VOTf or portions of an effective VOTf of the corrective footwear.
[0067] In some embodiments, the program code is further executable by a hardware processor to receive the raw (X, Y) values of the desired VOTf or portions of the desired VOTf of the desired corrective footwear in a form of a point cloud. In some embodiments, the program code is further executable by at least one hardware processor to run a point cloud thinning algorithm and keep significant points only. In some embodiments, the program code is further executable to run a nearest neighbor (kNN) algorithm to generate the new effective (X, Y) values of the effective VOTf or portions of the effective VOTf of the corrective footwear based on the (X, Y, Z) values of the effective VOTp.
[0068] In some embodiments, optionally, the program code is further executable by a hardware processor to cluster the generated new effective (X, Y) values of the effective VOTf. In some embodiments, the program code is further executable by at least one hardware processor to combine the generated new effective (X, Y) values and (Z) value and generate a 3D file for production of a last corresponding to the effective VOTf of the corrective footwear based on the (X, Y, Z) values of the effective VOTp.
[0069]
[0070] Any one of generated effective VOTf or VOTf portions 902 and/or 904 may be used to print or manufacture a last for a corrective footwear and/or the corrective footwear (vamp and insole) itself.
[0071] Throughout this application, various embodiments of this invention may be presented in a range format. It should be understood that the description in range format is merely for convenience and brevity and should not be construed as an inflexible limitation on the scope of the invention. Accordingly, the description of a range should be considered to have specifically disclosed all the possible subranges as well as individual numerical values within that range. For example, description of a range such as from 1 to 6 should be considered to have specifically disclosed subranges such as from 1 to 3, from 1 to 4, from 1 to 5, from 2 to 4, from 2 to 6, from 3 to 6 etc., as well as individual numbers within that range, for example, 1, 2, 3, 4, 5, and 6. This applies regardless of the breadth of the range.
[0072] Whenever a numerical range is indicated herein, it is meant to include any cited numeral (fractional or integral) within the indicated range. The phrases “ranging/ranges between” a first indicate number and a second indicate number and “ranging/ranges from” a first indicate number “to” a second indicate number are used herein interchangeably and are meant to include the first and second indicated numbers and all the fractional and integral numerals therebetween.
[0073] In the description and claims of the application, each of the words “comprise” “include” and “have”, and forms thereof, are not necessarily limited to members in a list with which the words may be associated. In addition, where there are inconsistencies between this application and any document incorporated by reference, it is hereby intended that the present application controls.
[0074] Methods and computer program products are disclosed herein that may automatically construct (i.e., without human intervention) a list of relevant claims and supportive evidence given a topic under consideration (TUC). Thus, for example, one may extract persuasive claims supporting his or her point of view as well as be prepared for counter claims which the other side may raise while discussing the TUC.
[0075] The present invention may be a system, a method, and/or a computer program product. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.
[0076] The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
[0077] Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
[0078] Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention.
[0079] Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer readable program instructions.
[0080] These computer readable program instructions may be provided to a processor of a general-purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
[0081] The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
[0082] The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.
[0083] The descriptions of the various embodiments of the present invention have been presented for purposes of illustration but are not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein was chosen to best explain the principles of the embodiments, the practical application or technical improvement over technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.