This application is based upon and claims the benefit of priority from Japanese Patent Application No. 2017-056492, filed on Mar. 22, 2017; the entire contents of which are incorporated herein by reference.
Embodiments described herein relate generally to an information processing system, an information processing method, and a computer program product.
Conventionally, time series information such as event information concerning the operation of software or hardware has been used. A user can, by referring to the time series information visualized in a display form such as a graph, comprehend more easily a state that the time series information indicates.
In the conventional technology, however, when using tabulation information obtained from the time series information, increasing the processing speed has been difficult.
According to an embodiment, an information processing system includes one or more memories and one or more processors coupled to the memories. The one or more processors are configured to receive a start time and an end time, and use time series information including data for which time information is associated with numerical information and index information including data for which a time range of the time information is associated with tabulation information tabulated for each time range of the time information, refer to the tabulation information associated with time information between the time range including the start time and the time range including the end time, and extract the tabulation information corresponding to a period between the start time and the end time.
With reference to the accompanying drawings, the following describes in detail an exemplary embodiment of an information processing system, an information processing method, and a program product.
Example of Functional Configuration
The information processing system 1 in the embodiment will be described with an example of a situation of generating display information, for which time information is mapped on an X axis and information generated from numerical information is mapped on a Y axis, by using time series information for which the time information is associated with the numerical information. The information processing system 1 receives any desired range of time information from the reception unit 103 and generates the display information by using the numerical information corresponding to the time information.
Conventionally, in such an information processing system, there has been a problem in that, although the range on the X axis (time information) is easily obtainable from the information input from the reception unit 103, the maximum value and the minimum value on the Y axis (numerical information) corresponding to the range of the time information are not found unless all pieces of the numerical information corresponding to the range of the time information are checked. In the case where it is possible to freely perform zoom-in or zoom-out on the X axis, that is, the range of the time information, by a user input, it is not possible to display a chart corresponding to the zoom operation fast, because it needs to search all of the relevant ranges in the time series information and determine the maximum value and the minimum value on the Y axis, each time the range on the X axis is changed.
Consequently, in the information processing system 1 in the embodiment, the generator 102 generates, from the time series information, index information including the maximum value and the minimum value of the numerical information in a certain time range, and generates the display information fast by using the index information.
The acquisition unit 101 acquires the time series information. The time series information includes data for which the time information is associated with the numerical information.
Example of Time Series Information
The acquisition unit 101 inputs the time series information into the generator 102 and the extraction unit 104. The acquisition method of the time series information may be in any desired manner. The time series information may be acquired from the own device or may be received from other devices.
The generator 102 generates, upon receiving the time series information from the acquisition unit 101, the index information from the relevant time series information. The index information is the information that is generated based on the time series information.
For example, it is possible to generate the index information by aggregating the time series information. The index information includes information on tabulation category and information on tabulation result. In aggregating the time series information, tabulation information is generated, by dividing the information on tabulation category into certain sections, and by using values of the tabulation result corresponding to each section. For example, in the case of the time series information in
Example of Index Information
The tabulation information may further hold, not only the minimum value and the maximum value, other tabulation results, for example, a value obtained by performing statistic calculation on the numerical information. The value obtained by statistic calculation is a statistical value such as a representative value, for example. The representative value is an average value, a median value, a mode value, and others of the foregoing, for example. The tabulation information may be the number of pieces of the numerical information, the sum of the numerical information, and others, for example.
The data format of the index information is not limited to the above-described table format, and may be in any desired format. The index information may be stored by the records of a relational database (RDB), for example.
Although it is preferable that the generation of index information by the generator 102 be performed only once on the time series information that the acquisition unit 101 acquired, it is conceivable that there is a case that, when the units of aggregation of the tabulation category are changed, the generation is performed again on the same time series information, for example.
The above-described range of the units of aggregation does not need to he at equal intervals. For example, when the tabulation category is represented on a logarithmic axis, it is preferable that the units of aggregation be at a certain interval on the logarithmic axis. The range of the units of aggregation is not limited to these and may be at any desired intervals. As for the range of the units of aggregation, the size of the time range may be changed, depending on the amount of log data indicative of the time series information, for example. The time range of the time zone for which the amount of log data is large may be made shorter than the time range of the time zone for which the amount of log data is small, for example. Accordingly, it is also possible to adjust the amount of time series information, on which tabulation processing is performed for each time range, to be in a certain range, for example.
Referring back to
The reception unit 103 inputs, upon receiving a start time and an end time in response to the input operation of the user and the like, the start time and the end time into the extraction unit 104. The reception unit 103 may further receive the identification information on the numerical information.
The extraction unit 104 receives the time series information from the acquisition unit 101, receives the index information from the generator 102, and receives the start time and the end time from the reception unit 103. The extraction unit 104 then, by using the index information, extracts the tabulation information (the maximum value and the minimum value) on the numerical information corresponding to the time range between the start time and the end time, from the tabulation information tabulated between the time range that includes the start time and the time range that includes the end time.
Furthermore, when the identification information on the numerical information has been received by the reception unit 103, the extraction unit 104 extracts, by using the index information, the tabulation information (the maximum value and the minimum value) on the numerical information identified by the identification information, from the tabulation information tabulated between the time range that includes the start time and the time range that includes the end time.
In the example in
The processing of the extraction unit 104 is specifically described with an example of the case where the start time=10, the end time=150, and the identification information=A were received from the reception unit 103. The extraction unit 104 refers to the index information in the time range including the time range (10-150) received from the reception unit 103 and extracts the minimum value and the maximum value of the numerical information A. First, the extraction unit 104 refers to the index information, and extracts the minimum value=2 and the maximum value=16 of the numerical information A that has been tabulated in the time range (0-99) including the start time=10. Next, the extraction unit 104 refers to the index information, and extracts the minimum value=3 and the maximum value=18 of the numerical information A that has been tabulated in the time range (100-199) including the end time=150. The extraction unit 104 compares the values obtained in the foregoing, and obtains the minimum value=2 and the maximum value=18 as the tabulation information on the numerical information A.
The minimum value=2 extracted from the index information by the above-described information processing method is equivalent to the minimum value of the numerical information A in the time range of 0-199. Because the time range of 0-199 includes but is wider than the time range (10-150) received by the reception unit 103, there is a possibility that the minimum value=2 is smaller than the minimum value of the numerical information A in the time range (10-150) received by the reception unit 103. In the same manner, there is a possibility that the maximum value=18 extracted from the index information by the above-described information processing method is greater than the maximum value of the numerical information A in the time range received by the reception unit 103. However, it can be considered that, in the case that high processing speed is more desired than high accuracy of the range of the value of the numerical information A, there is no problem unless the range is narrower than the range of accurate values. The information processing method in the embodiment can obtain a noticeable effect in the increase in the processing speed of extracting approximate tabulated values of the numerical information included in the designated time range, when the amount of data of the time series information is enormous, for example.
The units of aggregation in the index information are not limited to 100 each. The units of aggregation may be 50 each, for example. When the units of aggregation are 50 each, and the start time=10, the end time=150, and the identification information=A are received by the reception unit 103, the extraction unit 104 refers to the minimum values and the maximum values of the numerical information A tabulated in the time range of 0-49, 50-99, 100-149, and 150-199.
Furthermore, when the number of data included in the time series information is equal to or less than a threshold, the extraction unit 104 may directly extract, from the time series information, the tabulation information (the minimum value and the maximum value, for example) on the numerical information. That is, when the number of data of the time series information is equal to or less than the threshold, because it is possible to expect that the processing time for directly referring to the time series information is small, a method that prioritizes the accuracy of the value of the tabulation information can be considered.
The extraction unit 104 inputs the tabulation information thus extracted into the display controller 105. The extraction unit 104 further inputs the partial time series information included between the start time and the end time into the display controller 105.
The display controller 105 performs display control of the display information based on the tabulation information and the partial time series information received from the extraction unit 104. The display controller 105 outputs the display information to a graphical user interface (GUI) system that is connected to the information processing system 1. The display controller 105 may output the display information that the partial time series information is plotted on a graph having an X axis for which the range was determined based on the time range input from the reception unit 103 and having a Y axis for which the range was determined based on the tabulation information (the maximum value and the minimum value of the numerical information A) received from the extraction unit 104.
The display information may be generated by aggregating the partial time series information. For example, when the number of data is greater than the resolution of a display in the GUI system or greater than the number of pixels of a display window, by aggregating the partial time series information and reducing the number of data to be displayed, it is possible to shorten the time it takes for displaying or to prevent the display image from being excessively fine. In
Example of Displaying Time Series Information
The display controller 105 first performs calculation concerning the time information. That is, the display controller 105 calculates the ranges for which the range of the time information from the start time to the end time is divided into four. As the start time=10 and the end time=150, the range is divided into 35 each and into four ranges of 10-44, 45-79, 80-114, and 115-150.
The display controller 105 then performs calculation concerning the numerical information A. That is, the display controller 105 calculates the ranges for which the range of the minimum value 2 and the maximum value 18 that were input from the extraction unit 104 divided into four. For example, as the ranges of the numerical information A, four ranges of 2-5, 6-9, 10-13, and 14-18 are set.
The display controller 105 calculates, for each combination of the foregoing calculated ranges of the time information and the numerical information A, the number of data present in the time series information and outputs the display information illustrated in
While an example of the display information indicative of all of the combinations of the ranges concerning the time information and the numerical information A is illustrated in
In the present GUI system, when it is possible to freely perform zoom-in or zoom-out on the X axis, that is, the range of time information, by the user input, it is possible, as for the X axis, to calculate the range easily from the information that was input. As for the Y axis also, it is possible for the extraction unit 104 to extract, based on the index information, the maximum value and the minimum value relevant to the range of the time information fast. When the function of extracting, based on the index information, the maximum value and the minimum value on the Y axis not available, it is not possible to display a chart corresponding to the zoom operation fast, because it needs to search all of the relevant ranges in the time series information and determine the maximum value and the minimum value on the Y axis (that is, it takes time for the processing of the extracting unit 104), each time the range on the X axis is changed. This effect is more noticeable as the number of relevant data in the time series information is larger.
Next, the information processing method in the embodiment will be described.
Example of Information Processing Method
First, an overall flow illustrating the information processing method in the embodiment will be described.
Overall Flow
Then, the generator 102 generates the index information (see
The reception unit 103 then receives the time range including the start time and the end time, and the identification information on the numerical information (Step S103).
Then, the extraction unit 104 extracts, by using the index information, the range information (the minimum value and the maximum value) on the numerical information identified by the identification information received by the processing at Step S103 (Step S104). The detail of the extraction method of range information will be described later with reference to
The display controller 105 then, based on the time series information and on the range information extracted by the processing at Step S104, outputs the display information to the GUI system and others (Step S105).
Next, the detail of the generation method of index information will be described. It is specifically described with an example of a case where the index information in
Generation Method of Index Information
The internal table in
The tabulation information (the minimum value and the maximum value) on the numerical information B identified by identification information B can be obtained in the same manner as that in the case of the numerical information A. Thus, in the following description, for simplicity, it will be described with an example a case when the tabulation information on the numerical information A is obtained.
First, the generator 102 moves the pointer to the head (positional information=0) of the time series information (Step S201). The generator 102 then reads out a record that the pointer points (Step S202).
Then, generator 102 determines whether the time information included in the record read out by the processing at Step S202 is below a next index boundary value (Step S203). The index boundary value indicates the boundary of the range in the units of aggregation. In the example in
If the time information is below the next index boundary value (Yes at Step S203), the generator 102 updates the internal table in
The processing at Step S206 will be described specifically with an example of the case of the first to fourth records in
The first record in
The second record in
The third record in
The fourth record in
If the time information is equal to or greater than the next index boundary value (No at Step S203), the generator 102 adds a time interval (100) to the index boundary value, adds the time interval (100) to the time information, changes the positional information to the current pointer position, and generates a record in which the values of the numerical information A indicated by the current pointer position in the time series information are registered into the minimum value and the maximum value (Step S204). The record generated by the processing at Step S204 is the fifth record in the example in
The fifth record in
Then, the generator 102 extracts one previous record of the latest record from the internal table, and writes the relevant record into the index information (Step S205). The records written to the index information by the processing at Step S205 are the fourth record (pointer position=3) and the eighth record (pointer position=7), in the example in
Then, the generator 102 moves the pointer indicative of the record of the time series information to the next record (Step S207). The generator 102 then determines whether the pointer that was moved by the processing at Step S207 is valid (Step S208). If the pointer is valid (Yes at Step S208), the processing is returned to Step S202. If the pointer is not valid (No at Step S208), the processing is ended.
In
Next, the detail the extraction method of range information on the numerical information in the embodiment will be described.
Extraction Method of Range Information
Then, by advancing the pointer of the index information, the extraction unit 104 moves on to the data indicative of the next time range (Step S304). The extraction unit 104 then determines whether the start time point of the time range included in the data exceeds the end time received by the processing at Step S301 (Step S305).
If it exceeds the end time (Yes at Step S305), the processing is ended.
If it does not exceed the end time (No at Step S305), the extraction unit 104 performs the comparison and updating of the minimum value and the maximum value (Step S306). Specifically, when the minimum value included in the referring data is smaller than the currently held minimum value, the extraction unit 104 updates the minimum value of the range information. When the maximum value included in the referring data is greater than the currently held maximum value, the extraction unit 104 updates the maximum value of the range information. After Step S306, the processing is returned to Step S304.
Lastly, an example of a hardware configuration of the information processing system in the embodiment will be described.
Example of Hardware Configuration
The control device 301 executes a computer program that is read out from the auxiliary storage device 303 to the main storage device 302. The control device 301 is one or more processors such as a CPU, for example. The main storage device 302 is a memory such ac a read only memory (ROM) and a random access memory (RAM). The auxiliary storage device 303 is a memory card, a hard disk drive (HDD), and others.
The display device 304 displays information. The display device 304 is a liquid crystal display, for example. The input device 305 receives the input of information. The input device 305 is a keyboard, a mouse, and others, for example. The display device 304 and the input device 305 may be a liquid crystal touch panel or the like that assumes both the display function and the input function. The communication device 306 performs communication with other devices.
The program executed in the information processing system 1 in the embodiment is recorded in a computer-readable recording medium such as a CD-ROM, a memory card, a CD-R, and a digital versatile disc (DVD) in a file of an installable or executable format and provided as a computer program product.
Furthermore, the program executed in the information processing system 1 in the embodiment may be stored in a computer connected to a network such as the Internet, and be provided by downloading via the network. The program that the information processing system 1 in the embodiment executes may be provided, without downloading, via a network such as the Internet.
The program executed in the information processing system 1 in the embodiment may be provided by embedding in a ROM or the like in advance.
The program executed in the information processing system 1 in the embodiment is in a modular configuration including, out of the functional configuration of the information processing system 1 in the embodiment, the functions that can be implemented by the program.
The functions that are implemented by the program are loaded on to the main storage device 302, by reading out and executing the program from a storage medium such as the auxiliary storage device 303 by the control device 301. That is, the functions implemented by the program are generated on the main storage device 302.
A part of the functions of the information processing system 1 in the embodiment may be implemented by the hardware such as an integrated circuit (IC). The IC is a processor that executes dedicated processing, for example.
When various functions are implemented by using a plurality of processors, each processor may implement one out of the various functions or may implement two or more out of the various functions.
The operation mode of the information processing system 1 in the embodiment may be in any desired mode. The information processing system 1 in the embodiment may be made to operate as a cloud-computing system on a network, for example. By separating the information processing system 1 into a display-data generation system 200 and a display system 300 as illustrated in
As in the foregoing, according to the information processing system 1 in the embodiment, the reception unit 103 receives the start time and the end time. The extraction unit 104 extracts the tabulation information on the numerical information, from the tabulation information tabulated between the time range that includes the start time and the time range that includes the end time. The extraction unit 104 uses the time series information including the data for which the time information is associated with the numerical information and the index information including the data for which the time range of the time information is associated with the tabulation information tabulated for each time range of the time information, refers to the tabulation information associated with the time information between the time range including the start time and the time range including the end time, and extracts the tabulation information corresponding to a period between the start time and the end time.
Thus, according to the information processing system 1 in the embodiment, it is possible to further increase the processing speed when using the tabulation information obtained from the time series information.
While certain embodiments have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the inventions. Indeed, the novel embodiments described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions and changes in the form of the embodiments described herein may be made without departing from the spirit of the inventions. The accompanying claims and their equivalents are intended to cover such forms or modifications as would fall within the scope and spirit of the inventions.
Number | Date | Country | Kind |
---|---|---|---|
2017-056492 | Mar 2017 | JP | national |