Analysis device, analysis method, and program
The analysis device and method address the challenge of analyzing distribution systems with multiple servers by acquiring and comparing distribution data, thereby enhancing the monitoring and management of these systems.
Patent Information
- Application Number
- JP2022524757
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2020-05-20
- Publication Date
- 2025-05-27
- Estimated Expiration
- 2040-05-20
AI Technical Summary
Existing technologies do not effectively analyze the status of distribution systems with multiple distribution servers, such as Content Delivery Networks (CDN).
An analysis device and method that acquire and compare distribution data from multiple distribution servers within a distribution system, enabling comprehensive analysis of the system's state.
Enables appropriate analysis of the state of a distribution system with multiple servers, improving monitoring and management capabilities.
Smart Images

Figure 0007683940000001 
Figure 0007683940000002 
Figure 0007683940000003
Abstract
Description
[Technical field]
[0001] The present invention relates to an analysis device, an analysis method, and a program. [Background technology]
[0002] Data distribution via the Internet, which is a global network that interconnects a large number of computer networks, is now widely used. In general, a distribution device distributes data in response to a request from a user.
[0003] In the above-mentioned data distribution via the Internet, data that meets the distributor's intention should be distributed from a distribution device to a client that has sent a request. In recent years, various techniques have been proposed for analyzing responses from devices to requests.
[0004] For example, Patent Document 1 discloses a technique for analyzing nodes that provide services on a network. In the above technique, first, a plurality of first nodes transmit requests to one second node that is the subject of analysis. The second nodes transmit responses to the received requests to the first node, respectively. A communication analysis device analyzes and outputs the responses transmitted from the first nodes. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] International Publication No. 2020 / 017404 Summary of the Invention [Problem to be solved by the invention]
[0006] Patent Document 1 discloses a technology for analyzing the status of a single distribution server (second node). The technology disclosed in Patent Document 1 does not analyze the status of a distribution system in which multiple distribution servers are provided.
[0007] In recent years, technologies have been proposed for distributing data using a distribution system that has multiple distribution servers, such as a Content Delivery Network (CDN). Therefore, there is a demand for development of analysis technology for the status of such distribution systems.
[0008] An object of the present invention is to provide an analysis device, an analysis method, and a program that are capable of appropriately analyzing the state of a distribution system in which a plurality of distribution servers are provided. [Means for solving the problem]
[0009] An analysis device according to one embodiment of the present invention includes a distribution data acquisition unit that acquires multiple distribution data distributed by multiple distribution servers provided in a distribution system, and an analysis processing unit that performs analysis processing by comparing the multiple distribution data acquired by the distribution data acquisition unit.
[0010] An analysis method according to one embodiment of the present invention includes acquiring multiple distribution data distributed by multiple distribution servers provided in a distribution system, and performing an analysis process by comparing the acquired multiple distribution data.
[0011] A program according to one embodiment of the present invention causes a computer to function as a distribution data acquisition unit that acquires multiple distribution data distributed by multiple distribution servers provided in a distribution system, and an analysis processing unit that performs analysis processing by comparing the multiple distribution data acquired by the distribution data acquisition unit. Effect of the Invention
[0012] According to the present invention, it is possible to appropriately analyze the state of a distribution system in which a plurality of distribution servers are provided. Note that according to the present invention, other effects may be achieved instead of or in addition to the above effect. [Brief description of the drawings]
[0013] [Figure 1] 1 is an explanatory diagram illustrating a schematic configuration of a system S1 according to a first embodiment of the present invention. [Diagram 2] FIG. 1 is a block diagram illustrating a schematic configuration of a user device 100 according to a first embodiment of the present invention. [Diagram 3] 1 is a block diagram illustrating a schematic configuration of an analysis device 200 according to a first embodiment of the present invention. [Figure 4] 1 is a block diagram illustrating a schematic configuration of a client device 300 according to a first embodiment of the present invention. [Diagram 5] FIG. 1 is a block diagram illustrating a schematic configuration of a database device 400 according to a first embodiment of the present invention. [Figure 6] 1 is an explanatory diagram illustrating a schematic configuration of a CDN 600 according to a first embodiment of the present invention. [Figure 7] FIG. 4 is a sequence diagram illustrating an analysis process in the first embodiment of the present invention. [Figure 8] FIG. 2 is an explanatory diagram illustrating instruction data according to the first embodiment of the present invention. [Figure 9] FIG. 2 is an explanatory diagram illustrating request control data according to the first embodiment of the present invention. [Figure 10] FIG. 2 is an explanatory diagram illustrating distribution data according to the first embodiment of the present invention. [Figure 11] FIG. 2 is an explanatory diagram illustrating data stored in the database device 400 according to the first embodiment of the present invention. [Figure 12] FIG. 4 is an explanatory diagram illustrating a result of an analysis process in the first embodiment of the present invention. [Figure 13] FIG. 11 is a block diagram illustrating a schematic configuration of an analysis device 200a according to a second embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0014] Hereinafter, an embodiment of the present invention will be described in detail with reference to the accompanying drawings. In this specification and the drawings, elements that can be similarly described may be designated by the same reference numerals, and redundant description may be omitted.
[0015] Each embodiment described below is merely one example of a configuration that can realize the present invention. Each of the following embodiments can be modified or changed as appropriate depending on the configuration of the device to which the present invention is applied and various conditions. Not all of the combinations of elements included in each of the following embodiments are necessarily essential to realize the present invention, and some of the elements can be omitted as appropriate. Therefore, the scope of the present invention is not limited by the configurations described in each of the following embodiments. As long as there is no mutual contradiction, a configuration that combines multiple configurations described in the embodiments can also be adopted.
[0016] The description of the present invention is given in the following order. 1. Overview of the embodiments of the present invention 2. First embodiment 2.1. Configuration of the user device 100 2.2. Configuration of analysis device 200 2.3. Configuration of the client device 300 2.4. Configuration of the Database Device 400 2.5. CDN600 Configuration 2.6. Example 2.7. Variations 3. Second embodiment 3.1. Configuration of analysis device 200a 3.2. Example of operation 4. Other Embodiments
[0017] <<1. Overview of the embodiment of the present invention>> First, an outline of the embodiment of the present invention will be described.
[0018] (1)Technical issues Data distribution via the Internet, a global network that interconnects a large number of computer networks, is widely used. In general, a distribution device distributes data in response to a request from a user. In such data distribution via the Internet, data that meets the distributor's intention should be distributed from the distribution device to the client that sent the request.
[0019] In recent years, technologies have been proposed for distributing data using a distribution system that has multiple distribution servers, such as a Content Delivery Network (CDN). Therefore, there is a demand for development of analysis technology for the status of such distribution systems.
[0020] In view of the above circumstances, an object of this embodiment is to appropriately analyze the state of a distribution system in which multiple distribution servers are provided.
[0021] (2) Technical features In an embodiment of the present invention, a plurality of pieces of distribution data distributed by a plurality of distribution servers provided in a distribution system are acquired, and an analysis process is performed by comparing the acquired plurality of pieces of distribution data.
[0022] According to the above configuration, it is possible to appropriately analyze the state of a distribution system in which multiple distribution servers are provided. Note that this embodiment may achieve other effects instead of or in addition to the above effect. Note that the above-mentioned technical features are specific examples of the embodiments of the present invention, and it is natural that the embodiments of the present invention are not limited to the above-mentioned technical features.
[0023] <<2. First embodiment>> Next, a first embodiment of the present invention will be described with reference to Fig. 1 to Fig. 12. Fig. 1 is an explanatory diagram illustrating a schematic configuration of an analysis system S1 according to a first embodiment of the present invention. As shown in Fig. 1, the analysis system S1 of this embodiment has a user device 100, an analysis device 200, a plurality of client devices 300, and a database device 400. The user device 100, the analysis device 200, the plurality of client devices 300, and the database device 400 can communicate with each other via a network 500.
[0024] A plurality of client devices 300 can access a CDN 600 via a network 500 under the control of an analysis device 200. The CDN 600 is a distribution system having a plurality of distribution servers 700 and a control server 750.
[0025] In general, based on an instruction from user device 100, analysis device 200 controls multiple client devices 300 to access CDN 600. Multiple client devices 300 store distribution data received from CDN 600 in database device 400. Analysis device 200 executes analysis processing using the distribution data stored in database device 400 and outputs the analysis processing to user device 100.
[0026] The analysis system S1 of this embodiment is a system having multiple nodes that communicate according to a predetermined Internet protocol suite (e.g., Transmission Control Protocol / Internet Protocol, TCP / IP). Note that the analysis system S1 may be a system that complies with other standards.
[0027] <2.1. Configuration of user device 100> User device 100 of the present embodiment is a device that accepts input from a user, supplies the input to analysis device 200, and receives output from analysis device 200 and presents the output to the user. Fig. 2 is a block diagram illustrating a schematic configuration of user device 100. As shown in Fig. 2, user device 100 has network communication unit 110, storage unit 120, control unit 130, and input / output interface (I / F) 140.
[0028] Network communication unit 110 is an element that transmits and receives signals to and from other devices (e.g., analysis device 200) via network 500. Network communication unit 110 can be implemented by, for example, a network adapter and / or a network interface card (NIC).
[0029] The storage unit 120 is an element that temporarily or permanently stores programs (instructions) and data used to execute various processes in the user device 100. The programs include one or more instructions for the operation of the user device 100. The storage unit 120 may be implemented, for example, by a storage medium such as a volatile memory, a non-volatile memory, or a magnetic disk, or a combination of two or more of these. The storage unit 120 may also be configured integrally with one or more processors that constitute the control unit 130.
[0030] The control unit 130 is an element that provides various functions of the user device 100, and has, as functional blocks, an input unit 131, an instruction generation unit 133, and an output unit 135. Note that the control unit 130 may further include components other than the above-mentioned functional blocks. In other words, the control unit 130 can execute operations other than those of the above-mentioned functional blocks.
[0031] The control unit 130 may be implemented by, for example, one or more processors. The control unit 130 may implement the processing of this embodiment described below by expanding a program stored in the storage unit 120 into the storage unit 120 and / or a system memory (not shown) and executing the program. Note that each functional block (the input unit 131, the instruction generating unit 133, and the output unit 135) may be implemented by one or more processors separate from the control unit 130.
[0032] The input / output I / F 140 is an interface between the user device 100 and input devices such as a keyboard and a mouse and output devices such as a liquid crystal display. The input / output I / F 40 converts input signals corresponding to user operations on the input devices into input data and supplies the input data to the control unit 130, and converts output data supplied from the control unit 130 into output signals and transmits the output signals to the output devices.
[0033] The input data supplied from input / output I / F 140 is transferred to instruction generating unit 133 via input unit 131. The operation of instruction generating unit 133 will be described later. In addition, output unit 135 processes the data transmitted from analysis device 200, and supplies the processed data to input / output I / F 140 as output data.
[0034] 2.2. Configuration of analysis device 200 Analysis device 200 of this embodiment is a device that controls client device 300 to acquire distribution data from CDN 600 and executes analysis processing using the acquired distribution data. Fig. 3 is a block diagram illustrating a schematic configuration of analysis device 200. As shown in Fig. 3, analysis device 200 has network communication unit 210, storage unit 220, and control unit 230.
[0035] The network communication unit 210 is an element that transmits and receives signals to and from other devices (e.g., the user device 100, the client device 300, and the database device 400) via the network 500. The network communication unit 210 can be implemented by, for example, a network adapter and / or a network interface card.
[0036] The storage unit 220 is an element that temporarily or permanently stores programs (instructions) and data used to execute various processes in the analysis device 200. The programs include one or more instructions for the operation of the analysis device 200. The storage unit 220 can be implemented by, for example, a storage medium such as a volatile memory, a non-volatile memory, or a magnetic disk, or a combination of two or more of these. The storage unit 220 may also be configured integrally with one or more processors that constitute the control unit 230.
[0037] Furthermore, the storage unit 220 stores an analysis policy 221 and parameters 223 used in the analysis process of this embodiment described later. The analysis policy 221 and the parameters 223 will be described later. The parameters 223 may include, for example, an Internet Protocol (IP) address of the client device 300, a country / region estimated based on the IP address range, and an IP address of the delivery server 700 in the CDN 600.
[0038] Control unit 230 is an element that provides various functions of analysis device 200, and has input / output unit 231, client control unit 233, distribution data acquisition unit 235, and analysis processing unit 237 as functional blocks. Note that control unit 230 may further include components other than the above functional blocks. In other words, control unit 230 can execute operations other than those of the above functional blocks.
[0039] The control unit 230 may be implemented by, for example, one or more processors. The control unit 230 may implement the processing of this embodiment described below by expanding a program stored in the storage unit 220 into the storage unit 220 and / or a system memory (not shown) and executing the program. Note that each functional block (the input / output unit 231, the client control unit 233, the distribution data acquisition unit 235, and the analysis processing unit 237) may be implemented by one or more processors separate from the control unit 230.
[0040] Each functional block will be described later, but is outlined as follows. The input / output unit 231 processes data input to the analysis device 200 and data to be output from the analysis device 200. The client control unit 233 controls the multiple client devices 300 to acquire multiple pieces of distribution data from the multiple distribution servers 700. The distribution data acquisition unit 235 acquires the distribution data distributed by the distribution server 700 from the database device 400. The analysis processing unit 237 executes the analysis process according to the analysis policy 221 that specifies the items to be compared in the analysis process. The analysis processing unit 237 also outputs status information indicating the status of at least one distribution server 700 to the user device 100 based on the result of the analysis process.
[0041] <2.3. Configuration of client device 300> The multiple client devices 300 of this embodiment access the CDN 600 under the control of the analysis device 200, and store the received distribution data in the database device 400. Since the multiple client devices 300 of the analysis system S1 have the same configuration, one client device 300 will be described below as a representative. Figure 4 is a block diagram illustrating a schematic configuration of the client device 300.
[0042] As shown in Fig. 4, the client device 300 includes a network communication unit 310, a storage unit 320, and a control unit 330. A global IP address is assigned to the client device 300.
[0043] Network communication unit 310 is an element that transmits and receives signals to and from other devices (e.g., analysis device 200, database device 400, and distribution server 700) via network 500. Network communication unit 310 can be implemented by, for example, a network adapter and / or a network interface card.
[0044] The storage unit 320 is an element that temporarily or permanently stores programs (instructions) and data used to execute various processes in the client device 300. The programs include one or more instructions for the operation of the client device 300. The storage unit 320 may be implemented by, for example, a storage medium such as a volatile memory, a non-volatile memory, or a magnetic disk, or a combination of two or more of these. The storage unit 320 may also be configured integrally with one or more processors that constitute the control unit 330.
[0045] The control unit 330 is an element that provides various functions of the client device 300, and has an access unit 331 and a data storage unit 333 as functional blocks. The control unit 330 may further include components other than the above functional blocks. That is, the control unit 330 can execute operations other than those of the above functional blocks.
[0046] The control unit 330 may be implemented by, for example, one or more processors. The control unit 330 may implement the processing of this embodiment described below by expanding a program stored in the storage unit 320 into the storage unit 320 and / or a system memory (not shown) and executing the program. Note that each functional block (the access unit 331 and the data storage unit 333) may be implemented by one or more processors separate from the control unit 330.
[0047] <2.4. Configuration of database device 400> The database device 400 of this embodiment is a device that accumulates distribution data supplied from a plurality of client devices 300. FIG.
[0048] As shown in FIG. 5, the database device 400 includes a network communication unit 410, a storage unit 420, and a control unit 430.
[0049] Network communication unit 410 is an element that transmits and receives signals to and from other devices (e.g., analysis device 200 and client device 300) via network 500. Network communication unit 410 can be implemented by, for example, a network adapter and / or a network interface card.
[0050] The storage unit 420 is an element that temporarily or permanently stores programs (instructions) and data used to execute various processes in the database device 400. The programs include one or more instructions for the operation of the database device 400. The storage unit 420 can be implemented by, for example, a storage medium such as a volatile memory, a non-volatile memory, or a magnetic disk, or a combination of two or more of these. The storage unit 420 may also be configured integrally with one or more processors that constitute the control unit 430.
[0051] The control unit 430 is an element that provides various functions of the database device 400, and has a database management unit 431 as a functional block. The database management unit 431 is a so-called database management system (DBMS), and can operate together with the storage unit 420 to realize a relational database (RDB). The control unit 430 may further include components other than the above functional blocks. That is, the control unit 430 can execute operations other than those of the above functional blocks.
[0052] The control unit 430 may be implemented by, for example, one or more processors. The control unit 430 may implement the processing of this embodiment described below by expanding a program stored in the storage unit 420 into the storage unit 420 and / or a system memory (not shown) and executing the program. Note that each functional block (database management unit 431) may be implemented by one or more processors separate from the control unit 430.
[0053] The database device 400 may be configured as a part of the analysis device 200. For example, the control unit 230 may include a functional block corresponding to the database management unit 431, and the functional block may operate together with the storage unit 220 to realize the relational database of this embodiment.
[0054] <2.5. CDN600 Configuration> The CDN 600, which is a distribution system of this embodiment, has a plurality of distribution servers 700 and a control server 750 that controls the distribution servers 700. FIG. 6 is an explanatory diagram illustrating a schematic configuration of the CDN 600. The plurality of distribution servers 700 includes, for example, at least one origin server 710 that distributes original distribution data, and at least one cache server 720 that caches the distribution data distributed by the origin server 710. Typically, as shown in FIG. 6, the CDN 600 includes one origin server 710 and multiple cache servers 720. Note that the plurality of distribution servers 700 logically constitute one CDN 600, but may be physically installed in any location. For example, five distribution servers 700 may be arranged in Japan, Korea, China, Europe, and the United States, respectively.
[0055] Each distribution server 700 transmits distribution data in response to a request from a client device 300 (access unit 331). When a client device 300 attempts access using a domain name, the access destination of the client device 300 is allocated based on name resolution by a domain name server (DNS) (not shown). On the other hand, when a client device 300 attempts access using an IP address, the access destination of the client device 300 is directly identified by the IP address.
[0056] Each cache server 720 caches distribution data distributed by the origin server 710. Therefore, when the origin server 710 and the multiple cache servers 720 are appropriately synchronized, each client device 300 (access unit 331) can obtain the same distribution data by accessing any of the distribution servers 700 (the origin server 710 and the cache server 720).
[0057] The control server 750 executes a synchronization check to determine whether the origin server 710 and each cache server 720 are synchronized. The above synchronization check may be executed, for example, at predetermined time intervals. The control server 750 controls a cache server 720 that is determined to be not synchronized with the origin server 710 so that the cache server 720 is synchronized with the origin server 710. Note that any one of the multiple delivery servers 700 (for example, the origin server 710) may have the function of the control server 750.
[0058] <2.6. Example of operation> An example of analysis processing in the first embodiment of the present invention will be described with reference to Fig. 7. Fig. 7 is a sequence diagram illustrating the flow of analysis processing in the first embodiment.
[0059] In step S10, input unit 131 of user device 100 accepts input data indicating a user instruction and supplies it to instruction generation unit 133. Instruction generation unit 133 generates instruction data indicating an access instruction for each client device 300 based on the input data, and transmits the generated instruction data to analysis device 200.
[0060] FIG. 8 is an explanatory diagram illustrating an example of instruction data according to the present embodiment. In the following, in each drawing, "client" may be abbreviated as "CL". As shown in FIG. 8, the instruction data is data indicating a client ID, a client port number, a connection destination, a connection destination port number, request contents indicating a target to be acquired, etc. (e.g., a Hyper Text Transfer Protocol (HTTP) request), and an expected difference for each of the multiple client devices 300. As shown in the figure, the connection destination is specified by a domain name or an IP address. The expected difference indicates the difference between reference data (e.g., original distribution data distributed by the origin server 710) and data expected to be acquired (e.g., distribution data cached in the cache server 720). In this example, since the connection destination of the client device 300 with client ID #0 is the origin server 710, there is no value indicating the expected difference.
[0061] The instruction data generated by the instruction generating unit 133 may include an instruction for at least one client device 300. It is preferable that the user instructs the user device 100 of a client ID, a connection destination, and an expected difference. It is preferable that default values are set for items not instructed by the user in the instruction data.
[0062] In step S12, the input / output unit 231 of the analysis device 200 accepts instruction data from the user device 100 (instruction generation unit 133) and supplies it to the client control unit 233. The client control unit 233 generates request control data for each client device 300 based on the supplied instruction data. The request control data is data including the above items indicated by the instruction data, and is data capable of identifying, for each of the multiple client devices 300, a domain name corresponding to the CDN 600 to be accessed or an IP address corresponding to one distribution server 700 to be accessed. The request control data may be configured, for example, by a Uniform Resource Identifier (URI). More specifically, it is as follows.
[0063] 9 is an explanatory diagram illustrating an example of request control data according to this embodiment. As shown in FIG. 9, the request control data is data corresponding to requests to each of the multiple client devices 300, similar to the instruction data. The request control data is data including the client IP address, the country / region of the client, the country / region of the connection destination, the IP address of the origin server 710, and the request transmission time in addition to the above items included in the instruction data. The client control unit 233 refers to the parameters 223 in the storage unit 220 and a system clock (not shown) and generates the request control data by adding the above items underlined in FIG. 9 to the instruction data.
[0064] The client country / region and destination country / region included in the request control data are information inferred from the IP address. As shown in this example, a domain name may correspond to multiple IP addresses, so the destination country / region does not need to be specified in an entry that specifies the destination by the domain name. Even in an entry that specifies the destination by the domain name, the destination country / region may be specified from the domain name if information that associates the domain name with the country / region is stored in parameter 223.
[0065] In step S14, the client control unit 233 of the analysis device 200 transmits the request control data generated in step S12 to each of the multiple client devices 300. As can be understood from the above steps S12 and S14, the client control unit 233 controls the multiple client devices 300 to transmit requests (e.g., HTTP requests) to the multiple distribution servers 700, respectively, based on instructions from a user.
[0066] In step S16, the access unit 331 of each client device 300 transmits a request to one of the delivery servers 700 based on the request control data transmitted from the analysis device 200 (client control unit 233). More specifically, when the request control data indicates the connection destination by a domain name, the access unit 331 transmits the request to the delivery server 700 indicated by the IP address converted according to name resolution by DNS. On the other hand, when the request control data indicates the connection destination by an IP address, the access unit 331 transmits the request to the delivery server 700 indicated by the IP address included in the request control data.
[0067] In step S18, the distribution servers 700 each transmit distribution data (e.g., an HTML (Hyper Text Markup Language) file) in response to a request from the client device 300. The access units 331 of the client devices 300 each receive the distribution data transmitted from the distribution server 700. FIG. 10 is an explanatory diagram illustrating an example of distribution data according to this embodiment. As shown in FIG. 10, the distribution data includes a header portion and a body portion.
[0068] In step S20, the data storage unit 333 of each client device 300 transmits the distribution data received by the access unit 331 together with parameters related to access to the database device 400. The database management unit 431 of the database device 400 stores the distribution data and parameters related to access transmitted from the client device 300 (data storage unit 333) in the storage unit 420 in a format that can be used as a relational database.
[0069] 11 is an explanatory diagram illustrating data stored in the storage unit 420 of the database device 400 according to this embodiment. As shown in FIG 11, the storage unit 420 of the database device 400 stores the distribution data acquired by the client device 300 in association with the access-related parameters included in the request control data.
[0070] After the client device 300 has accessed the distribution server 700, the IP address of the distribution server 700 is known. Therefore, as shown in Fig. 11, the database management unit 431 may further store the IP address and the country / region of the destination returned from the DNS for the destination specified by the domain name.
[0071] In step S22, the distribution data acquisition unit 235 of the analysis device 200 requests (for example, transmits a query) the database management unit 431 of the database device 400 to supply the distribution data and parameters stored in the storage unit 420. The database management unit 431 reads out the distribution data and parameters based on the request and transmits them to the analysis device 200.
[0072] In step S24, the analysis processing unit 237 of the analysis device 200 executes the analysis process by comparing the multiple pieces of distribution data and parameters acquired by the distribution data acquisition unit 235. In this example, the analysis policy 221 specifies that the analysis processing unit 237 compares whether or not the distribution data between the distribution servers 700 match each other. Fig. 12 is an explanatory diagram illustrating the result of the analysis process in this embodiment.
[0073] The analysis processing unit 237 compares the distribution data of the origin server 710 acquired by the client device 300 with client ID #0 (hereinafter referred to as client #0; the same applies to other client IDs) with the distribution data of the cache server 720 acquired by clients #1 to #3 in accordance with the analysis policy 221, and determines whether or not there is an actual difference. The above comparison process can be executed using, for example, a diff command that compares character strings.
[0074] Then, based on the result of the above-mentioned analysis process, the analysis processing unit 237 outputs status information, which is a flag that discretely indicates whether the distribution server 700 is normal or abnormal. Specifically, the following is an example.
[0075] 12, there is no difference between the distribution data of the origin server 710 and the distribution data of the cache server 720 acquired by client #1. On the other hand, there is a difference between the distribution data of the origin server 710 and the distribution data of the cache server 720 acquired by client #2. The same is true for client #3.
[0076] The expected difference between the distribution data of the origin server 710 and the distribution data of the cache server 720 acquired by client #1 is "none." Since the expected difference and the actual difference ("none") match for the cache server 720 accessed by client #1, the analysis processing unit 237 determines that the server is normal and outputs status information indicating normality.
[0077] The expected difference between the distribution data of the origin server 710 and the distribution data of the cache server 720 acquired by client #2 is "yes." Since the expected difference and the actual difference ("yes") for the cache server 720 accessed by client #2 also match, the analysis processing unit 237 determines that the server is normal and outputs status information indicating normality.
[0078] The expected difference between the distribution data of the origin server 710 and the distribution data of the cache server 720 acquired by client #3 is "yes." Since the expected difference and the actual difference ("no") do not match for the cache server 720 accessed by client #3, the analysis processing unit 237 determines that the server is abnormal and outputs status information indicating the abnormality.
[0079] The analysis processing unit 237 supplies the result of the analysis process, including the above-mentioned status information, to the input / output unit 231. The result of the analysis process may include data used in the analysis process (distribution data and parameters acquired from the database device 400).
[0080] In step S26, the input / output unit 231 of the analysis device 200 transmits the result of the analysis process, including the status information on the distribution server 700 supplied from the analysis processing unit 237, to the user device 100.
[0081] In step S28, output unit 135 of user device 100 presents the result of the analysis process transmitted from analysis device 200 (input / output unit 231) to the user. More specifically, for example, output unit 135 may display a list including distribution server 700 and the status information on the screen of a browser used by the user. Also, output unit 135 may display a badge indicating the status information together with information of a site included in a search result searched by the user using the browser. Additionally, output unit 135 may distribute the result of the analysis process including the status information as an RSS feed.
[0082] According to the configuration of the present embodiment described above (particularly, the series of processes shown in FIG. 7), it is possible to appropriately analyze the state of the CDN 600, which is a delivery system in which a plurality of delivery servers 700 are provided.
[0083] <2.7. Modifications> The above-described embodiment can be modified in various ways. Specific modified aspects are exemplified below. Two or more aspects selected from the above embodiment and the following examples can be appropriately combined as long as they are not mutually contradictory.
[0084] The status information in the above configuration is a flag that discretely indicates whether the distribution server 700 is normal or abnormal. Alternatively, a continuous value that probabilistically indicates whether the distribution server 700 is normal or abnormal based on the analysis policy 221 may be used as the status information. With the above configuration, the user can quantitatively grasp the degree of abnormality of the distribution server 700. On the other hand, with the configuration in which a flag that discretely indicates normal / abnormal is used as the status information as in the present embodiment, the user can easily grasp the degree of abnormality of the distribution server 700.
[0085] In the above configuration, the analysis processing unit 237 of the analysis device 200 determines whether the distribution server 700 is normal or abnormal based on the result of the analysis process using the distribution data. However, the result of the analysis process by the analysis processing unit 237 may be output directly to the user device 100 based on the analysis policy 221. In this case, it is preferable that the analysis processing unit 237 outputs information that identifies the part of the distribution data where a difference occurs in the result of the analysis process. Based on the above information, the user device 100 becomes able to present the part of the website where a difference occurs to the user.
[0086] The analysis policy 221 in the above configuration specifies that the analysis processing unit 237 compares whether or not the distribution data between the distribution servers 700 match each other. However, the analysis policy 221 may specify that the analysis processing unit 237 compares the distribution data from the distribution server 700 with the data expected to be acquired. In a configuration in which the multiple distribution servers 700 are not completely synchronized (for example, a configuration in which different responses are returned for each country), it is difficult to properly analyze the state of data distribution by simply comparing the origin server 710 and the cache server 720. According to the above configuration, the data expected to be acquired for each distribution server 700 is compared with the actual distribution data, so that the state of data distribution can be properly analyzed even in a configuration in which the multiple distribution servers 700 are not completely synchronized.
[0087] The analysis processing unit 237 may realize the analysis process by comparing past distribution data with current distribution data. That is, the analysis policy 221 may specify that the analysis processing unit 237 compares the distribution data currently acquired by the distribution data acquisition unit 235 with distribution data acquired in the past. With the above configuration, the state of data distribution can be more appropriately analyzed by the chronological comparison process.
[0088] The analysis processing unit 237 may analyze the state of data distribution by comparing, item by item, a plurality of parameters related to access acquired from a plurality of distribution servers 700. For example, a plurality of parameters related to access acquired from one distribution server 700 may be regarded as one vector, and comparison processing may be realized by vector calculation. According to the above configuration, the analysis processing is performed taking into account factors other than the distribution data, so that the state of data distribution can be analyzed more appropriately.
[0089] As can be seen from the above, analysis device 200 can flexibly change the content of the analysis process by changing analysis policy 221 stored in storage unit 220. Therefore, compared to a configuration in which the algorithm for the analysis process is fixed, it is possible to realize appropriate analysis process according to various situations.
[0090] The analysis device 200 may be virtualized. That is, the analysis device 200 may be implemented as a virtual machine. In this case, the analysis device 200 (virtual machine) may operate as a virtual machine on a physical machine (hardware) including a processor, a memory, and the like, and on a hypervisor. The same applies to the user device 100, the client device 300, and the database device 400.
[0091] In a configuration in which the client device 300 is virtualized (i.e., a configuration using a virtual client), it is preferable that each of the multiple clients controlled by the client control unit 233 accesses the delivery server 700 via a relay node (e.g., a proxy server) to which a global IP address is assigned. Due to regional restrictions, it is difficult to freely assign a global IP address to a client, but by going through a relay node, it is possible to adjust the access source (i.e., the global IP address) to the delivery server 700.
[0092] The user device 100 may be divided into an input user device and an output user device. It is more preferable to apply the above configuration to a configuration in which the results of analysis processing are provided to a large number of user devices.
[0093] Analysis device 200 may execute the above-mentioned analysis process without being based on a user instruction from user device 100. For example, the process from step S12 in FIG. 7 onward may be executed at predetermined time intervals based on analysis policy 221. Furthermore, analysis device 200 may not transmit the result of the analysis process to user device 100. For example, the result of the analysis process may be accumulated in storage unit 220 and used to control CDN 600.
[0094] <<3. Second embodiment>> Next, a second embodiment of the present invention will be described with reference to Fig. 13. The first embodiment described above is a specific embodiment, whereas the second embodiment is a more generalized embodiment.
[0095] 3.1. Configuration of analysis device 200a Fig. 13 is a block diagram illustrating a schematic configuration of an analysis device 200a according to the second embodiment. As shown in Fig. 13, the analysis device 200a includes a distribution data acquisition unit 235a and an analysis processing unit 237a.
[0096] The distribution data acquisition unit 235a and the analysis processing unit 237a may be implemented by one or more processors, a memory (e.g., a non-volatile memory and / or a volatile memory) and / or a hard disk. The distribution data acquisition unit 235a and the analysis processing unit 237a may be implemented by the same processor, or may be implemented separately by different processors. The memory may be included in the one or more processors, or may be outside the one or more processors.
[0097] <3.2. Example of operation> An operation example according to the second embodiment will be described. The analysis device 200a (distribution data acquisition unit 235a) acquires a plurality of pieces of distribution data distributed by a plurality of distribution servers provided in a distribution system. Next, the analysis device 200a (analysis processing unit 237a) performs analysis processing by comparing the plurality of pieces of distribution data acquired by the distribution data acquisition unit.
[0098] -Relationship with First Embodiment As an example, the distribution data acquisition unit 235a and the analysis processing unit 237a included in the analysis device 200a according to the second embodiment may respectively execute the operations of the distribution data acquisition unit 235 and the analysis processing unit 237 included in the analysis device 200 according to the first embodiment. In the above case, the description of the first embodiment is also applicable to the second embodiment. Note that the second embodiment is not limited to the above example.
[0099] According to the above-described second embodiment, it becomes possible to appropriately analyze the state of a distribution system in which a plurality of distribution servers are provided.
[0100] <4. Other embodiments> Although the embodiments of the present invention have been described above, the present invention is not limited to these embodiments. It will be understood by those skilled in the art that these embodiments are merely examples and that various modifications are possible without departing from the scope and spirit of the present invention.
[0101] For example, the steps in the processes described herein do not necessarily have to be performed chronologically in the order depicted in the sequence diagrams. For example, the steps in the processes may be performed in an order different from that depicted in the sequence diagrams, or may be performed in parallel. Also, some of the steps in the processes may be deleted, and additional steps may be added to the processes.
[0102] In addition, a device (e.g., one or more devices (or units) among the multiple devices (or units) constituting the analysis device, or a module for one of the multiple devices (or units)) that includes the components of the analysis device described in this specification (e.g., a client control unit, a distribution data acquisition unit, and / or an analysis processing unit) may be provided.
[0103] Similarly, an apparatus (e.g., a module for a user apparatus) may be provided that includes the components of the user apparatus (e.g., an input unit, a setting processing unit, and / or an output unit) described herein. An apparatus (e.g., a module for a client apparatus) may be provided that includes the components of each client apparatus (e.g., an access unit and / or a data storage unit) described herein. An apparatus (e.g., a module for a database apparatus) may be provided that includes the components of the database apparatus (e.g., a database management unit) described herein.
[0104] Also, a method including the processing of the above-mentioned components may be provided, or a program for causing a processor to execute the processing of the above-mentioned components may be provided. Also, a non-transitory computer readable medium having the program recorded thereon may be provided. Naturally, such an apparatus, module, method, program, and non-transitory computer readable medium are also included in the present invention.
[0105] A part or all of the above-described embodiments may be described as, but is not limited to, the following supplementary notes.
[0106] (Appendix 1) a distribution data acquisition unit that acquires a plurality of distribution data distributed by a plurality of distribution servers provided in the distribution system; an analysis processing unit that performs an analysis process by comparing the plurality of pieces of distribution data acquired by the distribution data acquisition unit; An analysis device comprising: (Appendix 2) The analysis device according to claim 1, wherein the analysis processing unit executes the analysis process in accordance with an analysis policy that specifies items to be compared in the analysis process. (Appendix 3) The analysis device according to claim 2, wherein the analysis processing unit outputs status information indicating a state of at least one of the distribution servers based on a result of the analysis processing. (Appendix 4) The analysis device described in Appendix 3, wherein the status information is a flag that discretely indicates whether the distribution server is normal or abnormal, or a continuous value that probabilistically indicates whether the distribution server is normal or abnormal. (Appendix 5) 5. The analysis device according to claim 2, wherein the analysis policy specifies that the analysis processing unit compares whether the distribution data matches each other. (Appendix 6) 5. The analysis device according to claim 2, wherein the analysis policy specifies that the analysis processing unit compares the distribution data with data expected to be acquired. (Appendix 7) 3. The analysis device according to claim 2, wherein the analysis processing unit outputs a result of the analysis processing. (Appendix 8) The analysis device according to claim 7, wherein the analysis processing unit outputs information that identifies a portion where a difference occurs in the distribution data as a result of the analysis processing. (Appendix 9) The analysis device according to any one of Supplementary Note 2 to Supplementary Note 8, wherein the analysis policy specifies that the analysis processing unit compares the distribution data currently acquired by the distribution data acquisition unit with distribution data acquired in the past. (Appendix 10) The analysis device according to any one of Supplementary Note 1 to Supplementary Note 9, wherein the distribution system includes a plurality of distribution servers, including at least one origin server and at least one cache server that caches distribution data distributed by the origin server. (Appendix 11) The analysis device according to any one of Supplementary Note 1 to Supplementary Note 10, further comprising a client control unit that controls a plurality of clients to acquire a plurality of the distribution data from a plurality of the distribution servers. (Appendix 12) The analysis device described in Appendix 11, wherein each of the multiple clients controlled by the client control unit is assigned a global Internet Protocol (IP) address or accesses the distribution server via a relay node assigned a global IP address. (Appendix 13) 13. The analysis device according to claim 11, wherein the client control unit controls the multiple clients to send requests to the multiple distribution servers based on instructions from a user. (Appendix 14) The analysis device according to any one of Supplementary Note 11 to Supplementary Note 13, wherein the client control unit identifies, for each of the multiple clients, a domain name corresponding to the distribution system to be accessed or an IP address corresponding to one of the distribution servers to be accessed. (Appendix 15) Acquiring a plurality of pieces of distribution data distributed by a plurality of distribution servers provided in a distribution system; Executing an analysis process by comparing the plurality of pieces of distribution data obtained; The analysis method includes: (Appendix 16) Computer, a distribution data acquisition unit that acquires a plurality of distribution data distributed by a plurality of distribution servers provided in the distribution system; an analysis processing unit that performs an analysis process by comparing the plurality of pieces of distribution data acquired by the distribution data acquisition unit; A program that functions as a [Industrial Applicability]
[0107] It is possible to appropriately analyze the state of a distribution system in which multiple distribution servers are provided. [Explanation of symbols]
[0108] S1 Analysis System 100 User device 200 Analysis equipment 233 Client control section 235 Distribution Data Acquisition Department 237 Analysis Processing Section 300 Client Device 400 Database device 600 CDN (Distribution System) 700 Distribution Server 710 origin server 720 Cache Server
Claims
1. A distribution data acquisition unit that acquires a plurality of distribution data distributed by a plurality of distribution servers provided in a distribution system; An analysis processing unit that executes an analysis process by comparing the plurality of distribution data acquired by the distribution data acquisition unit according to an analysis policy that specifies items to be compared; and The analysis policy includes specifying that the analysis processing unit compares the distribution data currently acquired by the distribution data acquisition unit with the distribution data acquired in the past. An analysis device.
2. The analysis device according to claim 1, wherein the analysis processing unit outputs status information indicating the state of at least one of the distribution servers based on the result of the analysis process.
3. The analysis device according to claim 2, wherein the status information is a flag that discretely indicates whether the distribution server is normal or abnormal, or a continuous value that probabilistically indicates whether the distribution server is normal or abnormal.
4. The analysis device according to any one of claims 1 to 3, wherein the analysis policy specifies that the analysis processing unit compares whether the distribution data match each other.
5. The analysis device according to any one of claims 1 to 3, wherein the analysis policy specifies that the analysis processing unit compares the distribution data with the data expected to be acquired.
6. The analysis device according to claim 1, wherein the analysis processing unit outputs the result of the analysis process.
7. The analysis device according to claim 6, wherein the analysis processing unit outputs information identifying a portion where a difference has occurred in the distribution data in the result of the analysis process.
8. The analysis device according to any one of claims 1 to 7, wherein the distribution system includes at least one origin server and at least one cache server that caches the distribution data distributed by the origin server as the plurality of distribution servers.
9. The analysis device according to any one of claims 1 to 8, further comprising a client control unit that controls a plurality of clients to acquire the plurality of distribution data from the plurality of distribution servers.
10. Each of the plurality of clients controlled by the client control unit accesses the distribution server with a globally unique Internet Protocol (IP) address assigned thereto or via a relay node to which a globally unique IP address is assigned. The analysis apparatus according to claim 9.
11. The client control unit controls the plurality of clients to transmit requests to the plurality of distribution servers based on an instruction from a user. The analysis apparatus according to claim 9 or claim 10.
12. The client control unit identifies, for each of the plurality of clients, a domain name corresponding to the distribution system to be accessed or an IP address corresponding to one of the distribution servers to be accessed. The analysis apparatus according to any one of claims 9 to 11.
13. Obtaining a plurality of distribution data distributed by a plurality of distribution servers provided in a distribution system; Performing an analysis process by comparing the obtained plurality of distribution data according to an analysis policy that specifies items to be compared; The analysis policy includes specifying to compare currently obtained distribution data with distribution data obtained in the past. Analysis method.
14. A computer, A distribution data acquisition unit that acquires a plurality of distribution data distributed by a plurality of distribution servers provided in a distribution system; An analysis processing unit that executes an analysis process by comparing the plurality of distribution data acquired by the distribution data acquisition unit according to an analysis policy that specifies items to be compared; Function as, The analysis policy includes specifying that the analysis processing unit compares the distribution data currently acquired by the distribution data acquisition unit with the distribution data acquired in the past. Program.
Citation Information
Patent Citations
Data management apparatus
JP2006134041A
Vehicle communication system, mobile communication terminal and vehicle apparatus
JP2013021632A
Authentication system, synchronization method, authentication apparatus, and synchronization program
JP2016212471A
Mobile communication system
JP2019041179A
Decoding device
JP2019075765A