Controller and switching method
The controller system addresses the challenge of optimizing cloud and network configurations by collecting and coordinating information to ensure service quality meets user requirements, enabling efficient resource allocation and minimizing delays in communication systems.
Patent Information
- Application Number
- PCT/JP2023/021784
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-06-12
- Publication Date
- 2024-12-19
AI Technical Summary
Conventional communication systems face challenges in optimizing cloud resource and network configurations independently, leading to increased delays and difficulties in maintaining service quality when failures occur or usage status changes, as controllers are not linked to coordinate optimal resource allocation.
A controller system that collects cloud and network information from multiple resources and devices to determine optimal resource and route switches, ensuring service quality meets user requirements by coordinating cloud and network controllers for simultaneous switching.
The system effectively switches to optimal resources and routes that meet user-defined quality requirements, minimizing delays and ensuring continuous service by integrating cloud and network control for coordinated resource allocation.
Smart Images

Figure JP2023021784_19122024_PF_FP_ABST
Abstract
Description
Controller and switching method
[0001] The present invention relates to a controller and a switching method.
[0002] FIG. 13 is a diagram showing an example 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. 13, 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. 10 is a diagram illustrating an example of the functional configuration of a cloud controller and a network controller according to a third embodiment.FIG. 11 is a diagram illustrating an example of the configuration of a conventional communication system 1.FIG.
[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] (Modification 1 common to all embodiments) In the above-described embodiments, an example is shown in which the cloud controller 40, the network controller 50, and the integrated controller 60 are configured as different devices, but the cloud controller 40, the network controller 50, and the integrated controller 60 may be implemented in the same device using virtualization technology. When configured in this way, in the first embodiment, the cloud controller 40, the network controller 50, and the integrated controller 60 are implemented in the same device.
[0139] Some of the functional units of the cloud controllers 40, 40b, the network controllers 50, 50a, and the integrated controller 60 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 this recording medium may be read into a computer system and executed. Note that the term "computer system" here includes hardware such as an OS and peripheral devices.
[0140] 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).
[0141] 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.
[0142] The present invention can be applied to a communication system that uses cloud resources via a network.
[0143] REFERENCE SIGNS LIST 10... Termination device, 20... Communication device, 30... Cloud resource, 40, 40b... Cloud controller, 50, 50a... Network controller, 60... 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, 100... 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. 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
Computer system
JP2017045301A
Computing service management device, method, and program
JP2021197570A
