1. A rotational angle detecting apparatus comprising:
a plurality of detecting means, disposed respectively to face a target made of a magnetic material and provided on a rotating member, for detecting the target and outputting detection signals having phases according to the position of the target which changes with a rotation of the rotating member;
operating means for operating a predetermined operation on the detection signals respectively outputted from the detecting means;
converting means for converting a result of the operation operated by the operating means into the electrical angle of the detection signals based on ones of a plurality of tables and a plurality of conversion formulas, said tables representing the correlation of each operation result obtained by operating the predetermined operation by the operating means in advance for different gaps between the target and the detecting means with a corresponding electrical angle of the detection signals, and said conversion formulas representing the relationship between the operation result and the electrical angle of the detection signals for different gaps between the target and the detecting means; and
determining means for determining the gap based on the detection signals respectively outputted from the detecting means, wherein
the converting means converts the result of the operation operated by the operating means into the electrical angle of the detection signals based on one of the table and the conversion formula corresponding to the gap determined by the determining means, and detects a rotational angle of the rotating member based on the obtained electrical angle.
2. The rotational angle detecting apparatus according to claim 1, comprising:
means for determining whether or not the gap determined by the determining means is one of the gaps corresponding to ones of a plurality of the tables and a plurality of the conversion formulas; and
calculating means for calculating the electrical angle of the detection signals by interpolation based on ones of two tables and two conversion formulas corresponding to two gaps on both sides of the gap determined by the determining means, if the determination result by the means is negative.
3. The rotational angle detecting apparatus according to claim 2, wherein
the calculating means calculates the electrical angle of the detection signals based on the operation results obtained by operating the predetermined operation by the operating means in advance for two gaps on both sides of the gap determined by the determining means, the electrical angles of the detection signals obtained by converting the operation results by converting means, and the result of the operation operated the predetermined operation on the detection signals respectively outputted from the detecting means by the operating means.
4. A rotational angle detecting apparatus comprising:
a plurality of detectors, disposed respectively to face a target made of a magnetic material and provided on a rotating member, for detecting the target and outputting detection signals having phases according to the position of the target which changes with a rotation of the rotating member; and
a controller capable of performing operations of
executing a predetermined operation on the detection signals respectively outputted from the detectors;
storing ones of a plurality of tables and a plurality of conversion formulas, said tables representing the correlation of each operation result obtained by executing the predetermined operation in advance for different gaps between the target and the detectors with a corresponding electrical angle of the detection signals, said conversion formulas representing the relationship between the operation result and the electrical angle of the detection signals for different gaps between the target and the detectors;
determining the gap based on the detection signals respectively outputted from the detectors;
converting the result of the executed operation into the electrical angle of the detection signals based on one of the table and the conversion formula corresponding to the determined gap; and
detecting a rotational angle of the rotating member based on the obtained electrical angle.
5. The rotational angle detecting apparatus according to claim 4, wherein
the controller determines whether or not the determined gap is one of the gaps corresponding to ones of a plurality of the tables and a plurality of the conversion formulas, and
calculates the electrical angle of the detection signals by interpolation based on ones of two tables and two conversion formulas corresponding to two gaps on both sides of the determined gap, if the determination result is negative.
6. The rotational angle detecting apparatus according to claim 5, wherein
the controller calculates the electrical angle of the detection signals based on the operation results obtained by executing the predetermined operation in advance for the two gaps on both sides of the determined gap, the electrical angles of the detection signals obtained by converting the operation results, and the result of the operation executed the predetermined operation on the detection signals respectively outputted from the detectors.
7. A torque detecting apparatus comprising:
the rotational angle detecting apparatus as set forth in claim 1 provided for each of a first shaft and a second shaft connected by a connection shaft; and
detecting means for detecting a torque applied to one of the first shaft and the second shaft based on rotational angles of the first shaft and the second shaft detected by the rotational angle detecting apparatuses provided for the first shaft and the second shaft, respectively.
8. A torque detecting apparatus comprising:
the rotational angle detecting apparatus as set forth in claim 2 provided for each of a first shaft and a second shaft connected by a connection shaft; and
detecting means for detecting a torque applied to one of the first shaft and the second shaft based on rotational angles of the first shaft and the second shaft detected by the rotational angle detecting apparatuses provided for the first shaft and the second shaft, respectively.
9. A torque detecting apparatus comprising:
the rotational angle detecting apparatus as set forth in claim 3 provided for each of a first shaft and a second shaft connected by a connection shaft; and
detecting means for detecting a torque applied to one of the first shaft and the second shaft based on rotational angles of the first shaft and the second shaft detected by the rotational angle detecting apparatuses provided for the first shaft and the second shaft, respectively.
10. A torque detecting apparatus comprising:
the rotational angle detecting apparatus as set forth in claim 4 provided for each of a first shaft and a second shaft connected by a connection shaft; and
a controller capable of performing operations of
detecting a torque applied to one of the first shaft and the second shaft based on rotational angles of the first shaft and the second shaft detected by the rotational angle detecting apparatuses provided for the first shaft and the second shaft, respectively.
11. A torque detecting apparatus comprising:
the rotational angle detecting apparatus as set forth in claim 5 provided for each of a first shaft and a second shaft connected by a connection shaft; and
a controller capable of performing operations of
detecting a torque applied to one of the first shaft and the second shaft based on rotational angles of the first shaft and the second shaft detected by the rotational angle detecting apparatuses provided for the first shaft and the second shaft, respectively.
12. A torque detecting apparatus comprising:
the rotational angle detecting apparatus as set forth in claim 6 provided for each of a first shaft and a second shaft connected by a connection shaft; and
a controller capable of performing operations of
detecting a torque applied to one of the first shaft and the second shaft based on rotational angles of the first shaft and the second shaft detected by the rotational angle detecting apparatuses provided for the first shaft and the second shaft, respectively.
13. A method of detecting a rotation angle of a rotating member supporting a magnetic target comprising the steps of:
providing first and second detectors facing the target and spaced from the target by a gap;
detecting the target and outputting first and second detection signals having phases related to the relative positions of the first and second detectors and the target;
performing a predetermined operation on the first and second detection signals and obtaining a given operation result; providing either:
a first table including, for a first gap, correlations between operation results obtained in advance for various positions of the target and electrical angles of the detection signals, and a second table including, for a second gap, correlations between operation results obtained in advance for various positions of the target and electrical angles of the detection signals; or
first and second conversion formulas representing the relationship between operation results obtained in advance for various positions of the target and the electrical angle of the detection signals for first and second gaps;
converting the given operation result into an electrical angle based on the first and second tables or the first and second of conversion formulas; and
determining a rotational angle of the rotating member based on the obtained electrical angle.
14. The method of claim 13 including the additional step of determining the size of the gap based on the first and second detection signals.
15. The method of claim 14 wherein said step of converting the given operation result into an electrical angle based on the first and second tables or the first and second of conversion formulas comprises the step of interpolating an electrical angle from electrical angles in the first and second tables.
16. A rotational angle detecting apparatus comprising:
first and second detectors disposed adjacent a magnetic target on a rotating member, said first and second detectors outputting first and second detection signals having phases related to the position of the target with respect to the first and second detectors;
an operating circuit for performing a predetermined operation on the first and second detection signals and producing an operation result;
a converting circuit for converting the operation result into an electrical angle based on a first table including, for a first gap, correlations between operation results obtained in advance for various positions of the target and electrical angles of the detection signals, and a second table including, for a second gap, correlations between operation results obtained in advance for various positions of the target and electrical angles of the detection signals or based on first and second conversion formulas representing the relationship between operation results obtained in advance for various positions of the target and the electrical angle of the detection signals for first and second gaps; and
a determining circuit for determining a gap between the target and the first and second detectors based on the detection signals outputted from the first and second detectors, wherein
the converting circuit converts an operation result into an electrical angle based on the first and second tables or the first and second conversion formulas and determines a rotational angle of the rotating member based on the obtained electrical angle.
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 efficiently building virtual appliances in a hosted environment, comprising:
a build database configured to store reusable image archives having file systems with one or more files installed in one or more directories, wherein the reusable image archives collect all the files installed in the one or more directories and preserve information relating to the one or more directories associated with the file systems; and
a build engine configured to:
receive a build request that includes an image description associated with a virtual appliance;
create, from the image description associated with the virtual appliance, a root file system having a root directory structure that defines a layout associated with all files and directories to install in an operating system image associated with the virtual appliance;
add all the files in the file system associated with one of the reusable image archives that provides a perfect subset of the root file system to the root directory structure in the operating system image associated with the virtual appliance; and
build the operating system image associated with the virtual appliance, wherein the operating system image includes all the files and directories installed therein in accordance with the root directory structure that defines the layout associated therewith.
2. The system of claim 1, wherein the build engine is further configured to:
create, from the image description associated with the virtual appliance, a boot file system having a boot directory structure that defines a layout associated with all files and directories to install in a boot image associated with the virtual appliance;
add all the files in the file system associated with another one of the reusable image archives that provides a perfect subset of the boot file system to the boot directory structure in the boot image associated with the virtual appliance;
build the boot image associated with the virtual appliance, wherein the boot image includes all the files and directories installed therein in accordance with the boot directory structure that defines the layout associated therewith; and
build an appliance image corresponding to the virtual appliance, wherein the appliance image includes the operating system image and the boot image.
3. The system of claim 2, wherein the build engine is further configured to:
identify at least one personalization option in the build request that applies a custom graphic to a boot screen associated with the virtual appliance, wherein the files in the file system associated with the another reusable image archive include a boot screen graphic file; and
replace the boot screen graphic file in the file system associated with the another reusable image archive with the custom graphic prior to adding all the files in the file system associated with the another reusable image archive to the boot directory structure in the boot image associated with the virtual appliance.
4. The system of claim 1, wherein the build engine is configured to associate the reusable image archives stored in the build database with one or more manifest files that list unique identifiers associated with one or more software components corresponding to all the files installed in the one or more directories associated with the reusable image archive file systems.
5. The system of claim 4, wherein the build engine is further configured to reference the one or more manifest files associated with the reusable image archives to identify the one of the reusable image archives that provides the perfect subset of the root file system created from the image description associated with the virtual appliance.
6. The system of claim 1, further comprising a repository metadata server configured to detect an update to one or more software components stored in one or more source repositories; and
a virtualization environment configured to:
invalidate all the reusable image archives associated with one or more manifest files that list unique identifiers associated with the one or more updated software components; and
invoke the build engine to rebuild the file systems associated with the invalidated reusable image archives, wherein the rebuilt file systems have one or more files corresponding to the one or more updated software components installed in the one or more directories associated therewith.
7. The system of claim 1, wherein the build engine is further configured to determine that more than one of the reusable image archives provide the perfect subset of the root file system created from the image description associated with the virtual appliance, wherein the one of the reusable image archives used to add all the files in the file system associated therewith comprises the largest reusable image archive among the more than one reusable image archives.
8. The system of claim 1, wherein the build engine is further configured to:
identify one or more remaining files to install in the operating system image associated with the virtual appliance subsequent to all the files in the file system associated with the one of the reusable image archives having been added to the root directory structure in the operating system image associated with the virtual appliance;
retrieve the one or more remaining files from one or more source repositories, wherein the image description associated with the virtual appliance identifies the one or more source repositories that store the one or more remaining files; and
install the one or more remaining files retrieved from the one or more source repositories in the operating system image associated with the virtual appliance in accordance with the root directory structure that defines the layout associated therewith.
9. The system of claim 1, further comprising a virtualization environment configured to:
identify one or more popular or highly rated public appliances based on one or more statistics or metrics that relate to cloning, usage, and voting activity in the virtualization environment;
invoke the build engine to create appliance images that correspond to the one or more popular or highly rated public appliances; and
add archived file systems associated with the appliance images that correspond to the one or more popular or highly rated public appliances to the reusable image archives stored in the build database, wherein the archived file systems added to the reusable image archives collect every file installed in the one or more popular or highly rated public appliances and preserve information relating to a directory structure associated with the one or more popular or highly rated public appliances.
10. The system of claim 1, further comprising a virtualization environment configured to:
identify one or more of the reusable image archives stored in the build database that have not been referenced in a predetermined amount of time; and
delete the one or more reusable image archives that have not been referenced in the predetermined amount of time from the build database.
11. The system of claim 1, wherein the root directory structure further defines locations in the one or more directories where all the files associated with the operating system image are to be installed.
12. The system of claim 1, wherein the reusable image archives stored in the build database comprise individual tarball files that collect all the files installed in the one or more directories associated therewith and preserve the information relating to the one or more directories associated therewith.
13. The system of claim 1, wherein the image description associated with the virtual appliance lists unique identifiers associated with one or more software components that correspond to all the files to install in the operating system image associated with the virtual appliance and identifies one or more source repositories that store the one or more software components associated with the unique identifiers listed in the image description.
14. The system of claim 1, wherein the build engine is further configured to add an archive corresponding to the root file system associated with the built operating image to the reusable image archives stored in the build database, wherein the archived root file system comprises an individual tarball file that collects all the files installed in the built operating system image and preserves information relating to the root directory structure that defines the layout associated therewith.
15. The system of claim 14, wherein the build engine is further configured to add all the files collected in the individual tarball file that corresponds to the archived root file system to the root directory structure in a subsequent version associated with the virtual appliance to rebuild the operating system image associated therewith if the archived root file system represents a perfect subset of the root directory structure in the subsequent version associated with the virtual appliance.
16. A computer-implemented method for efficiently building virtual appliances in a hosted environment, comprising:
storing, in a build database reusable image archives having file systems with one or more files installed in one or more directories, wherein the reusable image archives collect all the files installed in the one or more directories and preserve information relating to the one or more directories associated with the file systems;
receiving a build request at a build engine, wherein the build request includes an image description associated with a virtual appliance;
creating, from the image description associated with the virtual appliance, and with the build engine, a root file system having a root directory structure that defines a layout associated with all files and directories to install in an operating system image associated with the virtual appliance;
adding all the files in the file system associated with one of the reusable image archives stored in the build database that provides a perfect subset of the root file system to the root directory structure in the operating system image associated with the virtual appliance; and
building the operating system image associated with the virtual appliance using the build engine, wherein the operating system image includes all the files and directories installed therein in accordance with the root directory structure that defines the layout associated therewith.
17. The method of claim 16, further comprising:
creating, from the image description associated with the virtual appliance using the build engine, a boot file system having a boot directory structure that defines a layout associated with all files and directories to install in a boot image associated with the virtual appliance;
adding all the files in the file system associated with another one of the reusable image archives stored in the build database that provides a perfect subset of the boot file system to the boot directory structure in the boot image associated with the virtual appliance;
building the boot image associated with the virtual appliance using the build engine, wherein the boot image includes all the files and directories installed therein in accordance with the boot directory structure that defines the layout associated therewith; and
building an appliance image corresponding to the virtual appliance using the build engine, wherein the appliance image includes the operating system image and the boot image.
18. The method of claim 17, further comprising:
identifying at least one personalization option in the build request that applies a custom graphic to a boot screen associated with the virtual appliance, wherein the files the file system associated with the other reusable image archive include a boot screen graphic file; and
replacing the boot screen graphic file in the file system associated with the other reusable image archive with the custom graphic prior to adding all the files in the file system associated with the other reusable image archive to the boot directory structure in the boot image associated with the virtual appliance.
19. The method of claim 16, further comprising associating the reusable image archives stored in the build database with one or more manifest files that list unique identifiers associated with one or more software components that correspond to all the files installed in the one or more directories associated with the reusable image archive file systems, wherein the one of the reusable image archives provides the perfect subset of the root file system if all the files in the file system associated therewith are to be installed in the operating system image associated with the virtual appliance.
20. The method of claim 19, further comprising referencing the one or more manifest files associated with the reusable image archives stored in the build database to identify the one of the reusable image archives that provides the perfect subset of the root file system created from the image description associated with the virtual appliance.
21. The method of claim 16, further comprising detecting, at a repository metadata server, an update to one or more software components stored in one or more source repositories;
invalidating all the reusable image archives stored in the build database associated with one or more manifest files that list unique identifiers associated with the one or more updated software components; and
invoking the build engine to rebuild the file systems associated with the invalidated reusable image archives, wherein the rebuilt file systems have one or more files corresponding to the one or more updated software components installed in the one or more directories associated therewith.
22. The method of claim 16, wherein adding all the files in the file system associated with the one of the reusable image archives to the root directory structure in the operating system image associated with the virtual appliance includes:
determining, at the build engine, that more than one of the reusable image archives provide the perfect subset of the root file system created from the image description associated with the virtual appliance; and
selecting the one of the reusable image archives used to add all the files in the file system associated therewith to the root directory structure associated with the virtual appliance comprises the largest reusable image archive among the more than one reusable image archives.
23. The method of claim 16, further comprising:
identifying one or more remaining files to install in the operating system image associated with the virtual appliance subsequent to all the files in the file system associated with the one of the reusable image archives having been added to the root directory structure in the operating system image associated with the virtual appliance;
retrieving the one or more remaining files from one or more source repositories, wherein the image description associated with the virtual appliance identifies the one or more source repositories that store the one or more remaining files; and
installing the one or more remaining files from the one or more source repositories in the operating system image associated with the virtual appliance in accordance with the root directory structure that defines the layout associated therewith.
24. The method of claim 16, wherein the reusable image archives stored in the build database comprise individual tarball files that collect all the files installed in the one or more directories associated therewith and preserve the information relating to the one or more directories associated therewith.
25. The method of claim 16, further comprising:
identifying one or more popular or highly rated in a virtualization environment associated with the build engine based on one or more statistics or metrics that relate to cloning, usage, and voting activity in the virtualization environment;
invoking the build engine to create appliance images that correspond to the one or more popular or highly rated public appliances;
adding archived file systems associated with the appliance images that correspond to the one or more popular or highly rated public appliances to the reusable image archives stored in the build database, wherein the archived file systems added to the reusable image archives collect every file installed in the one or more popular or highly rated public appliances and preserve information relating to a directory structure associated with the one or more popular or highly rated public appliances.
26. The method of claim 16, further comprising:
identifying one or more of the reusable image archives stored in the build database that have not been referenced in a predetermined amount of time; and
deleting the one or more reusable image archives that have not been referenced in the predetermined amount of time from the build database.
27. A computer-implemented method for efficiently building virtual appliances in a hosted environment, comprising:
building a file system corresponding to a base appliance using a build engine, wherein the file system corresponding to the base appliance includes one or more files installed in one or more directories;
receiving a build request at the build engine, wherein the build request includes an image description associated with a virtual appliance derived from the base appliance;
creating, at the build engine from the image description associated with the virtual appliance derived from the base appliance, a root file system having a root directory structure that defines a layout associated with all files and directories to install in an image associated with the virtual appliance derived from the base appliance;
adding all the files in the file system corresponding to the base appliance to the root directory structure in the image associated with the virtual appliance derived from the base appliance if the file system corresponding to the base appliance represents a perfect subset of the root directory structure in the image associated with the derived virtual appliance;
installing one or more additional files remaining to be installed in the image associated with the derived virtual appliance subsequent to adding all the files in the file system corresponding to the base appliance to the root directory structure in the image associated with the derived virtual appliance; and
building the image associated with the derived virtual appliance using the build engine, wherein the image associated with the derived virtual appliance has all the files in the file system corresponding to the base appliance and the one or more additional files installed in the directories in accordance with the root directory structure that defines the layout associated therewith.
28. The method of claim 27, further comprising adding an archive corresponding to the root file system in the image associated with the derived virtual appliance to a build database, wherein the build engine is operable to use the archived root file system added to the build database to reduce a time to build subsequent appliances that derive the base appliance or the virtual appliance derived from the base appliance.
29. The method of claim 26, further comprising associating the base appliance with a manifest file that lists unique identifiers associated with one or more software components that correspond to the one or more files installed in the one or more directories associated with the base appliance file system.
30. The method of claim 26, further comprising invalidating the base appliance in response to a repository metadata server detecting an update to one or more software components associated with unique identifiers listed in a manifest file associated with the base appliance; and
invoking the build engine to rebuild the file system corresponding to the invalidated base appliance, wherein the one or more files installed in the one or more directories associated with the rebuilt file system correspond to the one or more updated software components associated with the unique identifiers listed in the manifest file.