1461188663-cd0d6118-19b2-4681-8be9-7f8ec0400088

1. A storage system that is accessed from a host device, comprising:
a storage device comprising a plurality of logical volumes;
a storage device control section that controls said storage device;
an interface section that receives a snapshot acquisition instruction and snapshot utilization instruction from said host device;
and a snapshot processing device that executes processing for acquisition and utilization of snapshots in accordance with said snapshot acquisition instruction and said snapshot utilization instruction received by said interface section;
wherein said snapshot processing device, in response to said snapshot acquisition instruction, selects a logical volume that is capable of use as a snapshot target from said plurality of logical volumes, instructs said storage device control section to acquire a snapshot of the logical volume of the snapshot source, designated in said snapshot acquisition instruction for the selected logical volume, and holds generation information that associates the generation number specified in said snapshot acquisition instruction with the address of said selected logical volume, and in response to said snapshot utilization instruction, specifies a logical volume where the snapshot corresponding to the generation number specified in said snapshot utilization instruction is held, by referring to said generation information, and allocates an address accessible by said host device to said specified logical volume.
2. The storage system according to claim 1 wherein the address accessible by said host device that is allocated to said specified logical volume is a logical volume address that is registered beforehand in said host device.
3. The storage system according to claim 1 wherein, when the address accessible by said host device is allocated to said specified logical volume, said snapshot processing device adds information indicating the fact that the address accessible by said host device has been allocated to said specified logical volume to said generation information.
4. The storage system according to claim 1 wherein the snapshot acquisition instruction further includes designation of the logical volume of the snapshot target and
said snapshot processing device, in response to said snapshot acquisition instruction, if the snapshot target logical volume designated in said snapshot acquisition instruction is already used, selects an unused logical volume from said plurality of logical volumes and gives an instruction to said storage device control section to acquire a snapshot of the snapshot source logical volume designated in said snapshot acquisition instruction for the selected logical volume.
5. The storage system according to claim 1 wherein said snapshot utilization instruction further includes designation of the logical volume of the snapshot target and
said snap shot processing device, in response to said snapshot utilization instruction, if a snapshot of the generation number specified in said snapshot utilization instruction has not been acquired by the snapshot target logical volume specified in said snapshot utilization instruction, allocates the logical volume address of said specified snapshot target to the logical volume where the snapshot of said designated generation number is held, by referring to said generation information, and gives notification to said host device of the fact that a snapshot of said specified generation number has become available for use.
6. A storage system that is accessed from a host device, comprising:
a storage means comprising a plurality of logical volumes;
a storage means control means that controls said storage means;
an interface means that receives a snapshot acquisition instruction and snapshot utilization instruction from said host device; and
snapshot processing means that executes processing for acquiring and utilizing snapshots in accordance with said snapshot acquisition instruction and said snapshot utilization instruction received by said interface means;
wherein said snapshot processing means, in response to said snapshot acquisition instruction, if the snapshot target logical volume designated in said snapshot acquisition instruction is already used, selects an unused logical volume from said plurality of logical volumes; gives an instruction to said storage device control means to acquire a snapshot of the logical volume of the snapshot source designated in said snapshot acquisition instruction for the selected logical volume, and holds generation information associating the generation number specified in said snapshot acquisition instruction with the address of said selected logical volume; and
in response to said snapshot utilization instruction, specifies a logical volume where a snapshot corresponding to the generation number specified in said snapshot utilization instruction is held, by referring to said generation information, and allocates an address accessible by said host device to said specified logical volume.
7. A method of acquiring and utilizing snapshots in a storage system that is accessed from a host device, comprising a storage device comprising a plurality of logical volumes, the method comprising the steps of;
selecting, when a snapshot acquisition instruction is received from said host device, an unused logical volume from said plurality of logical volumes if the snapshot target logical volume designated in said snapshot acquisition instruction is already used;
acquiring a snapshot of the snapshot source volume designated in said snapshot acquisition instruction for the selected logical volume;
holding generation information associating the generation number specified in said snapshot acquisition instruction with the address of said selected logical volume; and
specifying, when a snapshot utilization instruction is received from said host device, a logical volume where a snapshot corresponding to the generation number specified in said snapshot utilization instruction is held, by referring to said generation information; and
allocating an address accessible by said host device to said specified logical volume.
8. A storage system that is accessed from a host device, comprising:
a storage device comprising a plurality of logical volumes;
a storage device control section that controls said storage device;
an interface section that receives a snapshot acquisition instruction, snapshot utilization instruction and generation information acquisition instruction from said host device; and
a snapshot processing device comprising a generation information storage section that stores generation information indicating the snapshot acquisition status for each generation and that executes processing in accordance with said snapshot acquisition instruction, said snapshot utilization instruction and generation information acquisition instruction received by said interface section; and wherein
said snapshot processing device, in response to said snapshot acquisition instruction, selects one logical volume from said plurality of logical volumes; gives instruction to acquire a snapshot of the logical volume of the snapshot source designated in said snapshot acquisition instruction for the selected logical volume and, specifies a generation number by referring to said generation information storage section and associates this specified generation number with the address of said selected logical volume and stores these in the generation information storage section;
in response to said generation information acquisition instruction, acquires the information stored in the generation information storage section and gives an instruction to said interface section to send the information to said host device;
and, in response to said snapshot utilization instruction, specifies the logical volume where a snapshot has been acquired corresponding to the generation number specified in said snapshot utilization instruction by referring to said generation information storage section and allocates an address accessible by said host device to said specified logical volume.
9. A storage system that is accessed from a host device, comprising:
storage means comprising a plurality of logical volumes;
storage means control means that controls said storage means;
interface means that receives a snapshot acquisition instruction, snapshot utilization instruction and generation information acquisition instruction from said host device; and
snapshot processing means comprising generation information storage means that stores generation information indicating the snapshot acquisition status for each generation and that executes processing in accordance with said snapshot acquisition instruction, said snapshot utilization instruction and generation information acquisition instruction received by said interface means; and wherein
said snapshot processing means, in response to said snapshot acquisition instruction, selects one logical volume from said plurality of logical volumes; gives an instruction to acquire a snapshot of the logical volume of the snapshot source designated in said snapshot acquisition instruction for the selected logical volume and, specifies a generation number by referring to said generation information storage means, and associates this specified generation number with the address of said selected logical volume and stores these in said generation information storage means;
in response to said generation information acquisition instruction, acquires the information stored in said generation information storage means and gives an instruction to said interface means to send the information to said host device;
and, in response to said snapshot utilization instruction, specifies the logical volume where a snapshot has been acquired corresponding to the generation number specified in said snapshot utilization instruction by referring to said generation information storage means, and allocates an address accessible by said host device to said specified logical volume.
10. A method of acquiring and utilizing snapshots in a storage system that is accessed from a host device, comprising a storage device comprising a plurality of logical volumes and a generation information storage device that stores generation information indicating for each generation the snapshot acquisition status, the method comprising the steps of;
selecting a logical volume from said plurality of logical volumes when a snapshot acquisition instruction is received from said host device;
giving an instruction in respect of the selected logical volume for the acquisition of a snapshot of the snapshot source logical volume designated in said snapshot acquisition instruction;
specifying a generation number by referring to said generation information storage section, and associating the specified generation number with the address of said selected logical volume and storing these in said generation information storage device;
acquiring and sending to the host device the information stored in said generation information storage section when said generation information acquisition instruction is received from said host device;
specifying a logical volume where a snapshot has been acquired corresponding to the generation number specified in said snapshot utilization instruction by referring to said generation information storage section when said snapshot utilization instruction is received from said host device; and
allocating an address accessible by said host device to said specified logical volume.

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 of controlling steering of a vehicle through setting wheel angles of a plurality of modular electronic corner assemblies (eModules), the method comprising:
receiving a driving mode selected from a mode selection menu;
determining, in a master controller, a position of a steering input device;
determining, in the master controller, a velocity of the vehicle when the determined position of the steering input device is near center;
transmitting a drive mode request corresponding to the driving mode to a plurality of steering controllers when the steering wheel is near center and the velocity of the vehicle is below a maximum velocity;
determining, in the master controller, a required steering angle of each of the plurality of eModules as a function of the determined position of the steering input device, the determined velocity of the vehicle, and the driving mode; setting each of the eModules to an angle of 0 degrees and recording the angle setting of each of the eModules to a memory in the master controller, when the determined position of the steering input device is near 0 degrees; and
setting the eModules to the respective determined steering angles.
2. A method, as set forth in claim 1, wherein the plurality of eModules are a left front (LF) eModule, a right front (RF) eModule, a left rear (LR) eModule, and a right rear (RR) eModule.
3. A method, as set forth in claim 2, wherein determining, in the master controller, a required steering angle is further defined as:
calculating a steering angle when the determined position of the steering input device is not near 0 degrees;
setting an instantaneous center of rotation (ICR) to be along a centerline of rear wheels of the LR eModule and the RR eModule;
setting each of the LR and RR eModules to an angle;
calculating a coordinate position of the ICR as a function of the calculated steering angle;
calculating angles of the LF eModule and RF eModule;
calculating a wheel angle of the LF eModule and the RF eModule; and
recording the wheel angle of the LF eModule and the RF eModule to the memory in the master controller.
4. A method, as set forth in claim 3, wherein setting each of the LR and RR eModules to an angle is further defined as setting each of the LR and RR eModules to an angle of 0 degrees when the drive mode request is a two-wheel steer (2WS) drive mode request.
5. A method, as set forth in claim 3, further comprising:
calculating a caster wheel offset for the LF eModule and the RF eModule; and
calculating wheel angle offsets for the LF eModule and the RF eModule to align a center of each of the respective wheels to the ICR;
wherein calculating a wheel angle of the LF eModule and the RF eModule is further defined as calculating a wheel angle of the LF eModule and the RF eModule as a function of the alignment of the center of each of the respective wheels to the ICR.
6. A method, as set forth in claim 3, wherein receiving a driving mode selected from the mode selection menu is further defined as receiving a four wheel steer (4WS) drive mode request from the mode selection menu when the vehicle is operating in a 2WS drive mode; and
wherein setting the LR and RR eModules to an angle is further defined as:
setting the LR and RR eModules to an angle of 0 degrees when the velocity of the vehicle is greater than a maximum velocity;
setting the LR and RR eModules to a desired angle when the velocity of the vehicle is no greater than a minimum velocity; and
transitioning the angle of the LR and RR eModules linearly from the angle of 0 degrees to the desired angle when the velocity of the vehicle is greater than the minimum velocity and no greater than the maximum velocity.
7. A method, as set forth in claim 2, wherein determining, in the master controller, a required steering angle is further defined as:
calculating an ICR lateral line offset as a function of the determined velocity of the vehicle when the drive mode request is the 4WS drive mode;
calculating a steering angle when the determined position of the steering input device is not near 0 degrees;
calculating a coordinate position of the ICR as a function of the calculated steering angle;
calculating angles of the LF eModule, the RF eModule, the LR eModule, and the RR eModule;
calculating a wheel angle of the LF eModule, the RF eModule, the LR eModule, and the RR eModule; and
recording the wheel angle of the LF eModule, the RF eModule, the LR eModule, and the RR eModule to the memory in the master controller.
8. A method, as set forth in claim 7, further comprising:
calculating a caster wheel offset for the LF eModule, the RF eModule, the LR eModule, and the RR eModule; and
calculating wheel angle offsets for the LF eModule, the RF eModule, the LR eModule, and the RR eModule to align a center of each of the respective wheels to the ICR;
wherein calculating a wheel angle of the LF eModule, the RF eModule, the LR eModule, and the RR eModule is further defined as calculating a wheel angle of the LF eModule, the RF eModule, the LR eModule, and the RR eModule as a function of the alignment of the center of each of the respective wheels to the ICR.
9. A method, as set forth in claim 7, further comprising:
wherein calculated ICR lateral line is configured to intersect a center of the vehicle when the determined velocity of the vehicle is no greater than a minimum velocity;
wherein the calculated ICR lateral line is configured to intersect the center of the wheels of each of the LR eModule and RR eModule when the determined velocity of the vehicle is greater than a maximum velocity; and
wherein the calculated ICR lateral line is configured to transition linearly between center of the vehicle and the center of the wheels of each of the LR eModule and the RR eModule when the determined vehicle as a function of the linear transition between the determined velocity of the vehicle of between greater than the minimum velocity and no greater than the maximum velocity.
10. A method, as set forth in claim 2, wherein determining, in the master controller, a required steering angle is further defined as:
calculating an directional vector as a function of the determined position of the steering input device;
determining a normalized yaw angle of a joystick input device about a Z-axis;
calculating a steering angle when the determined normalized yaw angle of the joystick is less than a minimum angle or greater than a maximum angle;
calculating a steering radius from the center of the vehicle;
calculating a coordinate position of the ICR as a function of the calculated steering radius and directional vector;
calculating angles of the LF eModule, the RF eModule, the LR eModule, and the RR eModule;
calculating a wheel angle of the LF eModule, the RF eModule, the LR eModule, and the RR eModule; and
recording the wheel angle of the LF eModule, the RF eModule, the LR eModule, and the RR eModule to the memory in the master controller.
11. A method, as set forth in claim 10, further comprising:
calculating a caster wheel offset for the LF eModule, the RF eModule, the LR eModule, and the RR eModule; and
calculating wheel angle offsets for the LF eModule, the RF eModule, the LR eModule, and the RR eModule to align a center of each of the respective wheels to the ICR;
wherein calculating a wheel angle of the LF eModule, the RF eModule, the LR eModule, and the RR eModule is further defined as calculating a wheel angle of the LF eModule, the RF eModule, the LR eModule, and the RR eModule as a function of the alignment of the center of each of the respective wheels to the ICR.
12. A method, as set forth in claim 1, further comprising:
determining, in the master controller, a required steering angle of each of the plurality of eModules when the vehicle is determined to not be in motion and a park mode is selected as the driving mode; and
setting the eModules to an angle such that the vehicle does not move when pushed in any direction.
13. A method of controlling steering of a vehicle through setting wheel angles of a plurality of modular electronic corner assemblies (eModules), the method comprising:
activating a mode selection menu;
receiving a driving mode selected from the mode selection menu;
determining, by a master controller, the position of a steering input device;
determining, by the master controller, a velocity of the vehicle; transmitting a drive mode request corresponding to the driving mode to a plurality of steering controllers when the steering wheel is near center and the velocity of the vehicle is below a maximum velocity;
determining the wheel angle for each of the plurality of eModules as a function of the driving mode, the position of the steering input device, and the determined velocity of the vehicle; setting each of the eModules to an angle of 0 degrees and recording the angle setting of each of the eModules to a memory in the master controller, when the determined position of the steering input device is near 0 degrees; and
transmitting the determined wheel angle for each of the plurality of eModules to a respective steering controller.
14. A method, as set forth in claim 13, further comprising:
determining, with at least one location device, a spot defined between objects adjacent the vehicle;
wherein determining the wheel angle is further defined as determining the wheel angle for each of the plurality of eModules as a function of the driving mode, the position of the steering input device, the determined velocity of the vehicle, and the spot defined between objects adjacent the vehicle.