WO2020100271A1 - 情報処理装置、情報処理方法及び情報処理プログラム - Google Patents

情報処理装置、情報処理方法及び情報処理プログラム Download PDF

Info

Publication number
WO2020100271A1
WO2020100271A1 PCT/JP2018/042387 JP2018042387W WO2020100271A1 WO 2020100271 A1 WO2020100271 A1 WO 2020100271A1 JP 2018042387 W JP2018042387 W JP 2018042387W WO 2020100271 A1 WO2020100271 A1 WO 2020100271A1
Authority
WO
WIPO (PCT)
Prior art keywords
log
application program
storage area
resource usage
information processing
Prior art date
Application number
PCT/JP2018/042387
Other languages
English (en)
French (fr)
Inventor
山本 康平
水口 武尚
昌行 桐村
山田 竜也
裕喜 小中
秀晴 安竹
Original Assignee
三菱電機株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to CN201880099355.7A priority Critical patent/CN112970004A/zh
Priority to JP2020556544A priority patent/JP6899972B2/ja
Priority to DE112018008070.6T priority patent/DE112018008070T5/de
Priority to PCT/JP2018/042387 priority patent/WO2020100271A1/ja
Publication of WO2020100271A1 publication Critical patent/WO2020100271A1/ja
Priority to US17/211,356 priority patent/US20210208945A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/508Monitor

Definitions

  • the present invention relates to an information processing device, an information processing method, and an information processing program.
  • log data is output to the logging device through an interface with the outside of the system.
  • Log data may be written to an auxiliary storage device outside the system.
  • the log data may be written to an auxiliary storage device inside the system. Due to the large scale and high speed of the system, a huge amount of log data may exhaust the capacity of the storage device in a short time.
  • the write throughput to the storage device may not keep up with the log output throughput. For these reasons, it is difficult to store all possible log data.
  • Patent Document 1 there is a technique of configuring a ring buffer on the main storage device and outputting a log to the ring buffer.
  • the log on the ring buffer is written to the auxiliary storage device triggered by an input from the user or a system failure. As a result, only useful log data is effectively accumulated.
  • a ring buffer When a ring buffer is configured in the internal main storage device in an embedded device, the area size of the main storage device that can be used as the ring buffer is limited. Therefore, the log at a certain point of time remains in the ring buffer for a short time. Therefore, it is unlikely that useful log data can be acquired even when the user intervenes at an arbitrary timing. Moreover, it is considered that useful log data can be acquired when the occurrence of a system failure is used as a trigger for saving log data. However, if the trigger cannot be clearly captured from the outside, such as when a performance problem that does not cause an explicit failure occurs, the log cannot be acquired.
  • the main purpose of the present invention is to solve the above problems. Specifically, the present invention mainly aims to enable the log to be saved even when a specific event such as a failure does not occur.
  • the information processing apparatus is An information processing apparatus which has a first storage area and a second storage area different from the first storage area and executes an application program, A log generation unit that generates a log of the application program in the first storage area; A resource monitoring unit for monitoring the current resource usage of the application program, A determination unit that determines whether or not the current resource usage of the application program matches a log saving condition that is a condition for saving the log of the application program; When the determination unit determines that the current resource usage amount of the application program matches the log saving condition, the log of the application program in the first storage area is saved in the second storage area. And a log saving unit.
  • logs can be saved even if a specific event such as a failure does not occur.
  • FIG. 3 is a diagram showing a hardware configuration example of the information processing apparatus according to the first embodiment.
  • FIG. 3 is a diagram showing a functional configuration example of the information processing apparatus according to the first embodiment.
  • FIG. 6 is a diagram showing an example of a rule according to the first embodiment.
  • 3 is a flowchart showing an operation example of the information processing apparatus according to the first embodiment.
  • 5 is a flowchart showing an example of rule matching processing according to the first embodiment.
  • FIG. 6 is a diagram showing an example of a functional configuration of an information processing device according to a second embodiment.
  • FIG. 6 is a flowchart showing an operation example of the information processing apparatus according to the second embodiment. 9 is a flowchart showing an example of rule matching processing and save list generation processing according to the second embodiment.
  • FIG. 6 is a diagram showing an example of a save rule according to the second embodiment.
  • FIG. 6 is a diagram showing an example of a save rule according to the second embodiment.
  • FIG. 6 is a diagram showing an example of a save rule according to the second embodiment.
  • FIG. 6 is a diagram showing an example of a save rule according to the second embodiment.
  • FIG. 1 shows a hardware configuration example of the information processing apparatus 100 according to the first embodiment.
  • the operation performed by 100 corresponds to the information processing method and the information processing program.
  • the information processing device 100 is a computer. As shown in FIG. 1, the information processing apparatus 100 includes, as hardware, a processor 101, a main storage device 102, an auxiliary storage device 103, an I / O device 104, and a NIC (Network Interface Card) 105.
  • the processor 101, main storage device 102, auxiliary storage device 103, I / O device 104, and NIC 105 are connected by a bus 150.
  • the processor 101 controls the information processing apparatus 100 and performs calculations for control.
  • the processor 101 specifically executes a program.
  • the main storage device 102 is a volatile storage device that temporarily stores a program executed by the processor 101 and data handled by the program.
  • the auxiliary storage device 103 is a non-volatile storage device that stores programs and data to be read into the main storage device 102 and data to be written from the main storage device 102.
  • the auxiliary storage device 103 is a storage device fixed to the device, such as a hard disk drive or an eMMC (embedded Multi Media Card).
  • the auxiliary storage device 103 may be a removable storage device connected via an interface, such as a USB (Universal Serial Bus) memory or an SD card (registered trademark).
  • the I / O device 104 is an interface for connecting input / output devices such as a display and a touch panel.
  • the NIC 105 is an interface for the information processing device 100 to communicate with an external system.
  • I / O device 104 and the NIC 105 are examples, and these may be omitted, or devices other than these may be provided in the information processing device 100.
  • FIG. 2 shows a functional configuration example of the information processing apparatus 100.
  • the operating system 106 is operating in the information processing apparatus 100.
  • An application program 107 (hereinafter, simply referred to as application 107) runs on the operating system 106. There are a plurality of applications 107.
  • An area 113 is on the main storage device 102. Reference numeral 113 corresponds to the first storage area.
  • the resource monitoring unit 109 monitors the current resource usage of the application 107. Then, 109 stores the monitoring result as the resource information 114 in the main storage device 102.
  • the state monitoring unit 110 monitors the state of the application 107. Then, 110 stores the monitoring result in the main storage device 102 as the state information 115.
  • the rule matching unit 111 performs matching using the resource information 114 and the state information 115 on the main storage device 102 and the rule 116 on the auxiliary storage device 103. Although details will be described later, the rule 116 defines a log saving condition that is a condition for saving the log of the application 107. 111 determines whether or not the current resource usage amount of the application 107 matches the log saving condition of the rule 116. In addition, 111 corresponds to a determination unit. The process performed by 111 corresponds to the determination process.
  • the log saving unit 112 outputs the contents of the ring buffer 113 to the saving area 117 according to the matching result of the rule matching unit 111. That is, the 112 saves the log of the application 107 of 113 to 117 when it is determined by 111 that the current resource usage amount of the application 107 matches the log save condition.
  • An area 117 is on the auxiliary storage device 103. Reference numeral 117 corresponds to the second storage area.
  • FIG. 2 schematically shows a state in which the operating system 106 and the plurality of applications 107 as well as the programs that realize 108, 109, 110, 111, and 112 are executed by the processor 101.
  • the resource information 114 and the state information 115 are information recorded by the resource monitoring unit 109 and the state monitoring unit 110, respectively, as described above.
  • the rules 116 are used by the rule matching unit 111 as described above, and are defined by the user in advance and stored in the auxiliary storage device 103.
  • a resource is a computer resource handled by the information processing device 100.
  • the resources are various elements such as a processor, a main storage device, an auxiliary storage device, I / O, and a network. Other than these may be treated as resources.
  • the resource usage amount may be the total usage amount in the measurement section or the average usage amount per unit time as long as it is a value unified for each resource. Further, the resource usage amount may be a statistical usage ratio by sampling, or any other value that can be measured and compared.
  • the state is activation, standby, normal operation, etc. of the application 107.
  • the application 107 is an audio reproduction application
  • the audio reproduction application may be activated, on standby, during reproduction, or the like.
  • the state is not limited to these.
  • a state monitoring method a method in which the application 107 notifies the state monitoring unit 110 of the state via an API (Application Programming Interface) can be considered.
  • the state monitoring method may be a method in which the state monitoring unit 110 determines the state from a message output by the application 107. Other methods may be used as long as the state can be uniquely determined.
  • FIG. 3 shows an example of the rule 116.
  • the rule 116 is not limited to the format shown in FIG.
  • states 1, 2, and 3 are defined for the application 1, for example.
  • the state does not have to be defined like the application 2.
  • Rule 116 defines a resource usage threshold for an application or a combination of an application and a state.
  • U represents the upper limit value
  • L represents the lower limit value.
  • U111 is defined for resource 1. That is, when the application 1 is in the state 1 and the resource usage of the resource 1 by the application 1 exceeds U111, the log of the application 1 is saved in 117. Further, in the application 2, an upper limit value of U201 is defined for the resource 1.
  • the log of the application 2 is saved in 117.
  • the threshold value of the resource usage amount for each application or the threshold value of the resource usage amount for each combination of the application and the state, which is shown in the rule 116, corresponds to the log saving condition.
  • the rule 116 does not need to define the resource usage thresholds for all combinations of applications and states.
  • the usage threshold of resource 3 is not defined for the combination of application 1 and state 1.
  • both the upper limit value and the lower limit value may be defined like L132 and U132 of the resource 2 for the combination of the application 1 and the state 3.
  • the threshold value of the resource usage amount is not defined in the state 1, and in the state 2, the resource usage amount of U321, L322 and U322, U323 is defined for each of the resources 1, 2 and 3. Good.
  • FIG. 4 shows an example of the resource information 114.
  • the representation method of the resource information 114 is not limited to that shown in FIG.
  • the resource information 114 indicates the result of monitoring the resource usage amount by the resource monitoring unit 107.
  • the resource information 114 has one value for a combination of application and resource. In FIG. 4, for example, the current resource usage of resource 1 of application 1 is D11, the current resource usage of resource 2 is D12, and the current resource usage of resource 3 is D13. Be done.
  • FIG. 5 shows an example of the state information 115.
  • the representation method of the state information 115 is not limited to that shown in FIG.
  • the state information 115 is composed of a set of an application and a state.
  • application 1 is currently in state 1 and application 3 is currently in state 2. It should be noted that the state does not have to exist like the application 2.
  • the resource monitoring unit 109 After 100 starts operating in step S001, the resource monitoring unit 109 acquires the resource usage amount of each application 107 in step S002. The resource monitoring unit 109 stores the acquired resource usage amount in the main storage device 102 as the resource information 114.
  • the state monitoring unit 110 acquires the state of each application 107 in step S003.
  • the state monitoring unit 110 stores the acquired state in the main storage device 102 as the state information 114.
  • step S004 the rule collating unit 111 collates the resource information 114 and the state information 115 on the main storage device 102 with the rule 116 on the auxiliary storage device 103. Details of the rule matching process in step S004 will be described later. If the log saving condition is satisfied as a result of the matching in step S004, the rule matching unit 111 notifies the log saving unit 112 that the log saving condition is satisfied.
  • step S006 the log saving unit 112 saves the log in the ring buffer 113 on the main storage device 102 to the save area 117 on the auxiliary storage device 103, and ends the processing in FIG. 6 (step S007). If the log saving condition is not satisfied as a result of the matching by the rule matching unit 111, the processing of FIG. 6 ends (step S007).
  • step S004 the details of the rule matching process in step S004 will be described with reference to FIG.
  • step S101 when the rule matching process starts in step S101, the rule matching unit 111 selects one application in step S102.
  • the rule matching unit 111 selects one resource in step S103.
  • step S104 the rule matching unit 111 extracts the currently selected resource usage amount of the currently selected application from the resource information 114.
  • step S105 the rule matching unit 111 uses the state information 115 and the rule 116 to extract the threshold value of the resource usage amount currently selected.
  • the rule matching unit 111 extracts the current state of the currently selected application from the state information 115.
  • the rule matching unit 111 extracts, from the rule 116, the threshold value of the resource usage amount currently selected for the current state of the currently selected application.
  • the rule matching unit 111 compares the resource usage amount acquired in step S104 with the threshold value extracted in step S105, and when the resource usage amount deviates from the threshold value (lower limit or upper limit) (YES in step S106). ), The rule matching unit 111 determines in step S107 that the log saving condition is satisfied. In this case, step S005 of FIG. 6 becomes YES.
  • step S106 determines in step S108 that all resources have been selected in the currently selected application. Check it out. If there is a resource that has not been selected yet (NO in step S108), the rule matching unit 111 selects a resource that has not been selected in step S103, and performs the processing from step S104. On the other hand, if all the resources have been selected for the currently selected application (YES in step S108), it is checked in step S109 whether or not there are any unselected applications.
  • the threshold value lower limit or upper limit
  • step S109 If there is an application that has not been selected yet (NO in step S109), the rule matching unit 111 selects an application that has not been selected in step S102, and performs the processing from step S103. When all resources of all applications have been selected without deviation from the rule, the rule matching unit 111 determines that the log saving condition is not satisfied. In this case, step S005 of FIG. 6 becomes NO.
  • the rule matching unit 111 determines that the log saving condition is satisfied if there is even one resource that has deviated from the threshold value. In this case, all the logs in 113 are saved in the save area 117. On the other hand, the rule matching unit 111 determines that the log saving condition is not satisfied only when there is no resource that has deviated from the threshold value.
  • the rule matching unit 111 selects the application 1 and then the resource 1.
  • the rule matching unit 111 extracts the resource usage amount D11 in FIG. 4 from the currently selected application 1 and the currently selected resource 1.
  • the rule matching unit 111 extracts the current state 1 of the application 1 from FIG.
  • the rule matching unit 111 extracts the upper limit value U111 which is the threshold value in the case of application 1, state 1, and resource 1 from FIG.
  • the rule matching unit 111 compares the resource usage amount D11 with the upper limit value U111. If D11 ⁇ U111, there is no threshold deviation, and if D11> U111, there is a threshold deviation. If there is no deviation from the threshold values for application 1 and resource 1, the rule matching unit 111 subsequently selects application 1 resource 2 and continues matching.
  • the log is saved in the auxiliary storage device when the resource usage amount of the application deviates from the predefined rule. Therefore, according to the present embodiment, the log can be saved even if a specific event such as a failure does not occur. That is, according to the present embodiment, the log can be saved even when a performance problem that has been difficult in the past occurs.
  • Embodiment 2 In the above-described first embodiment, an example in which the ring buffer storing the log is single is described. In this embodiment, an example in which a plurality of ring buffers are prepared will be described. When there are multiple types of logs such as operating system messages, operating system events, and application messages, multiple ring buffers may be prepared. In this case, the ring buffer of the log storage destination changes according to the log type. When a plurality of such ring buffers are prepared, it is necessary to select the ring buffer to be saved.
  • FIG. 8 shows a functional configuration example of the information processing apparatus 100 according to the present embodiment.
  • FIG. 2 in the first embodiment, only one ring buffer 113 exists, but in FIG. 8, a plurality of ring buffers 113 exist.
  • a save list 119 is added to the main storage device 102.
  • the evacuation rule 120 is added to the auxiliary storage device 103.
  • Each of the plurality of ring buffers 113 in FIG. 8 corresponds to the first storage area. Elements other than the above are the same as those shown in FIG.
  • steps S001 to S003 in FIG. 9 is the same as steps S001 to S003 of FIG. 6 in the first embodiment. Therefore, the description is omitted.
  • step S204 the rule matching unit 111 matches the resource usage amount with the rule in the same manner as in step S004 of FIG. 6, and further generates the save list 119.
  • the rule matching unit 111 notifies the log saving unit 112 of the saving list 119.
  • step S205 When the save list 119 is notified, that is, when there is a log to be saved (YES in step S205), the log saving unit 112 auxiliary stores the log of the corresponding ring buffer based on the save list 119 in step S206. The data is saved in the save area 117 on the device 103. On the other hand, if the save list 119 is not notified, that is, if there is no log to be saved (NO in step S205), the operation ends (step S007).
  • the rule matching unit 111 initializes the save list 119 to leave it empty.
  • steps S102 to S106 in FIG. 10 are the same as steps S102 to S106 of FIG. 7 of the first embodiment. Therefore, the description is omitted.
  • the rule matching unit 111 updates the save list 119 by selecting the ring buffer to be saved based on the save rule 120 in step S307. To do.
  • the logs of all the applications 107 in the ring buffer listed in the save list 119 are targets for saving to the save area 117. For example, assume that the logs of the application 1, the application 2, and the application 3 are generated in the ring buffer 1. Even when the application 1 corresponds to the save rule 120 and the ring buffer 1 is selected as the save target, all the logs of the application 1, the application 2, and the application 3 in the ring buffer 1 are saved in the save area 117.
  • FIG. 11 shows an example of a save rule 120 for selecting a ring buffer to save based on an application.
  • the save target ring buffer is selected based on the application selected when the resource usage amount is determined to deviate from the threshold value in step S106. For example, when the resource usage of the application 1 deviates from the threshold value of the rule 116, the rule matching unit 111 selects the ring buffer 1 corresponding to the application 1 as the save target based on the save rule 120 of FIG. .. Then, the rule matching unit 111 adds the ring buffer 1 to the save list 119.
  • FIG. 12 shows an example of the save rule 120 for selecting the save ring buffer based on the combination of the application and the state.
  • the ring buffer to be saved is selected based on the combination of the application and the state selected when the resource usage amount is determined to deviate from the threshold value in step S106. To be done. For example, when the resource usage amount of the application 1 deviates from the threshold value of the rule 116 when the application 1 is in the state 1, the rule matching unit 111 determines the application 1 and the state 1 based on the save rule 120 of FIG. The ring buffer 1 corresponding to the combination is selected as the save target. Then, the rule matching unit 111 adds the ring buffer 1 to the save list 119.
  • FIG. 13 shows an example of a save rule 120 for selecting a save ring buffer based on resources.
  • the ring buffer to be saved is selected based on the resource whose resource usage amount is determined to deviate from the threshold value in step S106. For example, when the resource usage amount of the resource 1 deviates from the threshold value of the rule 116, the rule matching unit 111 selects the ring buffer 1 corresponding to the resource 1 as the save target based on the save rule 120 of FIG. .. Then, the rule matching unit 111 adds the ring buffer 1 to the save list 119.
  • FIG. 14 shows an example of a save rule 120 for selecting a ring buffer to save based on a resource usage threshold value.
  • the save target ring buffer is selected based on the threshold value determined to deviate from the resource usage amount in step S106. For example, when the resource usage amount of the resource 1 deviates from the threshold U111 of the rule 116, the rule matching unit 111 selects the ring buffer 1 corresponding to the threshold U111 as the save target based on the save rule 120 of FIG. To do. Then, the rule matching unit 111 adds the ring buffer 1 to the save list 119.
  • evacuation rule 120 is not limited to the examples of FIGS. 11, 12, 13, and 14.
  • the save rule 120 may be any rule as long as the ring buffer to be saved can be uniquely selected.
  • the rule matching unit 111 repeats steps S101 to S106 and step S307 until processing is completed for all resources and all applications.
  • the processor 101 shown in FIG. 1 is an IC (Integrated Circuit) that performs processing.
  • the processor 101 is a CPU (Central Processing Unit), a DSP (Digital Signal Processor), or the like.
  • the main storage device 102 illustrated in FIG. 1 is a RAM (Random Access Memory).
  • the auxiliary storage device 103 shown in FIG. 1 is a ROM (Read Only Memory), a flash memory, an HDD (Hard Disk Drive), or the like.
  • the processor 101 executes at least a part of the operating system 106 while executing a program that realizes the functions of 108, 109, 110, 111, and 112.
  • the processor 101 executes the operating system 106, task management, memory management, file management, communication control, etc. are performed.
  • at least one of the information, data, signal value, and variable value indicating the processing results of 108, 109, 110, 111, and 112 is stored in the main storage device 102, the auxiliary storage device 103, the register in the processor 101, and the cache memory. Is stored in at least one of the.
  • a portable recording medium such as a magnetic disk, a flexible disk, an optical disk, a compact disk, a Blu-ray (registered trademark) disk, or a DVD. Good.
  • the “section” of 108, 109, 110, 111 and 112 may be read as “circuit” or “process” or “procedure” or “processing”.
  • the information processing device 100 may be realized by a processing circuit.
  • the processing circuit is, for example, a logic IC (Integrated Circuit), a GA (Gate Array), an ASIC (Application Specific Integrated Circuit), or an FPGA (Field-Programmable Gate Array).
  • the superordinate concept of the processor and the processing circuit is referred to as "processing circuit”. That is, each of the processor and the processing circuit is a specific example of “processing circuit”.
  • 100 information processing device 101 processor, 102 main storage device, 103 auxiliary storage device, 104 I / O device, 105 NIC, 106 operating system, 107 application, 108 log generation unit, 109 resource monitoring unit, 110 state monitoring unit, 111 Rule matching unit, 112 log saving unit, 113 ring buffer, 114 resource information, 115 state information, 116 rule, 117 saving area, 119 saving list, 120 saving rule.

Abstract

情報処理装置(100)は、リングバッファ(113)と、退避領域(117)とを有する。ログ生成部(108)は、アプリケーション(107)のログをリングバッファ(113)に生成する。リソース監視部(109)は、アプリケーション(107)の現在のリソース使用量を監視する。ルール照合部(111)は、アプリケーション(107)の現在のリソース使用量が、アプリケーション(107)のログを退避するための条件であるログ退避条件に合致するか否かを判定する。ログ退避部(112)は、ルール照合部(111)により、アプリケーション(107)の現在のリソース使用量がログ退避条件に合致すると判定された場合に、リングバッファ(113)のログを退避領域(117)に退避する。

Description

情報処理装置、情報処理方法及び情報処理プログラム
 本発明は、情報処理装置、情報処理方法及び情報処理プログラムに関する。
 計算機システムでは、その動作上で様々な障害又は性能問題が発生する。このため、動作に関する情報をログデータとして記録し、そのログデータを解析することで障害及び性能問題の解決を図ることが行われている。
 ログデータは、システム外部とのインタフェースを通じてロギング装置に出力される。ログデータは、システム外部の補助記憶装置に書き出されることがある。また、ログデータは、システム内部の補助記憶装置に書き出されることがある。
 システムの大規模化や高速化により、膨大な量のログデータによって記憶装置の容量を短時間で使い切ってしまうことがある。また、記憶装置への書き込みスループットがログの出力スループットに追いつかないこともある。これらの理由から、生じうる全てのログデータを蓄積することが困難であるという問題がある。
 そこで、主記憶装置上にリングバッファを構成し、リングバッファにログを出力する技術がある(特許文献1)。この技術では、利用者による入力又はシステムの障害発生をトリガにしてリングバッファ上のログが補助記憶装置へ書き出される。この結果、有用なログデータのみが効果的に蓄積される。
特開2013-206147号公報
 組み込み機器において内部の主記憶装置にリングバッファを構成するとき、リングバッファとして用いることができる主記憶装置の領域サイズが限られる。このため、ある時点のログがリングバッファに残されている時間は短い。従って、利用者が任意のタイミングで介入することをトリガとしても有用なログデータを取得できる可能性は低い。
 また、システムの障害発生をログデータ退避のトリガをとした場合は有用なログデータが取得できると考えられる。しかし、明示的な障害とならない性能問題発生時など、外部からトリガが明確に捉えられない場合はログを取得することができない。
 本発明は、上記のような課題を解決することを主な目的とする。具体的には、本発明は、障害発生等の具体的なイベントが発生しなくてもログを退避できるようにすることを主な目的とする。
 本発明に係る情報処理装置は、
 第1の記憶領域と、前記第1の記憶領域とは異なる第2の記憶領域とを有し、アプリケーションプログラムを実行する情報処理装置であって、
 前記アプリケーションプログラムのログを前記第1の記憶領域に生成するログ生成部と、
 前記アプリケーションプログラムの現在のリソース使用量を監視するリソース監視部と、
 前記アプリケーションプログラムの現在のリソース使用量が、前記アプリケーションプログラムのログを退避するための条件であるログ退避条件に合致するか否かを判定する判定部と、
 前記判定部により、前記アプリケーションプログラムの現在のリソース使用量が前記ログ退避条件に合致すると判定された場合に、前記第1の記憶領域の前記アプリケーションプログラムのログを前記第2の記憶領域に退避するログ退避部とを有する。
 本発明によれば、障害発生等の具体的なイベントが発生しなくてもログを退避することができる。
実施の形態1に係る情報処理装置のハードウェア構成例を示す図。 実施の形態1に係る情報処理装置の機能構成例を示す図。 実施の形態1に係るルールの例を示す図。 実施の形態1に係るリソース情報の例を示す図。 実施の形態1に係るステート情報の例を示す図。 実施の形態1に係る情報処理装置の動作例を示すフローチャート。 実施の形態1に係るルール照合処理の例を示すフローチャート。 実施の形態2に係る情報処理装置の機能構成例を示す図。 実施の形態2に係る情報処理装置の動作例を示すフローチャート。 実施の形態2に係るルール照合処理及び退避リスト生成処理の例を示すフローチャート。 実施の形態2に係る退避ルールの例を示す図。 実施の形態2に係る退避ルールの例を示す図。 実施の形態2に係る退避ルールの例を示す図。 実施の形態2に係る退避ルールの例を示す図。
 以下、本発明の実施の形態について、図を用いて説明する。以下の実施の形態の説明及び図面において、同一の符号を付したものは、同一の部分又は相当する部分を示す。
 実施の形態1.
***構成の説明***
 図1は、実施の形態1に係る情報処理装置100のハードウェア構成例を示す。
 なお、100により行われる動作は、情報処理方法及び情報処理プログラムに相当する。
 情報処理装置100は、コンピュータである。
 図1に示すように、情報処理装置100は、ハードウェアとして、プロセッサ101、主記憶装置102、補助記憶装置103、I/O装置104、NIC(NetworkInterfaceCard)105を備える。これら、プロセッサ101、主記憶装置102、補助記憶装置103、I/O装置104、NIC105は、バス150で接続される。
 プロセッサ101は、情報処理装置100の制御及び制御のための演算を行う。プロセッサ101は、具体的には、プログラムを実行する。
 主記憶装置102は、プロセッサ101で実行するプログラム及びプログラムが扱うデータを一時的に格納する揮発性の記憶装置である。
 補助記憶装置103は、主記憶装置102に読み出すプログラム、データ及び主記憶装置102から書き込むデータを格納する不揮発性記憶装置である。補助記憶装置103は、例えば、ハードディスクドライブ、eMMC(embedded Multi Media Card)のように機器に固定されている記憶装置ある。また、補助記憶装置103は、USB(Universal Serial Bus)メモリ、SDカード(登録商標)のようにインタフェースを介して接続する取り外し可能な記憶装置でもよい。
 I/O装置104は、ディスプレイ、タッチパネルなどの入出力装置を接続するためのインタフェースである。
 NIC105は、情報処理装置100が外部のシステムと通信するためのインタフェースである。
 なお、I/O装置104及びNIC105は一例であり、これらが無くてもよいし、これら以外の機器が情報処理装置100に備えられていてもよい。
 図2は、情報処理装置100の機能構成例を示す。
 情報処理装置100においてオペレーティングシステム106が動作している。また、オペレーティングシステム106上でアプリケーションプログラム107(以下、単にアプリケーション107という)が動作している。アプリケーション107は複数存在する。
 108は、アプリケーション107のログを113に生成する。108は、オペレーティングシステム106のログを113に生成することもある。
 113は、主記憶装置102上の領域である。113は、第1の記憶領域に相当する。
 リソース監視部109は、アプリケーション107の現在のリソース使用量を監視する。そして、109は、監視結果をリソース情報114として主記憶装置102に格納する。
 ステート監視部110は、アプリケーション107のステートを監視する。そして、110は、監視結果をステート情報115として主記憶装置102に格納する。
 ルール照合部111は、主記憶装置102上のリソース情報114とステート情報115及び補助記憶装置103上のルール116を用いて照合を行う。
 詳細は後述するが、ルール116には、アプリケーション107のログを退避するための条件であるログ退避条件が定義されている。
 111は、アプリケーション107の現在のリソース使用量が、ルール116のログ退避条件に合致するか否かを判定する。
 なお、111は判定部に相当する。また、111により行われる処理は、判定処理に相当する。
 ログ退避部112は、ルール照合部111の照合結果に応じてリングバッファ113の内容を退避領域117に出力する。
 つまり、112は、111により、アプリケーション107の現在のリソース使用量がログ退避条件に合致すると判定された場合に、113のアプリケーション107のログを117に退避する。
 117は、補助記憶装置103上の領域である。117は、第2の記憶領域に相当する。
 108、109、110、111及び112は、プログラムにより実現される。
 108、109、110、111及び112を実現するプログラムは、図1に示す補助記憶装置103で記憶されている。当該プログラムは、補助記憶装置103から主記憶装置102にロードされる。そして、プロセッサ101が当該プログラムを実行して、108、109、110、111及び112の動作を行う。
 図2では、オペレーティングシステム106及び複数のアプリケーション107とともに、108、109、110、111及び112を実現するプログラムがプロセッサ101によって実行されている状態を模式的に表している。
 リソース情報114及びステート情報115は、それぞれ前述の通りリソース監視部109及びステート監視部110によって記録される情報である。
 ルール116は、前述の通りルール照合部111に用いられるものであり、予めユーザが定義して補助記憶装置103に格納しておく。
 リソースとは情報処理装置100で扱う計算機資源である。リソースは、例えばプロセッサ、主記憶装置、補助記憶装置、I/O、ネットワークなどの種々の要素である。これら以外をリソースとして扱ってもよい。
 リソース使用量は、リソースごとに統一された値であれば、計測区間における総使用量であってもよいし、単位時間当たりの平均使用量であってもよい。また、リソース使用量は、サンプリングによる統計的な使用割合であってもよいし、その他計測可能で比較しうる値であればよい。
 ステートとは、アプリケーション107の起動、待機、通常動作などである。例えば、アプリケーション107がオーディオ再生アプリケーションであれば、オーディオ再生アプリケーションの起動、待機、再生中などが考えられる。但し、ステートは、これらに限定されない。
 ステートの監視方法は、API(Application Programming Interface)を介してアプリケーション107がステート監視部110にステートを通知する方式が考えられる。また、ステートの監視方法として、アプリケーション107の出力するメッセージからステート監視部110がステートを決定する方式でもよい。その他ステートが一意に決定できる方式であれば、他の方式でもよい。
 図3は、ルール116の一例を示す。但し、ルール116は、図3に示す形式には限定されない。
 図3において、例えばアプリケーション1に関してはステート1、2、3が定義されている。なお、アプリケーション2のようにステートが定義されていなくてもよい。
 ルール116では、アプリケーション又はアプリケーションとステートとの組み合わせに対してリソース使用量の閾値が定義されている。図3の「U」は上限値を表し、「L」は下限値を表している。
 例えば、アプリケーション1とステート1との組み合わせでは、リソース1に対してU111という上限値が定義されている。つまり、アプリケーション1がステート1である場合に、アプリケーション1によるリソース1のリソース使用量がU111を超えた場合にアプリケーション1のログが117に退避される。また、アプリケーション2では、リソース1に対してU201という上限値が定義されている。つまり、アプリケーション2のステートに関わらず、アプリケーション2によるリソース1のリソース使用量がU201を超えた場合にアプリケーション2のログが117に退避される。
 このような、ルール116に示される、アプリケーションごとのリソース使用量の閾値、または、アプリケーションとステートとの組み合わせごとのリソース使用量の閾値は、ログ退避条件に相当する。
 なお、ルール116では、アプリケーションとステートの全ての組み合わせに対してリソース使用量の閾値を定義する必要はない。例えば、アプリケーション1とステート1の組み合わせに対してリソース3の使用量閾値は定義されていない。また、アプリケーション1とステート3との組み合わせに対するリソース2のL132、U132のように、上限値と下限値の両方を定義してもよい。
 アプリケーション2のようにステートを定義しない場合でも、リソース使用量の閾値だけ定義してもよい。また、アプリケーション3のようにステート1ではリソース使用量の閾値を定義せず、ステート2においてはリソース1、2、3それぞれにU321、L322とU322、U323といったリソース使用量を定義する、などとしてもよい。
 図4はリソース情報114の例を示す。但し、リソース情報114の表現方法は図4に示すものに限定されない。
 リソース情報114は、リソース監視部107によるリソース使用量の監視結果を示す。リソース情報114は、アプリケーションとリソースの組み合わせに対して1つの値を持つ。
 図4では、例えば、アプリケーション1のリソース1の現在のリソース使用量はD11であり、リソース2の現在のリソース使用量はD12であり、リソース3の現在のリソース使用量はD13であることが示される。
 図5はステート情報115の例を示す。但し、ステート情報115の表現方法は図4に示すものに限定されない。
 ステート情報115は、アプリケーションとステートの組で構成される。
 図5では、アプリケーション1は現在ステート1であり、アプリケーション3は現在ステート2であることが示される。なお、アプリケーション2のようにステートがなくてもよい。
***動作の説明***
 実施の形態1に係る情報処理装置100の動作例を図6のフローチャートを用いて説明する。
 なお、情報処理装置100が図6に示す一連の動作を繰り返すことによって効果を得るが、情報処理装置100が一連の動作を終える度に任意の待ち時間が設けてもよい。
 ステップS001において100が動作を開始した後、リソース監視部109は、ステップS002において、各アプリケーション107のリソース使用量を取得する。
 リソース監視部109は、取得したリソース使用量をリソース情報114として主記憶装置102に格納する。
 続いて、ステート監視部110が、ステップS003において、各アプリケーション107のステートを取得する。
 ステート監視部110は、取得したステートをステート情報114として主記憶装置102に格納する。
 ステップS004において、ルール照合部111は主記憶装置102上のリソース情報114とステート情報115を補助記憶装置103上のルール116と照合する。
 ステップS004におけるルール照合処理の詳細は後述する。
 ステップS004の照合の結果、ログ退避条件が成立している場合は、ルール照合部111はログ退避部112にログ退避条件が成立している旨の通知を行う。
 ログ退避部112は、ステップS006において、主記憶装置102上のリングバッファ113にあるログを補助記憶装置103上の退避領域117に退避し、図6の処理を終了する(ステップS007)。
 また、ルール照合部111の照合の結果、ログ退避条件が成立していなければ、図6の処理が終了する(ステップS007)。
 次に、図7を用いて、ステップS004のルール照合処理の詳細を説明する。
 まず、ステップS101でルール照合処理が開始すると、ステップS102において、ルール照合部111はアプリケーションを1つ選択する。
 次に、ルール照合部111は、ステップS103で、リソースを1つ選択する。
 次に、ルール照合部111は、ステップS104で、リソース情報114から、現在選択しているアプリケーションの現在選択しているリソース使用量を抽出する。
 次に、ルール照合部111は、ステップS105で、ステート情報115とルール116を用いて、現在選択しているリソース使用量の閾値を抽出する。
 先ず、ルール照合部111は、ステート情報115から、現在選択しているアプリケーションの現在のステートを抽出する。次に、ルール照合部111は、ルール116から、現在選択しているアプリケーションの現在のステートについての、現在選択しているリソース使用量の閾値を抽出する。
 次に、ルール照合部111は、ステップS104で取得したリソース使用量とステップS105で抽出した閾値とを比較し、リソース使用量が閾値(下限又は上限)を逸脱している場合(ステップS106でYES)に、ルール照合部111は、ステップS107で、ログ退避条件が成立していると判定する。この場合は、図6のステップS005がYESとなる。
 一方、リソース使用量が閾値(下限又は上限)を逸脱していない場合(ステップS106でNO)は、ルール照合部111は、ステップS108で、現在選択しているアプリケーションにおいて全てのリソースを選択済みかどうか調べる。
 まだ選択していないリソースがあれば(ステップS108でNO)、ルール照合部111は、ステップS103において、まだ選択していないリソースを選択して、ステップS104以降の処理を行う。
 一方、現在選択しているアプリケーションに対して全てのリソースを選択し終えている場合(ステップS108でYES)は、ステップS109で、まだ選択していないアプリケーションがないか調べる。
 まだ選択していないアプリケーションがあれば(ステップS109でNO)、ルール照合部111は、ステップS102において、まだ選択していないアプリケーションを選択して、ステップS103以降の処理を行う。
 全てのアプリケーションの全てのリソースがルール逸脱なしで選択済みになった場合は、ルール照合部111は、ログ退避条件が成立していないと判定する。この場合は、図6のステップS005がNOとなる。
 このように、ルール照合部111は、閾値を逸脱したリソースが1つでもあれば、ログ退避条件が成立したと判定する。この場合は、113内の全てのログが退避領域117に退避される。
 一方、ルール照合部111は、閾値を逸脱したリソースが1つも無かった場合のみログ退避条件が不成立と判定する。
 次に、図3、図4及び図5を用いてルール照合処理の一部を具体的に説明する。
 まず、ルール照合部111が、アプリケーション1を選択し、続いてリソース1を選択したとする。ルール照合部111は、現在選択しているアプリケーション1と現在選択しているリソース1から、図4においてリソース使用量D11を抽出する。
 続いて、ルール照合部111は、図5からアプリケーション1の現在のステートであるステート1を抽出する。
 次に、ルール照合部111は、図3からアプリケーション1、ステート1、リソース1の場合の閾値である上限値U111を抽出する。
 そして、ルール照合部111は、リソース使用量D11と上限値U111とを比較する。D11≦U111であれば、閾値の逸脱がなく、D11>U111であれば閾値の逸脱がある。
 アプリケーション1、リソース1について閾値の逸脱がない場合は、ルール照合部111は、続いてアプリケーション1リソース2を選択して照合を続行する。
***実施の形態の効果の説明***
 以上のように、本実施の形態では、アプリケーションのリソース使用量が予め定義したルールを逸脱した際にログを補助記憶装置に退避する。
 このため、本実施の形態によれば、障害発生等の具体的なイベントが発生しなくてもログを退避することができる。つまり、本実施の形態によれば、従来は難しかった性能問題発生時などでもログを退避することができる。
実施の形態2.
 以上の実施の形態1では、ログが格納されているリングバッファが単一の例を説明した。
 本実施の形態では、リングバッファが複数用意されている例を説明する。
 オペレーティングシステムのメッセージ、オペレーティングシステムのイベント、アプリケーションのメッセージなど複数種類のログがあるとき、複数のリングバッファを用意することがある。この場合には、ログの種類に応じてログの格納先のリングバッファが変わる。このような複数のリングバッファが用意されている場合は、退避の対象となるリングバッファを選択する必要がある。
***構成の説明***
 本実施の形態に係る情報処理装置100のハードウェア構成は図1に示す通りである。
 図8は、本実施の形態に係る情報処理装置100の機能構成例を示す。
 実施の形態1における図2では、1つのリングバッファ113しか存在していないが、図8では、複数のリングバッファ113が存在する。また、図8では、主記憶装置102上に退避リスト119が追加されている。更に、図8では、補助記憶装置103上に退避ルール120が追加されている。
 図8の複数のリングバッファ113の各々は、第1の記憶領域に相当する。
 上記以外の要素は、図2に示したものと同じであるため、説明を省略する。
***動作の説明***
 次に、図9を用いて、実施の形態2に係る情報処理装置100の動作例を説明する。
 図9におけるステップS001~ステップS003の動作は、実施の形態1における図6のステップS001~ステップS003と同一である。このため、説明を省略する。
 ルール照合部111は、ステップS204において、図6のステップS004と同様にリソース使用量とルールとを照合し、更に、退避リスト119を生成する。また、ルール照合部111は、ログ退避部112に退避リスト119を通知する。
 ログ退避部112は、退避リスト119が通知された場合、すなわち、退避させるログが存在する場合(ステップS205でYES)は、ステップS206において、退避リスト119に基づき該当するリングバッファのログを補助記憶装置103上の退避領域117に退避する。
 一方、退避リスト119が通知されない場合、すなわち、退避させるログが存在しない場合(ステップS205でNO)は、動作が終了する(ステップS007)。
 続いて、図10を用いて、ステップS204のルール照合処理及び退避リスト生成処理の詳細を説明する。
 まず、ルール照合部111は、照合開始(ステップS101)時において、退避リスト119を初期化して空にしておく。
 次に、図10におけるステップS102~ステップS106の動作は実施の形態1の図7のステップS102~ステップS106と同一である。このため、説明を省略する。
 ステップS106でリソース使用量が閾値を逸脱している場合(ステップS106でYES)は、ルール照合部111は、ステップS307において、退避ルール120に基づき退避するリングバッファを選択して退避リスト119を更新する。
 退避リスト119に記載されているリングバッファ内の全てのアプリケーション107のログが退避領域117への退避の対象となる。例えば、リングバッファ1にアプリケーション1、アプリケーション2及びアプリケーション3のログが生成されていると仮定する。アプリケーション1が退避ルール120に該当してリングバッファ1が退避対象に選択された場合でも、リングバッファ1内のアプリケーション1、アプリケーション2及びアプリケーション3の全てのログが退避領域117へ退避される。
 退避ルール120の例を図11、図12、図13及び図14に示す。
 図11は、退避するリングバッファをアプリケーションに基づいて選択する退避ルール120の例を示す。図11の退避ルール120が用いられる場合は、ステップS106でリソース使用量が閾値を逸脱していると判定された際に選択されているアプリケーションに基づき、退避対象のリングバッファが選択される。
 例えば、アプリケーション1のリソース使用量がルール116の閾値から逸脱している場合は、ルール照合部111は、図11の退避ルール120に基づき、アプリケーション1に対応するリングバッファ1を退避対象として選択する。そして、ルール照合部111は、リングバッファ1を退避リスト119に追加する。
 図12は、退避するリングバッファをアプリケーションとステートの組み合わせに基づいて選択する退避ルール120の例を示す。図12の退避ルール120が用いられる場合は、ステップS106でリソース使用量が閾値を逸脱していると判定された際に選択されているアプリケーションとステートの組み合わせに基づき、退避対象のリングバッファが選択される。
 例えば、アプリケーション1がステート1であるときにアプリケーション1のリソース使用量がルール116の閾値から逸脱している場合は、ルール照合部111は、図12の退避ルール120に基づき、アプリケーション1とステート1の組み合わせに対応するリングバッファ1を退避対象として選択する。そして、ルール照合部111は、リングバッファ1を退避リスト119に追加する。
 図13は、退避するリングバッファをリソースに基づいて選択する退避ルール120の例を示す。図13の退避ルール120が用いられる場合は、ステップS106でリソース使用量が閾値を逸脱していると判定されたリソースに基づき、退避対象のリングバッファが選択される。
 例えば、リソース1のリソース使用量がルール116の閾値から逸脱している場合は、ルール照合部111は、図13の退避ルール120に基づき、リソース1に対応するリングバッファ1を退避対象として選択する。そして、ルール照合部111は、リングバッファ1を退避リスト119に追加する。
 図14は、退避するリングバッファをリソース使用量の閾値に基づいて選択する退避ルール120の例を示す。図14の退避ルール120が用いられる場合は、ステップS106でリソース使用量が逸脱していると判定された閾値をに基づき、退避対象のリングバッファが選択される。
 例えば、リソース1のリソース使用量がルール116の閾値U111から逸脱している場合は、ルール照合部111は、図14の退避ルール120に基づき、閾値U111に対応するリングバッファ1を退避対象として選択する。そして、ルール照合部111は、リングバッファ1を退避リスト119に追加する。
 なお、退避ルール120は、図11、図12、図13及び図14の例に限定されない。退避すべきリングバッファが一意に選択できるルールであれば、退避ルール120はどのようなものでもよい。
 図10のフローチャートに戻り、ステップ307において退避リスト119を更新した後は、ルール照合部111は、全リソースと全アプリケーションに対して処理が完了するまで、ステップS101~ステップS106及びステップS307を繰り返す。
***実施の形態の効果の説明***
 以上のように、本実施の形態では、アプリケーションのリソース使用量が予め定義したルールを逸脱した際に、逸脱したルールや状況に関連するログを補助記憶装置に退避することで、従来は難しかった性能問題発生時などに特に有用なログを優先して退避することができる。
 以上、本発明の実施の形態について説明したが、これら2つの実施の形態を組み合わせて実施しても構わない。
 あるいは、これら2つの実施の形態のうち、1つを部分的に実施しても構わない。
 あるいは、これら2つの実施の形態を部分的に組み合わせて実施しても構わない。
 なお、本発明は、これらの実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。
***ハードウェア構成の説明***
 最後に、情報処理装置100のハードウェア構成の補足説明を行う。
 図1に示すプロセッサ101は、プロセッシングを行うIC(Integrated Circuit)である。
 プロセッサ101は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)等である。
 図1に示す主記憶装置102は、RAM(Random Access Memory)である。
 図1に示す補助記憶装置103は、ROM(Read Only Memory)、フラッシュメモリ、HDD(Hard Disk Drive)等である。
 プロセッサ101はオペレーティングシステム106の少なくとも一部を実行しながら、108、109、110、111及び112の機能を実現するプログラムを実行する。
 プロセッサ101がオペレーティングシステム106を実行することで、タスク管理、メモリ管理、ファイル管理、通信制御等が行われる。
 また、108、109、110、111及び112の処理の結果を示す情報、データ、信号値及び変数値の少なくともいずれかが、主記憶装置102、補助記憶装置103、プロセッサ101内のレジスタ及びキャッシュメモリの少なくともいずれかに記憶される。
 また、108、109、110、111及び112の機能を実現するプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD等の可搬記録媒体に格納されていてもよい。
 また、108、109、110、111及び112の「部」を、「回路」又は「工程」又は「手順」又は「処理」に読み替えてもよい。
 また、情報処理装置100は、処理回路により実現されてもよい。処理回路は、例えば、ロジックIC(Integrated Circuit)、GA(Gate Array)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)である。
 なお、本明細書では、プロセッサと処理回路との上位概念を、「プロセッシングサーキットリー」という。
 つまり、プロセッサと処理回路とは、それぞれ「プロセッシングサーキットリー」の具体例である。
 100 情報処理装置、101 プロセッサ、102 主記憶装置、103 補助記憶装置、104 I/O装置、105 NIC、106 オペレーティングシステム、107 アプリケーション、108 ログ生成部、109 リソース監視部、110 ステート監視部、111 ルール照合部、112 ログ退避部、113 リングバッファ、114 リソース情報、115 ステート情報、116 ルール、117 退避領域、119 退避リスト、120 退避ルール。

Claims (11)

  1.  第1の記憶領域と、前記第1の記憶領域とは異なる第2の記憶領域とを有し、アプリケーションプログラムを実行する情報処理装置であって、
     前記アプリケーションプログラムのログを前記第1の記憶領域に生成するログ生成部と、
     前記アプリケーションプログラムの現在のリソース使用量を監視するリソース監視部と、
     前記アプリケーションプログラムの現在のリソース使用量が、前記アプリケーションプログラムのログを退避するための条件であるログ退避条件に合致するか否かを判定する判定部と、
     前記判定部により、前記アプリケーションプログラムの現在のリソース使用量が前記ログ退避条件に合致すると判定された場合に、前記第1の記憶領域の前記アプリケーションプログラムのログを前記第2の記憶領域に退避するログ退避部とを有する情報処理装置。
  2.  前記リソース監視部は、
     前記アプリケーションプログラムが利用する複数のリソースの各々の現在のリソース使用量を監視し、
     前記判定部は、
     前記複数のリソースのリソースごとに、現在のリソース使用量がリソースごとに設けられているログ退避条件に合致するか否かを判定し、
     前記ログ退避部は、
     前記判定部により、前記複数のリソースのうちのいずれかのリソースの現在のリソース使用量が当該リソースのログ退避条件に合致すると判定された場合に、前記第1の記憶領域の前記アプリケーションプログラムのログを前記第2の記憶領域に退避する請求項1に記載の情報処理装置。
  3.  前記情報処理装置は、更に、
     前記アプリケーションプログラムのステートを監視するステート監視部を有し、
     前記判定部は、
     前記アプリケーションプログラムの現在のリソース使用量が、前記アプリケーションプログラムの複数のステートのステートごとに設けられているログ退避条件のうちの前記アプリケーションプログラムの現在のステートのログ退避条件に合致するか否かを判定し、
     前記ログ退避部は、
     前記判定部により、前記アプリケーションプログラムの現在のリソース使用量が前記アプリケーションプログラムの現在のステートのログ退避条件に合致すると判定された場合に、前記第1の記憶領域の前記アプリケーションプログラムのログを前記第2の記憶領域に退避する請求項1に記載の情報処理装置。
  4.  前記リソース監視部は、
     前記アプリケーションプログラムが利用する複数のリソースの各々の現在のリソース使用量を監視し、
     前記判定部は、
     前記複数のリソースのリソースごとに、前記アプリケーションプログラムの現在のステートでの現在のリソース使用量が、前記アプリケーションプログラムのステートごと及びリソースごとに設けられているログ退避条件に合致するか否かを判定し、
     前記ログ退避部は、
     前記判定部により、前記複数のリソースのうちのいずれかのリソースの現在のリソース使用量が前記アプリケーションプログラムの現在のステートでの当該リソースのログ退避条件に合致すると判定された場合に、前記第1の記憶領域の前記アプリケーションプログラムのログを前記第2の記憶領域に退避する請求項3に記載の情報処理装置。
  5.  前記情報処理装置では、複数のアプリケーションプログラムが実行され、
     前記ログ生成部は、
     前記複数のアプリケーションプログラムのログを前記第1の記憶領域に生成し、
     前記リソース監視部は、
     前記複数のアプリケーションプログラムの現在のリソース使用量を監視し、
     前記判定部は、
     アプリケーションプログラムごとに、現在のリソース使用量が、アプリケーションプログラムごとのログ退避条件に合致するか否かを判定し、
     前記ログ退避部は、
     前記判定部により、前記複数のアプリケーションプログラムのうちのいずれかのアプリケーションプログラムの現在のリソース使用量が当該アプリケーションプログラムのログ退避条件に合致すると判定された場合に、前記第1の記憶領域の前記複数のアプリケーションプログラムのログを前記第2の記憶領域に退避する請求項1に記載の情報処理装置。
  6.  前記情報処理装置は、
     複数の第1の記憶領域を有し、
     前記ログ生成部は、
     前記アプリケーションプログラムのログを前記複数の第1の記憶領域のうちの2つ以上の第1の記憶領域に生成し、
     前記ログ退避部は、
     前記判定部により、前記アプリケーションプログラムの現在のリソース使用量が前記ログ退避条件に合致すると判定された場合に、前記2つ以上の第1の記憶領域の中からログの退避対象となる第1の記憶領域を選択し、選択した第1の記憶領域のログを前記第2の記憶領域に退避する請求項1に記載の情報処理装置。
  7.  前記情報処理装置は、
     複数の第1の記憶領域を有し、
     前記情報処理装置では、複数のアプリケーションプログラムが実行され、
     前記ログ生成部は、
     アプリケーションプログラムごとに、1つ以上の第1の記憶領域にログを生成し、
     前記リソース監視部は、
     前記複数のアプリケーションプログラムの現在のリソース使用量を監視し、
     前記判定部は、
     アプリケーションプログラムごとに、現在のリソース使用量が、アプリケーションプログラムごとのログ退避条件に合致するか否かを判定し、
     前記ログ退避部は、
     前記判定部により、前記複数のアプリケーションプログラムのうちのいずれかのアプリケーションプログラムの現在のリソース使用量が当該アプリケーションプログラムのログ退避条件に合致すると判定された場合に、当該アプリケーションプログラムの1つ以上の第1の記憶領域の中からログの退避対象となる第1の記憶領域を選択し、選択した第1の記憶領域のログを前記第2の記憶領域に退避する請求項1に記載の情報処理装置。
  8.  前記情報処理装置は、
     複数の第1の記憶領域を有し、
     前記情報処理装置では、複数のアプリケーションプログラムが実行され、
     前記情報処理装置は、更に、
     前記複数のアプリケーションプログラムのステートを監視するステート監視部を有し、
     前記ログ生成部は、
     アプリケーションプログラムごとに、1つ以上の第1の記憶領域にログを生成し、
     前記リソース監視部は、
     前記複数のアプリケーションプログラムの現在のリソース使用量を監視し、
     前記判定部は、
     アプリケーションプログラムごとに、現在のリソース使用量が、アプリケーションプログラムごとに複数のステートのステートごとに設けられているログ退避条件のうちの現在のステートのログ退避条件に合致するか否かを判定し、
     前記ログ退避部は、
     前記判定部により、前記複数のアプリケーションプログラムのうちのいずれかのアプリケーションプログラムの現在のリソース使用量が当該アプリケーションプログラムの現在のステートのログ退避条件に合致すると判定された場合に、当該アプリケーションプログラムの1つ以上の第1の記憶領域の中からログの退避対象となる第1の記憶領域を選択し、選択した第1の記憶領域のログを前記第2の記憶領域に退避する請求項1に記載の情報処理装置。
  9.  前記情報処理装置は、
     複数の第1の記憶領域を有し、
     前記情報処理装置では、複数のアプリケーションプログラムが実行され、
     前記ログ生成部は、
     アプリケーションプログラムごとに、1つ以上の第1の記憶領域にログを生成し、
     前記リソース監視部は、
     前記複数のアプリケーションプログラムが利用する複数のリソースの各々のアプリケーションプログラムごとの現在のリソース使用量を監視し、
     前記判定部は、
     アプリケーションプログラムごと及びリソースごとに、現在のリソース使用量がアプリケーションプログラムごと及びリソースごとに設けられているログ退避条件に合致するか否かを判定し、
     前記ログ退避部は、
     前記判定部により、いずれかのアプリケーションプログラムのいずれかのリソースの現在のリソース使用量がログ退避条件に合致すると判定された場合に、前記複数の第1の記憶領域の中からログの退避対象となる第1の記憶領域を選択し、選択した第1の記憶領域のログを前記第2の記憶領域に退避する請求項1に記載の情報処理装置。
  10.  第1の記憶領域と、前記第1の記憶領域とは異なる第2の記憶領域とを有し、アプリケーションプログラムを実行するコンピュータが行う情報処理方法であって、
     前記コンピュータが、前記アプリケーションプログラムのログを前記第1の記憶領域に生成し、
     前記コンピュータが、前記アプリケーションプログラムの現在のリソース使用量を監視し、
     前記コンピュータが、前記アプリケーションプログラムの現在のリソース使用量が、前記アプリケーションプログラムのログを退避するための条件であるログ退避条件に合致するか否かを判定し、
     前記アプリケーションプログラムの現在のリソース使用量が前記ログ退避条件に合致すると判定された場合に、前記コンピュータが、前記第1の記憶領域の前記アプリケーションプログラムのログを前記第2の記憶領域に退避する情報処理方法。
  11.  第1の記憶領域と、前記第1の記憶領域とは異なる第2の記憶領域とを有し、アプリケーションプログラムを実行するコンピュータに、
     前記アプリケーションプログラムのログを前記第1の記憶領域に生成するログ生成処理と、
     前記アプリケーションプログラムの現在のリソース使用量を監視するリソース監視処理と、
     前記アプリケーションプログラムの現在のリソース使用量が、前記アプリケーションプログラムのログを退避するための条件であるログ退避条件に合致するか否かを判定する判定処理と、
     前記判定処理により、前記アプリケーションプログラムの現在のリソース使用量が前記ログ退避条件に合致すると判定された場合に、前記第1の記憶領域の前記アプリケーションプログラムのログを前記第2の記憶領域に退避するログ退避処理とを実行させる情報処理プログラム。
PCT/JP2018/042387 2018-11-16 2018-11-16 情報処理装置、情報処理方法及び情報処理プログラム WO2020100271A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201880099355.7A CN112970004A (zh) 2018-11-16 2018-11-16 信息处理装置、信息处理方法及信息处理程序
JP2020556544A JP6899972B2 (ja) 2018-11-16 2018-11-16 情報処理装置、情報処理方法及び情報処理プログラム
DE112018008070.6T DE112018008070T5 (de) 2018-11-16 2018-11-16 Informationsverarbeitungsvorrichtung, informationsverarbeitungsverfahrenund informationsverarbeitungsprogramm
PCT/JP2018/042387 WO2020100271A1 (ja) 2018-11-16 2018-11-16 情報処理装置、情報処理方法及び情報処理プログラム
US17/211,356 US20210208945A1 (en) 2018-11-16 2021-03-24 Information processing apparatus, information processing method, and computer readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/042387 WO2020100271A1 (ja) 2018-11-16 2018-11-16 情報処理装置、情報処理方法及び情報処理プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/211,356 Continuation US20210208945A1 (en) 2018-11-16 2021-03-24 Information processing apparatus, information processing method, and computer readable medium

Publications (1)

Publication Number Publication Date
WO2020100271A1 true WO2020100271A1 (ja) 2020-05-22

Family

ID=70730949

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/042387 WO2020100271A1 (ja) 2018-11-16 2018-11-16 情報処理装置、情報処理方法及び情報処理プログラム

Country Status (5)

Country Link
US (1) US20210208945A1 (ja)
JP (1) JP6899972B2 (ja)
CN (1) CN112970004A (ja)
DE (1) DE112018008070T5 (ja)
WO (1) WO2020100271A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115629944A (zh) * 2022-12-21 2023-01-20 杭州谐云科技有限公司 一种容器日志的处理方法和日志处理系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11709750B2 (en) * 2020-05-12 2023-07-25 International Business Machines Corporation Dynamically mapping software infrastructure utilization

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014123218A (ja) * 2012-12-20 2014-07-03 Fujitsu Ltd プログラム、データ管理方法および情報処理装置
WO2016084262A1 (ja) * 2014-11-28 2016-06-02 富士通株式会社 情報処理装置、方法、およびプログラム
JP2017034574A (ja) * 2015-08-05 2017-02-09 アラクサラネットワークス株式会社 通信装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3944133B2 (ja) * 2003-07-25 2007-07-11 キヤノン株式会社 情報処理装置及び情報処理方法及びプログラム並びにコンピュータ読み取り可能な記憶媒体
JP5119794B2 (ja) * 2007-08-08 2013-01-16 ソニー株式会社 情報処理装置および方法、並びに、情報処理システム
JP5066544B2 (ja) * 2009-03-31 2012-11-07 株式会社富士通ソーシアルサイエンスラボラトリ インシデント監視装置,方法,プログラム
JP5642464B2 (ja) * 2010-09-09 2014-12-17 富士通株式会社 情報処理装置
JP2013206147A (ja) 2012-03-28 2013-10-07 Yokohama National Univ ロギング装置、ロギング方法及びプログラム
US10129275B2 (en) * 2013-05-16 2018-11-13 Nippon Telegraph And Telephone Corporation Information processing system and information processing method
JP6719890B2 (ja) * 2015-11-20 2020-07-08 キヤノン株式会社 情報処理装置、ファイル監視システム、情報処理装置の制御方法及びプログラム
JP2018097695A (ja) * 2016-12-14 2018-06-21 富士通株式会社 監視装置、監視方法及び監視プログラム
US10949316B2 (en) * 2018-06-03 2021-03-16 Apple Inc. Detection and analysis of energy consumption of software applications

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014123218A (ja) * 2012-12-20 2014-07-03 Fujitsu Ltd プログラム、データ管理方法および情報処理装置
WO2016084262A1 (ja) * 2014-11-28 2016-06-02 富士通株式会社 情報処理装置、方法、およびプログラム
JP2017034574A (ja) * 2015-08-05 2017-02-09 アラクサラネットワークス株式会社 通信装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ABE, RYOTA ET AL.: "Timing control for asynchronous backup by rules in autonomous disks", TECHNICAL REPORT OF IEICE, vol. 100, no. 334, 5 October 2000 (2000-10-05), pages 41 - 48 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115629944A (zh) * 2022-12-21 2023-01-20 杭州谐云科技有限公司 一种容器日志的处理方法和日志处理系统
CN115629944B (zh) * 2022-12-21 2023-04-07 杭州谐云科技有限公司 一种容器日志的处理方法和日志处理系统

Also Published As

Publication number Publication date
JP6899972B2 (ja) 2021-07-07
CN112970004A (zh) 2021-06-15
DE112018008070T5 (de) 2021-08-12
US20210208945A1 (en) 2021-07-08
JPWO2020100271A1 (ja) 2021-03-11

Similar Documents

Publication Publication Date Title
JP4303528B2 (ja) カウンタをインプリメントするシステムおよび方法
US8055633B2 (en) Method, system and computer program product for duplicate detection
KR101734883B1 (ko) 버퍼 오버플로우 상태 관리
US20130246561A1 (en) High density hosting for messaging service
US9886667B2 (en) Performance of predicted actions
US8990143B2 (en) Application-provided context for potential action prediction
JP5842768B2 (ja) 重複除去装置、重複除去方法及び重複除去プログラム
JP2006351004A (ja) 携帯端末機のメモリ管理方法
US11210003B2 (en) Method, device and computer program product for restoring data based on replacing child node identifiers with parent node identifier
JP2019079492A (ja) コンボリューションのポピュラリティに基づいて異常なイベントを検出するシステムおよび方法
US9473418B2 (en) Resource over-subscription
WO2020100271A1 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
CN110096363A (zh) 一种网络事件与进程的关联方法及装置
US8245085B2 (en) Dump output control apparatus and dump output control method
JP2008009854A (ja) ログ制御装置、画像形成装置、ログ制御方法及びプログラム
TW201738753A (zh) 管理硬體協助資料壓縮之記憶體片段儲存
US8010834B2 (en) Failure information monitoring apparatus and failure information monitoring method
CN110780820A (zh) 一种连续存储空间确定方法、装置及电子设备和存储介质
JP6746086B2 (ja) 端末装置、端末装置による動作情報の報告制御方法、及び、端末装置による動作情報の報告制御プログラム
US20140006599A1 (en) Probabilities of potential actions based on system observations
CN106598473B (zh) 消息持久化方法及装置
US20240095353A1 (en) System and method for detecting cyclic activity in an event flow for dynamic application analysis
US11431349B2 (en) Method, electronic device and computer program product for processing data
EP4339816A1 (en) System and method for detecting cyclic activity in an event flow for dynamic application analysis
CN112817536B (zh) 一种数据包的捕获方法及相关装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18940197

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020556544

Country of ref document: JP

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 18940197

Country of ref document: EP

Kind code of ref document: A1