The present invention relates to a control device, a control method, a program, and a communication system.
In recent years, discussion on introduction of software defined networking (SDN) technology capable of flexibly setting and managing network resources has progressed. In SDN, control and data transmission are separated to unify the control, and thus equipment costs and operation costs can be reduced. As a method for efficiently constructing and controlling an end-to-end network, a slice control method using a dedicated header has been proposed (for example, see NPL 1).
In the technology disclosed in NPL 1, a controller corresponding to an edge slice gateway (SLG) performs control in conjunction with addition, change and deletion of user equipment (UE).
[NPL 1] Nakamura et al., A Proposal of Effective D-Plane Configuration Method for End-to-End Network Slicing″ IEICE General Conference 2020, B-6-52, March 2020
In the technology disclosed in NPL 1, since a controller corresponding to an edge SLG performs control in conjunction with addition, change, and deletion of UE, when many UEs are connected and setting of the UEs is changed, loads are concentrated on the controller. In this case, there is a possibility of a functional failure such as omission of order processing occurring.
An objective of the present disclosure is to provide a technology capable of appropriately performing processing even when a load on a controller increases.
According to the disclosed technology,
The control unit
According to the disclosed technology, it is possible to appropriately perform processing even when a load on a controller increases.
Hereinafter, an embodiment of the present disclosure (the present embodiment) will be described with reference to the drawings. Embodiments to be described below are merely exemplary, and the embodiments to which the present invention is applied are not limited to the following embodiments.
An example of a configuration of a communication system 1 according to the present embodiment will be described with reference to
In the example of
The communication system 1 includes user equipment (UE) 20A, UE 20B, UE 20C, and UE 20D (hereinafter simply referred to as the “UE 20” when it is not necessary to distinguish them from each other). The communication system 1 includes a server 30A, a server 30B, a server 30C, and a server 30D (hereinafter simply referred to as the “server 30” when it is not necessary to distinguish them from each other). The numbers of the communication networks 10, UE 20, and servers 30 are not limited to the examples of
The UE 20 communicates with the server 30 via the communication network 10. The UE 20 is a terminal which is used by a user. The UE 20 may be, for example, a personal computer, a smartphone, a tablet terminal, or the like. The server 30 is an information processing device that provides various services to the UE 20.
The communication network 10 is a network to which a software defined networking (SDN) technology is applied. In the example of
Hereinafter, each SLG is simply referred to as an “SLG 13” when it is not necessary to distinguish the SLGs (13A, 14A, 15A, 13B, 14B, 13C, 14C, and 15C) of the domains A to C from each other. When it is not necessary to distinguish the orchestrators 11A to 11C of the domains A to C from each other, the orchestrators A to C are simply referred to as the “orchestrator 11.” When it is not necessary to distinguish the controllers 12A to 12C of the domains A to C, the controllers 12A to 12C are simply referred to as the “controller 12.”
The controller 12 is an example of a “control device.” The orchestrator 11 is an example of an “information processing device.” The SLG 13 is an example of a “relay device.”
The orchestrator 11 manages and sets each device of the domain in which the orchestrator 11 is installed. The orchestrator 11 instructs, for example, the controller 12 of the domain to perform various settings on the SLG 13 of the domain.
The controller 12 of each domain receives a request from the orchestrator 11 of the domain and transmits the request to the SLG 13 of the domain. Accordingly, the controller 12 performs various settings on the SLG 13 in accordance with the instruction from the orchestrator 11.
The SLG 13 is a relay device (a gateway, a router, or a switch) for the SDN that determines a transmission destination of a packet (data) transmitted from the device for each device such as each UE 20 in conformity content (rules) set in the controller 12, and transmits (relays or transfers) the packet to the determined transmission destination.
The edge SLG 13A and the edge SLG 14A are requested to perform predetermined setting (flow) by the controller 12A in response to an instruction from the orchestrator 11A when the UE 20A is added, changed, or deleted as a UE to be accommodated. Then, for example, when a packet transferred from the UE 20A is received, the edge SLG 13A may add a slice ID to the packet based on the predetermined setting and 5-tuple of the packet and the transmit the packet to the intermediate SLG. The 5-tuple is, for example, information regarding a source address, a destination address, a protocol, a source port, and a destination port in an IP packet.
In the subsequent intermediate SLG or the like, packets are distributed to tunnels between the SLGs 13 based on the slice ID. The tunnel may be set in advance for each transmission specification such as transmission priority and whether a path is redundant. The packet is transmitted to the server 30 via the tunnels satisfying requirements of a service in which a slice is used.
Next, a configuration of the orchestrator 11 and the controller 12 according to the present embodiment will be described with reference to
In the example of
The management unit 111 manages and sets the SLG 13, the UE 20, and the like. For example, the management unit 111 instructs the controller 12 to perform predetermined setting on the specific SLG 13. The transceiver unit 112 communicates with the controller 12.
In the example of
The load measurement unit 124 measures a processing load of the controller 12. A load measurement unit 124 measures a processing load of each SLG 13 controlled by the controller 12.
The distribution unit 121 distributes a request (an instruction or an order) from the orchestrator 11 to one of the real-time processing unit 122 and the batch processing unit 123 in accordance with the load measured by the load measurement unit 124.
The real-time processing unit 122 immediately transmits a request from the orchestrator 11 to the SLG 13 in accordance with an instruction from the distribution unit 121. The real-time processing unit 122 immediately transmits a response from the SLG 13 to the orchestrator 11 in accordance with the instruction of the distribution unit 121.
The batch processing unit 123 transmits a request in which a plurality of requests from the orchestrator 11 are collected to the SLG 13 in accordance with an instruction of the distribution unit 121. The real-time processing unit 122 transmits a response in which responses to each of the plurality of requests from the SLGs 13 are collected as one response to the orchestrator 11 in accordance with the instruction of the distribution unit 121.
An example of processing of the controller 12 according to the present embodiment will be described with reference to
The following processing may be performed, for example, when the controller 12 of a certain domain receives a request from the orchestrator 11 of that domain.
In step S1, the measurement unit 124 measures a load of the controller 12. Here, the load measurement unit 124 may measure, for example, use rates or the like of the CPU and the memory of the controller 12. The load measurement unit 124 may measure, for example, a frequency at which a request from the orchestrator 11 is transmitted to a specific SLG 13.
Subsequently, the load measurement unit 124 of the controller 12 determines whether a load (processing load) of the controller 12 is equal to or less than a threshold (step S2).
When the load of the controller 12 is equal to or less than a threshold (YES in step S2), the distribution unit 121 sequentially transmits (sequentially processes) each request from an orchestrator 11 to each SLG 13 through the real-time processing unit 122 (step S3). Here, when one request destined for the SLG 13 is received from the orchestrator 11, the distribution unit 121 immediately transmits the one request to the SLG 13.
Subsequently, the distribution unit 121 sequentially transmits each response to each request to the orchestrator 11 through the real-time processing unit 122 (step S4) and ends the processing for the request received from the orchestrator 11. When one response destined for the orchestrator 11 is received from the SLG 13 in the processing of step S4, the distribution unit 121 immediately transmits the one response to the orchestrator 11. Through the processing of steps S3 and S4, setting content instructed by the orchestrator 11 is reflected in the SLG 13 without delay.
In the example of
Similarly, when the controller 12 receives a request 402A transmitted from the orchestrator 11, the controller 12 transmits the request 402A as a request 412A to the SLG 13 through the processing of step S3. When a response 412B is received from the SLG 13, the response 412B is transmitted as a response 402B to the orchestrator 11 through the processing of step S4.
Similarly, when the controller 12 receives a request 403A transferred from the orchestrator 11, the controller 12 transmits the request 403A as a request 413A to the SLG 13 through the processing of step S3. When a response 413B is received from the SLG 13, the response 413B is transmitted to the orchestrator 11 as a response 403B through the processing of step S4.
Conversely, when the load of the controller 12 is not equal to or less than the threshold (exceeds the threshold) (NO in step S2), the distribution unit 121 transmits one request including the content of a plurality of requests from the orchestrator 11 to the SLG 13 through the batch processing unit 123 (batch processing) (step S5).
In the distribution unit 121, for example, when the frequency at which the request is transmitted from the orchestrator 11 to the specific SLG 13 and which is measured by the load measurement unit 124 exceeds the threshold, only the requests destined for the SLG 13 may be collected into one request. Accordingly, for example, it is possible to reduce occurrence of delay in setting processing for the other SLG 13 since the setting for the specific SLG 13 is busy.
As illustrated in
In this case, the distribution unit 121 may notify the orchestrator 11 that the plurality of requests are collected and processed. The orchestrator 11 may include information regarding a sequence number (serial number) in each request and transfer the request to the controller 12. The distribution unit 121 may generate one request including a plurality of sets of the sequence number and content of the request.
The sequence number (serial number) for each request may be given by the controller 12. In this case, for example, the distribution unit 121 may give the sequence number (the serial number) to each request received from the orchestrator 11 in the order of date and time received by the controller 12 or in the order of date and time transmitted from the orchestrator 11.
The distribution unit 121 may collectively transmit a plurality of requests having at least one of the matched destination and priority of the requests among the plurality of requests from the orchestrator 11 to the SLG 13. In this case, the distribution unit 121 may generate one request in which information regarding the matched portion is deleted (integrated) among information such as the destinations, priority, and the like of the requests included in a plurality of requests from the orchestrator 11 without overlapping. In this case, for example, when information regarding a destination included in a first request matches information regarding a destination included in a second request, the distribution unit 121 may delete the information regarding the destination from the second request and then generate one request including information included in the first request and information included in the second request. Accordingly, for example, it is possible to reduce an amount of data transmitted from the controller 12 to the SLG 13.
For example, the distribution unit 121 may convert destinations of a plurality of requests having parts of the matched destinations of the requests among the plurality of requests from the orchestrator 11 into multicast destinations including the destinations of the plurality of requests and may transmit the converted requests to the SLG 13. Accordingly, for example, it is possible to reduce the number of packets transmitted from the controller 12 to the SLG 13.
As illustrated in
Subsequently, the distribution unit 121 transmits one response in which responses to the plurality of requests are collected to the orchestrator 11 (step S6) and ends processing on the request received from the orchestrator 11. Here, the distribution unit 121 transmits one response including information indicating a processing result for each of the plurality of requests to the orchestrator 11.
As illustrated in
The distribution unit 121 may receive a response which is each response to each of the plurality of requests and includes a sequence number for each request from the SLG 13 and may cause the batch processing unit 123 to generate a response in which a plurality of responses received within a predetermined interval (for example, 1 minute) are collected into one response and transfer the response to the orchestrator 11. In this case, the distribution unit 121 may generate one response including a plurality of sets of data of the sequence number for each request and the content of a response to each request.
In the example of
In the example of
Through the processing described with reference to
When the load of the controller 12 exceeds the first threshold, the processing of steps S5 and S6 is performed. Therefore, since the load of the controller 12 increases, as indicated by a line segment 612, an increase speed is lowered.
When the load of the controller 12 exceeds a second threshold higher than the first threshold, the controller 12 may discard at least some of the requests from the orchestrator 11. Accordingly, the load of the controller 12 increases, as indicated by a line segment 613. Therefore, the increase speed is further lowered, and thus the load of the controller 12 does not exceed an upper limit 601 at which a functional failure such as processing omission of an order occurs.
In the technology of the related art, for example, when predetermined setting is instructed (the flow is input) to the edge SLG 13 from the orchestrator 11 to the controller 12 due to addition, change, deletion, and the like of the UE 20, a load is concentrated on the controller 12, and processing omission of an order and a functional failure may occur. For example, it is considered that such a problem occurs in particular when many UEs 20 are added at a time, for example, to enlarge (scale) the SDN network.
According to the above-described embodiment, even when the load on the controller 12 is increased, the processing can be appropriately performed.
The function of each functional block in the controller 12 illustrated in
As illustrated in
For example, a program implementing processing of the controller 12 is stored in the auxiliary storage device 103 (a computer-readable recording medium). When the controller 12 operates, the program is read to the memory 102 and the processor 101 reads the program from the memory 102 to execute the program. For example, the processor 101 executes processing of the distribution unit 121 or the like in accordance with the program.
The “computer-readable recording medium” is, for example, a portable medium such as a flexible disk, a magneto-optical disc, a ROM, or a CD-ROM, a hard disk built in a computer system, or the like. The “computer-readable recording medium” may also include an element that dynamically retains a program in a short time such as a communication line when the program is transferred over a network such as the Internet or a communication line such as a telephone line, or an element that retains a program for a given time period such as a volatile memory inside a server or a computer system serving as client in that case.
Although the embodiment has been described above, the present invention is not limited to such a specific embodiment, and various modifications and changes can be made within the scope of the gist of the present invention described in the claims.
1
10
11
111
112
12
121
122
123
124
13
20
30
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2020/032487 | 8/27/2020 | WO |