Controller and switching method

The integration of cloud and network controllers within the communication system allows for optimal resource allocation and route switching, addressing the challenge of maintaining service quality by collectively managing cloud and network resources to meet user requirements.

WO2024257371A1PCT designated stage expired Publication Date: 2024-12-19NIPPON TELEGRAPH & TELEPHONE CORP
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2023/044545
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-06-12
Filing Date
2023-12-13
Publication Date
2024-12-19

AI Technical Summary

Technical Problem

Conventional communication systems face challenges in maintaining optimal service quality due to independent optimization of cloud resources and network redundancy, leading to increased delays and difficulties in continuous service provision during failures or changes in usage status.

Method used

A controller system that collects cloud and network information to switch to optimal resources and routes that meet user quality requirements, integrating cloud and network controllers to manage resource allocation and route switching collectively.

Benefits of technology

Ensures the system can switch to optimal resources and routes that meet user quality requirements, minimizing delays and ensuring continuous service by coordinating cloud and network controllers.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2023044545_19122024_PF_FP_ABST
    Figure JP2023044545_19122024_PF_FP_ABST
Patent Text Reader

Abstract

This controller comprises: a first information collecting unit that collects cloud information relating to a plurality of cloud resources from a cloud controller that collects the cloud information from each of the plurality of cloud resources and changes settings of the plurality of cloud resources; a second information collecting unit that collects network information relating to a plurality of communication devices and a network formed by the plurality of communication devices, which are provided on a path for using any of the cloud resources, from a network controller that collects the network information from each of the plurality of communication devices and instructs path switching in the plurality of communication devices; and a switching instruction unit which, on the basis of the collected cloud information and the collected network information, if a service quality does not satisfy a quality requirement requested by a user, instructs the cloud controller that controls the plurality of cloud resources and the network controller that controls the network to switch to a cloud resource and a path switching destination that satisfy the quality requirement. 
Need to check novelty before this filing date? Find Prior Art

Description

Controller and switching method

[0001] This application claims priority to PCT / JP2023 / 021784, filed in Japan on June 12, 2023, the contents of which are incorporated herein by reference.

[0002] FIG. 31 is a diagram showing an example of the configuration of a conventional communication system 1. The communication system 1 includes a terminal device 2, multiple communication devices 3-1 to 3-4, and multiple cloud resources 4-1 to 4-2. The terminal device 2 is a user terminal used by a user. The multiple communication devices 3-1 to 3-4 are relay devices that transfer signals between the terminal device 2 and the cloud resources 4-1 to 4-2. The cloud resource 4-1 is a resource for providing a cloud service. For example, the cloud resource 4-1 may be a server, a database, or storage. The cloud resource 4-2 is a spare resource that is used when the cloud resource 4-1 is unavailable due to a failure or the like.

[0003] In the communication system 1 shown in FIG. 31 , when a user uses cloud resource 4-1, in addition to securing cloud resource 4-1, it is necessary to secure a network from the usage location (e.g., terminal device 2) to cloud resource 4-1. Suppose a failure occurs in the section between communication device 3-1 and communication device 3-2 while the user is using the cloud resource via the route indicated by dotted line 5 (terminal device 2 ⇔ communication device 3-1 ⇔ communication device 3-2 ⇔ cloud resource 4-1). Since this is a network failure, in this case, it is possible to search for a detour route and secure a new communication route from terminal device 2 ⇔ communication device 3-1 ⇔ communication device 3-4 ⇔ communication device 3-3 ⇔ communication device 3-2 ⇔ cloud resource 4-1 to restore communication. However, in some cases, there is a risk of significant route delay.

[0004] If communication device 3-2 fails, a route to cloud resource 4-1 cannot be secured, and users cannot use cloud resource 4-1. Furthermore, if a large-scale failure occurs in cloud resource 4-1 and other resources at that site cannot be used, a switch will be made to cloud resource 4-2 located at another site. However, in this case, a route reconfiguration will be required separately from the cloud resource switch.

[0005] JP 2010-68139 A JP 2013-179456 A

[0006] In conventional technologies, the cloud resource redundancy function and the network redundancy configuration are independent, so optimization is performed for the cloud resource or the network alone. Therefore, when a configuration change is required due to a failure or a change in the equipment or user usage status, the cloud controller that changes the cloud resource settings and the network controller that changes the network settings must work together to switch the cloud resource and the network.

[0007] However, with the conventional method, the controllers were not linked, which sometimes led to increased delays and made it difficult to provide continuous services. Even in situations where switching the network and cloud together would solve the problem, the controller, which can only see one side, could not handle the situation. Even if the controllers were linked, there was no specific mention of the optimal combination of cloud resources and communication equipment, which resulted in limited benefits in terms of performance.

[0008] In view of the above circumstances, an object of the present invention is to provide a technology that can switch to the optimal resource and route that satisfies the quality requirements of the user as a whole system.

[0009] One aspect of the present invention is a controller comprising: a first information collection unit that collects cloud information regarding a plurality of cloud resources from each of the plurality of cloud resources directly or via another device; a second information collection unit that collects network information regarding a plurality of communication devices provided on a path for using any of the plurality of cloud resources and a network formed by the plurality of communication devices from each of the plurality of communication devices directly or via another device; and a switching instruction unit that instructs a cloud controller that controls the plurality of cloud resources and a network controller that controls the network to switch to a cloud resource and a path destination that satisfy the quality requirements if the service quality does not satisfy the quality requirements requested by a user based on the cloud information collected by the first information collection unit and the network information collected by the second information collection unit.

[0010] One aspect of the present invention is a switching method that collects cloud information regarding a plurality of cloud resources directly from each of the plurality of cloud resources or via another device, collects network information regarding a plurality of communication devices provided on a path for using any of the plurality of cloud resources and a network formed by the plurality of communication devices directly from each of the plurality of communication devices or via another device, and, based on the collected cloud information and the collected network information, instructs a cloud controller that controls the plurality of cloud resources and a network controller that controls the network to switch to a cloud resource and a path destination that satisfy the quality requirements if the service quality does not satisfy the quality requirements requested by a user.

[0011] According to the present invention, it becomes possible to switch the entire system to the optimum resource and route that satisfies the quality requirements of the user.

[0012] 1 is a diagram illustrating an example of the configuration of a communication system in the first embodiment. FIG. 1 is a diagram illustrating an example of the functional configuration of a cloud controller, a network controller, and an integrated controller in the first embodiment. FIG. 2 is a diagram illustrating an example of a network & cloud information DB in the first embodiment. FIG. 3 is a diagram illustrating an example of a network & cloud information DB in the first embodiment. FIG. 4 is a diagram illustrating an example of a user usage status DB in the first embodiment. FIG. 5 is a diagram illustrating an example of a quality requirement DB in the first embodiment. FIG. 6 is a diagram illustrating an example of a cloud resource list in the first embodiment. FIG. 7 is a diagram illustrating an example of a network route list in the first embodiment. FIG. 8 is a diagram illustrating an example of a service provision information list in the first embodiment. FIG. 9 is a diagram illustrating an example of a switching destination candidate list in the first embodiment. A sequence diagram illustrating the flow of processing in the communication system in the first embodiment. A flowchart illustrating the flow of switching determination processing in the first embodiment. FIG. 10 is a diagram illustrating another example of the network & cloud information DB in the first embodiment. FIG. 11 is a diagram illustrating another example of the network & cloud information DB in the first embodiment. FIG. 12 is a diagram illustrating another example of the network & cloud information DB in the first embodiment. FIG. 10 is a diagram illustrating an example of the functional configuration of a cloud controller and a network controller in the third embodiment. FIG. 11 is a diagram illustrating an example of the configuration of a communication system in the fourth embodiment. FIG. 12 is a diagram illustrating an example of the functional configuration of a cloud controller, a network controller, and an integrated controller in the fourth embodiment. FIG. 13 is a diagram illustrating an example of a network & cloud information DB in the fourth embodiment. FIG. 14 is a diagram illustrating an example of a network & cloud information DB in the fourth embodiment. FIG. 15 is a diagram illustrating an example of a user usage status DB in the fourth embodiment. FIG. 16 is a diagram illustrating an example of a quality requirement DB in the fourth embodiment. FIG. 17 is a diagram illustrating an example of a cloud resource list in the fourth embodiment.13 is a diagram showing an example of a network route list in the fourth embodiment. FIG. 14 is a diagram showing an example of a service provision information list in the fourth embodiment. FIG. 15 is a diagram showing an example of a switching destination candidate list in the fourth embodiment. FIG. 16 is a flowchart showing the flow of switching destination candidate list update processing in the fourth embodiment. FIG. 17 is a diagram showing an example of a switching destination candidate list updated by the switching destination candidate narrowing down unit in the fourth embodiment. FIG. 18 is a flowchart showing the flow of switching determination processing in the fourth embodiment. FIG. 19 is a diagram showing another example of a network & cloud information DB. FIG. 19 is a diagram showing an example of the functional configuration of a cloud controller and a network controller in the fifth embodiment. FIG. 20 is a diagram showing an example of the functional configuration of a cloud controller and a network controller in the sixth embodiment. FIG. 21 is a diagram showing an example of the functional configuration of a cloud controller, a network controller, and an integrated controller in the seventh embodiment. FIG. 22 is a flowchart showing the flow of switching destination candidate list update processing in the seventh embodiment. FIG. 23 is a diagram showing an example of the functional configuration of a cloud controller and a network controller in the eighth embodiment. FIG. 24 is a diagram showing an example of the functional configuration of a cloud controller and a network controller in the ninth embodiment. FIG. 25 is a diagram showing an example of the functional configuration of a cloud controller, a network controller, and an integrated controller in the tenth embodiment. FIG. 26 is a flowchart showing the flow of switching destination candidate list update processing in the tenth embodiment. FIG. 27 is a diagram showing an example of the functional configuration of a cloud controller and a network controller in the eleventh embodiment. Fig. 23 is a diagram illustrating an example of the functional configuration of a cloud controller and a network controller according to a twelfth embodiment. Fig. 24 is a diagram illustrating an example of the configuration of a conventional communication system.

[0013] An embodiment of the present invention will be described below with reference to the drawings. (First Embodiment) FIG. 1 is a diagram illustrating an example configuration of a communication system 100 according to the first embodiment. The communication system 100 includes one or more termination devices 10, multiple communication devices 20-1 to 20-4, multiple cloud resources 30-1 to 30-3, a cloud controller 40, a network controller 50, and an integrated controller 60. In the following description, the communication devices 20-1 to 20-4 will be referred to as communication devices 20 unless otherwise specified, and the cloud resources 30-1 to 30-3 will be referred to as cloud resources 30 unless otherwise specified. The number of termination devices 10, communication devices 20, and cloud resources 30 included in the communication system 100 is not limited to the number shown in FIG. 1.

[0014] 1 shows an example in which communication devices 20-1 to 20-4 form a ring network, a termination device 10 is connected to communication device 20-1, a cloud resource 30-1 is connected to communication device 20-2, a cloud resource 30-2 is connected to communication device 20-3, and a cloud resource 30-3 is connected to communication device 20-4. Furthermore, in the communication system 100, each cloud resource 30 is connected to a cloud controller 40, a network controller 50 is connected to each communication device 20, and the cloud controller 40 and the network controller 50 are connected to an integrated controller 60.

[0015] In the following description, it is assumed that each communication device 20 is located at a different base. For example, cloud resource 30-1 and communication device 20-2 are located at base A, cloud resource 30-2 and communication device 20-3 are located at base B, cloud resource 30-3 and communication device 20-4 are located at base C, and terminal device 10 and communication device 20-1 are located at base D.

[0016] Furthermore, the line connecting communication device 20-2 and communication device 20-3 is line 1, the line connecting communication device 20-3 and communication device 20-4 is line 2, the line connecting communication device 20-4 and communication device 20-1 is line 3, and the line connecting communication device 20-1 and communication device 20-2 is line 4.

[0017] The terminal device 10 is a user terminal used by a user, and is, for example, a device that receives services provided by the cloud resource 30 .

[0018] The communication device 20 is a relay device that transfers signals between the terminal device 10 and the cloud resource 30. The communication device 20 changes settings such as a signal transfer path in response to an instruction from the network controller 50. Changing the settings of a signal transfer path means, for example, switching the signal transfer path.

[0019] The cloud resource 30 is a resource for providing a cloud service. The cloud resource 30 may be, for example, a server configured with at least one of a central processing unit (CPU), a graphics processing unit (GPU), a field programmable gate array (FPGA), etc., or may be a database or storage with memory. The cloud resource 30 may be any resource that performs some kind of processing on user communication data. The cloud resource 30 changes the settings of resources allocated to the terminal device 10 in response to instructions from the cloud controller 40. Changing the resource allocation settings means, for example, changing the amount of resource allocation.

[0020] The cloud controller 40 is a control device that configures and monitors the cloud resources 30. The cloud controller 40 collects information about the cloud resources 30 and notifies the integrated controller 60 of the collected information. The cloud controller 40 may transmit information about the cloud resources 30 to the integrated controller 60 periodically or only when predetermined conditions are met. When the cloud controller 40 receives an instruction from the integrated controller 60 to change the cloud resources 30, it instructs the cloud resources 30 to change the settings. For example, when an instruction to change the cloud resources 30 to be used by the terminal device 10 is received, the cloud controller 40 configures the resources to be allocated to the terminal device 10 for the cloud resources 30 to be used by the terminal device 10.

[0021] The network controller 50 configures and monitors the communication devices 20 and monitors the network. Configuring the communication devices 20 involves configuring signal transfer paths. Monitoring the communication devices 20 involves monitoring whether a failure has occurred in the communication devices 20 and the usage status of the communication devices 20. Monitoring the network involves monitoring whether a failure (e.g., a disconnection) or congestion has occurred in the network, and monitoring bandwidth usage and transfer delays. The network controller 50 collects information about the communication devices 20 and the network and notifies the integrated controller 60 of the collected information. The network controller 50 may periodically transmit information about the network to the integrated controller 60, or may transmit information only when predetermined conditions are met. When a path switching instruction is received from the integrated controller 60, the network controller 50 instructs the communication devices 20 that require a path switching to switch their paths.

[0022] The integrated controller 60 determines the cloud resources 30 and the network routes for using the cloud resources 30 based on information obtained from the cloud controller 40 and the network controller 50 and the quality requirements requested by the user. The quality requirements requested by the user include delay, CPU usage, etc., such as an upper limit on end-to-end delay and an upper limit on the allowable usage rate of each resource. The integrated controller 60 determines, at a predetermined timing, whether the end-to-end service quality satisfies the quality requirements, for example, in accordance with the information obtained from the cloud controller 40 and the network controller 50. The predetermined timing may be, for example, the timing when information is obtained from the cloud controller 40 and the network controller 50, or a predetermined time. The integrated controller 60 is one aspect of a controller.

[0023] If the service quality does not satisfy the quality requirements, the integrated controller 60 determines another cloud resource 30 that satisfies the user's quality requirements and a network path for using the cloud resource 30. The integrated controller 60 instructs at least one of the cloud controller 40 and the network controller 50 to switch, depending on the determined cloud resource 30 and network path.

[0024] As described above, the integrated controller 60 instructs the cloud controller 40 and the network controller 50 to switch, which allows the cloud controller 40 and the network controller 50 to operate in conjunction with each other. As a result, delays can be minimized. Note that if switching of either the cloud controller 40 or the network controller 50 is not required, the integrated controller 60 only needs to instruct switching to the controller that requires switching. A specific configuration of the communication system 100 for realizing the above operations will be described below.

[0025] 2 is a diagram showing an example of the functional configuration of the cloud controller 40, the network controller 50, and the integrated controller 60 in the first embodiment. The functional configurations of the cloud controller 40, the network controller 50, and the integrated controller 60 will be described below in order.

[0026] (Functional configuration of cloud controller 40) The cloud controller 40 includes a cloud information collection unit 41 and a switching instruction unit 42. The cloud information collection unit 41 collects cloud information from each cloud resource 30, such as the usage status of the cloud resource 30 (whether it is being used or not), CPU usage rate, amount of free resources, and processing delay time. The frequency at which the cloud information collection unit 41 collects the cloud information can be set arbitrarily. The cloud information collection unit 41 notifies the integrated controller 60 of the collected cloud information. The cloud information collection unit 41 is one aspect of the first information collection unit.

[0027] The switching instruction unit 42 instructs the cloud resource 30 to change the settings in response to an instruction sent from the integrated controller 60 .

[0028] (Functional Configuration of Network Controller 50) The network controller 50 includes a NW information collection unit 51 and a switching instruction unit 52. The NW information collection unit 51 collects NW information from each communication device 20. The NW information is information about the network formed by each communication device 20 and communication devices 20-1 to 20-4, and includes, for example, information about the device usage status, line bandwidth usage rate, line transfer delay, etc. The frequency at which the NW information collection unit 51 collects NW information can be set arbitrarily. The NW information collection unit 51 notifies the integrated controller 60 of the collected NW information. The NW information collection unit 51 may collect, via the communication device 20, an end-to-end delay time including a network delay and a cloud delay measured by the termination device 10. The NW information collection unit 51 is one aspect of the second information collection unit.

[0029] The switching instruction unit 52 instructs the communication device 20 to change the settings in response to an instruction sent from the integrated controller 60 .

[0030] (Functional configuration of integrated controller 60) The integrated controller 60 includes an information collection unit 61, an information collection unit 62, a switching determination unit 63, a switching destination candidate list creation unit 64, a switching destination determination unit 65, a switching instruction unit 66, a network and cloud information DBL1, a user usage status DBL2, a quality requirement DBL3, a cloud resource list L4, a network route list L5, a service provision information list L6, and a switching destination candidate list L7.

[0031] The network and cloud information DBL1, the user usage status DBL2, the quality requirement DBL3, the cloud resource list L4, the network route list L5, the service provision information list L6, and the switching destination candidate list L7 are stored in a storage unit (not shown). The storage unit is configured using a storage device such as a magnetic storage device or a semiconductor storage device.

[0032] The network & cloud information DBL1 is a database in which cloud information and NW information collected by the information collection unit 61 and the information collection unit 62 are registered. The network & cloud information DBL1 includes a network & cloud information DBL1-1 in which cloud information collected by the information collection unit 61 is registered, and a network & cloud information DBL1-2 in which NW information collected by the information collection unit 62 is registered. When there is no need to distinguish between the network & cloud information DBL1-1 and the network & cloud information DBL1-2, they are referred to as network & cloud information DBL1.

[0033] The user usage status DBL2 is a database that stores information about the cloud resources 30 and network paths used by each user of the service. The quality requirement DBL3 is a database that stores information about the quality requirements required by each user of the service. The quality requirements include, for example, the upper limit of end-to-end delay and the upper limit of the allowable utilization of each CPU, FPGA, etc.

[0034] The cloud resource list L4 is a list in which information about each cloud resource 30 is registered. Information indicating the base at which each cloud resource 30 is installed is registered in the cloud resource list L4. The network route list L5 is a list in which information about each network route is registered. Information indicating the base to which each network route (e.g., line) is connected is registered in the network route list L5.

[0035] The service provision information list L6 is a list in which information about services requested by each user is registered. The service provision information list L6 also registers information indicating the bases used by each user and the resources required. The switching destination candidate list L7 is a list in which information about switching destination candidates created by the switching destination candidate list creation unit 64 is registered.

[0036] The information collection unit 61 collects cloud information from the cloud controller 40. The information collection unit 61 stores the collected cloud information in the network & cloud information DBL1-1 in association with the identification information of the cloud resources 30. The information collection unit 61 is one aspect of the first information collection unit.

[0037] The information collection unit 62 collects NW information from the network controller 50. The information collection unit 62 associates the collected NW information with identification information of the network path and stores it in the network & cloud information DBL1-2. The information collection unit 62 is one aspect of the second information collection unit.

[0038] The switching determination unit 63 determines whether or not switching of at least the cloud resource 30 or the network path is necessary based on the information stored in the network and cloud information DBL1, the information stored in the user usage status DBL2, and the information stored in the quality requirement DBL3.

[0039] The switching determination unit 63 acquires the quality of the cloud resource 30 and the network route registered in the user usage status DBL2 based on the information registered in the network and cloud information DBL1. The switching determination unit 63 determines whether switching is necessary for each user by comparing the acquired quality value with the information registered in the quality requirement DBL3. Specifically, if the acquired quality value exceeds the upper limit value registered in the quality requirement DBL3, the switching determination unit 63 determines that switching of at least the cloud resource 30 or the network route is necessary.

[0040] The switching determination unit 63 may determine whether switching is necessary based on the comparison result between the acquired quality value and at least one of the total delay upper limit value or the allowable resource usage upper limit value. The switching determination unit 63 may acquire an end-to-end total delay value as the quality value, compare the acquired total delay value with the total delay upper limit value, and determine that switching of at least the cloud resource 30 or the network path is necessary if the total delay value exceeds the total delay upper limit value. The switching determination unit 63 may acquire a CPU usage value as the quality value, compare the acquired CPU usage rate with the allowable resource usage upper limit value, and determine that switching of at least the cloud resource 30 or the network path is necessary if the CPU usage rate exceeds the allowable resource usage upper limit value. If the switching determination unit 63 determines that switching of at least the cloud resource 30 or the network path is necessary, it notifies the user who is the target of switching (hereinafter referred to as the "switching target user"). At this time, the switching determination unit 63 may also notify the user of parameters that no longer satisfy the quality requirements.

[0041] On the other hand, if the acquired quality value does not exceed the upper limit value registered in the quality requirement DBL3, the switching determination unit 63 determines that switching of at least the cloud resource 30 or the network path is not necessary.

[0042] The switching destination candidate list creation unit 64 calculates candidate combinations of cloud resources 30 and network routes that can satisfy the service provision contents of the user registered in the service provision information list L6 based on the cloud resource list L4, the network route list L5, and the service provision information list L6.

[0043] An algorithm for calculating candidate combinations of cloud resources 30 and network routes includes a method of determining an available cloud resource 30, and then extracting routes between the starting point and the cloud resource 30, and between the cloud resource 30 and the ending point from all combinations. If there are multiple candidates, all of the candidates can be calculated. The switching destination candidate list creation unit 64 creates the switching destination candidate list L7 by registering all the calculated candidates. The update frequency of the switching destination candidate list L7 can be set arbitrarily. The switching destination candidate list creation unit 64 creates a switching destination candidate list L7 for each user.

[0044] When the switching determination unit 63 determines that switching is necessary, the switching destination determination unit 65 determines the optimal switching destination based on the network & cloud information DBL1, the user usage status DBL2, the quality requirement DBL3, and the switching destination candidate list L7. Specifically, the switching destination determination unit 65 acquires the quality of each combination of cloud resources 30 and network routes that are switching destination candidates registered in the switching destination candidate list L7 based on the information registered in the network & cloud information DBL1. Then, the switching destination determination unit 65 determines, as the optimal switching destination, a switching destination candidate whose acquired quality value is below the upper limit value registered in the quality requirement DBL3.

[0045] If there are multiple switching destination candidates whose quality values ​​are below the upper limit value registered in the quality requirement DBL 3, the switching destination determination unit 65 may determine the first switching destination candidate that satisfies the requirements as the optimal switching destination, or may determine the switching destination candidate with the lowest quality value as the optimal switching destination. The switching destination determination unit 65 uses information about the determined switching destination to update the information registered in the user usage status DBL 2.

[0046] The switching instruction unit 66 notifies the cloud controller 40 of new cloud resource information and notifies the network controller 50 of new route information based on information regarding the optimal switching destination determined by the switching destination determination unit 65 (hereinafter referred to as "switching destination information").

[0047] (Explanation of Databases and Lists) Next, using Figures 3A to 3H, the network and cloud information DBL1, user usage status DBL2, quality requirement DBL3, cloud resource list L4, network route list L5, service provision information list L6, and switching destination candidate list L7 will be described in detail.

[0048] FIG. 3A is a diagram showing an example of the network & cloud information DBL1-1 in the first embodiment. The network & cloud information DBL1-1 has multiple records in which cloud information is registered. Each record has values ​​for cloud resources, processing time, CPU usage rate, and free resources. The cloud resources represent the cloud resources 30 from which the cloud controller 40 has collected cloud information. The processing time represents the delay time required for processing. The CPU usage rate represents the proportion of the processing volume used for processing out of the processing volume that the CPU of the cloud resource 30 can handle at one time. The free resources represent the resources of the cloud resources 30 that are not being used for processing (are available). Note that the information registered in the network & cloud information DBL1-1 is an example and is updated each time the cloud controller 40 collects cloud information.

[0049] FIG. 3B is a diagram showing an example of the network & cloud information DBL1-2 in the first embodiment. The network & cloud information DBL1-2 has multiple records in which NW information is registered. Each record has values ​​for the network, transfer delay, and bandwidth usage rate. The network represents the line from which the network controller 50 collected NW information. The transfer delay represents the delay time required for transfer on the associated line. The bandwidth usage rate represents the proportion of the bandwidth used on the associated line. Note that the information registered in the network & cloud information DBL1-2 is an example, and is updated each time NW information is collected by the network controller 50.

[0050] FIG. 3C is a diagram showing an example of the user usage status DBL2 in the first embodiment. The user usage status DBL2 has multiple records in which information about the cloud resources 30 and network routes used by each user who uses the service is registered. Each record has values ​​for the user and the used resource. The user represents a user who uses the service. The used resource represents the cloud resources 30 and network routes used by each user who uses the service. The example shown in FIG. 3C indicates that user A is using line 4 to use resources of cloud resource 30-1. Note that the information registered in the user usage status DBL2 is an example and is updated each time a switch is performed by the switching destination determination unit 65.

[0051] 3D is a diagram showing an example of the quality requirement DBL3 in the first embodiment. The quality requirement DBL3 has multiple records in which information about the quality requirements required by each user who uses the service is registered. Each record has values ​​for the user, the total delay upper limit, and the CPU usage upper limit. The user represents a user who uses the service. The total delay upper limit represents the upper limit of delay for the entire service requested by the user who uses the service. The CPU usage upper limit represents the upper limit of CPU usage requested by the user who uses the service. Note that the information registered in the quality requirement DBL3 is an example, and is newly added or updated in response to a service application or update instruction from a user, etc.

[0052] 3E is a diagram showing an example of a cloud resource list L4 in the first embodiment. The cloud resource list L4 has multiple records in which information about each cloud resource 30 is registered. Each record has values ​​for the cloud resource and the installation base. The cloud resource represents a cloud resource 30 that can be used for a service. As shown in FIG. 1, in the communication system 100, as an example, there are three cloud resources 30 that can be used for a service (cloud resources 30-1, 30-2, and 30-3). The installation base represents the base where the associated cloud resource 30 is installed.

[0053] 3E shows that cloud resource 30-1 is installed at location A, cloud resource 30-2 is installed at location B, and cloud resource 30-3 is installed at location C. Note that the information registered in cloud resource list L4 is an example, and is newly added or updated when a cloud resource 30 is newly installed or rearranged.

[0054] 3F is a diagram showing an example of a network route list L5 in the first embodiment. The network route list L5 has a plurality of records in which information about each network route is registered. Each record has values ​​for the network route and the connection point. The network route represents a network route that can be used for a service. As shown in FIG. 1, in the communication system 100, as an example, there are four network routes (line 1, line 2, line 3, and line 4) that can be used for a service. The connection point represents a point that is connected by the associated network route.

[0055] 3F shows that line 1 connects site A and site B, line 2 connects site B and site C, line 3 connects site C and site D, and line 4 connects site D and site A. Note that the information registered in network route list L5 is an example, and new information is added or updated when new lines are installed or rearranged.

[0056] FIG. 3G is a diagram showing an example of a service provision information list L6 in the first embodiment. The service provision information list L6 has multiple records in which information about services requested by each user is registered. Each record has values ​​for user, start point, required resources, and end point. The user represents a user who uses a service. The start point represents a base that the associated user needs to start using the service. The required resources represent resources (e.g., cloud resources 30 and network paths) that the associated user needs for the service. The end point represents a base that the associated user needs to end using the service. Note that the information registered in the service provision information list L6 is an example and is updated according to requests from users.

[0057] FIG. 3H is a diagram showing an example of a switching destination candidate list L7 in the first embodiment. The switching destination candidate list L7 has multiple records in which information indicating the bases used by each user and the necessary resources is registered. Each record has values ​​of candidates and used resources. The candidates represent at least candidates for the cloud resources 30 or the network route switching destination. The used resources represent resources (e.g., cloud resources 30 and network routes) used as switching destination candidates. Note that the information registered in the switching destination candidate list L7 is an example, and is updated in response to changes in the information in any of the cloud resource list L4, the network route list L5, or the service provision information list L6. The switching destination candidate list L7 is a list created for each user.

[0058] 4 is a sequence diagram showing the processing flow of the communication system 100 in the first embodiment. The cloud information collection unit 41 of the cloud controller 40 collects cloud information (step S101). The cloud information collection unit 41 notifies the integrated controller 60 of the collected cloud information (step S102). The NW information collection unit 51 of the network controller 50 collects NW information (step S103). The NW information collection unit 51 notifies the integrated controller 60 of the collected NW information (step S104).

[0059] The integrated controller 60 collects information notified from each of the cloud controller 40 and the network controller 50 (step S105). Specifically, the information collection unit 61 collects cloud information notified from the cloud controller 40. The information collection unit 61 registers the collected cloud information in the network & cloud information DBL1-1. The information collection unit 62 collects NW information notified from the network controller 50. The information collection unit 62 registers the collected NW information in the network & cloud information DBL1-2.

[0060] The switching determination unit 63 executes a switching determination process based on the NW information in the network & cloud information DBL1, the user usage status DBL2, and the quality requirement DBL3 (step S106). The switching determination process is a process for determining whether or not there is a user who needs to switch the cloud resource 30 or the network path. Details of the switching determination process will be described later. If it is determined in the switching determination process that there is no user who needs to switch the cloud resource 30 or the network path, the process in FIG. 4 ends. If it is determined in the switching determination process that there is a user who needs to switch the cloud resource 30 or the network path, the switching destination determination unit 65 determines an optimal switching destination for the switching target user.

[0061] Here, it is assumed that the switching determination process determines that there is a user who requires switching of the cloud resource 30 or the network path. The switching destination determination unit 65 outputs switching destination information to the switching instruction unit 66. The switching instruction unit 66 generates a switching instruction based on the switching destination information output from the switching destination determination unit 65. Specifically, the switching instruction unit 66 uses information included in the switching destination information to generate a cloud switching instruction including information about the cloud resource 30 and information indicating the user to be switched, and a NW switching instruction including information about the network path and information indicating the user to be switched. The switching instruction unit 66 notifies the network controller 50 of the NW switching instruction (step S107) and notifies the cloud controller 40 of the cloud switching instruction (step S108).

[0062] The switching instruction unit 52 of the network controller 50 instructs the corresponding communication device 20 to switch the network path in response to the NW switching instruction notified from the integrated controller 60 (step S109). The switching instruction unit 42 of the cloud controller 40 instructs the cloud resource 30 to switch the resource allocation amount in response to the cloud switching instruction notified from the integrated controller 60 (step S110).

[0063] In the description of FIG. 4, it is assumed that users who will use the service have already been registered. When a new user applies for a service, the integrated controller 60 references the service application information to determine the resources required for the start and end points of service provision and registers the new user's information in the service provision information list L6. When the new user's information is registered in the service provision information list L6, the switching destination candidate list creation unit 64 references the registered user's information and creates a switching destination candidate list L7 for the new user using the cloud resource list L4 and the network route list L5. Furthermore, the integrated controller 60 acquires the quality requirements requested by the new user and registers the acquired quality requirements in the quality requirement DB3. This allows the newly registered user to determine whether switching is necessary.

[0064] Fig. 5 is a flowchart showing the flow of switching determination processing in the first embodiment. Note that the explanation of Fig. 5 will include a specific example. In explaining the specific example, it is assumed that the user using the service is User A, the switching destination candidate list L7 shown in Fig. 3H is the switching destination candidate list L7 for User A, the cloud information collected by the cloud controller 40 is registered in the network & cloud information DBL1-1, and the NW information collected by the network controller 50 is registered in the network & cloud information DBL1-2.

[0065] The switching determination unit 63 references the information on the resources used by each user registered in the user usage status DB2 and acquires the quality of the resources used for each user (step S201). For example, the switching determination unit 63 first acquires "Line 4", "Cloud resource 30-1", and "Line 4" as the resources used by user A. The switching determination unit 63 then acquires the quality of each of the acquired "Line 4", "Cloud resource 30-1", and "Line 4". As an example, the quality is represented by a delay value.

[0066] The switching determination unit 63 refers to the network & cloud information DBL1 to obtain the delays of "Line 4," "cloud resource 30-1," and "Line 4." For example, the switching determination unit 63 determines from the network & cloud information DBL1-1 that the delay of "cloud resource 30-1" is 5 ms. Furthermore, the switching determination unit 63 determines from the network & cloud information DBL1-2 shown in FIG. 3B that the delay of "Line 4" is 5 ms. As a result, the switching determination unit 63 obtains 15 ms (= 5 ms + 5 ms + 5 ms) as the quality of the resources used by user A.

[0067] Next, the switching determination unit 63 determines whether there is any user whose acquired quality value exceeds the quality requirements (step S202). In this case, the switching determination unit 63 refers to the quality requirement DBL3 and compares the quality value of the resources used by user A acquired in the process of step S201 with the total upper delay limit value of user A registered in the quality requirement DBL3. The quality value of the resources used by user A acquired in the process of step S201 is 15 ms, and the total upper delay limit value of user A registered in the quality requirement DBL3 is 30 ms. In this case, the requirements of user A are satisfied, so the switching determination unit 63 determines that there is no user whose quality requirements are exceeded.

[0068] If the switching determination unit 63 determines that there is no user whose acquired quality value exceeds the quality requirement (step S202—NO), the switching determination unit 63 determines that switching is not necessary (step S203). The processing of FIGS. 4 and 5 then ends. Note that while the description here is given using an example in which there is only one user, if there are multiple users using the service, the switching determination unit 63 performs the above comparison for all users. For example, if there is a user B in addition to user A, the switching determination unit 63 refers to the quality requirement DBL3 and performs processing such as comparing the quality value of the resource used by user B acquired in the processing of step S201 with the total upper delay limit value for user B registered in the quality requirement DBL3.

[0069] In the above description, the determination of whether a quality requirement is exceeded is based on the delay value. Alternatively, the determination of whether a quality requirement (e.g., a CPU usage limit) is exceeded may be based on the CPU usage value. In this case, the switching determination unit 63 refers to the network & cloud information DBL1 to obtain the CPU usage of the "cloud resource 30-1." For example, the switching determination unit 63 determines from the network & cloud information DBL1-1 that the CPU usage of the "cloud resource 30-1" is 10%. As a result, the switching determination unit 63 obtains 10% as the quality of the resource used by user A.

[0070] Next, the switching determination unit 63 determines whether there is any user whose acquired quality value exceeds the quality requirements (step S202). In this case, the switching determination unit 63 refers to the quality requirement DBL3 and compares the quality value (10%) of the resource used by user A acquired in the process of step S201 with the upper limit of CPU usage for user A (80%) registered in the quality requirement DBL3. The quality value of the resource used by user A acquired in the process of step S201 is 10%, and the upper limit of CPU usage for user A registered in the quality requirement DBL3 is 80%. In this case, the requirements for user A are satisfied, so the switching determination unit 63 determines that there is no user whose quality requirements are exceeded.

[0071] The switching determination unit 63 may determine whether or not quality requirements (e.g., the total delay upper limit and the CPU usage upper limit) are exceeded based on both the CPU usage value and the delay value. In this case, the switching determination unit 63 compares the delay value and the total delay upper limit, and the CPU usage value and the CPU usage upper limit, acquired as described above. If both the CPU usage value and the delay value are less than the values ​​indicated by the quality requirements, the switching determination unit 63 determines that no user exceeds the quality requirements.

[0072] Meanwhile, suppose the network situation changes and the information in the network and cloud information DBL1-1 is updated as shown in FIG. 6 . FIG. 6 is a diagram illustrating another example of the network and cloud information DBL1-1 in the first embodiment. In FIG. 6 , the processing time of the cloud resource 30-1 increases to 25 ms, and the CPU utilization rate increases to 70%. As in the above-described process, in step S201, the switching determination unit 63 references the information on the resources used by each user registered in the user usage status DBL2 and acquires the quality of the resources used for each user (step S201). For example, the switching determination unit 63 first acquires "Line 4," "Cloud resource 30-1," and "Line 4" as the resources used by user A. The switching determination unit 63 then acquires the quality of each of the acquired "Line 4," "Cloud resource 30-1," and "Line 4."

[0073] The switching determination unit 63 refers to the network & cloud information DBL1 to obtain the delays of "Line 4," "cloud resource 30-1," and "Line 4." For example, the switching determination unit 63 determines from the network & cloud information DBL1-1 shown in FIG. 6 that the delay of "cloud resource 30-1" is 25 ms. Furthermore, the switching determination unit 63 determines from the network & cloud information DBL1-2 shown in FIG. 3B that the delay of "Line 4" is 5 ms. As a result, the switching determination unit 63 obtains 35 ms (= 25 ms + 5 ms + 5 ms) as the quality of the resources used by user A.

[0074] Next, the switching determination unit 63 determines whether there is a user whose acquired quality value exceeds the quality requirements (step S202). In this case, the switching determination unit 63 refers to the quality requirement DBL3 and compares the quality value of the resources used by user A acquired in the process of step S201 with the total upper delay limit value for user A registered in the quality requirement DBL3. The quality value of the resources used by user A acquired in the process of step S201 is 35 ms, and the total upper delay limit value for user A registered in the quality requirement DBL3 is 30 ms. In this case, the requirements for user A are not met, so the switching determination unit 63 determines that there is a user whose quality requirements are exceeded.

[0075] If the switching determination unit 63 determines that there is a user whose acquired quality value exceeds the quality requirement (step S202—YES), the switching determination unit 63 determines that switching is necessary (step S204). The switching determination unit 63 outputs a notification indicating that switching is necessary for user A, for example, to the switching destination determination unit 65. The switching destination determination unit 65 determines the optimal switching destination in response to the notification from the switching determination unit 63 (step S205). At this time, the switching destination determination unit 65 determines the optimal switching destination only for user A notified by the switching determination unit 63.

[0076] First, the switching destination determination unit 65 acquires information on all switching destination candidates by referring to the switching destination candidate list L7 for user A (here, the switching destination candidate list L7 shown in FIG. 3H ). Here, the switching destination determination unit 65 acquires the following information as information on all switching destination candidates.

[0077] Candidate 1: "Line 4", "Cloud resource 30-1", "Line 4" Candidate 2: "Line 3", "Cloud resource 30-3", "Line 3" Candidate 3: "Line 3", "Line 2", "Cloud resource 30-2", "Line 2", "Line 3" Candidate 4: "Line 4", "Line 1", "Cloud resource 30-2", "Line 1", "Line 4" Candidate 5: "Line 3", "Line 2", "Line 1", "Cloud resource 30-1", "Line 1", "Line 2", "Line 3" Candidate 6: "Line 4", "Line 1", "Line 2", "Cloud resource 30-3", "Line 2", "Line 1", "Line 4"

[0078] Next, the switching destination determination unit 65 acquires the quality of each of the acquired switching destination candidates by referring to the network and cloud information DBL1. As a result, the switching destination determination unit 65 acquires 35 ms (=25 ms+5 ms+5 ms) as the quality of candidate 1, 15 ms (=5 ms+5 ms+5 ms) as the quality of candidate 2, 25 ms (=5 ms+5 ms+5 ms+5 ms+5 ms) as the quality of candidate 3, 35 ms (=5 ms+10 ms+5 ms+5 ms+10 ms) as the quality of candidate 4, 65 ms (=5 ms+5 ms+10 ms+25 ms+5 ms+5 ms+10 ms) as the quality of candidate 5, and 45 ms (=5 ms+10 ms+5 ms+5 ms+5 ms+10 ms+5 ms) as the quality of candidate 6.

[0079] Thereafter, the switching destination determination unit 65 refers to the quality requirement DBL3 and compares the quality values ​​of each of Candidates 1 to 6 for User A acquired in the above process with the total upper delay limit value for User A (e.g., 30 ms) registered in the quality requirement DBL3. The switching destination determination unit 65 then selects a candidate whose acquired quality value satisfies the quality requirements. Here, the switching destination candidates that satisfy the total upper delay limit value for User A (e.g., 30 ms) are Candidates 2 and 3. Since there are multiple candidates, the switching destination determination unit 65 determines, for example, the candidate with the shortest total delay as the optimal switching destination. In this case, the switching destination determination unit 65 determines Candidate 2 as the optimal switching destination.

[0080] The switching destination determination unit 65 outputs information about the determined switching destination to the switching instruction unit 66. Furthermore, the switching destination determination unit 65 updates the information in the user usage status DBL2 based on the determined switching destination. For example, the switching destination determination unit 65 updates the information about the resources used by user A, among the information registered in the user usage status DBL2, to "line 3," "cloud resource 30-3," and "line 3."

[0081] The switching instruction unit 66 generates a switching instruction based on the switching destination information output from the switching destination determination unit 65 (step S207). Specifically, the switching instruction unit 66 generates a cloud switching instruction including information on the cloud resource 30 included in the switching destination information (e.g., cloud resource 30-3) and information indicating the switching target user (e.g., user A), and a NW switching instruction including information on the network path (e.g., line 3) and information indicating the switching target user (e.g., user A). As a result, the NW switching instruction generated by the switching instruction unit 66 is notified to the network controller 50, and the cloud switching instruction is notified to the cloud controller 40.

[0082] In the above example, the switching instruction unit 52 of the network controller 50 instructs the communication devices 20-1 and 20-4 to switch the network path. For example, the switching instruction unit 52 instructs the communication devices 20-1 and 20-4 to switch the path so that a signal from user A is transferred via line 3. The switching instruction unit 42 of the cloud controller 40 instructs the cloud resource 30-3 to switch the amount of resource allocation. For example, the switching instruction unit 42 instructs the cloud resource 30-3 to allocate the resources requested by user A.

[0083] (Other Example 1) In Other Example 1, a case where a candidate does not satisfy the user's quality requirements at the time of determining a switching destination candidate will be described. In the process shown in FIG. 5, a method for determining an optimal route when the cloud information collected by the cloud controller 40 has the values ​​shown in FIG. 7A will be described. In the network and cloud information DBL1-1 shown in FIG. 7A, the information on the processing time and CPU utilization rate of the cloud resource 30-3 differs from that shown in FIG. 3A. The basic processing flow is the same as that described above for the process in FIG. 5. In step S201, the switching determination unit 63 obtains 15 ms (= 5 ms + 5 ms + 5 ms) as the quality of the resource used by user A. In this case, since user A's requirements are satisfied, the switching determination unit 63 determines in the process of step S202 that there is no user whose quality requirements are exceeded.

[0084] Assume that the network conditions change and the information in the network and cloud information DBL1-1 is updated as shown in FIG. 7B. FIG. 7B is a diagram showing another example of the network and cloud information DBL1-1. In FIG. 7B, the processing time of the cloud resource 30-1 has increased to 25 ms, and the CPU utilization rate has increased to 70%. As in the process described above, in step S201, the switching determination unit 63 references the information on the resources used by each user registered in the user usage status DBL2 and acquires the quality of the resources used for each user (step S201). For example, the switching determination unit 63 first acquires "Line 4," "Cloud resource 30-1," and "Line 4" as the resources used by user A. The switching determination unit 63 then acquires the quality of each of the acquired "Line 4," "Cloud resource 30-1," and "Line 4."

[0085] The switching determination unit 63 refers to the network & cloud information DBL1 to obtain the delays of "Line 4," "cloud resource 30-1," and "Line 4." For example, the switching determination unit 63 determines from the network & cloud information DBL1-1 shown in FIG. 7B that the delay of "cloud resource 30-1" is 25 ms. Furthermore, the switching determination unit 63 determines from the network & cloud information DBL1-2 that the delay of "Line 4" is 5 ms. As a result, the switching determination unit 63 obtains 35 ms (= 25 ms + 5 ms + 5 ms) as the quality of the resources used by user A. In this case, since the requirements of user A are not met, the switching determination unit 63 determines that there is a user whose quality requirements are being exceeded.

[0086] If the switching determination unit 63 determines that there is a user whose acquired quality value exceeds the quality requirement (step S202—YES), the switching determination unit 63 determines that switching is necessary (step S204). The switching determination unit 63 outputs a notification indicating that switching is necessary for user A, for example, to the switching destination determination unit 65. The switching destination determination unit 65 determines the optimal switching destination in response to the notification from the switching determination unit 63 (step S205). At this time, the switching destination determination unit 65 determines the optimal switching destination only for user A notified by the switching determination unit 63.

[0087] The switching destination determination unit 65 acquires information on all switching destination candidates by referring to the switching destination candidate list L7 for user A (here, the switching destination candidate list L7 shown in FIG. 3H). As a result, the switching destination determination unit 65 acquires information on candidate 1 to candidate 6 shown in the switching destination candidate list L7 shown in FIG. 3H as information on all switching destination candidates. Next, the switching destination determination unit 65 acquires the quality of each of the acquired switching destination candidates by referring to the network and cloud information DBL1. As a result, the switching destination determination unit 65 obtains the following quality for candidate 1: 35 ms (= 25 ms + 5 ms + 5 ms), the quality for candidate 2: 30 ms (= 5 ms + 20 ms + 5 ms), the quality for candidate 3: 25 ms (= 5 ms + 5 ms + 5 ms + 5 ms + 5 ms), the quality for candidate 4: 35 ms (= 5 ms + 10 ms + 5 ms + 5 ms + 10 ms), the quality for candidate 5: 65 ms (= 5 ms + 5 ms + 10 ms + 25 ms + 5 ms + 5 ms + 10 ms), and the quality for candidate 6: 60 ms (= 5 ms + 10 ms + 5 ms + 20 ms + 5 ms + 10 ms + 5 ms).

[0088] Thereafter, the switching destination determination unit 65 refers to the quality requirement DBL3 and compares the quality values ​​of each of Candidates 1 to 6 for User A acquired in the above process with the total upper delay limit value for User A (e.g., 30 ms) registered in the quality requirement DBL3. The switching destination determination unit 65 then selects a candidate whose acquired quality value satisfies the quality requirement. Here, the switching destination candidates that satisfy User A's total upper delay limit value (e.g., 30 ms) are Candidates 2 and 3. However, in Candidate 2, the CPU usage rate of cloud resource 30-3 is 85%, which exceeds User A's CPU usage limit (80%). Therefore, the switching destination determination unit 65 excludes Candidate 2 from the switching destination candidates. As a result, the switching destination determination unit 65 determines Candidate 3 as the optimal switching destination.

[0089] (Other Example 2) In Other Example 2, another example will be described in which there is a candidate that does not satisfy the user's quality requirements at the timing of determining a switching destination candidate. In the process shown in FIG. 5, it is assumed that the cloud information collected by the cloud controller 40 has the value shown in FIG. 3A. The basic processing flow is the same as that described above for the process in FIG. 5. In step S201, the switching determination unit 63 acquires 15 ms (= 5 ms + 5 ms + 5 ms) as the quality of the resources used by user A. In this case, since the requirements of user A are satisfied, the switching determination unit 63 determines in the process of step S202 that there is no user whose quality requirements are exceeded.

[0090] Assume that the network situation has changed and the information in the network and cloud information DBL1-1 has been updated as shown in FIG. 8 . FIG. 8 is a diagram illustrating another example of the network and cloud information DBL1-1 in the first embodiment. In FIG. 8 , the processing time of the cloud resource 30-1 has increased to 20 ms, and the CPU utilization rate has increased to 85%. As in the above-described process, in step S201, the switching determination unit 63 references the information on the resources used by each user registered in the user usage status DBL2 and acquires the quality of the resources used for each user (step S201). For example, the switching determination unit 63 first acquires "Line 4," "Cloud resource 30-1," and "Line 4" as the resources used by user A. The switching determination unit 63 then acquires the quality of each of the acquired "Line 4," "Cloud resource 30-1," and "Line 4."

[0091] The switching determination unit 63 refers to the network and cloud information DBL1 to obtain the delays of "Line 4," "cloud resource 30-1," and "Line 4." For example, the switching determination unit 63 determines from the network and cloud information DBL1-1 shown in FIG. 8 that the delay of "cloud resource 30-1" is 20 ms. Furthermore, for example, the switching determination unit 63 determines from the network and cloud information DBL1-2 shown in FIG. 3B that the delay of "Line 4" is 5 ms. As a result, the switching determination unit 63 obtains 30 ms (= 20 ms + 5 ms + 5 ms) as the quality of the resources used by user A. In this case, although the total upper limit delay (30 ms) of user A's quality requirements is met, the resource of cloud resource 30-1 is 85%, exceeding the CPU usage upper limit (80%) of user A's quality requirements. As a result, user A's requirements are not met, and the switching determination unit 63 determines that there is a user whose quality requirements are being exceeded.

[0092] If the switching determination unit 63 determines that there is a user whose acquired quality value exceeds the quality requirement (step S202—YES), the switching determination unit 63 determines that switching is necessary (step S204). The switching determination unit 63 outputs a notification indicating that switching is necessary for user A, for example, to the switching destination determination unit 65. The switching destination determination unit 65 determines the optimal switching destination in response to the notification from the switching determination unit 63 (step S205). At this time, the switching destination determination unit 65 determines the optimal switching destination only for user A notified by the switching determination unit 63.

[0093] The switching destination determination unit 65 acquires information on all switching destination candidates by referring to the switching destination candidate list L7 for user A (here, the switching destination candidate list L7 shown in FIG. 3H). As a result, the switching destination determination unit 65 acquires information on candidate 1 to candidate 6 shown in the switching destination candidate list L7 shown in FIG. 3H as information on all switching destination candidates. Next, the switching destination determination unit 65 acquires the quality of each of the acquired switching destination candidates by referring to the network and cloud information DBL1. As a result, the switching destination determination unit 65 obtains the following quality for candidate 1: 30 ms (= 20 ms + 5 ms + 5 ms), the quality for candidate 2: 15 ms (= 5 ms + 5 ms + 5 ms), the quality for candidate 3: 25 ms (= 5 ms + 5 ms + 5 ms + 5 ms + 5 ms), the quality for candidate 4: 35 ms (= 5 ms + 10 ms + 5 ms + 5 ms + 10 ms), the quality for candidate 5: 60 ms (= 5 ms + 5 ms + 10 ms + 20 ms + 5 ms + 10 ms), and the quality for candidate 6: 45 ms (= 5 ms + 10 ms + 5 ms + 5 ms + 10 ms + 5 ms).

[0094] The switching destination determination unit 65 then references the quality requirement DBL3 and compares the quality values ​​of each of candidate 1 to candidate 6 for user A acquired in the above process with the total delay upper limit value for user A (e.g., 30 ms) registered in the quality requirement DBL3. The switching destination determination unit 65 then selects a candidate whose acquired quality value satisfies the quality requirement. Here, the switching destination candidates that satisfy the total delay upper limit value for user A (e.g., 30 ms) are candidate 1, candidate 2, and candidate 3. However, candidate 1 has a CPU utilization rate of 85% for cloud resource 30-1. This exceeds user A's CPU utilization upper limit (80%). Therefore, the switching destination determination unit 65 excludes candidate 1 from the switching destination candidates. As a result, the remaining switching destination candidates are candidate 2 and candidate 3. Since there are multiple candidates, the switching destination determination unit 65 may, for example, select the candidate with the shortest total delay as the optimal switching destination. In this case, the switching destination determination unit 65 determines candidate 2 as the optimal switching destination.

[0095] According to the communication system 100 configured as described above, the integrated controller 60 includes an information collection unit 61 that collects cloud information from the cloud controller 40, an information collection unit 62 that collects NW information from the network controller 50, and a switching instruction unit 66 that, based on the cloud information and NW information, instructs the cloud controller 40 and the network controller 50 to switch to a cloud resource and a route that satisfy the quality requirements if the service quality does not satisfy the quality requirements requested by the user. In this way, the integrated controller 60 periodically checks whether the end-to-end service quality satisfies the user's quality requirements, and if the quality requirements are not satisfied, determines another combination of cloud resources and their network routes that satisfy the user's quality requirements as the optimal switchover destination and performs the switchover. Therefore, the system as a whole can switch to the optimal resource and route that satisfy the user's quality requirements.

[0096] The integrated controller 60 sets quality requirements for each user. These quality requirements can be based on a combination of cloud resources 30 and network conditions. For example, the quality requirements can be the end-to-end delay, which is the sum of cloud processing time and network delay. In this way, because quality requirements are set for each user, it is possible to switch to the optimal combination of cloud resources 30 and routes for each user.

[0097] The integrated controller 60 can autonomously associate the cloud resources 30 with the network paths, which allows updates when the cloud resources 30 or the network paths are added or removed, thereby improving convenience.

[0098] The integrated controller 60 refers to the switching destination candidate list L7 created for each user and determines a switching destination that satisfies the quality requirements. Since the switching destination candidate list L7 is created in advance for each user in this way, the switching destination determination unit 65 only needs to determine a switching destination from among the candidates included in the switching destination candidate list L7. This makes it possible to easily determine a switching destination.

[0099] Modifications of the communication system 100 are described below. (Modification 1) In the above-described embodiment (including (Modification 1) and (Modification 2)), a configuration was described in which switching destination candidates were excluded from the multiple candidates registered in the switching destination candidate list L7 based on either the total delay upper limit or the CPU utilization upper limit registered in the quality requirement DBL3. The method of excluding switching destination candidates is not limited to this. For example, when determining the optimal switching destination, the switching destination determination unit 65 may also take into account information on required resources registered in the service provision information list L6. As an example, the integrated controller 60 is assumed to include the network and cloud information DBL1-1 shown in FIG. 9. In the network and cloud information DBL1-1 shown in FIG. 9, the information on available resources of the cloud resource 30-2 is different from that in FIG. 3A.

[0100] The switching destination determination unit 65 selects switching destination candidates by processing similar to that of the above-described embodiment. As an example, assume that the switching destination candidates are candidate 2 and candidate 3. Since there are multiple candidates, the switching destination determination unit 65 refers to the network and cloud information DBL1-1 to check whether there are available resources equal to the required resources registered in the service provision information list L6. Here, the "cloud resource 30-3" included in candidate 2 has available resources of "6 cores," and the "cloud resource 30-2" included in candidate 3 has available resources of "1 core." The required resources of user A registered in the service provision information list L6 are "2 cores." Therefore, the switching destination determination unit 65 excludes candidates that cannot meet the required resources of user A from the switching destination candidates. Here, the switching destination determination unit 65 excludes candidate 3 from the switching destination candidates. As a result, the switching destination determination unit 65 determines candidate 2 as the optimal switching destination.

[0101] (Variation 2) The switching determination unit 63 may determine whether switching is necessary based on bandwidth usage rate information registered in the network and cloud information DBL1-2. In this configuration, a value for the upper limit of bandwidth usage rate is further added to the quality requirement DBL3. The upper limit of bandwidth usage rate represents the upper limit of bandwidth usage rate requested by the user who uses the service. Here, as an example, the upper limit of bandwidth usage rate is described as 50%, but the value of the upper limit of bandwidth usage rate is registered for each user.

[0102] The switching determination unit 63 references the user usage status DBL2 shown in FIG. 3C and acquires "Line 4," "cloud resource 30-1," and "Line 4" as resources used by user A. The switching determination unit 63 acquires the quality of each of the acquired "Line 4," "cloud resource 30-1," and "Line 4." As an example, the quality is represented by a bandwidth usage rate. In this case, the switching determination unit 63 references the network & cloud information DBL1 to acquire the bandwidth usage rates of "Line 4" and "Line 4." For example, the switching determination unit 63 determines from the network & cloud information DBL1-2 that the bandwidth usage rate of "Line 4" is 20%. As a result, the switching determination unit 63 acquires 40% (= 20% + 20%) as the quality of resources used by user A.

[0103] Next, the switching determination unit 63 determines whether there is a user whose acquired quality value exceeds the quality requirements. In this case, the switching determination unit 63 refers to the quality requirement DBL3 and compares the acquired quality value of the resources used by user A with the upper limit of bandwidth usage rate for user A (e.g., 50%) registered in the quality requirement DBL3. The acquired quality value of the resources used by user A is 40%, and the upper limit of bandwidth usage rate for user A registered in the quality requirement DBL3 is 50%. In this case, the requirements for user A are satisfied, so the switching determination unit 63 determines that there is no user whose quality requirements are exceeded.

[0104] On the other hand, if the upper limit of bandwidth usage rate for user A registered in the quality requirement DBL 3 is 30%, the acquired value of the quality of the resources used by user A is 40%, and the upper limit of bandwidth usage rate for user A registered in the quality requirement DBL 3 is 30%. In this case, the requirements for user A are not met, so the switching determination unit 63 determines that there is a user whose quality requirements are being exceeded.

[0105] (Variation 3) In the above-described embodiment, a configuration in which a cloud resource 30 is used at one location (e.g., termination device 10) has been described. However, as shown in FIG. 10 , the cloud controller 40, network controller 50, and integrated controller 60 in the embodiment may perform similar processing in a situation in which the cloud resource 30 is used while passing information from one location (e.g., termination device 10) to another location (e.g., termination device 70). FIG. 10 is a diagram illustrating an example configuration of a communication system 100a according to a variation of the first embodiment. The communication system 100a includes a termination device 10, multiple communication devices 20-1 to 20-4, multiple cloud resources 30-1 to 30-2, a cloud controller 40, a network controller 50, an integrated controller 60, and a termination device 70. The communication system 100a has the same system configuration as the communication system 100, except for the addition of the termination device 70. The differences will be described below. The termination device 70 is a device with which the termination device 10 communicates.

[0106] Second Embodiment In the first embodiment, the integrated controller determines whether switching is necessary and determines the switching destination based on information collected from the cloud controller and the network controller. In the second embodiment, a configuration will be described in which a communication system does not include an integrated controller, and the network controller determines whether switching is necessary and determines the switching destination.

[0107] The communication system 100 of the second embodiment includes one or more termination devices 10, a plurality of communication devices 20-1 to 20-4, a plurality of cloud resources 30-1 to 30-3, a cloud controller 40, and a network controller 50a. The communication system 100 of the second embodiment is similar to the communication system 100 of the first embodiment in terms of the arrangement and connection relationships of the one or more termination devices 10, the plurality of communication devices 20-1 to 20-4, and the plurality of cloud resources 30-1 to 30-3. The communication system 100 of the second embodiment differs in configuration from the communication system 100 of the first embodiment in that it does not include an integrated controller 60 and that it includes a network controller 50a instead of the network controller 50. The following description will focus on these differences.

[0108] The cloud controller 40 is a control device that configures and monitors the cloud resources 30. The cloud controller 40 collects information about the cloud resources 30 and notifies the network controller 50a of the collected information. The cloud controller 40 may transmit information about the cloud resources 30 to the network controller 50a periodically or only when predetermined conditions are met. When an instruction to change the cloud resources 30 is received from the network controller 50a, the cloud controller 40 instructs the cloud resources 30 to change the settings. For example, when an instruction to change the cloud resources 30 to be used by the termination device 10 is received, the cloud controller 40 configures the resources to be allocated to the termination device 10 for the cloud resources 30 to be used by the termination device 10.

[0109] The network controller 50a configures and monitors the communication device 20 and monitors the network. The network controller 50a collects information related to the communication device 20 and the network.

[0110] Furthermore, the network controller 50a performs the same processing as the integrated controller 60. The network controller 50a determines the cloud resources 30 and the network paths for using the cloud resources 30 based on, for example, cloud information obtained from the cloud controller 40, the collected NW information, and quality requirements requested by the user. The network controller 50a determines, at a predetermined timing, whether the end-to-end service quality satisfies the quality requirements based on, for example, the cloud information obtained from the cloud controller 40 and the collected NW information. The network controller 50a is one aspect of a controller.

[0111] When the service quality does not satisfy the quality requirements, the network controller 50a determines another cloud resource 30 that satisfies the user's quality requirements and a network route for using the cloud resource 30. The network controller 50a instructs the cloud controller 40 to switch according to the determined cloud resource 30 and network route. Furthermore, the network controller 50a instructs the communication device 20 that requires route switching to switch the route according to the determined cloud resource 30 and network route.

[0112] As described above, the network controller 50a switches paths and instructs the cloud controller 40 to switch resources, just like the integrated controller 60 in the first embodiment, allowing the cloud controller 40 and the network controller 50 to operate in conjunction with each other. As a result, delays can be minimized. A specific configuration of the communication system 100 for realizing the above operations will be described below.

[0113] 11 is a diagram showing an example of the functional configuration of the cloud controller 40 and the network controller 50a in the second embodiment. First, the functional configuration of the cloud controller 40 will be described.

[0114] (Functional Configuration of Cloud Controller 40) The cloud controller 40 includes a cloud information collection unit 41 and a switching instruction unit 42. The cloud information collection unit 41 is the same as in the first embodiment except that it notifies the network controller 50a of the collected cloud information. The switching instruction unit 42 is the same as in the first embodiment except that it instructs the cloud resources 30 to change settings in response to instructions sent from the network controller 50a.

[0115] (Functional configuration of network controller 50a) The network controller 50a includes a NW information collection unit 51, a switching instruction unit 52, an information collection unit 61, a switching determination unit 63, a switching destination candidate list creation unit 64, a switching destination determination unit 65, a switching instruction unit 66, a network and cloud information DBL1, a user usage status DBL2, a quality requirement DBL3, a cloud resource list L4, a network route list L5, a service provision information list L6, and a switching destination candidate list L7.

[0116] The network controller 50a differs in configuration from the network controller 50 in that it newly includes an information collection unit 61, a switching determination unit 63, a switching destination candidate list creation unit 64, a switching destination determination unit 65, a switching instruction unit 66, a network and cloud information DBL1, a user usage status DBL2, a quality requirement DBL3, a cloud resource list L4, a network route list L5, a service provision information list L6, and a switching destination candidate list L7. The following description will focus on the differences.

[0117] The NW information collection unit 51 is the same as in the first embodiment except that it stores the collected NW information in the network and cloud information DB 1. The switching instruction unit 52 is the same as in the first embodiment except that it instructs the communication device 20 to change the setting in response to an instruction transmitted from the switching instruction unit 66.

[0118] The information collecting unit 61, the switching determination unit 63, the switching destination candidate list creating unit 64, the switching destination determining unit 65, and the switching instruction unit 66 perform the same processing as in the first embodiment. The information shown in the first embodiment is registered in the network and cloud information DBL1, the user usage status DBL2, the quality requirement DBL3, the cloud resource list L4, the network route list L5, the service provision information list L6, and the switching destination candidate list L7.

[0119] The operation in the second embodiment is basically the same as that in Fig. 4 except that the network controller 50a performs the operation of the integrated controller 60 shown in Fig. 4. Therefore, the switching determination process shown in Fig. 5 is also performed by the network controller 50a.

[0120] In the communication system 100 according to the second embodiment configured as described above, the same effects as those of the first embodiment can be obtained without including the integrated controller 60.

[0121] (Modification 1) The communication system 100 in the second embodiment may be modified in the same manner as in the first embodiment.

[0122] Third Embodiment In a third embodiment, a configuration will be described in which a communication system does not include an integrated controller, and a cloud controller determines whether switching is necessary and the switching destination.

[0123] The communication system 100 of the third embodiment includes one or more termination devices 10, a plurality of communication devices 20-1 to 20-4, a plurality of cloud resources 30-1 to 30-2, a cloud controller 40b, and a network controller 50. The communication system 100 of the third embodiment is similar to the communication system 100 of the first embodiment in terms of the arrangement and connection relationships of the one or more termination devices 10, the plurality of communication devices 20-1 to 20-4, and the plurality of cloud resources 30-1 to 30-3. The communication system 100 of the third embodiment differs in configuration from the communication system 100 of the first embodiment in that it does not include an integrated controller 60 and that it includes a cloud controller 40b instead of the cloud controller 40. The following description will focus on these differences.

[0124] The cloud controller 40b is a control device that configures and monitors the cloud resources 30. The cloud controller 40a collects information related to the cloud resources 30.

[0125] Furthermore, the cloud controller 40b performs the same processing as the integrated controller 60. The cloud controller 40b determines the cloud resources 30 and the network paths for using the cloud resources 30, for example, based on NW information obtained from the network controller 50, the collected cloud information, and the quality requirements requested by the user. The cloud controller 40b determines at a predetermined timing whether the end-to-end service quality satisfies the quality requirements, for example, based on the collected cloud information and the NW information obtained by the network controller 50. The cloud controller 40b is one aspect of a controller.

[0126] If the service quality does not satisfy the quality requirements, the cloud controller 40b determines another cloud resource 30 that satisfies the user's quality requirements and a network path for using the cloud resource 30. The cloud controller 40b instructs the network controller 50 to switch according to the determined cloud resource 30 and network path. Furthermore, the cloud controller 40b instructs the network controller 50 to switch to a different cloud resource 30 according to the determined cloud resource 30 and network path.

[0127] The network controller 50 configures and monitors the communication devices 20 and monitors the network. The network controller 50 collects information about the communication devices 20 and the network, and notifies the cloud controller 40b of the collected information. The network controller 50 may notify the cloud controller 40b of the information about the communication devices 20 and the network periodically, or only when a predetermined condition is satisfied. When the network controller 50 receives a path switching instruction from the cloud controller 40b, it instructs the communication devices 20 that require path switching to switch the path.

[0128] As described above, the cloud controller 40b switches the route and instructs the network controller 50 to switch the route, just like the integrated controller 60 in the first embodiment, so that the cloud controller 40 and the network controller 50 can operate in conjunction with each other. As a result, delays can be minimized. A specific configuration of the communication system 100 for realizing the above operations will be described below.

[0129] 12 is a diagram showing an example of the functional configuration of the cloud controller 40b and the network controller 50 according to the third embodiment. First, the functional configuration of the cloud controller 40b will be described.

[0130] (Functional configuration of cloud controller 40b) The cloud controller 40b includes a cloud information collection unit 41, a switching instruction unit 42, an information collection unit 62, a switching determination unit 63, a switching destination candidate list creation unit 64, a switching destination determination unit 65, a switching instruction unit 66, a network and cloud information DBL1, a user usage status DBL2, a quality requirement DBL3, a cloud resource list L4, a network route list L5, a service provision information list L6, and a switching destination candidate list L7.

[0131] The cloud controller 40b differs in configuration from the cloud controller 40 in that it newly includes an information collection unit 62, a switching determination unit 63, a switching destination candidate list creation unit 64, a switching destination determination unit 65, a switching instruction unit 66, a network and cloud information DBL1, a user usage status DBL2, a quality requirement DBL3, a cloud resource list L4, a network route list L5, a service provision information list L6, and a switching destination candidate list L7. The following description will focus on the differences.

[0132] The cloud information collection unit 41 is the same as in the first embodiment except that it stores the collected cloud information in the network and cloud information DBL 1. The switching instruction unit 42 is the same as in the first embodiment except that it instructs the cloud resource 30 to change the settings in response to an instruction sent from the switching instruction unit 66.

[0133] The information collecting unit 62, the switching determination unit 63, the switching destination candidate list creating unit 64, the switching destination determining unit 65, and the switching instruction unit 66 perform the same processing as in the first embodiment. The information shown in the first embodiment is registered in the network and cloud information DBL1, the user usage status DBL2, the quality requirement DBL3, the cloud resource list L4, the network route list L5, the service provision information list L6, and the switching destination candidate list L7.

[0134] (Functional Configuration of Network Controller 50) The network controller 50 includes a NW information collection unit 51 and a switching instruction unit 52. The NW information collection unit 51 is the same as in the first embodiment except that it notifies the cloud controller 40b of the collected NW information. The switching instruction unit 52 is the same as in the first embodiment except that it instructs the communication device 20 to change settings in response to an instruction sent from the cloud controller 40b.

[0135] The operation in the third embodiment is basically the same as that in Fig. 4 except that the cloud controller 40b performs the operation of the integrated controller 60 shown in Fig. 4. Therefore, the switching determination process shown in Fig. 5 is also performed by the cloud controller 40b.

[0136] In the communication system 100 according to the third embodiment configured as above, the same effects as those of the first embodiment can be obtained without including the integrated controller 60.

[0137] (Modification 1) The communication system 100 in the third embodiment may be modified in the same manner as in the first embodiment.

[0138] (Fourth Embodiment) In the first to third embodiments described above, the switching destination determination unit determines an optimal switching destination by referring to the switching destination candidate list L7 when it is determined that switching is necessary. When a communication system includes a huge number of communication devices and cloud resources, a huge number of candidates may be registered in the switching destination candidate list L7. In such a case, if the optimal switching destination is determined by referring to the switching destination candidate list L7 when it is determined that switching is necessary, as in the first to third embodiments described above, it takes a long time to search for a switching destination, which may result in a failure to satisfy the service requested by the user (e.g., a service level agreement (SLA)) or a long service interruption time.

[0139] Therefore, in the fourth embodiment, regardless of whether switching is necessary, the switching destination candidates registered in the switching destination candidate list L7 for each user are narrowed down to a small number in advance. For example, in the fourth embodiment, the switching destination candidates registered in the switching destination candidate list L7 for each user are narrowed down to a small number in advance based on the cloud information and NW information registered in the network & cloud information DBL1. As a result, when switching is actually necessary, the switching destination candidates registered in the switching destination candidate list L7 have been narrowed down, so the time required to search for a switching destination can be shortened compared to the time required to search for a switching destination in the first to third embodiments described above. A specific configuration for realizing the above-described operation will be described below.

[0140] 13 is a diagram illustrating an example of the configuration of a communication system 200 according to the fourth embodiment. The communication system 200 includes a plurality of termination devices 10, a plurality of communication devices 20, a plurality of cloud resources 30, a cloud controller 40, a network controller 50, and an integrated controller 60c.

[0141] In the following description, when there is no particular distinction between multiple termination devices 10, they will simply be referred to as termination devices 10, when there is no particular distinction between multiple communication devices 20, they will simply be referred to as communication devices 20, and when there is no particular distinction between multiple cloud resources 30, they will simply be referred to as cloud resources 30. The numbers of termination devices 10, communication devices 20, and cloud resources 30 included in the communication system 200 are not limited to the numbers shown in FIG.

[0142] In Figure 13, as an example, multiple terminal devices 10 are shown as terminal devices 10-A and 10-B, multiple communication devices 20 are shown as communication devices 20-1 to 20-N (N is an integer greater than or equal to 1), 20-A to 20-B, and multiple cloud resources 30 are shown as cloud resources 30-1 to 30-N.

[0143] 13, each communication device 20 is located at a different base. For example, communication device 20-A is located at base A together with terminal device 10-A, communication device 20-B is located at base B together with terminal device 10-B, and communication device 20-n (1≦n≦N) is located at base n together with cloud resource 30-n.

[0144] The communication devices 20 are connected to each other via lines. For example, communication device 20-A is connected to communication device 20-1 via line 1-1, to communication device 20-2 via line 2-1, and to communication device 20-N via line N-1. Furthermore, a termination device 10-A is connected to communication device 20-A, a termination device 10-B is connected to communication device 20-B, a cloud resource 30-n is connected to communication device 20-n, each cloud resource 30 is connected to a cloud controller 40, a network controller 50 is connected to each communication device 20, and the cloud controller 40 and network controller 50 are connected to an integrated controller 60.

[0145] The termination device 10, communication device 20, cloud resource 30, cloud controller 40, and network controller 50 in the communication system 200 perform the same processes as the termination device 10, communication device 20, cloud resource 30, cloud controller 40, and network controller 50 provided in the communication system 100 shown in the first embodiment. An integrated controller 60c provided in the communication system 200 differs from that in the first embodiment. The following description will focus on the differences from the first embodiment.

[0146] The integrated controller 60c performs the same processing as the integrated controller 60 in the first embodiment. Furthermore, the integrated controller 60c references the switching destination candidate list for each user created by the switching destination candidate list creation unit 64 to determine whether or not the switching destination candidate list needs to be updated. The integrated controller 60c determines that the switching destination candidate list needs to be updated when there is a user with M candidates (M is an integer greater than or equal to 2) registered in the switching destination candidate list. On the other hand, the integrated controller 60c determines that the switching destination candidate list does not need to be updated when there is no user with M candidates registered in the switching destination candidate list.

[0147] When the integrated controller 60c determines that the switching destination candidate list needs to be updated, the integrated controller 60c updates the switching destination candidate list for the user, for which M candidates are registered, at a predetermined timing, regardless of whether switching is required. The predetermined timing may be a predetermined periodic timing (for example, every 100 ms), a predetermined time, or a timing in response to an instruction from an external device.

[0148] In the present invention, updating the switching destination candidate list means reducing the number of candidates registered in the switching destination candidate list. Therefore, when M candidates (M is an integer of 2 or more) are registered in the switching destination candidate list, the integrated controller 60c updates the switching destination candidate list by reducing the M candidates to J (J is an integer of 1 or more, J<M).

[0149] As described above, the integrated controller 60c updates the list of switching destination candidates in advance, regardless of whether a switching decision is necessary. As a result, when switching is actually necessary, the integrated controller 60c only needs to search for a switching destination from among J candidates for the user who updated the list of switching destination candidates. This reduces the search time. The integrated controller 60c is one aspect of a controller.

[0150] 14 is a diagram showing an example of the functional configuration of the cloud controller 40, the network controller 50, and the integrated controller 60c in the fourth embodiment. Note that the cloud controller 40 and the network controller 50 are the same as those in the first embodiment, so only the functional configuration of the integrated controller 60c will be described.

[0151] (Functional configuration of integrated controller 60c) The integrated controller 60c includes an information collection unit 61, an information collection unit 62, a switching determination unit 63, a switching destination candidate list creation unit 64, a switching destination determination unit 65, a switching instruction unit 66, a switching destination candidate narrowing down unit 67, a network and cloud information DBL1, a user usage status DBL2, a quality requirement DBL3, a cloud resource list L4, a network route list L5, a service provision information list L6, and a switching destination candidate list L7.

[0152] The network and cloud information DBL1, the user usage status DBL2, the quality requirement DBL3, the cloud resource list L4, the network route list L5, the service provision information list L6, and the switching destination candidate list L7 are stored in a storage unit (not shown). The storage unit is configured using a storage device such as a magnetic storage device or a semiconductor storage device.

[0153] In the integrated controller 60c, the processing of the other functional units, except for the switching destination candidate list creation unit 64 and the switching destination candidate narrowing unit 67, is the same as that of the integrated controller 60. The following description will focus on the processing of the switching destination candidate list creation unit 64 and the switching destination candidate narrowing unit 67.

[0154] The switching destination candidate list creation unit 64 calculates candidate combinations of cloud resources 30 and network routes that can satisfy the service provision contents of the user registered in the service provision information list L6 based on the cloud resource list L4, the network route list L5, and the service provision information list L6.

[0155] The switching destination candidate list creation unit 64 creates a switching destination candidate list L7 by registering all of the calculated candidates. The switching destination candidate list creation unit 64 outputs the created switching destination candidate list L7 to the switching destination candidate narrowing unit 67. The frequency at which the switching destination candidate list creation unit 64 creates the switching destination candidate list L7 can be set arbitrarily. The switching destination candidate list creation unit 64 creates a switching destination candidate list L7 for each user.

[0156] The switching destination candidate narrowing unit 67 temporarily holds the switching destination candidate list L7 for each user created by the switching destination candidate list creation unit 64. The switching destination candidate narrowing unit 67 updates the switching destination candidate list L7 that satisfies the update condition at a predetermined timing, based on the network & cloud information DBL1, the user usage status DBL2, and the switching destination candidate list L7 for each user created by the switching destination candidate list creation unit 64.

[0157] The update condition is a condition for updating the switching destination candidate list L7, such as the registration of multiple switching destination candidates. The switching destination candidate narrowing unit 67 references the switching destination candidate list L7 for each user at a predetermined timing and determines the switching destination candidate list L7 that satisfies the update condition as the switching destination candidate list L7 to be updated. The switching destination candidate narrowing unit 67 then updates the switching destination candidate list L7 of the user determined as the switching destination candidate list L7 to be updated based on the network & cloud information DBL1 and the user usage status DBL2. For example, if the number of switching destination candidates registered in the switching destination candidate list L7 of the user determined as the switching destination candidate list L7 to be updated is M, the switching destination candidate narrowing unit 67 narrows down the M switching destination candidates to J switching destination candidates, which is less than M, based on the network & cloud information DBL1 and the user usage status DBL2. In this manner, the switching destination candidate narrowing unit 67 updates the switching destination candidate list L7 for each user.

[0158] In addition, for the switching destination candidate list L7 of a user that is not the target of update, the switching destination candidate narrowing unit 67 stores the switching destination candidate list L7 created by the switching destination candidate list creation unit 64 in a storage unit not shown.

[0159] The switching destination candidate list L7 is a list in which information on switching destination candidates created by the switching destination candidate list creation unit 64 or information on switching destination candidates updated by the switching destination candidate narrowing unit 67 is registered. As described above, in the fourth embodiment, unlike the first to third embodiments, information on all switching destination candidates for each user is not registered in some or all of the switching destination candidate lists L7, and information on the switching destination candidates after the switching destination candidates have been narrowed down by the switching destination candidate narrowing unit 67 may be registered.

[0160] When the switching determination unit 63 determines that switching is necessary, the switching destination determination unit 65 determines the optimal switching destination based on the network & cloud information DBL1, the user usage status DBL2, the quality requirement DBL3, and the switching destination candidate list L7. In the fourth embodiment, when the switching destination candidate list corresponding to the user determined to be necessary for switching has been updated, the switching destination determination unit 65 determines the optimal switching destination using the updated switching destination candidate list L7.

[0161] (Explanation of databases and lists) Next, using Figures 15A to 15H, details of the network and cloud information DBL1, user usage status DBL2, quality requirement DBL3, cloud resource list L4, network route list L5, service provision information list L6, and switching destination candidate list L7 in the fourth embodiment will be explained.

[0162] FIG. 15A is a diagram showing an example of a network & cloud information DBL1-1 in the fourth embodiment. FIG. 15B is a diagram showing an example of a network & cloud information DBL1-2 in the fourth embodiment. FIG. 15C is a diagram showing an example of a user usage status DBL2 in the fourth embodiment. FIG. 15D is a diagram showing an example of a quality requirement DBL3 in the fourth embodiment. FIG. 15E is a diagram showing an example of a cloud resource list L4 in the fourth embodiment. FIG. 15F is a diagram showing an example of a network route list L5 in the fourth embodiment. FIG. 15G is a diagram showing an example of a service provision information list L6 in the fourth embodiment. FIG. 15H is a diagram showing an example of a switching destination candidate list L7 in the fourth embodiment.

[0163] 15A to 15H, the network and cloud information DBL1, user usage status DBL2, quality requirement DBL3, cloud resource list L4, network route list L5, service provision information list L6, and switching destination candidate list L7 are the same as those in the first embodiment except that information corresponding to the system configuration shown in Fig. 15 is registered therein, and therefore description of each item will be omitted. For convenience of explanation, the switching destination candidate list L7 shown in Fig. 15H is the switching destination candidate list L7 created by the switching destination candidate list creation unit 64.

[0164] 16 is a flowchart showing the flow of the switching destination candidate list update process in the fourth embodiment. The switching destination candidate list update process is a process in which the switching destination candidate narrowing unit 67 narrows down the switching destination candidates registered in the switching destination candidate list L7. The process in FIG. 16 is executed at a predetermined timing.

[0165] 16 will be described with a specific example. In describing with a specific example, it is assumed that the user using the service is User A, the switching destination candidate list L7 shown in FIG. 15H is the switching destination candidate list L7 for User A, the cloud information collected by the cloud controller 40 is registered in the network & cloud information DBL1-1, and the NW information collected by the network controller 50 is registered in the network & cloud information DBL1-2.

[0166] The switching destination candidate narrowing unit 67 acquires information on all switching destination candidates by referring to the switching destination candidate list L7 for user A shown in FIG. 15H. Here, the switching destination candidate narrowing unit 67 acquires, for example, the following M pieces of information as information on all switching destination candidates. For convenience of explanation, the following example shows information on candidates 1, 2, 3, and M, without listing information on candidates 4 to (M-1).

[0167] Candidate 1: "Line 1-1", "Cloud resource 30-1", "Line 1-2" Candidate 2: "Line 2-1", "Cloud resource 30-2", "Line 2-2" Candidate 3: "Line 3-1", "Cloud resource 30-3", "Line 3-2" ... Candidate M: "Line N-1", "Cloud resource 30-N", "Line N-2"

[0168] The switching destination candidate narrowing unit 67 refers to the network and cloud information DBL1 and calculates the quality of each of the acquired switching destination candidates (step S301). As an example, the quality is expressed as a delay value. As a result, the switching destination candidate narrowing unit 67 calculates the quality of candidate 1 as 15 ms (= 5 ms + 5 ms + 5 ms), the quality of candidate 2 as 32 ms (= 15 ms + 7 ms + 10 ms), the quality of candidate 3 as 22 ms (= 5 ms + 7 ms + 10 ms), and the quality of candidate M as 20 ms (= 5 ms + 5 ms + 10 ms).

[0169] Next, the switching destination candidate narrowing unit 67 determines whether there is a candidate whose calculated quality value exceeds the quality requirement (step S302). In this case, the switching destination candidate narrowing unit 67 refers to the quality requirement DBL3 and compares the quality value for each switching destination candidate for user A obtained in the processing of step S301 with the total upper delay limit value for user A registered in the quality requirement DBL3. The quality values ​​for each switching destination candidate for user A obtained in the processing of step S301 are 15 ms for candidate 1, 32 ms for candidate 2, 22 ms for candidate 3, ..., and 20 ms for candidate M. Here, the total upper delay limit value for user A registered in the quality requirement DBL3 is 30 ms.

[0170] If the switching destination candidate narrowing unit 67 determines that there is no candidate that exceeds the total delay upper limit value of user A (step S302--NO), the switching destination candidate narrowing unit 67 ends the processing shown in FIG.

[0171] If the switching destination candidate narrowing unit 67 determines that there is a candidate that exceeds the total delay upper limit value for user A (step S302—YES), the switching destination candidate narrowing unit 67 excludes candidates that exceed the total delay upper limit value for user A from the switching destination candidates registered in the switching destination candidate list L7 for user A (step S303). In this example, candidate 2 does not satisfy the requirements of user A (for convenience of explanation, it is assumed here that candidates 4 to (M−1) also do not satisfy the requirements of user A), so the switching destination candidate narrowing unit 67 excludes candidate 2 and candidates 4 to (M−1) from the switching destination candidate list L7 for user A.

[0172] The switching destination candidate narrowing unit 67 then updates the switching destination candidate list L7 for user A by registering the three candidates, candidates 1, 3, and M, that satisfy the requirements of user A in the switching destination candidate list L7 for user A (step S304). As a result, the switching destination candidate list L7 for user A shown in FIG. 15H is updated as shown in FIG. 17. FIG. 17 is a diagram showing an example of the switching destination candidate list L7 updated by the switching destination candidate narrowing unit 67 in the fourth embodiment. Thereafter, the switching destination candidate narrowing unit 67 stores the updated switching destination candidate list L7 in a storage unit (not shown) (step S305).

[0173] The switching destination candidate narrowing unit 67 executes the process shown in FIG. 16 for the switching destination candidate list L7 that satisfies the update condition, out of the switching destination candidate list L7 for each user that is temporarily stored.

[0174] Fig. 18 is a flowchart showing the flow of switching determination processing in the fourth embodiment. Note that the explanation of Fig. 18 will include a specific example. In explaining the specific example, it is assumed that the user using the service is user A, the switching destination candidate list L7 shown in Fig. 17 is the switching destination candidate list L7 for user A, the cloud information collected by the cloud controller 40 is registered in the network & cloud information DBL1-1 shown in Fig. 15A, and the NW information collected by the network controller 50 is registered in the network & cloud information DBL1-2 shown in Fig. 15B.

[0175] The switching determination unit 63 references the information on the resources used by each user registered in the user usage status DB2 shown in Fig. 15C and acquires the quality of the resources used for each user (step S401). For example, the switching determination unit 63 first acquires "Line 1-1", "Cloud resource 30-1", and "Line 1-2" as the resources used by user A. The switching determination unit 63 then acquires the quality of each of the acquired "Line 1-1", "Cloud resource 30-1", and "Line 1-2". As an example, the quality is represented by a delay value.

[0176] The switching determination unit 63 refers to the network & cloud information DBL1 to obtain the delays of "Line 1-1," "Cloud resource 30-1," and "Line 1-2." For example, the switching determination unit 63 determines from the network & cloud information DBL1-1 shown in FIG. 15A that the delay of "Cloud resource 30-1" is 5 ms. Furthermore, for example, the switching determination unit 63 determines from the network & cloud information DBL1-2 shown in FIG. 15B that the delay of "Line 1-1" is 5 ms and that the delay of "Line 1-2" is 5 ms. As a result, the switching determination unit 63 obtains 15 ms (= 5 ms + 5 ms + 5 ms) as the quality of the resources used by user A.

[0177] Next, the switching determination unit 63 determines whether there is any user whose acquired quality value exceeds the quality requirements (step S402). In this case, the switching determination unit 63 refers to the quality requirement DBL3 shown in FIG. 15D and compares the quality value of the resources used by user A acquired in the process of step S401 with the total upper delay limit value of user A registered in the quality requirement DBL3. The quality value of the resources used by user A acquired in the process of step S401 is 15 ms, and the total upper delay limit value of user A registered in the quality requirement DBL3 is 30 ms. In this case, the requirements of user A are satisfied, so the switching determination unit 63 determines that there is no user whose quality requirements are exceeded.

[0178] If the switching determination unit 63 determines that there is no user whose acquired quality value exceeds the quality requirement (step S402—NO), the switching determination unit 63 determines that switching is not necessary (step S403). The processing of FIG. 18 then ends. Note that while the description here is given using an example in which there is only one user, if there are multiple users using the service, the switching determination unit 63 performs the above comparison for all users. For example, if there is a user B in addition to user A, the switching determination unit 63 refers to the quality requirement DBL3 and performs processing such as comparing the quality value of the resource used by user B acquired in the processing of step S401 with the total upper delay limit value for user B registered in the quality requirement DBL3.

[0179] In the above description, the determination of whether a quality requirement is exceeded is based on the delay value. Alternatively, the determination of whether a quality requirement (e.g., a CPU usage limit) is exceeded may be based on the CPU usage value. In this case, the switching determination unit 63 refers to the network & cloud information DBL1 to obtain the CPU usage of the "cloud resource 30-1." For example, the switching determination unit 63 determines from the network & cloud information DBL1-1 that the CPU usage of the "cloud resource 30-1" is 10%. As a result, the switching determination unit 63 obtains 10% as the quality of the resource used by user A.

[0180] Next, the switching determination unit 63 determines whether there is any user whose acquired quality value exceeds the quality requirements (step S402). In this case, the switching determination unit 63 refers to the quality requirement DBL3 and compares the quality value (10%) of the resource used by user A acquired in the process of step S401 with the upper limit of CPU usage for user A (80%) registered in the quality requirement DBL3. The quality value of the resource used by user A acquired in the process of step S401 is 10%, and the upper limit of CPU usage for user A registered in the quality requirement DBL3 is 80%. In this case, the requirements for user A are satisfied, so the switching determination unit 63 determines that there is no user whose quality requirements are exceeded.

[0181] The switching determination unit 63 may determine whether or not quality requirements (e.g., the total delay upper limit and the CPU usage upper limit) are exceeded based on both the CPU usage value and the delay value. In this case, the switching determination unit 63 compares the delay value and the total delay upper limit, and the CPU usage value and the CPU usage upper limit, acquired as described above. If both the CPU usage value and the delay value are less than the values ​​indicated by the quality requirements, the switching determination unit 63 determines that no user exceeds the quality requirements.

[0182] Meanwhile, suppose the network situation changes and the information in the network and cloud information DBL1-1 is updated as shown in FIG. 19 . FIG. 19 is a diagram illustrating another example of the network and cloud information DBL1-1 in the fourth embodiment. In FIG. 19 , the processing time of the cloud resource 30-1 increases to 25 ms, and the CPU utilization rate increases to 70%. As in the above-described process, in step S401, the switching determination unit 63 references the information on the resources used by each user registered in the user usage status DBL2 and acquires the quality of the resources used for each user (step S401). For example, the switching determination unit 63 first acquires "Line 1-1," "Cloud resource 30-1," and "Line 1-2" as the resources used by user A. The switching determination unit 63 then acquires the quality of each of the acquired "Line 1-1," "Cloud resource 30-1," and "Line 1-2."

[0183] The switching determination unit 63 refers to the network & cloud information DBL1 to obtain the delays of "Line 1-1," "Cloud resource 30-1," and "Line 1-2." For example, the switching determination unit 63 determines from the network & cloud information DBL1-1 shown in FIG. 19 that the delay of "Cloud resource 30-1" is 25 ms. Furthermore, for example, the switching determination unit 63 determines from the network & cloud information DBL1-2 shown in FIG. 15B that the delay of "Line 1-1" is 5 ms and that the delay of "Line 1-2" is 5 ms. As a result, the switching determination unit 63 obtains 35 ms (= 25 ms + 5 ms + 5 ms) as the quality of the resources used by user A.

[0184] Next, the switching determination unit 63 determines whether there is a user whose acquired quality value exceeds the quality requirement (step S402). In this case, the switching determination unit 63 refers to the quality requirement DBL3 and compares the quality value of the resources used by user A acquired in the process of step S401 with the total upper delay limit value for user A registered in the quality requirement DBL3. The quality value of the resources used by user A acquired in the process of step S401 is 35 ms, and the total upper delay limit value for user A registered in the quality requirement DBL3 is 30 ms. In this case, the requirements for user A are not met, so the switching determination unit 63 determines that there is a user whose quality requirement is exceeded.

[0185] If the switching determination unit 63 determines that there is a user whose acquired quality value exceeds the quality requirement (step S402—YES), the switching determination unit 63 determines that switching is necessary (step S404). The switching determination unit 63 outputs a notification indicating that switching is necessary for user A, for example, to the switching destination determination unit 65. The switching destination determination unit 65 determines the optimal switching destination in response to the notification from the switching determination unit 63 (step S405). At this time, the switching destination determination unit 65 determines the optimal switching destination only for user A notified by the switching determination unit 63.

[0186] First, the switching destination determination unit 65 acquires information on all switching destination candidates by referring to the switching destination candidate list L7 for user A (here, the switching destination candidate list L7 shown in FIG. 17 ) updated by the switching destination candidate narrowing unit 67. Here, the switching destination determination unit 65 acquires the following information as information on all switching destination candidates. As will be described below, in the fourth embodiment, the switching destination candidate narrowing unit 67 narrows down the switching destination candidates for user A, and therefore the switching destination determination unit 65 acquires information on three switching destination candidates.

[0187] Candidate 1: "Line 1-1", "Cloud resource 30-1", "Line 1-2" Candidate 3: "Line 3-1", "Cloud resource 30-3", "Line 3-2" Candidate M: "Line N-1", "Cloud resource 30-N", "Line N-2"

[0188] Next, the switching destination determination unit 65 acquires the quality of each of the acquired switching destination candidates by referring to the network and cloud information DBL1. As a result, the switching destination determination unit 65 acquires 35 ms (= 25 ms + 5 ms + 5 ms) as the quality of candidate 1, 22 ms (= 5 ms + 7 ms + 10 ms) as the quality of candidate 3, and 20 ms (= 5 ms + 5 ms + 10 ms) as the quality of candidate M.

[0189] Thereafter, the switching destination determination unit 65 refers to the quality requirement DBL3 and compares the quality values ​​of candidate 1, candidate 3, and candidate M for user A acquired in the above process with the total upper delay limit value for user A (e.g., 30 ms) registered in the quality requirement DBL3. The switching destination determination unit 65 then selects a candidate whose acquired quality value satisfies the quality requirements. Here, candidate 3 and candidate M are the switching destination candidates that satisfy the total upper delay limit value for user A (e.g., 30 ms). Since there are multiple candidates, the switching destination determination unit 65 determines, for example, the candidate with the shortest total delay as the optimal switching destination. In this case, the switching destination determination unit 65 determines candidate M as the optimal switching destination.

[0190] The switching destination determination unit 65 outputs information about the determined switching destination to the switching instruction unit 66. Furthermore, the switching destination determination unit 65 updates the information in the user usage status DBL2 based on the determined switching destination. For example, the switching destination determination unit 65 updates the information about the resources used by user A among the information registered in the user usage status DBL2 to "line N-1," "cloud resource 30-N," and "line N-2."

[0191] The switching instruction unit 66 generates a switching instruction based on the switching destination information output from the switching destination determination unit 65 (step S407). Specifically, the switching instruction unit 66 generates a cloud switching instruction including information on the cloud resource 30 included in the switching destination information (e.g., cloud resource 30-N) and information indicating the switching target user (e.g., user A), and a NW switching instruction including information on the network path (e.g., line N-1 and line N-2) and information indicating the switching target user (e.g., user A). As a result, the NW switching instruction generated by the switching instruction unit 66 is notified to the network controller 50, and the cloud switching instruction is notified to the cloud controller 40.

[0192] According to the communication system 200 configured as described above, even in a large-scale system including a large number of communication devices 20 and cloud resources 30, the time required for the switching destination determination unit 65 to search for an optimal switching destination can be reduced. As a result, it is possible to reduce delays due to increased processing time. For example, if the number of switching destination candidates M is 1,000 and the number of switching destination candidates narrowed down by the switching destination candidate narrowing unit 67 is 3, the processing delay time, which conventionally took 1 ms, can be reduced to 3 us.

[0193] In conventional redundancy, switching is only possible to predetermined paths or devices, and switching becomes impossible when a failure occurs in the redundant path or device. In contrast, with this invention, switching destination candidates are continuously searched for and narrowed down to make a provisional selection, making it possible to switch while suppressing the impact of failures in the switching destination.

[0194] (Modification 1) The communication system 200 in the fourth embodiment may be modified in the same manner as in the first embodiment.

[0195] (Variation 2) In the communication system 200 according to the fourth embodiment, if the difference between the timing at which the switching destination candidate narrowing unit 67 updates the switching destination candidate list L7 and the timing at which the switching destination determination unit 65 performs the process of determining a switching destination is less than a threshold, the switching destination determination unit 65 may determine an optimal switching destination using the quality value for each switching destination candidate calculated by the switching destination candidate narrowing unit 67. In this configuration, when the switching destination candidate narrowing unit 67 updates the switching destination candidate list L7, the switching destination determination unit 65 associates the quality value and the calculation time of the quality value for each candidate with each candidate and stores them in the storage unit. When the switching determination unit 63 determines that switching is necessary, the switching destination determination unit 65 compares the calculation time associated with the switching destination candidate list L7 with the current time.

[0196] If the difference between the calculated time and the current time is less than the threshold, the switching destination determination unit 65 determines the optimal switching destination using the quality value for each switching destination candidate associated with the switching destination candidate list L7. On the other hand, if the difference between the calculated time and the current time is equal to or greater than the threshold, the switching destination determination unit 65 calculates a quality value for each switching destination candidate and determines the optimal switching destination using the calculated quality value for each switching destination candidate. Because network conditions change every moment, it is desirable that the threshold be a relatively short time. With this configuration, the switching destination determination unit 65 does not need to calculate a quality value for each switching destination candidate when determining a switching destination. This reduces the processing load on the switching destination determination unit 65. Furthermore, because the switching destination determination unit 65 can determine a switching destination using a quality value for each switching destination candidate calculated in advance, the time required to determine a switching destination can be shortened.

[0197] Fifth Embodiment In a fifth embodiment, a configuration will be described in which a communication system does not include an integrated controller, and a network controller narrows down switchover destination candidates.

[0198] The communication system 200 according to the fifth embodiment includes a plurality of termination devices 10, a plurality of communication devices 20, a plurality of cloud resources 30, a cloud controller 40, and a network controller 50c. In the communication system 200 according to the fifth embodiment, the arrangement and connection relationships of the plurality of termination devices 10, the plurality of communication devices 20, and the plurality of cloud resources 30 are similar to those of the communication system 200 according to the fourth embodiment. The communication system 200 according to the fifth embodiment differs in configuration from the communication system 200 according to the fourth embodiment in that it does not include an integrated controller 60c and that it includes a network controller 50c instead of the network controller 50. The following description will focus on these differences.

[0199] The cloud controller 40 is a control device that configures and monitors the cloud resources 30. The cloud controller 40 collects cloud information and notifies the network controller 50c of the collected cloud information. The cloud controller 40 may transmit the cloud information to the network controller 50c periodically or only when predetermined conditions are met. When the cloud controller 40 receives an instruction from the network controller 50c to change the cloud resources 30, it instructs the cloud resources 30 to change the settings. For example, when an instruction is received to change the cloud resources 30 to be used by the termination device 10, the cloud controller 40 configures the resources to be allocated to the termination device 10 in the cloud resources 30 to be used by the termination device 10.

[0200] The network controller 50c configures and monitors the communication device 20 and monitors the network. The network controller 50c collects NW information.

[0201] Furthermore, the network controller 50c performs the same processing as the integrated controller 60c. The network controller 50c determines the cloud resources 30 and the network paths for using the cloud resources 30, based on, for example, cloud information obtained from the cloud controller 40, the collected NW information, and the quality requirements requested by the user. The network controller 50c determines, at a predetermined timing, whether the end-to-end service quality satisfies the quality requirements, based on, for example, the cloud information obtained from the cloud controller 40 and the collected NW information.

[0202] When the service quality does not satisfy the quality requirements, the network controller 50c determines another cloud resource 30 that satisfies the user's quality requirements and a network route for using the cloud resource 30. The network controller 50c instructs the cloud controller 40 to switch according to the determined cloud resource 30 and network route. Furthermore, the network controller 50c instructs the communication device 20 that requires route switching to switch the route according to the determined cloud resource 30 and network route.

[0203] Furthermore, the network controller 50c determines whether or not the switching destination candidate list needs to be updated. The network controller 50c determines that the switching destination candidate list needs to be updated when there is a user with M candidates registered in the switching destination candidate list. On the other hand, the network controller 50c determines that the switching destination candidate list does not need to be updated when there is no user with M candidates registered in the switching destination candidate list.

[0204] When the network controller 50c determines that the list of switching destination candidates needs to be updated, the network controller 50c updates the list of switching destination candidates for the user, in which M candidates are registered, at a predetermined timing, regardless of whether switching is required. The network controller 50c is one aspect of a controller.

[0205] As described above, the network controller 50c switches the route and instructs the cloud controller 40 to switch resources, as in the integrated controller 60c in the fourth embodiment, so that the cloud controller 40 and the network controller 50 can operate in conjunction with each other. As a result, delays can be minimized. Furthermore, the network controller 50c updates the switching destination candidate list for each user, as in the integrated controller 60c in the fourth embodiment. As a result, the communication system 200 can reduce the time it takes to search for a switching destination. Below, a specific configuration of the communication system 200 for realizing the above operations will be described.

[0206] 20 is a diagram showing an example of the functional configuration of the cloud controller 40 and the network controller 50c in the fifth embodiment. First, the functional configuration of the cloud controller 40 will be described.

[0207] (Functional Configuration of Cloud Controller 40) The cloud controller 40 includes a cloud information collection unit 41 and a switching instruction unit 42. The cloud information collection unit 41 is the same as in the fourth embodiment except that it notifies the network controller 50c of the collected cloud information. The switching instruction unit 42 is the same as in the fourth embodiment except that it instructs the cloud resources 30 to change settings in response to instructions sent from the network controller 50c.

[0208] (Functional Configuration of Network Controller 50c) The network controller 50c includes a NW information collection unit 51, a switching instruction unit 52, an information collection unit 61, a switching determination unit 63, a switching destination candidate list creation unit 64, a switching destination determination unit 65, a switching instruction unit 66, a switching destination candidate narrowing down unit 67, a network and cloud information DBL1, a user usage status DBL2, a quality requirement DBL3, a cloud resource list L4, a network route list L5, a service provision information list L6, and a switching destination candidate list L7.

[0209] The network controller 50c differs in configuration from the network controller 50 in that it newly includes an information collection unit 61, a switching determination unit 63, a switching destination candidate list creation unit 64, a switching destination determination unit 65, a switching instruction unit 66, a switching destination candidate narrowing down unit 67, a network and cloud information DBL1, a user usage status DBL2, a quality requirement DBL3, a cloud resource list L4, a network route list L5, a service provision information list L6, and a switching destination candidate list L7. The following description will focus on the differences.

[0210] The NW information collection unit 51 is the same as in the fourth embodiment except that it stores the collected NW information in the network and cloud information DB 1. The switching instruction unit 52 is the same as in the fourth embodiment except that it instructs the communication device 20 to change the setting in response to an instruction transmitted from the switching instruction unit 66.

[0211] The information collecting unit 61, the switching determination unit 63, the switching destination candidate list creating unit 64, the switching destination determining unit 65, the switching instruction unit 66, and the switching destination candidate narrowing down unit 67 perform the same processing as in the fourth embodiment. The information shown in the fourth embodiment is registered in the network and cloud information DBL1, the user usage status DBL2, the quality requirement DBL3, the cloud resource list L4, the network route list L5, the service provision information list L6, and the switching destination candidate list L7.

[0212] The network controller 50c in the fifth embodiment performs the operations of the integrated controller 60c shown in FIGS.

[0213] In the communication system 200 of the fifth embodiment configured as above, the same effects as those of the fourth embodiment can be obtained without including the integrated controller 60c.

[0214] (Modification 1) The communication system 200 in the fifth embodiment may be modified in the same manner as in the fourth embodiment.

[0215] Sixth Embodiment In a sixth embodiment, a configuration will be described in which a communication system does not include an integrated controller, and a cloud controller narrows down switchover destination candidates.

[0216] A communication system 200 in the sixth embodiment includes a plurality of termination devices 10, a plurality of communication devices 20, a plurality of cloud resources 30, a cloud controller 40c, and a network controller 50. In the communication system 200 in the sixth embodiment, the arrangement and connection relationships of the plurality of termination devices 10, the plurality of communication devices 20, and the plurality of cloud resources 30 are similar to those of the communication system 200 in the fourth embodiment. The communication system 200 in the sixth embodiment differs in configuration from the communication system 200 in the fourth embodiment in that it does not include an integrated controller 60c and that it includes a cloud controller 40c instead of the cloud controller 40. The following description will focus on these differences.

[0217] The cloud controller 40c is a control device that configures and monitors the cloud resources 30. The cloud controller 40c collects cloud information.

[0218] Furthermore, the cloud controller 40c performs the same processing as the integrated controller 60. The cloud controller 40c determines the cloud resources 30 and the network paths for using the cloud resources 30, based on, for example, NW information obtained from the network controller 50, the collected cloud information, and the quality requirements requested by the user. The cloud controller 40c determines at a predetermined timing whether the end-to-end service quality satisfies the quality requirements, based on, for example, the collected cloud information and the NW information obtained by the network controller 50.

[0219] If the service quality does not satisfy the quality requirements, the cloud controller 40c determines another cloud resource 30 that satisfies the user's quality requirements and a network path for using the cloud resource 30. The cloud controller 40c instructs the network controller 50 to switch according to the determined cloud resource 30 and network path. Furthermore, the cloud controller 40c instructs the network controller 50 to switch to change the cloud resource 30 according to the determined cloud resource 30 and network path.

[0220] Furthermore, the cloud controller 40c determines whether or not it is necessary to update the switching destination candidate list. The cloud controller 40c determines that it is necessary to update the switching destination candidate list when there is a user with M candidates registered in the switching destination candidate list. On the other hand, the cloud controller 40c determines that it is not necessary to update the switching destination candidate list when there is no user with M candidates registered in the switching destination candidate list.

[0221] When the cloud controller 40c determines that the switching destination candidate list needs to be updated, the cloud controller 40c updates the switching destination candidate list of the user in which M candidates are registered, at a predetermined timing, regardless of whether switching is required. The cloud controller 40c is one aspect of a controller.

[0222] The network controller 50 configures and monitors the communication devices 20 and monitors the network. The network controller 50 collects NW information and notifies the cloud controller 40c of the collected NW information. The network controller 50 may notify the cloud controller 40c of the NW information periodically or only when a predetermined condition is satisfied. When the network controller 50 receives a path switching instruction from the cloud controller 40c, it instructs the communication devices 20 that require path switching to switch the path.

[0223] As described above, the cloud controller 40c switches the route and instructs the network controller 50 to switch the route, as in the integrated controller 60c in the fourth embodiment, so that the cloud controller 40c and the network controller 50 can operate in conjunction with each other. As a result, delays can be minimized. Furthermore, the cloud controller 40c updates the switching destination candidate list for each user, as in the integrated controller 60c in the fourth embodiment. As a result, the communication system 200 can reduce the time it takes to search for a switching destination. Below, a specific configuration of the communication system 200 for realizing the above operations will be described.

[0224] 21 is a diagram showing an example of the functional configuration of the cloud controller 40c and the network controller 50 according to the sixth embodiment. First, the functional configuration of the cloud controller 40c will be described.

[0225] (Functional configuration of cloud controller 40c) The cloud controller 40c includes a cloud information collection unit 41, a switching instruction unit 42, an information collection unit 62, a switching determination unit 63, a switching destination candidate list creation unit 64, a switching destination determination unit 65, a switching instruction unit 66, a switching destination candidate narrowing down unit 67, a network & cloud information DBL1, a user usage status DBL2, a quality requirement DBL3, a cloud resource list L4, a network route list L5, a service provision information list L6, and a switching destination candidate list L7.

[0226] The cloud controller 40c differs in configuration from the cloud controller 40 in that it newly includes an information collection unit 62, a switching determination unit 63, a switching destination candidate list creation unit 64, a switching destination determination unit 65, a switching instruction unit 66, a switching destination candidate narrowing unit 67, a network and cloud information DBL1, a user usage status DBL2, a quality requirement DBL3, a cloud resource list L4, a network route list L5, a service provision information list L6, and a switching destination candidate list L7. The following description will focus on the differences.

[0227] The cloud information collection unit 41 is the same as in the fourth embodiment except that it stores the collected cloud information in the network and cloud information DBL 1. The switching instruction unit 42 is the same as in the fourth embodiment except that it instructs the cloud resource 30 to change the settings in response to an instruction sent from the switching instruction unit 66.

[0228] The information collecting unit 62, the switching determination unit 63, the switching destination candidate list creating unit 64, the switching destination determining unit 65, the switching instruction unit 66, and the switching destination candidate narrowing down unit 67 perform the same processing as in the fourth embodiment. The information shown in the fourth embodiment is registered in the network and cloud information DBL1, the user usage status DBL2, the quality requirement DBL3, the cloud resource list L4, the network route list L5, the service provision information list L6, and the switching destination candidate list L7.

[0229] (Functional Configuration of Network Controller 50) The network controller 50 includes a NW information collection unit 51 and a switching instruction unit 52. The NW information collection unit 51 is the same as in the fourth embodiment except that it notifies the cloud controller 40c of the collected NW information. The switching instruction unit 52 is the same as in the fourth embodiment except that it instructs the communication device 20 to change the settings in response to an instruction sent from the cloud controller 40c.

[0230] The cloud controller 40c in the fifth embodiment performs the operations of the integrated controller 60c shown in FIGS.

[0231] In the communication system 200 of the sixth embodiment configured as above, the same effects as those of the fourth embodiment can be obtained without including the integrated controller 60.

[0232] (Modification 1) The communication system 200 in the sixth embodiment may be modified in the same manner as in the fourth embodiment.

[0233] Seventh Embodiment In the seventh embodiment, a configuration will be described in which an integrated controller narrows down switching destination candidates based on the traffic trends of cloud resources.

[0234] The communication system 200 according to the seventh embodiment includes a plurality of termination devices 10, a plurality of communication devices 20, a plurality of cloud resources 30, a cloud controller 40, a network controller 50, and an integrated controller 60d. The arrangement and connection relationships of the plurality of termination devices 10, the plurality of communication devices 20, and the plurality of cloud resources 30 in the communication system 200 according to the seventh embodiment are similar to those of the communication system 200 according to the fourth embodiment. The communication system 200 according to the seventh embodiment differs in configuration from the communication system 200 according to the fourth embodiment in that it includes an integrated controller 60d instead of the integrated controller 60c. The following description will focus on the differences.

[0235] The integrated controller 60d performs the same processing as the integrated controller 60c in the fourth embodiment. Furthermore, when updating the switching destination candidate list L7, the integrated controller 60d takes into account the congestion history of the cloud resources 30. The congestion history of the cloud resources 30 indicates past time-series data that indicates the traffic trend for each cloud resource 30.

[0236] The integrated controller 60d temporarily narrows down the switching destination candidates using a method similar to that described in the fourth embodiment. Next, the integrated controller 60d excludes candidates including cloud resources 30 that are expected to have a high probability of congestion occurring in the future based on the cloud resources 30 included in the narrowed down switching destination candidates and the congestion history of the cloud resources 30. In this way, the integrated controller 60d updates the switching destination candidate list L7 taking into account the past traffic trends of each cloud resource 30. The integrated controller 60d is one aspect of a controller.

[0237] 22 is a diagram showing an example of the functional configuration of the cloud controller 40, the network controller 50, and the integrated controller 60d in the seventh embodiment. Note that the cloud controller 40 and the network controller 50 are the same as those in the fourth embodiment, so only the functional configuration of the integrated controller 60d will be described.

[0238] (Functional configuration of integrated controller 60d) The integrated controller 60d includes an information collection unit 61, an information collection unit 62, a switching determination unit 63, a switching destination candidate list creation unit 64, a switching destination determination unit 65, a switching instruction unit 66, a switching destination candidate narrowing down unit 67d, a network and cloud information DBL1, a user usage status DBL2, a quality requirement DBL3, a cloud resource list L4, a network route list L5, a service provision information list L6, a switching destination candidate list L7, and a cloud resource congestion history DBL8.

[0239] The network and cloud information DBL1, the user usage status DBL2, the quality requirement DBL3, the cloud resource list L4, the network route list L5, the service provision information list L6, the switching destination candidate list L7, and the cloud resource congestion history DBL8 are stored in a storage unit (not shown). The storage unit is configured using a storage device such as a magnetic storage device or a semiconductor storage device.

[0240] The integrated controller 60d differs in configuration from the integrated controller 60c in that it includes a switching destination candidate narrowing unit 67d instead of the switching destination candidate narrowing unit 67, and in that it newly includes a cloud resource congestion history DBL 8. The following description will focus on the differences from the integrated controller 60c.

[0241] The cloud resource congestion history DBL8 is a database in which congestion history information for each cloud resource 30 is registered. The cloud information registered in the network and cloud information DBL1-1 is registered in chronological order in the cloud resource congestion history DBL8. That is, the processing time, CPU usage rate, and free resource information for each cloud resource 30 are registered in chronological order in the cloud resource congestion history DBL8. This makes it possible to determine in which cloud resource 30 congestion occurred and at what time of day.

[0242] The switching destination candidate narrowing unit 67d temporarily holds the switching destination candidate list L7 for each user created by the switching destination candidate list creation unit 64. The switching destination candidate narrowing unit 67d updates the switching destination candidate list L7 for each user created by the switching destination candidate list creation unit 64 at a predetermined timing based on the network & cloud information DBL1, the user usage status DBL2, the switching destination candidate list L7 for each user created by the switching destination candidate list creation unit 64, and the cloud resource congestion history DBL8.

[0243] Fig. 23 is a flowchart showing the flow of switching destination candidate list update processing in the seventh embodiment. In Fig. 23, the same processes as those in Fig. 16 are denoted by the same reference numerals as in Fig. 16, and the description thereof will be omitted.

[0244] 23 will be described with a specific example. In describing with a specific example, it is assumed that the user using the service is User A, the switching destination candidate list L7 shown in FIG. 15H is the switching destination candidate list L7 for User A, the cloud information collected by the cloud controller 40 is registered in the network & cloud information DBL1-1, and the NW information collected by the network controller 50 is registered in the network & cloud information DBL1-2.

[0245] Assume that the processes from step S301 to step S303 are completed, and three switching destination candidates, Candidates 1, 3, and M, are found to satisfy the requirements of User A. The switching destination candidate narrowing unit 67d excludes candidates that satisfy a condition based on traffic trends based on the cloud resources 30 included in Candidates 1, 3, and M and the cloud resource congestion history DBL 8 (step S501). The condition based on traffic trends may be, for example, that there is a high possibility of congestion occurring in a future time period. Whether there is a high or low possibility of congestion occurring is determined based on a predetermined condition. For example, whether there is a high or low possibility of congestion occurring may be determined based on a comparison result between the processing time and a threshold value, or a comparison result between the CPU usage rate and a threshold value.

[0246] The time when the switching destination candidate narrowing unit 67d performs the processing is defined as t. The switching destination candidate narrowing unit 67d refers to the cloud resource congestion history DB8 and acquires information on the processing time and CPU utilization rate for a time period after time t for each cloud resource 30 included in candidates 1, 3, and M. Note that the time period after time t for which the information on the processing time and CPU utilization rate is acquired is set in advance.

[0247] The switching destination candidate narrowing unit 67d compares the values ​​indicated by the acquired information on the processing time and CPU usage rate for the time period after time t with a threshold value. As an example, let us assume that the processing time of cloud resource 30-1 included in candidate 1 at time t+1 is 30 ms, the processing time of cloud resource 30-3 included in candidate 3 at time t+1 is 5 ms, and the processing time of cloud resource 30-N included in candidate M at time t+1 is 5 ms, and the threshold value is set to 20 ms.

[0248] In this case, the cloud resource 30-1 included in candidate 1 has a higher value than the threshold. Therefore, the switching destination candidate narrowing unit 67d determines that the cloud resource 30-1 is likely to experience congestion in the future time period, and determines that the cloud resources 30-3 and 30-N are unlikely to experience congestion in the future time period. As a result, the switching destination candidate narrowing unit 67d excludes candidate 1, which satisfies the conditions based on the traffic trend, from the switching destination candidates.

[0249] Through the above processing, the switching destination candidate narrowing unit 67d finally registers the two candidates, candidate 3 and candidate M, in the switching destination candidate list L7 for user A, thereby updating the switching destination candidate list L7 for user A (step S304). As a result, the switching destination candidate list L7 for user A shown in FIG. 15H is finally updated as shown in FIG. 24. FIG. 24 is a diagram showing an example of the switching destination candidate list L7 updated by the switching destination candidate narrowing unit 67d in the seventh embodiment. Thereafter, the switching destination candidate narrowing unit 67d stores the updated switching destination candidate list L7 in a storage unit (not shown) (step S305).

[0250] According to the communication system 200 of the seventh embodiment configured as above, it is possible to obtain the same effects as those of the fourth embodiment.

[0251] Furthermore, in the communication system 200 according to the seventh embodiment, the switching destination candidate list L7 can be updated taking into account the traffic trends of each cloud resource 30. In this way, by narrowing down the switching destination candidates based on whether or not congestion will occur in the future by referring to not only the current network status but also past network status, it is possible to narrow down the switching destination candidates to only the most suitable ones that also take into account the post-switching communication environment.

[0252] (Modification 1) The communication system 200 in the seventh embodiment may be modified in the same manner as in the fourth embodiment.

[0253] (Variation 2) In the embodiment described above, the switching destination candidate narrowing unit 67d is configured to narrow down the switching destination candidates based on the user's quality requirements, and then narrow down the switching destination candidates based on the traffic trends of the cloud resources 30. In contrast, the switching destination candidate narrowing unit 67d may be configured to not narrow down the switching destination candidates based on the user's quality requirements, but to only narrow down the switching destination candidates based on the traffic trends of the cloud resources 30. When configured in this way, the switching destination candidate narrowing unit 67d does not perform the processes of steps S302 and S303 in the process of FIG. 23 .

[0254] Eighth Embodiment In an eighth embodiment, a configuration will be described in which a communication system does not include an integrated controller, and a network controller narrows down switchover destination candidates by taking into account the congestion history of cloud resources.

[0255] The communication system 200 according to the eighth embodiment includes a plurality of termination devices 10, a plurality of communication devices 20, a plurality of cloud resources 30, a cloud controller 40, and a network controller 50d. The arrangement and connection relationships of the plurality of termination devices 10, the plurality of communication devices 20, and the plurality of cloud resources 30 in the communication system 200 according to the eighth embodiment are similar to those of the communication system 200 according to the seventh embodiment. The communication system 200 according to the eighth embodiment differs in configuration from the communication system 200 according to the seventh embodiment in that it does not include an integrated controller 60d and that it includes a network controller 50d instead of the network controller 50. The following description will focus on the differences.

[0256] The cloud controller 40 is a control device that configures and monitors the cloud resources 30. The cloud controller 40 collects cloud information and notifies the network controller 50d of the collected cloud information. The cloud controller 40 may transmit the cloud information to the network controller 50d periodically or only when predetermined conditions are met. When the cloud controller 40 receives an instruction from the network controller 50d to change the cloud resources 30, it instructs the cloud resources 30 to change the settings. For example, when an instruction to change the cloud resources 30 to be used by the termination device 10 is received, the cloud controller 40 configures the resources to be allocated to the termination device 10 for the cloud resources 30 to be used by the termination device 10.

[0257] The network controller 50d configures and monitors the communication device 20 and monitors the network. The network controller 50d collects NW information.

[0258] Furthermore, the network controller 50d performs the same processing as the integrated controller 60d. The network controller 50d determines the cloud resources 30 and the network paths for using the cloud resources 30, based on, for example, cloud information obtained from the cloud controller 40, the collected NW information, and the quality requirements requested by the user. The network controller 50d determines, at a predetermined timing, whether the end-to-end service quality satisfies the quality requirements, based on, for example, the cloud information obtained from the cloud controller 40 and the collected NW information.

[0259] When the service quality does not satisfy the quality requirements, the network controller 50d determines another cloud resource 30 that satisfies the user's quality requirements and a network route for using the cloud resource 30. The network controller 50d instructs the cloud controller 40 to switch according to the determined cloud resource 30 and network route. Furthermore, the network controller 50d instructs the communication device 20 that requires route switching to switch the route according to the determined cloud resource 30 and network route.

[0260] Furthermore, the network controller 50d determines whether or not the switching destination candidate list needs to be updated. The network controller 50d determines that the switching destination candidate list needs to be updated if there is a user with M candidates registered in the switching destination candidate list. On the other hand, the network controller 50d determines that the switching destination candidate list does not need to be updated if there is no user with M candidates registered in the switching destination candidate list.

[0261] When the network controller 50d determines that the list of switching destination candidates needs to be updated, the network controller 50d updates the list of switching destination candidates for the user, in which M candidates are registered, at a predetermined timing, regardless of whether switching is required. The network controller 50d is one aspect of a controller.

[0262] As described above, the network controller 50d switches paths and instructs the cloud controller 40 to switch resources, as in the integrated controller 60d of the seventh embodiment, allowing the cloud controller 40 and the network controller 50 to operate in conjunction with each other. As a result, delays can be minimized. Furthermore, the network controller 50d updates a list of switching destination candidates for each user, as in the integrated controller 60d of the seventh embodiment. As a result, the communication system 200 can reduce the time it takes to search for a switching destination. Below, a specific configuration of the communication system 200 for realizing the above operations will be described.

[0263] 25 is a diagram showing an example of the functional configuration of the cloud controller 40 and the network controller 50d in the eighth embodiment. First, the functional configuration of the cloud controller 40 will be described.

[0264] (Functional Configuration of Cloud Controller 40) The cloud controller 40 includes a cloud information collection unit 41 and a switching instruction unit 42. The cloud information collection unit 41 is the same as in the seventh embodiment except that it notifies the network controller 50d of the collected cloud information. The switching instruction unit 42 is the same as in the seventh embodiment except that it instructs the cloud resources 30 to change settings in response to instructions sent from the network controller 50d.

[0265] (Functional Configuration of Network Controller 50d) The network controller 50d includes a NW information collection unit 51, a switching instruction unit 52, an information collection unit 61, a switching determination unit 63, a switching destination candidate list creation unit 64, a switching destination determination unit 65, a switching instruction unit 66, a switching destination candidate narrowing down unit 67d, a network & cloud information DBL1, a user usage status DBL2, a quality requirement DBL3, a cloud resource list L4, a network route list L5, a service provision information list L6, a switching destination candidate list L7, and a cloud resource congestion history DBL8.

[0266] The network controller 50d differs in configuration from the network controller 50c in that it newly includes an information collection unit 61, a switching determination unit 63, a switching destination candidate list creation unit 64, a switching destination determination unit 65, a switching instruction unit 66, a switching destination candidate narrowing down unit 67d, a network and cloud information DBL1, a user usage status DBL2, a quality requirement DBL3, a cloud resource list L4, a network route list L5, a service provision information list L6, a switching destination candidate list L7, and a cloud resource congestion history DBL8. The following description will focus on the differences.

[0267] The NW information collection unit 51 is the same as in the seventh embodiment except that it stores the collected NW information in the network and cloud information DB 1. The switching instruction unit 52 is the same as in the seventh embodiment except that it instructs the communication device 20 to change the setting in response to an instruction transmitted from the switching instruction unit 66.

[0268] The information collecting unit 61, the switching determination unit 63, the switching destination candidate list creating unit 64, the switching destination determining unit 65, the switching instruction unit 66, and the switching destination candidate narrowing down unit 67d perform the same processing as in the seventh embodiment. The information shown in the seventh embodiment is registered in the network and cloud information DBL1, the user usage status DBL2, the quality requirement DBL3, the cloud resource list L4, the network route list L5, the service provision information list L6, the switching destination candidate list L7, and the cloud resource congestion history DBL8.

[0269] In the communication system 200 of the eighth embodiment configured as above, the same effects as those of the seventh embodiment can be obtained without including the integrated controller 60d.

[0270] (Modification 1) The communication system 200 in the eighth embodiment may be modified in the same manner as in the seventh embodiment.

[0271] Ninth Embodiment In a ninth embodiment, a configuration will be described in which a communication system does not include an integrated controller, and a cloud controller narrows down switchover destination candidates by taking into account the congestion history of cloud resources.

[0272] The communication system 200 of the ninth embodiment includes a plurality of termination devices 10, a plurality of communication devices 20, a plurality of cloud resources 30, a cloud controller 40d, and a network controller 50. In the communication system 200 of the ninth embodiment, the arrangement and connection relationships of the plurality of termination devices 10, the plurality of communication devices 20, and the plurality of cloud resources 30 are similar to those of the communication system 200 of the seventh embodiment. The communication system 200 of the ninth embodiment differs in configuration from the communication system 200 of the ninth embodiment in that it does not include an integrated controller 60d and that it includes a cloud controller 40d instead of the cloud controller 40. The following description will focus on the differences.

[0273] The cloud controller 40d is a control device that configures and monitors the cloud resources 30. The cloud controller 40d collects cloud information.

[0274] Furthermore, the cloud controller 40d performs the same processing as the integrated controller 60c. The cloud controller 40d determines the cloud resources 30 and the network paths for using the cloud resources 30, for example, based on NW information obtained from the network controller 50, the collected cloud information, and the quality requirements requested by the user. The cloud controller 40d determines at a predetermined timing whether the end-to-end service quality satisfies the quality requirements, for example, based on the collected cloud information and the NW information obtained by the network controller 50.

[0275] If the service quality does not satisfy the quality requirements, the cloud controller 40d determines another cloud resource 30 that satisfies the user's quality requirements and a network path for using the cloud resource 30. The cloud controller 40d instructs the network controller 50 to switch according to the determined cloud resource 30 and network path. Furthermore, the cloud controller 40d instructs the network controller 50 to switch to change the cloud resource 30 according to the determined cloud resource 30 and network path.

[0276] Furthermore, the cloud controller 40d determines whether or not it is necessary to update the switching destination candidate list. The cloud controller 40d determines that it is necessary to update the switching destination candidate list when there is a user with M candidates registered in the switching destination candidate list. On the other hand, the cloud controller 40d determines that it is not necessary to update the switching destination candidate list when there is no user with M candidates registered in the switching destination candidate list.

[0277] When the cloud controller 40d determines that the switching destination candidate list needs to be updated, the cloud controller 40d updates the switching destination candidate list of the user in which M candidates are registered, at a predetermined timing, regardless of whether switching is required. The cloud controller 40d is one aspect of a controller.

[0278] The network controller 50 configures and monitors the communication devices 20 and monitors the network. The network controller 50 collects NW information and notifies the cloud controller 40d of the collected NW information. The network controller 50 may notify the cloud controller 40d of the NW information periodically or only when a predetermined condition is satisfied. When the network controller 50 receives a path switching instruction from the cloud controller 40d, it instructs the communication devices 20 that require path switching to switch the path.

[0279] As described above, the cloud controller 40d switches the route and instructs the network controller 50 to switch the route, as in the integrated controller 60d in the seventh embodiment, so that the cloud controller 40d and the network controller 50 can operate in conjunction with each other. As a result, delays can be minimized. Furthermore, the cloud controller 40d updates the switching destination candidate list for each user, as in the integrated controller 60d in the seventh embodiment. As a result, the communication system 200 can reduce the time it takes to search for a switching destination. Below, a specific configuration of the communication system 200 for realizing the above operations will be described.

[0280] 26 is a diagram illustrating an example of the functional configuration of the cloud controller 40d and the network controller 50 according to the ninth embodiment. First, the functional configuration of the cloud controller 40d will be described.

[0281] (Functional configuration of cloud controller 40d) The cloud controller 40d includes a cloud information collection unit 41, a switching instruction unit 42, an information collection unit 62, a switching determination unit 63, a switching destination candidate list creation unit 64, a switching destination determination unit 65, a switching instruction unit 66, a switching destination candidate narrowing down unit 67d, a network & cloud information DBL1, a user usage status DBL2, a quality requirement DBL3, a cloud resource list L4, a network route list L5, a service provision information list L6, a switching destination candidate list L7, and a cloud resource congestion history DBL8.

[0282] The cloud controller 40d differs in configuration from the cloud controller 40 in that it newly includes an information collection unit 62, a switching determination unit 63, a switching destination candidate list creation unit 64, a switching destination determination unit 65, a switching instruction unit 66, a switching destination candidate narrowing down unit 67d, a network and cloud information DBL1, a user usage status DBL2, a quality requirement DBL3, a cloud resource list L4, a network route list L5, a service provision information list L6, a switching destination candidate list L7, and a cloud resource congestion history DBL8. The following description will focus on the differences.

[0283] The cloud information collection unit 41 is the same as in the seventh embodiment except that it stores the collected cloud information in the network and cloud information DBL 1. The switching instruction unit 42 is the same as in the seventh embodiment except that it instructs the cloud resource 30 to change the settings in response to an instruction sent from the switching instruction unit 66.

[0284] The information collecting unit 62, the switching determination unit 63, the switching destination candidate list creating unit 64, the switching destination determining unit 65, the switching instruction unit 66, and the switching destination candidate narrowing down unit 67d perform the same processing as in the seventh embodiment. The information shown in the seventh embodiment is registered in the network and cloud information DBL1, the user usage status DBL2, the quality requirement DBL3, the cloud resource list L4, the network route list L5, the service provision information list L6, the switching destination candidate list L7, and the cloud resource congestion history DBL8.

[0285] (Functional Configuration of Network Controller 50) The network controller 50 includes a NW information collection unit 51 and a switching instruction unit 52. The NW information collection unit 51 is the same as in the seventh embodiment except that it notifies the cloud controller 40d of the collected NW information. The switching instruction unit 52 is the same as in the seventh embodiment except that it instructs the communication device 20 to change the settings in response to an instruction sent from the cloud controller 40d.

[0286] In the communication system 200 of the ninth embodiment configured as above, the same effects as those of the seventh embodiment can be obtained without including the integrated controller 60.

[0287] (Modification 1) The communication system 200 in the ninth embodiment may be modified in the same manner as in the seventh embodiment.

[0288] Tenth Embodiment In a tenth embodiment, a configuration will be described in which an integrated controller narrows down switchover destination candidates based on the results of a prediction of congestion of cloud resources.

[0289] The communication system 200 according to the tenth embodiment includes a plurality of termination devices 10, a plurality of communication devices 20, a plurality of cloud resources 30, a cloud controller 40, a network controller 50, and an integrated controller 60e. The arrangement and connection relationships of the plurality of termination devices 10, the plurality of communication devices 20, and the plurality of cloud resources 30 in the communication system 200 according to the tenth embodiment are similar to those of the communication system 200 according to the fourth embodiment. The communication system 200 according to the tenth embodiment differs in configuration from the communication system 200 according to the fourth embodiment in that it includes an integrated controller 60e instead of the integrated controller 60c. The following description will focus on the differences.

[0290] The integrated controller 60e performs the same processing as the integrated controller 60c in the fourth embodiment. Furthermore, when updating the switching destination candidate list L7, the integrated controller 60e takes into account the predicted result of congestion of the cloud resources 30. The predicted result of congestion of the cloud resources 30 indicates time-series data of traffic predicted based on the past traffic of each cloud resource 30.

[0291] The integrated controller 60e temporarily narrows down the switching destination candidates using a method similar to that described in the fourth embodiment. Next, the integrated controller 60e excludes candidates including cloud resources 30 that are expected to have a high probability of congestion occurring in the future based on the cloud resources 30 included in the narrowed down switching destination candidates and the congestion prediction results for the cloud resources 30. In this way, the integrated controller 60e updates the switching destination candidate list L7 taking into account the traffic prediction results for each cloud resource 30. The integrated controller 60e is one aspect of a controller.

[0292] 26 is a diagram showing an example of the functional configuration of the cloud controller 40, the network controller 50, and the integrated controller 60e in the tenth embodiment. Note that the cloud controller 40 and the network controller 50 are the same as those in the fourth embodiment, so only the functional configuration of the integrated controller 60e will be described.

[0293] (Functional configuration of integrated controller 60e) The integrated controller 60e includes an information collection unit 61, an information collection unit 62, a switching determination unit 63, a switching destination candidate list creation unit 64, a switching destination determination unit 65, a switching instruction unit 66, a switching destination candidate narrowing down unit 67e, a network and cloud information DBL1, a user usage status DBL2, a quality requirement DBL3, a cloud resource list L4, a network route list L5, a service provision information list L6, a switching destination candidate list L7, and a cloud resource congestion prediction DBL9.

[0294] The network and cloud information DBL1, the user usage status DBL2, the quality requirement DBL3, the cloud resource list L4, the network route list L5, the service provision information list L6, the switching destination candidate list L7, and the cloud resource congestion prediction DBL9 are stored in a storage unit (not shown). The storage unit is configured using a storage device such as a magnetic storage device or a semiconductor storage device.

[0295] The integrated controller 60e differs in configuration from the integrated controller 60c in that it includes a switching destination candidate narrowing unit 67e instead of the switching destination candidate narrowing unit 67, and in that it newly includes a cloud resource congestion prediction DBL 9. The following description will focus on the differences from the integrated controller 60c.

[0296] The cloud resource congestion prediction DBL9 is a database in which traffic prediction results for each cloud resource 30 are registered. The cloud resource congestion prediction DBL9 chronologically registers traffic information for each cloud resource 30 predicted based on the cloud information registered in the network and cloud information DBL1-1. That is, the cloud resource congestion prediction DBL9 chronologically registers the prediction results of processing time, CPU usage rate, and available resources for each cloud resource 30. This makes it possible to determine which cloud resource 30 is likely to experience congestion during which time period.

[0297] The switching destination candidate narrowing unit 67e temporarily holds the switching destination candidate list L7 for each user created by the switching destination candidate list creation unit 64. The switching destination candidate narrowing unit 67e updates the switching destination candidate list L7 for each user created by the switching destination candidate list creation unit 64 at a predetermined timing based on the network & cloud information DBL1, the user usage status DBL2, the switching destination candidate list L7 for each user created by the switching destination candidate list creation unit 64, and the cloud resource congestion prediction DBL9.

[0298] Fig. 27 is a flowchart showing the flow of switching destination candidate list update processing in the tenth embodiment. In Fig. 27, the same processes as those in Fig. 16 are denoted by the same reference numerals as in Fig. 16, and the description thereof will be omitted.

[0299] 27 will be described with a specific example. In describing with a specific example, it is assumed that the user using the service is User A, the switching destination candidate list L7 shown in FIG. 15H is the switching destination candidate list L7 for User A, the cloud information collected by the cloud controller 40 is registered in the network & cloud information DBL1-1, and the NW information collected by the network controller 50 is registered in the network & cloud information DBL1-2.

[0300] Assume that the processes from step S301 to step S303 are completed, and three switching destination candidates, Candidates 1, 3, and M, are found to satisfy the requirements of User A. The switching destination candidate narrowing unit 67e excludes candidates that satisfy the conditions based on the traffic prediction based on the cloud resources 30 included in Candidates 1, 3, and M and the cloud resource congestion prediction DBL 9 (step S601). The conditions based on the traffic prediction include, for example, a high probability of congestion occurring in a future time period. Whether congestion is likely to occur is determined based on predetermined conditions. For example, whether congestion is likely to occur may be determined based on a comparison result between the processing time and a threshold value, or a comparison result between the CPU usage rate and a threshold value.

[0301] The time when the switching destination candidate narrowing unit 67e performs the processing is defined as t. The switching destination candidate narrowing unit 67e refers to the cloud resource congestion prediction DBL 9 and acquires information on the processing time and CPU utilization rate for a time period ahead of time t for each cloud resource 30 included in candidates 1, 3, and M. Note that the time period ahead of time t for which the information on the processing time and CPU utilization rate is acquired is set in advance.

[0302] The switching destination candidate narrowing unit 67e compares the values ​​indicated by the acquired information on the processing time and CPU utilization rate for the time period after time t with a threshold value. As an example, let us assume that the processing time obtained as a prediction result at time t+1 for cloud resource 30-1 included in candidate 1 is 30 ms, the processing time obtained as a prediction result at time t+1 for cloud resource 30-3 included in candidate 3 is 5 ms, and the processing time obtained as a prediction result at time t+1 for cloud resource 30-N included in candidate M is 5 ms, and the threshold value is set to 20 ms.

[0303] In this case, the cloud resource 30-1 included in candidate 1 has a higher value than the threshold. Therefore, the switching destination candidate narrowing unit 67e determines that the cloud resource 30-1 is likely to experience congestion in the future time period, and determines that the cloud resources 30-3 and 30-N are unlikely to experience congestion in the future time period. As a result, the switching destination candidate narrowing unit 67e excludes candidate 1, which satisfies the conditions based on the traffic forecast, from the switching destination candidates.

[0304] Through the above processing, the switching destination candidate narrowing unit 67e finally registers the two candidates, candidate 3 and candidate M, in the switching destination candidate list L7 for user A, thereby updating the switching destination candidate list L7 for user A (step S304). As a result, the switching destination candidate list L7 for user A shown in Fig. 15H is finally updated to the list shown in Fig. 24. Thereafter, the switching destination candidate narrowing unit 67e stores the updated switching destination candidate list L7 in a storage unit (not shown) (step S305).

[0305] According to the communication system 200 of the tenth embodiment configured as above, it is possible to obtain the same effects as those of the fourth embodiment.

[0306] Furthermore, in the communication system 200 according to the tenth embodiment, the switching destination candidate list L7 can be updated by taking into account the traffic prediction results of each cloud resource 30. In this way, by referring to not only the current network status but also the future network status and narrowing down the switching destination candidates depending on whether congestion will occur in the future time period, it is possible to narrow down the switching destination candidates to only the most optimal ones taking into account the communication environment after switching.

[0307] (Modification 1) The communication system 200 in the tenth embodiment may be modified in the same manner as in the fourth embodiment.

[0308] (Variation 2) In the above-described embodiment, the switching destination candidate narrowing unit 67e is configured to narrow down the switching destination candidates based on the user's quality requirements, and then narrow down the switching destination candidates based on the predicted result of congestion in the cloud resources 30. In contrast, the switching destination candidate narrowing unit 67e may be configured to not narrow down the switching destination candidates based on the user's quality requirements, but to only narrow down the switching destination candidates based on the predicted result of congestion in the cloud resources 30. When configured in this way, the switching destination candidate narrowing unit 67e does not perform the processes of steps S302 and S303 in the process of FIG. 28 .

[0309] Eleventh Embodiment In an eleventh embodiment, a configuration will be described in which a communication system does not include an integrated controller, and a network controller narrows down switchover destination candidates by taking into account the results of congestion prediction of cloud resources.

[0310] A communication system 200 according to the eleventh embodiment includes a plurality of termination devices 10, a plurality of communication devices 20, a plurality of cloud resources 30, a cloud controller 40, and a network controller 50e. The arrangement and connection relationships of the plurality of termination devices 10, the plurality of communication devices 20, and the plurality of cloud resources 30 in the communication system 200 according to the eleventh embodiment are similar to those of the communication system 200 according to the tenth embodiment. The communication system 200 according to the eleventh embodiment differs in configuration from the communication system 200 according to the tenth embodiment in that it does not include an integrated controller 60e and includes a network controller 50e instead of the network controller 50. The following description will focus on the differences.

[0311] The cloud controller 40 is a control device that configures and monitors the cloud resources 30. The cloud controller 40 collects cloud information and notifies the network controller 50e of the collected cloud information. The cloud controller 40 may transmit the cloud information to the network controller 50e periodically or only when predetermined conditions are met. When the cloud controller 40 receives an instruction from the network controller 50e to change the cloud resources 30, it instructs the cloud resources 30 to change the settings. For example, when an instruction to change the cloud resources 30 to be used by the termination device 10 is received, the cloud controller 40 configures the resources to be allocated to the termination device 10 for the cloud resources 30 to be used by the termination device 10.

[0312] The network controller 50e configures and monitors the communication device 20 and monitors the network. The network controller 50e collects NW information.

[0313] Furthermore, the network controller 50e performs the same processing as the integrated controller 60e. The network controller 50e determines the cloud resources 30 and the network paths for using the cloud resources 30, based on, for example, cloud information obtained from the cloud controller 40, the collected NW information, and the quality requirements requested by the user. The network controller 50e determines, at a predetermined timing, whether the end-to-end service quality satisfies the quality requirements, based on, for example, the cloud information obtained from the cloud controller 40 and the collected NW information.

[0314] When the service quality does not satisfy the quality requirements, the network controller 50e determines another cloud resource 30 that satisfies the user's quality requirements and a network route for using the cloud resource 30. The network controller 50e instructs the cloud controller 40 to switch according to the determined cloud resource 30 and network route. Furthermore, the network controller 50e instructs the communication device 20 that requires route switching to switch the route according to the determined cloud resource 30 and network route.

[0315] Furthermore, the network controller 50e determines whether or not the switching destination candidate list needs to be updated. The network controller 50e determines that the switching destination candidate list needs to be updated when there is a user with M candidates registered in the switching destination candidate list. On the other hand, the network controller 50e determines that the switching destination candidate list does not need to be updated when there is no user with M candidates registered in the switching destination candidate list.

[0316] When the network controller 50e determines that the list of switching destination candidates needs to be updated, the network controller 50e updates the list of switching destination candidates for the user, in which M candidates are registered, at a predetermined timing, regardless of whether switching is required. The network controller 50e is one aspect of the controller.

[0317] As described above, the network controller 50e switches paths and instructs the cloud controller 40 to switch resources, as in the integrated controller 60e of the tenth embodiment, so that the cloud controller 40 and the network controller 50e can operate in conjunction with each other. As a result, delays can be minimized. Furthermore, the network controller 50e updates a list of switching destination candidates for each user, as in the integrated controller 60e of the tenth embodiment. As a result, the communication system 200 can reduce the time it takes to search for a switching destination. Below, a specific configuration of the communication system 200 for realizing the above operations will be described.

[0318] 29 is a diagram showing an example of the functional configuration of the cloud controller 40 and the network controller 50e in the eleventh embodiment. First, the functional configuration of the cloud controller 40 will be described.

[0319] (Functional Configuration of Cloud Controller 40) The cloud controller 40 includes a cloud information collection unit 41 and a switching instruction unit 42. The cloud information collection unit 41 is the same as in the tenth embodiment except that it notifies the network controller 50e of the collected cloud information. The switching instruction unit 42 is the same as in the tenth embodiment except that it instructs the cloud resources 30 to change settings in response to instructions sent from the network controller 50e.

[0320] (Functional Configuration of Network Controller 50e) The network controller 50e includes a NW information collection unit 51, a switching instruction unit 52, an information collection unit 61, a switching determination unit 63, a switching destination candidate list creation unit 64, a switching destination determination unit 65, a switching instruction unit 66, a switching destination candidate narrowing down unit 67e, a network & cloud information DBL1, a user usage status DBL2, a quality requirement DBL3, a cloud resource list L4, a network route list L5, a service provision information list L6, a switching destination candidate list L7, and a cloud resource congestion prediction DBL9.

[0321] The network controller 50e differs in configuration from the network controller 50 in that it newly includes an information collection unit 61, a switching determination unit 63, a switching destination candidate list creation unit 64, a switching destination determination unit 65, a switching instruction unit 66, a switching destination candidate narrowing down unit 67e, a network and cloud information DBL1, a user usage status DBL2, a quality requirement DBL3, a cloud resource list L4, a network route list L5, a service provision information list L6, a switching destination candidate list L7, and a cloud resource congestion prediction DBL9. The following description will focus on the differences.

[0322] The NW information collection unit 51 is the same as in the tenth embodiment except that it stores the collected NW information in the network and cloud information DBL 1. The switching instruction unit 52 is the same as in the tenth embodiment except that it instructs the communication device 20 to change the setting in response to an instruction transmitted from the switching instruction unit 66.

[0323] The information collecting unit 61, the switching determination unit 63, the switching destination candidate list creating unit 64, the switching destination determining unit 65, the switching instruction unit 66, and the switching destination candidate narrowing down unit 67e perform the same processing as in the tenth embodiment. The information shown in the tenth embodiment is registered in the network and cloud information DBL1, the user usage status DBL2, the quality requirement DBL3, the cloud resource list L4, the network route list L5, the service provision information list L6, the switching destination candidate list L7, and the cloud resource congestion prediction DBL9.

[0324] The communication system 200 of the eleventh embodiment configured as described above can achieve the same effects as those of the tenth embodiment without including the integrated controller 60e.

[0325] (Modification 1) The communication system 100 in the eleventh embodiment may be modified in the same manner as the tenth embodiment.

[0326] Twelfth Embodiment In a twelfth embodiment, a configuration will be described in which a communication system does not include an integrated controller, and a cloud controller narrows down switchover destination candidates by taking into account the results of congestion prediction of cloud resources.

[0327] A communication system 200 in the twelfth embodiment includes a plurality of termination devices 10, a plurality of communication devices 20, a plurality of cloud resources 30, a cloud controller 40e, and a network controller 50. In the communication system 200 in the twelfth embodiment, the arrangement and connection relationships of the plurality of termination devices 10, the plurality of communication devices 20, and the plurality of cloud resources 30 are similar to those of the communication system 200 in the tenth embodiment. The communication system 200 in the twelfth embodiment differs in configuration from the communication system 200 in the tenth embodiment in that it does not include an integrated controller 60e and that it includes a cloud controller 40e instead of a cloud controller 40. The following description will focus on the differences.

[0328] The cloud controller 40e is a control device that configures and monitors the cloud resources 30. The cloud controller 40e collects cloud information.

[0329] Furthermore, the cloud controller 40e performs the same processing as the integrated controller 60e. The cloud controller 40e determines the cloud resources 30 and the network paths for using the cloud resources 30, for example, based on NW information obtained from the network controller 50, the collected cloud information, and the quality requirements requested by the user. The cloud controller 40e determines at a predetermined timing whether the end-to-end service quality satisfies the quality requirements, for example, based on the collected cloud information and the NW information obtained by the network controller 50.

[0330] If the service quality does not satisfy the quality requirements, the cloud controller 40e determines another cloud resource 30 that satisfies the user's quality requirements and a network route for using the cloud resource 30. The cloud controller 40e instructs the network controller 50 to switch according to the determined cloud resource 30 and network route. Furthermore, the cloud controller 40e instructs the network controller 50 to switch to change the cloud resource 30 according to the determined cloud resource 30 and network route.

[0331] Furthermore, the cloud controller 40e determines whether or not it is necessary to update the switching destination candidate list. The cloud controller 40e determines that it is necessary to update the switching destination candidate list when there is a user with M candidates registered in the switching destination candidate list. On the other hand, the cloud controller 40e determines that it is not necessary to update the switching destination candidate list when there is no user with M candidates registered in the switching destination candidate list.

[0332] When the cloud controller 40e determines that the switching destination candidate list needs to be updated, the cloud controller 40e updates the switching destination candidate list of the user in which M candidates are registered, at a predetermined timing, regardless of whether switching is required. The cloud controller 40e is one aspect of a controller.

[0333] The network controller 50 configures and monitors the communication devices 20 and monitors the network. The network controller 50 collects NW information and notifies the cloud controller 40e of the collected NW information. The network controller 50 may notify the cloud controller 40e of the NW information periodically or only when a predetermined condition is satisfied. When the network controller 50 receives a path switching instruction from the cloud controller 40e, it instructs the communication devices 20 that require path switching to switch the path.

[0334] As described above, the cloud controller 40e switches the route and instructs the network controller 50 to switch the route, as in the integrated controller 60e in the tenth embodiment, so that the cloud controller 40e and the network controller 50 can operate in conjunction with each other. As a result, delays can be minimized. Furthermore, the cloud controller 40e updates the switching destination candidate list for each user, as in the integrated controller 60e in the tenth embodiment. As a result, the communication system 200 can reduce the time it takes to search for a switching destination. Below, a specific configuration of the communication system 200 for realizing the above operations will be described.

[0335] 30 is a diagram showing an example of the functional configuration of the cloud controller 40e and the network controller 50 according to the twelfth embodiment. First, the functional configuration of the cloud controller 40e will be described.

[0336] (Functional configuration of cloud controller 40e) The cloud controller 40e includes a cloud information collection unit 41, a switching instruction unit 42, an information collection unit 62, a switching determination unit 63, a switching destination candidate list creation unit 64, a switching destination determination unit 65, a switching instruction unit 66, a switching destination candidate narrowing down unit 67e, a network & cloud information DBL1, a user usage status DBL2, a quality requirement DBL3, a cloud resource list L4, a network route list L5, a service provision information list L6, a switching destination candidate list L7, and a cloud resource congestion prediction DBL9.

[0337] The cloud controller 40e differs in configuration from the cloud controller 40 in that it newly includes an information collection unit 62, a switching determination unit 63, a switching destination candidate list creation unit 64, a switching destination determination unit 65, a switching instruction unit 66, a switching destination candidate narrowing down unit 67e, a network and cloud information DBL1, a user usage status DBL2, a quality requirement DBL3, a cloud resource list L4, a network route list L5, a service provision information list L6, a switching destination candidate list L7, and a cloud resource congestion prediction DBL9. The following description will focus on the differences.

[0338] The cloud information collection unit 41 is the same as in the tenth embodiment except that it stores the collected cloud information in the network and cloud information DB 1. The switching instruction unit 42 is the same as in the tenth embodiment except that it instructs the cloud resource 30 to change the settings in response to an instruction sent from the switching instruction unit 66.

[0339] The information collecting unit 62, the switching determination unit 63, the switching destination candidate list creating unit 64, the switching destination determining unit 65, the switching instruction unit 66, and the switching destination candidate narrowing down unit 67e perform the same processing as in the tenth embodiment. The information shown in the tenth embodiment is registered in the network and cloud information DBL1, the user usage status DBL2, the quality requirement DBL3, the cloud resource list L4, the network route list L5, the service provision information list L6, the switching destination candidate list L7, and the cloud resource congestion prediction DBL9.

[0340] (Functional Configuration of Network Controller 50) The network controller 50 includes a NW information collection unit 51 and a switching instruction unit 52. The NW information collection unit 51 is the same as in the tenth embodiment except that it notifies the cloud controller 40e of collected NW information. The switching instruction unit 52 is the same as in the tenth embodiment except that it instructs the communication device 20 to change settings in response to an instruction transmitted from the cloud controller 40e.

[0341] In the communication system 200 of the twelfth embodiment configured as described above, the same effects as those of the tenth embodiment can be obtained without including the integrated controller 60.

[0342] (Modification 1) The communication system 200 in the twelfth embodiment may be modified in the same manner as in the tenth embodiment.

[0343] (Variation 1 common to all embodiments) In the above-described embodiments, an example is shown in which the cloud controllers 40, 40b, 40c, 40d, and 40e, the network controllers 50, 50a, 50c, 50d, and 50e, and the integrated controllers 60, 60c, 60d, and 60e are configured as different devices, but the cloud controllers 40, 40b, 40c, 40d, and 40e, the network controllers 50, 50a, 50c, 50d, and 50e, and the integrated controllers 60, 60c, 60d, and 60e may be implemented in the same device using virtualization technology. When configured in this manner, in the first embodiment, the cloud controller 40, the network controller 50, and the integrated controller 60 are implemented in the same device.

[0344] (Modification 2 common to all embodiments) The network topology of the communication systems 100 and 200 is not limited to the topologies shown in Fig. 1 and Fig. 13. For example, a mesh topology may be used. Furthermore, multiple cloud resources 30 may be installed per route.

[0345] (Modification Common to the Fourth to Twelfth Embodiments) In the fourth to twelfth embodiments, in a network topology having a large number of signal paths, such as a mesh topology, the switching destination candidate narrowing units 67, 67d, and 67e may be configured to narrow down the number of switching destination candidates by excluding from the switching destination candidate list L7 any switching destination candidates that use i or more lines (i is an integer greater than or equal to 2). It is expected that the greater the number of lines used, the greater the delay. Therefore, switching destination candidates that use i or more lines are likely to not satisfy the user's quality requirements. Therefore, by having the switching destination candidate narrowing units 67, 67d, and 67e exclude switching destination candidates that use i or more lines, the time required for the switching destination determination unit 65 to search for a switching destination can be reduced.

[0346] Some of the functional units of the cloud controllers 40, 40b, 40c, 40d, and 40e, the network controllers 50, 50a, 50c, 50d, and 50e, and the integrated controllers 60, 60c, 60d, and 60e in the above-described embodiments may be implemented by a computer. In this case, a program for implementing this function may be recorded on a computer-readable recording medium, and the program recorded on the recording medium may be read into and executed by a computer system. Note that the term "computer system" as used herein includes hardware such as an OS and peripheral devices.

[0347] Furthermore, "computer-readable recording media" refers to portable media such as flexible disks, optical magnetic disks, ROMs (Read Only Memory), and CD-ROMs, as well as storage devices such as hard disks built into computer systems. Furthermore, "computer-readable recording media" may also include devices that dynamically store programs for a short period of time, such as communication lines used when transmitting programs over networks like the Internet or communication lines like telephone lines, or devices that store programs for a fixed period of time, such as volatile memory within the computer systems that serve as servers or clients. Furthermore, the programs may be designed to implement some of the aforementioned functions, or may be capable of implementing the aforementioned functions in combination with programs already stored in the computer system, or may be implemented using programmable logic devices such as FPGAs (Field-Programmable Gate Arrays).

[0348] Although an embodiment of the present invention has been described above in detail with reference to the drawings, the specific configuration is not limited to this embodiment, and includes designs within the scope of the gist of the present invention.

[0349] The present invention can be applied to a communication system that uses cloud resources via a network.

[0350] DESCRIPTION OF SYMBOLS 10...Termination device, 20...Communication device, 30...Cloud resource, 40, 40b, 40c, 40d, 40e...Cloud controller, 50, 50a, 50c, 50d, 50e...Network controller, 60, 60c, 60d, 60e...Integrated controller, 41...Cloud information collection unit, 42, 52, 66...Switching instruction unit, 51...NW information collection unit, 61, 62...Information collection unit, 63...Switching determination unit, 64...Switching destination candidate list creation unit, 65...Switching destination determination unit, 66...Switching instruction unit, 67, 67d, 67e...Switching destination candidate narrowing unit, 100, 200...Communication system

Claims

1. A controller comprising: a first information collection unit that collects cloud information regarding a plurality of cloud resources from each of the plurality of cloud resources directly or via another device; a second information collection unit that collects network information regarding a plurality of communication devices provided on a path for using any of the plurality of cloud resources and a network formed by the plurality of communication devices from each of the plurality of communication devices directly or via another device; and a switching instruction unit that instructs a cloud controller that controls the plurality of cloud resources and a network controller that controls the network to switch to a cloud resource and a route that satisfy the quality requirements when service quality does not satisfy the quality requirements requested by a user based on the cloud information collected by the first information collection unit and the network information collected by the second information collection unit.

2. The controller of claim 1, further comprising a switching destination determination unit that refers to a switching destination candidate list in which one or more combinations of cloud resources and routes that are candidate switching destinations for each user are registered, and determines a switching destination that satisfies the quality requirements, wherein the switching instruction unit instructs the cloud controller and the network controller to switch to the switching destination determined by the switching destination determination unit.

3. The controller of claim 2, further comprising a switching determination unit that acquires the quality of the cloud resources and routes used by the user based on the cloud information collected by the first information collection unit and the network information collected by the second information collection unit, and determines that switching is necessary if the acquired quality does not satisfy the quality requirements, wherein the switching destination determination unit determines a switching destination that satisfies the quality requirements when the switching determination unit determines that switching is necessary.

4. The controller of claim 3, wherein the cloud information includes at least the processing time of each cloud resource, and the utilization rate or available resources of the calculation processing unit of each cloud resource; the network information includes at least the transfer delay or bandwidth utilization rate of each route; the quality requirements include an end-to-end total delay upper limit, and an upper utilization rate or bandwidth utilization rate upper limit of the calculation processing unit; and the switching determination unit calculates an added value of the processing time of each cloud resource and the transfer delay of each route for a combination of cloud resources and routes used by the user, and determines whether switching is necessary by at least one of comparing the calculated added value with the total delay upper limit, comparing the utilization rate of the calculation processing unit with the utilization rate upper limit of the calculation processing unit, or comparing the bandwidth utilization rate with the bandwidth utilization rate upper limit.

5. A controller as described in any one of claims 2 to 4, further comprising a switching destination candidate list creation unit that creates the switching destination candidate list, wherein the switching destination candidate list creation unit creates the switching destination candidate list based on information indicating the bases where each of the multiple cloud resources is located, information indicating the routes connecting each of the bases, and the start point, end point and required amount of resources of a service requested by a user using the service.

6. A controller as described in any one of claims 2 to 4, wherein, when determining a switching destination that satisfies the quality requirements, the switching destination determination unit excludes from the candidates registered in the switching destination candidate list candidates that do not satisfy conditions based on any of the delay upper limit registered by the user, the utilization rate upper limit of the computing unit of each cloud resource, or the necessary resources required by the user to use the service.

7. The controller according to any one of claims 2 to 4, further comprising a switchover candidate narrowing down unit that updates the switchover candidate list based on any one of a combination of the collected cloud information and the network information, a traffic trend of the multiple cloud resources based on the past cloud information, or a predicted result of congestion of the multiple cloud resources based on the cloud information.

8. A switching method comprising: collecting cloud information relating to a plurality of cloud resources directly from each of the plurality of cloud resources or via another device; collecting network information relating to a plurality of communication devices provided on a path for using any of the plurality of cloud resources and a network formed by the plurality of communication devices directly from each of the plurality of communication devices or via another device; and instructing a cloud controller that controls the plurality of cloud resources and a network controller that controls the network to switch to a cloud resource and a path that satisfy the quality requirements when the service quality does not satisfy the quality requirements requested by a user based on the collected cloud information and the collected network information.

Citation Information

Patent Citations

  • SDN (Software Defined Network)-based cloud network convergence QoS (Quality of Service) service guarantee system and method

    CN114189458A

  • Integrated controller and integrated control method

    JP2013179456A

  • Integrated control system and method for controlling network and data center

    JP2016171411A

  • Computer system

    JP2017045301A

  • Computing service management device, method, and program

    JP2021197570A