1. A method for float charging a battery, comprising:
charging a battery to a reference voltage at a rate equal to a rate of discharge of the battery, wherein the reference voltage is less than a maximum voltage of the battery;
determining whether a voltage of the battery exceeds the reference voltage; and
discontinuing the charging step in response to determining that the voltage of the battery exceeds the reference voltage.
2. A method for float charging a battery, comprising:
charging a battery to a reference voltage at a rate equal to a rate of discharge of the battery, wherein the reference voltage is less than a maximum voltage of the battery;
determining whether a current through the battery exceeds a reference current for the battery; and
discontinuing the charging step in response to determining that the current through the battery exceeds the reference current.
3. A method for float charging a battery, comprising:
charging a battery to a reference voltage at a rate equal to a rate of discharge of the battery, wherein the reference voltage is less than a maximum voltage of the battery;
determining whether a temperature of the battery exceeds a predetermined temperature; and
discontinuing the charging step in response to determining that the temperature of the battery exceeds the predetermined temperature.
4. The method of claim 3, further comprising the step of measuring the temperature of the battery with a thermistor.
5. The method of claim 1, further comprising the steps of:
providing a power source that provides power to charge the battery to the reference voltage, and
outputting current from the battery to a load.
6. The method of claim 5, wherein the load comprises a faulted circuit indicator.
7. The method of claim 6, wherein the power source comprises a current transformer associated with the faulted circuit indicator.
8. The method of claim 5, wherein the power source comprises at least one of a solar cell, a fuel cell, a battery, and a current transformer associated with a faulted circuit indicator.
9. The method of claim 1, wherein the battery comprises one of a lithium polymer cell, a lithium ion cell, and a lithium phosphate cell.
10. The method of claim 1, wherein charging the battery is performed using an operational amplifier.
11. The method of claim 10, further comprising preventing a backflow of current from the battery to the operational amplifier.
12. The method of claim 1, wherein charging the battery is performed using a linear regulator.
13. The method of claim 1, wherein the reference voltage is a voltage that will charge the battery to not less than forty percent of a maximum capacity of the battery and not greater than seventy percent of the maximum capacity of the battery.
14. A circuit for float charging a battery, comprising:
a power source;
a battery;
a device that charges the battery to a reference voltage at a rate equal to a rate of discharge of the battery, wherein the reference voltage is less than a maximum voltage of the battery;
a comparator that determines whether a voltage of the battery exceeds the reference voltage; and
a microprocessor that controls the device to discontinue charging the battery in response to determining that the voltage of the battery exceeds the reference voltage.
15. A circuit for float charging a battery, comprising:
a power source;
a battery;
a device that charges the battery to a reference voltage at a rate equal to a rate of discharge of the battery, wherein the reference voltage is less than a maximum voltage of the battery;
a comparator that determines whether a current through the battery exceeds a reference current; and
a microprocessor that controls the device to discontinue charging the battery in response to determining that the current through the battery exceeds the reference current.
16. A circuit for float charging a battery, comprising:
a power source;
a battery;
a device that charges the battery to a reference voltage at a rate equal to a rate of discharge of the battery, wherein the reference voltage is less than a maximum voltage of the battery;
a temperature gauge for measuring a temperature of the battery; and
a microprocessor that controls the device to discontinue charging the battery in response to determining that the measured temperature of the battery exceeds a predetermined temperature.
17. The circuit of claim 16, wherein the temperature gauge comprises a thermistor.
18. The circuit of claim 14, wherein the battery outputs current to a load.
19. The circuit of claim 18, wherein the load comprises a faulted circuit indicator.
20. The circuit of claim 14, wherein the power source comprises a current transformer associated with the faulted circuit indicator.
21. The circuit of claim 14, wherein the power source comprises at least one of a solar cell, a fuel cell, a battery, and a current transformer associated with a faulted circuit indicator.
22. The circuit of claim 14, wherein the battery comprises one of a lithium polymer cell, a lithium ion cell, and a lithium phosphate cell.
23. The circuit of claim 14, wherein the device that charges the battery comprises an operational amplifier.
24. The circuit of claim 14, wherein the device that charges the battery comprises a linear regulator.
25. The circuit of claim 14, wherein the reference voltage is a voltage that will charge the battery to not less than forty percent of a maximum capacity of the battery and not greater than seventy percent of the maximum capacity of the battery.
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. An apparatus for synchronizing multicast groups during migration of a virtual machine, the apparatus comprising:
a processing device in communication with memory; and
tools in communication with the memory, the tools comprising:
a list obtaining unit configured to obtain, in response to detection of migration of the virtual machine from a first port to a second port within a first switch, a first list indicating multicast groups corresponding to the first port and a second list indicating multicast groups corresponding to the second port, wherein the virtual machine is associated with a first server, and wherein the first server is in communication with the first switch via the first port;
an updating unit configured to update the second list so that the second list contains the multicast groups in the first list; and
an aging unit configured to age an undesired multicast group, wherein the aging unit comprises:
a first modifying module configured to modify a timer of the multicast groups in a list of multicast groups corresponding to a specific port to a first predetermined time, wherein the specific port is one of the first and second ports, and wherein the first predetermined time is less than a default time interval;
a querying module configured to issue a group member query for the multicast groups in the specific port, and to set a response time for the group member query to a second predetermined time, wherein the second predetermined time is less than a default response time;
a second modifying module configured to modify, in response to reception of a reply message with respect to a certain multicast group within the second predetermined time, the timer of the certain multicast group back to the default time interval; and
a deleting module configured to delete, in response to failing to receive the reply message with respect to a specific multicast group after the first predetermined time elapses, the specific multicast group from the list of multicast groups corresponding to the specific port.
2. The apparatus of claim 1, wherein the updating unit is further configured to add any multicast groups not contained in the second list into the second list.
3. The apparatus of claim 1, wherein the querying module is further configured to modify the response time to the second predetermined time by modifying a response time field in a query message of the group member query.
4. The apparatus of claim 1, wherein the first predetermined time is set as the second predetermined time multiplied by a number of queries, and wherein the querying module is further configured to issue at least one group member queries for the first multicast group within the first predetermined time.
5. The apparatus of claim 4, wherein the number of queries is set as a robustness variable of a subnet related to the specific port.
6. The apparatus of claim 1, further comprising a determining unit configured to:
issue, in response to detection of migration of the virtual machine from a different switch to a third port, a group member query for multicast groups in, wherein the third port is a port within a second switch;
set a response time for the group member query to a third predetermined time less than a default response time; and
determine multicast groups corresponding to the third port according to a reply message received within the third predetermined time.
7. The apparatus of claim 6, wherein the third predetermined time is set as a minimum value allowed by a response time field contained in a query message of the group member query.
8. The apparatus of claim 1, wherein the first server is in communication with a virtual machine network via the first switch.
9. A computer program product to synchronize multicast groups during migration of a virtual machine, the computer program product comprising computer readable memory having program code embodied therewith, the program code executable by a processing unit to:
obtain, in response to detection of migration of the virtual machine from a first port to a second port of a first switch, a first list indicating multicast groups corresponding to the first port and a second list indicating multicast groups corresponding to the second port, wherein the virtual machine is associated with a first server, and wherein the first server is in communication with the first switch via the first port;
update the second list so that the second list contains the multicast groups in the first list; and
age an undesired multicast group, wherein aging the undesired multicast group comprises program code to:
modify a timer of at least one multicast group in a list of multicast groups corresponding to a specific port to a first predetermined time, wherein the specific port is one of the first and second ports, and wherein the first predetermined time is less than a default time interval;
issue a group member query for the multicast groups in the specific port, and set a response time for the group member query to a second predetermined time, wherein the second predetermined time is less than a default response time;
in response to reception of a reply message with respect to a certain multicast group within the second predetermined time, modify the timer of the certain multicast group back to the default time interval; and
in response to failing to receive the reply message with respect to a specific multicast group after the first predetermined time elapses, delete the specific multicast group from the list of multicast groups corresponding to the specific port.
10. The computer program product of claim 9, wherein updating the second list further comprises program code to add any multicast groups not contained in the second list into the second list.
11. The computer program product of claim 9, further comprising program code to modify the response time to the second predetermined time by modifying a response time field in a query message of the group member query, responsive to the group member query.
12. The computer program product of claim 9, wherein the first server is in communication with a virtual machine network via the first switch.
13. The computer program product of claim 11, further comprising program code to issue at least one group member query for the first multicast group within the first predetermined time, wherein the first predetermined time is set as the second predetermined time multiplied by a number of queries.
14. The computer program product of claim 13, wherein the number of queries is set as a robustness variable (RV) of a subnet related to the specific port.
15. The computer program product of claim 9, further comprising program code to:
issue, in response to detection of migration of the virtual machine to a port within a second switch from a different switch, a group member query for multicast groups in the third port;
set a response time for the group member query to a third predetermined time less than a default response time; and
determine multicast groups corresponding to the third port according to a reply message received within the third predetermined time.
16. The computer program product of claim 15, wherein the third predetermined time is set as a minimum value allowed by a response time field contained in a query message of the group member query.