1. An apparatus for correcting errors generated by a laser with non-ideal tuning characteristics, the apparatus comprising:
a laser having non-ideal tuning characteristics;
at least three interferometers positioned in an operable relationship to the laser, wherein a sampling interferometer and at least one auxiliary interferometer correct for residual errors resulting from the laser; and wherein a measurement interferometer makes a measurement;
a signal acquisition system positioned in an operable relationship to each interferometer; and
a processor positioned in an operable relationship to the signal acquisition system.
2. An apparatus for correcting errors generated by a laser with non-ideal tuning characteristics according to claim 1, wherein the measurement interferometer has a device under test positioned therein.
3. An apparatus for correcting errors generated by a laser with non-ideal tuning characteristics according to claim 1, wherein the sampling interferometer is a Michelson interferometer.
4. An apparatus for correcting errors generated by a laser with non-ideal tuning characteristics according to claim 3, wherein the Michelson interferometer comprises Faraday Rotating Mirrors.
5. An apparatus for correcting errors generated by a laser with non-ideal tuning characteristics according to claim 1, wherein errors due to third order phase effects in the laser are corrected by the equation
q
1
\u2061
(
t
)
=
z
\u2061
(
t
)
–
d
1
–
d
0
a
1
–
a
0
\u2062
w
\u2061
(
t
)
–
(
d
1
–
d
0
)
\u2062
(
d
1
–
a
1
)
(
b
1
–
b
0
)
\u2062
(
b
1
–
a
1
)
\u2061
x
\u2061
(
t
)
–
b
1
–
b
0
a
1
–
a
0
\u2062
w
\u2061
(
t
)
;
where w, x and z are phase signals and where:
w(t)=f(t\u2212a1)\u2212f(t\u2212a0)
x(t)=f(t\u2212b1)\u2212f(t\u2212b0)
z(t)=f(t\u2212d1)\u2212f(t\u2212d0)
and a1, a0, b1, b0, and d1, d0 are path lengths.
6. An apparatus for measuring correcting errors generated by a laser with non-ideal tuning characteristics according to claim 1, wherein fourth order terms are corrected by the equation:
q
2
\u2061
(
t
)
=
z
\u2061
(
t
)
–
(
a
0
–
d
1
)
\u2062
(
b
1
–
d
1
)
\u2062
(
c
1
–
d
1
)
(
a
0
–
a
1
)
\u2062
(
a
1
–
b
1
)
\u2062
(
a
1
–
c
1
)
\u2062
w
\u2061
(
t
)
–
(
a
0
–
d
1
)
\u2062
(
a
1
–
d
1
)
\u2062
(
c
1
–
d
1
)
(
a
0
–
b
1
)
\u2062
(
b
1
–
a
1
)
\u2062
(
b
1
–
c
1
)
\u2062
x
\u2061
(
t
)
–
\u2003
\u2062
(
a
0
–
d
1
)
\u2062
(
a
1
–
d
1
)
\u2062
(
b
1
–
d
1
)
(
a
0
–
c
1
)
\u2062
(
c
1
–
a
1
)
\u2062
(
c
1
–
d
1
)
\u2062
y
\u2061
(
t
)
\u2062
\u2003
where w, x, y and z are phase signals and where:
w(t)=f(t\u2212a1)\u2212f(t\u2212a0)
x(t)=f(t\u2212b1)\u2212f(t\u2212b0)
y(t)=f(t\u2212c1)\u2212f(t\u2212c0)
z(t)=f(t\u2212d1)\u2212f(t\u2212d0)
and a1, a0, b1, b0, c1, c0, and d1, d0 are path lengths.
7. A method for correcting errors generated by a laser with non-ideal tuning characteristics, the method comprising the steps of:
a) providing a laser having non-ideal tuning characteristics;
b) positioning at least three interferometers in an operable relationship to the laser, wherein a sampling interferometer and at least one auxiliary interferometer correct for residual errors resulting from the laser, and wherein a measurement interferometer makes a measurement;
c) positioning a signal acquisition system in an operable relationship to each interferometer; and
d) positioning a processor in an operable relationship to the signal acquisition system.
8. An apparatus for correcting errors generated by a laser with non-ideal tuning characteristics according to claim 7, wherein the sampling interferometer is a Michelson interferometer.
9. An apparatus for correcting errors generated by a laser with non-ideal tuning characteristics according to claim 8, wherein the Michelson interferometer comprises Faraday Rotating Mirrors.
10. A method for correcting errors generated by a laser with non-ideal tuning characteristics according to claim 7, further comprising the steps of:
measuring a phase difference between two different optical path lengths using the sampling interferometer; and
measuring a phase difference between two different optical path lengths using the auxiliary interferometer wherein the optical path length difference of the auxiliary interferometer is different from the optical path length difference of the sampling interferometer.
11. An apparatus for correcting errors generated by a laser with non-ideal tuning characteristics according to claim 10, wherein the sampling interferometer is a Michelson interferometer.
12. An apparatus for correcting errors generated by a laser with non-ideal tuning characteristics according to claim 11, wherein the Michelson interferometer comprises Faraday Rotating Mirrors.
13. A method for correcting errors generated by a laser with non-ideal tuning characteristics according to claim 7, wherein errors due to third order phase effects in the laser are corrected by the equation:
q
1
\u2061
(
t
)
=
z
\u2061
(
t
)
–
d
1
–
d
0
a
1
–
a
0
\u2062
w
\u2061
(
t
)
–
(
d
1
–
d
0
)
\u2062
(
d
1
–
a
1
)
(
b
1
–
b
0
)
\u2062
(
b
1
–
a
1
)
\u2061
x
\u2061
(
t
)
–
b
1
–
b
0
a
1
–
a
0
\u2062
w
\u2061
(
t
)
;
where w, x and z are phase signals and where:
w(t)=f(t\u2212a1)\u2212f(t\u2212a0)
x(t)=f(t\u2212b1)\u2212f(t\u2212b0)
z(t)=f(t\u2212d1)\u2212f(t\u2212d0)
and a1, a0, b1, b0, and d1, d0 are path lengths.
14. A method for correcting errors generated by a laser with non-ideal tuning characteristics according to claim 7, wherein fourth order terms are corrected by the equation:
q
2
\u2061
(
t
)
=
z
\u2061
(
t
)
–
(
a
0
–
d
1
)
\u2062
(
b
1
–
d
1
)
\u2062
(
c
1
–
d
1
)
(
a
0
–
a
1
)
\u2062
(
a
1
–
b
1
)
\u2062
(
a
1
–
c
1
)
\u2062
w
\u2061
(
t
)
–
(
a
0
–
d
1
)
\u2062
(
a
1
–
d
1
)
\u2062
(
c
1
–
d
1
)
(
a
0
–
b
1
)
\u2062
(
b
1
–
a
1
)
\u2062
(
b
1
–
c
1
)
\u2062
x
\u2061
(
t
)
–
\u2003
\u2062
(
a
0
–
d
1
)
\u2062
(
a
1
–
d
1
)
\u2062
(
b
1
–
d
1
)
(
a
0
–
c
1
)
\u2062
(
c
1
–
a
1
)
\u2062
(
c
1
–
d
1
)
\u2062
y
\u2061
(
t
)
\u2062
\u2003
where w, x, y and z are phase signals and where:
w(t)=f(t\u2212a1)\u2212f(t\u2212a0)
x(t)=f(t\u2212b1)\u2212f(t\u2212b0)
y(t)=f(t\u2212c1)\u2212f(t\u2212c0)
z(t)=f(t\u2212d1)\u2212f(t\u2212d0)
and a1, a0, b1, b0, c1, c0, and d1, d0 are path lengths.
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 computer implemented method for simulating network booting in a virtualization environment, the method comprising the steps of:
filtering network communications of at least one virtual machine running on a physical computing device;
detecting, in filtered network communication, a request from a virtual machine to receive a boot image from a server;
returning an invalid IP address to the virtual machine, said invalid IP address being configured for only internal communication on a virtual network;
intercepting communication sent by the virtual machine to the invalid address; and
transmitting at least one response to the virtual machine, said at least one response comprising at least a boot image.
2. The method of claim 1 wherein said simulated network booting further comprises simulated preboot execution environment (PXE) booting, said steps further comprising:
detecting, in filtered network communication, a request from a virtual machine to receive a boot image from a PXE server;
returning an invalid IP address to the virtual machine for PXE communication, said invalid IP address being configured for only internal communication on a virtual network;
intercepting PXE related communication sent by the virtual machine to the invalid address; and
transmitting at least one PXE response to the virtual machine, said at least one PXE response comprising at least a boot image.
3. The method of claim 1 wherein:
said steps are performed by a component of a hypervisor running on the same physical computer as the at least one virtual machine.
4. The method of claim 3 further comprising:
the virtual machine using the transmitted boot image to boot a guest operating system provided by the hypervisor.
5. The method of claim 3 further comprising:
the hypervisor ensuring that the virtual machine uses only a file system controlled by the hypervisor, such that all changes to the file system made by the virtual machine are controlled by the hypervisor.
6. The method of claim 1 further comprising:
reading communication sent by the virtual machine directly from a virtual network interface card (NIC) buffer associated with the virtual machine.
7. The method of claim 1 further comprising:
writing related communication directly to a virtual NIC buffer associated with the virtual machine.
8. The method of claim 7 wherein writing related communication directly to a virtual NIC buffer associated with the virtual machine further comprises:
writing the boot image directly to the virtual NIC buffer associated with the virtual machine.
9. A computer readable storage medium containing computer executable instructions which when executed on a computer perform simulated network booting in a virtualization environment, the computer executable instructions comprising instructions for:
filtering network communications of at least one virtual machine running on a physical computing device;
detecting, in filtered network communication, a request from a virtual machine to receive a boot image from a server;
returning an invalid IP address to the virtual machine, said invalid IP address being configured for only internal communication on a virtual network;
intercepting communication sent by the virtual machine to the invalid address; and
transmitting at least one response to the virtual machine, said at least one response comprising at least a boot image.
10. The medium of claim 9 wherein said simulated network booting further comprises simulated preboot execution environment (PXE) booting, said computer executable instructions further comprising:
instructions for detecting, in filtered network communication, a request from a virtual machine to receive a boot image from a PXE server;
instructions for returning an invalid IP address to the virtual machine for PXE communication, said invalid IP address being configured for only internal communication on a virtual network;
instructions for intercepting PXE related communication sent by the virtual machine to the invalid address; and
instructions for transmitting at least one PXE response to the virtual machine, said at least one PXE response comprising at least a boot image.
11. The medium of claim 9 wherein:
said instructions are for performing said steps by a component of a hypervisor running on the same physical computer as the at least one virtual machine.
12. The medium of claim 11 further comprising:
instructions for the virtual machine using the transmitted boot image to boot a guest operating system provided by the hypervisor.
13. The medium of claim 11 further comprising:
instructions for the hypervisor ensuring that the virtual machine uses only a file system controlled by the hypervisor, such that all changes to the file system made by the virtual machine are controlled by the hypervisor.
14. The medium of claim 9 further comprising:
instructions for reading communication sent by the virtual machine directly from a virtual NIC buffer associated with the virtual machine.
15. The medium of claim 9 further comprising:
instructions for writing related communication directly to a virtual network interface card (NIC) buffer associated with the virtual machine.
16. The medium of claim 15 wherein the instructions for writing related communication directly to a virtual NIC buffer associated with the virtual machine further comprises:
instructions for writing the boot image directly to the virtual NIC buffer associated with the virtual machine.
17. A computer system for simulating network booting in a virtualization environment, the computer system comprising:
means for filtering network communications of at least one virtual machine running on a physical computing device;
means for detecting, in filtered network communication, a request from a virtual machine to receive a boot image from a server;
means for returning an invalid IP address to the virtual machine, said invalid IP address being configured for only internal communication on a virtual network;
means for intercepting communication sent by the virtual machine to the invalid address; and
means for transmitting at least one response to the virtual machine, said at least one response comprising at least a boot image.
18. The computer system of claim 17 wherein said simulated network booting further comprises simulated preboot execution environment (PXE) booting, said means further comprising:
means for detecting, in filtered network communication, a request from a virtual machine to receive a boot image from a PXE server;
means for returning an invalid IP address to the virtual machine for PXE communication, said invalid IP address being configured for only internal communication on a virtual network;
means for intercepting PXE related communication sent by the virtual machine to the invalid address; and
means for transmitting at least one PXE response to the virtual machine, said at least one PXE response comprising at least a boot image.
19. The computer system of claim 17 wherein:
said means are for performing said steps by a component of a hypervisor running on the same physical computer as the at least one virtual machine.
20. The computer system of claim 19 further comprising:
means for the hypervisor ensuring that the virtual machine uses only a file system controlled by the hypervisor, such that all changes to the file system made by the virtual machine are controlled by the hypervisor.