1. An electronic camera comprising:
a shooting unit for shooting a subject image to generate image data;
a continuous shooting memory for temporarily storing said image data yet to be completed of processing; and
a data recorder for recording image data generated by said shooting unit, the data recorder including a recording unit for recording data on a removable recording medium, and including a recording buffer for temporarily storing data yet to be output to said recording medium, a condition determining unit for determining a right condition for performing a recording operation with said recording unit according to a recording test performed on said recording medium, and an optimizing unit for optimizing the recording operation of said recording unit according to said right condition determined by said condition determining unit, optimizing the capacity of said recording buffer according to said right condition, and
optimizing the capacity of said recording buffer by allocating an area of said continuous shooting memory to said recording buffer according to said right condition.
2. An electronic camera comprising:
a shooting unit for shooting a subject image to generate image data;
a continuous shooting memory for temporarily storing said image data yet to be completed of processing; and
a data recorder for recording image data generated by said shooting unit, the data recorder including a recording unit for recording data on a removable recording medium, and including a recording buffer for temporarily storing data yet to be output to said recording medium, a condition determining unit for determining a right condition for performing a recording operation with said recording unit according to information acquisition from said recording medium, and an optimizing unit for optimizing the recording operation of said recording unit according to said right condition determined by said condition determining unit, optimizing the capacity of said recording buffer according to said right condition, and
optimizing the capacity of said recording buffer by allocating an area of said continuous shooting memory to said recording buffer according to said right condition.
3. An electronic camera comprising:
a shooting unit for shooting a subject image to generate image data;
a display memory for storing said image data for displaying purpose; and
a data recorder for recording image data generated by said shooting unit, the data recorder including a recording unit for recording data on a removable recording medium, and including a recording buffer for temporarily storing data yet to be output to said recording medium, a condition determining unit for determining a right condition for performing a recording operation with said recording unit according to a recording test performed on said recording medium, and an optimizing unit for optimizing the recording operation of said recording unit according to said right condition determined by said condition determining unit, optimizing the capacity of said recording buffer according to said right condition, and
optimizing the capacity of said recording buffer by allocating an area of said display memory to said recording buffer according to said right condition.
4. An electronic camera comprising:
a shooting unit for shooting a subject image to generate image data;
a display memory for storing said image data for displaying purpose; and
a data recorder for recording image data generated by said shooting unit, the data recorder including a recording unit for recording data on a removable recording medium, and including a recording buffer for temporarily storing data yet to be output to said recording medium, a condition determining unit for determining a right condition for performing a recording operation with said recording unit according to information acquisition from said recording medium, and an optimizing unit for optimizing the recording operation of said recording unit according to said right condition determined by said condition determining unit, optimizing the capacity of said recording buffer according to said right condition, and
optimizing the capacity of said recording buffer by allocating an area of said display memory to said recording buffer according to said right condition.
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 for providing virtual machine fault tolerance from a snapshot, comprising:
receiving a snapshot of a virtual machine, the snapshot created while the virtual machine is hosted on a primary computing device, the snapshot representing the virtual machine according to a primary virtual machine type;
detecting a failure of the virtual machine hosted on the primary computing device; and
hosting the virtual machine on a secondary computing device based upon the snapshot, the secondary computing device supporting a secondary virtual machine type, the hosting comprising:
responsive to the secondary computing device not supporting the primary virtual machine type:
utilizing the snapshot to host a temporary virtual machine within a virtual machine host software environment that supports the primary virtual machine type;
converting the temporary virtual machine from the primary virtual machine type to the secondary virtual machine type to create a secondary virtual machine; and
hosting the secondary virtual machine on the secondary computing device as the virtual machine on the secondary computing device.
2. The method of claim 1, comprising:
determining whether the snapshot was created while the virtual machine was in a running state or an off state.
3. The method of claim 2, the hosting the virtual machine comprising:
if the primary virtual machine type is supported by the secondary computing device and the snapshot was created while the virtual machine was in the running state, then hosting the virtual machine on the secondary computing device in the running state from the snapshot.
4. The method of claim 2, the hosting the virtual machine comprising:
if the primary virtual machine type is supported by the secondary computing device and the snapshot was created while the virtual machine was in the running state, then hosting the virtual machine on the secondary computing device in the off state from the snapshot.
5. The method of claim 2, the hosting the virtual machine comprising:
if the primary virtual machine type is supported by the secondary computing device and the snapshot was created while the virtual machine was in the off state, then hosting the virtual machine on the secondary computing device in the off state from the snapshot.
6. The method of claim 2, the hosting the virtual machine comprising:
if the primary virtual machine type is not supported by the secondary computing device and the snapshot was created while the virtual machine was in the running state, then:
hosting the temporary virtual machine in the running state within the virtual machine host software environment;
shutting down the running state of the temporary virtual machine to the off state;
converting the temporary virtual machine in the off state from the primary virtual machine type to the secondary virtual machine type supported by the secondary computing device to create the secondary virtual machine; and
hosting the secondary virtual machine on the secondary computing device in the off state.
7. The method of claim 2, the hosting the virtual machine comprising:
if the primary virtual machine type is not supported by the secondary computing device and the snapshot was created while the virtual machine was in the off state, then:
converting the temporary virtual machine in the off state from the primary virtual machine type to the secondary virtual machine type supported by the secondary computing device to create the secondary virtual machine; and
hosting the secondary virtual machine on the secondary computing device in the off state.
8. The method of claim 1, comprising:
creating a second snapshot of the virtual machine hosted on the secondary computing device; and
sending the second snapshot to the primary computing device for hosting on the primary computing device based upon re-initialization of the primary computing device.
9. The method of claim 1, comprising:
maintaining a plurality of snapshots of the virtual machine hosted on the primary computing device.
10. The method of claim 9, the hosting the virtual machine comprising:
selecting the snapshot from the plurality of snapshots based upon the snapshot comprising desired backup data for the virtual machine.
11. The method of claim 1, comprising:
making a clone of the snapshot; and
hosting the virtual machine on the secondary computing device based upon the clone.
12. The method of claim 1, comprising:
providing fault tolerance for an application within the virtual machine based upon restoring the application using the virtual machine hosted on the secondary computing device.
13. A method for providing virtual machine fault tolerance from a snapshot, comprising:
providing a snapshot of a virtual machine hosted on a primary computing device to a secondary computing device, the snapshot representing the virtual machine according to a primary virtual machine type supported by the primary computing device;
detecting a re-initialization of the primary computing device due to a failure;
receiving a second snapshot from the secondary computing device, the second snapshot based upon a backup of the virtual machine hosted on the secondary computing device, the second snapshot representing the virtual machine according to a secondary virtual machine type supported by the secondary computing device; and
responsive to the primary computing device not supporting the secondary virtual machine type:
utilizing the second snapshot to host a temporary virtual machine within a virtual machine host software environment that supports the secondary virtual machine type;
converting the temporary virtual machine from the secondary virtual machine type to the primary virtual machine type to create a restored primary virtual machine; and
hosting the restored primary virtual machine on the primary computing device as the virtual machine.
14. The method of claim 13, comprising:
determining whether the second snapshot was created while the virtual machine was in a running state or an off state on the secondary computing device.
15. The method of claim 14, the hosting comprising:
if the secondary virtual machine type is supported by the primary computing device and the second snapshot was created while the virtual machine was in the running state, then hosting the virtual machine on the primary computing device in the running state from the second snapshot.
16. The method of claim 14, the hosting comprising:
if the secondary virtual machine type is supported by the primary computing device and the second snapshot was created while the virtual machine was in the running state, then hosting the virtual machine on the primary computing device in the off state from the second snapshot.
17. The method of claim 14, the hosting comprising:
if the secondary virtual machine type is supported by the primary computing device and the second snapshot was created while the virtual machine was in the off state, then hosting the virtual machine on the primary computing device in the off state from the second snapshot.
18. The method of claim 14, the hosting comprising:
if the secondary virtual machine type is not supported by the primary computing device and the second snapshot was created while the virtual machine was in the running state, then:
hosting the temporary virtual machine in the running state within the virtual machine host software environment;
shutting down the running state of the temporary virtual machine to the off state;
converting the temporary virtual machine in the off state from the secondary virtual machine type to the primary virtual machine type supported by the primary computing device to create the restored primary virtual machine; and
hosting the restored primary virtual machine on the primary computing device in the off state.
19. The method of claim 14, the hosting comprising:
if the secondary virtual machine type is not supported by the primary computing device and the second snapshot was created while the virtual machine was in the off state, then:
converting the temporary virtual machine in the off state from the secondary virtual machine type to the primary virtual machine type supported by the primary computing device to create the restored primary virtual machine; and
hosting the restored primary virtual machine on the primary computing device in the off state.
20. A system for providing virtual machine fault tolerance from a snapshot, comprising:
one or more processors; and
memory comprising instructions that when executed by at least one of the one or more processors implement at least some of:
a backup component configured to:
maintain one or more snapshots of a virtual machine hosted on a primary computing device according to a primary virtual machine type; and
a hosting component configured to:
detect failure of the virtual machine hosted on the primary computing device; and
host the virtual machine on a secondary computing device, supporting a secondary virtual machine type, based upon a snapshot, comprising:
responsive to the secondary computing device not supporting the primary virtual machine type:
utilize the snapshot to host a temporary virtual machine within a virtual machine host software environment that supports the primary virtual machine type;
convert the temporary virtual machine from the primary virtual machine type to the secondary virtual machine type to create a secondary virtual machine; and
host the secondary virtual machine on the secondary computing device as the virtual machine on the secondary computing device, at least some of at least one of the backup component or the hosting component implemented at least in part via a processor.
21. The system of claim 20, the hosting component configured to:
determine whether the snapshot was created while the virtual machine was in a running state or an off state.
22. The system of claim 21, the hosting component configured to:
if the primary virtual machine type is supported by the secondary computing device and the snapshot was created while the virtual machine was in the running state, then host the virtual machine on the secondary computing device in the running state from the snapshot.
23. The system of claim 21, the hosting component configured to:
if the primary virtual machine type is supported by the secondary computing device and the snapshot was created while the virtual machine was in the running state, then host the virtual machine on the secondary computing device in the off state from the snapshot.
24. The system of claim 21, the hosting component configured to:
if the primary virtual machine type is supported by the secondary computing device and the snapshot was created while the virtual machine was in the off state, then host the virtual machine on the secondary computing device in the off state from the snapshot.
25. The system of claim 21, the hosting component configured to:
if the primary virtual machine type is not supported by the secondary computing device and the snapshot was created while the virtual machine was in the running state, then:
host the temporary virtual machine in the running state within the virtual machine host software environment;
shut down the running state of the temporary virtual machine to the off state;
convert the temporary virtual machine in the off state from the primary virtual machine type to the secondary virtual machine type supported by the secondary computing device to create the secondary virtual machine; and
host the secondary virtual machine on the secondary computing device in the off state.
26. The system of claim 21, the hosting component configured to:
if the primary virtual machine type is not supported by the secondary computing device and the snapshot was created while the virtual machine was in the off state, then:
convert the temporary virtual machine in the off state from the primary virtual machine type to the secondary virtual machine type supported by the secondary computing device to create the secondary virtual machine; and
host the secondary virtual machine on the secondary computing device in the off state.
27. The system of claim 20, the backup component configured to:
create a second snapshot of the virtual machine hosted on the secondary computing device; and
send the second snapshot to the primary computing device for hosting on the primary computing device based upon re-initialization of the primary computing device.