1460759350-d58ecafb-fa01-46a0-aa6e-59052e82830e

The embodiments of the invention in which an exclusive property or privilege is claimed are defined as follows:

1. A method of optimizing kernel mode memory space by managing kernel objects in a computing environment, the method comprising:
identifying a referenced kernel object at a first memory location referred to by an object container;
determining if all references to said kernel object are known;
classifying said kernel object as a movable object if all references to said kernel object are known and updatable;
retrievably moving said kernel object to a new memory location; and
updating all references to said kernel object to lead to said new memory location.
2. The method of claim 1, wherein determining if all references to said kernel object at said first memory location are known comprises obtaining a reference count for said kernel object and determining that all references are known from said reference count and said object container.
3. The method of claim 1, wherein said object container is a process handle table.
4. The method of claim 1, wherein at least one of said references is a pointer.
5. The method of claim 1, wherein at least one of said references is a handle.
6. The method of claim 1, wherein classifying said kernel object as movable comprises determining that said kernel object has been accessed within a short-term threshold access time and that said kernel object was created above a creation threshold time.
7. The method of claim 6, wherein retrievably moving said kernel object comprises moving said kernel object to an open kernel memory location.
8. The method of claim 1, wherein classifying said kernel object as movable comprises determining that said kernel object has not been accessed within a short-term threshold access time.
9. The method of claim 8, wherein classifying said kernel object as movable further comprises determining that said kernel object has not been accessed within a long-term threshold access time.
10. The method of claim 9, wherein retrievably moving said kernel object comprises moving said kernel object to a storage space location.
11. The method of claim 8, wherein classifying said kernel object as movable further comprises determining that said kernel object has been accessed within a long-term threshold access time.
12. The method of claim 11, wherein retrievably moving said kernel object comprises moving said kernel object to memory location dedicated to store rarely accessed objects.
13. The method of claim 1, wherein retrievably moving said kernel object comprises copying said kernel object to said new memory location; and updating kernel object data affected by said copying.
14. The method of claim 13, wherein moving said kernel object further comprises freeing the kernel object at said first memory location.
15. The method of claim 14, wherein freeing said kernel object at said first memory location comprises freeing the kernel object without dereferencing said kernel object at said first memory location.
16. The method of claim 1, wherein said kernel object is retrievably moved utilizing an object type specific move routine and said object type specific move determines if said kernel object should be moved.
17. A method of managing kernel mode memory by relocating kernel objects to new locations, the method comprising:
classifying said kernel objects according to their usage;
determining a destination memory location type from a kernel object’s usage; and
invoking an object type specific move procedure for said kernel object, said move procedure relocating said kernel object to a new memory location in accordance with said determined destination memory location type.
18. The method of claim 17, wherein said kernel object is classified as movable if said kernel object has been accessed within a short-term threshold access time and if said kernel object was created above a long-term threshold creation time.
19. The method of claim 18, wherein retrievably moving said kernel object comprises moving said kernel object to an open kernel memory location.
20. The method of claim 17, wherein said kernel object is classified as movable if said kernel object has not been accessed within a short-term threshold access time.
21. The method of claim 20, wherein said kernel object is classified as movable if said kernel object has not been accessed within a long-term threshold access time.
22. The method of claim 21, wherein retrievably moving said kernel object comprises moving said kernel object to a storage space location.
23. The method of claim 20, wherein said kernel object is classified as movable if said kernel object has been accessed within a long-term threshold access time.
24. The method of claim 23, wherein retrievably moving said kernel object comprises moving said kernel object to an infrequently accessed kernel memory location.
25. The method of claim 17, wherein invoking an object specific move procedure comprises copying said kernel object to said new memory location; updating kernel object data affected by a changed location; and changing any known references to said kernel object to refer to said new memory location.
26. The method of claim 17, further comprising freeing said kernel object from the kernel object’s original location.
27. A method of detecting abandoned kernel memory in a computing environment, the method comprising:
monitoring a kernel memory for a kernel object having a last access time beyond a predetermined threshold;
retrievably relocating said kernel object to a new location;
examining said relocated kernel object for an abandoning origin; and
presenting said abandoning origin.
28. The method of claim 27, wherein presenting said abandoning origin comprises depicting an identification of said abandoning origin on a display.
29. The method of claim 27, wherein presenting said abandoning origin comprises logging an identification of said abandoning origin to a system log.
30. The method of claim 27, wherein said predetermined threshold is a static threshold.
31. The method of claim 27, wherein said predetermined threshold is a dynamic threshold.
32. A computer readable medium containing computer executable instructions for optimizing kernel mode space by managing kernel objects in a computing environment by:
identifying a referenced kernel object at a first memory location referred to by an object container;
determining that all references to said kernel object are known;
classifying said kernel object as a movable object;
retrievably moving said kernel object to a new memory location; and
updating all references to said kernel object to lead to said kernel object at said new memory location.
33. The computer readable medium of claim 32, wherein determining that all references to said kernel object at said first memory location are known comprises obtaining a reference count for said kernel object and determining that all references are known from said reference count and said object container.
34. The computer readable medium of claim 32, wherein classifying said kernel object as movable comprises determining that said kernel object has been accessed within a short-term threshold access time and that said kernel object was created above a creation threshold time.
35. The computer readable medium of claim 32, wherein classifying said kernel object as movable comprises determining that said kernel object has not been accessed within a short-term threshold access time.
36. The computer readable medium of claim 35, wherein classifying said kernel object as movable further comprises determining that said kernel object has not been accessed within a long-term threshold access time.
37. The computer readable medium of claim 36, wherein retrievably moving said kernel object comprises moving said kernel object to a storage space location.
38. The computer readable medium of claim 35, wherein classifying said kernel object as movable further comprises determining that said kernel object has been accessed within a long-term threshold access time.
39. The computer readable medium of claim 38, wherein retrievably moving said kernel object comprises moving said kernel object to a low access time memory location.
40. The computer readable medium of claim 32, wherein moving said kernel object comprises copying said kernel object to said new memory location; and updating kernel object data affected by a changed location.
41. The computer readable medium of claim 40, wherein moving said kernel object further comprises freeing the kernel object at said first memory location.
42. The computer readable medium of claim 41, wherein freeing said kernel object at said first memory location comprises freeing the kernel object without dereferencing said kernel object at said first memory location.
43. A computer readable medium containing computer executable instructions for managing kernel mode memory by relocating kernel objects to new locations by:
classifying said kernel objects according to their usage;
determining a destination memory location type from a kernel object’s usage;
invoking an object type specific move procedure for said kernel object, wherein said move procedure relocates said kernel object to a new memory location in accordance with said determined destination memory location type.
44. The computer readable medium of claim 43, wherein classifying said kernel object as movable comprises determining that said kernel object has been accessed within a short-term threshold access time and that said kernel object was created above a long-term threshold creation time.
45. The computer readable medium of claim 43, wherein classifying said kernel object as movable comprises determining that said kernel object has not been accessed within a short-term threshold access time.
46. The computer readable medium of claim 45, wherein classifying said kernel object as movable comprises determining that said kernel object has not been accessed within a long-term threshold access time.
47. The computer readable medium of claim 45, wherein classifying said kernel object as movable comprises determining that said kernel object has been accessed within a long-term threshold access time.
48. The computer readable medium of claim 43, wherein invoking an object specific move procedure comprises copying said kernel object to said new memory location; updating kernel object data affected by a changed location; and changing any known references to said kernel object to refer to said new memory location.
49. The computer readable medium of claim 48, further comprising computer executable instructions for approving said copying, updating, and changing steps before freeing said kernel object.
50. A computer readable medium containing computer executable instructions for detecting abandoned kernel objects in a computing environment by:
monitoring a kernel memory for a kernel object having a last access time beyond a predetermined threshold;
retrievably relocating said kernel object to a new location;
examining said relocated kernel object for an abandoning origin; and
presenting said abandoning origin.
51. A computing apparatus having a processor and a memory containing computer executable instructions, the processor operative to execute the executable instructions from memory to:
identify a referenced kernel object at a first memory location referred to by an object container;
determine that all references to said kernel object are known;
classify said kernel object as a movable object;
retrievably move said kernel object to a new memory location; and
update all references to said kernel object to lead to said kernel object at said new memory location.
52. The computing apparatus of claim 51, wherein determining that all references to said kernel object at said first memory location are known comprises obtaining a reference count for said kernel object and determining that all references are known from said reference count and said object container.
53. The computing apparatus of claim 51, wherein classifying said kernel object as movable comprises determining that said kernel object has been accessed within a short-term threshold access time and that said kernel object was created above a creation threshold time.
54. The computing apparatus of claim 51, wherein classifying said kernel object as movable comprises determining that said kernel object has not been accessed within a short-term threshold access time.
55. The computing apparatus of claim 54, wherein classifying said kernel object as movable further comprises determining that said kernel object has not been accessed within a long-term threshold access time.
56. The computing apparatus of claim 54, wherein classifying said kernel object as movable further comprises determining that said kernel object has been accessed within a long-term threshold access time.
57. The computing apparatus of claim 51, wherein moving said kernel object comprises copying said kernel object to said new memory location; and updating kernel object data affected by a changed location.
58. The computing apparatus of claim 51, wherein moving said kernel object further comprises freeing the kernel object at said first memory location.
59. The computing apparatus of claim 58, wherein freeing said kernel object at said first memory location comprises freeing the kernel object without dereferencing said kernel object at said first memory location.
60. A computing apparatus having a processor and a memory containing computer executable instructions, the processor operative to execute the executable instructions from memory to:
classify said kernel objects according to their usage;
determine a destination memory location type from a kernel object’s usage;
invoke an object type specific move procedure for said kernel object, wherein said move procedure relocates said kernel object to a new memory location in accordance with said determined destination memory location type.
61. The computing apparatus of claim 60, wherein classifying said kernel object as movable comprises determining that said kernel object has been accessed within a short-term threshold access time and that said kernel object was created above a long-term threshold creation time.
62. The computing apparatus of claim 60, wherein classifying said kernel object as movable comprises determining that said kernel object has not been accessed within a short-term threshold access time.
63. The computing apparatus of claim 62, wherein classifying said kernel object as movable comprises determining that said kernel object has not been accessed within a long-term threshold access time.
64. The computing apparatus of claim 62, wherein classifying said kernel object as movable comprises determining that said kernel object has been accessed within a long-term threshold access time.
65. The computing apparatus of claim 60, wherein invoking an object specific move procedure comprises copying said kernel object to said new memory location; updating kernel object data affected by a changed location; and changing any known references to said kernel object to refer to said new memory location.
66. The computing apparatus of claim 60, further operative to free said kernel object from an original location.
67. The computing apparatus of claim 66, further operative to approve said copying, updating, and changing steps before freeing said kernel object.
68. A computing apparatus having a processor and a memory containing computer executable instructions, the processor operative to execute the executable instructions from memory to:
monitor a kernel memory for a kernel object having a last access time beyond a predetermined threshold;
retrievably relocate said kernel object to a new location;
examine said relocated kernel object for an abandoning origin; and
present said abandoning origin.

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 system for accessing one or more subterranean zones, the system comprising:
a limited surface area, which is land;
a first well, located on the limited surface area, comprising a first substantially vertical wellbore extending at least 6,000 feet and proximate to a subterranean zone, which is shale, and a first drainage wellbore with a horizontal portion that extends at least 6,000 feet from the first substantially vertical wellbore;
a second well, located on the limited surface area, comprising a second substantially vertical wellbore extending at least 6,000 feet and proximate to the subterranean zone, and a second drainage wellbore with a horizontal portion that extends at least 6,000 feet from the second substantially vertical wellbore.
a third well, located on the limited surface area, comprising a third substantially vertical wellbore extending at least 6,000 feet and proximate to the subterranean zone, and third drainage wellbore with a horizontal portion that extends at least 6,000 feet from the third substantially vertical wellbore;
a fourth well, located on the limited surface area, comprising a fourth substantially vertical wellbore extending at least 6,000 feet and proximate to the subterranean zone, and a fourth drainage wellbore with a horizontal portion that extends at least 6,000 feet from the fourth vertical wellbore; and
wherein each of the four wells is located on the limited surface area and offset from each other 2-250 feet, and each well produces oil to the surface.
2. The system of claim 1 wherein the four drainage wellbores comprise a quadrilateral drainage pattern, and wherein the four wells are in-line with each other at the surface.
3. The system of claim 1 wherein another horizontal drainage wellbore is connected to the fourth horizontal wellbore at a junction and wherein the other drainage wellbore extends into a second subterranean zone.
4. The system of claim 1 wherein the first and second drainage wellbores each extend horizontally more than 8,000 feet.
5. The system of claim 1 wherein the first and second drainage wellbores each extend horizontally more than 9,000 feet.
6. The system of claim 1 wherein the first, second, third, and fourth wells are cased at least in the substantially vertical wellbores and wherein each drainage wellbore has a 10 or more cavities caused by fracing.
7. The system of claim 1 wherein the four drainage wellbores are adjacent to another drilling pad with at least two wells at the surface, which have substantially vertical wellbores extending proximate a subterranean zone, and wherein each well from the other drilling pad has a horizontal drainage wellbore that extends at least 5,000 feet and have a plurality of cavities caused by fracing.
8. The system of claim 1 wherein the first, second, third, and fourth drainage wellbores extend horizontally into a coal seam.
9. A system for accessing one or more subterranean zones, the system comprising:
a drilling pad at a surface, which is land with a limited surface area,
three or more wells, each well located on the drilling pad, comprising a substantially vertical wellbore extending at least 6,000 feet proximate to a subterranean zone, and a horizontal drainage wellbore extending from the substantially vertical wellbore used for production of fluid to the surface;
wherein each horizontal drainage wellbore extends at least 5,000 feet horizontally;
wherein each well is offset from the other wells between 2-300 feet at the surface at the drilling pad;
wherein each of the wells is configured to produce oil to the surface through the substantially vertical wellbore; and,
wherein the subterranean zone comprises shale.
10. The system of claim 9 wherein each horizontal drainage wellbore has 10 or more cavities caused by fracing and is operable to produce water to the surface through the corresponding substantially vertical wellbore.
11. The system of claim 9 wherein water and other additives are injected into the horizontal drainage wellbores of at least two wells, and wherein the water and other additives injected into these horizontal drainage wellbores exceeds 1,000,000 gallons; and,
wherein the horizontal drainage wellbores of these two wells have 10 or more cavities caused by fracing.
12. The system of claim 9 wherein at least one horizontal drainage wellbore comprises 10 or more cavities caused by fracing, and wherein more than 700,000 gallons of water and other additives are injected into the horizontal drainage wellbore.
13. The system of claim 9 wherein the horizontal drainage wellbores of two wells each extend 7,000 feet or more.
14. A system for accessing one or more subterranean zones, the system comprising:
a drilling pad at a surface, which is land with a limited surface area,
a first substantially vertical wellbore extending at least 7,000 feet from the surface proximate a subterranean zone, and a horizontal drainage wellbore extending from the first substantially vertical wellbore that extends 5,000 feet or more horizontally;
a second substantially vertical wellbore extending at least 7,000 feet from the surface proximate to a subterranean zone, and a horizontal drainage wellbore extending from the second substantially vertical wellbore that extends 5,000 feet or more horizontally;
a third substantially vertical wellbore extending at least 7,000 feet from the surface proximate to a subterranean zone and a horizontal drainage wellbore extending from the third substantially vertical wellbore that extends 5,000 feet or more horizontally;
wherein each horizontal drainage wellbore extends horizontally into one or more horizontal planes;
wherein each substantially vertical wellbore is spaced apart from the other substantially vertical wellbores by 2-100 feet at the surface;
wherein each substantially vertical wellbore produces oil to the surface; and
wherein each substantially vertical wellbore has a first casing, which is a first size, and a second casing, which is a second size.
15. The system of claim 14 wherein each substantially vertical wellbore is connected to each horizontal drainage wellbore at a junction, and wherein the junction is cased.
16. The system of claim 14 wherein each of the 3 wellbores at the surface is formed by the same drilling rig.
17. The system of claim 14 wherein at least one horizontal wellbore intersects an additional horizontal drainage wellbore at a junction proximate the subterranean zone.
18. The system of claim 14 wherein the three horizontal drainage wellbores extend into a horizontal plane, which is shale, and form a quadrilateral drainage pattern; and,
wherein the substantially vertical wellbores are in-line with each other at the surface.
19. The system of claim 14 wherein the substantially vertical wellbores comprise a linear surface pattern, where the surface locations are in an area that is generally less than 500 square feet, thereby minimizing the footprint at the surface by combining underground equipment and activities at the drilling pad, which is a limited surface area.
20. The system of claim 14 wherein at least two horizontal drainage wellbores have 20 or more cavities in a portion of the horizontal wellbores caused by fracing, and wherein the horizontal plane is shale; and,
wherein more than 500,000 gallons of water and other additives are injected into each of the two horizontal drainage wellbores for fracing.
21. The system of claim 14 wherein an electrical submersible pump is disposed in at least one horizontal drainage wellbore.
22. The system of claim 14 wherein a progressing cavity pump is disposed in at least one horizontal drainage wellbore.
23. The system of claim 14 wherein the horizontal plane is the same for each horizontal drainage wellbore.
24. A system for accessing one or more subterranean zones, the system comprising:
a drilling pad at a land limited area surface;
a first well, located on the drilling pad, comprising a substantially vertical wellbore extending at least 6,000 feet from the surface and coupled to a first junction proximate a subterranean zone, a first horizontal drainage wellbore extending from the first junction with a horizontal portion that extends at least 6,000 feet;
a second well, located on the drilling pad, comprising a substantially vertical wellbore extending at least 6,000 feet from the surface and coupled to a second junction proximate the subterranean zone, a second drainage wellbore extending from the second junction with a horizontal portion that extends at least 6,000 feet;
wherein the wells are offset from each other by 2-100 feet at the surface;
wherein the first well horizontally extends into the subterranean zone in a first direction;
wherein the second well horizontally extends into the subterranean zone in a second direction;
wherein the drilling pad surface area is smaller than an area containing the first and second horizontal drainage wellbores;
wherein the subterranean zone is shale;
wherein both the first and second wells are cased at least in in the substantially vertical wellbores and are configured to produce oil to the surface; and,
wherein each horizontal drainage well bore comprises 10 or more cavities caused by fracing.
25. The system of claim 24 wherein a third well is located on the drilling pad and comprises a substantially vertical wellbore extending at least 8,000 feet from the surface, and a horizontal drainage wellbore extending from the substantially vertical wellbore, wherein the horizontal drainage wellbore extends at least 9,000 feet horizontally.
26. The system of claim 24 wherein the first and second wells form a drainage pattern that is substantially quadrilateral, and where the length of the horizontal drainage wellbores of each well is at least 9,000 feet.
27. The system of claim 24 wherein there are 20 or more cavities caused by fracing in the first and second horizontal drainage wellbores, and wherein the first and second horizontal drainage wellbores are configured to produce oil, gas, and water to the surface; and,
wherein 800,000 gallons or more of water and other additives are injected into the first and second horizontal drainage bores from the surface for fracing.
28. The system of claim 24 wherein a pump, selected from a group consisting of an electrical submersible pump and a progressing cavity pump, is disposed within one of the horizontal drainage wellbores, and wherein the first and second wells are cased.
29. The system of claim 24 wherein the first drainage wellbore and second drainage wellbore are adjacent to one another, and wherein fractures are formed in both wellbores in an alternating manner to increase production of oil or gas.