WO2014148247A1 - 処理制御システム、処理制御方法、および処理制御プログラム - Google Patents

処理制御システム、処理制御方法、および処理制御プログラム Download PDF

Info

Publication number
WO2014148247A1
WO2014148247A1 PCT/JP2014/055475 JP2014055475W WO2014148247A1 WO 2014148247 A1 WO2014148247 A1 WO 2014148247A1 JP 2014055475 W JP2014055475 W JP 2014055475W WO 2014148247 A1 WO2014148247 A1 WO 2014148247A1
Authority
WO
WIPO (PCT)
Prior art keywords
processing
analysis
information
time
distribution
Prior art date
Application number
PCT/JP2014/055475
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 JP2015506685A priority Critical patent/JP6062034B2/ja
Priority to US14/772,723 priority patent/US9501326B2/en
Publication of WO2014148247A1 publication Critical patent/WO2014148247A1/ja

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/5044Allocation 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 hardware capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/183Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components
    • G06F11/184Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components where the redundant components implement processing functionality
    • 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/3419Recording 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 by assessing time
    • 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/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/503Resource availability
    • 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 a technique for distributing processing to a plurality of computers.
  • CEP Complex Event Processing
  • batch processing has a wide range of data to be processed (from several days to several years).
  • the CEP technique targets the latest data range (a few minutes). Due to the difference in properties, batch processing is suitable for trend analysis and the like, and CEP technology is suitable for illegal value detection and real-time billing control based on access logs and the like.
  • the analysis server analyzes a large amount of data in a CEP technology system, the processing performance of the analysis server is limited.
  • the amount of data processed by the CEP technology is particularly large, there is a risk that performance degradation may occur due to a delay in data analysis processing by the CEP technology.
  • Patent Document 1 paragraphs 0039 and 0041.
  • Patent Document 1 is a mechanism for selecting an analysis server with a low processing load and executing the process in order to prevent performance degradation.
  • Patent Document 2 a technique for distributing the load among a plurality of computers has been considered (Patent Document 2).
  • a plurality of computers express each load as a queue usage rate, and attempt to prevent load bias by transferring a client request to a computer having the lowest usage rate.
  • redundancy is one of the mechanisms for improving reliability, that is, providing fault tolerance (fault tolerance).
  • fault tolerance fault tolerance
  • a plurality of the same systems are prepared, and all of them are executed in parallel, and even if a failure occurs in a certain system, reliability is ensured by continuing operation of other systems.
  • the degree of failure for example, the occurrence of a calculation error due to an internal failure of the CPU
  • the result may not be the same even if the same processing is performed in a plurality of systems.
  • Patent Document 3 in a system that receives a processing request and transmits the result of processing the request by a computer, the same processing request is transmitted to all of the plurality of computers, and the processing result is received from the plurality of computers.
  • a configuration for comparing a plurality of reception results and outputting a correct processing result is shown.
  • Patent Document 1 aggregates highly related events to a specific analysis server based on the load. Therefore, when analysis target data is particularly large, the load on the analysis server may limit the processing performance. It becomes difficult to complete the analysis within a predetermined time.
  • Patent Document 2 the technology for transferring requests between a plurality of computers disclosed in Patent Document 2 is difficult to perform load distribution efficiently. Further, when processing requests are processed between a plurality of computers having different specifications as described above, a difference in load balance occurs between the plurality of computers, so that a time difference in request processing occurs.
  • Patent Documents 1 and 2 only select one server or computer with a low processing load, and do not consider fault occurrence, so they do not have fault tolerance.
  • the processing is executed in parallel on all of a plurality of computers.
  • the upper limit of the processing performance of one computer determines the performance of the entire system. Therefore, when the technique disclosed in Patent Document 3 is applied to a system that analyzes and analyzes a large amount of information such as big data, there is a problem that the throughput of the system decreases as the processing amount increases.
  • n computers for example, an analysis server
  • m Provides a technology that selects a computer (for example, an analysis server) (1 ⁇ m ⁇ n) and processes a plurality of processing results by the selected computer (for example, an analysis server) by a predetermined method to obtain the most probable result. Is done.
  • a processing system that is a more specific aspect includes the following configuration.
  • a load distribution device connected to n (n is 3 or more) processing devices, a processing result determination device connected to the n processing devices, and the load distribution device and the processing result determination device A management device.
  • the management device acquires time information required in the past processing for each of the n processing devices, and determines the time required for each of the n processing devices to process the processing target information. And estimating time information indicating the relationship between the estimated time and the processing device is transmitted to the load distribution device.
  • the load distribution apparatus determines m (1 ⁇ m ⁇ n) processing apparatuses that process the processing target information based on the estimated time information, and determines the processing target information as the determined m pieces of processing target information. Send to the specified processing device.
  • Each of the m designated processing devices calculates a processing result by processing the processing target information, and transmits the processing result to the processing result determination device.
  • the processing result determination device receives m processing results from the m designated processing devices, estimates a true value from the m processing results by a predetermined method, and determines the estimated value. The estimated value is transmitted to a subsequent processing apparatus that processes
  • a load distribution program for a computer of a load distribution apparatus connected to n which is another aspect, is the management apparatus connected to the load distribution apparatus, For each of the n processing devices, time information required in the past processing is acquired, and a time required for processing the processing target information by each of the n processing devices is estimated based on the time information.
  • the estimated time information indicating the relationship between the estimated time and the processing device is transmitted to the load balancer, m pieces (1 ⁇ m ⁇ n) for processing the processing target information based on the estimated time information.
  • Is executed by the computer and the computer is caused to transmit the processing target information to the determined m designated processing devices.
  • Each of the m designated processing devices calculates a processing result by processing the processing target information, and transmits the processing result to the processing result determination device.
  • the processing result determination device receives m processing results from the m designated processing devices, estimates a true value from the m processing results by a predetermined method, and determines the estimated value. The estimated value is transmitted to a subsequent processing apparatus that processes
  • a processing result determination program for a computer of a processing result determination apparatus connected to n which is another aspect, is a management apparatus connected to the processing result determination apparatus
  • time information required in the past processing is acquired, and the required time required for processing of the processing target information by each of the n processing devices is determined based on the time information.
  • Estimated time is estimated, and estimated time information indicating the relationship between the estimated time and the processing device is transmitted to the management device, the n processing devices, and the load distribution device connected to the processing result determination device.
  • the load balancer determines m (1 ⁇ m ⁇ n) processing devices for processing the processing target information based on the estimated time information, and determines the m processing target information. Specified place When each of the m designated processing devices calculates the processing result by processing the processing target information and transmits the processing result to the processing result determination device, the m designation processing devices Causing the computer to receive m processing results from the processing device, respectively, and causing the computer to estimate a true value from the m processing results by a predetermined method to obtain an estimated value; The computer is caused to transmit the estimated value to a subsequent processing apparatus that processes the estimated value.
  • processing can be distributed so that processing results are output within the required time.
  • the administrator weights the processing results of a certain server, and a majority decision based on the weighting is performed. You can also get true results.
  • the processing results of a server are invalidated. As a result, it is possible to obtain a true result by majority decision based on this.
  • a probability distribution or an average value when the result is output in multiple values is used as a mechanism for estimating a true result of processing results in a plurality of servers. It is possible to obtain a probable estimated value by providing a mechanism for obtaining an estimated value and a mechanism for determining even if the number of results for determination is an even number.
  • 1 shows a configuration of a computer system used in each embodiment.
  • 1 shows a configuration of a dispersion apparatus 10.
  • the structure of the management server 9 is shown.
  • the structure of the analysis server 11 is shown.
  • the structure of the log output server 8 is shown.
  • the structure of the determination apparatus 12 is shown.
  • the distribution management table 121 in the distribution apparatus 10 is shown.
  • An event type identification table 122 in the distribution apparatus 10 is shown.
  • 2 shows a communication management table 123 in the distribution apparatus 10.
  • a request time table 920 in the management server 9 is shown.
  • An analysis logic management table 921 in the management server 9 is shown.
  • the connection destination management table 922 in the management server 9 is shown.
  • the time management table 923 in the management server 9 is shown.
  • the statistical time management table 924 in the management server 9 is shown.
  • the 2 shows a logic management table 1120 in the analysis server 11.
  • the queue management table 1121 in the analysis server 11 is shown.
  • the connection destination management table 1123 in the analysis server 11 is shown.
  • a simple distribution rule 820 in the log output server 8 is shown.
  • a simplified distribution destination table 821 in the log output server 8 is shown.
  • the analysis result management table 720 in the determination apparatus 12 is shown.
  • the distribution number management table 721 in the management server 9 and the determination apparatus 12 is shown.
  • 7 shows a communication management table 722 in the determination apparatus 12.
  • the distribution number information transmission processing by the management server 9 is shown.
  • the queue statistical information transmission process by the management server 9 is shown.
  • the distribution order update process by the distribution apparatus 10 is shown.
  • the event transmission process by the log output server 8 is shown.
  • the distributed processing by the distribution apparatus 10 is shown.
  • the distribution destination response process by the management server 9 is shown.
  • the distribution destination registration process by the management server 9 is shown.
  • the analysis process by the analysis server 11 is shown.
  • the distribution number information update process by the determination apparatus 12 is shown.
  • the analysis result determination process by the determination apparatus 12 is shown.
  • the analysis result registration process by the management server 9 is shown.
  • the structure of the management server 9 of Example 2 is shown. 9 shows an analysis server state management table 925 in the management server 9 of the second embodiment.
  • the structure of the dispersion apparatus 10 of Example 3 is shown.
  • 10 shows a session management table 124 in the distributed apparatus 10 of the third embodiment.
  • distribution apparatus 10 of Example 3 is shown.
  • Each of the n processing devices corresponds to an analysis device, an analysis server 11, and the like. Processing corresponds to analysis and the like.
  • the load distribution device corresponds to the distribution device 10 or the like.
  • the processing result determination device corresponds to the analysis result determination device, the determination device 12, and the like.
  • the management device corresponds to the management server 9 or the like.
  • the subsequent processing device corresponds to the processing device that processes the estimated value, the AP server 13, and the like.
  • the processing target information corresponds to analysis target information or an event.
  • Each of the m designated processing devices corresponds to a specific analysis device, a distribution destination analysis server 11, and the like.
  • the time information corresponds to the time management table 923, estimated time, and the like.
  • the estimated time corresponds to the statistical time management table 924, estimated time, average estimated time, and the like.
  • the estimated time information corresponds to queue statistical information, distributed destination responses, and the like.
  • the load distribution program corresponds to the program of the distribution apparatus 10 and the like.
  • the processing result determination program corresponds to the program of the determination device 12 or the like.
  • the communication device corresponds to the log output server 8 or the like.
  • the processing control program corresponds to a program of the management server 9 or the like.
  • the upper limit corresponds to the request time.
  • FIG. 1 shows the configuration of a computer system according to an embodiment of the present invention.
  • the computer system includes a plurality of clients 7, a plurality of log output servers 8, a management server 9, a plurality of distribution devices 10, a plurality of analysis servers 11, a plurality of determination devices 12, and a plurality of determination devices. And an AP (Application) server 13.
  • the number of log output servers 8 may be one, the number of distribution devices 10 may be one, the number of determination devices 12 may be one, or an AP server The number of 13 may be one.
  • the client 7 may be omitted.
  • the client 7 is connected to the log output server 8 via the network 15.
  • the log output server 8 is connected to a plurality of distributed devices 10 via the network 16.
  • the distribution apparatus 10 is connected to a plurality of analysis servers 11 via the network 17.
  • the analysis server 11 is connected to the plurality of determination devices 12 via the network 18.
  • the determination device 12 is connected to a plurality of AP servers 13 via the network 19.
  • the management server 9 is connected to a plurality of distributed devices 10 via the network 5.
  • the management server 9 is connected to a plurality of analysis servers 11 via the network 6.
  • the management server 9 is connected to a plurality of determination devices 12 via the network 14. Note that the management server 9 may not be connected to the plurality of analysis servers 11.
  • the distribution device 10 and the determination device 12 are provided as separate hardware. However, the distribution device 10 and the determination device 12 may be provided in the same hardware. . Further, the distribution device 10, the analysis server 11, and the determination device 12 may be provided in the same hardware.
  • the management server 9 is provided as hardware different from the distribution device 10, the analysis server 11, and the determination device 12. However, the management server 9 includes the distribution device 10, the analysis server, and the like. 11 or the determination device 12 may be provided.
  • the management server 9 is provided as a single computer. However, the management server 9 may be provided as a computer system having a plurality of management servers 9. However, in that case, it is necessary to share or synchronize information among the plurality of management servers 9.
  • the client 7 communicates with the log output server 8.
  • the log output server 8 generates a log indicating the content of communication with the client 7, selects a transmission destination from among a plurality of distributed devices 10 according to the content of the event in the log, and sends it to the selected distributed device 10. Output an event.
  • the distribution apparatus 10 that has received the event selects a transmission destination from the plurality of analysis servers 11 according to the contents of the event, and transmits the event to the selected analysis server 11.
  • the analysis server 11 that has received the event analyzes the event and transmits analysis result information including an analysis value obtained from the analysis to the determination device 12.
  • the determination device 12 that has received the plurality of analysis values estimates the true value of the plurality of analysis values as an estimation value, and transmits the estimation value as a final analysis result to the AP server 13 that requests the analysis result. .
  • the AP server 13 that has received the estimated value executes an AP that uses the estimated value.
  • the client 7 corresponds to a communication terminal device such as a mobile phone or a smartphone used by the user.
  • the log output server 8 corresponds to a base station, a GW (Gateway), and the like, and outputs a communication log of the communication terminal device as an event.
  • the analysis server 11 analyzes the communication amount for each user, the usage amount of paid content, and the like based on the event.
  • the AP in the AP server 13 controls the bandwidth of the communication terminal device according to the communication amount of each communication terminal device and the billing process for processing the billing to the user according to the usage of the paid content and the communication amount of the communication terminal device. Perform bandwidth control and so on.
  • the log output server 8 may be a camera or a sensor. In this case, the log output server 8 transmits the detected information to the distribution apparatus 10 as an event.
  • the computer system in this case may not have the client 7.
  • Such a computer system can also be applied to a network system that communicates data between a server and a client, such as a WWW (World Wide Web), a mail system, and a data center.
  • a WWW World Wide Web
  • a mail system such as a mail system, and a data center.
  • a system including the management server 9, the distribution device 10, and the determination device 12 may be referred to as an analysis control system.
  • a system having an analysis control system and a plurality of analysis servers 11 may be referred to as an analysis system.
  • FIG. 2 shows the configuration of the dispersion apparatus 10.
  • the distributed device 10 is realized by a computer having one or more CPUs (Central Processing Unit) 101, one or more network interfaces (NW I / F) 102 to 104, an input / output device 105, and a memory 107. . Each part of the distribution device 10 is connected to each other via a communication path such as the internal bus 106.
  • the NW I / F 102 is connected to the log output server 8 via the network 16.
  • the NW I / F 103 is connected to the analysis server 11 via the network 17.
  • the NW I / F 104 is connected to the management server 9 via the network 6.
  • the memory 107 stores programs of the distributed function 111 and the logic load acquisition function 112, a distributed management table 121, an event type identification table 122, and a communication management table 123.
  • Each program of the distribution apparatus 10 may be stored in the memory 107 of the distribution apparatus 10 in advance, or may be recorded on a recording medium that can be used by the distribution apparatus 10 and introduced into the memory 107 when necessary.
  • the recording medium refers to a storage medium that can be attached to and detached from an external device interface (not shown) in the distribution apparatus 10, for example.
  • the distribution function 111 determines the analysis server 11 as a distribution destination of the event received from the log output server 8 based on the distribution management table 121, and transfers the event to the distribution destination.
  • FIG. 3 shows the configuration of the management server 9.
  • the management server 9 is realized by a computer having one or more CPUs 901, one or more network interfaces (NW I / F) 902 to 904, an input / output device 905, and a memory 907. Each unit of the management server 9 is connected to each other via a communication path such as the internal bus 906.
  • the NW I / F 902 is connected to the distribution apparatus 10 via the network 5.
  • the NW I / F 903 is connected to the determination device 12 via the network 14.
  • the NW I / F 904 is connected to the analysis server 11 via the network 6.
  • the memory 907 includes programs for the management function 910 and logic management function 911, a request time table 920, an analysis logic management table 921, a distributed number management table 721, a connection destination management table 922, a time management table 923, and a statistical time management table. 924 are stored.
  • each program of the management server 9 may be stored in advance in the memory 907 of the management server 9, or recorded in a recording medium that can be used by the management server 9, and when necessary, the memory 907. May be introduced.
  • the logic management function 911 acquires information related to distribution from the distribution device 10 and the determination device 12, and analyzes the queue state of the analysis server 11 based on the information. Then, the management function 910 determines a distribution destination according to the request time of the AP based on the result analyzed by the logic management function 911. The management function 910 receives an instruction from a computer system administrator.
  • FIG. 4 shows the configuration of the analysis server 11.
  • the analysis server 11 is realized by a computer having one or more CPUs 1101, one or more network interfaces (NW I / F) 1102 to 1104, an input / output device 1105, and a memory 1107. Each part of the analysis server is connected to each other via a communication path such as the internal bus 1106.
  • the NW I / F 1102 is connected to the distribution apparatus 10 via the network 17.
  • the NW I / F 1103 is connected to the determination device 12 via the network 18.
  • the NW I / F 1104 is connected to the management server 9 via the network 6.
  • the memory 1107 stores the analysis function 1110 and queue management function 1111 programs, a logic management table 1120, a queue management table 1121, an event type identification table 122, and a connection destination management table 1123.
  • each program of the analysis server 11 may be stored in advance in the memory 1107 of the analysis server 11, or is recorded on a recording medium that can be used by the analysis server 11, and when necessary, the memory 1107 is stored. May be introduced.
  • the analysis function 1110 selects an analysis logic for analyzing an event received from the distributed device 10 based on the event type identification table 122 and the logic management table 1120, and executes an analysis process according to the analysis logic.
  • the queue management function 1111 once stores the event received from the distribution apparatus 10 in the queue management table 1121 and extracts the event from the queue management table 1121 as required by the analysis function 1110.
  • the queue management table 1121 in the analysis server 11 may be simply referred to as a queue.
  • FIG. 5 shows the configuration of the log output server 8.
  • the log output server 8 is realized by a computer having one or more CPUs 801, one or more network interfaces (NW I / F) 802 to 803, an input / output device 804, and a memory 806. Each unit of the log output server 8 is connected to each other via a communication path such as the internal bus 805.
  • the NW I / F 802 is connected to the client 7 via the network 15.
  • the NW I / F 803 is connected to the distribution apparatus 10 via the network 16.
  • the memory 806 stores each program of the node function 810 and the simple distribution function 811, a simple distribution rule 820, a simple distribution destination table 821, and an event type identification table 122.
  • each program of the log output server 8 may be stored in advance in the memory 806 of the log output server 8, or recorded on a recording medium that can be used by the log output server 8, and when necessary. May be installed in the memory 806.
  • the node function 810 executes processing for the request received from the client 7.
  • the simple distribution function 811 transfers the access log output in the process in which the request of the client 7 is processed by the node function 810 to the distribution apparatus 10 from among the distribution apparatuses 10 registered in the simple distribution destination table 821. Then, the distribution device 10 is selected and distributed according to the simple distribution rule 820.
  • FIG. 6 shows the configuration of the determination device 12.
  • the determination device 12 is realized by a computer having one or more CPUs 1201, one or more network interfaces (NW I / F) 1202 to 1203, an input / output device 1204, and a memory 1206.
  • the determination devices 12 are connected to each other via a communication path such as the internal bus 1205.
  • the NW I / F 1202 is connected to the analysis server 11 via the network 18.
  • the NW I / F 1203 is connected to the AP server 13 via the network 19.
  • the memory 1206 stores a program for the determination function 1210, an analysis result management table 720, a distribution number management table 721, a request time table 920, and a communication management table 722.
  • each program may be stored in advance in the memory 1206 of the determination device 12, or recorded in a recording medium that can be used by the determination device 12 and introduced into the memory 1206 when necessary. Also good.
  • the determination function 1210 stores the analysis result information received from the plurality of analysis servers 11 in the analysis result management table 720, and estimates the analysis value with the highest probability based on the analysis values indicated in the plurality of analysis result information. And the estimated value is transmitted to the AP server 13.
  • FIG. 7 shows a distribution management table 121 in the distribution apparatus 10.
  • the distribution management table 121 is information for distributing an event received from the log output server 8 by the distribution apparatus 10, and indicates a distribution instruction according to the event classification.
  • the distributed management table 121 has a record for each event type.
  • the event type indicates a classification of request time.
  • the request time is an upper limit of processing time (required time) that can be used for analysis, and is requested by the AP.
  • the event types in this embodiment are a fixed time type and a real time type.
  • the request time of the real time type is shorter than the request time of the fixed time type.
  • Each record of the distribution management table 121 has an event type column 1211, a distribution order column 1212, an update time column 1213, and a distribution number column 1214.
  • the event type is registered in the event type column 1211.
  • the contents registered here are the contents of the event type column 1221 of the event type identification table 122 described later.
  • the distribution order column 1212 priorities of a plurality of analysis servers 11 that are candidates for distribution of the event type event are registered.
  • the update time column 1213 the update time of the record is registered.
  • the distribution number column 1214 a distribution number that is the number of analysis servers 11 that are the distribution destinations of the event type event is registered.
  • the distribution apparatus 10 when the event type is “fixed time type”, the distribution apparatus 10 is distributed to “5” analysis servers 11 that are the number of distributions.
  • the distribution apparatus 10 selects as many analysis servers 11 as the distribution destination in order from the top registered in the distribution order column 1212. Note that the number of distributions may be smaller than the number of analysis servers 11 registered in the distribution order column 1212.
  • FIG. 8 shows the event type identification table 122 in the distributed apparatus 10.
  • the event type identification table 122 is information for identifying an event received from the log output server 8.
  • the event type identification table 122 has a record for each event type. Each record has an event type column 1221, a protocol column 1222, and a header column 1223.
  • the event type discriminated in the computer system is registered in the event type column 1221.
  • the protocol column 1222 the protocol name of the event received from the log output server 8 is registered.
  • the header field 1223 the name of a specific header referred to for identifying the event type is registered.
  • the distribution apparatus 10 identifies the corresponding event type by referring to the event protocol and a specific header.
  • FIG. 9 shows the communication management table 123 in the distributed apparatus 10.
  • the communication management table 123 IP addresses and netmasks necessary for the distributed device 10 to communicate with the connection destination are registered.
  • the connection destination is the analysis server 11, the management server 9, or the like.
  • the communication management table 123 has a record for each connection destination. Each record has a distinction column 1231, an address column 1232, and a mask value column 1233.
  • connection destination In the distinction column 1231, the name of the connection destination for identifying the connection destination is registered. In the address column 1232 and the mask value column 1233, the IP address and netmask value of the connection destination are registered.
  • FIG. 10 shows a request time table 920 in the management server 9.
  • the request time table 920 a request time that is an analysis time required by the AP is registered.
  • the request time table 920 has a record for each event type. Each record has an event type column 9201 and a request time column 9202.
  • the event type is registered in the event type column 9201.
  • the request time column 9202 a request time for the event type is registered.
  • the request of the AP server 13 is to request that each estimated value be transferred to the AP server 13 within the required time “500 ms” from the occurrence of the event.
  • three or more event types may be registered in the request time table 920 corresponding to three or more request times, respectively.
  • FIG. 11 shows an analysis logic management table 921 in the management server 9.
  • the analysis logic management table 921 is information related to the analysis logic executed by each analysis server 11. Based on this information, the management server 9 calculates how long it takes the analysis processing of one event by the analysis server 11.
  • the analysis logic management table 921 has a record for each combination of event type, analysis server, and analysis logic. Each record includes an event type column 9211, an analysis server column 9212, an analysis server 11, and an analysis logic column 9213.
  • the event type is registered in the event type column 9211.
  • a name for identifying the analysis server 11 is registered.
  • analysis logic for the event type of the analysis server 11 is registered.
  • analysis time column 9214 an analysis time that is a time required for the analysis processing when the analysis server 11 executes the analysis logic is registered.
  • the analysis time required for the analysis server 11 of the “analysis server a” to process the real-time event by the analysis logic “R1” is “123 ms”.
  • the management server 9 receives the information indicating the distribution of the event by the distribution device 1 from the distribution device 10 when the queue of the analysis server 11 is empty, and the result of the analysis of the event by the determination device 12. The difference from the time at which the information indicating the reception is received from the determination device 12 is calculated as the analysis time.
  • the time required may be calculated as the analysis time by the distributed device 10, the management server 9, or the like transmitting a pseudo event to the analysis server 11 and acquiring the analysis result.
  • the performance of each of the plurality of analysis servers 11 may be different as described above.
  • the time required for the event analysis process differs. That is, the time required for the event analysis process includes the performance information of the analysis server 11.
  • FIG. 12 shows a connection destination management table 922 in the management server 9.
  • the connection destination management table 922 contains information on IP addresses and netmasks necessary for the management server 9 to communicate with the connection destination.
  • the connection destination is the distributed device 10, the determination device 12, the analysis server 11, and the like.
  • the connection destination management table 922 has a record for each connection destination. Each record has a distinction column 9221, an address column 9222, and a mask value column 9223.
  • the name of the connection destination is registered.
  • the address column 9222 and the mask value column 9223 the IP address and netmask value of the connection destination are registered.
  • FIG. 13 shows a time management table 923 in the management server 9.
  • the time management table 923 is information for grasping how many events are registered in the queue of the analysis server 11. Further, the time management table 923 indicates estimated time used for determining a real-time type distribution destination.
  • the management server 9 includes information indicating to which analysis server 11 the event is distributed from the distribution device 10 and the determination device 12 that are before and after the analysis server 11, and information indicating from which analysis server 11 the analysis result information is obtained. Are received and sequentially registered in the time management table 923.
  • the management server 9 can estimate the queue status of each analysis server 11 by referring to the time management table 923.
  • the time management table 923 includes a record for each information received from the distribution device 10 or the determination device 12 by the management server 9. Each record has an analysis server column 9231, a reception source column 9232, an event type column 9233, an event type column 9234, an estimated time column 9235, and an update time column 9235.
  • the estimated time corresponds to the estimated time.
  • the identification information of the analysis server 11 indicated in the information received from the distribution apparatus 10 or the identification information of the analysis server 11 indicated in the information received from the determination apparatus 12 is registered.
  • the receiving source column 9232 information indicating whether the information of the record is received from the distribution device 10 or the determination device 12 is registered.
  • the event type column 9233 the event type of the event indicated in the information received from the distributed apparatus 10 or the event type of the event indicated in the information received from the distributed apparatus 10 is registered.
  • the event type column 9234 the event type of the event is registered.
  • the event type is identification information of the client 7, identification information of the user of the client 7, and the like.
  • the estimated time column 9235 an estimated time from when an event is put into the queue to when the analysis is completed when processing is executed with the analysis logic corresponding to the event type of the record in the analysis logic management table 921 is registered.
  • the In the estimated time column 9235 the estimated time received from the determination device 12 is not registered.
  • the update time column 9235 the time when the record is updated is registered.
  • the management server 9 updates the time management table 923 by an analysis result registration process described later.
  • the event type is identification information of a communication terminal device.
  • the analysis server 11 analyzes the amount of communication according to the event type, it is possible to determine charging or bandwidth control for a specific communication terminal device.
  • the second record indicates that the distribution device 10 transmits the event of “real time type” and the identifier “B” to the “analysis server b”, and then the determination device 12 receives the analysis result information from the “analysis server b”.
  • the estimated time until reception is “0.123 sec”.
  • the fourth record 0 indicates that the determination device 12 has received the analysis result information of the event indicated in the second record from the “analysis server b”.
  • the management server 9 can estimate the state of each analysis server 11 by scanning the time management table 923.
  • FIG. 14 shows a statistical time management table 924 in the management server 9.
  • the statistical time management table 924 indicates an average estimated time used for determining a fixed time type distribution destination.
  • the statistical time management table 924 includes a record for each combination of the analysis server 11 and the analysis logic. Each record has an analysis server column 9241, an average estimated time column 9242, an update time column 9243, a total time column 9244, a counter column 9245, and an analysis logic 9246.
  • identification information of the analysis server 11 is registered.
  • the average estimated time column 9242 the average estimated time from when the event of the analysis logic is newly input to the current analysis server 11 until the analysis result information is output is the total time column 9244, the counter column 9245, Is calculated and registered based on the information. Note that the average estimated time may not include the analysis time of the newly input event.
  • the update time column 9243 the time when the record was updated is registered.
  • the total time column 9244 registers the total time, which is a cumulative value of the time from when an event is input to the analysis logic of the analysis server 11 until the analysis is completed.
  • the counter column 9245 the counter value of the event input to the analysis logic of the analysis server 11 is registered.
  • the total time and the counter value may be a cumulative value from the start of the operation of the analysis server 11 or may be periodically reset.
  • identification information of the analysis logic is registered. Corresponding event type identification information may be registered instead of the analysis logic.
  • the management server 9 updates the statistical time management table 924 by an analysis result registration process described later.
  • the average estimated time registered in the average estimated time column 9242 is a quotient obtained by dividing the total time in the total time column 9244 by the counter value in the counter column 9245. That is, the average estimated time is an average value of the time from when an event of the analysis logic of the analysis server 11 is input until the analysis result information is output. In this way, in the statistical time management table 924, a statistical average estimated time when an event is processed in each analysis server 11 is registered. By using the statistical time management table 924, the management server 9 can perform distribution satisfying the requested time without grasping the queue status of the analysis server 11 in units of events.
  • the statistical time management table 924 may have a record for each analysis server 11.
  • FIG. 15 shows a logic management table 1120 in the analysis server 11.
  • the logic management table 1120 indicates analysis logic for each event received from the distribution apparatus 10 by the analysis server 11.
  • the logic management table 1120 has a record for each event type. Each record has an event type column 11201 and an analysis logic column 11203.
  • event type column 11201 an event type is registered.
  • analysis logic column 11203 an analysis logic for analyzing the event type event is registered.
  • FIG. 16 shows the queue management table 1121 in the analysis server 11.
  • the analysis server 11 sequentially registers the events received from the distribution apparatus 10 in the queue management table 1121. Further, the analysis server 11 sequentially executes events from the top of the queue management table 1121.
  • the queue management table 1121 has a record for each event. Each record has a number (No.) column 11211, an analysis logic column 11212, an event content column 11213, and a reception time column 11214.
  • the serial number of the event is registered.
  • the analysis logic column 11212 the analysis logic of the event is registered.
  • the event content column 11213 the event content received from the distribution apparatus 10 is registered.
  • the event content is all the data of the received event.
  • the event content is received binary data.
  • the reception time column 11214 the time when the record is registered is registered.
  • FIG. 17 shows the connection destination management table 1123 in the analysis server 11.
  • the connection destination management table 1123 is information on the IP address and netmask necessary for the analysis server 11 to communicate with the connection destination.
  • the connection destination is the distributed device 10, the determination device 12, the management server 9, and the like.
  • the connection destination management table 1123 has a record for each connection destination. Each record has a distinction column 11231, an address column 11232, and a mask value column 11233.
  • the name of the connection destination is registered.
  • the address column 11232 and the mask value column 11233 the IP address and netmask value of the connection destination are registered.
  • FIG. 18 shows a simple distribution rule 820 in the log output server 8.
  • the log output server 8 selects an event transmission destination from a plurality of distributed devices 10 in accordance with the simple distribution rule 820.
  • the simple distribution rule 820 has a rule column 8201. In the rule column 8201, distributed logic for selecting an event transmission destination is registered.
  • FIG. 19 shows a simple distribution destination table 821 in the log output server 8.
  • the simple distribution destination table 821 IP address and netmask information necessary for the log output server 8 to transmit an event to the distribution apparatus 10 are registered.
  • the simple distribution destination table 821 has a record for each distribution apparatus 10. Each record has a distinction column 8211, an address column 8212, and a mask value column 8213.
  • the name of the distribution apparatus 10 as the transmission destination is registered.
  • the address column 8212 and the mask value column 8213 the IP address and netmask value of the registration destination name of the record are registered.
  • FIG. 20 shows an analysis result management table 720 in the determination apparatus 12.
  • the determination device 12 registers the analysis result information received from the analysis server 11 in the analysis result management table 720, determines a majority decision based on the analysis result management table 720, determines an estimated value, and estimates the estimated value. Is transmitted to the AP server 13.
  • the analysis result management table 720 has a record for each analysis result information. Each record has a number (No.) column 12201, an event type column 12202, an analysis server column 12203, an event type column 12204, an analysis value column 12205, and a reception time column 12206.
  • the serial number of the analysis result information is registered in the number column 12201.
  • the event type column 12202 the event type of the target event of the analysis result information is registered.
  • the analysis server column 12203 the identification information of the analysis server 11 that has output the analysis result information (the transmission source of the analysis result information) is registered.
  • the event type column 12204 the event type of the event is registered.
  • the analysis value column 12205 an analysis value that is a result of the analysis indicated in the analysis result information and output by the analysis by the analysis server 11 is registered.
  • the reception time column 12206 the time when the analysis result information is received is registered.
  • the determination device 12 identifies each event using two pieces of information in the analysis server column 12203 and the event type column 12204, and performs determination using the identified event.
  • FIG. 21 shows a distribution number management table 721 in the management server 9 and the determination device 12.
  • the distributed number management table 721 indicates the distributed number for each event type.
  • the determination device 12 determines the timing for performing the majority decision on the analysis result information based on the distribution number management table 721 and the number of analysis result information.
  • the distributed number management table 721 has a record for each event type. Each record has an event type column 12211 and a distribution number column 12212.
  • the event type is registered in the event type column 12211.
  • the distribution number column 12212 a distribution number that is the number of analysis servers 11 that are the distribution destinations of the event type event is registered.
  • FIG. 22 shows a communication management table 722 in the determination apparatus 12.
  • the communication management table 722 is information on IP addresses and netmasks necessary for the determination apparatus 12 to communicate with the connection destination.
  • the connection destination is the management server 9, the AP server 13, or the like.
  • the communication management table 722 has a record for each connection destination. Each record has a distinction column 12231, an address column 12232, and a mask value column 12233.
  • the name of the connection destination is registered.
  • the IP address and netmask value of the connection destination are registered.
  • FIG. 23 shows distribution number information transmission processing by the management server 9.
  • the management function 910 of the management server 9 registers the contents of the distributed number management table 721 according to the input from the administrator.
  • the management function 910 performs distribution number information transmission processing for transmitting the contents of the distribution number management table 721 to the distribution device 10 and the determination device 12.
  • the management function 910 acquires the contents of the distribution number management table 721 (step S341). Next, the management function 910 transmits the information acquired in step S341 as distribution number information to the distribution device 10 and the determination device 12 (step S342).
  • the distribution number information indicates the distribution number for each event type. The above is the distributed number information transmission processing.
  • FIG. 24 shows queue statistical information transmission processing by the management server 9.
  • the management function 910 of the management server 9 performs queue statistical information transmission processing for periodically transmitting queue statistical information indicating the queue status of the analysis server 11 to the distribution device 10 based on the statistical time management table 924.
  • the management function 910 checks whether or not the record of the statistical time management table 924 has been registered (step S261). If it is determined in step S261 that the record has been registered, the management function 910 proceeds to step S262. If it is determined that the record has not been registered, the management function 910 proceeds to step S263. When it is determined in step S261 that the record has been registered, the management function 910 transmits the queue statistical information to the distribution device 10 as information for the distribution device 10 to determine the distribution destination of the fixed-time event. (Step S262).
  • the queue statistical information includes information of the analysis server column 9241 and the average estimated time column 9242 of the statistical time management table 924.
  • the management function 910 sleeps (waits) for a certain time (step S263).
  • the management function 910 may determine whether each analysis server 11 can satisfy the requested time based on the average estimated time, and may exclude the analysis server 11 determined not to satisfy the requested time from the queue statistical information. .
  • the above is the queue statistical information transmission process.
  • FIG. 25 shows the distribution order update process by the distribution apparatus 10.
  • the distribution function 111 of the distribution apparatus 10 that has received the queue statistics information from the management server 9 by the above-described queue statistics information transmission process performs a distribution order update process for updating the distribution management table 121 based on the queue statistics information.
  • the distribution function 111 receives queue statistical information from the management server 9 (step S271). Next, the distribution function 111 updates the distribution management table 121 based on the queue statistical information (step S272). Here, the distribution function 111 determines the priority of the analysis server 11 that is a distribution destination of the fixed-time event based on the average estimated time for each analysis server 11 indicated in the queue statistical information, and the distribution management table 121. In the distribution order column 1212 corresponding to the fixed time type. Further, the distribution function 111 registers the time when the record is updated in the update time column 1213. The above is the distribution order update process. In addition, the distribution function 111 of the distribution apparatus 10 that has received the distribution number information from the management server 9 by the above-described distribution number information transmission process registers the distribution number indicated in the distribution number information in the distribution number management table 721.
  • FIG. 26 shows event transmission processing by the log output server 8.
  • the node function 810 of the log output server 8 that has received the request from the client 7 performs a process corresponding to the request, and then performs an event transmission process of transmitting an access log indicating the process to the distribution apparatus 10 as an event.
  • the node function 810 receives a request from the client 7 (step S291). Next, the node function 810 processes the request received in step S291 and generates its access log (step S292).
  • the simple distribution function 811 selects the event transmission destination distribution device 10 in accordance with the simple distribution rule 820 from the distribution devices 10 registered in the distribution destination table 821 (step S293). Then, the node function 810 generates an event from the generated access log, and transmits the event to the event transmission destination (step S294).
  • the event generated here is in accordance with the contents of the event type identification table 122 and has a protocol and a header corresponding to the event type. The above is the event transmission process.
  • FIG. 27 shows distributed processing by the distributed device 10.
  • the distribution function 111 of the distribution apparatus 10 determines the analysis server 11 that is the distribution destination and performs distributed processing for transmitting the event.
  • the distribution function 111 receives an event from the log output server 8 (step S281). Next, the distribution function 111 identifies the event type of the received event based on the event type identification table 122. If it is a real-time type, the process proceeds to step S283, and if it is other than the real-time type, the process proceeds to step S287. (Step S282). Here, the distribution function 111 determines the protocol and header of the received event based on the information in the protocol column 1222 and the header column 1223 of the event type identification table 122, and the event type column 1221 corresponding to them. Get the event type. Based on the information, the determination is made in step S282.
  • step S282 When the event type is not determined to be the real-time type in step S282 (determined to be the fixed time type) (step S282: N), the distribution function 111 refers to the distribution management table 121 and matches the event type column 1211. The distribution destination is acquired (step S287), and the process proceeds to step S285.
  • the distribution function 111 selects, from among the plurality of analysis servers 11 shown in the distribution order of the distribution order column 1212, the analysis servers 11 corresponding to the number of distributions in the distribution number column 1214 as distribution destinations.
  • step S282 When it is determined in step S282 that the event type is a real-time type (step S282: Y), the distribution function 111 acquires a distribution destination from the management server 9 (step S283).
  • the distribution function 111 transmits a distribution destination query to the management server 9, receives a distribution destination response to the distribution destination query from the management server 9, and acquires the distribution destination included in the distribution destination response.
  • the distribution function 111 transfers the event received in step S281 to the distribution destination of the analysis server 11 acquired in step S284 or step S287 (step S285). Then, the distribution function 111 transmits distribution destination information indicating the distribution destination to the management server 9 (step S286).
  • the distribution destination information includes the event type and event type of the event transmitted by the distribution apparatus 10, identification information of the analysis server 11 at the distribution destination, and the like. The above is distributed processing.
  • the distribution function 111 may select the analysis server 11 having a small number of events registered in the queue up to a predetermined selection number when distributing real-time events.
  • the distribution apparatus 10 can select a distribution destination suitable for analyzing a fixed-time event. Further, the distribution apparatus 10 can acquire a distribution destination suitable for real-time event analysis from the management server 9.
  • FIG. 28 shows distribution destination response processing by the management server 9.
  • the management function 910 of the management server 9 that has received the distribution destination inquiry from the distribution apparatus 10 by the above-described distributed processing performs distribution destination response processing for transmitting a distribution destination response indicating the distribution destination to the distribution apparatus 10.
  • the management function 910 transmits a distribution destination response indicating the distribution destination as a response to the distribution destination inquiry to the distribution apparatus 10 that is the transmission destination of the distribution destination inquiry (step S257).
  • the management function 910 may determine whether each analysis server 11 can satisfy the requested time based on the estimated time, and may exclude the analysis server 11 determined not to satisfy the requested time from the distribution destination response. The above is the distribution destination response process.
  • the management function 910 may repeat the process of step S252 for each distribution destination query each time, but considering the efficiency, the middle of the distribution destination response process is performed between a plurality of distribution destination queries. You can share it.
  • FIG. 29 shows distribution destination registration processing by the management server 9.
  • the management function 910 of the management server 9 that has received the distribution destination information from the distribution apparatus 10 by the above-described distribution processing performs a distribution destination registration process for registering the distribution destination information received from the distribution apparatus 10 in the time management table 923.
  • the distribution destination information indicates a distribution destination by the distribution apparatus 10, and includes identification information of the analysis server 11 corresponding to the number of distributions from the top of the analysis server 11 indicated in the distribution order column 1212 of the distribution management table 121.
  • the management function 910 receives the distribution destination information from the distribution apparatus 10 (step S231). Next, the management function 910 registers in the time management table 923 information such as the identification information and event type of the analysis server 11 to which the distribution apparatus 10 has distributed the event acquired in step S231 (step S232). The above is the distribution destination registration process.
  • FIG. 30 shows an analysis process performed by the analysis server 11.
  • the analysis function 1110 of the analysis server 11 that has received an event from the distribution apparatus 10 by the above-described distributed processing performs analysis processing for analyzing the event.
  • the analysis function 1110 of the analysis server 11 receives an event from the distributed device 10 (step S301).
  • the analysis function 1110 refers to the event type identification table 122 and identifies the received event type (step S302).
  • the identification method here is the same method as step S282 of the distribution destination update process.
  • the analysis function 1110 refers to the logic management table 1120 and determines the analysis logic corresponding to the identified event type (step S303). Next, the analysis function 1110 uses the queue management function 1111 to register the event received in step S301 in the queue management table 1121. After that, the analysis function 1110 analyzes in order from the higher-order event in the queue management table 1121, and generates analysis result information indicating the result (step S304).
  • the analysis result information includes the event type and event type of the event to be analyzed, and the analysis value that is the result of the analysis. Then, the analysis function 1110 transmits the analysis result information to the determination device 12 (step S305).
  • the analysis function 1110 analyzes from among the plurality of determination devices 12, for example, by carrying out accommodation distribution based on the hash value of the event content in the event content column 11213 of the queue management table 1121.
  • the determination device 12 that is the transmission destination of the result information is selected.
  • FIG. 31 shows the distribution number information update process by the determination device 12.
  • the determination function 1210 of the determination apparatus 12 that has received the distribution number information from the management server 9 by the above-described distribution number information transmission process performs the distribution number information update process.
  • the determination function 1210 receives the distribution number information from the management server 9 (step S311). Next, the determination function 1210 registers the distribution number for each event type in the distribution number management table 721 based on the received distribution number information (step S312). The above is the distributed number information update process.
  • FIG. 32 shows an analysis result determination process performed by the determination device 12.
  • the determination function 1210 of the determination device 12 that has received the analysis result information from the analysis server 11 by the above-described analysis processing performs analysis result determination processing for performing majority determination.
  • the determination function 1210 receives the analysis result information from the analysis server 11 (step S321). Next, the determination function 1210 registers the received analysis result information in the analysis result management table 720 (step S322). Next, the determination function 1210 transmits analysis result reception information indicating reception of the analysis result information to the management server 9 (step S323).
  • the analysis result reception information includes the event type, event type, and analysis value indicated in the analysis result information.
  • the determination function 1210 acquires the number of distributions corresponding to the event type of the analysis result information from the distribution number management table 721, and analyzes the analysis result information having the same event type and the same event type from the analysis result management table 720. Among the indicated analysis values, the number of the same analysis values is counted.
  • the determination function 1210 determines whether or not the number of specific analysis values has reached the majority of the target number of variances (more than half of the target number of variances) (step S324).
  • the determination function 1210 moves the process to step S325 when the counted number of pieces of analysis result information reaches the majority of the number of distributions, and moves the process to step S321 when it does not reach the majority of the number of distributions.
  • the determination function 1210 calculates the number of analysis result information for each analysis value from the analysis result information extracted in step S324. Count. Thereafter, the determination function 1210 makes a majority decision by comparing the number of pieces of analysis result information for each analysis value (step S325).
  • the analysis value with the highest probability can be selected as the estimated value, and the reliability of the estimated value can be improved. Further, the determination function 1210 can determine the estimated value without waiting for all analysis result information, and can shorten the time until the estimated value is determined.
  • the determination function 1210 counts the total number of analysis values, and determines that the analysis value with the larger total number is correct.
  • the determination function 1210 may use an average value of all the analysis values as an estimated value or calculate a probability distribution of the analysis value. The expected value may be calculated from the probability distribution and used as the estimated value.
  • the number of variances is an odd number.
  • the number of distributions (the number of analysis servers 11) is an odd number.
  • the determination function 1210 also has means for handling such a case.
  • the determination function 1210 may select a predetermined designated value as an estimated value when a plurality of analysis values reach the same number. In this case, the management server 9 may transmit the specified value input from the administrator to the determination device 12. The determination function 1210 may give a predetermined weight to the total number of the plurality of values, and may select one of the plurality of values as the estimated value based on the weighted total number. In this case, the management server 9 may transmit the weight input from the administrator to the determination device 12.
  • the determination function 1210 does not need to wait until the number of certain analysis values reaches a majority of the number of distributions in order to make a majority decision.
  • the analysis value that has reached the determined number may be selected as an estimated value and transmitted to the AP server 13. Thereby, even if there are many dispersion
  • the management server 9 may transmit the determination number input from the administrator to the determination device 12.
  • the management function 910 of the management server 9 that has received the analysis result reception information from the determination device 12 by the analysis result determination process described above registers the analysis result reception information in the time management table 923 and the statistical time management table 924. Perform the registration process.
  • the analysis result reception information indicates a reception status of the analysis result information by the determination device 12 and includes, for example, an analysis server column 12203 of the analysis result management table 720, an event type 12204, and the like.
  • the management function 910 receives the analysis result reception information from the determination device 12 (step S241). Next, the management function 910 registers information based on the analysis result reception information acquired in step S241 in the time management table 923 and the statistical time management table 924. (Step S242).
  • the management function 910 creates a record of the time management table 923, and shows the identification information, event type, and event type of the analysis server 11 indicated in the analysis result reception information, and the analysis server column 9231 and event type column of the record. 9233 and the event type column 9234, respectively. Furthermore, the management function 910 registers that the information is received from the determination device 12 in the reception source column 9232. Furthermore, the management function 910 registers the update time of the record in the update time column 9235 of the record.
  • the management function 910 registers in the time management table 923 based on the update time of the record registered in the time management table 923 based on the distribution destination information (step S232 of the distribution destination registration processing) and the corresponding analysis result reception information.
  • the difference from the update time of the recorded record (step S242 of the analysis result registration process) is calculated as the estimated time, and is registered in the estimated time column 9235 of the record.
  • the management function 910 calculates a new total time by adding the calculated estimated time to the total time of the record corresponding to the analysis server 11 and the event type analysis logic of the record in the statistical time management table 924.
  • the total time column 9244 of the record is updated.
  • the management function 910 calculates a new counter value by adding 1 to the counter value of the record, and updates the counter column 9245 of the record.
  • the management function 910 calculates the average estimated time by dividing the total time of the record by the counter value, and updates the average estimated time column 9242 of the record. The above is the analysis result registration process.
  • the management server 9 does not perform communication with the analysis server 11, but analyzes the event after the event is input to the analysis server 11 from communication with the distribution device 10 and the determination device 12.
  • the time required for completion can be estimated. This time is used for selecting a real-time type distribution destination as an estimated time. Also, the management server 9 calculates the average value of the estimated time and transmits it to the distribution device 10, so that it is not necessary to transmit the queue status for each event to the distribution device 10, and the load on the network can be suppressed. .
  • This average value is used as an average estimated time for selecting a fixed time type distribution destination.
  • analysis is performed on a log generated by a client access or the like, and the result is used by an application, and a method for determining a distribution destination is selected according to a request time by an AP.
  • a method for determining a distribution destination is selected according to a request time by an AP.
  • the AP server 13 there may be a mixture of APs that request to obtain an analysis result within a short request time and APs that only need to obtain an analysis result within a longer request time.
  • the event type corresponding to the request time determined by the AP is determined, the analysis server for performing analysis is selected according to the event type, and the load of analysis is distributed. Analysis can be performed to meet each application requirement.
  • the distribution according to the request time determined by the AP is not considered. Therefore, it cannot be efficiently distributed according to the type of event while satisfying the required time.
  • the same analysis is distributed by a plurality of analysis servers, the analysis is executed in parallel, and the estimated value is calculated from the plurality of analysis values, so that even if the reliability of the analysis server 11 is low, the estimation is performed.
  • the reliability of the value can be increased.
  • the analysis server 11 can use the hardware of a general-purpose PC (Personal Computer) or the analysis logic of OSS (Open Source Software).
  • the above embodiment does not require a high-performance and expensive analysis server, can reduce the software cost for analysis, and can reduce the cost of the analysis system.
  • the present embodiment it is possible to exchange some hardware or software of the plurality of analysis servers 11 without stopping the analysis by the analysis system. Even if the reliability of some of the plurality of analysis servers 11 decreases due to this exchange, the reliability of the estimated value can be maintained by calculating the estimated value from the plurality of analyzed values. Thereby, the upgrade of the analysis server 11 etc. can be performed easily.
  • the management server 9 determines the state of the queue of the analysis server 11 from the time when the distribution destination information is received from the distribution device 10 and the time when the analysis result reception information is received from the determination device 12. A method of estimating 11 loads has been described.
  • the management server 9 receives information indicating the queue status from the analysis server 11 to obtain a method for grasping the queue status of the analysis server 11, that is, acquires information indicating the load from the analysis server 11. The method of grasping the load will be described.
  • FIG. 34 shows the configuration of the management server 9 of the second embodiment.
  • the memory 907 of the management server 9 of the present embodiment newly stores an analysis server state management table 925.
  • the time management table 923 may be omitted.
  • the management function 910 of the management server 9 sends a queue information query to the analysis server 11.
  • the analysis server 11 that has received the inquiry transmits queue information indicating the status of its own queue to the management server 9.
  • the management function 910 that has received the queue information registers information based on the queue information in the analysis server state management table 925.
  • the queue information includes, for example, the queue length of the analysis server 11 (the number of processing waiting events accumulated in the queue).
  • FIG. 35 shows an analysis server state management table 925 in the management server 9 of the second embodiment.
  • the analysis server state management table 925 has a record for each analysis server 11. Each record has an analysis server column 9251, a queue length column 9252, an estimated time column 9253, and an update time column 9254.
  • the analysis server column 9251 identification information of the analysis server 11 is registered.
  • the queue length column 9252 the queue length of the analysis server 11 is registered.
  • the estimated time column 9253 the estimated time (waiting time) until the analysis of the event newly accumulated in the queue of the analysis server 11 is completed is registered. In other words, this estimated time is the sum of the analysis times of events registered in the current queue.
  • the update time column 9254 the time when the record was updated is registered.
  • the management function 910 that has received the queue information registers in the analysis server state management table 925 the identification information of the analysis server 11 that is the transmission source, the queue length included in the queue information, and the time at which the queue information was received. Furthermore, the management function 910 calculates the estimated time by multiplying the analysis time in the analysis logic management table 921 by the queue length in the queue information received from the analysis server 11 and registers it in the analysis server state management table 925.
  • the management server 9 acquires the distribution destination information and the analysis result reception information from the distribution device 10 and the determination device 12 arranged before and after the analysis server 11, and based on the acquired time
  • the queue status of each analysis server 11, in short, the load is estimated, and the estimated result is stored as the estimated time in the time management table 923.
  • the management server 9 makes an inquiry to the analysis server 11 to acquire the queue status, that is, load information, and stores the acquired result as the estimated time of the analysis server state management table 925.
  • the same control as that of the first embodiment can be performed and the accuracy of the control is improved. be able to.
  • the distribution apparatus 10 acquires the queue length of the analysis server 11 via the management server 9 and stores the acquired queue length in the distribution management table 121 to grasp the status of the queue of the analysis server 11. You may acquire load information. Furthermore, when the distribution apparatus 10 has a new event queue, for example, when distributing a fixed-time type event, the queue of the analysis server 11 has a certain amount based on the queue length information of the analysis server 11. The event is stored in the queue of the distribution device 10 so as not to exceed, and the distribution destination is determined. In short, the event transfer is controlled based on the acquired load information so that the load on each analysis server 11 does not exceed a predetermined amount. You may do it.
  • a series of events in a certain log output server 8 is analyzed by the same analysis server 11.
  • FIG. 36 shows the configuration of the dispersion apparatus 10 of the third embodiment.
  • the memory 107 of the distribution apparatus 10 of the present embodiment further stores a session management table 124.
  • FIG. 37 shows the session management table 124 in the distribution apparatus 10 of the third embodiment.
  • the session management table 124 indicates a correspondence between a session established between the client 7 and the log output server 8 and the analysis server 11.
  • the session management table 124 has a record for each session. Each record has a session ID column 1241, a distribution destination column 1242, an event type column 1243, and an event type column 1244.
  • session ID column 1241 identification information of a session established between the client 7 and the log output server 8 is registered.
  • distribution destination field 1242 identification information of the analysis server 11 that is the distribution destination to which the event in the session is transferred is registered.
  • event type column 1243 the event type of the transferred event is registered.
  • event type column 1244 the event type of the transferred event is registered.
  • a session is one of access units and is a logical connection relationship for communication between the client 7 and the log output server 8.
  • FIG. 38 shows a dispersion process performed by the dispersion apparatus 10 according to the third embodiment.
  • the distributed processing of the present embodiment has steps S351 to S356 instead of step S283.
  • the distribution function 111 of the distribution apparatus 10 determines whether or not the received event is the start of a new session (step S351).
  • the event at the start of the session may include information indicating the start of the session.
  • the distribution function 111 may determine whether or not the received event includes information indicating the start of a new session. Further, the distributed function 111 may determine whether or not there is a session record corresponding to the event type and event type of the received event in the session management table 124.
  • the distributed function 111 determines whether the event type of the event is a real-time type in step S282 similar to the first embodiment. Determine whether or not. If it is determined that the event type is the real-time type, the distribution function 111 acquires the distribution destination from the management server 9 in step S283 similar to that in the first embodiment, and moves the process to step S353. If it is determined that the event type is not a real-time type (a constant time type), the distribution destination is determined based on the distribution management table 121 in step S287 similar to that in the first embodiment, and the process proceeds to step S353. Thereafter, the distributed function 111 creates a record of the started session in the session management table 124 (step S353), and moves the process to step S285 similar to the first embodiment.
  • the distribution function 111 selects a record of the session corresponding to the received event in the session management table 124, and the record 2 is selected as a distribution destination (step S354).
  • the distribution function 111 selects a record in which the event type and the event type indicated in the event type column 1243 and the event type column 1244 respectively match the received event in the session management table 124. Thereafter, the distribution function 111 selects the analysis server 11 of the distribution destination indicated in the distribution destination column 1242 of the selected record in the session management table 124.
  • the distributed function 111 determines whether or not the received event is the end of the session (S355).
  • the event at the end of the session may include information indicating the end of the session.
  • the distribution function 111 may determine whether or not the received event includes information indicating the end of a new session.
  • step S355: N When it is determined that the received event is not the end of the session (step S355: N), the distributed function 111 moves the process to step S285.
  • step S355 When it is determined that the received event is the end of the session (step S355: Y), the distribution function 111 deletes the record of the selected session in the session management table 124, and the process is the same as in the first embodiment. To step S285. The subsequent processing is the same as in the first embodiment. The above is the distributed processing of this embodiment.
  • the distribution function 111 may transmit an event in another series of operations such as a transaction to the same distribution destination instead of the session.
  • the analysis server 11 can analyze a series of events. For example, in the log output server 8, when a certain event and a subsequent event are related, the distribution apparatus 10 transfers the event to the same analysis server 11, so that the analysis server 11 Analysis can be performed using those events. As a result, appropriate load distribution can be performed even when changes in values indicated by a plurality of events are analyzed, or when a series of operations performed by a client 7 is analyzed. For example, the present embodiment can be applied when analyzing a change in a certain stock price or when analyzing a series of operations in the client 7.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Hardware Redundancy (AREA)

Abstract

 高い信頼性を備えつつ、安定した処理が可能な負荷分散技術を提供する。管理装置は、n個(nは3以上)の処理装置の夫々について、過去の処理において要した時間情報を取得し、n個の処理装置の夫々が処理対象情報の処理に掛かる所要時間を、時間情報に基づいて推定して推定時間とし、推定時間及び処理装置の関係を示す推定時間情報を負荷分散装置へ送信する。負荷分散装置は、推定時間情報に基づいて、処理対象情報を処理させるm個(1<m<n)の処理装置を決定し、処理対象情報を、決定したm個の指定処理装置へ送信する。処理結果判定装置は、m個の指定処理装置からm個の処理結果を夫々受信し、所定の方法によりm個の処理結果から真の値を推定して推定値とし、推定値を処理する後段の処理装置へ推定値を送信する。

Description

処理制御システム、処理制御方法、および処理制御プログラム 参照による取り込み
 本出願は、2013年3月19日に出願された日本特許出願第2013-056844号の優先権を主張し、その内容を、参照により本出願に取り込む。
 本発明は、処理を複数の計算機に分散させる技術に関する。
 昨今、様々な機器やセンサから送出されるログやセンサ情報等に代表される多量のデータ(ビッグデータと呼ばれる)を解析(分析)し、ビジネスに役立つ知見(情報)を得る取り組みがある。このような解析において、データベース等に蓄えられる多量のデータを、特定のタイミングでバッチ処理により解析する技術が知られている。
 また、金融機関のアルゴリズム取引のように、リアルタイムで解析し、その結果をリアルタイムに取得するという、複合イベント処理(CEP:Complex Event Processing)技術が知られている。バッチ処理は、処理対象のデータ範囲が広い(数日~数年単位)。一方、CEP技術では直近(数分単位)のデータ範囲を対象としている。このような性質の違いから、バッチ処理は傾向分析等に向いており、CEP技術はアクセスログ等を元にした不正値検出やリアルタイム課金制御等に向いている。
 CEP技術のシステムにおいて解析サーバが大量のデータを解析する場合、解析サーバの処理性能に限界があるため、全てをリアルタイムに処理できない恐れがある。CEP技術で処理するデータが特に多いと、CEP技術でのデータ解析処理の遅延によって性能劣化が発生する恐れがある。
 このような問題に対し、解析サーバを複数設け、解析サーバでCEPとして実行されるイベントの関連度に応じて、イベント処理を分散させることにより、性能劣化を防止する技術が知られている(例えば特許文献1、段落0039、0041)。
 特許文献1に示されている仕組みは、性能劣化を防止するために、処理の負荷が低い解析サーバを選択して処理を実行させる仕組みである。
 同様に、複数の計算機間で負荷を分散させる技術が考えられている(特許文献2)。この技術では、複数の計算機が、それぞれの負荷をキューの使用率で表し、その使用率が最も低い計算機へクライアントの要求を転送することにより、負荷の偏りを防止しようとする。
 一般に、システムの性能限界がサーバの処理性能に達することによる防止策として、ハードウエアの性能向上を図る手法と、上記特許文献のように処理を分散させる手法とが挙げられる。前者の手法はハードウエア更新時のサービス停止を伴う等の問題がある。従って、データセンタ運用業者等は、サービスを停止させず、通信量の増加に対応できる後者の手法(スケールアウト)による能力増強を図ることが多い。スケールアウトによって能力増強を図る場合、複数のサーバに対して如何に処理を分散させるかが問題となる。
 スケールアウトを行う場合、通常、システム全体の処理性能不足がトリガーとなる。サーバまたは計算機のハードウエア処理性能は日々向上している。そのため、システム構築時に導入したサーバとスケールアウト時に導入するサーバのハードウエア処理性能が同じになるようにサーバを導入することは、現実的には困難である。処理性能の異なる複数のサーバで構築されたシステムにおいて、例えば処理要求を順番に割り振るラウンドロビン方法を利用した場合、スペックが異なるが故にサーバ間の負荷バランスに差が生じ、要求の処理に時間差が生じることになるなどの問題がある。
 一方、1以上の複数のサーバやそれらを接続する1以上のネットワークを構成する機器などの、様々な構成要素から成るシステムでは、それらの構成要素の障害や故障などにより、システムが停止したり、正しい結果が得られなかったりすることにより、信頼性が低下するというリスクがある。
 これに対し、信頼性を高める、すなわち、フォールトトレランス性(耐障害性)を持たせる仕組みの1つとして、冗長化がある。冗長化では、同じシステムを複数用意して、それら全てに同じ処理を並列に実行させ、あるシステムに障害が発生しても、他のシステムが動作し続けることによって信頼性を確保する。ここで、障害の度合い(例えばCPUの内部障害による計算間違い発生)によっては、複数のシステムで同じ処理をしても結果が同一に至らない場合もあり、そのような場合、多数決により、正しいと考えられる結果を得る仕組みが知られている。
 例えば特許文献3には、処理要求を受け、その要求を計算機により処理した結果を伝送するシステムにおいて、同一の処理要求を複数の計算機の全てに送信し、複数の計算機からその処理結果を受信して、複数の受信結果を比較して正しい処理結果を出力する構成が示されている。
 このような仕組みを用いることによって、計算機における障害や故障、ソフトウエアバージョン違いによる異なる結果出力、といったことを防止でき、信頼性を向上させたシステムとして動作させることが可能である。
米国特許出願公開第2012/084788号明細書 米国特許出願公開第2006/212873号明細書 特開平7-306794号明細書
 特許文献1に示されるイベント処理を分散させる技術は、負荷に基づき関連度の高いイベントを特定の解析サーバへ集約するため、解析対象のデータが特に多い場合、解析サーバの負荷が処理性能の限界に達し、所定の時間内に解析を完了させることが難しくなる。
 また、特許文献2に示される複数の計算機間で要求を転送する技術は、効率よく負荷分散を行うことが難しい。また、前述のようなスペックの異なる複数の計算機間で処理要求を処理した場合、複数の計算機間で負荷バランスの差が生じるため、要求処理の時間差が発生することになる。
 さらに、特許文献1、2の仕組みは、処理の負荷が低いサーバまたは計算機を一つ選択するに過ぎず、障害発生を考慮していないから、フォールトトレランスを備えていない。
 また、特許文献3に示される技術では、処理を複数の計算機全てで並列実行する。このような仕組みでは、1つの計算機の処理性能の上限が、システム全体の性能を決めてしまう。そのため、特許文献3に示される技術を、例えばビッグデータのような大量の情報を分析や解析するシステムへ適用すると、処理量の増大に伴ってシステムのスループットが低下してしまうという問題がある。
 従って、高い信頼性を備えつつ、処理量が増大してもスループットが低下しない、安定して要求を処理できる負荷分散技術が求められている。
 上記課題を解決するために、本明細書では、n個(nは3以上)の計算機(たとえば解析サーバ)に掛かっている負荷と、要求された処理に対する能力と、を考慮して、m個(1<m<n)の計算機(たとえば解析サーバ)を選択し、選択した計算機(たとえば解析サーバ)による複数の処理結果を、所定の方法で処理して、もっとも確からしい結果を得る技術が提供される。
 開示する技術に基づけば、要求された処理を複数の計算機に処理させることが可能になり、結果的に処理時間の短縮、システムに掛かる負荷の削減、が可能になる。
 また、全ての計算機ではなく、一部の複数の計算機(たとえば解析サーバ)を選択することにより、システム全体で必要な電力などの資源も抑えることが可能になる。
 より具体的な一態様である処理システムは、以下の構成を備える。
 n個(nは3以上)の処理装置に接続された負荷分散装置と、前記n個の処理装置に接続された処理結果判定装置と、前記負荷分散装置及び前記処理結果判定装置に接続された管理装置と、を備える。前記管理装置は、前記n個の処理装置の夫々について、過去の処理において要した時間情報を取得し、前記n個の処理装置の夫々が処理対象情報の処理に掛かる所要時間を、前記時間情報に基づいて推定して推定時間とし、前記推定時間及び処理装置の関係を示す推定時間情報を前記負荷分散装置へ送信する。
 前記負荷分散装置は、前記推定時間情報に基づいて、前記処理対象情報を処理させる、m個(1<m<n)の処理装置を決定し、前記処理対象情報を、前記決定したm個の指定処理装置へ送信する。前記m個の指定処理装置の夫々は、前記処理対象情報を処理することにより処理結果を算出し、前記処理結果を前記処理結果判定装置へ送信する。前記処理結果判定装置は、前記m個の指定処理装置からm個の処理結果を夫々受信し、所定の方法により前記m個の処理結果から真の値を推定して推定値とし、前記推定値を処理する後段の処理装置へ前記推定値を送信する。
 また、別の一態様である、n個(nは3以上)の処理装置に接続された負荷分散装置のコンピュータのための負荷分散プログラムは、前記負荷分散装置に接続された管理装置が、前記n個の処理装置の夫々について、過去の処理において要した時間情報を取得し、前記n個の処理装置の夫々が処理対象情報の処理に掛かる所要時間を、前記時間情報に基づいて推定して推定時間とし、前記推定時間及び処理装置の関係を示す推定時間情報を前記負荷分散装置へ送信した場合、前記推定時間情報に基づいて、前記処理対象情報を処理させるm個(1<m<n)の処理装置を決定することを前記コンピュータに実行させ、前記処理対象情報を、前記決定したm個の指定処理装置へ送信することを前記コンピュータに実行させる。前記m個の指定処理装置の夫々は、前記処理対象情報を処理することにより処理結果を算出し、前記処理結果を前記処理結果判定装置へ送信する。前記処理結果判定装置は、前記m個の指定処理装置からm個の処理結果を夫々受信し、所定の方法により前記m個の処理結果から真の値を推定して推定値とし、前記推定値を処理する後段の処理装置へ前記推定値を送信する。
 また、別の一態様である、n個(nは3以上)の処理装置に接続された処理結果判定装置のコンピュータのための処理結果判定プログラムは、前記処理結果判定装置に接続された管理装置が、前記n個の処理装置の夫々について、過去の処理において要した時間情報を取得し、前記n個の処理装置の夫々が処理対象情報の処理に掛かる所要時間を、前記時間情報に基づいて推定して推定時間とし、前記推定時間及び処理装置の関係を示す推定時間情報を、前記管理装置、前記n個の処理装置、及び前記処理結果判定装置に接続された前記負荷分散装置へ送信し、前記負荷分散装置が、前記推定時間情報に基づいて、前記処理対象情報を処理させる、m個(1<m<n)の処理装置を決定し、前記処理対象情報を、前記決定したm個の指定処理装置へ送信し、前記m個の指定処理装置の夫々が、前記処理対象情報を処理することにより処理結果を算出し、前記処理結果を前記処理結果判定装置へ送信した場合、前記m個の指定処理装置からm個の処理結果を夫々受信することを前記コンピュータに実行させ、所定の方法により前記m個の処理結果から真の値を推定して推定値とすることを前記コンピュータに実行させ、前記推定値を処理する後段の処理装置へ前記推定値を送信することを前記コンピュータに実行させる。
 上記態様によれば、低信頼のサーバや、低信頼のソフトウエアを導入したシステム構成であっても、要求時間内に処理結果を出力するように、処理を分散させることができる。
 また、本発明の一態様によれば、サーバの信頼性低下または、ハードウエア停止、交換、ソフトウエアの停止、交換による影響を受けることなく、多数決に則った、確からしい結果を得ることができる。
 また、本発明の一態様によれば、複数のサーバにおける処理結果について、真の結果と捉えるための仕組みとして、あるサーバの処理の結果について管理者の重みづけを行って、それを踏まえた多数決による真の結果を得ることもできる。
 また、本発明の一態様によれば、複数のサーバにおける処理結果について、真の結果と捉えるための仕組みとして、複数のサーバの処理の結果を判定する際に、あるサーバの処理の結果を無効として、それを踏まえた多数決による真の結果を得ることもできる。
 また、本発明の一態様によれば、複数のサーバにおける処理結果について、真の結果を推定するための仕組みとして、結果が多値で出力される場合の、確率分布や平均値を利用して推定値を得る仕組みや、判定のための結果数が偶数個であったとしても判定する仕組みを備えることによる、確からしい推定値を得ることもできる。
 開示によれば、高い信頼性を備えつつ、安定した処理が可能な負荷分散技術を提供可能になる。
各実施例で用いるコンピュータシステムの構成を示す。 分散装置10の構成を示す。 管理サーバ9の構成を示す。 解析サーバ11の構成を示す。 ログ出力サーバ8の構成を示す。 判定装置12の構成を示す。 分散装置10における分散管理テーブル121を示す。 分散装置10におけるイベント型識別テーブル122を示す。 分散装置10における通信管理テーブル123を示す。 管理サーバ9における要求時間テーブル920を示す。 管理サーバ9における解析ロジック管理テーブル921を示す。 管理サーバ9における接続先管理テーブル922を示す。 管理サーバ9における時間管理テーブル923を示す。 管理サーバ9における統計時間管理テーブル924を示す。 解析サーバ11におけるロジック管理テーブル1120を示す。 解析サーバ11におけるキュー管理テーブル1121を示す。 解析サーバ11における接続先管理テーブル1123を示す。 ログ出力サーバ8における簡易分散ルール820を示す。 ログ出力サーバ8における簡易分散先テーブル821を示す。 判定装置12における解析結果管理テーブル720を示す。 管理サーバ9及び判定装置12における分散数管理テーブル721を示す。 判定装置12における通信用管理テーブル722を示す。 管理サーバ9による分散数情報送信処理を示す。 管理サーバ9によるキュー統計情報送信処理を示す。 分散装置10による分散順位更新処理を示す。 ログ出力サーバ8によるイベント送信処理を示す。 分散装置10による分散処理を示す。 管理サーバ9による分散先応答処理を示す。 管理サーバ9による分散先登録処理を示す。 解析サーバ11による解析処理を示す。 判定装置12による分散数情報更新処理を示す。 判定装置12による解析結果判定処理を示す。 管理サーバ9による解析結果登録処理を示す。 実施例2の管理サーバ9の構成を示す。 実施例2の管理サーバ9における解析サーバ状態管理テーブル925を示す。 実施例3の分散装置10の構成を示す。 実施例3の分散装置10におけるセッション管理テーブル124を示す。 実施例3の分散装置10による分散処理を示す。
 以下、本発明の実施例について図面を参照しつつ説明する。
 本発明の一態様の表現における用語について説明する。n個の処理装置の夫々は、解析装置や解析サーバ11などに対応する。処理は、解析などに対応する。負荷分散装置は、分散装置10などに対応する。処理結果判定装置は、解析結果判定装置や判定装置12などに対応する。管理装置は、管理サーバ9などに対応する。後段の処理装置は、推定値を処理する処理装置やAPサーバ13などに対応する。処理対象情報は、解析対象情報やイベントなどに対応する。m個の指定処理装置の夫々は、特定解析装置や分散先の解析サーバ11などに対応する。時間情報は、時間管理テーブル923や見積時間などに対応する。推定時間は、統計時間管理テーブル924や見積時間や平均見積時間などに対応する。推定時間情報は、キュー統計情報や分散先応答などに対応する。負荷分散プログラムは、分散装置10のプログラムなどに対応する。処理結果判定プログラムは、判定装置12のプログラム等に対応する。通信装置は、ログ出力サーバ8などに対応する。処理制御プログラムは、管理サーバ9のプログラムなどに対応する。上限は、要求時間などに対応する。
 以下、本発明の実施例のコンピュータシステムの構成について説明する。
 図1は、本発明の実施例のコンピュータシステムの構成を示す。
 本実施例のコンピュータシステムは、複数のクライアント7と、複数のログ出力サーバ8と、管理サーバ9と、複数の分散装置10と、複数の解析サーバ11と、複数の判定装置12と、複数のAP(Application)サーバ13とを有する。なお、ログ出力サーバ8の数は一つであっても良いし、分散装置10の数は一つであっても良いし、判定装置12の数は一つであっても良いし、APサーバ13の数は一つであっても良い。また、クライアント7は省かれても良い。
 クライアント7は、ネットワーク15を介してログ出力サーバ8に接続される。ログ出力サーバ8はネットワーク16を介して複数の分散装置10に接続される。分散装置10はネットワーク17を介して複数の解析サーバ11に接続される。解析サーバ11はネットワーク18を介して複数の判定装置12に接続される。判定装置12はネットワーク19を介して複数のAPサーバ13に接続される。また、管理サーバ9はネットワーク5を介して複数の分散装置10に接続される。管理サーバ9はネットワーク6を介して複数の解析サーバ11に接続される。管理サーバ9はネットワーク14を介して複数の判定装置12に接続される。なお、管理サーバ9は複数の解析サーバ11に接続されていなくても良い。
 本実施例では、分散装置10と判定装置12を別々のハードウエアとして設けられている形態を示しているが、分散装置10と判定装置12が同一のハードウエア内に設けられていても構わない。また、分散装置10と解析サーバ11と判定装置12が同一のハードウエア内に設けられていても構わない。本実施例では、管理サーバ9が、分散装置10、解析サーバ11、判定装置12とは別のハードウエアとして設けられている形態を示しているが、管理サーバ9が、分散装置10、解析サーバ11、判定装置12の何れかの中に設けられていても構わない。また、本実施例では管理サーバ9が1台のコンピュータとして設けられているが、複数の管理サーバ9を有するコンピュータシステムとして設けられていても構わない。ただし、その場合、複数の管理サーバ9間で情報の共有又は同期を行う必要がある。
 クライアント7は、ログ出力サーバ8との通信を行う。ログ出力サーバ8は、クライアント7との通信の内容を示すログを生成し、ログ内のイベントの内容に応じて複数の分散装置10の中から送信先を選択し、選択された分散装置10へイベントを出力する。イベントを受信した分散装置10は、イベントの内容に応じて複数の解析サーバ11の中から送信先を選択し、選択された解析サーバ11へイベントを送信する。イベントを受信した解析サーバ11は、イベントを解析し、その解析から得られる解析値を含む解析結果情報を判定装置12へ送信する。複数の解析値を受信した判定装置12は、複数の解析値の真の値を推定して推定値とし、その推定値を最終的な解析結果として、解析結果を要求するAPサーバ13へ送信する。推定値を受信したAPサーバ13は、推定値を用いるAPを実行する。このようなコンピュータシステムの構成により、解析の処理を複数の解析サーバ11に分散させることができる。
 このコンピュータシステムが移動体通信システムに適用される場合について説明する。この場合、クライアント7は、ユーザにより使用される携帯電話機やスマートフォン等の通信端末装置に対応する。ログ出力サーバ8は、基地局やGW(Gateway)等に対応し、通信端末装置の通信のログをイベントとして出力する。解析サーバ11は、イベントに基づいて、ユーザ毎の通信量や有料コンテンツの利用量等を解析する。APサーバ13におけるAPは、通信端末装置毎の通信量や有料コンテンツの利用に応じてユーザへの課金を処理する課金処理や、通信端末装置の通信量に応じてその通信端末装置の帯域を制御する帯域制御等を行う。
 ログ出力サーバ8は、カメラやセンサ等であっても良い。この場合のログ出力サーバ8は、検出した情報をイベントとして分散装置10へ送信する。この場合のコンピュータシステムは、クライアント7を有していなくても良い。
 このようなコンピュータシステムは他に、WWW(World Wide Web)やメールシステム、データセンタ等、サーバとクライアントの間でデータを通信するネットワークシステムにも適用されることができる。
 以下の説明において、管理サーバ9と、分散装置10と、判定装置12とを有するシステムを解析制御システムと呼ぶことがある。また、解析制御システムと、複数の解析サーバ11とを有するシステムを解析システムと呼ぶことがある。
 図2は、分散装置10の構成を示す。
 分散装置10は、1つ以上のCPU(Central Processing Unit)101と、1つ以上のネットワークインタフェース(NW I/F)102~104と、入出力装置105と、メモリ107と有するコンピュータにより実現される。分散装置10の各部は、内部バス106等の通信路を介して相互に接続される。NW I/F102は、ネットワーク16を介してログ出力サーバ8と接続される。NW I/F103は、ネットワーク17を介して解析サーバ11と接続される。NW I/F104は、ネットワーク6を介して管理サーバ9と接続される。メモリ107には、分散機能111、ロジック負荷取得機能112の各プログラムと、分散管理テーブル121、イベント型識別テーブル122、通信管理テーブル123とが格納される。
 分散装置10の各プログラムは、予め分散装置10のメモリ107に格納されていても良いし、分散装置10により利用可能な記録媒体に記録され、必要な時に、メモリ107に導入されてもよい。記録媒体とは、例えば分散装置10における図示しない外部デバイスインタフェースに着脱可能な記憶媒体を指す。
 分散機能111は、分散管理テーブル121を基に、ログ出力サーバ8から受信したイベントの分散先となる解析サーバ11を決定し、そのイベントを分散先へ転送する。
 図3は、管理サーバ9の構成を示す。
 管理サーバ9は、1つ以上のCPU901と、1つ以上のネットワークインタフェース(NW I/F)902~904と、入出力装置905と、メモリ907とを有するコンピュータにより実現される。管理サーバ9の各部は、内部バス906等の通信路を介して相互に接続される。NW I/F902は、ネットワーク5を介して分散装置10と接続される。NW I/F903は、ネットワーク14を介して判定装置12と接続される。NW I/F904は、ネットワーク6を介して解析サーバ11と接続される。メモリ907には、管理機能910、ロジック管理機能911の各プログラムと、要求時間テーブル920、解析ロジック管理テーブル921、分散数管理テーブル721、接続先管理テーブル922、時間管理テーブル923、統計時間管理テーブル924とが格納される。
 分散装置10と同様に、管理サーバ9の各プログラムは、予め管理サーバ9のメモリ907に格納されていても良いし、管理サーバ9により利用可能な記録媒体に記録され、必要な時に、メモリ907に導入されてもよい。
 ロジック管理機能911は、分散装置10と判定装置12から分散に関する情報を取得して、その情報に基づいて解析サーバ11のキュー状態を解析する。そして、管理機能910は、ロジック管理機能911が解析した結果を基にして、APの要求時間に応じた分散先を決定する。また、管理機能910は、コンピュータシステムの管理者からの指示を受け付ける。
 図4は、解析サーバ11の構成を示す。
 解析サーバ11は、1つ以上のCPU1101と、1つ以上のネットワークインタフェース(NW I/F)1102~1104と、入出力装置1105と、メモリ1107とを有するコンピュータにより実現される。解析サーバの各部は、内部バス1106等の通信路を介して相互に接続される。NW I/F1102は、ネットワーク17を介して分散装置10と接続される。NW I/F1103は、ネットワーク18を介して判定装置12と接続される。NW I/F1104は、ネットワーク6を介して管理サーバ9と接続される。メモリ1107には、解析機能1110、キュー管理機能1111の各プログラムと、ロジック管理テーブル1120、キュー管理テーブル1121、イベント型識別テーブル122、接続先管理テーブル1123とが格納される。
 分散装置10と同様に、解析サーバ11の各プログラムは、予め解析サーバ11のメモリ1107に格納されていても良いし、解析サーバ11により利用可能な記録媒体に記録され、必要な時に、メモリ1107に導入されてもよい。
 解析機能1110は、イベント型識別テーブル122及びロジック管理テーブル1120に基づいて、分散装置10より受信したイベントを解析する解析ロジックを選択し、その解析ロジックに従って解析処理を実行する。キュー管理機能1111は、分散装置10より受信したイベントを一度キュー管理テーブル1121に格納し、解析機能1110の必要に応じてキュー管理テーブル1121からイベントを取り出す。以下の説明及び図面において、解析サーバ11内のキュー管理テーブル1121を単にキューと呼ぶことがある。
 図5は、ログ出力サーバ8の構成を示す。
 ログ出力サーバ8は、1つ以上のCPU801と、1つ以上のネットワークインタフェース(NW I/F)802~803と、入出力装置804と、メモリ806とを有するコンピュータにより実現される。ログ出力サーバ8の各部は、内部バス805等の通信路を介して相互に接続される。NW I/F802は、ネットワーク15を介してクライアント7と接続される。NW I/F803は、ネットワーク16を介して分散装置10と相互に接続される。メモリ806には、ノード機能810、簡易分散機能811の各プログラムと、簡易分散ルール820、簡易分散先テーブル821、イベント型識別テーブル122とが格納される。
 分散装置10と同様に、ログ出力サーバ8の各プログラムは、予めログ出力サーバ8のメモリ806に格納されていても良いし、ログ出力サーバ8により利用可能な記録媒体に記録され、必要な時に、メモリ806に導入されてもよい。
 ノード機能810は、クライアント7から受信した要求に対する処理を実行する。簡易分散機能811は、クライアント7の要求がノード機能810により処理された過程で出力されるアクセスログを分散装置10へ転送するために、簡易分散先テーブル821に登録される分散装置10の中から、簡易分散ルール820に則り分散装置10を選択して、分散する。
 図6は、判定装置12の構成を示す。
 判定装置12は、1つ以上のCPU1201と、1つ以上のネットワークインタフェース(NW I/F)1202~1203と、入出力装置1204と、メモリ1206とを有するコンピュータにより実現される。判定装置12の内部バス1205等の通信路を介して相互に接続される。NW I/F1202は、ネットワーク18を介して解析サーバ11と接続される。NW I/F1203は、ネットワーク19を介してAPサーバ13と接続される。メモリ1206には、判定機能1210のプログラムと、解析結果管理テーブル720、分散数管理テーブル721、要求時間テーブル920、通信用管理テーブル722とが格納される。
 分散装置10と同様に、各プログラムは、予め判定装置12のメモリ1206に格納されていても良いし、判定装置12が利用可能な記録媒体に記録され、必要な時に、メモリ1206に導入されてもよい。
 判定機能1210は、複数の解析サーバ11から受信した解析結果情報を解析結果管理テーブル720へ格納し、複数の解析結果情報に示された解析値に基づいて、確率が最も高い解析値を推定値として決定し、推定値をAPサーバ13へ送信する。
 図7は、分散装置10における分散管理テーブル121を示す。
 分散管理テーブル121は、分散装置10がログ出力サーバ8から受信したイベントを分散させるための情報であり、イベントの分類に応じた分散の指示を示す。分散管理テーブル121は、イベント型毎のレコードを有する。イベント型は、要求時間の分類を示す。要求時間は、解析に用いることができる処理時間(所要時間)の上限であり、APにより要求される。本実施例におけるイベント型は、一定時間型とリアルタイム型である。リアルタイム型の要求時間は、一定時間型の要求時間より短い。分散管理テーブル121の各レコードは、イベント種別欄1211と、分散順位欄1212と、更新時刻欄1213と、分散数欄1214とを有する。
 イベント型欄1211には、イベント型が登録される。ここに登録される内容は、後述のイベント型識別テーブル122のイベント型欄1221の内容である。分散順位欄1212には、当該イベント型のイベントの分散先の候補である複数の解析サーバ11の優先順位が登録される。更新時刻欄1213には、当該レコードの更新時刻が登録される。分散数欄1214には、当該イベント型のイベントの分散先となる解析サーバ11の数である分散数が登録される。
 この図の例では、イベント型が「一定時間型」の場合、分散装置10は、分散数である「5」個の解析サーバ11へ分散させることを示している。分散装置10は、分散順位欄1212に登録される上位から順に分散数だけの解析サーバ11を分散先として選択する。なお、分散数は、分散順位欄1212に登録された解析サーバ11の数より少なくても良い。
 図8は、分散装置10におけるイベント型識別テーブル122を示す。
 イベント型識別テーブル122には、ログ出力サーバ8から受信したイベントを識別するための情報である。イベント型識別テーブル122は、イベント型毎のレコードを有する。各レコードは、イベント型欄1221と、プロトコル欄1222と、ヘッダ欄1223とを有する。
 イベント型欄1221には、当該コンピュータシステム内で判別されるイベント型が登録される。プロトコル欄1222には、ログ出力サーバ8から受信したイベントのプロトコル名が登録される。ヘッダ欄1223には、イベント型を識別するために参照される特定のヘッダの名称が登録される。分散装置10は、イベントのプロトコルと特定のヘッダを参照することにより、対応するイベント型を識別する。
 図9は、分散装置10における通信管理テーブル123を示す。
 通信管理テーブル123には、分散装置10が接続先と通信するために必要なIPアドレスやネットマスクが登録される。接続先は、解析サーバ11や管理サーバ9等である。通信管理テーブル123は、接続先毎のレコードを有する。各レコードは、区別欄1231と、アドレス欄1232と、マスク値欄1233とを有する。
 区別欄1231には、接続先を識別するための接続先の名称が登録される。アドレス欄1232とマスク値欄1233には、当該接続先のIPアドレスとネットマスク値が夫々登録される。
 図10は、管理サーバ9における要求時間テーブル920を示す。
 要求時間テーブル920には、APにより要求される解析の時間である要求時間が登録される。要求時間テーブル920は、イベント型毎のレコードを有する。各レコードは、イベント型欄9201と、要求時間欄9202とを有する。
 イベント型欄9201には、イベント型が登録される。要求時間欄9202には、当該イベント型に対する要求時間が登録される。
 この図の例では、イベント型が「リアルタイム型」である場合に、APサーバ13の要求は、イベントの発生から要求時間「500ms」以下でAPサーバ13へ個々の推定値を転送してほしいことを示す。なお、3個以上の要求時間に夫々対応して3個以上のイベント型が、要求時間テーブル920に登録されても良い。
 図11は、管理サーバ9における解析ロジック管理テーブル921を示す。
 解析ロジック管理テーブル921は、各解析サーバ11で実行される解析ロジックに関する情報である。管理サーバ9は、この情報を基にして解析サーバ11で一つのイベントの解析処理にどれ程の時間かかるのかを算出する。解析ロジック管理テーブル921は、イベント型と解析サーバと解析ロジックとの組み合わせ毎のレコードを有する。各レコードは、イベント型欄9211と、解析サーバ欄9212には、解析サーバ11と、解析ロジック欄9213とを有する。
 イベント型欄9211には、イベント形が登録される。解析サーバ欄9212には、解析サーバ11の識別のための名称が登録される。解析ロジック欄9213には、当該解析サーバ11の当該イベント型に対する解析ロジックが登録される。解析時間欄9214には、当該解析サーバ11で当該解析ロジックを実行した時の解析処理に要する時間である解析時間が登録される。
 この図の例では、「解析サーバa」の解析サーバ11がリアルタイム型のイベントを解析ロジック「R1」により処理することに要する解析時間が「123ms」であることを示している。本実施例において管理サーバ9は、解析サーバ11のキューが空の状態で、分散装置1によるイベントの分散を示す情報を分散装置10から受信した時刻と、判定装置12による当該イベントの解析の結果の受信を示す情報を判定装置12から受信した時刻との差を解析時間として算出する。他に、分散装置10や管理サーバ9等が擬似的なイベントを解析サーバ11へ送信して解析結果を取得することにより、要した時間を解析時間として算出しても良い。
 なお、図1のシステムにおいて、スケールアウトなどによりシステム構成を変更した場合、前述の通り、複数の解析サーバ11それぞれの性能が異なることも考えられる。
 このような状況では、例えば同じイベントを各解析サーバ11において処理させた場合、イベントの解析処理にかかる時間は異なるものとなる。すなわち、イベントの解析処理にかかる時間は、解析サーバ11の性能情報を含むことになる。
 したがって、後述する分散を行う場合、イベントの解析処理にかかる時間を性能情報として利用することによって、解析サーバの性能を考慮した、より適切な分散が可能になる。
 図12は、管理サーバ9における接続先管理テーブル922を示す。
 接続先管理テーブル922には、管理サーバ9が接続先と通信するために必要なIPアドレスやネットマスクの情報である。接続先は、分散装置10、判定装置12、解析サーバ11等である。接続先管理テーブル922は、接続先毎のレコードを有する。各レコードは、区別欄9221と、アドレス欄9222と、マスク値欄9223とを有する。
 区別欄9221には、接続先の名称が登録される。アドレス欄9222とマスク値欄9223には、当該接続先のIPアドレスとネットマスク値が夫々登録される。
 図13は、管理サーバ9における時間管理テーブル923を示す。
 時間管理テーブル923は、解析サーバ11のキューに、どんなイベントがどれだけ登録されているかを把握するための情報である。また、時間管理テーブル923は、リアルタイム型の分散先を決定するために用いられる見積時間を示す。管理サーバ9は、解析サーバ11の前後に当る分散装置10と判定装置12から、どの解析サーバ11へイベントを分散したかを示す情報と、どの解析サーバ11から解析結果情報を得たかを示す情報とを夫々受信し、時間管理テーブル923に逐次登録する。管理サーバ9は、時間管理テーブル923を参照することによって、各解析サーバ11のキューの状況を推測することができる。時間管理テーブル923は、管理サーバ9により分散装置10又は判定装置12から受信された情報毎のレコードを有する。各レコードは、解析サーバ欄9231と、受信元欄9232と、イベント型欄9233と、イベント種別欄9234と、見積時間欄9235と、更新時刻欄9235とを有する。なお、推定時間は、見積時間等に対応する。
 解析サーバ欄9231には、分散装置10から受信された情報に示された解析サーバ11の識別情報、又は判定装置12から受信された情報に示された解析サーバ11の識別情報が登録される。受信元欄9232には、当該レコードの情報を分散装置10及び判定装置12の何れから受信したかを示す情報が登録される。イベント型欄9233には、分散装置10から受信された情報に示されたイベントのイベント型、又は分散装置10から受信された情報に示されたイベントのイベント型が登録される。イベント種別欄9234には、当該イベントのイベント種別が登録される。イベント種別は、クライアント7の識別情報や、クライアント7のユーザの識別情報等である。見積時間欄9235には、解析ロジック管理テーブル921で当該レコードのイベント型に対応する解析ロジックで処理を実行した場合にイベントをキューへ投入してからその解析を終了するまでの見積時間が登録される。見積時間欄9235には、判定装置12より受信した見積時間は登録されない。更新時刻欄9235には、当該レコードが更新された時刻が登録される。管理サーバ9は、後述の解析結果登録処理により、時間管理テーブル923を更新する。
 例えば、移動体通信システムにおいて、イベント種別は、通信端末装置の識別情報である。解析サーバ11がイベント種別に応じて通信量等の解析を行うことにより、特定の通信端末装置への課金や帯域制御を決定することができる。
 この図において二番目のレコードは、分散装置10が「リアルタイム型」で識別子「B」のイベントを「解析サーバb」へ送信してから、判定装置12が「解析サーバb」から解析結果情報を受信するまでの見積時間が「0.123sec」であることを示している。また四番目のレコード0は、判定装置12が二番目のレコードに示されたイベントの解析結果情報を「解析サーバb」から受信したことを示している。二番目のレコードによれば、「解析サーバb」のキューに分散装置10からの一つのイベントが積まれたことが分かる。そして、四番目のレコードによれば、キュー内の一つのイベントがデキューされて解析が行われ、判定装置12がその解析結果情報を受信したことが分かる。このように、管理サーバ9は、時間管理テーブル923を走査することによって、各解析サーバ11の状態を推定することができる。
 図14は、管理サーバ9における統計時間管理テーブル924を示す。
 統計時間管理テーブル924は、一定時間型の分散先を決定するために用いられる平均見積時間を示す。統計時間管理テーブル924は、解析サーバ11と解析ロジックの組み合わせ毎のレコードを有する。各レコードは、解析サーバ欄9241と、平均見積時間欄9242と、更新時刻欄9243と、総時間欄9244と、カウンタ欄9245と、解析ロジック9246とを有する。
 解析サーバ欄9241には、解析サーバ11の識別情報が登録される。平均見積時間欄9242には、現在の当該解析サーバ11へ新たに当該解析ロジックのイベントを投入してから解析結果情報が出力されるまでの平均見積時間が、総時間欄9244とカウンタ欄9245との情報に基づいて算出され登録される。なお、平均見積時間は、新たに投入されるイベントの解析時間を含まなくても良い。更新時刻欄9243には、当該レコードが更新された時刻が登録される。総時間欄9244は、当該解析サーバ11の当該解析ロジックにイベントが投入されてからその解析が完了するまでの時間の累積値である総時間が登録される。カウンタ欄9245は、当該解析サーバ11の当該解析ロジックへ投入されたイベントのカウンタ値が登録される。総時間及びカウンタ値は、当該解析サーバ11の動作開始からの累積値であっても良いし、定期的にリセットされても良い。解析ロジック9246には、解析ロジックの識別情報が登録される。解析ロジックの代わりに対応するイベント型の識別情報が登録されても良い。
 管理サーバ9は、後述の解析結果登録処理により、統計時間管理テーブル924を更新する。平均見積時間欄9242に登録される平均見積時間は、総時間欄9244の総時間を、カウンタ欄9245のカウンタ値で割った商である。即ち、平均見積時間は、当該解析サーバ11の当該解析ロジックのイベントを投入してから解析結果情報が出力されるまでの時間の平均値である。このように、統計時間管理テーブル924には、各解析サーバ11でイベントが処理されている際の統計的な平均見積時間が登録される。統計時間管理テーブル924を利用することで、管理サーバ9は、解析サーバ11のキュー状況をイベント単位で把握しなくても要求時間を満たす分散を行うことができる。なお、統計時間管理テーブル924は、解析サーバ11毎のレコードを有していても良い。
 図15は、解析サーバ11におけるロジック管理テーブル1120を示す。
 ロジック管理テーブル1120は、解析サーバ11が分散装置10より受信したイベント毎の解析ロジックを示す。ロジック管理テーブル1120は、イベント型毎のレコードを有する。各レコードは、イベント型欄11201と、解析ロジック欄11203とを有する。
 イベント型欄11201には、イベント型が登録される。解析ロジック欄11203には、当該イベント型のイベントを解析する解析ロジックが登録される。
 図16は、解析サーバ11におけるキュー管理テーブル1121を示す。
 解析サーバ11は、分散装置10から受信したイベントをキュー管理テーブル1121へ逐次登録する。また、解析サーバ11は、キュー管理テーブル1121の先頭から順に逐次イベントを実行していく。キュー管理テーブル1121は、イベント毎のレコードを有する。各レコードは、番号(No.)欄11211と、解析ロジック欄11212と、イベント内容欄11213と、受信時刻欄11214とを有する。
 番号欄11211には、当該イベントの通し番号が登録される。解析ロジック欄11212には、当該イベントの解析ロジックが登録される。イベント内容欄11213には、分散装置10から受信したイベント内容が登録される。ここでイベント内容とは、受信したイベントのデータの全てである。例えば、イベント内容は、受信されたバイナリデータである。受信時刻欄11214には、当該レコードが登録された時刻が登録される。
 図17は、解析サーバ11における接続先管理テーブル1123を示す。
 接続先管理テーブル1123は、解析サーバ11が接続先と通信するために必要なIPアドレスやネットマスクの情報である。接続先は、分散装置10、判定装置12、管理サーバ9等である。接続先管理テーブル1123は、接続先毎のレコードを有する。各レコードは、区別欄11231と、アドレス欄11232と、マスク値欄11233とを有する。
 区別欄11231には、接続先の名称が登録される。アドレス欄11232とマスク値欄11233には、当該接続先のIPアドレスとネットマスク値が夫々登録される。
 図18は、ログ出力サーバ8における簡易分散ルール820を示す。
 ログ出力サーバ8は、簡易分散ルール820に則り、複数の分散装置10の中からイベントの送信先を選択する。簡易分散ルール820は、ルール欄8201を有する。ルール欄8201には、イベントの送信先を選択するための分散ロジックが登録される。
 図19は、ログ出力サーバ8における簡易分散先テーブル821を示す。
 簡易分散先テーブル821には、ログ出力サーバ8がイベントを分散装置10へ送信するために必要なIPアドレスやネットマスクの情報が登録される。簡易分散先テーブル821は、分散装置10毎のレコードを有する。各レコードは、区別欄8211と、アドレス欄8212と、マスク値欄8213とを有する。
 区別欄8211には、送信先の分散装置10の名称が登録される。アドレス欄8212とマスク値欄8213には、当該レコードの登録先名称のIPアドレスとネットマスク値が登録される。
 図20は、判定装置12における解析結果管理テーブル720を示す。
 判定装置12は、解析サーバ11から受信した解析結果情報を解析結果管理テーブル720へ登録し、解析結果管理テーブル720に基づいて多数決判定等の判定を行うことにより、推定値を決定し、推定値をAPサーバ13へ送信する。解析結果管理テーブル720は、解析結果情報毎のレコードを有する。各レコードは、番号(No.)欄12201と、イベント型欄12202と、解析サーバ欄12203と、イベント種別欄12204と、解析値欄12205と、受信時刻欄12206とを有する。
 番号欄12201には、当該解析結果情報の通し番号が登録される。イベント型欄12202には、当該解析結果情報の対象のイベントのイベント型が登録される。解析サーバ欄12203には、当該解析結果情報を出力した(当該解析結果情報の送信元の)解析サーバ11の識別情報が登録される。イベント種別欄12204には、当該イベントのイベント種別が登録される。解析値欄12205には、当該解析結果情報に示された解析の結果であり、当該解析サーバ11による解析により出力された解析値が登録される。受信時刻欄12206には、当該解析結果情報を受信した時刻が登録される。判定装置12は、解析サーバ欄12203とイベント種別欄12204の2つの情報を用いて各イベントを識別し、識別されたイベントを用いて判定を行う。
 図21は、管理サーバ9及び判定装置12における分散数管理テーブル721を示す。
 分散数管理テーブル721は、イベント型毎の分散数を示す。判定装置12は、分散数管理テーブル721と解析結果情報の数を基にして、解析結果情報の多数決判定を行うタイミングを決定する。分散数管理テーブル721は、イベント型毎のレコードを有する。各レコードは、イベント型欄12211と、分散数欄12212とを有する。
 イベント型欄12211には、イベント型が登録される。分散数欄12212には、当該イベント型のイベントの分散先となる解析サーバ11の数である分散数が登録される。
 図22は、判定装置12における通信用管理テーブル722を示す。
 通信用管理テーブル722は、判定装置12が、接続先と通信するために必要なIPアドレスやネットマスクの情報である。接続先は、管理サーバ9やAPサーバ13等である。通信用管理テーブル722は、接続先毎のレコードを有する。各レコードは、区別欄12231と、アドレス欄12232と、マスク値欄12233とを有する。
 区別欄12231には、接続先の名称が登録される。アドレス欄12232とマスク値欄12233には、当該接続先のIPアドレスとネットマスク値が夫々登録される。
 以下、本実施例のコンピュータシステムの動作について説明する。
 図23は、管理サーバ9による分散数情報送信処理を示す。
 管理サーバ9の管理機能910は、管理者からの入力に従って、分散数管理テーブル721の内容を登録する。管理機能910は、分散数管理テーブル721の内容を分散装置10と判定装置12へ送信する分散数情報送信処理を行う。
 管理機能910は、分散数管理テーブル721の内容を取得する(ステップS341)。次に、管理機能910は、ステップS341で取得した情報を分散数情報として分散装置10と判定装置12へ送信する(ステップS342)。分散数情報は、イベント型毎の分散数を示す。以上が分散数情報送信処理である。
 図24は、管理サーバ9によるキュー統計情報送信処理を示す。
 管理サーバ9の管理機能910は、統計時間管理テーブル924に基づいて解析サーバ11のキューの状況を示すキュー統計情報を定期的に分散装置10へ送信するキュー統計情報送信処理を行う。
 管理機能910は、統計時間管理テーブル924のレコードが登録済であるか否かを確認する(ステップS261)。管理機能910は、ステップS261でレコードが登録済であると判定された場合、処理をステップS262へ移し、レコードが登録されていないと判定された場合、処理をステップS263へ移す。ステップS261でレコードが登録済であると判定された場合、管理機能910は、分散装置10が一定時間型のイベントの分散先を決定するための情報として、キュー統計情報を分散装置10へ送信する(ステップS262)。キュー統計情報は、統計時間管理テーブル924の解析サーバ欄9241及び平均見積時間欄9242の情報を含む。次に、管理機能910は、一定時間スリープ(待機)する(ステップS263)。そして、管理者からのアボート指示の入力の有無を確認し、アボート指示がある場合はキュー統計情報送信処理を終了し、アボート指示がない場合、処理をステップS261へ戻す(ステップS264)。なお、管理機能910は、平均見積時間に基づいて各解析サーバ11が要求時間を満たせるか否かを判定し、要求時間を満たせないと判定された解析サーバ11をキュー統計情報から除いても良い。以上がキュー統計情報送信処理である。
 図25は、分散装置10による分散順位更新処理を示す。
 前述のキュー統計情報送信処理により管理サーバ9からキュー統計情報を受信した分散装置10の分散機能111は、キュー統計情報に基づいて分散管理テーブル121を更新する分散順位更新処理を行う。
 分散機能111は、管理サーバ9からキュー統計情報を受信する(ステップS271)。次に、分散機能111は、キュー統計情報に基づき、分散管理テーブル121を更新する(ステップS272)。ここで分散機能111は、キュー統計情報に示された解析サーバ11毎の平均見積時間に基づいて、一定時間型のイベントの分散先となる解析サーバ11の優先順位を決定し、分散管理テーブル121において一定時間型に対応する分散順位欄1212へ登録する。更に分散機能111は、そのレコードを更新した時刻を更新時刻欄1213に登録する。以上が分散順位更新処理である。また、前述の分散数情報送信処理により管理サーバ9から分散数情報を受信した分散装置10の分散機能111は、分散数情報に示された分散数を分散数管理テーブル721へ登録する。
 図26は、ログ出力サーバ8によるイベント送信処理を示す。
 クライアント7から要求を受信したログ出力サーバ8のノード機能810は、その要求に対応する処理を行った後、その処理を示すアクセスログをイベントとして分散装置10へ送信するイベント送信処理を行う。
 ノード機能810は、クライアント7から要求を受信する(ステップS291)。次に、ノード機能810は、ステップS291で受信した要求を処理し、そのアクセスログを生成する(ステップS292)。簡易分散機能811は、分散先テーブル821に登録された分散装置10の中から、簡易分散ルール820に沿ってイベント送信先の分散装置10を選択する(ステップS293)。そして、ノード機能810は、生成されたアクセスログからイベントを生成し、そのイベントをイベント送信先へ送信する(ステップS294)。ここで生成されるイベントは、イベント型識別テーブル122の内容に沿っており、イベント型に応じたプロトコル及びヘッダを有する。以上がイベント送信処理である。
 図27は、分散装置10による分散処理を示す。
 ログ出力サーバ8からイベントを受信した分散装置10の分散機能111は、分散先の解析サーバ11を決定して、イベントを送信する分散処理を行う。
 分散機能111は、ログ出力サーバ8からイベントを受信する(ステップS281)。次に、分散機能111は、イベント型識別テーブル122に基づいて、受信されたイベントのイベント型を識別し、リアルタイム型であれば処理をステップS283へ移し、リアルタイム型以外であれば処理をステップS287へ移す(ステップS282)。ここで分散機能111は、分散機能111は、イベント型識別テーブル122のプロトコル欄1222とヘッダ欄1223の情報を基に、受信したイベントのプロトコル及びヘッダを判定し、それらに対応するイベント型欄1221のイベント型を取得する。その情報を基に、ステップS282で判定を行う。
 ステップS282でイベント型がリアルタイム型と判定されなかった(一定時間型と判定された)場合(ステップS282:N)、分散機能111は、分散管理テーブル121を参照し、イベント型欄1211に合致する分散先を取得し(ステップS287)、処理をステップS285へ移す。ここで分散機能111は、分散順位欄1212の分散順位に示されている複数の解析サーバ11の中から、上位から分散数欄1214の分散数だけの解析サーバ11を分散先として選択する。
 ステップS282でイベント型がリアルタイム型と判定された場合(ステップS282:Y)、分散機能111は、管理サーバ9から分散先を取得する(ステップS283)。ここで分散機能111は、分散先問合せを管理サーバ9へ送信し、その分散先問合せに対する分散先応答を管理サーバ9から受信し、その分散先応答に含まれた分散先を取得する。
 分散機能111は、ステップS281で受信したイベントを、ステップS284又はステップS287で取得した解析サーバ11の分散先へ転送する(ステップS285)。そして、分散機能111は、その分散先を示す分散先情報を管理サーバ9へ送信する(ステップS286)。分散先情報は、分散装置10により送信されたイベントのイベント型及びイベント種別、分散先の解析サーバ11の識別情報等を含む。以上が分散処理である。
 分散先として或るイベント送信された複数の解析サーバ11の夫々は、そのイベントを同一の解析ロジックで解析する。
 なお、分散機能111は、リアルタイム型のイベントを分散させるにあたって、予め定められた選択数まで、キューに登録されたイベントの数が少ない解析サーバ11を選択しても良い。
 なお、ステップS282以降において、分散装置10は、受信したイベントがリアルタイム型である場合に、ステップS287と同様、分散管理テーブル121から分散先を取得し、受信したイベントがリアルタイム型でない場合に、ステップS283及びS284と同様、分散先問合せにより管理サーバ9から分散先を取得しても良い。
 この処理によれば、分散装置10は、一定時間型のイベントの解析に適した分散先を選択することができる。また、分散装置10は、リアルタイム型のイベントの解析に適した分散先を管理サーバ9から取得することができる。
 図28は、管理サーバ9による分散先応答処理を示す。
 前述の分散処理により分散装置10から分散先問合せを受信した管理サーバ9の管理機能910は、その分散装置10へ分散先を示す分散先応答を送信する分散先応答処理を行う。
 管理機能910は、分散装置10から分散先問合せを受信する(ステップS251)。次に、管理機能910は、時間管理テーブル923内の見積時間が短い順に、対象のイベント型の分散数の解析サーバ11を選択する(ステップS253)。ここで管理機能910は、分散数管理テーブル721を参照することにより対象のイベント型の分散数を取得する。本実施例において対象のイベント型は、リアルタイム型である。更に管理機能910は、時間管理テーブル923において各解析サーバ11におけるキューの状況を示す見積時間(待ち時間)を参照し、見積時間が短い順に分散数だけの解析サーバ11を分散先として選択する。次に、管理機能910は、分散先問合せの応答として、分散先を示す分散先応答を、分散先問合せの送信元の分散装置10へ送信する(ステップS257)。なお、管理機能910は、見積時間に基づいて各解析サーバ11が要求時間を満たせるか否かを判定し、要求時間を満たせないと判定された解析サーバ11を分散先応答から除いても良い。以上が分散先応答処理である。
 ここで、管理機能910は、個々の分散先問合せに対してその都度ステップS252の処理を繰り返してもよいが、効率を考えて、分散先応答処理の途中経過を複数の分散先問合せの間で共有してもかまわない。
 この処理によれば、管理サーバ9は、リアルタイム型のイベントの解析に適した分散先を選択し、分散装置10へ伝えることができる。
 図29は、管理サーバ9による分散先登録処理を示す。
 前述の分散処理により分散装置10から分散先情報を受信した管理サーバ9の管理機能910は、分散装置10から受信した分散先情報を時間管理テーブル923へ登録する分散先登録処理を行う。分散先情報は、分散装置10による分散先を示し、分散管理テーブル121の分散順位欄1212に示された解析サーバ11の上位から分散数だけの解析サーバ11の識別情報等を含む。
 管理機能910は、分散装置10から分散先情報を受信する(ステップS231)。次に、管理機能910は、ステップS231で取得した分散装置10がイベントを分散した先の解析サーバ11の識別情報及びイベント種別等の情報を時間管理テーブル923へ登録する(ステップS232)。以上が分散先登録処理である。
 図30は、解析サーバ11による解析処理を示す。
 前述の分散処理により分散装置10からイベントを受信した解析サーバ11の解析機能1110は、そのイベントを解析する解析処理を行う。
 解析サーバ11の解析機能1110は、分散装置10からイベントを受信する(ステップS301)。次に、解析機能1110は、イベント型識別テーブル122を参照し、受信されたイベント型を識別する(ステップS302)。ここでの識別方法は、分散先更新処理のステップS282と同様の方法である。
 解析機能1110は、ロジック管理テーブル1120を参照し、識別されたイベント型に対応する解析ロジックを決定する(ステップS303)。次に、解析機能1110は、キュー管理機能1111を利用して、キュー管理テーブル1121へステップS301で受信したイベントを登録する。その後、解析機能1110は、キュー管理テーブル1121の上位のイベントから順に解析を行い、その結果を示す解析結果情報を生成する(ステップS304)。解析結果情報は、解析の対象となったイベントのイベント型及びイベント種別や、その解析の結果である解析値を含む。そして、解析機能1110は、その解析結果情報を判定装置12へ送信する(ステップS305)。ここで複数の判定装置12が存在する場合、解析機能1110は、例えばキュー管理テーブル1121のイベント内容欄11213のイベント内容のハッシュ値による収容分散を行うことにより、複数の判定装置12の中から解析結果情報の送信先の判定装置12を選択する。
 図31は、判定装置12による分散数情報更新処理を示す。
 前述の分散数情報送信処理により管理サーバ9から分散数情報を受信した判定装置12の判定機能1210は、分散数情報更新処理を行う。
 判定機能1210は、管理サーバ9から分散数情報を受信する(ステップS311)。次に、判定機能1210は、受信された分散数情報を基に、イベント型毎の分散数を分散数管理テーブル721へ登録する(ステップS312)。以上が分散数情報更新処理である。
 図32は、判定装置12による解析結果判定処理を示す。
 前述の解析処理により解析サーバ11から解析結果情報を受信した判定装置12の判定機能1210は、多数決判定を行う解析結果判定処理を行う。
 判定機能1210は、解析サーバ11から解析結果情報を受信する(ステップS321)。次に、判定機能1210は、受信された解析結果情報を解析結果管理テーブル720へ登録する(ステップS322)。次に判定機能1210は、解析結果情報の受信を示す解析結果受信情報を管理サーバ9へ送信する(ステップS323)。解析結果受信情報は、解析結果情報に示されたイベント型、イベント種別、解析値を含む。次に判定機能1210は、当該解析結果情報のイベント型に対応する分散数を分散数管理テーブル721から取得し、解析結果管理テーブル720から同一のイベント型及び同一のイベント種別を有する解析結果情報に示された解析値の中で、同一の解析値の数をカウントする。次に判定機能1210は、特定の解析値の数が対象の分散数の過半数に達した(対象の分散数の半数を超えた)か否かを判定する(ステップS324)。ここで判定機能1210は、カウントされた解析結果情報の数が分散数の過半数に達した場合、処理をステップS325へ移し、分散数の過半数に達しなかった場合、処理をステップS321へ移す。
 ステップS324で解析結果情報の数が分散数の過半数に達したと判定された場合、判定機能1210は、ステップS324で抽出された解析結果情報の中から、解析値毎の解析結果情報の数をカウントする。その後、判定機能1210は、解析値毎の解析結果情報の数を比較することにより、多数決判定を行う(ステップS325)。
 そして、判定機能1210は、抽出された解析結果情報の解析値の中から、多数決判定により最も多いと判定された解析値を推定値として選択し、推定値をAPサーバ13へ送信する(ステップS326)。以上が解析結果判定処理である。
 この処理によれば、最も確率の高い解析値を推定値として選択することができ、推定値の信頼性を高めることができる。また、判定機能1210は、全ての解析結果情報を待たずに推定値を決定することができ、推定値の決定までの時間を短縮することができる。
 解析値がYES/NOといった白黒が付く結果(2値)であれば、判定機能1210は、それぞれの解析値の総数をカウントし、総数が多い方の解析値を正しいと判定する。一方、解析値が数値(多値)で表されるような結果である場合、例えば判定機能1210は、全ての解析値の平均値を推定値としても良いし、解析値の確率分布を算出し、その確率分布から期待値を算出して推定値としても良い。
 2値の解析値の多数決判定を行うにあたっては、分散数が奇数であることが望ましい。本実施例においては、分散数(解析サーバ11の数)は奇数としている。ただし、対象となる解析結果情報の総数が多い場合、多数決判定を行う際に、2値が同数に近くなる可能性は確率的に低くなる。このような場合、偶数であってもさほど問題とはならない。ただし、2値が同数に至る可能性も排除できないため、判定機能1210は、その場合の対応手段も有する。
 判定機能1210は、解析値の複数の値が同数に至った場合、予め定められた指定値を推定値として選択しても良い。この場合、管理サーバ9は、管理者から入力された指定値を判定装置12へ送信しても良い。また、判定機能1210は、複数の値の総数に予め定められた重み付けを与え、重み付けされた総数に基づいて複数の値の一つを推定値として選択しても良い。この場合、管理サーバ9は、管理者から入力された重み付けを判定装置12へ送信しても良い。
 また、特に分散数(解析サーバ11の数)が多い場合、判定機能1210は、多数決判定を行うために或る解析値の数が分散数の過半数に達する数まで待つ必要がなく、予め定められた判定数に達した解析値を推定値として選択し、APサーバ13へ送信しても良い。これにより、分散数が多くても推定値を得るまでの時間を抑えることができる。この場合、管理サーバ9は、管理者から入力された判定数を判定装置12へ送信しても良い。
 図33は、管理サーバ9による解析結果登録処理を示す。
 前述の解析結果判定処理により判定装置12から解析結果受信情報を受信した管理サーバ9の管理機能910は、その解析結果受信情報を時間管理テーブル923及び統計時間管理テーブル924へ登録する解析結果受信状況登録処理を行う。解析結果受信情報は、判定装置12による解析結果情報の受信の状況を示し、例えば、解析結果管理テーブル720の解析サーバ欄12203や、イベント種別12204等を含む。
 管理機能910は、判定装置12から解析結果受信情報を受信する(ステップS241)。次に、管理機能910は、ステップS241で取得した解析結果受信情報に基づく情報を時間管理テーブル923及び統計時間管理テーブル924へ登録する。(ステップS242)。
 ここで管理機能910は、時間管理テーブル923のレコードを作成し、解析結果受信情報に示された解析サーバ11の識別情報、イベント型、イベント種別を、当該レコードの解析サーバ欄9231、イベント型欄9233、イベント種別欄9234へそれぞれ登録する。更に管理機能910は、これらの情報を判定装置12から受信したことを受信元欄9232へ登録する。更に管理機能910は、当該レコードを更新した時刻を当該レコードの更新時刻欄9235へ登録する。
 更に管理機能910は、分散先情報に基づいて時間管理テーブル923に登録されたレコードの更新時刻(分散先登録処理のステップS232)と、対応する解析結果受信情報に基づいて時間管理テーブル923に登録されたレコードの更新時刻(解析結果登録処理のステップS242)との差を見積時間として算出し、当該レコードの見積時間欄9235へ登録する。
 更に管理機能910は、統計時間管理テーブル924において、当該レコードの解析サーバ11及びイベント型の解析ロジックに対応するレコードの総時間に、算出された見積時間を加えることにより新たな総時間を算出し、当該レコードの総時間欄9244を更新する。更に管理機能910は、当該レコードのカウンタ値に1を加えることにより新たなカウンタ値を算出し、当該レコードのカウンタ欄9245を更新する。更に管理機能910は、当該レコードの総時間をカウンタ値で除することにより平均見積時間を算出し、当該レコードの平均見積時間欄9242を更新する。以上が解析結果登録処理である。
 この処理によれば、管理サーバ9は、解析サーバ11との通信を行うことなく、分散装置10及び判定装置12との通信から、イベントが解析サーバ11に投入されてから、そのイベントの解析が完了するまでの所要時間を推定することができる。この時間は、見積時間として、リアルタイム型の分散先の選択に用いられる。また、管理サーバ9は、見積時間の平均値を算出して分散装置10へ送信することにより、イベント毎のキューの状態を分散装置10へ送信する必要がなく、ネットワークの負荷を抑えることができる。この平均値は、平均見積時間として、一定時間型の分散先の選択に用いられる。
 本実施例によれば、クライアントのアクセス等によって発生したログを対象として解析を行って、その結果をアプリケーションが利用するシステムにおいて、APによる要求時間に応じて、分散先の決定方法を選択することにより、CEPの負荷分散の効率を向上させ、解析システムの効率を向上させることができる。
 APサーバ13には、短い要求時間内に解析結果を得ることを要求するAPや、それより長い要求時間内に解析結果を得られれば良いAP等が混在する場合がある。以上の実施例によれば、APにより定められた要求時間に対応するイベント型を判定し、イベント型に応じて、解析を行う解析サーバを選択し、解析の負荷を分散させることにより、複数のアプリケーションのそれぞれの要求を満たすように解析を実行することが可能である。従来の解析サーバへの負荷分散においては、APにより定められた要求時間に応じた分散が考慮されていない。そのため、要求時間を満たしつつ、イベントの種類に応じて効率良く分散させることは出来ない。
 また、従来のスケールアウトによって解析システムの処理性能を向上させる場合、解析サーバの増加によるコストの増加が問題になる。本実施例では、複数の解析サーバで同じ解析を分散させ、解析を並列実行させ、複数の解析値から推定値を算出することにより、解析サーバ11の信頼性が低い場合であっても、推定値の信頼性を高めることができる。これにより、解析サーバ11は、汎用PC(Personal Computer)のハードウエアや、OSS(Open Source Software)の解析ロジックを用いることができる。
 従って、以上の実施例は、高性能で高価な解析サーバを必要とせず、解析を担うソフトウエア費用を削減でき、解析システムのコストダウンを図ることが可能となる。
 また、本実施例によれば、解析システムによる解析を止めることなく、複数の解析サーバ11の一部のハードウエア又はソフトウエアの交換を行うことができる。この交換により、複数の解析サーバ11の一部の信頼性が低下した場合でも、複数の解析値から推定値を算出することにより、推定値の信頼性を維持することができる。これにより、解析サーバ11のバージョンアップ等を容易に行うことができる。
 従来、或る解析サーバにより実行されているCEPを特定の解析サーバへ移動させる技術は、移動中にCEPの解析を停止させる必要がある。一方、本実施例によれば、一つのイベントの解析を複数の解析サーバ11へ分散させるため、解析を行う解析サーバ11を変更する場合でも、他の解析サーバ11が解析を継続し、複数の解析値から推定値を算出することにより、解析システムの停止を防ぐことができる。
 実施例1では、管理サーバ9は、分散装置10から分散先情報を受信した時刻と、判定装置12から解析結果受信情報を受信した時刻とから、解析サーバ11のキューの状態、要するに、解析サーバ11の負荷を推測する方法を説明した。
 実施例2では、管理サーバ9は、解析サーバ11からキューの状態を示す情報を受信することにより、解析サーバ11のキューの状態を把握する方法、要するに、解析サーバ11から負荷を示す情報を取得し、その負荷を把握する方法を説明する。
 以下、実施例1との相違点を中心に説明する。
 図34は、実施例2の管理サーバ9の構成を示す。
 実施例1の管理サーバ9のメモリ907と比較すると、本実施例の管理サーバ9のメモリ907は、新たに解析サーバ状態管理テーブル925を格納する。なお、本実施例においては、時間管理テーブル923が省かれても良い。
 管理サーバ9の管理機能910は、解析サーバ11へキュー情報の問合せを送信する。その問合せを受信した解析サーバ11は、自身のキューの状態を示すキュー情報を管理サーバ9へ送信する。キュー情報を受信した管理機能910は、キュー情報に基づく情報を解析サーバ状態管理テーブル925へ登録する。キュー情報は例えば、当該解析サーバ11のキュー長(キューに溜まっている処理待ちイベント数)を含む。
 図35は、実施例2の管理サーバ9における解析サーバ状態管理テーブル925を示す。
 解析サーバ状態管理テーブル925は、解析サーバ11毎のレコードを有する。各レコードは、解析サーバ欄9251と、キュー長欄9252と、見積時間欄9253と、更新時刻欄9254欄とを有する。
 解析サーバ欄9251には、解析サーバ11の識別情報が登録される。キュー長欄9252には、当該解析サーバ11のキュー長が登録される。見積時間欄9253には、新たに当該解析サーバ11のキューへ積んだイベントの解析が完了するまでの見積時間(待ち時間)が登録される。言い換えれば、この見積時間は、現在のキューに登録されているイベントの解析時間の総和である。更新時刻欄9254欄には、当該レコードが更新された時刻が登録される。
 キュー情報を受信した管理機能910は、送信元の解析サーバ11の識別情報と、キュー情報に含まれたキュー長と、キュー情報を受信した時刻とを、解析サーバ状態管理テーブル925へ登録する。更に管理機能910は、解析ロジック管理テーブル921内の解析時間に、解析サーバ11から受信したキュー情報内のキュー長を乗じることにより、見積時間を算出し、解析サーバ状態管理テーブル925へ登録する。
 実施例1において、管理サーバ9は、解析サーバ11の前後に配される分散装置10及び判定装置12から、分散先情報及び解析結果受信情報をそれぞれ取得し、これらを取得した時刻を基にして、各解析サーバ11のキューの状況、要するに、負荷を推測し、推測した結果を時間管理テーブル923の見積時間として格納する。
 一方、実施例2において、管理サーバ9は、解析サーバ11へ問合せを行ってキューの状況、要するに、負荷情報を取得し、取得した結果を解析サーバ状態管理テーブル925の見積時間として格納する。実施例1の時間管理テーブル923の見積時間の代わりに、解析サーバ状態管理テーブル925の見積時間を用いることにより、実施例1と同様の制御を行うことができると共に、その制御の精度を向上させることができる。
 なお、分散装置10は、解析サーバ11のキュー長を管理サーバ9経由で取得し、取得されたキュー長を分散管理テーブル121へ記憶することで、解析サーバ11のキューの状況を把握、要するに、負荷情報を取得しても良い。更に、分散装置10が、新たにイベントのキューを有し、例えば一定時間型イベントの分散を行う際に、解析サーバ11のキュー長の情報を基にして、解析サーバ11のキューが一定量を超えないよう、イベントを分散装置10のキューへ格納すると共に分散先を決めて、要するに、取得した負荷情報に基づき、各解析サーバ11に係る負荷が所定量を超えないように、イベント転送を制御しても良い。
 実施例3では、或るログ出力サーバ8における一連のイベントが同一の解析サーバ11により解析される。
 以下、実施例1との相違点を中心に説明する。
 図36は、実施例3の分散装置10の構成を示す。
 実施例1の分散装置10と比較すると、本実施例の分散装置10のメモリ107は、更にセッション管理テーブル124を格納する。
 図37は、実施例3の分散装置10におけるセッション管理テーブル124を示す。
 セッション管理テーブル124は、クライアント7とログ出力サーバ8の間に張られたセッションと、解析サーバ11との対応付けを示す。セッション管理テーブル124は、セッション毎のレコードを有する。各レコードは、セッションID欄1241と、分散先欄1242と、イベント型欄1243と、イベント種別欄1244とを有する。
 セッションID欄1241には、クライアント7とログ出力サーバ8の間に張られたセッションの識別情報が登録される。分散先欄1242には、当該セッション内のイベントが転送された分散先の解析サーバ11の識別情報が登録される。イベント型欄1243には、転送されたイベントのイベント型が登録される。イベント種別欄1244には、転送されたイベントのイベント種別が登録される。
 セッションとは、アクセス単位の1つであり、クライアント7とログ出力サーバ8の間で通信を行うための、論理的な接続関係である。
 図38は、実施例3の分散装置10による分散処理を示す。
 実施例1の分散処理と比較すると、本実施例の分散処理は、ステップS283の代わりに、ステップS351~S356を有する。
 ステップS281の後、分散装置10の分散機能111は、受信されたイベントが新たなセッションの開始であるか否かを判定する(ステップS351)。ここで、セッションの開始時のイベントは、セッションの開始を示す情報を含んでいても良い。この場合、分散機能111は、受信されたイベントが新たなセッションの開始を示す情報を含むか否かを判定しても良い。また、分散機能111は、セッション管理テーブル124内に、受信されたイベントのイベント型及びイベント種別に対応するセッションのレコードがあるか否かを判定しても良い。
 受信されたイベントが新たなセッションの開始であると判定された場合(ステップS351:Y)、分散機能111は、実施例1と同様のステップS282により、当該イベントのイベント型がリアルタイム型であるか否かを判定する。イベント型がリアルタイム型であると判定された場合、分散機能111は、実施例1と同様のステップS283により、管理サーバ9から分散先を取得し、処理をステップS353へ移す。イベント型がリアルタイム型でない(一定時間型である)と判定された場合、実施例1と同様のステップS287により、分散管理テーブル121に基づいて分散先を決定し、処理をステップS353へ移す。その後、分散機能111は、セッション管理テーブル124において、開始されたセッションのレコードを作成し(ステップS353)、処理を実施例1と同様のステップS285へ移す。
 受信されたイベントが新たなセッションの開始でないと判定された場合(ステップS351:N)、分散機能111は、セッション管理テーブル124において、受信されたイベントに対応するセッションのレコードを選択し、そのレコードに示された分散先の解析サーバ11を分散先として選択する(ステップS354)。ここで、分散機能111は、セッション管理テーブル124において、イベント型欄1243及びイベント種別欄1244に夫々示されたイベント型及びイベント種別が、受信されたイベントと一致するレコードを選択する。その後、分散機能111は、セッション管理テーブル124において、選択されたレコードの分散先欄1242に示された分散先の解析サーバ11を選択する。
 その後、分散機能111は、受信されたイベントがセッションの終了であるか否かを判定する(S355)。ここで、セッションの終了時のイベントは、セッションの終了を示す情報を含んでいても良い。この場合、分散機能111は、受信されたイベントが新たなセッションの終了を示す情報を含むか否かを判定しても良い。
 受信されたイベントがセッションの終了でないと判定された場合(ステップS355:N)、分散機能111は、処理をステップS285へ移す。
 受信されたイベントがセッションの終了であると判定された場合(ステップS355:Y)、分散機能111は、セッション管理テーブル124において、選択されたセッションのレコードを削除し、処理を実施例1と同様のステップS285へ移す。以後の処理は実施例1と同様である。以上が、本実施例の分散処理である。
 なお、分散機能111は、セッションの代わりに、トランザクション等、他の一連の操作内のイベントを同一の分散先へ送信しても良い。
 本実施例によれば、解析サーバ11は、一連のイベントの解析を行うことができる。例えば、ログ出力サーバ8において、或るイベントと、それに続くイベントが関連している場合に、分散装置10は、それらのイベントを同一の解析サーバ11へ転送することにより、その解析サーバ11は、それらのイベントを用いて解析を行うことができる。これにより、複数のイベントにより夫々示される値の変化を解析する場合や、或るクライアント7による一連の操作を解析する場合等であっても、適切な負荷分散を行うことができる。例えば、或る株価の変動を解析する場合や、クライアント7における一連の操作を解析する場合に本実施例を適用することができる。
 本発明は、以上の実施例に限定されるものでなく、その趣旨から逸脱しない範囲で、他の様々な形に変更することができる。
 5、6、14、15、16、17、18、19:ネットワーク、 7:クライアント、 8:ログ出力サーバ、 9:管理サーバ、 10:分散装置、 11:解析サーバ、 12:判定装置、 13:APサーバ
 

Claims (12)

  1.  n個(nは3以上)の処理装置に接続された負荷分散装置と、
     前記n個の処理装置に接続された処理結果判定装置と、
     前記負荷分散装置及び前記処理結果判定装置に接続された管理装置と、を備え、
     前記管理装置は、前記n個の処理装置の夫々について、過去の処理において要した時間情報を取得し、前記n個の処理装置の夫々が処理対象情報の処理に掛かる所要時間を、前記時間情報に基づいて推定して推定時間とし、前記推定時間及び処理装置の関係を示す推定時間情報を前記負荷分散装置へ送信し、
     前記負荷分散装置は、前記推定時間情報に基づいて、前記処理対象情報を処理させる、m個(1<m<n)の処理装置を決定し、前記処理対象情報を、前記決定したm個の指定処理装置へ送信し、
     前記m個の指定処理装置の夫々は、前記処理対象情報を処理することにより処理結果を算出し、前記処理結果を前記処理結果判定装置へ送信し、
     前記処理結果判定装置は、前記m個の指定処理装置からm個の処理結果を夫々受信し、所定の方法により前記m個の処理結果から真の値を推定して推定値とし、前記推定値を処理する後段の処理装置へ前記推定値を送信する、処理制御システム。
  2.  前記処理対象情報の複数の分類の夫々に対して、通信装置による前記処理対象情報の送信から前記処理装置による前記推定値の受信までの時間の上限が予め定められており、
     前記管理装置は、前記複数の分類の夫々に対応する推定時間情報を前記負荷分散装置へ送信し、
     前記負荷分散装置は、前記処理対象情報の分類を判定し、前記判定された分類に対応する推定時間情報に基づいて前記m個の指定処理装置を決定する、請求項1に記載の処理制御システム。
  3.  前記処理結果判定装置は、処理結果毎に受信された数をカウントし、前記m個の処理結果の中で、最も多く受信された処理結果を前記推定値として選択する、請求項2に記載の処理制御システム。
  4.  前記管理装置は、前記指定処理装置の数を示す分散数mを前記処理結果判定装置へ送信し、
     前記処理結果判定装置は、前記最も多く受信された処理結果の数が、前記分散数の半数を超えた場合、前記最も多く受信された処理結果を前記推定値として選択し、前記推定値を前記処理装置へ送信する、請求項3に記載の処理制御システム。
  5.  前記負荷分散装置は、前記処理対象情報を前記m個の指定処理装置へ送信したことを示す送信情報を前記管理装置へ送信し、
     前記処理結果判定装置は、前記m個の指定処理装置の夫々から処理結果を受信したことを示す受信情報を前記管理装置へ送信し、
     前記管理装置は、前記送信情報及び前記受信情報に基づいて前記時間情報を更新する、請求項2に記載の処理制御システム。
  6.  前記管理装置は、前記時間情報に基づいて過去の所要時間に関する所要時間情報を記憶し、前記所要時間情報に基づいて前記過去の所要時間の平均値を算出して前記推定時間とし、当該推定時間を、前記判定された分類において、前記指定処理装置の決定に用いる、請求項5に記載の処理制御システム。
  7.  前記管理装置は、前記n個の処理装置の夫々の前記推定時間を示す前記推定時間情報と、前記指定処理装置の数を示す分散数mとを前記負荷分散装置へ送信し、
     前記負荷分散装置は、前記判定された分類において、前記n個の処理装置の中から前記推定時間が短い順に前記m個の指定処理装置を選択する、請求項6に記載の処理制御システム。
  8.  前記負荷分散装置は、前記推定時間情報の問合せを前記管理装置へ送信し、
     前記管理装置は、前記問合せを受信した場合、前記n個の処理装置の中から前記推定時間が短い順に前記m個の指定処理装置を選択し、前記m個の指定処理装置を示す前記推定時間情報を前記負荷分散装置へ送信する、請求項7に記載の処理制御システム。
  9.  前記管理装置は、前記n個の処理装置に接続され、前記n個の処理装置の夫々のキューの状態を示すキュー情報を受信し、前記キュー情報に基づいて前記推定時間を推定する、請求項2に記載の処理制御システム。
  10.  前記通信装置は、互いに関連する複数の通信対象情報を前記負荷分散装置へ送信し、
     前記負荷分散装置は、前記関連を示す関連情報を記憶し、前記関連情報に基づいて、前記複数の通信対象情報を同一の指定処理装置へ送信する、請求項2に記載の処理制御システム。
  11.  n個(nは3以上)の処理装置を制御する処理制御方法であって、
     前記n個の処理装置に接続された負荷分散装置と、前記n個の処理装置に接続された処理結果判定装置とに接続された管理装置が、前記n個の処理装置の夫々について、過去の処理において要した時間を示す時間情報を取得し、
     前記管理装置が、前記n個の処理装置の夫々が処理対象情報の処理に掛かる所要時間を、前記時間情報に基づいて推定して推定時間とし、
     前記管理装置が、前記推定時間及び処理装置の関係を示す推定時間情報を前記負荷分散装置へ送信し、
     前記負荷分散装置が、前記推定時間情報に基づいて、前記処理対象情報を処理させる、m個(1<m<n)の処理装置を決定し、
     前記負荷分散装置が、前記処理対象情報を前記決定したm個の指定処理装置へ送信し、
     前記m個の指定処理装置の夫々が、前記処理対象情報を処理することにより処理結果を算出し、
     前記m個の指定処理装置の夫々が、前記処理結果を前記処理結果判定装置へ送信し、
     前記処理結果判定装置が、前記m個の指定処理装置からm個の指定処理結果を夫々受信し、
     前記処理結果判定装置が、所定の方法により前記m個の処理結果から真の値を推定して推定値とし、
     前記処理結果判定装置が、前記推定値を処理する後段の処理装置へ前記推定値を送信する、ことを備える処理制御方法。
  12.  負荷分散装置及び処理結果判定装置に接続された管理装置のコンピュータのための処理制御プログラムであって、
     前記負荷分散装置及び前記処理結果判定装置に接続されたn個(nは3以上)の処理装置の夫々について、過去の処理において要した時間を示す時間情報を記憶し、
     前記n個の処理装置の夫々が処理対象情報の処理に掛かる所要時間を、前記時間情報に基づいて推定して推定時間とし、
     前記推定時間及び処理装置の関係を示す推定時間情報を前記負荷分散装置へ送信する
    ことを前記コンピュータに実行させ、
     前記負荷分散装置は、前記推定時間情報に基づいて、前記処理対象情報を処理させる、m個(1<m<n)の処理装置を決定し、前記処理対象情報を前記決定したm個の指定処理装置へ送信し、
     前記m個の指定処理装置の夫々は、前記処理対象情報を処理することにより処理結果を算出し、前記処理結果を前記処理結果判定装置へ送信し、
     前記処理結果判定装置は、前記m個の指定処理装置からm個の指定処理結果を夫々受信し、所定の方法により前記m個の処理結果から真の値を推定して推定値とし、前記推定値を処理する後段の処理装置へ前記推定値を送信する、処理制御プログラム。
     
PCT/JP2014/055475 2013-03-19 2014-03-04 処理制御システム、処理制御方法、および処理制御プログラム WO2014148247A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015506685A JP6062034B2 (ja) 2013-03-19 2014-03-04 処理制御システム、処理制御方法、および処理制御プログラム
US14/772,723 US9501326B2 (en) 2013-03-19 2014-03-04 Processing control system, processing control method, and processing control program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013056844 2013-03-19
JP2013-056844 2013-03-19

Publications (1)

Publication Number Publication Date
WO2014148247A1 true WO2014148247A1 (ja) 2014-09-25

Family

ID=51579936

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/055475 WO2014148247A1 (ja) 2013-03-19 2014-03-04 処理制御システム、処理制御方法、および処理制御プログラム

Country Status (3)

Country Link
US (1) US9501326B2 (ja)
JP (1) JP6062034B2 (ja)
WO (1) WO2014148247A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018036830A (ja) * 2016-08-31 2018-03-08 日本電信電話株式会社 処理システム、処理方法、処理サーバ、処理プログラム、評価サーバおよび評価プログラム
JP2018045442A (ja) * 2016-09-14 2018-03-22 株式会社東芝 中継装置、中継システム、中継プログラム、及び中継方法
JP2019075786A (ja) * 2017-10-18 2019-05-16 インフィネオン テクノロジーズ アーゲーInfineon Technologies Ag データを処理するための方法および装置
CN113407322A (zh) * 2021-06-21 2021-09-17 平安国际智慧城市科技股份有限公司 多终端的任务分配方法、装置、电子设备及可读存储介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6610100B2 (ja) * 2015-09-07 2019-11-27 富士通株式会社 ログ分析方法、プログラム及び情報処理装置
JP6399127B2 (ja) * 2017-03-08 2018-10-03 日本電気株式会社 システム管理装置、システム管理方法、プログラム、情報処理システム
US11734131B2 (en) * 2020-04-09 2023-08-22 Micron Technology, Inc. Memory device having redundant media management capabilities
CN111858043B (zh) * 2020-07-10 2024-03-22 海尔优家智能科技(北京)有限公司 服务请求的处理方法及装置、存储介质、电子装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008152618A (ja) * 2006-12-19 2008-07-03 Fujitsu Ltd ジョブ割当プログラム、方法及び装置
JP2009230581A (ja) * 2008-03-24 2009-10-08 Nippon Telegr & Teleph Corp <Ntt> バッチジョブ制御システム、管理ノード、およびバッチジョブ制御方法
US20120084788A1 (en) * 2010-10-05 2012-04-05 Fujitsu Limited Complex event distributing apparatus, complex event distributing method, and complex event distributing program

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07306794A (ja) 1994-05-12 1995-11-21 Mitsubishi Electric Corp 分散システム及び分散システムの高信頼化方法
JP2003029989A (ja) * 2001-07-16 2003-01-31 Matsushita Electric Ind Co Ltd 分散処理システムおよびジョブ分散処理方法
US7500133B2 (en) * 2004-12-28 2009-03-03 Sap Ag Connection manager for handling message oriented protocol-based requests
JP2006259812A (ja) 2005-03-15 2006-09-28 Hitachi Ltd 動的キュー負荷分散方法、システム及びプログラム
JP2007249491A (ja) * 2006-03-15 2007-09-27 Fujitsu Ltd マルチサーバ環境においてバッチジョブを分散させるプログラム、装置、および方法
US8434085B2 (en) * 2008-05-09 2013-04-30 International Business Machines Corporation Scalable scheduling of tasks in heterogeneous systems
US8321870B2 (en) * 2009-08-14 2012-11-27 General Electric Company Method and system for distributed computation having sub-task processing and sub-solution redistribution
US9110724B2 (en) * 2011-02-08 2015-08-18 Microsoft Technology Licensing, Llc Selecting computing nodes in cloud service using replication topologies

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008152618A (ja) * 2006-12-19 2008-07-03 Fujitsu Ltd ジョブ割当プログラム、方法及び装置
JP2009230581A (ja) * 2008-03-24 2009-10-08 Nippon Telegr & Teleph Corp <Ntt> バッチジョブ制御システム、管理ノード、およびバッチジョブ制御方法
US20120084788A1 (en) * 2010-10-05 2012-04-05 Fujitsu Limited Complex event distributing apparatus, complex event distributing method, and complex event distributing program

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018036830A (ja) * 2016-08-31 2018-03-08 日本電信電話株式会社 処理システム、処理方法、処理サーバ、処理プログラム、評価サーバおよび評価プログラム
JP2018045442A (ja) * 2016-09-14 2018-03-22 株式会社東芝 中継装置、中継システム、中継プログラム、及び中継方法
JP2019075786A (ja) * 2017-10-18 2019-05-16 インフィネオン テクノロジーズ アーゲーInfineon Technologies Ag データを処理するための方法および装置
JP7446708B2 (ja) 2017-10-18 2024-03-11 インフィネオン テクノロジーズ アーゲー データを処理するための方法および装置
CN113407322A (zh) * 2021-06-21 2021-09-17 平安国际智慧城市科技股份有限公司 多终端的任务分配方法、装置、电子设备及可读存储介质

Also Published As

Publication number Publication date
US9501326B2 (en) 2016-11-22
US20160011909A1 (en) 2016-01-14
JP6062034B2 (ja) 2017-01-18
JPWO2014148247A1 (ja) 2017-02-16

Similar Documents

Publication Publication Date Title
JP6062034B2 (ja) 処理制御システム、処理制御方法、および処理制御プログラム
CN109218355B (zh) 负载均衡引擎,客户端,分布式计算系统以及负载均衡方法
US11171969B2 (en) Systems and methods for real-time configurable load determination
US11252220B2 (en) Distributed code execution involving a serverless computing infrastructure
CN102281190B (zh) 负载均衡装置组网方法以及服务器、客户端接入方法
CN102918813B (zh) 用于数据负载均衡的设备和方法
US20170168986A1 (en) Adaptive coalescing of remote direct memory access acknowledgements based on i/o characteristics
CN109951576A (zh) 由计算设备提供的服务的健康状况监视
US20060179059A1 (en) Cluster monitoring system with content-based event routing
JP2005516293A (ja) ウェブ・ファーム・トラフィック制御の方法および装置
JP6015342B2 (ja) 情報処理方法、プログラム、情報処理装置、及び情報処理システム
US9736235B2 (en) Computer system, computer, and load balancing method
CN114338695B (zh) 基于多副本的领导者选举方法、装置、设备及存储介质
WO2018037930A1 (ja) データストア装置およびデータ管理方法
CN103825963B (zh) 虚拟服务迁移方法
US9813317B2 (en) Self-localizing data distribution network
US11558263B2 (en) Network device association with network management system
CN111447282B (zh) 用于确定传输路径的方法和装置
US10148585B2 (en) Communication control method, information processing apparatus, and storage medium
US11695700B2 (en) Information processing apparatus, computer-readable recording medium storing overload control program, and overload control method
KR102642396B1 (ko) 제한된 gpu리소스를 사용한 딥러닝 추론 모델을 위한 배치 스케줄링 장치
US9128774B2 (en) Information processing system for data transfer
CN112738193B (zh) 云计算的负载均衡方法及装置
Chen et al. SDSSE: A Self-Driven RPC Load Balancing Method in Datacenter
KR20240059506A (ko) 가상 노드를 이용한 노드 관리 방법

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: 14770196

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2015506685

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14772723

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14770196

Country of ref document: EP

Kind code of ref document: A1