Legal claims defining the scope of protection, as filed with the USPTO.
1. A method for efficient logging of event records in an uninterruptible power supply (UPS) array that includes a plurality of UPSs for providing power to a server computer, the method comprising: allocating, by an embedded microcontroller coupled to the server computer, an event log in a first storage module of the microcontroller; periodically sending status and control messages, by the microcontroller, to UPSs of the UPS array via a message queue data structure, wherein the microcontroller is coupled to each UPS of the UPS array via a serial port controller of the microcontroller coupled to a serial bus that is coupled to each of the UPSs, and the message queue data structure is coupled to the microcontroller, the server computer, and to the serial port controller for queuing messages from the server computer and the microcontroller to UPSs of the UPS array; and in response to determining, by the microcontroller, that a next message has been received in the message queue from the server computer, the microcontroller: creating a next history record in a temporary history record store of the microcontroller that corresponds to the next message; determining a duration to complete transmission onto the serial bus of a new message that is in process of being transmitted onto the serial bus from the message queue via the serial port controller when the next message from the server computer arrives in the message queue; storing, in the next history record, an entry for the determined duration to complete transmission onto the serial bus of the new message; determining durations to complete transmission onto the serial bus for the next message and each message in the message queue that is queued before the next message, but not including the new message; storing, in the next history record, an entry for the determined durations to complete transmission onto the serial bus of the next message and each message in the message queue that is queued before the next message; determining a total queue processing time by summing all of the stored durations for the history record entries corresponding to the next message and messages in the message queue that were queued before the next message, but not including the new message, and subtracting from the sum the duration to complete transmission onto the serial bus of the new message; comparing the determined total queue processing time to a value in a register of the microcontroller that corresponds to a previously determined total queue processing time; and in response to determining that the determined total queue processing time is greater than the value in the register corresponding to a previously determined total queue processing time, storing the determined total queue processing time in the register, and logs the created history record into the event log; wherein only history records indicating a worst case queue processing time are logged into the event log, and wherein the microcontroller allocates an event log of a size smaller than would be required when all history records were stored in the event log.
2. The method of claim 1 , wherein each of the plurality of stored entries includes a message identifier and a message processing time value.
3. A computer program product for efficient logging of event records in an uninterruptible power supply (UPS) array that includes a plurality of UPSs for providing power to a server computer, the computer program product comprising: one or more non-transitory computer-readable storage media and program instructions stored on the one or more non-transitory computer-readable storage media, the program instructions comprising: program instructions to allocate, by an embedded microcontroller coupled to the server computer, an event log in a first storage module of the microcontroller; program instructions to periodically send status and control messages, by the microcontroller, to UPSs of the UPS array via a message queue data structure, wherein the microcontroller is coupled to each UPS of the UPS array via a serial port controller of the microcontroller coupled to a serial bus that is coupled to each of the UPSs, and the message queue data structure is coupled to the microcontroller, the server computer, and to the serial port controller for queuing messages from the server and the microcontroller to UPSs of the UPS array; and program instructions, in response to determining, by the microcontroller, that a next message has been received in the message queue from the server computer, to cause the microcontroller to: create a next history record in a temporary history record store of the microcontroller that corresponds to the next message; determine a duration to complete transmission onto the serial bus of a new message that is in process of being transmitted onto the serial bus from the message queue via the serial port controller when the next message from the server computer arrives in the message queue; store, in the next history record, an entry for the determined duration to complete transmission onto the serial bus of the new message; determine durations to complete transmission onto the serial bus for the next message and each message in the message queue that is queued before the next message, but not including the new message; store, in the next history record, an entry for the determined durations to complete transmission onto the serial bus of the next message and each message in the message queue that is queued before the next message, but not including the new message; determine a total queue processing time by summing all of the stored durations for the history record entries corresponding to the next message and messages in the message queue that were queued before the next message, but not including the new message, and subtracting from the sum the duration to complete transmission onto the serial bus of the new message; compare the determined total queue processing time to a value in a register of the microcontroller that corresponds to a previously determined total queue processing time; and in response to determining that the determined total queue processing time is greater than the value in the register corresponding to a previously determined total queue processing time, store the determined total queue processing time in the register, and logs the created history record into the event log; wherein only history records indicating a worst case queue processing time are logged into the event log, and wherein the microcontroller allocates an event log of a size smaller than would be required when all history records were stored in the event log.
4. The computer program product of claim 3 , wherein each of the plurality of stored entries includes a message identifier and a message processing time value.
Unknown
April 10, 2018
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.