BACKGROUND OF THE INVENTION 
       [0001]    1. Field of the Invention 
         [0002]    This invention relates to the field of container storage and more particularly to a system storage and retrieval of containers that efficiently utilizes space. 
         [0003]    2. Description of the Related Art 
         [0004]    Many storage systems have been devised to store and retrieve goods, usually in container or on palates. The simplest of such systems consists of storage bins, one deep, situated along aisle ways that are wide enough for a fork lift to maneuver and access containers or palates located in the bins. Even if a forklift is capable of turning within its own radius, the forklift requires room to maneuver as well as sufficient space for its own ingress and egress. Because the fork lift must turn to access and remove the container/palate, the aisle must be wider than the container/palate is deep. Therefore, in this configuration, more floor space is consumed by aisle ways than by storage bins. Some improvement to this storage system&#39;s efficiency can be derived from having more than one level of storage, but this is limited to the height of access for a fork lift. 
         [0005]    One improvement to this lack of efficiency is proposed in U.S. Pat. Application No. 2004/0165974 to Gironi, et al. In this, a three dimensional array of storage bins are accessible by a “trans-elevator” that traverses aisle between stacked storage locations. Although this device permits a greater number of stacked cartons, it still has the inefficiency of aisles. 
         [0006]    Another solution is proposed in U.S. Pat. Application No. 2004/0146380 to Baker, et al. In this, a system of conveyors pass through aisles formed between storage locations. Although this device permits a greater number of storage locations, it still has the inefficiency of aisles. 
         [0007]    U.S. Pat. No. 3,730,358 to Oji has a random storage system that uses an overhead crane to shuffle containers until the desired container is accessible. This system requires extra storage space for all containers that need be moved while accessing the container below, spacing between the containers for crane access and headroom for the overhead crane system and therefore doesn&#39;t utilize space efficiently. 
         [0008]    U.S. Pat. No. 3,622,020 to Sarvary has a mechanized palette storage system that uses elevators and trucks. This system has aisle ways and therefore doesn&#39;t utilize space efficiently. 
         [0009]    What is needed is a system that will store palates or containers in a space-efficient manner while providing random access to any given palate or container. 
       SUMMARY OF THE INVENTION 
       [0010]    In one embodiment, an efficient storage system is disclosed including containers having a top, bottom, walls and an access door. The containers are moveably organized within a building that organized as a grid of rows and columns, each row wider than the width of each of the containers and each column deeper than the depth of each of the containers. At least one empty position within the grid allows for shifting of the containers from one row/column to another. At least one access station is provided for loading and unloading the containers through the access doors and a mechanism is provided for moving the containers within the grid. 
         [0011]    In another embodiment, a method of efficiently storing containers is disclosed. The containers have a top, bottom, walls and at least one access door. The method includes organizing the containers within a building on a grid. The containers are movable from one row and one column within the grid to a neighboring row and column within the grid and there is at least one empty location within the grid. A target container is selected (e.g., the container of which access is desired) and the containers within the grid are sequentially shifted until the target container reaches an access point. 
         [0012]    In another embodiment, an efficient storage system is disclosed including a plurality of storage containers, each having a top, bottom, side walls and an access door organized in a grid of equal sized positions. The grid is organized in rows and columns, each position wider than the width of each of the containers and each position deeper than the depth of each of the containers. There is at least one more position than storage containers, allowing for shifting of the containers. At least one access station is provided for loading and unloading the containers through the access doors. The storage containers are mechanically moved within the grid. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0013]    The invention can be best understood by those having ordinary skill in the art by reference to the following detailed description when considered in conjunction with the accompanying drawings in which: 
           [0014]      FIG. 1  illustrates an isometric view of a system of a first embodiment of the present invention. 
           [0015]      FIG. 2  illustrates another isometric view of a system of a first embodiment of the present invention. 
           [0016]      FIG. 3  illustrates a detail isometric view of a booster of a first embodiment of the present invention. 
           [0017]      FIG. 4  illustrates a side view of a container of the present invention. 
           [0018]      FIG. 5  illustrates a bottom view of a container of some embodiments of the present invention. 
           [0019]      FIG. 6  illustrates an isometric view of the present invention with multiple levels of containers. 
           [0020]      FIG. 7  illustrates an isometric view of the present invention with multiple levels of containers and a lift for accessing a second or third level container. 
           [0021]      FIG. 8  illustrates an isometric view of the present invention with multiple levels of containers and an elevator for accessing a second or third level container. 
           [0022]      FIG. 9  illustrates an isometric view of the present invention with multiple levels of containers and an elevator positioned for accessing a second or third level container. 
           [0023]      FIGS. 10-19  illustrate access of a container in a 9-container grid having one empty space. 
           [0024]      FIGS. 20-31  illustrate access of a container in a 16-container grid having two empty spaces. 
           [0025]      FIG. 32  illustrates a typical computer control system of the present invention. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0026]    Reference will now be made in detail to the presently preferred embodiments of the invention, examples of which are illustrated in the accompanying drawings. Throughout the following detailed description, the same reference numerals refer to the same elements in all figures. The term container represents any storage unit that holds goods or other materials (e.g., nuclear rods, Petri dishes, etc). The container can be of any size depending upon the types of goods being stored. One example of such a container is the moving containers that some companies deliver to a customer&#39;s site for loading, and then retrieve them after loaded. Another example is the cargo containers used for shipping between countries, whereby the container is roughly the size of a tractor trailer and can be stacked onboard a ship for overseas shipment, then lifted off the ship and placed upon a flatbed truck for final delivery to a destination. Containers don&#39;t have to be large. Small containers are more practical for assembly components such as screws, washers, electronic components, etc. In all of the following, for simplicity, the description will refer to containers, though, palates or any other monolithic storage unit is fully interchangeable with container. For example, the present invention is useful for storing soda cans, whereby each can is one unit of storage and is manipulated just as a container is manipulated. 
         [0027]    Although shown as equal sized containers, nothing precludes using multiple container sizes. For example, a system can have 4′×12′×8′ containers mixed with 4′×6′×8′ containers, whereby two 4′×6′×8′ containers occupy the space of one 4′×12′×8′ container. 
         [0028]    Generally, there are locations in the world such as Japan, Florida and parts of California where the price of land or building floor space is very expensive. As a result, there have been attempts to efficiently utilize as much space as possible. For example, in Japan, parking lots have stacked parking spaces whereby a car elevator lifts the car to the second level. 
         [0029]    For storage of containers, it would be ideal to completely occupy the entire floor of a building with containers. Furthermore, if a building is of open construction with a single floor, it would be ideal to utilize the maximum cubic space of that floor. If every container had the same content, this could be done, but most storage operations include containers of varying content. One example of such an operation is self-storage. In this, individuals are usually assigned a storage location and when they need to store or retrieve something from their storage location, they go to the location, open a door and access the contents. This system requires wide aisles between rows of storage locations for the customer to drive to their storage location. If, instead, the goods are stored in containers, the containers can be delivered to the customer when they require access, permitting more efficient storage of the containers. As described previously, prior attempts to provide container storage access all required aisles or wasted space. Such containers could not be stored by filling a building from the front to the back, because as soon as you fill the building, the customer with the storage container in the back will want access and all other containers in front of theirs will have to be relocated. 
         [0030]    Referring to  FIG. 1 , an isometric view of a system of a first embodiment of the present invention will be described. In this example, a building  10  is configured to hold up to nine containers  20  (see  FIG. 2 ) or stacks of containers in rows of three (X direction) and columns of three (Y direction), forming a grid. The containers move parallel to the walls  12  of the building on balls  24  in sockets  25  (see  FIG. 3 ) mounted to rails  16 / 18 . Although shown using a rail support system and ball and eye sockets  24 , any type of slidable interface works equally as well. For example, the cartons can be coated with a slippery bottom surface and the floor of the building  10  another slippery surface to permit migration of cartons from position to position. In another embodiment (not shown), wheels are retractably mounted in the rail system such that wheels in the first rails  16  going in the X direction are retracted when the cartons are moved in the Y direction along the extended wheels of the rails  18  at right angles to the first rails  16 . 
         [0031]    To move the containers, scissor jacks  14  are positioned at the ends of every row and column. For a three by three configuration as shown in  FIG. 1 , nine scissor jacks  14  are used. The scissor jacks  14  push the containers  20  into a position that is vacant as will be described later. In this way, by multiple successive shifts using the scissor jacks  14 , a container  20  that was inaccessible is shifted until it is in a position whereby it is accessible, as will be shown. Although shown using scissor jacks  14  for simplicity, many other methods of moving the containers  20  are possible including, but not limited to, a chain and gear system in each rail, a hydraulic piston at the end of each row and column and a wheel coupled to a motor under each X-Y position. Furthermore, in some embodiments, the movement mechanism is capable of moving the containers in two directions, thereby eliminating the need for a movement mechanism such as the scissor jacks  14  at both ends of each row/column. In this embodiment, the scissor jacks  14  must latch onto the containers  20  in order to pull them back and the containers  20  must also selectively latch onto the next container  20  in the row/column so that the entire row/column can be pulled back together. In another embodiment (not shown), guided vehicles which travel on an x-y axis beneath the containers. In this embodiment, the containers  20  rest on a grid pattern of supports (e.g., pillars made from, for example, cinderblocks). Guided vehicles travel under the containers  20  and between the supports until such time as they reach a container  20  (or stack of containers  20 ) which requires movement. The guided vehicles are equipped with a lift mechanism so that the stack can be lifted above the support grid and then moved along the x or y axis. In some embodiments, the guided vehicles convey the container(s)  20  to another lift mechanism, which will then accept the stack of containers  20  from the guided vehicles. The guided vehicles are preferably powered by batteries that are recharged at designated stations along the perimeter of the grid and are controlled by a computer system  100 . To increase efficiency and thereby decrease access time, multiple guided vehicles are deployed as well as additional empty grid locations. If any one such vehicle fails, access to any container  20  can still be achieved by the other vehicles. 
         [0032]    Referring to  FIG. 2 , another isometric view of a system of a first embodiment of the present invention will be described. Eight containers  20  are positioned in the nine positions, leaving one empty position. Each container  20  has an access door  22 . The containers  20  move freely on the rails  16 / 18  and ball  24  and sockets  25 . In the exemplary configuration, the front three containers  20  are accessible through their doors  22 , but the other five are not currently accessible because their doors  22  are blocked by other containers. In this example, the total storage space occupation is 8/9 or 89%. If the same space was allocated such that no containers  20  had blocked doors  22 , then an access row would be required, wide enough to load/unload each container  20 . Assuming such an access row is roughly the width of a container  20 , then only size storage containers would be possible, therefore the storage space occupation would have been 6/9 or 67%. It can be seen that as the number of containers  20  increase, the storage efficiency grows. For example 100 containers  20  in a 10 by 10 grid with one space yields a total storage space occupation of 99/100 or 99%. 
         [0033]      FIG. 3 , a detail isometric view of a booster of a first embodiment of the present invention will be described. In this example, the booster is a scissor jack  14  mounted to the building wall  12  and adapted to push a row of containers  20  along balls  24  in sockets  25  that are mounted to rails  16 / 18  or other structural support. 
         [0034]      FIG. 4 , a side view of a container of the present invention will be described. In this view, multiple containers  20  are stacked to further increase storage efficiency. In this example, only the X-rail  18  and ball  24  and sockets  25  are visible. By stacking the containers, the storage efficiency increases without significant increases in access time (as discussed later). For example, in a storage area of 4 rows and 4 columns of containers with one empty space, the efficiency is 15 spaces occupied divided by the total possible spaces which is 16, or 15/16, or around 94%. Stacking doesn&#39;t change this equation because stacking three high would result in 45/48 or, the same approximately 94%. What it affects is the total amount of storage with respect to floor space. For example, if a building is 16,000 square feet and each container is 100 square feet, then, without stacking, 15 containers and one space are possible—the 94% efficiency stated above. Given the same 16,000 square feet, by stacking three high, 45 containers occupy the same space, thereby tripling the amount of storage. This is critical when land prices are high or local ordinances allow only a certain percentage of land to be used for buildings, or when an existing building is used and it has sufficient clearance for multiple layers of stacked containers  20 , etc. Note that, in some embodiments, the tops of the containers  20  have registration devices that mate with matching registration devices on the bottoms of containers  20  stacked above them. It is preferred that the registration devices include a male portion on the tops of the containers  20  and a female portion on the bottoms, thereby not interfering with the movement of the containers  20  within the grid. 
         [0035]      FIG. 5 , a bottom view of a container of some embodiments of the present invention will be described. In these embodiments, the bottom of the container  20  has grooves  26 / 28  in which the balls  24  of the ball/socket  24 / 25  travel, thereby keeping the containers  20  positioned as they travel in the X-direction (grooves  26 ) and Y-direction (grooves  28 ). Any mechanism that keeps the containers  20  from shifting is acceptable so long as the containers  20  don&#39;t shift slightly into an empty space and block the shifting of other containers  20 . For example, in the embodiment using wheels that retract, channels mounted to the bottom of the containers  20  in place of the grooves  26 / 28  provide guides, keeping the containers  20  in their proper grid position. Note, other methods of moving containers are known and the present invention is not limited in any way to the described method of moving containers with or without bottom registrations and with or without male/female stacking alignment guides. 
         [0036]      FIG. 6 , an isometric view of the present invention with multiple levels of containers will be described. This figure shows a configuration of three rows or three columns of containers  20  stacked three high in three levels  40 / 42 / 44 , allowing for the storage of  24  containers.  FIGS. 8 and 9  will show exemplary ways to access the upper containers. The slidable mechanism must be structurally sound to hold the weight of three containers high along with their contents. 
         [0037]      FIG. 7 , an isometric view of the present invention with multiple levels of containers and a lift for accessing a second or third level container will be described. In this embodiment, the desired containers  20  are shifted until their access door  22  if facing forward. A lift  50  is provided to elevate one or more people to the upper level containers  20  at either the middle level  42  (as shown) or upper level  44 . There are many lifts possible. In alternate embodiments, a fork lift type of device is used to lift the upper containers  20  from the 2 nd  stack  42  or 3 rd  stack  44  and place them on the ground  52  for loading and unloading. 
         [0038]      FIG. 8 , an isometric view of the present invention with multiple levels of containers and an elevator for accessing a second or third level container will be described. In this embodiment, an elevator  60  is adapted beneath one stack  65  of containers  20 . The elevator  60  is in a small basement  64  that is deep enough to hold the elevator mechanism  60  and all but one container  20  in the stack  65  of containers  20  above the elevator  60 . As shown in  FIG. 8 , the container  20  at the bottom  40  of the stack  65  is at ground level  52  and opens  23  for loading and unloading. The rails  16 / 18  rest on the building foundation  62 . 
         [0039]      FIG. 9 , an isometric view of the present invention with multiple levels of containers and an elevator positioned for accessing a second or third level container is shown. In this configuration of the embodiment, the elevator  60  has lowered the lower two containers  20  in the stack  65  above the elevator into the small basement  64 . The container  20  at the top  44  of the stack  65  is now at ground level  52  and opens  23  for loading and unloading. The stack  65  of containers  20  must be raised level with the other stacks before further shifting is performed. 
         [0040]    Referring now to  FIGS. 10-31 , the method of accessing of a particular container will be shown. In this example, there are nine positions (a-h, z) having containers in eight positions (a-h) and one empty position (z). In this example, each position is denoted by a row and column letter/number. For example, the container marked “a” is in the A 1  position and the container marked “b” is in the A 2  position. In the example shown, it is desired to access the contents of container b and the access door is at the position C 3 . To access b, c,f are shifted down from {A 3 ,B 3 } to {B 3 ,C 3 } resulting in z (empty position) moving to A 3  as shown in  FIG. 11 . 
         [0041]    Next, in  FIG. 12 , a,b are shifted right and the empty space is at A 1 . In  FIG. 13 , d,g, are shifted up and the space is in C 1 . In  FIG. 14 , h,f are shifted left and the space is in C 3 . In  FIG. 15 , b,c are shifted down and the space is in A 3 . In  FIG. 16 , d,a are shifted right and the space is in A 1 . In  FIG. 17 , g,h are shifted up and the space is in C 1 . In  FIG. 18 , f,c are shifted left and the space is in C 3 . In  FIG. 19 , a,b are shifted down and the space is in A 3 . At this point, b is now in A 3  where the access door of this example resides and the contents of b are accessible. 
         [0042]    Another way to represent this sequence is shown in Table-1 below: 
         [0000]    
       
         
               
               
               
               
               
               
               
               
               
               
             
           
               
                 TABLE 1 
               
               
                   
               
               
                 A1 
                 A2 
                 A3 
                 B1 
                 B2 
                 B3 
                 C1 
                 C2 
                 C3 
               
               
                   
               
             
             
               
                 a 
                 b 
                 c 
                 d 
                 e 
                 f 
                 g 
                 h 
                   
                 Initial state 
               
               
                 a 
                 b 
                   
                 d 
                 e 
                 c 
                 g 
                 h 
                 f 
                 First shift 
               
               
                   
                 a 
                 b 
                 d 
                 e 
                 c 
                 g 
                 h 
                 f 
                 Second shift 
               
               
                 d 
                 a 
                 b 
                 g 
                 e 
                 c 
                   
                 h 
                 f 
                 Third shift 
               
               
                 d 
                 a 
                 b 
                 g 
                 e 
                 c 
                 h 
                 f 
                   
                 Fourth shift 
               
               
                 d 
                 a 
                   
                 g 
                 e 
                 b 
                 h 
                 f 
                 c 
                 Fifth shift 
               
               
                   
                 d 
                 a 
                 g 
                 e 
                 b 
                 h 
                 f 
                 c 
                 Sixth shift 
               
               
                 g 
                 d 
                 a 
                 h 
                 e 
                 b 
                   
                 f 
                 c 
                 Seventh shift 
               
               
                 g 
                 d 
                 a 
                 h 
                 e 
                 b 
                 f 
                 c 
                   
                 Eighth shift 
               
               
                 g 
                 d 
                   
                 h 
                 e 
                 a 
                 f 
                 c 
                 b 
                 Ninth shift 
               
               
                   
               
             
          
         
       
     
         [0043]    In this sequence, 9 shift operations are required to move the container, “b” from the A 2  position to the C 3  position. If container “a” was desired, instead, the additional shifts shown in Table-2 would be required: 
         [0000]    
       
         
               
               
               
               
               
               
               
               
               
               
             
           
               
                 TABLE 2 
               
               
                   
               
               
                 A1 
                 A2 
                 A3 
                 B1 
                 B2 
                 B3 
                 C1 
                 C2 
                 C3 
               
               
                   
               
             
             
               
                 g 
                 d 
                   
                 h 
                 e 
                 a 
                 f 
                 c 
                 b 
                 From Table-1 
               
               
                   
                 g 
                 d 
                 h 
                 e 
                 a 
                 f 
                 c 
                 b 
                 10 th  shift 
               
               
                 h 
                 g 
                 d 
                 f 
                 e 
                 a 
                   
                 c 
                 b 
                 11 th  shift 
               
               
                 h 
                 g 
                 d 
                 f 
                 e 
                 a 
                 c 
                 b 
                   
                 12 th  shift 
               
               
                 h 
                 g 
                   
                 f 
                 e 
                 d 
                 c 
                 b 
                 a 
                 13th shift 
               
               
                   
               
             
          
         
       
     
         [0044]    This sequence requires four additional shifts for a total of 13 shifts, this being the longest sequence for a 3 by 3 matrix. A four by four matrix would require 25 shift operations to move the furthest container to the access door, while a five by five matrix would require 32 shift operations for the worst case. 
         [0045]    Basically, to move a given container one position requires four shift operations. Therefore, if the matrix is three by five (A 1  . . . C 5 ), eight (2*4) shift operations are required to move from the A 1  to the C 1  position and sixteen (4*4) shift operations are required to move from the C 1  position to the C 5  position. This can be represented mathematically as: 
         [0000]      4*( X− 1)+4*( Y− 1)−3, 
         [0046]    where X is the number of positions in the X direction or columns and Y is the number of positions in the Y direction or rows. Three is subtracted because on the last shift operation, the designated container is in position on the first shift. 
         [0047]    For a ten by ten matrix, 4*(10−1)+4*(10−1)−3 (69) shift operations are required to access the most distant container, while if you assume a random access pattern, the average number of shifts to access a random container  20  within this matrix would be one half of that, or approximately 34 shift operations. These calculations assume only one access position located at a corner. Further improvements are possible by having multiple access position and centrally located access position. 
         [0048]    It can be seen that, given a configuration as previously described, having multiple access doors will improve access time because the average number of shifts from any random location to any of the multiple access position will be less than the average number of shifts from any random location to a single access position. In this configuration, once the desired container  20  is positioned at one of the access positions, it can be accessed for loading and unloading, but if another user wants access to another container  20 , they will have to wait until the first user is finished, in that an shifting to access the second user&#39;s container  20  will move the first user&#39;s container  20 , unless, by luck, the second user&#39;s container  20  is already located at a second access position. This situation is addressed in embodiments having multiple empty positions such that the other containers  20  are rotated using the additional empty spaces while the first container  20  remains in its static position, allowing access to such. 
         [0049]    Being that shift operations may require a substantial amount of time, various alternate embodiments are possible. The simplest alternative is to schedule access to each container. For example, a customer can request access to their container at a specific time of day, either by making an appointment by phone or over the internet. 
         [0050]    Another way to reduce the access time is to use more space for empty locations. For example, consider the configuration is  FIGS. 20-31 . In this example, the storage space is divided into 16 container positions (4×4). At any given time, instead of one container position being empty, two container positions are empty. In order move container “a” from A 1  to the access position D 4 , 12 shifts are required instead of 21 as shown in  FIG. 20-31  and represented by the following table: 
         [0000]    
       
         
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
             
           
               
                   
               
               
                 A1 
                 A2 
                 A3 
                 A4 
                 B1 
                 B2 
                 B3 
                 B4 
                 C1 
                 C2 
                 C3 
                 C4 
                 D1 
                 D2 
                 D3 
                 D4 
               
               
                   
               
             
             
               
                 a 
                 b 
                 c 
                 d 
                 e 
                 f 
                 g 
                 h 
                 i 
                 j 
                 k 
                   
                 l 
                 m 
                 n 
                   
                 FIG. 20 
               
               
                 a 
                 b 
                 c 
                 d 
                 e 
                 f 
                 g 
                 h 
                   
                 i 
                 j 
                 k 
                   
                 l 
                 m 
                 n 
                 FIG. 21 
               
               
                   
                 b 
                 c 
                 d 
                   
                 f 
                 g 
                 h 
                 a 
                 i 
                 j 
                 k 
                 e 
                 l 
                 m 
                 n 
                 FIG. 22 
               
               
                 b 
                 c 
                 d 
                   
                 f 
                 g 
                 h 
                   
                 a 
                 i 
                 j 
                 k 
                 e 
                 l 
                 m 
                 n 
                 FIG. 23 
               
               
                 b 
                 c 
                 d 
                 k 
                 f 
                 g 
                 h 
                 n 
                 a 
                 i 
                 j 
                   
                 e 
                 l 
                 m 
                   
                 FIG. 24 
               
               
                 b 
                 c 
                 d 
                 k 
                 f 
                 g 
                 h 
                 n 
                   
                 a 
                 i 
                 j 
                   
                 e 
                 l 
                 m 
                 FIG. 25 
               
               
                 b 
                 c 
                 d 
                 k 
                 f 
                 g 
                 h 
                 n 
                   
                 a 
                 i 
                 j 
                 e 
                 l 
                 m 
                   
                 FIG. 26 
               
               
                 b 
                 c 
                 d 
                 k 
                 f 
                 g 
                 h 
                 n 
                 e 
                 a 
                 i 
                   
                   
                 l 
                 m 
                 j 
                 FIG. 27 
               
               
                 b 
                 c 
                 d 
                 k 
                 f 
                 g 
                 h 
                 n 
                 e 
                   
                 a 
                 i 
                 l 
                 m 
                 j 
                   
                 FIG. 28 
               
               
                 b 
                 c 
                 d 
                 k 
                 f 
                 g 
                 h 
                 n 
                 e 
                 m 
                 a 
                   
                 l 
                   
                 j 
                 i 
                 FIG. 29 
               
               
                 b 
                 c 
                 d 
                 k 
                 f 
                 g 
                 h 
                 n 
                 e 
                 m 
                   
                 a 
                 l 
                 j 
                 i 
                   
                 FIG. 30 
               
               
                 b 
                 c 
                 d 
                 k 
                 f 
                 g 
                 h 
                 n 
                 e 
                 m 
                   
                   
                 l 
                 j 
                 i 
                 a 
                 FIG. 31 
               
               
                   
               
             
          
         
       
     
         [0051]    Therefore, the average number of shifts for accessing any randomly selected container would be 6 instead of 11. The extra spaces help significantly in larger grids. For example, in the 10 by 10 grid, normally the worst case number of shifts required is 69. In this configuration, 99 spaces are occupied by containers results in a 99% efficient storage area. By adding one extra empty space, the worst case access reduces to 44 while only reducing the storage efficiency by an additional 1% to 98%. By adding three extra spaces, the worst case access reduces to 22 with an average access of 11 shifts with a storage efficiency of 96%. 
         [0052]    As discussed above, in some embodiments, multiple access positions allow more than one user to access their containers  20 . For instance, in the example of  FIGS. 20-31 , assume “a” second access position is located at D 3 . If the owner of container i needs access, by luck, that container is already in position. If not, the other containers are shifted without moving container a. For example, if the second user owns container m, then the following additional shifts are performed (note that container a remains in the D 4  position): 
         [0000]    
       
         
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
             
           
               
                   
               
               
                 A1 
                 A2 
                 A3 
                 A4 
                 B1 
                 B2 
                 B3 
                 B4 
                 C1 
                 C2 
                 C3 
                 C4 
                 D1 
                 D2 
                 D3 
                 D4 
               
               
                   
               
             
             
               
                 b 
                 c 
                 d 
                 k 
                 f 
                 g 
                 h 
                 n 
                 e 
                 m 
                   
                   
                 l 
                 j 
                 i 
                 a 
                 FIG 31 
               
               
                 b 
                 c 
                 d 
                 k 
                 f 
                 g 
                 h 
                 n 
                   
                 e 
                 m 
                   
                 l 
                 j 
                 i 
                 a 
               
               
                 b 
                 c 
                 d 
                 k 
                 f 
                 g 
                 h 
                 n 
                 l 
                 e 
                 m 
                   
                   
                 j 
                 i 
                 a 
               
               
                 b 
                 c 
                 d 
                 k 
                 f 
                 g 
                 h 
                 n 
                 l 
                 e 
                 m 
                   
                 j 
                 i 
                   
                 a 
               
               
                 b 
                 c 
                 d 
                 k 
                 f 
                 g 
                 h 
                 n 
                 l 
                 e 
                   
                   
                 j 
                 i 
                 m 
                 a 
                 m is in D3 
               
               
                   
               
             
          
         
       
     
         [0053]    Note that the above shifts require partial row/columns shifts and need mechanisms of the embodiments whereby a subset of the containers  20  of one row or one column can shift independently of other containers  20  in that row/column. For example, moving j,i left on column as above is done by mechanisms that shift the D 2 ,D 3  coordinates left one position without shifting the D 4  position left, being that D 4  contains the container  20  a being accessed by the first user. 
         [0054]    It is anticipated that in some embodiments, an external door be provided at each access point to shield the users from coming into contact with the shifting containers  20 . 
         [0055]    Referring to  FIG. 32 , a typical computer system is shown. A processor  110  is provided to execute stored programs that are generally stored for execution within a memory  120 . Generally, such computer systems are often referred to as controllers, programmable logic controllers (PLC) and the like. The processor  110  can be any processor or a group of processors, for example an Intel Pentium-4® CPU or the like. The memory  120  is connected to the processor and can be any memory suitable for connection with the selected processor  110 , such as SRAM, DRAM, SDRAM, RDRAM, DDR, DDR-2, etc. Firmware is stored in firmware storage  125  that is connected to the processor  110  and may include initialization software. The firmware storage  125  is any known persistent storage including ROM, Flash, PROM, EPROM, EEPROM and battery-backed-up RAM. 
         [0056]    Also connected to the processor  110  is a system bus  130  for connecting to peripheral subsystems such as motor controls  140 , sensor inputs  180 , a graphics adapter  160  and a keyboard/mouse  170 . The graphics adapter  160  receives commands and display information from the system bus  130  and generates a display image that is displayed on the display  165 . The keyboard and mouse  170  are used to accept operator inputs for control of the system. 
         [0057]    In general, the motor control  140  interfaces to the motor drive system  150 . There are many known ways to control the motors that move the containers  20  around the grid, including servo motors and free running motors with feedback sensors. In many embodiments, sensors are positioned around the grid to sense, for example, the position of the containers  20  within the grid  16 / 18 . The sensors  190  are connected to sensor input ports  180  and are any known type of sensor including electric eyes, micro-switches, proximity switches and the like. 
         [0058]    The firmware  125  includes software algorithms that remember which container is in which position within the grid and, when requested, controls the motor system to shift the containers around the grid in order to move the target container to a target access location. 
         [0059]    Equivalent elements can be substituted for the ones set forth above such that they perform in substantially the same manner in substantially the same way for achieving substantially the same result. 
         [0060]    It is believed that the system and method of the present invention and many of its attendant advantages will be understood by the foregoing description. It is also believed that it will be apparent that various changes may be made in the form, construction and arrangement of the components thereof without departing from the scope and spirit of the invention or without sacrificing all of its material advantages. The form herein before described being merely exemplary and explanatory embodiment thereof. It is the intention of the following claims to encompass and include such changes.
An application for an efficient storage system includes containers having a top, bottom, walls and an access door. The containers are moveably organized within a building that organized as a grid of rows and columns, each row wider than the width of each of the containers and each column deeper than the depth of each of the containers. At least one empty position within the grid allows for shifting of the containers from one row/column to another. At least one access station is provided for loading and unloading the containers through the access doors and a mechanism is provided for moving the containers within the grid.