1. A shoe arranged and designed to support an ankle of a foot, the shoe comprising:
a sole inliner configured for a sole of the foot, the sole inliner being flexible generally across the arch of the foot;
a back inliner coupled to the sole inliner, wherein the back inliner is configured for a back of the foot without projecting forward of the ankle, and wherein the back inliner and sole inliner do not extend over the ankle of the foot; and
an upper coupled to both the sole inliner and the back inliner, wherein the upper adjustably secures the sole inliner and back inliner to the foot, and wherein
the upper, the sole inliner, and the back inliner are operable to resist lateral movement of the ankle; and wherein
the shoe is configured for direct contact and non-binding engagement with the ground or other support surface.
2. The shoe of claim 1, wherein the upper further comprises a top upper member and a bottom upper member.
3. The shoe of claim 1, wherein the upper further comprises:
a flexible member, which facilitates an initial engagement of the upper to the foot.
4. The shoe of claim 1, wherein
the upper further comprises a top upper member and a bottom upper member, and
the top upper member and bottom upper member independently provide engagement of the upper to the foot.
5. The shoe of claim 1, further comprising a cover which surrounds the upper, the sole inliner and the back inliner.
6. The shoe of claim 5, wherein
the upper further comprises a flexible member and a top upper member and a bottom upper member,
the flexible member provides an initial engagement of the upper to the foot, and
the top upper member and bottom upper member independently provide further engagement of the upper to the foot.
7. The shoe of claim 1, further comprising:
a biasing member for providing a biasing force between the sole inliner and back inliner.
8. The shoe of claim 1, wherein a coupling is provided between the sole inliner and the back inliner that includes a biasing member.
9. The shoe of claim 8, wherein the biasing member causes a bias towards one of an obtuse angle or acute angle between the sole inliner and the back inliner.
10. The shoe of claim 8, wherein the biasing member includes at least one torsion spring.
11. The shoe of claim 1, wherein the shoe is provided with cleats or spikes.
12. The shoe of claim 1, wherein the shoe has a generally flat non-cleated or non-spiked sole.
13. The shoe of claim 1, wherein the sole inliner and back inliner are integrated as one piece.
14. The shoe of claim 1, wherein the back inliner extends at least one inch up the back of the foot.
15. The shoe of claim 1, wherein the back inliner extends at least four inches up the back of the foot.
16. The shoe of claim 1, wherein the back inliner is movable relative to the sole inliner to permit at least one of dorsiflexion and plantar flexion movement in the foot.
17. The shoe of claim 16, wherein the relative movability of the back inliner and sole inliner is facilitated by the flexibility of materials of at least one of the back inliner and sole inliner.
18. The shoe of claim 16, wherein:
the relative movability of the back inliner and sole inliner is facilitated by a hinge.
19. The shoe of claim 1, wherein:
the back inliner and the sole inliner do not extend over the sides of the foot.
20. A shoe arranged and designed to support an ankle of a foot, the shoe comprising:
a sole inliner configured for a sole of the foot, the sole inliner being flexible generally across the arch of the foot;
a back inliner non-movably coupled to the sole inliner, wherein the back inliner is configured for a back of the foot without projecting forward of the ankle, and wherein the back inliner and sole inliner do not extend over the ankle and sides of the foot; and
an upper coupled to both the sole inliner and the back inliner, wherein
the upper adjustably secures the sole inliner and back inliner to the foot, and wherein
the upper, the sole inliner and the back inliner are operable to resist lateral movement of the ankle; and wherein
the shoe is configured for direct contact and non-binding engagement with the ground or other support surface.
21. The shoe of claim 20, wherein the upper further comprises a top upper member and a bottom upper member.
22. The shoe of claim 20, wherein the upper further comprises:
a flexible member, which facilitates an initial engagement of the upper to the foot.
23. The shoe of claim 20, wherein
the upper further comprises a top upper member and a bottom upper member, and
the top upper member and bottom upper member independently provide engagement of the upper to the foot.
24. The shoe of claim 23, wherein the top upper member and bottom upper member are adapted to receive laces.
25. The shoe of claim 20, further comprising a cover which surrounds the upper, the sole inliner and the back inliner.
26. The shoe of claim 25, wherein
the upper further comprises a flexible member and a top upper member and a bottom upper member,
the flexible member provides an initial engagement of the tipper to the foot, and
the top upper member and bottom tipper member independently provide further engagement of the upper to the foot.
27. The shoe of claim 20, wherein the shoe is provided with cleats or spikes.
28. The shoe of claim 20, wherein the shoe has a generally flat non-cleated or non-spiked sole.
29. The shoe of claim 20, wherein the sole inliner and back inliner are integrated as one piece.
30. The shoe of claim 20, wherein the back inliner extends at least one inch up the back of the foot.
31. The shoe of claim 20, wherein the back inliner extends at least four inches up the back of the foot.
32. The shoe of claim 20, wherein:
the back inliner and the sole inliner do not extend over the sides of the foot.
33. A shoe arranged and designed to support an ankle of a foot, the shoe comprising:
a sole inliner configured for a sole of the foot, the sole inliner being flexible generally across the arch of the foot;
a back inliner coupled to the sole inliner, the back inliner being movable relative to the sole inliner to permit at least one of dorsiflexion and plantar flex ion movement in the foot without projecting forward of the ankle,
wherein the relative movability of the back inliner and sole inliner are facilitated by the flexibility of materials of at least one the back inliner and sole inliner; wherein
the back inliner is configured for a back of the foot, and wherein the back inliner and sole inliner do not extend over the ankle and sides of the foot and without cupping of the heel to hold the heel in a fixed position; and
an upper coupled to both the sole inliner and the back inliner, wherein
the upper adjustably secures the sole inliner and back inliner to the foot, and wherein
the upper, the sole inliner and the back inliner are operable to resist lateral movement of the ankle; and wherein
the shoe is configured for direct contact and non-binding engagement with the ground or other support surface.
34. The shoe of claim 33, wherein the upper further comprises a top upper member and a bottom upper member.
35. The shoe of claim 33, wherein the upper further comprises:
a flexible member, which facilitates an initial engagement of the upper to the foot.
36. The shoe of claim 33, wherein
the upper further comprises a top upper member and a bottom upper member, and
the top upper member and bottom upper member independently provide engagement of the upper to the foot.
37. The shoe of claim 36, wherein the top upper member and bottom upper member are adapted to receive laces.
38. The shoe of claim 33, further comprising a cover which surrounds the upper, the sole inliner and the back inliner.
39. The shoe of claim 37, wherein
the upper further comprises a flexible member and a top upper member and a bottom upper member,
the flexible member provides an initial engagement of the upper to the foot, and
the top upper member and bottom upper member independently provide further engagement of the upper to the foot.
40. The shoe of claim 33, further comprising:
a biasing member for providing a biasing force between the sole inliner and back inliner.
41. The shoe of claim 33, wherein a coupling is provided between the sole inliner and the back inliner that includes a biasing member.
42. The shoe of claim 41, wherein the biasing member causes a bias towards one of an obtuse or an acute angle between the sole inliner and the back inliner.
43. The shoe of claim 41, wherein the biasing member includes at least one torsion spring.
44. The shoe of claim 33, wherein the shoe is provided with cleats or spikes.
45. The shoe of claim 33, wherein the shoe has a generally flat non-cleated or non-spiked sole.
46. The shoe of claim 33, wherein the sole inliner and back inliner are integrated as one piece.
47. The shoe of claim 33, wherein the back inliner extends at least one inch up the back of the foot.
48. The shoe of claim 33, wherein the back inliner extends at least four inches up the back of the foot.
49. The shoe of claim 33, wherein the relative movability of the back inliner and sole inliner occurs at a position below the ankle of the foot.
50. The shoe of claim 33, wherein:
the back inliner and the sole inliner do not extend over the sides of the foot.
51. The shoe of claim 33, wherein:
the relative movability of the back inliner and sole inliner is facilitated by a hinge.
52. A shoe arranged and designed to support an ankle of a foot, the shoe comprising:
a sole inliner configured for a sole of the foot, the sole inliner being flexible generally across the arch of the foot;
a coupling;
a back inliner movably coupled to the sole inliner with the coupling, the movable coupling being located at a position below the ankle of the foot, wherein
the back inliner is configured for a back of the foot without projecting forward of the ankle, and wherein the back inliner, coupling and sole inliner do not extend over the ankle and sides of the foot; and
an upper coupled to both the sole inliner and the back inliner, wherein
the upper adjustably secures the sole inliner and back inliner to the foot, and wherein
the upper, the sole inliner, the coupling, and the back inliner are operable to resist lateral movement of the ankle; and wherein
the shoe is configured for direct contact and non-binding engagement with the ground or other support surface.
53. The shoe of claim 52, wherein the coupling is positioned adjacent to a heel of the foot.
54. The shoe of claim 52, wherein the upper further comprises a top upper member and a bottom upper member.
55. The shoe of claim 52, wherein the upper further comprises:
a flexible member, which facilitates an initial engagement of the upper to the foot.
56. The shoe of claim 52, wherein
the upper further comprises a top upper member and a bottom upper member, and
the top upper member and bottom upper member independently provide engagement of the upper to the foot.
57. The shoe of claim 56, wherein the top upper member and bottom upper member are adapted to receive laces.
58. The shoe of claim 52, further comprising a cover which surrounds the upper, the sole inliner, the coupling, and the back inliner.
59. The shoe of claim 58, wherein:
the upper further comprises a flexible member and a top upper member and a bottom upper member,
the flexible member provides an initial engagement of the upper to the foot, and
the top upper member and bottom upper member independently provide further engagement of the upper to the foot.
60. The shoe of claim 59, wherein
the top upper member and bottom upper member are adapted to receive laces,
the flexible member includes a neoprene material, and
the coupling between the sole inliner and the back inliner includes a biasing member.
61. The shoe of claim 52, wherein the coupling between the sole inliner and the back inliner includes a biasing member.
62. The shoe of claim 52, wherein the biasing member causes a bias towards one of an obtuse angle or an acute angle between the sole inliner and the back inliner.
63. The shoe of claim 61, wherein the biasing member includes at least one torsion spring.
64. The shoe of claim 52, wherein the shoe is provided with cleats or spikes.
65. The shoe of claim 52, wherein the shoe has a generally flat non-cleated or non-spiked sole.
66. The shoe of claim 52, wherein the sole inliner, back inliner and coupling are integrated as one piece.
67. The shoe of claim 52, wherein the back inliner extends at least one inch up the back of the foot.
68. The shoe of claim 52, wherein the relative movability of the back inliner and sole inliner is facilitated by the flexibility of materials of at least one of the coupling, back inliner and sole inliner.
69. The shoe of claim 52, wherein:
the back inliner and the sole inliner do not extend over the sides of the foot.
70. The shoe of claim 52, wherein:
the relative movability of the back inliner and sole inliner is facilitated by a hinge.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A method implemented at least in part by a computer, the method comprising:
receiving a request to allocate memory;
determining whether an active block has enough free memory to satisfy the request;
if the active block has enough free memory to satisfy the request, allocating memory to satisfy the request from the active block; and
if the active block does not have enough free memory to satisfy the request, using a data structure that organizes blocks according to associated fill factors to search for a new active block to satisfy the request.
2. The method of claim 1, further comprising, determining a new fill factor for a block that has had memory allocated from it or freed to it and updating the data structure to indicate that the block is associated with the new fill factor.
3. The method of claim 2, wherein updating the data structure comprises updating a bucketized data structure, each bucket of the bucketized data structure referencing zero or more blocks having a corresponding fill factor.
4. The method of claim 1, wherein using a data structure that organizes blocks according to associated fill factors comprises using a data structure that classifies blocks into buckets based on a percentage of available or allocated memory in the blocks, each bucket corresponding to a range of one or more percentages of available or allocated memory.
5. The method of claim 1, wherein using a data structure that organizes blocks according to associated fill factors to search for a new active block to satisfy the request comprises searching the data structure in an order in which blocks with a greater fill factor are searched before blocks with a lesser fill factor.
6. The method of claim 1, further comprising handling the request via a memory allocator having memory block sizes larger than the memory requested and requesting additional memory allocation from a parent allocator of the memory allocator if no blocks of the memory allocator have sufficient memory to satisfy the request.
7. The method of claim 1, further comprising selecting a memory allocator to handle the request by navigating a tree data structure to find the memory allocator based on an allocation size of the memory allocator, the tree data structure referencing the memory allocator as well as other memory allocators, the tree data structure defining relationships between children allocators and parent allocators, the tree data structure further indicating allocation sizes associated with the allocators.
8. The method of claim 7, further comprising receiving data defining the children allocators and the parent allocators and the relationships and creating the tree data structure therefrom, the data adapted for creating a hierarchy of memory allocators for a specified memory consumer.
9. The method of claim 7, wherein selecting a memory allocator to handle the request further comprising determining an allocator based on a lifetime characteristic determined for the request, the allocators in the tree data structure being partitioned based on predicted lifetime characteristics of memory allocations.
10. The method of claim 1, further comprising based on contention for the active block, creating another active block, maintaining the active block, or removing the active block.
11. A computer storage medium having computer-executable instructions, which when executed perform actions, comprising:
configuring a first memory allocator to allocate memory of a first memory size in response to requests to allocate memory;
configuring a second memory allocator to allocate memory of a second memory size in response to requests to allocate memory, the second memory size being smaller than the first memory size, the second memory allocator operable to obtain additional memory from the first memory allocator;
receiving a memory allocation request for memory of a third memory size;
selecting a memory allocator from the first and second memory allocators to satisfy the memory allocation request based on the first, second, and third memory sizes; and
attempting to satisfy the request from an active block of the selected memory allocator, blocks of memory of the selected memory allocator being classified according to fill factors associated with the blocks of memory.
12. The computer storage medium of claim 11, further comprising selecting a sub block of the active block to allocate for the memory allocation request based on proximity to a processor that issued the memory allocation request.
13. The computer storage medium of claim 11, further comprising based on contention for the active block, marking another block as active.
14. The computer storage medium of claim 11, further comprising creating a bucketized data structure, each bucket of the bucketized data structure referencing zero or more blocks of memory having a fill factor.
15. The computer storage medium of claim 11, further comprising configuring a third memory allocator to allocate memory of the second memory size, the third memory allocator operable to request additional memory from the first memory allocator, the third memory allocator operable to allocate memory for memory allocation requests having a different lifetime characteristic than requests to allocate memory for the second memory allocator.
16. The computer storage medium of claim 15, further comprising determining the lifetime characteristic based on a runtime analysis of allocation and de-allocation requests of a requestor of memory.
17. In a computing environment, a system, comprising:
a set of memory that includes allocable memory elements;
a store having at least one data structure thereon that includes data regarding allocation of blocks of the memory, the at least one data structure arranged hierarchically in which at least some of the blocks of memory have parentchild relationships, an allocated block of memory of a child having been obtained from an allocated block of memory of a parent; and
at least one allocator operable to determine whether a first active block of memory has enough free memory to satisfy a request, the allocator further operable to perform actions, comprising if the first active block of memory does not have enough memory to satisfy the request, determining a second active block to satisfy the request using one or more fill factors of blocks of memory managed by the at least one allocator.
18. The system of claim 17, wherein the set of memory includes multiple memory modules, each memory module having a lower latency to one or more processors than to one or more other processors, the at least one allocator further operable to consider latency of a memory module of the second active block in conjunction with determining the second active block.
19. The system of claim 17, wherein the store further includes data that indicates time characteristics of the blocks of memory, a time characteristic of a block of memory indicating an estimated allocation period for allocations of the block of memory, the at least one allocator further operable to consider a time characteristic of an active block in conjunction with satisfying the request.
20. The system of claim 17, wherein the at least one allocator is further operable to indicate that the second active block is to be used concurrently with the first active block in satisfying requests for memory allocations if contention for the first active block exceeds a threshold.