WO2017163896A1 - ログ収集装置、ログ生成装置、およびログ収集方法 - Google Patents

ログ収集装置、ログ生成装置、およびログ収集方法 Download PDF

Info

Publication number
WO2017163896A1
WO2017163896A1 PCT/JP2017/009411 JP2017009411W WO2017163896A1 WO 2017163896 A1 WO2017163896 A1 WO 2017163896A1 JP 2017009411 W JP2017009411 W JP 2017009411W WO 2017163896 A1 WO2017163896 A1 WO 2017163896A1
Authority
WO
WIPO (PCT)
Prior art keywords
log
dictionary
compression
text
compression dictionary
Prior art date
Application number
PCT/JP2017/009411
Other languages
English (en)
French (fr)
Inventor
尾崎 実
Original Assignee
パナソニックIpマネジメント株式会社
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 パナソニックIpマネジメント株式会社 filed Critical パナソニックIpマネジメント株式会社
Priority to US16/085,410 priority Critical patent/US10469101B2/en
Priority to EP17769941.0A priority patent/EP3435236B1/en
Publication of WO2017163896A1 publication Critical patent/WO2017163896A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • H03M7/3088Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing the use of a dictionary, e.g. LZ78
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • G06F11/3082Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting the data filtering being achieved by aggregating or compressing the monitored data
    • 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
    • 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

Definitions

  • the present disclosure relates to a log collection device that receives / transmits a text log, a log generation device, and a log collection method.
  • a device that generates a log message indicating the occurrence of a predetermined event and transmits the generated log message to another device (hereinafter referred to as a “log generation device”) is used in various fields.
  • a monitoring camera that notifies a central monitoring center server when a suspicious person is detected is an example of such a log generation device.
  • a text format is adopted as the data format of the log message.
  • Syslog describing a log message in ASCII is an example of such a log message.
  • log collection device since a log message in text format (hereinafter referred to as “text log”) has a relatively large data size, communication resources between the log generation device and a device that receives the log message (hereinafter referred to as “log collection device”). Consumption is a problem.
  • one log collection device collects log messages from a large number of log generation devices via a common communication line, when the communication bandwidth between the log generation device and the log collection device is narrow, or transmission of log messages If the amount is large, the performance of the entire system may be degraded. In addition, in order to avoid such performance degradation, the number of log generation devices that can be managed by one log collection device is limited.
  • the log generation device performs lexicographic compression that compresses the log data from a single text log data (hereinafter referred to as “log data”), converts the data into log data with a compressed data size, and the log collection device To send to.
  • log data a single text log data
  • LZW lexicographic compression
  • the log collection device decompresses the log data based on the compressed log data alone, and restores the original log data. Thereby, the above-mentioned problem of consumption of communication resources can be reduced.
  • This disclosure aims at low-load transmission of a text log while suppressing an increase in processing load of the log generation device.
  • the log collection device includes a log reception unit that receives a text log from a log generation device, a dictionary generation unit that generates a compression dictionary for performing text compression based on the received text log, and the log A dictionary transmission unit that instructs the generation device to transmit the generated compression dictionary and to perform compression processing using the compression dictionary for the text log transmitted after transmission of the compression dictionary; A decompression processing unit that performs decompression processing on the text log received after transmission of the compression dictionary using the compression dictionary.
  • a log generation device includes a log generation unit that generates a text log, a log transmission unit that transmits the generated text log to the log collection device, and a compression dictionary for performing text compression from the log collection device.
  • a dictionary receiving unit for receiving, and a compression processing unit configured to perform compression processing using the received compression dictionary on the text log transmitted after receiving the compression dictionary.
  • the log collection method of the present disclosure includes a step of receiving a text log from a log generation device, a step of generating a compression dictionary for performing text compression based on the received text log, and the log generation device Transmitting the generated compression dictionary and instructing the text log transmitted after transmission of the compression dictionary to perform compression processing using the compression dictionary; and after transmitting the compression dictionary Performing a decompression process on the received text log using the compression dictionary.
  • the text log can be transmitted with a low load while suppressing an increase in the processing load of the log generation device.
  • FIG. 1 is a system configuration diagram showing an example of a configuration of a log collection system according to the present embodiment.
  • FIG. 2 is a schematic diagram showing an outline of processing for log data in the present embodiment.
  • FIG. 3 is a block diagram showing an example of the configuration of the log generation device according to the present embodiment.
  • FIG. 4 is a block diagram showing an example of the configuration of the log collection server according to the present embodiment.
  • FIG. 5 is a diagram showing an example of the contents of the common dictionary in the present embodiment.
  • FIG. 6 is a diagram showing an example of the contents of the device dictionary in the present embodiment.
  • FIG. 7 is a schematic diagram illustrating an example of a dictionary sharing state according to the present embodiment.
  • FIG. 8 is a diagram showing an example of the contents of the dictionary sharing information in the present embodiment.
  • FIG. 9 is a flowchart illustrating an example of the operation of the log generation device according to the present embodiment.
  • FIG. 10 is a flowchart showing an example of the operation of the log collection
  • FIG. 1 is a system configuration diagram showing an example of the configuration of a log collection system.
  • the log collection system 100 is communicably connected to each of the first to Nth log generation apparatuses 2001 to 200N and the first to Nth log generation apparatuses 2001 to 200N via the communication network 300.
  • a log collection server (log collection device) 400 Since the first to Nth log generation apparatuses 2001 to 200N have the same configuration, the following description will be appropriately made collectively as “log generation apparatus 200”.
  • the log generation device 200 generates a text log and transmits the generated text log data (log data) to the log collection server 400.
  • the log generation device 200 is, for example, a monitoring camera with an infrared sensor that is installed at various locations in a building.
  • the communication network 300 is a communication line connected to the first to Nth log generation apparatuses 2001 to 200N and the log collection server 400.
  • the communication network 300 is, for example, a LAN (Local Area Network) laid in the above-described building.
  • the log collection server 400 receives the log data sent from the log generation device 200, and collects text logs from the first to Nth log generation devices 2001 to 200N by receiving the log data.
  • the log collection server 400 is, for example, an information processing apparatus installed in the above-described building management center.
  • the log collection system 100 reduces the transmission load of the communication network 300 by compressing the data size of the log data in the log generation device 200. However, the log collection system 100 does not perform dictionary compression in the log generation device 200, but generates a compression dictionary based on the log data received by the log collection server 400, and stores the generated compression dictionary in the log generation device 200. Let it be used.
  • FIG. 2 is a schematic diagram showing an outline of processing for log data in the log collection system 100.
  • the log collection server 400 generates and holds the compression dictionary 500 based on log data (not shown) received in the past from the log generation device 200 (S1010). Then, the log collection server 400 transmits the generated compression dictionary 500 to the log generation device 200 for sharing (S1020).
  • the log generation device 200 holds the shared compression dictionary 500 '(S1030), and performs text compression on the log data 610 using the compression dictionary 500' (S1040). Then, the log generation device 200 transmits the log data 620 generated by the text compression process to the log collection server 400 (S1050).
  • the log collection server 400 performs decompression processing on the log data 620 ′ received from the log generation device 200 using the stored compression dictionary 500 (S 1060). Then, the log collection server 400 acquires the log data 610 ′ generated by the decompression process as the original log data 610.
  • Generation methods can be employed. Note that if the most significant bit is 1, the log collection server 400 adopts the variable-length index number as the converted character string so that the 1-byte 256-type index number is further expanded by 1 byte. May be.
  • Such a log collection server 400 can transmit log data with a compressed data size while reducing the processing load of the log generation device 200.
  • generates the compression dictionary 500 will concentrate on the log collection server 400, the log collection server 400 has the processing capability which can endure the concentration of this process.
  • FIG. 3 is a block diagram illustrating an example of the configuration of the log generation device 200.
  • the log generation device 200 includes a log generation unit 210, a compression processing unit 220, a log transmission unit 230, a dictionary reception unit 240, and a device side dictionary storage unit 250.
  • the log generation unit 210 generates a text log and outputs log data to the compression processing unit 220.
  • the log generation unit 210 includes, for example, a video camera, an image processing unit, and an infrared sensor (all not shown), and generates various events such as the appearance of a suspicious person based on image analysis on a captured video and a sensor signal. Detect and generate log data indicating the occurrence of such an event.
  • the compression processing unit 220 performs compression processing using the compression dictionary stored in the device-side dictionary storage unit 250 described later on the log data output from the log generation unit 210, and the compressed data obtained by such processing is compressed.
  • the log data is output to the log transmission unit 230.
  • the log generation device 200 stores the compressed dictionary received from the log collection server 400 in the device-side dictionary storage unit 250 as described later. Therefore, the compression processing unit 220 performs compression processing using the compression dictionary on log data transmitted after receiving the compression dictionary.
  • the compression processing unit 220 outputs the log data output from the log generation unit 210 to the log transmission unit 230 as it is. Further, the compression processing unit 220 also outputs the log data portion that does not exist in the compression dictionary stored in the device side dictionary storage unit 250 to the log transmission unit 230 as it is.
  • the log transmission unit 230 transmits the log data output from the compression processing unit 220 to the log collection device with the identification information of the log generation device 200 added.
  • log data includes uncompressed log data and compressed log data.
  • the dictionary receiving unit 240 receives a compression dictionary for performing compression processing by text compression from the log collection device 400. Then, the dictionary receiving unit 240 outputs the received compression dictionary to the device side dictionary storage unit 250.
  • the dictionary receiving unit 240 may wait for and receive the compressed dictionary sent autonomously from the log collection server 400, or may compress the log collection server 400 by requesting transmission of the compression dictionary. You may receive a dictionary. In particular, in the former case, it is desirable that the dictionary receiving unit 240 sends a response indicating that the compressed dictionary has been received to the log collection server 400.
  • the device-side dictionary storage unit 250 stores and holds the compression dictionary output from the dictionary reception unit 240. Such a compression dictionary is used by the compression processing unit 220 as described above. In addition, when a new compression dictionary of the same type (common dictionary / device dictionary) as an already stored compression dictionary is output from the dictionary reception unit 240, the device-side dictionary storage unit 250 uses the new compression dictionary. Update the corresponding existing compression dictionary.
  • the log generation device 200 includes, for example, a CPU (Central Processing Unit), a storage medium such as a ROM (Read Only Memory) storing a control program, a working memory such as a RAM (Random Access Memory), and the like. It has a communication circuit. In this case, the function of each unit described above is realized by the CPU executing the control program.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • the log generation device 200 can compress log data to be transmitted using the compression dictionary acquired from the log collection server 400 without creating a compression dictionary.
  • FIG. 4 is a block diagram illustrating an example of the configuration of the log collection server 400.
  • the log collection server 400 includes a log reception unit 410, an expansion processing unit 420, a log storage unit 430, a dictionary generation unit 440, a dictionary storage unit 450, and a dictionary transmission unit 460.
  • the log receiving unit 410 receives log data from each of the first to Nth log generation devices 2001 to 200N, and outputs the received log data to the decompression processing unit 420.
  • the log receiving unit 410 may wait and receive log data sent autonomously from each log generation device 200, or request each log generation device 200 to transmit log data.
  • the log data may be received by.
  • the decompression processing unit 420 performs decompression processing using the compression dictionary stored in the dictionary storage unit 450 described later on the log data output from the log reception unit 410, and decompressed by the processing ( The restored log data is output to the log storage unit 430 with the identification information of the transmission source attached.
  • the log collection server 400 stores the compression dictionary generated by the dictionary generation unit 440 in the dictionary storage unit 450 and transmits the compression dictionary having the same content to the log generation unit 210 by the dictionary transmission unit 460. To do. Therefore, the decompression processing unit 420 performs decompression processing on the log data received from the log generation device 200 by using the same compression dictionary that the log generation device 200 used to compress the log data.
  • the decompression processing unit 420 When there is no compression dictionary in the dictionary storage unit 450, the decompression processing unit 420 outputs the log data output from the log reception unit 410 to the log storage unit 430 as it is. Further, the decompression processing unit 420 also outputs the log data part that does not exist in the compression dictionary stored in the dictionary storage unit 450 to the log storage unit 430 as it is.
  • the log storage unit 430 stores and holds the log data output from the decompression processing unit 420 with transmission source identification information attached thereto. As described above, the log data is received from each of the first to Nth log generation apparatuses 2001 to 200N. Therefore, the log storage unit 430 accumulates log data collected from the first to Nth log generation apparatuses 2001 to 200N.
  • the log data is obtained by restoring the log data before compression generated by each log generation device 200.
  • the log data stored in the log storage unit 430 is used for statistical analysis or the like in a data analysis unit (not shown) of the log collection server 400, for example.
  • the dictionary generation unit 440 generates a compression dictionary for performing text compression based on the log data stored in the log storage unit 430. Then, dictionary generation unit 440 outputs the generated compression dictionary to dictionary storage unit 450.
  • the dictionary generation unit 440 includes a compression dictionary (hereinafter referred to as “common dictionary”) based on the log data of the first to Nth log generation devices 2001 to 200N, and the log generation device 200 for each log generation device 200.
  • a compression dictionary (hereinafter referred to as “device dictionary”) based on the transmitted log data is generated.
  • the dictionary generation unit 440 gives the identification information of the log generation device 200 that generated the original log data to each device dictionary.
  • the dictionary generation unit 440 appropriately updates the contents of the compression dictionary stored in the dictionary storage unit 450 based on the log data stored in the log storage unit 430.
  • the compression dictionary generation method can be arbitrarily selected from various methods.
  • the lexicographic compression in which the pattern included in the data is encoded and the data is compressed, there are two methods for finding the pattern, the slide dictionary method and the dynamic dictionary method, either of which may be adopted. .
  • the dictionary storage unit 450 stores and holds the compression dictionary output from the dictionary generation unit 440. Such a compression dictionary is used by the decompression processing unit 420 as described above. Further, the dictionary storage unit 450 notifies the dictionary transmission unit 460 of this every time a new compression dictionary is stored and every time the stored compression dictionary is updated.
  • the dictionary storage unit 450 has a capacity sufficient to store one device dictionary and N device dictionaries corresponding to the first to Nth log generation devices 2001 to 200N.
  • the dictionary transmission unit 460 transmits the compression dictionary stored in the dictionary storage unit 450 to the log generation device 200 and performs compression processing using the compression dictionary for the text log transmitted after the compression dictionary is transmitted To do. In addition, every time the compression dictionary is updated, the dictionary transmission unit 460 transmits the updated compression dictionary (or information indicating the update content) to the corresponding log generation device 200, and stores the updated compression dictionary in the compression dictionary before the update. Instructs to use the compressed dictionary after replacement.
  • the log collection server 400 includes, for example, a CPU, a storage medium such as a ROM storing a control program, a working memory such as a RAM, and a communication circuit.
  • a CPU central processing unit
  • a storage medium such as a ROM storing a control program
  • a working memory such as a RAM
  • a communication circuit In this case, the function of each unit described above is realized by the CPU executing the control program.
  • the log collection server 400 generates a compression dictionary based on the log data received from each log generation device 200, and causes each log generation device 200 to perform compression processing using the compression dictionary. be able to.
  • FIG. 5 is a diagram showing an example of the contents of the common dictionary.
  • the common dictionary 510 uses, for example, a combination of a dictionary name 511 and a version 512 as identification information, and describes a character string 514 and a frequency 515 for each number 513.
  • the version 512 is information indicating an updated version of the common dictionary 510.
  • a character string 514 is a character string of log data to be compressed, and a frequency 515 is an appearance frequency of the character string.
  • the number 513 is an index number (for example, text described after “0xff”) when the character string 514 is converted.
  • a character string 514 “rtkit-daemon: [# debug] Sucessfully” is described in association with the number 513 “1”. This indicates that when the text “rtkit-daemon: [# debug] Sucessfully” exists in the log data, the text is compressed to 2 bytes of 0xff and 0x01.
  • FIG. 6 is a diagram showing an example of the contents of the device dictionary.
  • the device dictionary 520 describes a character string 525 and a frequency 526 for each number 524 using, for example, a combination of a dictionary name 521, a device number 522, and a version 523 as identification information.
  • the device number 522 is information indicating the transmission source of the log data that is the basis for generating the device dictionary 520, and is, for example, identification information of the log generation device 200.
  • the version 523 is information indicating an updated version of the device dictionary 520.
  • a character string 525 is a character string of log data to be compressed, and a frequency 526 is an appearance frequency of the character string.
  • the number 524 is an index number (for example, text described following “0xff”) when the character string 525 is converted.
  • a character string 525 “PC-NSX6000” is described in association with the number 524 “1”. This indicates that when the text “PC-NSX6000” exists in the log data, the text is compressed to 2 bytes of 0xff and 0x01.
  • the dictionary generation unit 440 preferably limits the maximum size (MaxSizeD) of the generated device dictionary in consideration of the memory size of each log generation device 200 (in the device-side dictionary storage unit 250).
  • MaxSizeD maximum size of the generated device dictionary in consideration of the memory size of each log generation device 200 (in the device-side dictionary storage unit 250).
  • 5 and 6 show an example in which the same number is associated with different texts. However, numbers associated with different texts (compressed text) may be different numbers or other numbers. It is desirable that the information be distinguished by additional information.
  • the dictionary generation unit 440 generates a common dictionary that is commonly used by the first to Nth log generation apparatuses 2001 to 200N and an apparatus dictionary that is used individually for each log generation apparatus 200.
  • the device dictionary there are many character strings unique to each device, such as the name (host name) of the log generation device 200, or a series (type, version) that is different in each of the first to Nth log generation devices 2001 to 200N. Effective when devices are mixed.
  • the tendency of character strings frequently used in log data may differ for each log generation device 200. Further, even if the log collection system 100 is a compression dictionary generated from the same log data group, the sharing timing may be different for each log generation device 200 due to the power-on status of the log generation device 200 or the like. .
  • FIG. 7 is a schematic diagram showing an example of a dictionary sharing state.
  • the log collection server 400 generates a version 1 common dictionary 510V2 after generating a version 1 common dictionary 510V1, and then generates a version 2 common dictionary 510V2.
  • the log collection server 400 generates the version 1 first device dictionary 5201V1 after generating the version 1 first device dictionary 5201V1.
  • the log collection server 400 after generating the version 1 second device dictionary 5202V1, the log collection server 400 generates the version 2 second device dictionary 5202V2 obtained by updating the dictionary.
  • version 2 common dictionary 510V2 is transmitted to the second log generation device 2002
  • version 1 common dictionary 510V1 of the old version is transmitted to the first log generation device 2001.
  • the version 2 first device dictionary 5201V2 has been generated, but has not yet been transmitted to the first log generation device 2001.
  • the second version device dictionary 5202V2 of version 2 is transmitted to the second log generation device 2002.
  • the log collection server 400 uses not only the latest updated dictionary but also the dictionaries before or after the update (for example, the version 1 common dictionary 510V1 and the version 1 first dictionary). 1 device dictionary 5201V1).
  • the log collection server 400 deletes a dictionary before update (for example, the second device dictionary 5201V2 of version 1) that is no longer necessary. Similarly, the log collection server 400 deletes the version M-1 common dictionary when the transmission of the version M common dictionary to all of the first to Nth log generation devices 2001 to 200N is completed, for example. Delete unnecessary common dictionaries.
  • the compression dictionary used by the log collection server 400 for decompression processing needs to have the same content as the compression dictionary used for compression processing for log data to be decompressed.
  • the dictionary transmission unit 460 transmits a compression dictionary for each log generation device 200 and also shares a dictionary indicating which compression dictionary is transmitted to any of the first to Nth log generation devices 2001 to 200N. Information is generated, stored in the dictionary storage unit 450, and managed. The dictionary transmission unit 460 distinguishes the type of the compression dictionary, the target log generation device 200, and the update version, and records the transmission history of the compression dictionary in the dictionary sharing information.
  • FIG. 8 is a diagram showing an example of the contents of the dictionary sharing information.
  • the dictionary sharing information 530 describes a common dictionary (identification information) 533 and device dictionary (identification information) 534 for each set of the device name 531 and the device number 532.
  • the common dictionary 533 and the device dictionary 534 indicate the newest of the common dictionary and the device dictionary transmitted to the log generation device 200 indicated by the device number 532.
  • the device name 531 is not always necessary.
  • a common dictionary 533 called “common dictionary Ver.1” and a device dictionary 534 called “first device dictionary Ver.1” are described in association with the device number 532 “1”. This indicates that the latest common dictionary and device dictionary 534 transmitted to the first log generation device 200 are the version 1 common dictionary and the version 1 first device dictionary.
  • the decompression processing unit 420 refers to such dictionary sharing information 530, and for each log generation device 200, for which log data transmitted from the log generation device 200, which compression dictionary and version (before update) Decide whether to use (after / update). As a result, the decompression processing unit 420 can perform decompression processing on the log data using the same compression dictionary used in the compression processing of the received log data, and more reliably the original data Log data can be restored.
  • FIG. 9 is a flowchart illustrating an example of the operation of the log generation device 200.
  • step S2010 the dictionary receiving unit 240 determines whether or not the compression dictionary (common dictionary 510 / device dictionary 520, see FIGS. 5 and 6) has been received from the log collection server 400.
  • the compression dictionary common dictionary 510 / device dictionary 520, see FIGS. 5 and 6
  • the dictionary receiving unit 240 If the dictionary receiving unit 240 receives the compression dictionary (S2010: YES), the dictionary receiving unit 240 advances the process to step S2020. Further, when the dictionary receiving unit 240 has not received the compression dictionary (S2010: NO), the dictionary receiving unit 240 advances the process to step S2030 described later.
  • step S2020 the device-side dictionary storage unit 250 stores the received compression dictionary.
  • the device-side dictionary storage unit 250 updates an existing compression dictionary of the same type (old version compression dictionary) with the received compression dictionary.
  • step S2030 the log generation unit 210 determines whether the generation timing of log data has arrived.
  • This timing is at least one of a periodic timing such as every 5 seconds and a timing when a predetermined event such as detection of a suspicious person occurs.
  • step S2040 When the log data generation timing has arrived (S2030: YES), the log generation unit 210 advances the process to step S2040. If the log data generation timing has not arrived (S2030: NO), the log generation unit 210 advances the process to step S2050 described later.
  • step S2040 the log generation unit 210 generates log data, and sets the log data in a temporary buffer prepared in the compression processing unit 220 (outputs to the compression processing unit 220).
  • step S2050 the compression processing unit 220 determines whether or not the log data transmission timing has come.
  • Such timing is, for example, at least one of timing when new log data is generated, periodic timing such as every 5 minutes, and timing when log collection server 400 requests transmission of log data. .
  • step S2060 When the log data transmission timing has arrived (S2050: YES), the compression processing unit 220 advances the process to step S2060. In addition, when the log data transmission timing has not arrived (S2050: NO), the compression processing unit 220 advances the processing to step S2120 described later.
  • step S2060 the compression processing unit 220 stores, from the front, unprocessed data (text) in the log data set in the temporary buffer that has not yet been processed in subsequent steps S2070 to S2090.
  • a search is performed using a compression dictionary stored in the unit 250.
  • step S2070 the compression processing unit 220 determines whether or not the data portion (text) to be searched exists in any compression dictionary.
  • the compression processing unit 220 advances the process to step S2080. If the search target exists in any one of the compression dictionaries (S2070: YES), the compression processing unit 220 advances the process to step S2090 described later.
  • step S2080 the compression processing unit 220 sets the data portion to be searched as it is in the communication buffer prepared in the log transmission unit 230 (outputs to the log transmission unit 230).
  • step S2090 the compression processing unit 220 performs a compression process on the data portion to be searched based on the compression dictionary, and the obtained data (compressed data) is stored in the communication buffer of the log transmission unit 230. Set (output to log transmission unit 230).
  • log data set in the temporary buffer is erased from the temporary buffer by the processing of steps S2070 to S2090.
  • step S2100 the compression processing unit 220 determines whether or not unprocessed data exists in the temporary buffer.
  • the compression processing unit 220 When there is unprocessed data (S2100: YES), the compression processing unit 220 returns the process to step S2060. In addition, when there is no unprocessed data (S2100: NO), the compression processing unit 220 advances the process to step S2110.
  • step S2110 the compression processing unit 220 advances the process to step S2110 every predetermined time or every time the amount of data set in the communication buffer reaches a predetermined value, and then returns the process to step S2060. You may do it.
  • step S2110 the log transmission unit 230 transmits the data set in the communication buffer to the log collection server 400 as log data.
  • step S2120 the dictionary receiving unit 240 determines whether the end of the process is instructed by a user operation or the like.
  • the dictionary receiving unit 240 If the dictionary receiving unit 240 is not instructed to end the process (S2120: NO), the dictionary receiving unit 240 returns the process to step S2010. Moreover, when the dictionary receiving unit 240 is instructed to end the process (S2120: YES), the dictionary receiving unit 240 ends the series of processes.
  • the log generation device 200 can sequentially acquire the compression dictionary from the log collection server 400, compress the log data using the acquired compression dictionary, and transmit the compressed data to the log collection server 400.
  • FIG. 10 is a flowchart showing an example of the operation of the log collection server 400.
  • step S3010 the log receiving unit 410 determines whether log data has been received from any of the log generation devices 200. In addition, reception of such log data may be performed passively as described above, or may be performed actively. In the latter case, the log receiving unit 410 requests the log generation device 200 to transmit log data at a periodic timing such as every 5 minutes.
  • log receiving unit 410 When the log receiving unit 410 receives log data (S3010: YES), the log receiving unit 410 advances the process to step S3020. If log data is not received (S3010: NO), log receiving unit 410 advances the process to step S3040, which will be described later.
  • step S3020 the decompression processing unit 420 stores the compression dictionary (and its version) shared with the log generation device 200 that is the transmission source of the received log data, and the dictionary sharing information 530 stored in the dictionary storage unit 450. (See FIG. 8).
  • the log data transmission source can be specified from the identification information given to the log data.
  • step S3030 the decompression processing unit 420 refers to the specified shared compression dictionary, performs decompression processing on the compressed log data, and uses the data obtained by the decompression processing as original log data as a log storage unit.
  • Store (record) in 430 As described above, the log data is recorded for each log generation device 200.
  • step S3040 the dictionary generation unit 440 determines whether any compression dictionary generation / update timing has arrived.
  • Such timing is, for example, the cumulative total amount of log data accumulated in the log storage unit 430 or the timing when the total amount of log data accumulated since the compression dictionary was last generated reaches a predetermined value. And at least one of periodic timings such as every day.
  • step S3040 If the generation / update timing of the compression dictionary has arrived (S3040: YES), the dictionary generation unit 440 advances the process to step S3050. If the generation / update timing of the compression dictionary has not arrived (S3040: NO), the dictionary generation unit 440 advances the process to step S3060 described later.
  • the dictionary generation unit 440 generates or updates (upgrades) the compression dictionary based on the log data recorded in the log storage unit 430.
  • the range of log data used by the dictionary generation unit 440 for generating or updating the compression dictionary may be the entire range from the first data to the latest data, or a part thereof.
  • the dictionary generation unit 440 generates or updates a compression dictionary based on log data acquired in the most recent week.
  • the dictionary generation unit 440 determines whether or not the compression dictionary generation / update timing has arrived, and generates or updates the compression dictionary for each log generation device 200. It is desirable to do.
  • step S3060 the dictionary transmission unit 460 determines whether or not the transmission timing of the compression dictionary has arrived.
  • Such timing is, for example, timing when a new compression dictionary is generated or updated.
  • dictionary transmission unit 460 advances the process to step S3070. Further, if the transmission timing of the compression dictionary has not arrived (S3060: NO), dictionary transmission unit 460 advances the process to step S3080 described later.
  • the dictionary transmission unit 460 transmits a compression dictionary to be transmitted, for example, a newly generated or updated compression dictionary, to the corresponding log generation device 200, and the dictionary stored in the dictionary storage unit 450.
  • the sharing information 530 (see FIG. 8) is updated.
  • the corresponding log generation device 200 is, for example, a transmission source of log data used to generate a compression dictionary to be transmitted.
  • the common dictionary 510 the first to Nth log generation devices 2001 to In the case of 200N and the device dictionary 520, any one of the log generation devices 200 is used.
  • step S3080 the log receiving unit 410 determines whether or not an instruction to end the process is given by a user operation or the like.
  • step S3080: NO If the log receiving unit 410 is not instructed to end the process (S3080: NO), the process returns to step S3010. In addition, when instructed to end the process (S3080: YES), the log receiving unit 410 ends the series of processes.
  • the log collection server 400 sequentially acquires log data from each of the first to Nth log generation devices 2001 to 200N, and generates a compression dictionary based on the acquired log data. Can be shared to realize transmission data compression.
  • the log collection server 400 includes the log receiving unit 410 that receives the text log from the log generation device 200 and the compression for performing the text compression based on the received text log.
  • a dictionary generation unit 440 that generates a dictionary.
  • the log collection server 400 transmits the generated compression dictionary to the log generation device 200, and performs compression processing using the compression dictionary on the text log transmitted after the compression dictionary is transmitted.
  • a decompression processing unit 420 that performs decompression processing on the text log received after transmission of the compression dictionary using the compression dictionary.
  • the log collection server 400 has an analysis function, a learning type text dictionary generation function, and a dictionary update function for the text log from each log generation device 200, and automatically generates an efficient compression dictionary suitable for the system. .
  • the log collection server 400 distributes the generated compression dictionary to each log generation device 200, so that each log generation device 200 can compress the text log to be transmitted using the same compression dictionary.
  • the log collection server 400 enables low-load text log transmission and realizes effective text log collection while suppressing an increase in the processing load of the log generation device 200. Can do.
  • the log generation device 200 is not limited to the monitoring camera, and may be other various devices that generate a text log.
  • the contents, format, and generation method of the compression dictionary are not limited to the above-described examples, and various techniques can be used as long as the original text log can be decompressed and efficiently compressed / expanded. Can be adopted.
  • the log collection server 400 does not necessarily store dictionary sharing information indicating which compression dictionary is transmitted to which log generation device 200 (which compression dictionary is used by each log generation device 200). It is not necessary to manage. For example, when the log generation device 200 transmits information indicating which compression dictionary is used for compression processing to the log collection server 400 by adding the information to the log data, the log collection server 400 requires A compression dictionary used for the decompression process may be determined based on the information.
  • the log collection server 400 may instruct the log generation device 200 which of the plurality of transmitted compression dictionaries is used to perform the compression process, separately from the transmission of the compression dictionary.
  • the log collection server 400 may receive log data from only one log generation device 200.
  • a part of the configuration of the log collection server 400 may be physically separated from other parts of the configuration of the device. In this case, it is necessary that the plurality of separated parts include communication units for performing communication with each other. Similarly, a part of the configuration of the log generation device 200 may be physically separated from other parts of the configuration of the device.
  • a log collection device includes a log reception unit that receives a text log from a log generation device, a dictionary generation unit that generates a compression dictionary for performing text compression based on the received text log, and A dictionary transmission unit that instructs the log generation device to transmit the generated compression dictionary and to perform compression processing using the compression dictionary on the text log transmitted after transmission of the compression dictionary; A decompression processing unit that performs decompression processing on the text log received after transmission of the compression dictionary using the compression dictionary.
  • the log reception unit receives the text log from each of the plurality of log generation devices, and the dictionary transmission unit transmits the compression dictionary for each log generation device, Managing dictionary sharing information indicating to which of the plurality of log generation devices the compression dictionary has been transmitted, the decompression processing unit refers to the dictionary sharing information, for each log generation device, It may be determined whether or not to perform decompression processing on the text log transmitted from the log generation device using the compression dictionary.
  • the dictionary generation unit generates and updates the compression dictionary based on the text log transmitted from the plurality of log generation devices, and the compression dictionary before update and the update after update Holding a compression dictionary
  • the dictionary transmission unit transmits the updated compression dictionary to the log generation device and uses the updated compression dictionary in place of the compression dictionary before the update. Instructing and recording the pre-update compression dictionary and the post-update compression dictionary in the dictionary sharing information, and the decompression processing unit is transmitted from the log generation device for each log generation device Whether to use the pre-update compression dictionary or the post-update compression dictionary for the text log may be determined.
  • the dictionary generation unit for each of the log generation devices, apart from the common dictionary that is the compression dictionary generated based on the text log transmitted from the plurality of log generation devices.
  • the compression dictionary is generated as a device dictionary based on the text log transmitted from the log generation device, and the decompression processing unit includes, for each log generation device, the common dictionary, the device dictionary of the log generation device, The decompression process may be performed using.
  • the log collection device includes a log storage unit that accumulates the text log after at least one of the received text log and the decompression process is performed, and the dictionary generation unit is accumulated
  • the compression dictionary is periodically updated based on the text log, and the dictionary transmission unit transmits the updated compression dictionary to the log generation device every time the compression dictionary is updated. Then, it may be instructed to use the compressed dictionary after update instead of the compressed dictionary before update.
  • a log generation device includes a log generation unit that generates a text log, a log transmission unit that transmits the generated text log to the log collection device, and a compression dictionary that performs text compression from the log collection device And a compression processing unit that performs compression processing using the received compression dictionary on the text log transmitted after reception of the compression dictionary.
  • the log collection method includes a step of receiving a text log from a log generation device, a step of generating a compression dictionary for performing text compression based on the received text log, and the log generation device On the other hand, transmitting the generated compression dictionary and instructing to perform compression processing using the compression dictionary on the text log transmitted after transmission of the compression dictionary, and transmission of the compression dictionary Performing decompression processing on the text log received later using the compression dictionary.
  • a log collection device, a log generation device, and a log collection method include a log collection device, a log generation device, and a log collection device that enable low-load text log transmission while suppressing an increase in processing load of the log generation device. It is useful as a log collection method.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Debugging And Monitoring (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

ログ収集装置は、ログ生成装置からテキストログを受信するログ受信部と、受信されたテキストログに基づいて、テキスト圧縮を行うための圧縮辞書を生成する辞書生成部と、ログ生成装置に対し、生成された圧縮辞書を送信して、当該圧縮辞書の送信後に送信されるテキストログに対して当該圧縮辞書を使用した圧縮処理を行うことを指示する辞書送信部と、当該圧縮辞書の送信後に受信されたテキストログに対して圧縮辞書を使用して伸張処理を行う伸張処理部と、を有する。

Description

ログ収集装置、ログ生成装置、およびログ収集方法
 本開示は、テキストログを受信/送信するログ収集装置、ログ生成装置、およびログ収集方法に関する。
 所定のイベントの発生を示すログメッセージを生成し、生成したログメッセージを他の装置へ送信する装置(以下「ログ生成装置」という)は、様々な分野で使用されている。不審者を検知したときに中央監視センターのサーバへ通知を行う監視カメラは、このようなログ生成装置の一例である。
 ログメッセージのデータ形式としては、例えば、テキスト形式が採用されている。ASCIIでログメッセージを記述するSyslogは、このようなログメッセージの一例である。
 ところが、テキスト形式のログメッセージ(以下「テキストログ」という)は、データサイズが比較的大きいため、ログ生成装置とログメッセージを受信する装置(以下「ログ収集装置」という)との間の通信リソースの消費が問題となる。特に、1つのログ収集装置が共通の通信回線を介して多数のログ生成装置からログメッセージを収集する場合、ログ生成装置とログ収集装置との間の通信帯域が狭い場合、あるいはログメッセージの送信量が多い場合には、システム全体のパフォーマンスを低下させ得る。また、このようなパフォーマンスの低下を回避しようとすると、1つのログ収集装置が管理することができるログ生成装置の台数が制限される。
 そこで、ログ生成装置側で、テキストログのデータ(以下「ログデータ」という)単体から当該ログデータを圧縮する辞書式圧縮を行い、データサイズが圧縮されたログデータに変換して、ログ収集装置へ送信することが考えられる。このような技術としては、例えば、特許文献1に記載の辞書式圧縮(LZW)が挙げられる。ログ収集装置は、圧縮されたログデータ単体に基づいて当該ログデータの伸張を行い、元のログデータを復元する。これにより、上述の通信リソースの消費の問題を軽減することができる。
 ところで、ログ生成装置によっては、辞書式圧縮を行うのに十分な処理能力を持たせることが困難な場合がある。したがって、ログ生成装置の処理負荷の増大を抑えた状態で、低負荷なテキストログ伝送を可能にする技術が望まれる。
 本開示は、ログ生成装置の処理負荷の増大を抑えた状態で、テキストログの低負荷な伝送を目的とする。
特開昭60-116228号公報
 本開示のログ収集装置は、ログ生成装置からテキストログを受信するログ受信部と、受信された前記テキストログに基づいて、テキスト圧縮を行うための圧縮辞書を生成する辞書生成部と、前記ログ生成装置に対し、生成された前記圧縮辞書を送信して、当該圧縮辞書の送信後に送信される前記テキストログに対して当該圧縮辞書を使用した圧縮処理を行うことを指示する辞書送信部と、当該圧縮辞書の送信後に受信された前記テキストログに対して前記圧縮辞書を使用して伸張処理を行う伸張処理部と、を有する。
 本開示のログ生成装置は、テキストログを生成するログ生成部と、生成されたテキストログをログ収集装置へ送信するログ送信部と、前記ログ収集装置から、テキスト圧縮を行うための圧縮辞書を受信する辞書受信部と、受信された前記圧縮辞書を使用した圧縮処理を、当該圧縮辞書の受信後に送信される前記テキストログに対して行う圧縮処理部と、を有する。
 本開示のログ収集方法は、ログ生成装置からテキストログを受信するステップと、受信された前記テキストログに基づいて、テキスト圧縮を行うための圧縮辞書を生成するステップと、前記ログ生成装置に対し、生成された前記圧縮辞書を送信して、当該圧縮辞書の送信後に送信される前記テキストログに対して当該圧縮辞書を使用した圧縮処理を行うことを指示するステップと、当該圧縮辞書の送信後に受信された前記テキストログに対して前記圧縮辞書を使用して伸張処理を行うステップと、を有する。
 本開示によれば、ログ生成装置の処理負荷の増大を抑えた状態で、テキストログを低負荷で伝送できる。
図1は、本実施の形態に係るログ収集システムの構成の一例を示すシステム構成図である。 図2は、本実施の形態におけるログデータに対する処理の概要を示す模式図である。 図3は、本実施の形態に係るログ生成装置の構成の一例を示すブロック図である。 図4は、本実施の形態に係るログ収集サーバの構成の一例を示すブロック図である。 図5は、本実施の形態における共通辞書の内容の一例を示す図である。 図6は、本実施の形態における装置辞書の内容の一例を示す図である。 図7は、本実施の形態における辞書共有の状態の一例を示す模式図である。 図8は、本実施の形態における辞書共有化情報の内容の一例を示す図である。 図9は、本実施の形態に係るログ生成装置の動作の一例を示すフローチャートである。 図10は、本実施の形態に係るログ収集サーバの動作の一例を示すフローチャートである。
 以下、適宜図面を参照しながら、実施形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になることを避け、当業者の理解を容易にするためである。尚、添付図面及び以下の説明は、当業者が本開示を十分に理解するために提供されるものであり、これらにより特許請求の範囲に記載の主題を限定することは意図されていない。
 <システムの概要>
 まず、本実施の形態に係るログ生成装置およびログ収集装置を含むログ生成システムの概要について説明する。
 図1は、ログ収集システムの構成の一例を示すシステム構成図である。
 図1において、ログ収集システム100は、第1~第Nのログ生成装置2001~200N、および、通信ネットワーク300を介して第1~第Nのログ生成装置2001~200Nのそれぞれと通信可能に接続するログ収集サーバ(ログ収集装置)400を有する。なお、第1~第Nのログ生成装置2001~200Nは、同一の構成を有しているため、以下、適宜「ログ生成装置200」として纏めて説明を行う。
 ログ生成装置200は、テキストログを生成し、生成したテキストログのデータ(ログデータ)をログ収集サーバ400へ送信する。ログ生成装置200は、例えば、ある建物の各所に設置された、赤外線センサ付きの監視カメラである。
 通信ネットワーク300は、第1~第Nのログ生成装置2001~200Nおよびログ収集サーバ400と接続する通信回線である。通信ネットワーク300は、例えば、上述の建物に敷設されたLAN(Local Area Network)である。
 ログ収集サーバ400は、ログ生成装置200から送られてきたログデータを受信し、かかるログデータの受信により、第1~第Nのログ生成装置2001~200Nからテキストログを収集する。ログ収集サーバ400は、例えば、上述の建物の管理センターに設置された情報処理装置である。
 ログ収集システム100は、ログ生成装置200においてログデータのデータサイズを圧縮することにより、通信ネットワーク300の伝送負荷の低減を図る。但し、ログ収集システム100は、ログ生成装置200において辞書圧縮を行うのではなく、ログ収集サーバ400において受信したログデータに基づいて圧縮辞書を生成し、生成された圧縮辞書をログ生成装置200に使用させる。
 図2は、ログ収集システム100における、ログデータに対する処理の概要を示す模式図である。
 図2に示すように、ログ収集サーバ400は、ログ生成装置200から過去に受信したログデータ(図示せず)に基づいて、圧縮辞書500を生成して保持する(S1010)。そして、ログ収集サーバ400は、生成した圧縮辞書500をログ生成装置200へ送信して共有化する(S1020)。
 ログ生成装置200は、共有化された圧縮辞書500’を保持し(S1030)、かかる圧縮辞書500’を用いてログデータ610に対するテキスト圧縮を行う(S1040)。そして、ログ生成装置200は、かかるテキスト圧縮の処理により生成されたログデータ620を、ログ収集サーバ400へ送信する(S1050)。
 ログ収集サーバ400は、ログ生成装置200から受信したログデータ620’に対し、保持している圧縮辞書500を用いて伸張処理を行う(S1060)。そして、ログ収集サーバ400は、かかる伸張処理により生成されたログデータ610’を、元のログデータ610として取得する。
 なお、圧縮辞書500の生成手法としては、例えば、出現頻度が高い文字列を、「0xff」+1バイト256種類のインデックス番号に置き換える、特許文献1に記載のテキスト圧縮の手法を前提とした、辞書生成手法を採用することができる。なお、ログ収集サーバ400は、最上位ビットが1であれば、上述の1バイト256種類のインデックス番号を更に1バイト拡張するというように、可変長のインデックス番号を変換後の文字列として採用してもよい。
 また、この場合、テキスト圧縮の手法としては、ログデータ610に「0xff」が含まれるとき、後続のインデックス番号を圧縮辞書500’で検索して対応する文字列を取り出し、その他の場合にはログデータのコードをそのままとする手法を採用することができる。
 このようなログ収集サーバ400は、ログ生成装置200の処理負荷を軽減しつつ、データサイズが圧縮されたログデータを伝送することができる。なお、圧縮辞書500を生成する処理がログ収集サーバ400に集中することになるが、ログ収集サーバ400は、かかる処理の集中に耐え得る処理能力を有している。
 <装置の構成>
 次に、各装置の構成について説明する。
 図3は、ログ生成装置200の構成の一例を示すブロック図である。
 図3において、ログ生成装置200は、ログ生成部210、圧縮処理部220、ログ送信部230、辞書受信部240、および装置側辞書格納部250を有する。
 ログ生成部210は、テキストログを生成し、ログデータを圧縮処理部220へ出力する。ログ生成部210は、例えば、ビデオカメラ、画像処理部、および赤外線センサ(いずれも図示せず)を含み、撮影映像に対する画像解析やセンサ信号に基づいて、不審者の出現といった各種イベントの発生を検出し、かかるイベントの発生を示すログデータを生成する。
 圧縮処理部220は、後述の装置側辞書格納部250に格納された圧縮辞書を使用した圧縮処理を、ログ生成部210から出力されたログデータに対して行い、かかる処理により得られた圧縮されたログデータを、ログ送信部230へ出力する。
 なお、ログ生成装置200は、後述の通り、ログ収集サーバ400から受信した圧縮辞書を装置側辞書格納部250に格納する。したがって、圧縮処理部220は、圧縮辞書を使用した圧縮処理を、当該圧縮辞書の受信後に送信されるログデータに対して行う。圧縮処理部220は、装置側辞書格納部250に圧縮辞書が存在しない場合、ログ生成部210から出力されたログデータをそのままログ送信部230へ出力する。また、圧縮処理部220は、装置側辞書格納部250に格納された圧縮辞書に存在しないログデータ部分についても、そのままログ送信部230へ出力する。
 ログ送信部230は、圧縮処理部220から出力されたログデータを、ログ生成装置200の識別情報を付与した状態で、ログ収集装置へ送信する。かかるログデータには、圧縮されていないログデータ、および、圧縮されたログデータが含まれる。
 辞書受信部240は、ログ収集装置400から、テキスト圧縮による圧縮処理を行うための圧縮辞書を受信する。そして、辞書受信部240は、受信した圧縮辞書を、装置側辞書格納部250へ出力する。
 なお、辞書受信部240は、ログ収集サーバ400から自律的に送られてくる圧縮辞書を待機して受信してもよいし、ログ収集サーバ400に対して圧縮辞書の送信を要求することにより圧縮辞書の受信を行ってもよい。特に前者の場合、辞書受信部240は、圧縮辞書を受信したことを示す応答を、ログ収集サーバ400に対して行うことが望ましい。
 装置側辞書格納部250は、辞書受信部240から出力された圧縮辞書を、格納して保持する。かかる圧縮辞書は、上述の通り、圧縮処理部220によって使用される。また、装置側辞書格納部250は、既に格納されている圧縮辞書と同一の種別(共通辞書/装置辞書)の新たな圧縮辞書が辞書受信部240から出力されたとき、当該新たな圧縮辞書で、対応する既存の圧縮辞書を更新する。
 また、ログ生成装置200は、図示しないが、例えば、CPU(Central Processing Unit)、制御プログラムを格納したROM(Read Only Memory)等の記憶媒体、RAM(Random Access Memory)等の作業用メモリ、および通信回路を有する。この場合、上記した各部の機能は、CPUが制御プログラムを実行することにより実現される。
 このような構成により、ログ生成装置200は、圧縮辞書作成を行うことなく、ログ収集サーバ400から取得した圧縮辞書を用いて、送信の対象となるログデータの圧縮を行うことができる。
 図4は、ログ収集サーバ400の構成の一例を示すブロック図である。
 図4において、ログ収集サーバ400は、ログ受信部410、伸張処理部420、ログ格納部430、辞書生成部440、辞書格納部450、および辞書送信部460を有する。
 ログ受信部410は、第1~第Nのログ生成装置2001~200Nのそれぞれからログデータを受信し、受信されたログデータを伸張処理部420へ出力する。
 なお、ログ受信部410は、各ログ生成装置200から自律的に送られてくるログデータを待機して受信してもよいし、各ログ生成装置200に対してログデータの送信を要求することによりログデータの受信を行ってもよい。特に前者の場合、ログ受信部410は、ログデータを受信したことを示す応答を、ログデータの送信元であるログ生成装置200に対して行うことが望ましい。
 伸張処理部420は、後述の辞書格納部450に格納された圧縮辞書を使用した伸張処理を、ログ受信部410から出力されたログデータに対して行い、かかる処理により得られた伸張された(復元された)ログデータを、送信元の識別情報を付した状態で、ログ格納部430へ出力する。
 なお、ログ収集サーバ400は、後述の通り、辞書生成部440により生成された圧縮辞書を辞書格納部450に格納すると共に、同じ内容の圧縮辞書を、辞書送信部460によりログ生成部210へ送信する。したがって、伸張処理部420は、ログ生成装置200がログデータの圧縮に使用した圧縮辞書と同じものを使用して、ログ生成装置200から受信したログデータに対する伸張処理を行う。
 伸張処理部420は、辞書格納部450に圧縮辞書が存在しない場合、ログ受信部410から出力されたログデータをそのままログ格納部430へ出力する。また、伸張処理部420は、辞書格納部450に格納された圧縮辞書に存在しないログデータ部分についても、そのままログ格納部430へ出力する。
 ログ格納部430は、伸張処理部420から出力されたログデータを、送信元の識別情報を付した状態で、格納して保持する。ログデータは、上述の通り、第1~第Nのログ生成装置2001~200Nのそれぞれから受信される。したがって、ログ格納部430には、第1~第Nのログ生成装置2001~200Nから収集されたログデータが蓄積される。
 なお、かかるログデータは、各ログ生成装置200で生成された、圧縮前のログデータを復元したものである。ログ格納部430に格納されたログデータは、例えば、ログ収集サーバ400の図示しないデータ解析部における統計的な解析等に供される。
 辞書生成部440は、ログ格納部430に格納されたログデータに基づいて、テキスト圧縮を行うための圧縮辞書を生成する。そして、辞書生成部440は、生成された圧縮辞書を、辞書格納部450へ出力する。
 但し、辞書生成部440は、第1~第Nのログ生成装置2001~200Nのログデータに基づく圧縮辞書(以下「共通辞書」という)と、ログ生成装置200毎の、当該ログ生成装置200から送信されたログデータに基づく圧縮辞書(以下「装置辞書」という)とを生成する。また、辞書生成部440は、元のログデータを生成したログ生成装置200の識別情報を、各装置辞書に付与する。
 なお、辞書生成部440は、辞書格納部450に格納されている圧縮辞書の内容を、ログ格納部430に格納されたログデータに基づいて、適宜更新する。
 また、圧縮辞書の生成手法としては、様々なものから任意に選択することができる。例えば、データに含まれるパターンをコード化してデータを圧縮する辞書式圧縮において、パターンを見つけ出す手法としては、スライド辞書法と動的辞書法の2種類が存在するが、いずれを採用してもよい。
 辞書格納部450は、辞書生成部440から出力された圧縮辞書を、格納して保持する。かかる圧縮辞書は、上述の通り、伸張処理部420によって使用される。また、辞書格納部450は、新たな圧縮辞書が格納される毎に、および、格納する圧縮辞書が更新される毎に、その旨を辞書送信部460へ通知する。なお、辞書格納部450は、1個の共通辞書と第1~第Nのログ生成装置2001~200Nに対応したN個の装置辞書を格納するのに十分な容量を有する。
 辞書送信部460は、ログ生成装置200に対し、辞書格納部450に格納された圧縮辞書を送信して、当該圧縮辞書の送信後に送信されるテキストログに対して当該圧縮辞書を使用した圧縮処理を行うことを指示する。また、辞書送信部460は、圧縮辞書が更新される毎に、対応するログ生成装置200に対して更新後の圧縮辞書(あるいは更新内容を示す情報)を送信して、更新前の圧縮辞書に置き換えて更新後の圧縮辞書を使用することを指示する。
 また、ログ収集サーバ400は、図示しないが、例えば、CPU、制御プログラムを格納したROM等の記憶媒体、RAM等の作業用メモリ、および通信回路を有する。この場合、上記した各部の機能は、CPUが制御プログラムを実行することにより実現される。
 このような構成により、ログ収集サーバ400は、各ログ生成装置200から受信したログデータに基づいて圧縮辞書を生成し、各ログ生成装置200に対してかかる圧縮辞書を用いた圧縮処理を行わせることができる。
 <圧縮辞書の内容および共有化手法>
 ここで、圧縮辞書の内容およびその共有化の仕方について説明する。
 図5は、共通辞書の内容の一例を示す図である。
 図5に示すように、共通辞書510は、例えば、辞書名511およびバーション512の組合せを識別情報とし、番号513毎に、文字列514および頻度515を記述する。バーション512は、共通辞書510の更新の版を示す情報である。文字列514は、圧縮の対象となったログデータの文字列であり、頻度515は、当該文字列の出現頻度である。番号513は、文字列514を変換したときのインデックス番号(例えば「0xff」に続いて記述されるテキスト)である。
 例えば、「1」という番号513に対応付けて、"rtkit-daemon:[#debug] Sucessfully"という文字列514が記述されている。これは、ログデータに"rtkit-daemon:[#debug] Sucessfully"というテキストが存在する場合、当該テキストが、0xff,0x01の2バイトに圧縮されることを示す。
 図6は、装置辞書の内容の一例を示す図である。
 図6に示すように、装置辞書520は、例えば、辞書名521、装置番号522およびバーション523の組合せを識別情報とし、番号524毎に、文字列525および頻度526を記述する。装置番号522は、装置辞書520の生成の基となったログデータの送信元を示す情報であり、例えば、ログ生成装置200の識別情報である。バーション523は、装置辞書520の更新の版を示す情報である。文字列525は、圧縮の対象となったログデータの文字列であり、頻度526は、当該文字列の出現頻度である。番号524は、文字列525を変換したときのインデックス番号(例えば「0xff」に続いて記述されるテキスト)である。
 例えば、「1」という番号524に対応付けて、"PC-NSX6000"という文字列525が記述されている。これは、ログデータに"PC-NSX6000"というテキストが存在する場合、当該テキストが、0xff,0x01の2バイトに圧縮されることを示す。
 なお、共通辞書510および装置辞書520のいずれも、圧縮処理および伸張処理の効率の観点から、出現頻度が高い順またはアルファベット順の少なくともいずれかにソートされていることが望ましい。また、辞書生成部440は、各ログ生成装置200の(装置側辞書格納部250の)メモリサイズを考慮して、生成される装置辞書の最大サイズ(MaxSizeD)を制限することが望ましい。また、図5および図6では、異なるテキストに対して同一の番号が対応付けられている例を示したが、異なるテキストに対応付けられる番号(圧縮後のテキスト)は、異なる番号か、他の付加情報により区別されるものであることが望ましい。
 このように、辞書生成部440は、第1~第Nのログ生成装置2001~200Nで共通に使用する共通辞書と、ログ生成装置200毎に個別に使用する装置辞書とを生成する。装置辞書は、ログ生成装置200の名称(ホスト名)等、装置毎に特有の文字列が多い場合や、第1~第Nのログ生成装置2001~200Nで共に異なるシリーズ(タイプ、バージョン)の装置が混在している場合に、効果を発揮する。
 ログ生成装置200毎に、ログデータで多用される文字列の傾向は異なり得る。また、ログ収集システム100は、同一のログデータ群から生成された圧縮辞書であっても、ログ生成装置200の電源投入状況等に起因して、共有のタイミングがログ生成装置200毎に異なり得る。
 図7は、辞書共有の状態の一例を示す模式図である。
 図7に示すように、例えば、ログ収集サーバ400は、バージョン1の共通辞書510V1を生成した後、かかる辞書を更新したバージョン2の共通辞書510V2を生成する。また、ログ収集サーバ400は、バージョン1の第1の装置辞書5201V1を生成した後、かかる辞書を更新したバージョン2の第1の装置辞書5201V2を生成する。更に、ログ収集サーバ400は、バージョン1の第2の装置辞書5202V1を生成した後、かかる辞書を更新したバージョン2の第2の装置辞書5202V2を生成する。
 例えば、バージョン2の共通辞書510V2は、第2のログ生成装置2002には送信されたが、第1のログ生成装置2001には旧バージョンのバージョン1の共通辞書510V1しか送信されていない。バージョン2の第1の装置辞書5201V2は、生成されているが、第1のログ生成装置2001にはまだ送信されていない。バージョン2の第2の装置辞書5202V2は、第2のログ生成装置2002に送信されている。
 ログ収集サーバ400は、更新後の最新の辞書のみならず、更新前の各辞書のうち、使用中、あるいは、使用の可能性がある辞書(例えば、バージョン1の共通辞書510V1およびバージョン1の第1の装置辞書5201V1)についても保持する。
 一方で、ログ収集サーバ400は、不要となった更新前の辞書(例えば、バージョン1の第2の装置辞書5201V2)を削除する。同様に、ログ収集サーバ400は、例えば、第1~第Nのログ生成装置2001~200Nの全てに対してバージョンMの共通辞書の送信が完了した時点で、バージョンM-1の共通辞書を削除するというように、不要な共通辞書を削除する。
 ログ収集サーバ400が伸張処理に使用する圧縮辞書は、伸張処理の対象となるログデータに対して圧縮処理の際に使用された圧縮辞書と同一内容である必要がある。
 そこで、辞書送信部460は、ログ生成装置200毎に圧縮辞書を送信すると共に、第1~第Nのログ生成装置2001~200Nのいずれに対してどの圧縮辞書を送信したかを示す辞書共有化情報を、生成して辞書格納部450に格納し、これを管理する。辞書送信部460は、圧縮辞書の、種別、対象となるログ生成装置200、および更新の版を区別して、圧縮辞書の送信履歴を辞書共有化情報に記録する。
 図8は、辞書共有化情報の内容の一例を示す図である。
 図8に示すように、辞書共有化情報530は、装置名称531および装置番号532の組毎に、共通辞書(の識別情報)533および装置辞書(の識別情報)534を記述する。共通辞書533および装置辞書534は、装置番号532が示すログ生成装置200に送信した共通辞書および装置辞書のうち、最も新しいものを示す。なお、装置名称531は、必ずしも必要ではない。
 例えば、「1」という装置番号532に対応付けて、「共通辞書Ver.1」という共通辞書533と、「第1の装置辞書Ver.1」という装置辞書534とが記述されている。これは、第1のログ生成装置200に対して送信済みの最新の共通辞書および装置辞書534が、バージョン1の共通辞書およびバージョン1の第1の装置辞書であるということを示す。
 伸張処理部420は、このような辞書共有化情報530を参照して、ログ生成装置200毎に、当該ログ生成装置200から送信されたログデータに対して、どの圧縮辞書のどの版(更新前/更新後)を使用するかを決定する。これにより、伸張処理部420は、受信したログデータの圧縮処理の際に使用された圧縮辞書と同一のものを使用して、当該ログデータに対する伸張処理を行うことができ、より確実に元のログデータを復元することができる。
 <装置の動作>
 次に、各装置の動作について説明する。
 図9は、ログ生成装置200の動作の一例を示すフローチャートである。
 ステップS2010において、辞書受信部240は、ログ収集サーバ400から圧縮辞書(共通辞書510/装置辞書520、図5および図6参照)を受信したか否かを判定する。
 辞書受信部240は、圧縮辞書を受信した場合(S2010:YES)、処理をステップS2020へ進める。また、辞書受信部240は、圧縮辞書を受信していない場合(S2010:NO)、処理を後述のステップS2030へ進める。
 ステップS2020において、装置側辞書格納部250は、受信された圧縮辞書を格納する。または、装置側辞書格納部250は、受信された圧縮辞書で、既存の同一の種別の圧縮辞書(旧バージョンの圧縮辞書)を更新する。
 ステップS2030において、ログ生成部210は、ログデータの生成タイミングが到来したか否かを判定する。かかるタイミングは、例えば、5秒毎等の周期的なタイミング、および、不審者が検知された等の所定のイベントが発生したタイミングのうち少なくとも1つである。
 ログ生成部210は、ログデータの生成タイミングが到来した場合(S2030:YES)、処理をステップS2040へ進める。また、ログ生成部210は、ログデータの生成タイミングが到来していない場合(S2030:NO)、処理を後述のステップS2050へ進める。
 ステップS2040において、ログ生成部210は、ログデータを生成し、圧縮処理部220に用意された仮バッファにセット(圧縮処理部220へ出力)する。
 ステップS2050において、圧縮処理部220は、ログデータの送信タイミングが到来したか否かを判定する。かかるタイミングは、例えば、新たなログデータが生成されたタイミング、5分毎等の周期的なタイミング、および、ログ収集サーバ400からログデータの送信を要求されたタイミングのうちの少なくとも1つである。
 圧縮処理部220は、ログデータの送信タイミングが到来した場合(S2050:YES)、処理をステップS2060へ進める。また、圧縮処理部220は、ログデータの送信タイミングが到来していない場合(S2050:NO)、処理を後述のステップS2120へ進める。
 ステップS2060において、圧縮処理部220は、仮バッファにセットされたログデータのうち、後続のステップS2070~S2090の処理がまだ行われていない未処理データ(テキスト)を、前方から、装置側辞書格納部250に格納された圧縮辞書で検索する。
 ステップS2070において、圧縮処理部220は、検索の対象となったデータ部分(テキスト)が、いずれかの圧縮辞書に存在したか否かを判定する。
 圧縮処理部220は、検索対象がいずれかの圧縮辞書にも存在しない場合(S2070:NO)、処理をステップS2080へ進める。また、圧縮処理部220は、検索対象がいずれかの圧縮辞書に存在する場合(S2070:YES)、処理を後述のステップS2090へ進める。
 ステップS2080において、圧縮処理部220は、検索対象となったデータ部分を、そのまま、ログ送信部230に用意された通信バッファにセット(ログ送信部230へ出力)する。
 ステップS2090において、圧縮処理部220は、検索対象となったデータ部分に対し、圧縮辞書に基づいて圧縮処理を行い、得られたデータ(圧縮されたデータ)を、ログ送信部230の通信バッファにセット(ログ送信部230へ出力)する。
 なお、仮バッファにセットされたログデータは、ステップS2070~S2090の処理により、仮バッファから消去される。
 ステップS2100において、圧縮処理部220は、仮バッファに、未処理データが存在するか否かを判定する。
 圧縮処理部220は、未処理データが存在する場合(S2100:YES)、処理をステップS2060へ戻す。また、圧縮処理部220は、未処理データが存在しない場合(S2100:NO)、処理をステップS2110へ進める。
 なお、圧縮処理部220は、所定の時間毎または通信バッファにセットされたデータの少なくともいずれかのデータ量が所定値に達する毎に、処理をステップS2110へ進めてから、処理をステップS2060へ戻すようにしてもよい。
 ステップS2110において、ログ送信部230は、通信バッファにセットされたデータを、ログデータとしてログ収集サーバ400へ送信する。
 そして、ステップS2120において、辞書受信部240は、ユーザ操作等により処理の終了を指示されたか否かを判定する。
 辞書受信部240は、処理の終了を指示されていない場合(S2120:NO)、処理をステップS2010へ戻す。また、辞書受信部240は、処理の終了を指示された場合(S2120:YES)、一連の処理を終了する。
 このような動作により、ログ生成装置200は、逐次、ログ収集サーバ400から圧縮辞書を取得すると共に、取得した圧縮辞書を用いてログデータを圧縮し、ログ収集サーバ400へ送信することができる。
 図10は、ログ収集サーバ400の動作の一例を示すフローチャートである。
 ステップS3010において、ログ受信部410は、いずれかのログ生成装置200からログデータを受信したか否かを判定する。なお、かかるログデータの受信は、上述の通り、受動的に行われたものであってもよいし、能動的に行われたものであってもよい。後者の場合、ログ受信部410は、例えば、5分毎等の周期的なタイミングで、ログデータの送信をログ生成装置200に要求する。
 ログ受信部410は、ログデータを受信した場合(S3010:YES)、処理をステップS3020へ進める。また、ログ受信部410は、ログデータを受信していない場合(S3010:NO)、処理を後述のステップS3040へ進める。
 ステップS3020において、伸張処理部420は、受信されたログデータの送信元のログ生成装置200と共有している圧縮辞書(およびそのバージョン)を、辞書格納部450に格納された辞書共有化情報530(図8参照)から特定する。なお、ログデータの送信元は、当該ログデータに付与された識別情報から特定することができる。
 ステップS3030において、伸張処理部420は、特定された共有の圧縮辞書を参照して、圧縮されたログデータに対する伸張処理を行い、伸張処理により得られたデータを、元のログデータとしてログ格納部430に格納(記録)する。なお、上述の通り、かかるログデータの記録は、ログ生成装置200毎に行われる。
 ステップS3040において、辞書生成部440は、いずれかの圧縮辞書の生成/更新タイミングが到来したか否かを判定する。かかるタイミングは、例えば、ログ格納部430に蓄積されたログデータのデータ量の累計、あるいは、最後に圧縮辞書が生成されてから蓄積されたログデータのデータ量の合計が所定値に達したタイミング、および、1日毎等の周期的なタイミングのうち少なくとも1つを含む。
 辞書生成部440は、圧縮辞書の生成/更新タイミングが到来した場合(S3040:YES)、処理をステップS3050へ進める。また、辞書生成部440は、圧縮辞書の生成/更新タイミングが到来していない場合(S3040:NO)、処理を後述のステップS3060へ進める。
 ステップS3050において、辞書生成部440は、ログ格納部430に記録されたログデータに基づき、圧縮辞書の生成または更新(バージョンアップ)を行う。辞書生成部440が圧縮辞書の生成または更新に使用するログデータの範囲は、最初のデータから最新のデータ迄の全てでもよいし、その一部でもよい。例えば、辞書生成部440は、直近の1週間に取得されたログデータに基づいて、圧縮辞書の生成または更新を行う。
 なお、辞書生成部440は、少なくとも装置辞書520(図6参照)については、圧縮辞書の生成/更新タイミングの到来の有無の判定、および、圧縮辞書の生成または更新を、ログ生成装置200毎に行うことが望ましい。
 ステップS3060において、辞書送信部460は、圧縮辞書の送信タイミングが到来したか否かを判定する。かかるタイミングは、例えば、新たに圧縮辞書が生成または更新されたタイミングである。
 辞書送信部460は、圧縮辞書の送信タイミングが到来した場合(S3060:YES)、処理をステップS3070へ進める。また、辞書送信部460は、圧縮辞書の送信タイミングが到来していない場合(S3060:NO)、処理を後述のステップS3080へ進める。
 ステップS3070において、辞書送信部460は、送信の対象となる圧縮辞書、例えば新たに生成または更新された圧縮辞書を、対応するログ生成装置200へ送信すると共に、辞書格納部450に格納された辞書共有化情報530(図8参照)を更新する。対応するログ生成装置200とは、例えば、送信の対象となる圧縮辞書の生成に用いられたログデータの送信元であり、共通辞書510の場合には第1~第Nのログ生成装置2001~200N、装置辞書520の場合にはいずれかのログ生成装置200である。
 そして、ステップS3080において、ログ受信部410は、ユーザ操作等により処理の終了を指示されたか否かを判定する。
 ログ受信部410は、処理の終了を指示されていない場合(S3080:NO)、処理をステップS3010へ戻す。また、ログ受信部410は、処理の終了を指示された場合(S3080:YES)、一連の処理を終了する。
 このような動作により、ログ収集サーバ400は、逐次、第1~第Nのログ生成装置2001~200Nのそれぞれからログデータを取得すると共に、取得したログデータに基づいて圧縮辞書を生成し、これを共有化して伝送データの圧縮化を実現することができる。
 <本実施の形態の効果>
 以上説明したように、本実施の形態に係るログ収集サーバ400は、ログ生成装置200からテキストログを受信するログ受信部410と、受信されたテキストログに基づいて、テキスト圧縮を行うための圧縮辞書を生成する辞書生成部440と、を有する。また、ログ収集サーバ400は、ログ生成装置200に対し、生成された圧縮辞書を送信して、当該圧縮辞書の送信後に送信されるテキストログに対して当該圧縮辞書を使用した圧縮処理を行うことを指示する辞書送信部460と、当該圧縮辞書の送信後に受信されたテキストログに対して圧縮辞書を使用して伸張処理を行う伸張処理部420とを有する。
 すなわち、ログ収集サーバ400は、各ログ生成装置200からのテキストログに対する解析機能、学習型のテキスト辞書生成機能、および辞書更新機能を持たせ、システムに適した効率の良い圧縮辞書を自動生成する。そして、ログ収集サーバ400は、生成した圧縮辞書を各ログ生成装置200に配信することにより、各ログ生成装置200が同じ圧縮辞書を用いて送信の対象となるテキストログの圧縮を行うことを可能にする。
 これにより、本実施の形態に係るログ収集サーバ400は、ログ生成装置200の処理負荷の増大を抑えた状態で、低負荷なテキストログ伝送を可能にし、効果的なテキストログ収集を実現することができる。
 <本実施の形態の変形例>
 なお、ログ生成装置200は、監視カメラに限定されるものではなく、テキストログを生成する他の各種装置であってもよい。
 また、圧縮辞書の内容、形式、およびその生成手法は、上述の例に限定されるものではなく、元のテキストログを復元可能にかつ効率的に圧縮/伸張するものであれば、各種の技術を採用することができる。
 また、ログ収集サーバ400は、必ずしも、いずれのログ生成装置200に対していずれの圧縮辞書を送信したか(各ログ生成装置200がどの圧縮辞書を使用しているか)を示す辞書共有化情報を管理しなくてもよい。例えば、ログ生成装置200が、どの圧縮辞書を使用して圧縮処理を行っているかを示す情報を、ログデータに付与する等してログ収集サーバ400に送信する場合、ログ収集サーバ400は、かかる情報に基づいて伸張処理に使用する圧縮辞書を決定してもよい。
 また、ログ収集サーバ400は、圧縮辞書の送信とは別に、送信した複数の圧縮辞書のうちいずれを使用して圧縮処理を行うかを、ログ生成装置200に対して指示してもよい。
 また、ログ収集サーバ400は、1つのログ生成装置200のみからログデータを受信するものであってもよい。
 また、ログ収集サーバ400の構成の一部は、当該装置の構成の他の部分と物理的に離隔していてもよい。この場合、それらの離隔した複数の部分は、互いに通信を行うための通信部をそれぞれ備える必要がある。同様に、ログ生成装置200の構成の一部も、当該装置の構成の他の部分と物理的に離隔していてもよい。
 <本開示のまとめ>
 本開示に係るログ収集装置は、ログ生成装置からテキストログを受信するログ受信部と、受信された前記テキストログに基づいて、テキスト圧縮を行うための圧縮辞書を生成する辞書生成部と、前記ログ生成装置に対し、生成された前記圧縮辞書を送信して、当該圧縮辞書の送信後に送信される前記テキストログに対して当該圧縮辞書を使用した圧縮処理を行うことを指示する辞書送信部と、当該圧縮辞書の送信後に受信された前記テキストログに対して前記圧縮辞書を使用して伸張処理を行う伸張処理部と、を有する。
 なお、上記ログ収集装置において、前記ログ受信部は、複数の前記ログ生成装置のそれぞれから前記テキストログを受信し、前記辞書送信部は、前記ログ生成装置毎に前記圧縮辞書を送信し、前記複数のログ生成装置のいずれに対して前記圧縮辞書を送信したかを示す辞書共有化情報を管理し、前記伸張処理部は、前記辞書共有化情報を参照して、前記ログ生成装置毎に、当該ログ生成装置から送信された前記テキストログに対して前記圧縮辞書を使用して伸張処理を行うか否かを決定してもよい。
 また、上記ログ収集装置において、前記辞書生成部は、前記複数のログ生成装置から送信された前記テキストログに基づいて前記圧縮辞書を生成および更新し、更新前の前記圧縮辞書および更新後の前記圧縮辞書を保持し、前記辞書送信部は、前記ログ生成装置に対し、更新後の前記圧縮辞書を送信して、更新前の前記圧縮辞書に置き換えて前記更新後の圧縮辞書を使用することを指示し、前記更新前の圧縮辞書と前記更新後の圧縮辞書とを区別して前記辞書共有化情報に記録し、前記伸張処理部は、前記ログ生成装置毎に、当該ログ生成装置から送信された前記テキストログに対して前記更新前の圧縮辞書および前記更新後の圧縮辞書のいずれを使用するかを決定してもよい。
 また、上記ログ収集装置において、前記辞書生成部は、前記複数のログ生成装置から送信された前記テキストログに基づいて生成される前記圧縮辞書である共通辞書は別に、前記ログ生成装置毎に、当該ログ生成装置から送信された前記テキストログに基づいて前記圧縮辞書を装置辞書として生成し、前記伸張処理部は、前記ログ生成装置毎に、前記共通辞書と当該ログ生成装置の前記装置辞書とを使用して前記伸張処理を行ってもよい。
 また、上記ログ収集装置は、受信された前記テキストログまたは前記伸張処理の少なくともいずれかが行われた後の前記テキストログを蓄積するログ格納部、を有し、前記辞書生成部は、蓄積された前記テキストログに基づいて、定期的に前記圧縮辞書を更新し、前記辞書送信部は、前記ログ生成装置に対し、前記圧縮辞書が更新される毎に、更新後の前記圧縮辞書を送信して、更新前の前記圧縮辞書に置き換えて前記更新後の圧縮辞書を使用することを指示してもよい。
 本開示に係るログ生成装置は、テキストログを生成するログ生成部と、生成されたテキストログをログ収集装置へ送信するログ送信部と、前記ログ収集装置から、テキスト圧縮を行うための圧縮辞書を受信する辞書受信部と、受信された前記圧縮辞書を使用した圧縮処理を、当該圧縮辞書の受信後に送信される前記テキストログに対して行う圧縮処理部と、を有する。
 本開示に係るログ収集方法は、ログ生成装置からテキストログを受信するステップと、受信された前記テキストログに基づいて、テキスト圧縮を行うための圧縮辞書を生成するステップと、前記ログ生成装置に対し、生成された前記圧縮辞書を送信して、当該圧縮辞書の送信後に送信される前記テキストログに対して当該圧縮辞書を使用した圧縮処理を行うことを指示するステップと、当該圧縮辞書の送信後に受信された前記テキストログに対して前記圧縮辞書を使用して伸張処理を行うステップと、を有する。
 本開示に係るログ収集装置、ログ生成装置、およびログ収集方法は、ログ生成装置の処理負荷の増大を抑えた状態で、低負荷なテキストログ伝送を可能にするログ収集装置、ログ生成装置、およびログ収集方法として有用である。
 100  ログ収集システム
 200  ログ生成装置
 210  ログ生成部
 220  圧縮処理部
 230  ログ送信部
 240  辞書受信部
 250  装置側辞書格納部
 300  通信ネットワーク
 400  ログ収集サーバ
 410  ログ受信部
 420  伸張処理部
 430  ログ格納部
 440  辞書生成部
 450  辞書格納部
 460  辞書送信部

Claims (7)

  1.  ログ生成装置からテキストログを受信するログ受信部と、
     受信された前記テキストログに基づいて、テキスト圧縮を行うための圧縮辞書を生成する辞書生成部と、
     前記ログ生成装置に対し、生成された前記圧縮辞書を送信して、当該圧縮辞書の送信後に送信される前記テキストログに対して当該圧縮辞書を使用した圧縮処理を行うことを指示する辞書送信部と、
     当該圧縮辞書の送信後に受信された前記テキストログに対して前記圧縮辞書を使用して伸張処理を行う伸張処理部と、を有する、
     ログ収集装置。
  2.  前記ログ受信部は、
     複数の前記ログ生成装置のそれぞれから前記テキストログを受信し、
     前記辞書送信部は、
     前記ログ生成装置毎に前記圧縮辞書を送信し、前記複数のログ生成装置のいずれに対して前記圧縮辞書を送信したかを示す辞書共有化情報を管理し、
     前記伸張処理部は、
     前記辞書共有化情報を参照して、前記ログ生成装置毎に、当該ログ生成装置から送信された前記テキストログに対して前記圧縮辞書を使用して伸張処理を行うか否かを決定する、
     請求項1に記載のログ収集装置。
  3.  前記辞書生成部は、
     前記複数のログ生成装置から送信された前記テキストログに基づいて前記圧縮辞書を生成および更新し、更新前の前記圧縮辞書および更新後の前記圧縮辞書を保持し、
     前記辞書送信部は、
     前記ログ生成装置に対し、更新後の前記圧縮辞書を送信して、更新前の前記圧縮辞書に置き換えて前記更新後の圧縮辞書を使用することを指示し、前記更新前の圧縮辞書と前記更新後の圧縮辞書とを区別して前記辞書共有化情報に記録し、
     前記伸張処理部は、
     前記ログ生成装置毎に、当該ログ生成装置から送信された前記テキストログに対して前記更新前の圧縮辞書および前記更新後の圧縮辞書のいずれを使用するかを決定する、
     請求項2に記載のログ収集装置。
  4.  前記辞書生成部は、
     前記複数のログ生成装置から送信された前記テキストログに基づいて生成される前記圧縮辞書である共通辞書は別に、前記ログ生成装置毎に、当該ログ生成装置から送信された前記テキストログに基づいて前記圧縮辞書を装置辞書として生成し、
     前記伸張処理部は、
     前記ログ生成装置毎に、前記共通辞書と当該ログ生成装置の前記装置辞書とを使用して前記伸張処理を行う、
     請求項3に記載のログ収集装置。
  5.  受信された前記テキストログまたは前記伸張処理の少なくともいずれかが行われた後の前記テキストログを蓄積するログ格納部、を有し、
     前記辞書生成部は、
     蓄積された前記テキストログに基づいて、定期的に前記圧縮辞書を更新し、
     前記辞書送信部は、
     前記ログ生成装置に対し、前記圧縮辞書が更新される毎に、更新後の前記圧縮辞書を送信して、更新前の前記圧縮辞書に置き換えて前記更新後の圧縮辞書を使用することを指示する、
     請求項1に記載のログ収集装置。
  6.  テキストログを生成するログ生成部と、
     生成されたテキストログをログ収集装置へ送信するログ送信部と、
     前記ログ収集装置から、テキスト圧縮を行うための圧縮辞書を受信する辞書受信部と、
     受信された前記圧縮辞書を使用した圧縮処理を、当該圧縮辞書の受信後に送信される前記テキストログに対して行う圧縮処理部と、を有する、
     ログ生成装置。
  7.  ログ生成装置からテキストログを受信するステップと、
     受信された前記テキストログに基づいて、テキスト圧縮を行うための圧縮辞書を生成するステップと、
     前記ログ生成装置に対し、生成された前記圧縮辞書を送信して、当該圧縮辞書の送信後に送信される前記テキストログに対して当該圧縮辞書を使用した圧縮処理を行うことを指示するステップと、
     当該圧縮辞書の送信後に受信された前記テキストログに対して前記圧縮辞書を使用して伸張処理を行うステップと、を有する、
     ログ収集方法。
PCT/JP2017/009411 2016-03-22 2017-03-09 ログ収集装置、ログ生成装置、およびログ収集方法 WO2017163896A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US16/085,410 US10469101B2 (en) 2016-03-22 2017-03-09 Log collection device, log generation device, and log collection method
EP17769941.0A EP3435236B1 (en) 2016-03-22 2017-03-09 Log collection device, log generation device, and log collection method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016-057033 2016-03-22
JP2016057033A JP6735469B2 (ja) 2016-03-22 2016-03-22 ログ収集装置、監視カメラ、およびログ収集方法

Publications (1)

Publication Number Publication Date
WO2017163896A1 true WO2017163896A1 (ja) 2017-09-28

Family

ID=59901227

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/009411 WO2017163896A1 (ja) 2016-03-22 2017-03-09 ログ収集装置、ログ生成装置、およびログ収集方法

Country Status (4)

Country Link
US (1) US10469101B2 (ja)
EP (1) EP3435236B1 (ja)
JP (1) JP6735469B2 (ja)
WO (1) WO2017163896A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6958311B2 (ja) * 2017-12-12 2021-11-02 富士通株式会社 情報処理装置、情報処理システムおよびプログラム
US11023420B1 (en) * 2018-03-29 2021-06-01 EMC IP Holding Company LLC Real-time compression of log data
US11847558B2 (en) * 2018-05-04 2023-12-19 EMC IP Holding Company LLC Analyzing storage systems using machine learning systems
US11151089B2 (en) * 2018-10-29 2021-10-19 EMC IP Holding Company LLC Compression of log data using pattern recognition
JP6873346B2 (ja) * 2019-02-28 2021-05-19 三菱電機株式会社 通信装置、通信システム、通信方法及び通信プログラム
CN112333769B (zh) * 2019-08-05 2022-10-11 华为技术有限公司 一种通信方法和装置
JP7301024B2 (ja) * 2020-06-18 2023-06-30 Toa株式会社 情報提供システム及び情報提供方法
CN113282552B (zh) * 2021-06-04 2022-11-22 上海天旦网络科技发展有限公司 流量统计日志的相似性向量化方法及系统
CN113377553B (zh) * 2021-06-23 2024-03-22 浙江素泰智能电子有限公司 一种基于压缩字典的在线传输压缩机制
DE102022003682A1 (de) * 2022-10-05 2024-04-11 Mercedes-Benz Group AG Verfahren zur Kompression und Dekompression von Log-Dateien und informationstechnisches System

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60116228A (ja) 1983-06-20 1985-06-22 ユニシス コーポレーション ディジタル信号ストリーム圧縮方法及び圧縮装置
JP2006287518A (ja) * 2005-03-31 2006-10-19 Fujitsu Ltd 圧縮規則生成方法、圧縮通信装置及びプログラム
JP2007087186A (ja) * 2005-09-22 2007-04-05 Fuji Xerox Co Ltd ログ収集システムおよび方法
US20120296983A1 (en) * 2011-05-17 2012-11-22 Microsoft Corporation Managing compression dictionaries
US20130114626A1 (en) * 2011-11-08 2013-05-09 Canon Kabushiki Kaisha Methods and network devices for communicating data packets
JP2014116780A (ja) * 2012-12-10 2014-06-26 Toshiba Corp 衛星通信システム、移動局、移動局監視方法及び移動局監視プログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6606040B2 (en) 2001-02-13 2003-08-12 Mosaid Technologies, Inc. Method and apparatus for adaptive data compression
US8572218B2 (en) * 2009-12-10 2013-10-29 International Business Machines Corporation Transport data compression based on an encoding dictionary patch
US9031997B2 (en) * 2011-10-25 2015-05-12 International Business Machines Corporation Log file compression
JP5906906B2 (ja) * 2012-03-30 2016-04-20 富士通株式会社 ログ管理方法、ログ管理システムおよび情報処理装置
KR101624711B1 (ko) * 2013-12-24 2016-05-26 (주)에프씨아이 부동소수점 방식을 이용한 데이터 압축/복원 방법 및 장치

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60116228A (ja) 1983-06-20 1985-06-22 ユニシス コーポレーション ディジタル信号ストリーム圧縮方法及び圧縮装置
JP2006287518A (ja) * 2005-03-31 2006-10-19 Fujitsu Ltd 圧縮規則生成方法、圧縮通信装置及びプログラム
JP2007087186A (ja) * 2005-09-22 2007-04-05 Fuji Xerox Co Ltd ログ収集システムおよび方法
US20120296983A1 (en) * 2011-05-17 2012-11-22 Microsoft Corporation Managing compression dictionaries
US20130114626A1 (en) * 2011-11-08 2013-05-09 Canon Kabushiki Kaisha Methods and network devices for communicating data packets
JP2014116780A (ja) * 2012-12-10 2014-06-26 Toshiba Corp 衛星通信システム、移動局、移動局監視方法及び移動局監視プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3435236A4

Also Published As

Publication number Publication date
JP2017173982A (ja) 2017-09-28
US20190089371A1 (en) 2019-03-21
EP3435236A4 (en) 2019-03-13
EP3435236B1 (en) 2020-04-29
US10469101B2 (en) 2019-11-05
EP3435236A1 (en) 2019-01-30
JP6735469B2 (ja) 2020-08-05

Similar Documents

Publication Publication Date Title
WO2017163896A1 (ja) ログ収集装置、ログ生成装置、およびログ収集方法
CN109040252B (zh) 文件传输方法、系统、计算机设备和存储介质
US8624983B2 (en) Digital information input apparatus
US9762985B2 (en) Storing data in motion by optical and electrical conversion of signals
US8635194B2 (en) System and method for data compression
US9083708B2 (en) Asymmetric end host redundancy elimination for networks
US7661036B1 (en) Cache for collecting events on a monitored computer
JP2006216064A (ja) 画像ファイル格納システム、遠隔格納装置、画像ファイル記録方法及び画像ファイル検索方法
KR20190042348A (ko) 단방향 통신 환경에서의 데이터베이스 동기화 방법 및 이를 위한 장치
JP6172296B2 (ja) 通信装置、通信方法、および、通信プログラム
KR102067630B1 (ko) 접근 제어 기반 데이터 분산 저장 시스템 및 방법
CN112039936B (zh) 数据传输方法、第一数据处理设备及监控系统
JP5682436B2 (ja) バックアッププログラム、情報処理装置、情報処理端末、バックアップ方法
JP4756003B2 (ja) データ圧縮転送装置、データ圧縮転送システム、データ圧縮転送方法、およびデータ圧縮転送プログラム
JP6455541B2 (ja) 通信システム
CN109977121B (zh) 一种大数据快速存储系统
CN112532700A (zh) 一种传输数据的方法及相关设备
JP3185955B2 (ja) 画像データ伝送システム
JP2016091556A (ja) 印刷装置データ処理システムおよび印刷装置データ処理方法
CN113254262B (zh) 一种数据库容灾方法、装置和电子设备
US11153153B2 (en) Information processing apparatus and information processing system
KR100503786B1 (ko) 프린터 출력물 정보 관리 방법
JP2007058511A (ja) 画像処理装置および画像処理システム
JP2024021104A (ja) 情報処理装置、および情報処理方法
KR100993945B1 (ko) 관리 대상 장비의 수집정보 갱신을 위한 망 관리 장치 및그 방법

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2017769941

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2017769941

Country of ref document: EP

Effective date: 20181022

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

Ref document number: 17769941

Country of ref document: EP

Kind code of ref document: A1