Apparatuses for generation and collection of information, and computer-readable recording medium

- Fujitsu Limited

This invention has a remote machine that collects local-machine logs via a network from a plurality of local machines, each of which has memory that stores local-machine logs generated due to its specific generation factor. This remote machine has a CPU that collects local-machine logs stored on the memory of a local machine only when the priority of the local machine is higher than the preset priority.

Skip to: Description  ·  Claims  · Patent History  ·  Patent History
Description
CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No. 09/639,761, filed on Aug. 15, 2000, now pending; and also claims priority to Japanese Patent Application No. 11-330520 filed Nov. 19, 1999.

BACKGROUND OF THE INVENTION

The present invention relates to an information collection apparatus and an information generation apparatus which collects information (e.g., logs) from a plurality of local machines (computer devices) or generates information. This invention also relates to a computer-readable recording medium where an information collecting program is recorded, and a computer-readable recording medium where an information generating program is recorded.

Conventionally, there has been used a computer system in which a plurality of computer devices are connected through a network based on the concept of network & computing. In this type of system, one of the computer devices collects logs concerning occurrence of errors from the other computer devices, and the errors are handled based on the logs. In such a log-collection system, it is desirable that only the most possible important logs are collected from the viewpoints of utilization efficiency of resources.

The conventional type of information collection system comprises a plurality of local machines, each of which is placed in a user side, and a remote machine that collects logs concerning occurrence of errors from the plurality of local machines via a network. In this information collection system, a local machine generates a log caused by occurrence of an error, and stores the log on memory. When the memory becomes full, the local machine notifies the remote machine via the network that the memory is full.

Accordingly, the remote machine collects the logs from the relevant local machine via the network and stores the logs on memory. From then on, the remote machine performs collection and storage of logs each time the remote machine receives notification from respective local machines. Further, when generating a log after the memory becomes full, the local machine overwrites the memory with the relevant log. Accordingly, the old log stored on the memory is deleted.

As explained above, in the conventional type of information collection system, since the remote machine collects logs regardless of their priorities or importance, there may come up such circumstances that a large amount of logs with low priorities may be collected whereas logs with high priorities may hardly be collected.

Therefore, under such circumstances, there have been extremely serious problems that error handling based on the logs with high priorities may be delayed or error handling can not be performed if the worst happens. Further, in the conventional type of information collection system, there is an upper limit to memory capacity of a remote machine and a local machine. Therefore, there has been a problem that utilization efficiency of memory resources is degraded when a large amount of logs with low priorities is stored on such memory.

Further, in the conventional type of information collection system, an old log is deleted by being overwritten with a new log at the point of time the memory becomes full. Therefore, if the importance of the old log is extremely high (e.g., the log caused by occurrence of a critical error), the system can do nothing about the error handling, which has a profound effect on the system.

SUMMARY OF THE INVENTION

It is an object of this invention to provide an information collection apparatus and an information generation apparatus, which can collect a larger amount of information with high priority and also can enhance utilization efficiency of memory resources, and also provide a computer-readable recording medium where an information collecting program is recorded and a computer-readable recording medium where an information generating program is recorded.

According to one aspect of this invention, each of a plurality of information generation apparatuses generates information based on its specific generation factor and stores the information on a generation-side information storage unit. When the amount of information stored on the generation-side information storage unit reaches a predetermined amount, the relevant information generation apparatus then issues notification. Accordingly, an information collection unit collects the relevant information stored on the generation-side information storage unit of the relevant information generation apparatus only when the priority of the information generation apparatus is higher than the preset priority, namely only when the priority of the information generation apparatus is high. The collected information is then stored on a collection-side information storage unit. When the priority of the information generation apparatus is lower than the preset priority, the information is not collected from the relevant apparatus.

As explained above, respective priorities to be given to a plurality of information generation apparatuses are defined, and information is collected only from the information generation apparatus whose priority is high. Therefore, pieces of information generated in the information generation apparatuses with high priorities can be collected more as compared to those in the conventional case. Further, only the information generated in the information generation apparatus with a high priority is stored on the collection-side information storage unit. Thus, it is possible to enhance the utilization efficiency of the collection-side information storage unit that has an upper limit to its storage capacity.

According to another aspect of this invention, each of a plurality of information generation apparatuses generates information based on its specific generation factor and stores the information on a generation-side information storage unit. When the amount of information stored on the generation-side information storage unit reaches a predetermined amount, the relevant information generation apparatus then issues notification. Accordingly, an information collection unit collects pieces of information with priorities higher than the preset priority out of the information generated in the relevant information generation apparatus. The collected information is then stored on a collection-side information storage unit. When the priority of information is lower than the preset priority, the information is not collected.

Thus, only pieces of information with high priorities are collected. Therefore, of the information generated in the relevant information generation apparatus, pieces of information with high priorities can be collected more as compared to those in the conventional case. Further, only the information with a high priority is stored on the collection-side information storage unit. Thus, it is possible to enhance the utilization efficiency of the collection-side information storage unit that has an upper limit to its storage capacity.

Further, the priorities of respective information corresponding to a plurality of information generation apparatuses are set separately, and even if the same type of information exists, each of the priorities can be made different between the plurality of information generation apparatuses. Thus, information can flexibly be collected according to the state of the respective information generation apparatuses.

According to still another aspect of this invention, each of a plurality of information generation apparatuses generates information due to its specific generation factor and stores the information on a generation-side information storage unit. When a certain error has occurred, the relevant information generation apparatus issues notification. Accordingly, an information collection unit collects the information stored on the generation-side information storage unit of the information generation apparatus. The collected information is stored on a collection-side information storage unit.

Thus, upon occurrence of a certain error in an information generation apparatus, information is collected from the relevant information generation apparatus. Thus, any error that has occurred can speedily be handled.

Further, each of a plurality of information generation apparatuses generates information based on its specific generation factor and stores the information on a generation-side information storage unit. When a certain error has occurred, a substitution control unit allows an arbitrary information generation apparatus to act as a substitute to execute the operation of collecting information. Accordingly, the arbitrary information generation apparatus continues to collect information instead of the information collection apparatus.

Thus, even when a certain error has occurred, collecting information can be executed by an arbitrary information generation apparatus as a substitute. Thus, the collection of information can continuously be performed, which allows reliability to be enhanced.

Further, each of a plurality of information generation apparatuses generates information based on its specific generation factor and stores the information on a generation-side information storage unit. When a certain error has occurred, a substitution control unit allows any information generation apparatus with the lowest priority to act as a substitute to execute the operation of collecting information. Accordingly, the information generation apparatus with the lowest priority continues to collect information instead of the information collection unit.

Thus, when a certain error has occurred, any information generation apparatus with the lowest priority is allowed to act as a substitute to execute the operation of collecting information. Therefore, the collection of information can be continued, which allows degradation in respective performance of the other information generation apparatuses with high priorities to be avoided.

According to still another aspect of this invention, upon generation of information in an information generation unit based on its specific generation factor, an information storage unit stores the generated information only when the information has a priority higher than the preset priority. When the priority of the generated information is lower than the preset priority, the information is not stored.

Thus, only information with a high priority is stored. Therefore, it is possible to enhance the utilization efficiency of the information storage unit that has an upper limit to its storage capacity.

According to still another aspect of this invention, each of a plurality of information generation apparatuses generates information based on its specific generation factor and stores the information on a generation-side information storage unit. When the amount of information stored on the generation-side information storage unit reaches a predetermined amount, the relevant information generation apparatus then issues notification. Accordingly, in an information collecting step, the information stored on the generation-side information storage unit of the relevant information generation apparatus is collected only when the priority of the information generation apparatus is higher than the preset priority, namely only when the priority of the information generation apparatus is high. The collected information is then stored on a collection-side information storage unit in an information storing step. When the priority of the information generation apparatus is lower than the preset priority, the information is not collected from the relevant apparatus.

Thus, respective priorities to be given to a plurality of information generation apparatuses are defined, and information is collected only from the information generation apparatus whose priority is high. Therefore, information generated in the information generation apparatuses with high priorities can be collected more as compared to those in the conventional case. Further, only the information generated in the information generation apparatus with a high priority is stored on the collection-side information storage unit. Thus, it is possible to enhance the utilization efficiency of the collection-side information storage unit that has an upper limit to its storage capacity.

According to still another aspect of this invention, upon generation of information in an information generating step due to its specific generation factor, in an information storing step, the generated information is stored on an information storage unit only when the information has a priority higher than the preset priority. When the priority of the generated information is lower than the preset priority, the information is not stored.

Thus, only information with a high priority is stored. Therefore, it is possible to enhance the utilization efficiency of the information storage unit that has an upper limit to its storage capacity.

Other objects and features of this invention will become apparent from the following description with reference to the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram showing a configuration of an embodiment of the present invention;

FIG. 2 shows a detail configuration of the local-machine log priority table TA shown in FIG. 1;

FIG. 3 shows a data structure of local-machine log storage areas Z1 to Zn shown in FIG. 1;

FIG. 4 shows individual local-machine log priority tables TB1 to TBn shown in FIG. 1;

FIG. 5 shows a data structure of local-machine log storage areas Z1 to Zn in a fifth example of operation of the embodiment;

FIG. 6 is a flow chart showing a first example of operation of the embodiment;

FIG. 7 is a flow chart showing a second example of operation of the embodiment;

FIG. 8 is a flow chart showing a third example of operation of the embodiment;

FIG. 9 is a flow chart showing a fourth example of operation of the embodiment;

FIG. 10 is a flow chart showing the fifth example of operation of the embodiment;

FIG. 11 is a flow chart showing a sixth example of operation of the embodiment;

FIG. 12 is a flow chart showing a seventh example of operation of the embodiment; and

FIG. 13 is a block diagram showing a variant of the embodiment.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

A preferred embodiment of the information collection apparatus, the information generation apparatus, the computer-readable recording mediums according to the present invention will be explained in detail below with reference to the drawings.

FIG. 1 is a block diagram showing a configuration of an embodiment of this invention. As shown in this figure, a remote machine 100 is connected to local machines 3001 to 300n via a network N, a communication adapter 200, and communication adapters 4001 to 400n.

The remote machine 100 is a computer device installed in a remote center. This remote machine 100 remotely monitors the local machines 3001 to 300n via the network N, the communication adapter 200, and the communication adapters 4001 to 400n, and also collects local-machine logs as error records occurring in the local machines 3001 to 300n. The factor by which a local-machine log (henceforth, log factor) is generated includes occurrence of a hardware error, a firmware error/software error, a line error/protocol error, and a warning error or an insignificant error.

The hardware error is an error when abnormal conditions occur in hardware of the local machines 3001 to 300n or the communication adapters 4001 to 400n. The firmware error/software error is an error when abnormal conditions occur in the firmware, when abnormal conditions occur in the software, or when environment settings are not correctly performed. The line error/protocol error is an error when abnormal conditions occur in transmission over the network N, or when abnormal conditions occur in any communication protocol between the remote machine 100 and the local machines 3001 to 300n. The warning error is an error when abnormal conditions occur at such an alarm level that machine operation is not much affected by the abnormality. The insignificant error is an error when abnormal conditions occur at a low level so that machine operation is not affected by the abnormality.

The remote machine 100 comprises a CPU (Central Processing Unit) 100, a memory 120, a timer 130, and an I/F (Interface) 140. The CPU 110 provides controls for collection of local-machine logs, monitoring of errors concerning the remote machine 100, and read/write of data from/onto the memory 120. The details of the operation of this CPU 110 are explained later. The memory 120 stores the local-machine logs or the like under the control of the CPU 110.

The data structure of this memory 120 is explained later. The timer 130 outputs the result of recording the time to the CPU 110. The I/F 140 interfaces between the CPU 110 and the communication adapter 200. The communication adapter 200 is inserted between the I/F 140 and the network N, and performs communications with the communication adapters 400, to 400n according to a predetermined communication protocol.

Each of the local machines 3001 to 300n is a computer device installed in the user side, and is remotely monitored by the remote machine 100 via the communication adapters 4001 to 400n, the network N, and the communication adapter 200. The local machines 3001 to 300n write local-machine logs LOGLM1 to LOGLMn, as records of errors (a hardware error, a firmware error/software error, a line error/protocol error, a warning error or an insignificant error) occurring during operation, onto memories 3201 to 320n, respectively.

An IP address ADIP as an address on the network N is assigned to each of the local machines 3001 to 300n. For example, IP address ADIP “1” is assigned to the local machine 300, and IP address ADIP “2” is assigned to the local machine 3002. Similarly, IP address ADIP “n” is assigned to the local machine 300n.

The local machine 300, comprises a CPU 3101, a memory 3201, a timer 3301, and an I/F 3401. This CPU 3101 provides controls for monitoring of an error concerning the remote machine 3001, generation of a local-machine log LOGLM1 corresponding to the error, and read/write of data from/onto the memory 3201. The details of the operation of this CPU 3101 are explained later.

The memory 3201 stores the local-machine log LOGLM1 or the like under the control of the CPU 3101. The data structure of this memory 3201 is explained later. The I/F 3401 interfaces between the CPU 3101 and the communication adapter 4001. This communication adapter 4001 is inserted between the I/F 3401 and the network N, and performs communications with the communication adapter 200 via the network N according to the predetermined communication protocol.

In the same manner as the local machine 3001, the local machine 3002 comprises a CPU 3102, a memory 3202, a timer 3302, and an I/F 3402. This CPU 3102 provides controls for monitoring of an error concerning the remote machine 3002, generation of a local-machine log LOGLM2 corresponding to the error, and read/write of data from/onto the memory 3202. The details of the operation of this CPU 3102 are explained later.

The memory 3202 stores the local-machine log LOGLM2 under the control of the CPU 3102. The data structure of this memory 3202 is explained later. The I/F 3402 interfaces between the CPU 3102 and the communication adapter 4002. This communication adapter 4002 is inserted between the I/F 3402 and the network N, and performs communications with the communication adapter 200 via the network N according to the predetermined communication protocol.

In the same manner as the local machine 3001, the local machine 300n comprises a CPU 310n, a memory 320n, a timer 330n, and an I/F 340n. This CPU 3101 provides controls for monitoring of an error concerning the remote machine 300n, generation of a local-machine log LOGLMn corresponding to the error, and read/write of data from/onto the memory 320n. The details of the operation of this CPU 310n are explained later.

The memory 320n stores the local-machine log LOGLMn under the control of the CPU 310n. The data structure of this memory 320n is explained later. The I/F 340n interfaces between the CPU 310n and the communication adapter 400n. This communication adapter 400n is inserted between the I/F 340n and the network N, and performs communications with the communication adapter 200 via the network N according to the predetermined communication protocol.

The data structure of the memories 3201 to 320n in the local machines 3001 to 300n is explained below. The local-machine log priority table TA and the individual local-machine log priority table TB1 are stored on the memory 3201 of the local machine 3001.

The CPU 3101 of the local machine 3001 generates local-machine logs (hardware error log to insignificant error log) corresponding to five types of log factors in total shown in FIG. 2. The first type of hardware error log is generated due to the hardware error by the CPU 3101. The second type of firmware error/software error log is generated due to the firmware error/software error.

The third type of line error/protocol error log is generated due to the line error/protocol error. The fourth type of warning error log is generated due to the warning error. Finally, the fifth type of insignificant error log is generated due to the insignificant error. Each of these local-machine logs consists of information such as a log factor, date and time of occurrence of an error, and place where the error occurs, namely the logs are historical data for occurrences of errors.

The local-machine log priority table TA defines respective priorities (degrees of importance) of the five types of local-machine logs (hardware error log to insignificant error log) with five levels from “1” to “5”. Local-machine log priority data PLL indicates the priority, and any of the values from “1” to “5” is taken. Where the local-machine log priority data PLL of “1” is the highest priority, whereas the local-machine log priority data PLL of “5” is the lowest priority.

In other words, the hardware error log indicated by the local-machine log priority data PLL of “1” is one with the highest priority. The firmware error/software error log indicated by the local-machine log priority data PLL of “2” is one with the next highest priority to the hardware error log. The line error/protocol error log indicated by the local-machine log priority data PLL of “3” is one with the priority following the firmware error/software error log.

The warning error log indicated by the local-machine log priority data PLL of “4” is one with the priority following the line error/protocol error log. The insignificant error log indicated by the local-machine log priority data PLL of “5” is one with the lowest priority. The individual local-machine log priority table TB1 is explained in detail in the fifth example of operation, that is explained later.

Referring to FIG. 1, area X1 is where a remote-machine substitute request flag X11 is stored. This remote-machine substitute request flag X11 indicates whether the local machine 3001 has been requested from the remote machine 100 to act as a substitute to execute the operation of collecting local-machine logs (henceforth, collection of local-machine logs), that should originally be executed by the remote machine 100, when any critical error has occurred in the remote machine 100. When the local machine 3001 has been requested to execute the collection of local-machine logs for the remote machine 100, the remote-machine substitute request flag X11 is set to “1”. On the other hand, when there has been no request to execute the collection of local-machine logs, the remote-machine substitute request flag X11 is set to “0”.

Area Y1 is where remote-machine substitute declaration flags Y11 to Y1n are stored. The remote-machine substitute declaration flags Y11 to Y1n correspond to the local machines 3001 to 300n, and are used for declaration by each of the machines to act as a substitute to execute the collection of local-machine logs for the remote machine 100. For example, when the local machine 3002 executes the collection of local-machine logs for the remote machine 100, the remote-machine substitute declaration flag Y12 corresponding to the local machine 3002 is set to “1”, and all of the other remote-machine substitute declaration flags Y11, Y13 (not shown) to Y1n is set to “0”.

Local-machine logs LOGLM11 to LOGLM13, . . . related to the local machine 3001 are stored on the local-machine log storage area Z1 as shown in FIG. 3 in order of their generation in correlation with the local-machine log priority data PLL. The local-machine log priority data PLL and local-machine logs are correlated with each other based on the local-machine log priority table TA. Further, the data for the IP address ADIP (=“1”) assigned to the local machine 3001 is stored on the local-machine log storage area Z1.

The local-machine log priority table TA and the individual local-machine log priority table TB2 are stored on the memory 3202 of the local machine 3002. The CPU 3102 of the local machine 3002 generates local-machine logs (hardware error log to insignificant error log) corresponding to the five types of log factors in total shown in FIG. 2 in the same manner as that of the CPU 3101.

An area X2 is where a remote-machine substitute request flag X21 is stored. This remote-machine substitute request flag X21 indicates whether the local machine 3002 has been requested from the remote machine 100 to act as a substitute to execute the collection of local-machine logs, that should originally be executed by the remote machine 100, when any critical error has occurred in the remote machine 100. When the local machine 3002 has been requested to execute the collection of local-machine logs for the remote machine 100, the remote-machine substitute request flag X21 is set to “1”. On the other hand, when there has been no request to execute the collection of local-machine logs, the remote-machine substitute request flag X21 is set to “0”.

Area Y2 is where remote-machine substitute declaration flags Y21 to Y2n are stored. The remote-machine substitute declaration flags Y21 to Y2n correspond to the local machines 3001 to 300n, and are used for declaration by each of the machines to execute the collection of local-machine logs for the remote machine 100. For example, when the local machine 3002 executes the collection of local-machine logs for the remote machine 100, the remote-machine substitute declaration flag Y22 corresponding to the local machine 3002 is set to “1”, and all of the other remote-machine substitute declaration flags Y21, Y23 (not shown) to Y2n is set to “0”.

Local-machine logs LOGLM21 to LOGLM23, . . . related to the local machine 3002 are stored on the local-machine log storage area Z2 in correlation with the local-machine log priority data PLL in order of their generation as shown in FIG. 3. The local-machine log priority data PLL and local-machine logs are correlated with each other based on the local-machine log priority table TA. Further, the data for the IP address ADIP (=“2”) assigned to the local machine 3002 is stored on the local-machine log storage area Z2. The individual local-machine log priority table TB2 is explained later in the fifth example of operation.

Similarly, the local-machine log priority table TA and the individual local-machine log priority table TBn are stored on the memory 320n of the local machine 300n. The CPU 310n of the local machine 300n generates local-machine logs (hardware error log to insignificant error log) corresponding to the five types of log factors in total shown in FIG. 2 in the same manner as that of the CPU 3101.

Area Xn is where a remote-machine substitute request flag Xn1 is stored. This remote-machine substitute request flag Xn1 indicates whether the local machine 300n has been requested from the remote machine 100 to act as a substitute to execute the collection of local-machine logs, that should originally be executed by the remote machine 100, when any critical error has occurred in the remote machine 100. When the local machine 300n has been requested to execute the collection of local-machine logs for the remote machine 100, the remote-machine substitute request flag Xn1 is set to “1”. On the other hand, when there has been no request to execute the collection of local-machine logs, the remote-machine substitute request flag Xn1 is set to “0”.

Area Yn is where remote-machine substitute declaration flags Yn1 to Ynn are stored. The remote-machine substitute declaration flags Yn1 to Ynn correspond to the local machines 3001 to 300n, and are used for declaration by each of the machines to execute the collection of local-machine logs for the remote machine 100. For example, when the local machine 300n executes the collection of local-machine logs for the remote machine 100, the remote-machine substitute declaration flag Ynn corresponding to the local machine 300n is set to “1”, and all of the other remote-machine substitute declaration flags Yn1 to Ynn-1 (not shown) is set to “0”.

Local-machine logs LOGLMn1 to LOGLMn3, . . . related to the local machine 300n are stored on the local-machine log storage area Zn in correlation with the local-machine log priority data PLL in order of their generation as shown in FIG. 3. The local-machine log priority data PLL and the local-machine logs are correlated with each other based on the local-machine log priority table TA. Further, the data for the IP address ADIP (=“n”) assigned to the local machine 300n is stored on the local-machine log storage area Zn. The individual local-machine log priority table TBn is explained later in the fifth example of operation.

The data structure of the memory 120 in the remote machine 100 is explained below. A local machine priority table T is stored on this memory 120. This local machine priority table T defines the respective priorities (degrees of importance) of the local machines 3001 to 300n with three levels from “1” to “3”.

For example, the IP address ADIP (“1” to “n”) assigned to the respective local machines 3001 to 300n is correlated with local machine priority data PLM. This local machine priority data PLM represents the priority, and any of values of “1” to “3” is taken. Where the local machine priority data PLM of “1” is the highest priority, whereas the local machine priority data PLM of “3” is the lowest priority.

A local machine with the local machine priority data PLM of “1” is a machine where troubles often occur or a machine of an important user that requires urgent handling at the time of occurrence of trouble. On the other hand, a local machine with the local machine priority data PLM of “3” is a machine that runs under normal conditions or a machine of a general user that does not require urgent handling at the time of occurrence of trouble. A local machine with the local machine priority data PLM of “2” ranks as an intermediate one between the local machine with the local machine priority data PLM of “1” and the local machine with the local machine priority data PLM of “3”.

Local-machine logs collected from at least one of the local machines 3001 to 300n are stored on a local-machine log storage area F. Remote-machine logs concerning the remote machine 100 are stored on a remote log storage area G. Various types of data used when local-machine logs are collected are stored on a data storage area L for collection of local-machine logs.

In this data storage area L for collection of local-machine logs, 2-bit (bit A1, bit A2) threshold data PA for local machine priorities is stored on a storage area A. This local-machine priority threshold data PA is a threshold value used for collecting local-machine logs from the local machines 3001 to 300n. In this case, a local-machine log is collected from a local machine with a local machine priority higher than the priority corresponding to the local-machine priority threshold data PA.

Memory-full flags B1 to Bn are stored on a storage area B. These memory-full flags B1 to Bn correspond to the memories 3201 to 320n, and indicate whether local-machine logs reaching full storage capacity are stored on the local-machine log storage areas Z1 to Zn. In other words, each of the memory-full flags B1 to Bn indicates whether each of the memories 3201 to 320n is full.

For example, when the maximum possible capacity of local-machine logs is stored on the local-machine log storage area Z2 of the memory 3202 and the area Z2 has entered a full state of memory, the memory-full flag B2 is set to “1”. At this point of time, assuming that the other memories 3201, 3203 (not shown) to 320n are not in the full state of memory, the corresponding memory-full flags B1, B3 (not shown) to Bn are set to “0”.

3-bit (bits C11 to C13, bits C21 to C23, . . . , bits Cn1 to Cn3) threshold data PC1 to PCn for local-machine log priorities is stored on a storage area C. The respective local-machine log priority threshold data PC1 to PCn correspond to the local machines 3001 to 300n, and any value of local-machine log priorities “1” to “5” (decimal) is taken in each of the data.

The local-machine log priority threshold data PC1 is a threshold value used for collecting local-machine logs from the local machine 3001. In this case, the local-machine logs each with a local-machine log priority higher than the priority corresponding to the local-machine log priority threshold data PC1 are collected from the local machine 3001.

The local-machine log priority threshold data PC2 is a threshold value used for collecting local-machine logs from the local machine 3002. In this case, the local-machine logs each with a local-machine log priority higher than the priority corresponding to the local-machine log priority threshold data PC2 are collected from the local machine 3002.

Similarly, the local-machine log priority threshold data PCn is a threshold value used for collecting local-machine logs from the local machine 300n. In this case, the local-machine logs each with a local-machine log priority higher than the priority corresponding to the local-machine log priority threshold data PCn are collected from the local machine 300n.

Critical error flags D1 to Dn are stored on a storage area D. These critical error flags D1 to Dn correspond to the local machines 3001 to 300n, and indicate whether a critical error has occurred in the local machines 3001 to 300n. The critical error we mention here indicates an error which causes the corresponding local machine to disable its proper performance or which is a probable cause of the failure, and includes a hardware error (see FIG. 2).

For example, when a critical error has occurred in the local machine 3002, the critical error flag D2 corresponding to the local machine 3002 is set to “1”. At this point of time, assuming that no critical error has occurred in the other local machines 3001, and 3003 to 300n, the corresponding critical error flags D1, D3 (not shown) to Dn are set to “0”.

3-bit (bits E11 to E13, bits E21 to E23, . . . , bits En1 to En3) individual local-machine log priority threshold data PE1 to PEn is stored on a storage area E. The details of the individual local-machine log priority threshold data PE1 to PEn are explained later in the fifth example of operation.

FIRST EXAMPLE OF OPERATION

A first example of operation of the embodiment is explained below with reference to the flow chart shown in FIG. 6. In this example, the remote machine 100 collects local-machine logs from a local machine, whose memory is full, of the local machines 3001 to 300n, and whose machine priority is higher than the previously initialized priority.

At step SA1 as shown in FIG. 6, the CPU 110 of the remote machine 100 initializes the local-machine priority threshold data PA. In this case, the CPU 110 initializes “2” (decimal) as the local-machine priority threshold data PA. Accordingly, “01” (binary) corresponding to the “2” (decimal) are set in the bits A1 and A2 on the storage area A of the memory 120. Further, the CPU 110 checks the memory-full flags B1 to Bn at predetermined time intervals based on the result of recording the time obtained from the timer 130.

At step SA2, the CPU 110 initializes the local machine priority table T. In this case, the CPU 110 sets “2” in the local machine priority data PLM corresponding to the IP address ADIP (=“1”: local machine 3001), and also sets “1” in the local machine priority data PLM corresponding to the IP address ADIP (=“2”: local machine 3002). The CPU 110 sets “3” in the local machine priority data PLM corresponding to the IP address ADIP (=“n”: local machine 300n) in the same manner as explained above.

At step SA3, each of the CPUs 3101 to 310n of the local machines 3001 to 300n stores a local-machine log (e.g., hard error log, firmware error/software error log), each time an error (e.g., hardware error, firmware error/software error) occurs, on the respective local-machine log storage areas Z1 to Zn in correlation with the local-machine log priority data PLL (see FIG. 3). The local-machine log priority table TA (see FIG. 2) is referred to for this correlation.

For example, the CPU 3101 of the local machine 3001 correlates, as shown in FIG. 3, the local-machine log LOGLM11 with the local-machine log priority data PLL (=“1”), and stores the data on the local-machine log storage area Z1 of the memory 3201. Similarly, the CPU 3102 of the local machine 3002 correlates, as shown in FIG. 3, the local-machine log LOGLM21 with the local-machine log priority data PLL (=“5”), and stores the data on the local-machine log storage area Z2 of the memory 3202.

The CPU 310n of the local machine 300n correlates the local-machine log LOGLMn1 with the local-machine log priority data PLL (=“4”), and stores the data on the local-machine log storage area Zn of the memory 3201 in the same manner as explained above, as shown in FIG. 3.

At step SA4, each of the CPUs 3101 to 310n determines whether any of the local-machine log storage areas Z1 to Zn of the memories 3201 to 320n is in a full state of memory. In this case, each of the CPUs 3101 to 310n determines that the result of determination is “No”. Therefore, the operational sequence from step SA3 is repeated. Accordingly, the local-machine logs are stored on each of the local-machine log storage areas Z1 to Zn shown in FIG. 3 in order of their generation.

When the local-machine log storage area Z2 has entered a full state of memory due to frequent occurrences of errors in the local machine 3002, the CPU 3102 determines that the result of determination at step SA4 is “Yes”.

At step SA5, the CPU 3102 accesses the storage area B of the memory 120 via the I/F 3402, the communication adapter 4002, the network N, the communication adapter 200, and the I/F 140. The CPU 3102 then sets the memory-full flag B2 that corresponds to the local machine 3002, of the memory-full flags B1 to Bn of the storage area B, to “1”.

Accordingly, at step SA6, the CPU 110 of the remote machine 100 recognizes that the local-machine log storage area Z2 of the local machine 3002 is in the full state of memory, and refers to the local machine priority table T. The CPU 110 recognizes the local machine priority data PLM (=“1”) for the local machine 3002 from the local machine priority table T.

At step SA7, the CPU 110 determines whether the local machine priority data PLM (=“1”) for the local machine 3002 is lower than the local-machine priority threshold data PA (in this case, “2”) initialized at step SA1. In other words, the CPU 110 determines whether the priority of the local machine 3002 is higher than the priority set at step SA1.

In this case, the CPU 110 determines that the result of determination at step SA7 is “Yes”. At step SA8, the CPU 110 accesses the memory 3202 via the I/F 140, the communication adapter 200, the network N, the communication adapter 4002, and the I/F 3402. The CPU 110 then collects the local-machine logs LOGLM21 to LOGLM23 stored on the local-machine log storage area Z2 of the memory 3202 as the local-machine log LOGLM2.

At step SA9, the CPU 110 stores the local-machine log LOGLM2 on the local-machine log storage area F of the memory 120. At step SA10, the CPU 110 sets the memory-full flag B2 corresponding to the local machine 3002, from which the local-machine log LOGLM2 has been collected, from “1” to “0”.

As step SA3 and from then on, the operation is repeated. When a new local-machine log is generated in the local machine 3002 after the local-machine logs are collected, the CPU 3102 overwrites the local-machine log storage area Z2 with the new local-machine log. By this overwriting, the old local-machine log is deleted, but this old local-machine log has already been stored on the local-machine log storage area F of the remote machine 100.

When the local-machine log storage area Zn has entered a full state of memory due to frequent occurrences of errors in the local machine 300n, the CPU 310n determines that the result of determination at step SA4 is “Yes”.

At step SA5, the CPU 310n accesses the storage area B of the memory 120 via the I/F 340n, the communication adapter 400n, the network N, the communication adapter 200, and the I/F 140 in the same manner as the operation of the CPU 3102. The CPU 310n then sets the memory-full flag Bn that corresponds to the local machine 300n, of the memory-full flags B1 to Bn of the storage area B, to “1”.

Accordingly, at step SA6, the CPU 110 of the remote machine 100 recognizes that the local-machine log storage area Zn of the local machine 300n is in the full state of memory, and refers to the local machine priority table T. The CPU 110 recognizes the local machine priority data PLM (=“3”) for the local machine 300, from the local machine priority table T.

At step SA7, the CPU 110 determines whether the local machine priority data PLM (=“3”) for the local machine 300n is lower than the local-machine priority threshold data PA (in this case, “2”) initialized at step SA1.

In this case, the CPU 110 determines that the result of determination at step SA7 is “No”. Therefore, the operational sequence from step SA3 is repeated. In other words, since the priority of the local machine 300n is lower than the priority set at step SA1, the local-machine log LOGLMn is not collected from the local machine 300n.

As explained above, according to the first example of operation of the embodiment, priorities to be given to n units of local machines 3001 to 300n are defined, and a local-machine log is collected only from a local machine with a high priority. Therefore, local-machine logs generated in local machines each with a high priority can be collected more as compared to those in the conventional case. Further, only local-machine logs generated in local machines each with a high priority are stored on the local-machine log storage area F of the memory 120. Therefore, it is possible to enhance the utilization efficiency of the memory 120 that has an upper limit to its storage capacity.

SECOND EXAMPLE OF OPERATION

A second example of operation of the embodiment is explained below with reference to the flow chart shown in FIG. 7. In this example, the remote machine 100 collects local-machine logs, each of which has a local-machine log priority higher than the previously initialized priority. In other words, these local-machine logs are collected from the local-machine logs of a local machine, whose memory is full, of the local machines 3001 to 300n.

At step SB1 as shown in FIG. 7, the CPU 110 of the remote machine 100 initializes each of the local-machine log priority threshold data PC1 to PCn. In this case, the CPU 110 initializes “2” (decimal) out of “1” to “5” as the local-machine log priority threshold data PC1. Accordingly, “001” (binary) corresponding to the “2” (decimal) are set in the bits C11 to C13 on the storage area C of the memory 120.

Similarly, the CPU 110 initializes “3” (decimal) out of “1” to “5” as the local-machine log priority threshold data PC2. Accordingly, “010” (binary) corresponding to the “3” (decimal) are set in the bits C21 to C23 on the storage area C of the memory 120.

The CPU 110 initializes “5” (decimal) out of “1” to “5” as the local-machine log priority threshold data PCn in the same manner as explained above. Accordingly, “100” (binary) corresponding to the “5” (decimal) are set in the bits Cn1 to Cn3 on the storage area C of the memory 120. Further, the CPU 110 checks the memory-full flags B1 to Bn at predetermined time intervals based on the result of recording the time obtained from the timer 130.

At step SB2, each of the CPUs 3101 to 310n of the local machines 3001 to 300n stores a local-machine log, each time an error occurs, on the respective local-machine log storage areas Z1 to Zn in correlation with the local-machine log priority data PLL in the same manner as the step SA3 (see FIG. 6).

At step SB3, each of the CPUs 3101 to 310n determines whether any of the local-machine log storage areas Z1 to Zn of the memories 3201 to 320n is in a full state of memory. In this case, each of the CPUs 3101 to 310n determines that the result of determination is “No”. Therefore, the operational sequence from step SB2 is repeated. Accordingly, the local-machine logs are stored on each of the local-machine log storage areas Z1 to Zn shown in FIG. 3 in order of their generation.

When the local-machine log storage area Z2 has entered a full state of memory due to frequent occurrences of errors in the local machine 3002, the CPU 3102 determines that the result of determination at step SB3 is “Yes”.

At step SB4, the CPU 3102 accesses the storage area B of the memory 120 via the I/F 3402, the communication adapter 4002, the network N, the communication adapter 200, and the I/F 140 in the same manner as the step SA5 (see FIG. 6). The CPU 3102 then sets the memory-full flag B2 to “1”.

Accordingly, at step SB5, the CPU 110 of the remote machine 100 recognizes that the local-machine log storage area Z2 of the local machine 3002 is in the full state of memory. The CPU 110 then refers to the local-machine log priority threshold data PC (in this case, PC2=“3”) corresponding to the local machine 3002, of the local-machine log priority threshold data PC1 to PCn.

At step SB6, the CPU 110 accesses the local-machine log storage area Z2 (see FIG. 3) of the memory 3202 via the I/F 140, the communication adapter 200, the network N, the communication adapter 4002, and the I/F 3402.

At step SB7, the CPU 110 determines whether the local-machine log priority data PLL (=“5”) in a first record shown in FIG. 3 is lower than the local-machine log priority threshold data PC2 (in this case, “3”) referred to at step SB5. In other words, the CPU 110 determines whether the priority of the local-machine logs LOGLM21 is higher than the priority set at step SB1.

In this case, the CPU 110 determines that the result of determination at step SB7 is “No”. At step SB10, the CPU 110 determines whether there is a next local-machine log on the local-machine log storage area Z2. In this case, the CPU 110 determines that the result of determination is “Yes”.

At step SB7, the CPU 110 determines whether the local-machine log priority data PLL (=“2”) in a second record shown in FIG. 3 is lower than the local-machine log priority threshold data PC2 (in this case, “3”) referred to at step SB5. In this case, the CPU 110 determines that the result of determination at step SB7 is “Yes”. At step SB8, the CPU 110 collects the secondly-recorded local-machine log LOGLM22 of the local-machine log storage area Z2 via the I/F 3402, the communication adapter 4002, the network N, the communication adapter 200, and the I/F 140.

At step SB9, the CPU 110 stores the local-machine log LOGLM22 on the local-machine log storage area F of the memory 120. At step SB10, the CPU 110 determines whether there is a next local-machine log on the local-machine log storage area Z2. In this case, the CPU 110 determines that the result of determination is “Yes”, and returns to step SB7.

The operation is repeated from then on. Local-machine logs each of which has a local-machine log priority higher than the priority initialized at step SB1, of the plurality of local-machine logs stored on the local-machine log storage area Z2, are collected by the CPU 110 of the remote machine 100.

When the processing for the last record of the local-machine log storage area Z2 is finished, the CPU 110 determines that the result of determination at step SB10 is “No”. At step SB11, the CPU 110 sets the memory-full flag B2 corresponding to the local machine 3002 from “1” to “0”. The operation is repeated at step SB2 and from then on.

As explained above, according to the second example of operation of the embodiment, only local-machine logs with high priorities are collected. Therefore, local-machine logs with high priorities, of the local-machine logs generated in the relevant local machine, can be collected more as compared to those in the conventional case.

THIRD EXAMPLE OF OPERATION

A third example of operation of the embodiment is explained below with reference to the flow chart shown in FIG. 8. In this example, each of the local machines 3001 to 300n stores a local-machine log on the corresponding local-machine log storage area only when the priority of the local-machine log, that corresponds to a log factor at the time of occurrence of the log factor, is higher than the previously initialized priority.

At step SC1 as shown in FIG. 8, the CPU 110 of the remote machine 100 initializes each of the local-machine log priority threshold data PC1 to PCn in the same manner as the step SB1 (see FIG. 7). In this case, the CPU 110 initializes “2” (decimal) out of “1” to “5” as the local-machine log priority threshold data PC1, and also “3” (decimal) as the local-machine log priority threshold data PC2.

The CPU 110 then initializes “5” (decimal) in respective bits as the local-machine log priority threshold data PCn in the same manner as explained above. Further, the CPU 110 checks the memory-full flags B1 to Bn at predetermined time intervals based on the result of recording the time obtained from the timer 130.

At step SC2, each of the CPUs 3101 to 310n of the local machines 3001 to 300n determines whether a log factor (e.g., hardware error, firmware error/software error) has occurred, and repeats the processing of determination when the result of determination is “No”. For example, when an insignificant error has occurred as a log factor in the local machine 3002, the CPU 3102 determines that the result of determination at step SC2 is “Yes”.

At step SC3, the CPU 3102 accesses the memory 120 via the I/F 3402, the communication adapter 4002, the network N, the communication adapter 200, and the I/F 140. The CPU 3102 then refers to the local-machine log priority threshold data PC (in this case, PC2=“3”) corresponding to the local machine 3002, of the local-machine log priority threshold data PC1 to PCn.

At step SC4, the CPU 3102 checks the local-machine log priority data PLL (=“5”) of the local-machine log corresponding to the log factor (in this case, an insignificant error) occurring at step SC2 by referring to the local-machine log priority table TA. The CPU 3102 then determines whether the local-machine log priority data PLL (=“5”) is lower than the local-machine log priority threshold data PC2 (in this case, “3”). In other words, the CPU 3102 determines whether the priority of the relevant local-machine log is higher than the priority set at step SC1.

In this case, the CPU 3102 determines that the result of determination at step SC4 is “No”. Therefore, the operational sequence from step SC2 is repeated. When a hardware error as a log factor has occurred in the local machine 3002, the CPU 3102 determines that the result of determination at step SC2 is “Yes”.

At step SC3, the CPU 3102 refers to the local-machine log priority threshold data PC (in this case, PC2=“3”) corresponding to the local machine 3002 in the same manner as the operation explained above. At step SC4, the CPU 3102 checks the local-machine log priority data PLL (=“1”) of a local machine corresponding to the log factor (in this case, hardware error) occurring at step SC2 by referring to the local-machine log priority table TA.

The CPU 3102 determines whether the local-machine log priority data PLL (=“1”) is lower than the local-machine log priority threshold data PC2 (in this case, “3”) referred to at step SB3. In this case, the CPU 3102 determines that the result of determination at step SC4 is “Yes”.

At step SC5, the CPU 3102 stores the local-machine log corresponding to the hardware error on the local-machine log storage area Z2. At step SC6, the CPU 3102 determines whether the local-machine log storage area Z2 is in a full state of memory in the same manner as the step SA4 (see FIG. 6). In this case, the CPU 3102 determines that the result of determination is “No”. Therefore, the operational sequence from step SC2 is repeated. Accordingly, local-machine logs with priorities each higher than the preset priority are successively stored on the local-machine log storage area Z2.

When the local-machine log storage area Z2 has entered a full state of memory due to frequent occurrences of errors in the local machine 3002, namely, when there is no more space for a new local-machine log on the area Z2, the CPU 3102 determines that the result of determination at step SC6 is “Yes”.

At step SC7, the CPU 3102 accesses the storage area B of the memory 120 via the I/F 3402, the communication adapter 4002, the network N, the communication adapter 200, and the I/F 140 in the same manner as the step SA5 (see FIG. 6). The CPU 3102 then sets the memory-full flag B2 to “1”.

Accordingly, at step SC8, the CPU 110 of the remote machine 100 recognizes that the local-machine log storage area Z2 of the local machine 3002 is in the full state of memory. The CPU 110 then accesses the local-machine log storage area Z2 of the memory 3202 via the I/F 140, the communication adapter 200, the network N, the communication adapter 4002, and the I/F 3402.

At step SC9, the CPU 110 collects the local-machine logs stored on the local-machine log storage area Z2 of the memory 3202 as a local-machine log LOGLM2. The collected local-machine log LOGLM2 has a priority higher than the priority corresponding to the local-machine log priority threshold data PC2.

At step SC10, the CPU 110 stores the local-machine log LOGLM2 on the local-machine log storage area F of the memory 120. At step SC11, the CPU 110 sets the memory-full flag B2 corresponding to the local machine 3002, from which the local-machine log LOGLM2 has been collected, from “1” to “0”. The operation is repeated at step SC2 and from then on.

As explained above, according to the third example of operation of the embodiment, only the high-priority local-machine logs are stored on the memory 3201 to 320n. Therefore, it is possible to enhance the utilization efficiency of the memory 3201 to 320n each of which has an upper limit to its storage capacity.

FOURTH EXAMPLE OF OPERATION

A fourth example of operation of the embodiment is explained below with reference to the flow chart shown in FIG. 9. In this example, the remote machine 100 collects a local-machine log corresponding to a critical error from a local machine, of the local machines 3001 to 300n, where the critical error (hardware error) has occurred.

At step SD1 as shown in FIG. 9, the CPU 110 of the remote machine 100 initializes local-machine priority threshold data PA (=“2”) in the same manner as the step SA1 (see FIG. 6). Further, the CPU 110 checks critical error flags D1 to Dn at predetermined time intervals based on the result of recording the time obtained from the timer 130.

At step SD2, the CPU 110 initializes the local machine priority table T in the same manner as the step SA2 (see FIG. 6). At step SD3, the CPU 110 initializes local-machine log priority threshold data PC1 to PCn in the same manner as the step SB1 (see FIG. 7).

At step SD4, each of the CPUs 3101 to 310n of the local machines 3001 to 300n stores a local-machine log, each time an error occurs, on the respective local-machine log storage areas Z1 to Zn in correlation with the local-machine log priority data PLL in the same manner as the step SA3 (see FIG. 6), and proceeds to step SD5.

In this case, it is assumed that the local-machine log LOGLM11 is stored on the first record of the local-machine log storage area Z1 as shown in FIG. 3 because the hardware error (critical error) has occurred in the local machine 3001. At step SD5, each of the CPUs 3101 to 310n determines whether the critical error (hardware error) has occurred at step SD4. In this case, since the hardware error as a critical error has occurred in the local machine 3001, the CPU 3101 determines that the result of determination at step SD5 is “Yes”.

At step SD6, the CPU 3101 accesses the storage area D of the memory 120 via the I/F 3401, the communication adapter 4001, the network N, the communication adapter 200, and the I/F 140. The CPU 3101 then sets the critical error flag D1 that corresponds to the local machine 3001, of the critical error flags D1 to Dn of the storage area D, to “1”.

Accordingly, at step SD7, the CPU 110 of the remote machine 100 collects the local-machine log LOGLM11 (critical error) stored on the first record of the local-machine log storage area Z1 of the local machine 3001 via the I/F 140, the communication adapter 200, the network N, the communication adapter 4001, and the I/F 3401.

The CPU 3102 then stores the local-machine log LOGLM11 (critical error) on the local-machine log storage area F of the memory 120. At step SD8, the CPU 110 sets the critical error flag D1 corresponding to the local machine 3001, from which the local-machine log LOGLM11 has been collected, from “1” to “0”. The operation at step SD4 and from then on is repeated.

When any error other than the hardware error (critical error) has occurred in the local machine 3002, the CPU 3102 determines that the result of determination at step SD5 is “No”. At step SD9, the CPU 3102 determines whether the local-machine log storage area Z2 is in a full state of memory in the same manner as the step SA4 (see FIG. 6).

Assuming, in this case, that the local-machine log storage area Z2 is in a full state of memory due to frequent occurrences of errors in the local machine 3002, the CPU 3102 determines that the result of determination at step SD9 is “Yes”. If the result of determination at step SD9 is “No”, the CPU 3102 returns to step SD4 and repeats the operation.

In this case, at step SD10, the CPU 110 of the remote machine 100 executes the processing for collecting local-machine logs from the local machine 3002, and repeats the operation at step SD4 and from then on. In the processing for collecting local-machine logs, any of the processing at step SA5 to step SA10 (First example of operation: see FIG. 6), at step SB4 to step SB11 (Second example of operation: see FIG. 7), or at step SC7 to step SC11 (Third example of operation: see FIG. 8) is executed.

As explained above, according to the fourth example of operation of the embodiment, upon occurrence of a critical error in a local machine, local-machine logs are collected from the relevant local machine. Therefore, any critical error that has occurred can speedily be handled.

FIFTH EXAMPLE OF OPERATION

In the second example of operation, the case, where the local-machine log priority data PLL concerning local-machine logs each generated in the local machines 3001 to 300n is decided as shown in FIG. 3, is explained. For example, the data PLL is decided by referring to the local-machine log priority table TA common to the local machines 3001 to 300n. Therefore, in the second example of operation, as shown in FIG. 3, the local-machine log priority data PLL for local-machine logs concerning the same type of log factor (e.g., hardware error) is the same value (in this case “1”) between the local-machine log storage areas Z1 to Zn.

Each of the local machines 3001 to 300n may have a table where data for local-machine log priorities is defined on an individual basis, and priority data for a generated local-machine log may individually be decided based on this table. This case will be explained below as the fifth example of operation.

In this example, individual local-machine log priority tables TB1 to TBn (see FIG. 4), that are stored on the memories 3201 to 320n of the local machines 3001 to 300n shown in FIG. 1, are used instead of the local-machine log priority table TA used in the second example of operation. Further, individual local-machine log priority threshold data PE1 to PEn are used instead of the local-machine log priority threshold data PC1 to PCn used in the second example of operation.

Each of the individual local-machine log priority tables TB1 to TBn shown in FIG. 4 defines respective priorities (degrees of importance) of five types of local-machine logs (a hardware error log to an insignificant error log) with five levels from “1” to “5” in the same manner as the local-machine log priority table TA. However, individual local-machine log priority data PSLL is defined on an individual basis in each of the individual local-machine log priority tables TB1 to TBn.

That is, even if the same type of local-machine logs (log factors) exist between the individual local-machine log priority tables TB1 to TBn, the individual local-machine log priority data PSLL corresponding to each of the logs is different. Referring to the hardware error logs (hardware errors) in shaded areas in FIG. 4, for example, the individual local-machine log priority data PSLL for the hardware error log is “1” in the individual local-machine log priority tables TB1. Whereas, in the individual local-machine log priority tables TB2, the individual local-machine log priority data PSLL for the hardware error log (hardware error) is “3”. Further, in the individual local-machine log priority tables TBn, the individual local-machine log priority data PSLL for the hardware error log (hardware error) is “2”.

Each of the individual local-machine log priority threshold data PE1 to PEn stored on the storage area E shown in FIG. 1 corresponds to each of the local machines 3001 to 300n, and one of the values of the local-machine log priorities “1” to “5” (decimal) is taken.

The individual local-machine log priority threshold data PE1 is a threshold value used for collecting local-machine logs from the local machine 3001. In this case, local-machine logs each with a local-machine log priority higher than the priority corresponding to the individual local-machine log priority threshold data PE1 are collected from the local machine 3001.

The individual local-machine log priority threshold data PE2 is a threshold value used for collecting local-machine logs from the local machine 3002. In this case, local-machine logs each with a local-machine log priority higher than the priority corresponding to the individual local-machine log priority threshold data PE2 are collected from the local machine 3002.

Similarly, the individual local-machine log priority threshold data PEn is a threshold value used for collecting local-machine logs from the local machine 300n. In this case, local-machine logs each with a local-machine log priority higher than the priority corresponding to the individual local-machine log priority threshold data PEn are collected from the local machine 300n.

At step SE1 as shown in FIG. 10, the CPU 110 of the remote machine 100 initializes each of the individual local-machine log priority threshold data PE1 to PEn. In this case, the CPU 110 initializes “2” (decimal) out of “1” to “5” as the individual local-machine log priority threshold data PE1. Accordingly, “001” (binary) corresponding to the “2” (decimal) are set in bits E11 to E13 on the storage area E of the memory 120.

Similarly, the CPU 110 initializes “3” (decimal) out of “1” to “5” as the individual local-machine log priority threshold data PE2. Accordingly, “010” (binary) corresponding to the “3” (decimal) are set in bits E21 to E23 on the storage area E of the memory 120.

The CPU 110 then initializes “3” (decimal) out of “1” to “5” as the individual local-machine log priority threshold data PEn in the same manner as explained above. Accordingly, “010” (binary) corresponding to the “3” (decimal) are set in bits En1 to En3 on the storage area E of the memory 120. Further, the CPU 110 checks the memory-full flags B1 to Bn at predetermined time intervals based on the result of recording the time obtained from the timer 130.

At step SE2, each of the CPUs 3101 to 310n of the local machines 3001 to 300n determines whether a log factor (e.g., a hardware error, a firmware error/software error) has occurred, and repeats the processing of determination when the result of determination is “No”. For example, when a hardware error has occurred as a log factor in the local machine 300n, the CPU 310n determines that the result of determination is “Yes”.

At step SE3, the CPU 310n of the local machine 300n stores the local-machine log LOGLMn3 of the local-machine log storage area Zn shown in FIG. 5 on the local-machine log storage area Zn. In the storage area, this local-machine log LOGLMn3 is correlated with the individual local-machine log priority data PSLL (=“2”) of the individual local-machine log priority table TBn shown in FIG. 4.

At step SE4, the CPU 310n determines, in the same manner as the step SA4 (see FIG. 6), whether the local-machine log storage area Zn of the memory 320n is in a full state of memory. In this state, the CPU 310n determines that the result of determination is “No”. Therefore, the operational sequence from step SE2 is repeated. Thus, the local-machine logs are stored on the local-machine log storage area Zn in order of their generation as shown in FIG. 5.

When the local-machine log storage area Zn has entered a full state of memory due to frequent occurrences of errors in the local machine 300n, namely such a state that there is no more space for a new local-machine log on the area Zn, the CPU 310n determines that the result of determination at step SE4 is “Yes”.

At step SE5, the CPU 310n accesses the storage area B of the memory 120 via the I/F 340n, the communication adapter 400n, the network N, the communication adapter 200, and the I/F 140 in the same manner as the step SA5 (see FIG. 6), and then sets the memory-full flag Bn to “1”.

Accordingly, at step SE6, the CPU 110 of the remote machine 100 recognizes that the local-machine log storage area Zn of the local machine 300n is in the full state of memory. The CPU 110 refers to the individual local-machine log priority threshold data PE (in this case, PEn=“3”) corresponding to the local machine 300n, of the individual local-machine log priority threshold data PE1 to PEn.

At step SE7, the CPU 110 accesses the local-machine log storage area Zn of the memory 320n via the I/F 140, the communication adapter 200, the network N, the communication adapter 400n, and the I/F 340n. The CPU 110 then determines whether the individual local-machine log priority data PSLL (=“2”) in the third record of the local-machine log storage area Zn shown in FIG. 5 is lower than the individual local-machine log priority threshold data PE (in this case, PEn (=“3”)).

In other words, the CPU 110 determines whether the priority of the local-machine logs LOGLMn3 is higher than the priority set at step SE1. In this case, the CPU 110 determines that the result of determination at step SE7 is “Yes”. If the result of determination at step SE7 is “No”, the CPU 110 proceeds to step SE10.

In this case, at step SE8, the CPU 110 collects the local-machine log LOGLMn3 in the third record of the local-machine log storage area Zn via the I/F 340n, the communication adapter 400n, the network N, the communication adapter 200, and the I/F 140.

At step SE9, the CPU 110 stores the local-machine log LOGLMn3 on the local-machine log storage area F of the memory 120. At step SE10, the CPU 110 determines whether there is a next local-machine log in the local-machine log storage area Zn. In this case, the CPU 110 determines that the result of determination is “Yes”, and returns to step SE7.

The operation is repeated from then on. Of the plurality of local-machine logs stored on the local-machine log storage area Zn, the local-machine logs each with a local-machine log priority higher than the priority initialized at step SE1 are collected by the CPU 110 of the remote machine 100.

When the processing for the last record of the local-machine log storage area Zn is finished, the CPU 110 determines that the result of determination at step SE10 is “No”. At step SE11, the CPU 110 sets the memory-full flag Bn corresponding to the local machine 300n from “1” to “0”. The operation is repeated at step SE2 and from then on.

As explained above, according to the fifth example of operation of the embodiment, respective priorities of local-machine logs corresponding to a plurality of local machines are set individually. Therefor, even if the same type of local-machine logs exist, each of their priorities can be made different between the plurality of local machines. Thus, local-machine logs can flexibly be collected according to the state of the respective local machines.

SIXTH EXAMPLE OF OPERATION

A sixth example of operation of the embodiment is explained below with reference to the flow chart shown in FIG. 11. In this example, when any critical error (e.g., a hardware error) has occurred in the remote machine 100, the collection of local-machine logs, that is supposed to be performed by the remote machine 100, is executed by an arbitrary machine of the local machines 3001 to 300n for the remote machine 100.

At step SF1 as shown in FIG. 11, the CPU 110 of the remote machine 100 determines whether a critical error has occurred in the remote machine 100, and proceeds to step SF6 when the result of determination is “No”. At step SF6, the CPU 110 executes any type of operation, of the first to fifth examples of operation, for collecting local-machine logs, returns to step SF1, and repeats the operation. The CPUs 3101 to 310n of the local machines 3001 to 300n check remote-machine substitute request flags X11 to Xn1 at predetermined time intervals based on the results of recording the times by timers 3301 to 330n, respectively.

When a hardware error as a critical error has occurred in the remote machine 100, the remote machine 100 determines that the result of determination at step SF1 is “Yes”. At step SF2, the CPU 110 sets an arbitrary remote-machine substitute request flag, of the remote-machine substitute request flags X11 to Xn1, to “1”. Precisely, the CPU 110 requests an arbitrary local machine, of the local machines 3001 to 300n, to act as a substitute to execute the collection of local-machine logs. It is assumed, in this case, that the local machine 3002 has been requested to be a substitute to execute the collection of local-machine logs.

Therefore, the CPU 110 accesses the memory 3202 via the I/F 140, the communication adapter 200, the network N, the communication adapter 4002, and the I/F 3402, and sets the remote-machine substitute request flag X21 to “1”. Accordingly, the CPU 3102 of the local machine 3002 recognizes that the CPU 3102 itself has been requested from the remote machine 100 to act as a substitute to execute the collection of local-machine logs. The CPU 3102 then accesses the memory 120 via the I/F 3402, the communication adapter 4002, the network N, the communication adapter 200, and the I/F 140 to acquire reference data DRM.

The reference data DRM we mention here is information required for the collection of local-machine logs. This reference data DRM includes the local machine priority table T, the local-machine priority threshold data PA, the memory-full flags B1 to Bn, the local-machine log priority threshold data PC1 to PCn, the critical error flags D1 to Dn, and the individual local-machine log priority threshold data PE1 to PEn. The reference data DRM also includes the local-machine logs stored on the local-machine log storage area F and the remote logs stored on the remote log storage area G.

The CPU 3102 stores the acquired reference data DRM on the memory 3202. At step SF4, the CPU 3102 sets the remote-machine substitute declaration flags Y12 to Yn2 (excluding Y22) of local machines except the local machine 3002 to “1”. Accordingly, the respective CPUs of the local machines except the local machine 3002 recognize that the local machine 3002 acts as a substitute to execute the collection of local-machine logs for the remote machine 100.

At step SF5, the CPU 3102 of the local machine 3002 acts as a substitute to perform the processing for the remote machine. In other words, the CPU 3102 executes the operation (one of the first to fifth examples of operation) of collecting local-machine logs using the reference data DRM in the same manner as the CPU 110 of the remote machine 100. In this case, the CPUs of the local machines except the local machine 3002 operate by setting the local machine 3002 as a destination of their access instead of the remote machine 100.

As explained above, according to the sixth example of operation of the embodiment, even if a critical error has occurred, an arbitrary local machine acts as a substitute to execute the collection of local-machine logs. Therefore, the collection of local-machine logs can continuously be performed, which allows reliability to be enhanced.

SEVENTH EXAMPLE OF OPERATION

A seventh example of operation of the embodiment is explained below with reference to the flow chart shown in FIG. 12. In this example, when any critical error (e.g., hardware error) has occurred in the remote machine 100, the collection of local-machine logs that is supposed to be operated by the remote machine 100 is executed by some other machine, of the local machines 3001 to 300n, that has the lowest local machine priority.

At step SG1 as shown in FIG. 12, the CPU 110 of the remote machine 100 determines whether a critical error has occurred in the remote machine 100, and proceeds to step SG7 when the result of determination is “No”. At step SG7, the CPU 110 executes any operation, of the first to fifth examples of operation, of collecting local-machine logs, returns to step SG1, and repeats the operation. The CPUs 3101 to 310n of the local machines 3001 to 300n check remote-machine substitute request flags X11 to Xn1 at predetermined time intervals based on the results of recording the times by timers 3301 to 330n, respectively.

When a hardware error as a critical error has occurred in the remote machine 100, the remote machine 100 determines that the result of determination at step SG1 is “Yes”. At step SG2, the CPU 110 accesses the memory 120 to refer to the local machine priority table T and recognizes a local machine with the lowest local machine priority of the local machines 3001 to 300n. It is assumed, in this case, that the CPU 110 recognizes the local machine 300, as one with the lowest local machine priority.

At step SG3, the remote-machine substitute request flag Xn1 of the local machine 300n is set to “1”. In other words, the CPU 110 requests the local machine 300n with the lowest local machine priority, of the local machines 3001 to 300n, to act as a substitute to execute the collection of local-machine logs.

Therefore, the CPU 110 accesses the memory 3202 via the I/F 140, the communication adapter 200, the network N, the communication adapter 400n, and the I/F 340n, and sets the remote-machine substitute request flag Xn1 to “1”. Accordingly, the CPU 310n of the local machine 300n recognizes that the CPU 310n itself has been requested from the remote machine 100 to act as a substitute to execute the collection of local-machine logs. At step SG4, the CPU 310n then accesses the memory 120 via the I/F 340n, the communication adapter 400n, the network N, the communication adapter 200, and the I/F 140 to acquire reference data DRM.

The reference data DRM mentioned here is the information required for the collection of local-machine logs. This reference data DRM includes the local machine priority table T, the local-machine priority threshold data PA, the memory-full flags B1 to Bn, the local-machine log priority threshold data PC1 to PCn, the critical error flags D1 to Dn, and the individual local-machine log priority threshold data PE1 to PEn. The reference data DRM also includes the local-machine logs stored on the local-machine log storage area F and the remote logs stored on the remote log storage area G.

The CPU 3102 stores the acquired reference data DRM on the memory 3202. At step SG5, the CPU 310n sets the remote-machine substitute declaration flags Y1n to Ynn-1 of local machines except the local machine 300n to “1”. Accordingly, the respective CPUs of the local machines except the local machine 300n recognize that the local machine 300n acts as a substitute to execute the collection of local-machine logs.

At step SG6, the CPU 310n of the local machine 300n acts as a remote-machine substitute to perform the processing. In other words, the CPU 310n executes the operation (one of the first to fifth examples of operation) of collecting local-machine logs using the reference data DRM in the same manner as the CPU 110 of the remote machine 100. In this case, the CPUs of the local machines except the local machine 300n operate by setting the local machine 300n as a destination of their access instead of the remote machine 100.

As explained above, according to the seventh example of operation of the embodiment, when a critical error has occurred, any local machine with the lowest priority is allowed to act as a substitute to execute the collection of local-machine logs. Therefore, the collection of local-machine logs can continuously be performed. Thus, it is possible to avoid degradation in performance of the other local machines with high priorities.

Although the invention has been explained in detail with respect to the embodiment with reference to the drawings, it is to be understood that concrete examples of the configuration are not limited by the embodiment and modifications and alterations without departing from the spirit of the invention may also be embraced by the invention.

For example, collection or generation of local-machine logs may be performed by the steps as follows. That is, the steps of recording the information collecting program or the information generating program to realize the functions of the remote machine 100 or the functions of the local machines 3001 to 300n on the computer-readable recording medium 600 shown in FIG. 13, and reading the information collecting program or the information generating program recorded on this recording medium 600 into the computer 500 shown in FIG. 13 for its execution.

The computer 500 shown in FIG. 13 comprises a CPU 501 that executes the information collecting program or the information generating program, an input device 502 such as a mouse, ROM (Read Only Memory) 503 that stores various data, and RAM (Random Access Memory) 504 that stores operation parameters or the like. The computer 500 further comprises a reader 505 that reads the information collecting program or the information generating program from the recording medium 600, an output device 506 such as a display and a printer, and a bus BU that connects between the devices.

The CPU 501 collects or generates the remote machine logs by reading the information collecting program or the information generating program recorded on the recording medium 600 via the reader 505 and executing the read-in information collecting program or the information generating program. The recording medium 600 includes not only a portable recording medium such as an optical disk, a floppy disk, or a hard disk, but also any transport media such as a network that temporarily records and holds data.

As explained above, according to one aspect of this invention, respective priorities to be given to a plurality of information generation apparatuses are defined, and information is collected only from the information generation apparatus whose priority is high. Therefore, pieces of information generated in the information generation apparatuses with high priorities can be collected more as compared to those in the conventional case. Further, only the information generated in the information generation apparatus with a high priority is stored on the collection-side information storage unit. Resultantly, it is possible to enhance the utilization efficiency of the collection-side information storage unit that has an upper limit to its storage capacity.

According to another aspect of this invention, only pieces of information with high priorities are collected. Therefore, of the information generated in the relevant information generation apparatus, pieces of information with high priorities can be collected more as compared to those in the conventional case. Further, only the information with a high priority is stored on the collection-side information storage unit. Resultantly, it is possible to enhance the utilization efficiency of the collection-side information storage unit that has an upper limit to its storage capacity.

Further, the priorities of respective information are individually set in correspondence with a plurality of information generation apparatuses, respectively. Therefore, even if the same type of information exists, each of the priorities can be made different between the plurality of information generation apparatuses. Resultantly, information can flexibly be collected according to the state of the respective information generation apparatuses.

According to still another aspect of this invention, upon occurrence of a certain error in an information generation apparatus, information is collected from the relevant information generation apparatus. Resultantly, any error that has occurred can speedily be handled.

Further, even when a certain error has occurred, the collection of information can be executed by an arbitrary information generation apparatus as a substitute. Resultantly, the collection of information can continuously be performed, which allows reliability to be enhanced.

Further, when a certain error has occurred, any information generation apparatus with the lowest priority is allowed to act as a substitute to execute the operation of collecting information. Therefore, the collection of information can be continued. Resultantly, it is possible to avoid degradation in respective performance of the other information generation apparatuses with high priorities.

According to still another aspect of this invention, only information with a high priority is stored. Resultantly, it is possible to enhance the utilization efficiency of the information storage unit that has an upper limit to its storage capacity.

Although the invention has been described with respect to a specific embodiment for a complete and clear disclosure, the appended claims are not to be thus limited but are to be construed as embodying all modifications and alternative constructions that may occur to one skilled in the art which fairly fall within the basic teaching herein set forth.

Claims

1. An information collection apparatus which collects information via transmission paths from a plurality of information generation apparatuses, wherein each of said information generation apparatuses has a generation-side information storage unit which stores the information generated by said information generation apparatuses due to a specific generation factor, said information collection apparatus comprising:

a table storage unit which stores a priority definition table in which respective priorities of said plurality of information generation apparatuses are defined;
an information collection unit which refers to the priority definition table upon reception of a notice from an information generation apparatus that is any of said information generation apparatuses and in which an amount of information stored on said generation-side information storage unit of said information generation apparatus has reached a predetermined amount, where if the priority of said information generation apparatus is higher than a preset priority the collection unit responds to the notice by collecting the information stored on the generation-side information storage unit of said information generation apparatus, and where if the priority of said information generation apparatus is lower than the preset priority then the collection unit disregards the notice and does not perform collection for the notice, said priority and said preset priority indicating whether data should be collected; and
a collection-side information storage unit which stores the information collected by said information collection unit.

2. An information collection apparatus which collects information via transmission paths from a plurality of information generation apparatuses, wherein each of said information generation apparatuses has a generation-side information storage unit which stores the information generated by said information generation apparatuses due to a specific generation factor, said information collection apparatus comprising:

an information collection unit which, upon reception of notices sent from corresponding information generation apparatuses based upon an amount of information stored on corresponding said generation-side information storage units, responds to notices from information generation apparatuses with priorities higher than a preset priority by collecting stored generated information from such information generation apparatuses, and responds to notices corresponding to information generation apparatuses with priorities lower than the preset priority by disregarding such notices by not collecting stored generated information from respective information generation apparatuses, wherein said priorities indicate whether data is collected; and
a collection-side information storage unit which stores the information collected by said information collection unit.

3. The information collection apparatus according to claim 2, wherein the priorities are set separately for each of said information generation apparatuses.

4. An information collection apparatus which collects information via transmission paths from a plurality of information generation apparatuses, wherein each of said information generation apparatuses has a generation-side information storage unit which stores the information generated by said information generation apparatuses due to a specific generation factor, said information collection apparatus comprising:

an information collection unit which, upon reception of a notice sent from an information generation apparatus in which a given error has occurred and from which the notice has been sent responsive thereto, collects information stored on the generation-side information storage unit of said information generation apparatus if the priority of said information generation apparatus is higher than a preset priority and disregards the notice by not collecting the information stored if the priority of said information generation apparatus is lower than the preset priority, where the information generation apparatus may be any of the information storage apparatuses, said priority and said preset priority indicating whether data should be collected; and
a collection-side information storage unit which stores the information collected by said information collection unit.

5. An information generation apparatus which generates information to be collected by an information collection apparatus via a transmission path, said information generation apparatus comprising:

an information generation unit which generates information due to a specific generation factor of the information; and
an information storage unit which stores for collection the generated information if said information has a priority higher than a preset priority and which does not store for collection the generated information if said information has a priority lower than the preset priority, said priority and said preset priority indicating whether data should be collected.

6. A computer-readable recording medium where an information collecting program, with which information is collected via transmission paths from a plurality of information generation apparatuses each of which has a generation-side information storage unit that stores information generated by said information generation apparatuses due to a specific generation factor, is recorded, said program for making a computer execute a process, the process comprising:

storing a priority definition table in which respective priorities of said plurality of information generation apparatuses are defined in a table storage unit;
referring to the priority definition table upon reception of notification from an information generation apparatus that is any of said information generation apparatuses, in which the amount of information stored on said generation-side information storage unit of said information generation apparatus has reached a predetermined amount, where if the priority of said information generation apparatus is higher than a preset priority the notice is responded to by collecting the information stored on the generation-side information storage unit of said information generation apparatus, and where if the priority of said information generation apparatus is lower than a preset priority then the notice is disregarded by not collecting the stored information, said priority and said preset priority indicating whether data should be collected; and
storing the collected information in a collection-side information storage unit.

7. A computer-readable recording medium where an information generating program, with which information to be collected by the information collection apparatus via a transmission path is generated, is recorded, said program for making a computer execute a process, the process comprising:

generating information based on a specific generation factor of the information; and
storing for collection the generated information if said information has a priority higher than a preset priority and not storing for collection the generated information if said information has a priority lower than the preset priority, said priority and said preset priority indicating whether data should be collected.

8. An information collection method for centrally collecting log information from log generating computer systems, the method comprising:

at a collecting computer system, receiving notices from the log generating computer systems indicating that a respective log is available for collection, and responsive to the notices collecting logs from notice-sending log generating computer systems that the collecting computer system determines to have a priority that is higher than a preset priority and disregarding the notices from notice-sending log generating computer systems that the collecting computer system determines have a priority that is lower than the preset priority by not collecting logs from those systems, said priority and said preset priority determining whether data should be collected.

9. An information collection method according to claim 8, wherein a log of a given log generating computer is prioritized for collection relative to another log of the given log generating computer based on at least one of predefined priorities of the respective logs and categories of occurrences captured by the respective logs.

10. An information collection method according to claim 9, wherein a log comprises entries corresponding to occurrences on its respective log generating computer, and where some occurrences are errors on such log generating computer.

11. An information collection method according to claim 9, wherein a log becomes available for collection at a log generating computer system based on a size of the log.

12. An information collection method according to claim 10, wherein a log is collected or made available for collection based on a size of the log.

13. A method of collecting information on a network from a plurality of log generating computer systems, comprising:

on each of the log generating computer systems each having a plurality of different logs: responsive to detection of occurrences of errors and other logged events, entering a log entry into one of the logs of a type corresponding to a type of the respective error or other logged event; and based on a size and priority of one of the logs of the log generating computing system, causing the log to be available to be collected by a central collecting computer that collects logs from the log generating computer systems, said priority indicating whether data should be collected; and
on a log collecting computer system, storing a threshold collection priority, and determining whether or not to perform a collection of the respective logs available for collection by comparing the threshold collection priority to collection priorities of the log generating computer systems having the logs available for collection.
Patent History
Publication number: 20060031487
Type: Application
Filed: Oct 11, 2005
Publication Date: Feb 9, 2006
Applicant: Fujitsu Limited (Kawasaki)
Inventors: Mayumi Noguchi (Kawasaki), Tetsuo Chimoto (Kawasaki)
Application Number: 11/246,272
Classifications
Current U.S. Class: 709/224.000
International Classification: G06F 15/173 (20060101);