Distributed system and distributed processing method

The distributed system addresses the lack of multi-cluster management in container platforms by enabling secure and efficient load distribution and failure prevention through a distributed controller and secure communication protocols.

JP2025008608APending Publication Date: 2025-01-20NTT COMM CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023110911
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-07-05
Publication Date
2025-01-20

AI Technical Summary

Technical Problem

Conventional container management platforms lack a mechanism for distributed management of containers across multiple clusters, leading to potential system failures and resource limitations when a single cluster runs out of processing power or fails.

Method used

A distributed system with a first and second information processing device, each equipped with data distribution and processing units, enables secure communication and load distribution between clusters without complex network settings, utilizing a distributed controller to monitor resource status and manage data across multiple clusters.

Benefits of technology

Enables secure and efficient distributed management of containers across multiple clusters, ensuring load balancing and failure prevention through resource monitoring and secure communication protocols.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025008608000001_ABST
    Figure 2025008608000001_ABST
Patent Text Reader

Abstract

To provide a mechanism for performing distributed management of a container among a plurality of clusters.SOLUTION: A distributed system includes a first information processing device and a second information processing device. The first information processing device includes a data distribution unit and a first data processing unit. The second information processing device includes a second data processing unit. Each of the first data processing unit and the second data processing unit obtains data from a queue of the data distribution unit, and processes the data.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a container management infrastructure technology. [Background technology]

[0002] In recent years, the use of containers in the development of various services has been on the rise. However, containers perform many complex processes, making their management and operation cumbersome.

[0003] Therefore, container orchestration tools that can manage multiple containers collectively and efficiently perform container scaling and integration with container networks and storage are being used as container management platforms.

[0004] Conventional container management infrastructures (e.g., Kubernetes (registered trademark)) are designed to manage containers in a single cluster. [Prior art documents] [Patent documents]

[0005] [Patent Document 1] JP 2018-028764 A Summary of the Invention [Problem to be solved by the invention]

[0006] However, in a system where containers are managed in a single cluster, if the processing power of the single cluster becomes insufficient or if a failure occurs in the single cluster, this can have an impact on the entire system.

[0007] For this reason, there is a demand for technology that allows for the construction of multiple clusters and the distribution of container management across those clusters. However, conventional container management platforms do not have a mechanism for the distribution of container management across multiple clusters.

[0008] The present invention has been made in consideration of the above-mentioned points, and has an object to provide a mechanism for managing containers in a distributed manner across multiple clusters. [Means for solving the problem]

[0009] According to the disclosed technology, there is provided a distributed system including a first information processing device and a second information processing device, The first information processing device includes a data distribution unit and a first data processing unit, the second information processing device includes a second data processing unit; The first data processing unit and the second data processing unit each acquire data from the queue of the data distribution unit and process the data. A distributed system is provided. Effect of the Invention

[0010] The disclosed technology makes it possible to provide a mechanism for distributed management of containers across multiple clusters. [Brief description of the drawings]

[0011] [Figure 1] FIG. 2 is a diagram illustrating an example of a configuration of a distributed system in a first embodiment. [Diagram 2] 1 is a flowchart illustrating an operation of the distributed system in the first embodiment. [Diagram 3] FIG. 13 is a diagram illustrating an example of a DNS management table for communication outside a cluster. [Figure 4] FIG. 11 is a diagram illustrating an example of a routing table management table. [Diagram 5] FIG. 11 is a diagram illustrating an example of the configuration of a distributed system in a second embodiment. [Figure 6] 13 is a flowchart illustrating an operation of the distributed system in the second embodiment. [Figure 7] 11 is a diagram illustrating an example of information stored in a DNS for communication outside a cluster. [Figure 8]FIG. 13 is a diagram illustrating an example of the configuration of a distributed system in Example 2-A. [Figure 9] FIG. 13 is a diagram illustrating an example of a distributed controller management table. [Figure 10] FIG. 13 is a diagram illustrating an example of the configuration of a distributed system in Example 2-B. [Figure 11] FIG. 11 is a diagram illustrating an example of the configuration of a distributed system in a third embodiment. [Figure 12] 13 is a flowchart illustrating an operation of a distributed system in a third embodiment. [Figure 13] 11 is a diagram illustrating an example of information stored in a DNS for communication outside a cluster. [Figure 14] FIG. 13 is a diagram illustrating an example of the configuration of a distributed system in an embodiment 3-A. [Figure 15] 13 is a flowchart for explaining the operation of the distributed system in Example 3-A. [Figure 16] FIG. 13 is a diagram illustrating an example of a distributed controller management table. [Figure 17] FIG. 13 is a diagram illustrating an example of the configuration of a distributed system in a fourth embodiment. [Figure 18] 13 is a flowchart for explaining the operation of a distributed system in a fourth embodiment. [Figure 19] FIG. 11 is a diagram illustrating an example of routing information. [Figure 20] FIG. 2 illustrates an example of a hardware configuration of the apparatus. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0012] Hereinafter, an embodiment of the present invention (the present embodiment) will be described with reference to the drawings. The embodiment described below is merely an example, and the embodiment to which the present invention is applied is not limited to the following embodiment.

[0013] In this embodiment, it is assumed that Kubernetes (registered trademark) is used as the underlying container management platform, but the technology according to the present invention can also be applied to container management platforms other than Kubernetes (registered trademark).

[0014] In the following, first, the problem will be described in detail, and then the technique according to the present embodiment will be described in detail. Note that the description of the problem below is not publicly known.

[0015] (About the assignment) As mentioned above, there is a demand for technology that can manage containers in a distributed manner across multiple clusters. However, conventional container management platforms do not provide a method for managing containers in a distributed manner across multiple clusters. This results in the following issues:

[0016] In a single cluster configuration rather than a multiple cluster configuration, management relies on a single master node, so if communication between the master node and worker nodes is interrupted or the master node fails, it will affect the running applications.

[0017] In addition, in the case of a multi-cluster configuration, the load can be distributed by sending acquired data to other clusters through communication between clusters. This makes it possible to avoid the resource limitations that are a disadvantage of a single cluster, but in order to use a load distribution method between multiple clusters, it is necessary to configure complex network settings between the clusters.

[0018] (Outline of the embodiment) In this embodiment, it is possible to realize secure communication only between clusters of a container management infrastructure, without performing complex network settings in a multiple cluster configuration.

[0019] Furthermore, by configuring communications in a cluster rather than through the complicated settings at each site, it becomes possible to achieve load balancing between clusters without the need for application developers to configure complex settings.

[0020] Hereinafter, examples 1 to 4 relating to the configuration and operation of the system in this embodiment will be described. Examples 1 to 4 can be implemented in any combination. The outline of each example is as follows.

[0021] Example 1: Basic configuration and operation flow Example 2: Distributed flow with queued domains Example 3: Operation of a distributed controller using multiple data distribution units Example 4: Distributed processing at L7 Each embodiment will be described below. Note that, in the following embodiments, an example in which two clusters are provided is shown, but the number of clusters is not limited to two. The number of clusters may be three or more.

[0022] (Example 1: System Configuration) FIG. 1 shows an example of the configuration of a distributed system in the first embodiment. As shown in FIG. 1, the distributed system includes a cluster 100A at a base A and a cluster 100B at a base B. Each cluster may be configured by one computer or may be configured by multiple computers. The cluster may be called an "information processing device" or an "information processing system." Furthermore, each functional unit in the cluster is a container. However, each functional unit in the cluster may be realized by a method other than a container.

[0023] The cluster 100A and the cluster 100B are connected by a VPN. In addition, a data acquisition unit 200 capable of communicating with the cluster 100A is provided, and a broker 300 capable of communicating with both the cluster 100A and the cluster 100B is provided.

[0024] The cluster 100A includes a Gateway Engine 110A, a data processing unit 120A, a data distribution unit 130A, and a data receiving unit 140A.

[0025] The Gateway Engine 110A includes a DNS for cluster external communication 111A, an intra-cluster DNS 112A, and a routing table 113A. The data distribution unit 130A includes a queue.

[0026] The cluster 100B includes a Gateway Engine 110B and a data processing unit 120B. The Gateway Engine 110B includes a DNS for external communication 111B, an intra-cluster DNS 112B, and a routing table 113B. The cluster 100B may also include a data distribution unit 130B.

[0027] In the following description, when describing matters common to each cluster, they may be described without the reference characters A and B, such as "Gateway Engine 110."

[0028] (Example 1: System operation) Next, an example of the operation of the distributed system will be explained according to the steps in the flowchart of FIG.

[0029] <s1-1> In S1-1, each functional unit created in each cluster registers the address information of that functional unit in the intra-cluster DNS 112 in the Gateway Engine 110 in the respective bases.

[0030] <s1-2> In S1-2, the data distribution unit 130A in the cluster 100A is made public so that it can be accessed from the cluster 100B as well. Specifically, the data distribution unit 130A generates an externally disclosed domain, and registers the externally disclosed domain in the cluster external communication DNS 111A in the Gateway Engine 110A in the cluster 100A.

[0031] <s2> In S2, the data receiving unit 140A receives the data acquired from the outside by the data acquiring unit 200, and stores (adds) the data in a queue of the data distribution unit 130A.

[0032] <s3> In S3, information within the site (such as address information) managed by each Gateway Engine 110 is exchanged between clusters via the broker 300. Broker 300 acquires and manages all of the information exchanged at this time.

[0033] That is, through this exchange, the Gateway Engine 110A of the cluster 100A holds information on cluster B as well as information on cluster A. The Gateway Engine 110B of the cluster 100B holds information on cluster A as well as information on cluster B.

[0034] More specifically, the address information (e.g., IP address and domain) of the data distribution unit 130A is registered in the cluster external communication DNS 111A and the cluster external communication DNS 111B. Also, the address information of the Gateway Engine 110 of each base is registered in the routing table 113 of each base.

[0035] As described above, the broker 300 manages (holds) information exchanged between clusters. An example of a cluster external communication DNS management table managed by the broker 300 is shown in Fig. 3. The information shown in Fig. 3 is also an example of information managed in the cluster external communication DNS 111 in the Gateway Engine 110 in each cluster.

[0036] The broker 300 and each Gateway Engine 110 that synchronizes information with the broker 300 manage information on the DNS for communication outside the cluster using a management table such as that shown in Fig. 3. However, this is merely an example, and the present invention is not limited to this.

[0037] Fig. 4 shows an example of a routing table management list managed by the broker 300. The information shown in Fig. 4 is also an example of information managed in the routing table 113 in the Gateway Engine 110 in each cluster.

[0038] Broker 300 and each Gateway Engine 110 that synchronizes information with broker 300 manage routing table information using a management table such as that shown in Fig. 4. However, this is just one example, and the present invention is not limited to this. In the example shown in Fig. 4, the cluster public resource IP has a subnet mask of / 32, but the present invention is not limited to this.

[0039] The order of S2 and S3 may be reversed.

[0040] <s4-1> In S4-1, the data processing unit 120A of the cluster 100A inquires of the intra-cluster DNS 112A about address information of the data distribution unit 130A, and acquires the address information.

[0041] <s4-2> In S4-2, the data processing unit 120A of the cluster 100A accesses the data distribution unit 130A using the address information acquired in S4-1, acquires data from the queue of the data distribution unit 130A, and performs processing.

[0042] <s5-1> In S5-1, the data processing unit 120B of cluster 100B obtains address information of the DNS 111B for external communications from the intra-cluster DNS 112B, accesses the DNS 111B for external communications using the address information, and obtains address information of the data distribution unit 130A in cluster A from the DNS 111B for external communications.

[0043] <s5-2> In S5-2, the data processing unit 120B of cluster B accesses the data distribution unit 130A using the address information acquired in S5-1, acquires data from the queue of the data distribution unit 130A, and performs processing.

[0044] More specifically, the data processing unit 120B passes through an IPsec tunnel via the Gateway Engine 110 at each base, acquires data from the queue of the assigned data distribution unit 130A, and processes the data. Note that since the data is transmitted via IPsec, the data is encrypted.

[0045] (Example 2: System Configuration) Next, a description will be given of a second embodiment, mainly focusing on the differences from the first embodiment. Fig. 5 shows an example of the configuration of a distributed system in the second embodiment.

[0046] As shown in FIG. 5, the second embodiment differs from the first embodiment in that the data distribution unit 130A includes two queues (queue 1 for domain 1 and queue 2 for domain 2).

[0047] (Example 2: System operation) Next, an example of the operation of the distributed system will be described according to the procedure of the flowchart in Fig. 6. Below, processing that differs from the flow in the first embodiment will be described.

[0048] <S1-2´> In S1-2' after S1-1, each queue of the data distribution unit 130A in the cluster 100A is made public so that it can be accessed from the cluster 100B as well. Specifically, the data distribution unit 130A generates an externally disclosed domain for each queue, and registers the externally disclosed domain in the DNS 111A for cluster external communication in the Gateway Engine 110A in the cluster 100A.

[0049] An example of information stored (registered) in the cluster external communication DNS 111 of each cluster after the S3 information exchange is performed is shown in Fig. 7. As shown in Fig. 7, the IP addresses and domains of queue 1 and queue 2 are registered. Note that the information shown in Fig. 7 is an example. Information (other attributes) other than the information shown in Fig. 7 may be registered in the cluster external communication DNS 111.

[0050] <s2-1> In S2-1, the data receiving unit 140A receives data acquired from the outside by the data acquiring unit 200, and stores the data in queue 1 or queue 2 of the data distribution unit 130A. For example, the data acquired in sequence may be stored evenly in queue 1 and queue 2.

[0051] In the second embodiment, it is assumed that the data processing unit 120A processes data in queue 1, and the data processing unit 120B processes data in queue 2.

[0052] <S4-1´> After S2-1 and S3, in S4-1', the data processing unit 120A of the cluster 100A inquires of the intra-cluster DNS 112A about address information of queue 1 of the data distribution unit 130A, and acquires the address information.

[0053] <S4-2´> In S4-2', the data processing unit 120A of the cluster 100A obtains the data from queue 1 of the data distribution unit 130A and processes it.

[0054] <S5-1´> In S5-1', the data processing unit 120B of cluster 100B obtains address information of the DNS 111B for external communications from the intra-cluster DNS 112B, accesses the DNS 111B for external communications using the address information, and obtains address information of queue 2 of the data distribution unit 130A in cluster A from the DNS 111B for external communications.

[0055] <S5-2´> In S5-2', the data processing unit 120B of cluster B accesses queue 2 of the data distribution unit 130A using the address information acquired in S5-1', acquires data from queue 2 of the data distribution unit 130A, and performs processing.

[0056] (Example 2-A: System Configuration) Next, an embodiment 2-A will be described. The following mainly describes the differences from embodiment 2. Fig. 8 shows an example of the configuration of a distributed system in embodiment 2-A.

[0057] As shown in FIG. 8, embodiment 2-A differs from embodiment 2 in that a distributed controller 400 is provided.

[0058] (Example 2-A: System Operation) Regarding the operation of the system in the embodiment 2-A, the operation of S2-1 in Fig. 6 is different from that in the embodiment 2. This will be described as S2-A.

[0059] <s2-a> The distributed controller 400 monitors the resource status of the data processing unit 120 in each cluster, and stores the data output by the data receiving unit 140A in each queue according to the resource status. The distributed controller 400 may instruct the data receiving unit 140A on the queue in which to store the data according to the resource status of the data processing unit 120.

[0060] For example, normally, the data receiving unit 140A stores data in queue 1 and queue 2 in a predetermined ratio (e.g., equally), but when the distributed controller 400 detects that the resources of one of the data processing units 120 are becoming strained, the data receiving unit 140A stores more of the data in the queue that is processed by the data processing unit 120 with more resources.

[0061] For example, the distributed controller 400 monitors the CPU and memory usage of each data processing unit 120, and when it detects that there is a data processing unit 120 whose CPU or memory usage exceeds N%, it assigns the queue that stores the data to the other data processing unit 120 for processing the data.

[0062] More specifically, for example, when the distributed controller 400 detects that the resource status of the data processing unit 120B in cluster B exceeds 80% (when N=80), it stores more data in queue 1 and causes the data processing unit 120A in cluster A to perform more processing.

[0063] The distributed controller 400 executes the above control by holding a distributed controller management table shown in FIG.

[0064] (Example 2-B: System Configuration) Next, an embodiment 2-B will be described. The following mainly describes the differences from embodiment 2. Fig. 10 shows an example of the configuration of a distributed system in embodiment 2-B.

[0065] 10, embodiment 2-B differs from embodiment 2 in that it includes a distributed controller 400. Note that, with respect to the difference from embodiment 2-A, the control operation by the distributed controller 400 differs from that of embodiment 2-A.

[0066] (Example 2-B: System Operation) The operation flow of the system in the embodiment 2-B is basically the same as that in Fig. 6, but the operation of S2-1 is different from the operation described in the embodiment 2. In the embodiment 2-B, the operation of S2-1 becomes the following operations of S2-B1 and S2-B2.

[0067] <s2-b1> The data receiving unit 140A stores the data received from the data acquiring unit 200 uniformly in each queue.

[0068] <s2-b2> The distributed controller 400 checks the operating status of the data processing units 120 in each cluster, and when it detects that a data processing unit 120 accessing a certain queue has a high operating rate (no spare resources), it allows other data processing units 120 with spare resources to also access the queue, so as to prevent data processing from being delayed.

[0069] Specifically, the distributed controller 400 adds a DNS record describing address information for accessing the queue to the intra-cluster DNS 112 or the cluster external communication DNS 111 accessed by the other data processing unit 120. The other data processing unit 120 equally accesses the newly accessible queue and the queue that was previously assigned.

[0070] For example, when the distributed controller 400 detects that the resource usage (eg, CPU usage rate or memory usage rate) in the data processing unit 120 has reached N% or more, it determines that the data processing unit 120 has no spare resources.

[0071] A more specific example will be described below. In the initial state, it is assumed that the data processing unit 120B of cluster B accesses only queue 2, and the data processing unit 120A of cluster A accesses only queue 1.

[0072] When the distributed controller 400 detects that the resource usage of the data processing unit 120B in cluster B has exceeded 80% (when N=80), it adds DNS record information of queue 2, which was processed by cluster B, to the intra-cluster DNS 111A in the Gateway Engine 110A in cluster A. After that, the data processing unit 120A in cluster A processes data evenly in the order of queue 1 and queue 2. This reduces the load on the data processing unit 120B.

[0073] (Example 3: System Configuration) Next, a third embodiment will be described. The following mainly describes the differences from the second embodiment (and the first embodiment). Fig. 11 shows an example of the configuration of a distributed system in the third embodiment.

[0074] As shown in Fig. 11, the third embodiment differs from the second embodiment in that two data distribution units 130α and 130β are provided in cluster A. Note that, in the example shown in Fig. 11, one data distribution unit 130 is provided with one queue, but one data distribution unit 130 may be provided with multiple queues.

[0075] (Example 3: System operation) Next, an example of the operation of the distributed system will be described according to the procedure of the flowchart in Fig. 12. Below, processing that differs from the flow in the second embodiment will be described.

[0076] <S1-2´´> In S1-2″ after S1-1, each data distribution unit 130 in the cluster 100A is made public so that it can be accessed from the cluster 100B as well. Specifically, each data distribution unit 130 generates a respective externally disclosed domain, and registers the externally disclosed domain in the cluster external communication DNS 111A in the Gateway Engine 110A in the cluster 100A.

[0077] Fig. 13 shows an example of information stored (registered) in the cluster external communication DNS 111 of each cluster after the S3 information exchange is performed. As shown in Fig. 13, the IP address and domain for each of the data distribution units 130α and 130β are registered. Note that the information shown in Fig. 13 is an example. Information (other attributes) other than the information shown in Fig. 13 may be registered in the cluster external communication DNS 111. Note that since each data distribution unit 130 is a separate functional unit, it is assumed that a different IP address and domain will be used for each data distribution unit 130.

[0078] <S2-1´> In S2-1', the distributed controller 400 monitors the resource status of the data processing unit 120 in each cluster, and stores the data output from the data receiving unit 140A in the data distribution unit 140A corresponding to each base according to the resource status. The distributed controller 400 may instruct the data receiving unit 140A to store the data in either the data distribution unit 130α or the data distribution unit 130β according to the resource status of the data processing unit 120 in each cluster.

[0079] In the third embodiment, the data processing unit 120A processes data from the data distribution unit 130α, and the data processing unit 120B processes data from the data distribution unit 130β.

[0080] <S4-1´´> In S4-1'', the data processing unit 120A of the cluster 100A inquires of the intra-cluster DNS 112A about the address information of the data distribution unit 130α, and acquires the address information.

[0081] <S4-2´´> In S4-2'', the data processing unit 120A of the cluster 100A accesses the data distribution unit 130α using the address information acquired in S4-1'', acquires data from the queue of the data distribution unit 130α, and performs processing.

[0082] <S5-1´´> In S5-1'', the data processing unit 120B of cluster 100B obtains address information of the DNS 111B for external communication from the intra-cluster DNS 112B, accesses the DNS 111B for external communication using the address information, and obtains address information of the data distribution unit 130β in cluster A from the DNS 111B for external communication.

[0083] <S5-2´´> In S5-2'', the data processing unit 120B of cluster B accesses the data distribution unit 130β using the address information acquired in S5-1'', acquires data from the queue of the data distribution unit 130β, and performs processing.

[0084] (Example 3-A: System Configuration) Next, an embodiment 3-A will be described. The following mainly describes the differences from embodiment 3. Fig. 14 shows an example of the configuration of a distributed system in embodiment 3-A.

[0085] As shown in FIG. 14, in the embodiment 3-A, in the cluster A, a failure occurs in the data distribution unit 130α out of the two data distribution units 130α and 130β.

[0086] (Example 3-A: System Operation) Next, an example of the operation of the distributed system will be described according to the procedure of the flowchart in Fig. 15. Below, the processing that differs from the third embodiment will be described.

[0087] <S3-1´´> In S3-1'', when the distribution controller 400 detects a failure in the data distribution unit 130α, it causes the data receiving unit 140A to store the data in the data distribution unit 130β that is operating normally. In addition, the distribution controller 400 changes the DNS record for each DNS of each cluster so that the data distribution unit β that is operating normally can be accessed instead of the data distribution unit 130α in which the failure has occurred.

[0088] That is, when the distribution controller 400 confirms a failure in the data distribution unit 130α, the data from the data receiving unit 140A that should have been stored in the data distribution unit 130α is stored in the queue of the data distribution unit β.

[0089] At this time, the distribution controller 400 sets the records of the intra-cluster DNS 112 or the cluster external communication DNS 111 in the Gateway Engine 110 of each cluster so that the data distribution unit 130β can access them but the data distribution unit 130α cannot.

[0090] The distributed controller 400 executes the above control by holding a distributed controller management table shown in FIG. 16, for example.

[0091] <S4-1´´> In S4-1'', the data processing unit 120A of the cluster 100A inquires of the intra-cluster DNS 112A about the address information of the data distribution unit 130β that is operating normally, and acquires the address information.

[0092] <S4-2´´> In S4-2'', the data processing unit 120A of the cluster 100A obtains the data from the queue of the data distribution unit 130β and performs processing.

[0093] <S5-1´´> In S5-1'', the data processing unit 120B of cluster 100B obtains address information of the DNS 111B for external communication from the intra-cluster DNS 112B, accesses the DNS 111B for external communication using the address information, and obtains address information of the data distribution unit 130β, which is operating normally, from the DNS 111B for external communication.

[0094] <S5-2´´> In S5-2'', the data processing unit 120B of cluster B accesses the queue of the data distribution unit 130β using the address information acquired in S5-1'', acquires data from the queue of the data distribution unit 130β, and performs processing.

[0095] (Example 4: System Configuration) Next, a description will be given of Example 4. Fig. 17 shows an example of the configuration of a distributed system in Example 4. As shown in Fig. 17, this distributed system includes a cluster 100A at a base A and a cluster 100B at a base B.

[0096] The cluster 100A and the cluster 100B are connected by a Virtual Application Network (VAN) for communication at layer 7. The VAN is a communication method that enables traffic management and application visualization by establishing a virtual network specialized for an application on a physical network. Also, a data acquisition unit 200 capable of communicating with the cluster 100A is provided.

[0097] The cluster 100A includes an intra-cluster DNS 112A, a Layer 7 application router 150A, a data processing unit 120A, a data distribution unit 130A, and a data receiving unit 140A.

[0098] The cluster 100B has an intra-cluster DNS 112B, a Layer 7 application router 150B, and a data processing unit 120B. Note that in the cluster 100B, the data processing unit 120B can access the data distribution unit 130A in the same way as when the data distribution unit 130A of the cluster 100A is in the cluster 100B, and therefore the data distribution unit 130A and the queue are indicated in a dotted line frame in the cluster B.

[0099] (Example 4: System operation) Next, an example of the operation of the distributed system will be described along the procedure of the flowchart in Fig. 18. It is assumed that address information of each functional unit of cluster A is registered in intra-cluster DNS 112A, and address information of each functional unit of cluster B is registered in intra-cluster DNS 112B.

[0100] <s1> In S1, the data receiving unit 140A receives data acquired from the outside by the data acquiring unit 200, and stores the data in a queue of the data distributing unit 130A.

[0101] <S2´> In S2', the Layer 7 application router 150A and the Layer 7 application router 150B publish the address information of the data distribution unit 130A to the cluster B. That is, the service of the data distribution unit 130A is published to the cluster B. As a result, the address information of the data distribution unit 130A is registered in the intra-cluster DNS 112B of the cluster B.

[0102] Furthermore, based on the address information of the data distribution unit 130A, routing information to the data distribution unit 130A is shared between the Layer 7 application router 150A and the Layer 7 application router 150B.

[0103] <S4-1´´´> In S4-1'''', the data processing unit 120A of the cluster 100A inquires of the intra-cluster DNS 112A about address information of the data distribution unit 130A and acquires the address information.

[0104] <S4-2´´´> In S4-2''', the data processing unit 120A of the cluster 100A accesses the data distribution unit 130A using the address information acquired in S4-1''', acquires data from the queue of the data distribution unit 130A, and performs processing.

[0105] <S5-1´´´> In S5-1'''', the data processing unit 120B of the cluster 100B obtains address information of the data distribution unit 130A of cluster A and address information of the Layer 7 application router 150B from the intra-cluster DNS 112B.

[0106] <S5-2´´´> In S5-2'''', the data processing unit 120B of cluster B accesses the data distribution unit 130A through routing to the data distribution unit 130A by the Layer 7 application router 150A and the Layer 7 application router 150B, obtains data from the queue of the data distribution unit 130A, and performs processing.

[0107] More specifically, first, the data processing unit 120B accesses the Layer 7 application router 150B. Then, the data processing unit 120B accesses the data distribution unit 130A of cluster A and acquires data by routing based on the routing information stored in the Layer 7 application router 150A and the Layer 7 application router 150B.

[0108] 19 shows an example of routing information (routing table, path information) stored in the Layer 7 application router 150B. Note that the routing information shown in FIG. 19 is an example, and is not limited to this.

[0109] (Example of device hardware configuration) Any of the devices (information processing device (cluster), distributed controller, broker) described in this embodiment can be realized, for example, by causing one or more computers to execute a program.

[0110] That is, the device can be realized by executing a program corresponding to the processing performed by the device, using hardware resources such as a CPU and memory built into a computer. The program can be recorded on a computer-readable recording medium (such as a portable memory) and stored or distributed. The program can also be provided via a network such as the Internet or email.

[0111] Fig. 20 is a diagram showing an example of the hardware configuration of the computer. The computer in Fig. 20 has a drive device 1000, an auxiliary storage device 1002, a memory device 1003, a CPU 1004, an interface device 1005, a display device 1006, an input device 1007, an output device 1008, etc., which are all connected to each other via a bus B.

[0112] The program for realizing the processing on the computer is provided by a recording medium 1001 such as a CD-ROM or a memory card. When the recording medium 1001 storing the program is set in the drive device 1000, the program is installed from the recording medium 1001 to the auxiliary storage device 1002 via the drive device 1000. However, the program does not necessarily have to be installed from the recording medium 1001, but may be downloaded from another computer via a network. The auxiliary storage device 1002 stores the installed program as well as necessary files, data, etc.

[0113] The memory device 1003 reads out and stores the program from the auxiliary storage device 1002 when an instruction to start the program is received. The CPU 1004 realizes the functions related to the device in accordance with the program stored in the memory device 1003. The interface device 1005 is used as an interface for connecting to a network, etc. The display device 1006 displays a GUI (Graphical User Interface) or the like according to a program. The input device 1007 is composed of a keyboard and mouse, buttons, a touch panel, etc., and is used to input various operation instructions. The output device 1008 outputs the results of calculations.

[0114] (Effects of the embodiment) As described above, the technology according to the present embodiment makes it possible to realize a mechanism for distributively managing containers across multiple clusters in a container management infrastructure.

[0115] More specifically, by providing the distributed controller 400, load balancing can be easily achieved. Also, the distributed controller 400 can monitor the resource status of the data processing units arranged in each cluster, so that operations can be controlled to prevent failures. Also, since IPsec or Virtual Application Network (VAN) is used for communication between clusters, data can be transmitted and received securely.

[0116] The following supplementary notes are further disclosed regarding the above embodiment.

[0117] <Additional Notes> (Additional note 1) A distributed system including a first information processing device and a second information processing device, The first information processing device includes a data distribution unit and a first data processing unit, the second information processing device includes a second data processing unit; The first data processing unit and the second data processing unit each acquire data from the queue of the data distribution unit and process the data. Distributed systems. (Additional note 2) The first information processing device and the second information processing device share address information of the data distribution unit, and the second data processing unit accesses the data distribution unit using the address information. 2. The distributed system of claim 1. (Additional note 3) The distributed system further comprises a distributed controller, the data distribution unit comprising a plurality of queues; The distributed controller monitors the resource status of each of the first data processing unit and the second data processing unit, and distributes data to the plurality of queues according to the resource status. 2. The distributed system of claim 1. (Additional note 4) The distributed system further comprises a distributed controller, the data distribution unit comprising a plurality of queues; The distributed controller monitors the resource status of each of the first data processing unit and the second data processing unit, and controls allocation of queues to the first data processing unit and the second data processing unit according to the resource status. 2. The distributed system of claim 1. (Additional note 5) The distributed system further includes a distributed controller, and the first information processing device includes a plurality of data distribution units; When the distribution controller detects a failure in any one of the plurality of data distribution units, the distribution controller executes control so that each of the first data processing unit and the second data processing unit accesses a data distribution unit other than the data distribution unit in which the failure is detected. 2. The distributed system of claim 1. (Additional note 6) The first information processing device includes a first layer 7 application router, the second information processing device includes a second layer 7 application router, and the second data processing unit accesses the data distribution unit via the first layer 7 application router and the second layer 7 application router. 2. The distributed system of claim 1. (Additional note 7) A distributed processing method in a distributed system including a first information processing device and a second information processing device, The first information processing device includes a data distribution unit and a first data processing unit, and the second information processing device includes a second data processing unit, The first data processing unit and the second data processing unit each acquire data from the queue of the data distribution unit and process the data. Distributed processing methods.

[0118] Although the present embodiment has been described above, the present invention is not limited to such a specific embodiment, and various modifications and variations are possible within the scope of the gist of the present invention described in the claims. [Explanation of symbols]

[0119] 100A, 100B Cluster 110A, 110B Gateway Engine 111A, 111B DNS for external cluster communication 112A, 112B Cluster DNS 113A, 113B Routing Tables 120A, 120B Data processing section 130A Data distribution section 140A Data receiver 150A, 150B Layer 7 application router 200 Data Acquisition Department 300 broker 400 Distributed Controller 1000 Drive Device 1001 Recording media 1002 Auxiliary storage device 1003 Memory device 1004 CPU 1005 Interface device 1006 Display device 1007 Input Device 1008 Output device

Claims

1. A distributed system including a first information processing device and a second information processing device, The first information processing device includes a data distribution unit and a first data processing unit, the second information processing device includes a second data processing unit; The first data processing unit and the second data processing unit each acquire data from the queue of the data distribution unit and process the data. Distributed systems.

2. The first information processing device and the second information processing device share address information of the data distribution unit, and the second data processing unit accesses the data distribution unit using the address information. The distributed system of claim 1 .

3. The distributed system further comprises a distributed controller, the data distribution unit comprising a plurality of queues; The distributed controller monitors the resource status of each of the first data processing unit and the second data processing unit, and distributes data to the plurality of queues according to the resource status. The distributed system of claim 1 .

4. The distributed system further comprises a distributed controller, the data distribution unit comprising a plurality of queues; The distributed controller monitors the resource status of each of the first data processing unit and the second data processing unit, and controls queue allocation to the first data processing unit and the second data processing unit according to the resource status. The distributed system of claim 1 .

5. The distributed system further includes a distributed controller, and the first information processing device includes a plurality of data distribution units; When a failure is detected in any one of the plurality of data distribution units, the distribution controller executes control so that each of the first data processing unit and the second data processing unit accesses a data distribution unit other than the data distribution unit in which the failure is detected. The distributed system of claim 1 .

6. The first information processing device includes a first layer 7 application router, the second information processing device includes a second layer 7 application router, and the second data processing unit accesses the data distribution unit via the first layer 7 application router and the second layer 7 application router. The distributed system of claim 1 .

7. A distributed processing method in a distributed system including a first information processing device and a second information processing device, The first information processing device includes a data distribution unit and a first data processing unit, and the second information processing device includes a second data processing unit, The first data processing unit and the second data processing unit each acquire data from the queue of the data distribution unit and process the data. Distributed processing methods.

Citation Information

Patent Citations

  • Communication system and traffic control method

    JP2018028764A