WO2024004178A1 - 複数のクラウドにより形成されるクラウドグループ内でのリソース共有 - Google Patents
複数のクラウドにより形成されるクラウドグループ内でのリソース共有 Download PDFInfo
- Publication number
- WO2024004178A1 WO2024004178A1 PCT/JP2022/026395 JP2022026395W WO2024004178A1 WO 2024004178 A1 WO2024004178 A1 WO 2024004178A1 JP 2022026395 W JP2022026395 W JP 2022026395W WO 2024004178 A1 WO2024004178 A1 WO 2024004178A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- cloud
- application
- cnfs
- control device
- primary
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0895—Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/40—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
Definitions
- the present disclosure relates to resource sharing within a cloud group formed by multiple clouds.
- Edge computing which is a distributed architecture, has been attracting attention in recent years.
- Edge computing is a distributed computing system that performs at least some of its processing in an edge cloud built on edge servers installed near user terminals (UEs), instead of a central cloud built on a central data center. It is ing.
- UEs user terminals
- the processing for providing services to user terminals, which was concentrated in the center cloud is distributed to the edge cloud, thereby distributing the processing load.
- the computing resources allocated to the edge cloud may not be sufficient, and it may be difficult to stably provide services to user terminals.
- a control device includes one or more processors.
- the one or more processors may have resources for deploying all CNFs (Containerized Network Functions) for building the new application. It is determined whether or not there is resource pressure, which corresponds to whether or not the primary cloud is present.
- the one or more processors select at least one application from the existing applications and the new application located in the primary cloud based on application priorities when the resources are tight. Further, the one or more processors select at least some CNFs from CNFs (Containerized Network Functions) that construct the selected at least one application. Further, the one or more processors deploy the at least some of the selected CNFs to a secondary cloud within the cloud group.
- a control method deploys all CNFs (Containerized Network Functions) that construct the new application when requesting the creation of a new application to a primary cloud in a cloud group formed by a plurality of clouds.
- the method includes determining, using a processor, whether or not there is a resource shortage corresponding to whether or not there are resources for the primary cloud in the primary cloud.
- the control method also includes controlling at least one application from among the existing applications and the new application placed in the primary cloud using a processor based on application priorities when the resources are tight. including selecting and choosing.
- the control method includes selecting, using a processor, at least some CNFs (Containerized Network Functions) that construct the selected at least one application.
- the control method includes deploying at least some of the selected CNFs to a secondary cloud in the cloud group using a processor.
- a non-transitory computer-readable medium records a program.
- the program When the program is read by a computer, one or more processors of the computer execute a request to create a new application to a primary cloud in a cloud group formed by a plurality of clouds. It is determined whether there is a resource shortage corresponding to whether or not there are resources for deploying a Containerized Network Function in the primary cloud. Furthermore, when the resources are tight, the one or more processors select at least one application from the existing application and the new application located in the primary cloud based on the priority order of the applications. . Further, the one or more processors select at least some CNFs from CNFs (Containerized Network Functions) that construct the selected at least one application. Further, the one or more processors deploy the at least some of the selected CNFs to a secondary cloud within the cloud group.
- CNFs Containerized Network Functions
- FIG. 1 is a conceptual diagram showing a cloud group to which a control device according to the present disclosure is applied.
- FIG. 2 is a diagram showing the relationship between services and applications in a microservice architecture.
- FIG. 3 is a functional block diagram illustrating a configuration example of a control device according to the present disclosure.
- FIG. 4 is a flowchart illustrating an example of the operation of the control device according to the present disclosure.
- FIG. 5 is a diagram illustrating an example of a processing sequence in the control device according to the present disclosure.
- FIG. 6 is a functional block diagram illustrating a configuration example of a control device according to the present disclosure.
- FIG. 7 is a flowchart illustrating an example of the operation of the control device according to the present disclosure.
- FIG. 1 is a conceptual diagram showing a cloud group to which a control device according to the present disclosure is applied.
- FIG. 2 is a diagram showing the relationship between services and applications in a microservice architecture.
- FIG. 3 is a functional block diagram
- FIG. 8 is a diagram illustrating an example of a processing sequence in the control device according to the present disclosure.
- FIG. 9A is a diagram for explaining an application example of the control device according to the present disclosure.
- FIG. 9B is a diagram for explaining an application example of the control device according to the present disclosure.
- FIG. 10 is a block diagram showing a configuration example of the control device shown in FIGS. 3 and 6. As shown in FIG.
- a control device controls resource sharing within a cloud group formed by a plurality of clouds.
- the controller may be an orchestrator.
- FIG. 1 is a conceptual diagram showing a cloud group to which a control device 100 according to the present embodiment is applied.
- the cloud group includes a plurality of (L pieces, L is an integer) edge clouds.
- Applications for providing various services to user terminals (not shown) within a coverage area formed by one or more Radio Units (RUs) may be deployed in each edge cloud.
- the user terminal is an ICT (Information and Communication Technology) device that can execute an application for receiving services and can communicate. Examples of user terminals include portable PCs (Personal Computers) such as smartphones and tablet terminals.
- the user terminal may be a non-portable device such as a desktop PC.
- a cloud group is formed from multiple edge clouds.
- a cloud group is formed, for example, by edge clouds built on edge servers that are geographically close to each other.
- a cloud group does not necessarily have to be formed only by edge clouds that are geographically close to each other.
- a cloud group may be formed by edge clouds built on edge servers installed in logically close locations.
- the cloud group may include a center cloud built on the central data center.
- the cloud group may include a cloud built on a regional data center.
- the edge cloud, center cloud, etc. included in a cloud group will be simply referred to as "cloud”.
- the control device 100 may be installed in a data center where these clouds are constructed, or may be installed in a data center outside the cloud group.
- the application is an application for providing a service to a user terminal.
- services provided to user terminals are constructed using a microservice architecture.
- FIG. 2 is a diagram showing the relationship between services and applications (hereinafter also referred to as "APP") in a microservice architecture.
- a service is constructed from one or more applications.
- the number of applications that construct one service varies depending on the service.
- Each application is built from one or more Containerized Network Functions (CNFs).
- CNF operates on "Kubernetes" (registered trademark), for example.
- Kubernetes is open source software (OSS) that automatically configures and manages containerized services.
- the number of CNFs to build one application may vary depending on the application and design.
- CNF running on Kubernetes is constructed from one or more Pods. A Pod is the smallest unit of application that can run on Kubernetes.
- Pods are operationally managed by Kubernetes.
- Pods that operate on CNF have a self-repair function; for example, when a certain Pod stops operating, another Pod is activated and the CNF function self-repairs.
- Each Pod is constructed from one or more containers.
- microservice architecture is also being considered in 5G (fifth generation mobile communication system).
- 5G radio access network
- CN core network
- the service is RAN
- the Central Unit (CU) and Distributed Unit (DU) correspond to the application.
- a Service Network Function (SNF) that constructs the CN, such as an AMF (Access and Mobility Management Function) or a UPF (User Plane Function), corresponds to the application.
- AMF Access and Mobility Management Function
- UPF User Plane Function
- the CNF indicated by CNF#1 can be set as a CU-CP (Control Plane), and the CNF indicated by CNF#2 can be set as a CU-UP (User Plane).
- CU-CP includes radio resource control (RRC).
- CU-UP includes SDAP (Service Data Adaptation Protocol) and PDCP (Packet Data Convergence Protocol) related to the user plane.
- the CU-CP and CU-UP are capable of functionally linked communication via the E1 interface. Both CU-CP and CU-UP can be connected to DU with F1 interface.
- examples of services other than the above-mentioned RAN and CN include a web distribution service, a game provision service, a video distribution service, a music distribution service, a monitoring service, a navigation service, an automatic driving service, an email provision service, and a sensor service.
- examples of applications that provide these services include a web distribution application, a game provision application, a video distribution application, a music distribution application, a monitoring execution application, a navigation application, an automatic driving application, a mail provision application, and a sensor execution application.
- FIG. 3 is a functional block diagram showing a configuration example of the control device 100 according to the present disclosure.
- the control device 100 includes a resource monitoring section 110, a resource determination section 120, an application selection section 130, a secondary cloud determination section 140, a CNF selection section 150, and a deployment section 160.
- the resource monitoring unit 110 monitors resource usage of clouds within a cloud group. Monitoring may be performed periodically, or may be performed at the timing when a request to create a new application, which will be described later, is notified to one of the clouds.
- applications already deployed in the cloud and new applications are built using microservice architecture. That is, these applications are constructed from one or more CNFs.
- the resource usage status includes, for example, information on the total number of CNFs that can be placed (deployed) in the cloud and the total number of CNFs of all applications actually deployed on the cloud.
- the total number of CNFs that can be placed in the cloud may be determined by the cloud's computing resources.
- the total number of CNFs of all applications actually placed in the cloud is the total number of CNFs already placed in the cloud.
- the resource determination unit 120 determines whether the cloud has the resources to deploy all the CNFs that construct the new application when requesting the creation of a new application to the cloud in the cloud group. In other words, the resource determination unit 120 determines whether or not the resources of the cloud that has received the request to create a new application are tight.
- the cloud that received the request to create a new application will be referred to as the "primary cloud.” A method for determining whether or not resources are tight in the resource determination unit 120 will be described later.
- the resource determination unit 120 receives, for example, directly from the primary cloud that the primary cloud has been requested to create a new application.
- the resource determination unit 120 may receive a request to create a new application in the primary cloud from a management device that manages registration of new applications.
- the new application creation request includes information about the new application (hereinafter also referred to as "application information").
- the application information includes information on the total number of CNFs for constructing new applications.
- the resource determination unit 120 can determine whether the primary cloud has resources for deploying all CNFs for building a new application, using the following information (1) and (2). can.
- f max is the maximum number of CNFs that can be placed in the primary cloud. In other words, f max is the sum of the number of CNFs already placed in the primary cloud and the number of CNFs that can be further placed in the primary cloud. The maximum number of CNFs that can be placed in the primary cloud may be determined by the primary cloud's computing resources. Furthermore, f sum is the sum of the number of CNFs that have already been placed in the primary cloud plus the number of CNFs that will construct a new application that has been requested to be placed in the primary cloud. In other words, the total number of CNFs f sum is the total number of CNFs scheduled to be placed in the primary cloud when all CNFs for building a new application are placed (deployed) in the primary cloud.
- the resource determination unit 120 determines whether the primary cloud has resources for deploying all CNFs that construct a new application, based on the resource usage ratio R defined by the ratio f sum /f max . judge.
- the resource determination unit 120 determines that the primary cloud has resources for deploying all the CNFs that construct the new application.
- the resource determination unit 120 determines that the primary cloud does not have the resources to deploy all the CNFs that construct the new application. If the resource usage ratio R>1, the resource determination unit 120 notifies the application selection unit 130 of a request to select an application to be deployed in a cloud different from the primary cloud (hereinafter referred to as “secondary cloud”). In the following description, the application that will be placed in the secondary cloud will also be referred to as a "target application.”
- the resource determining unit 120 may make a hypothetical determination that the resources are in short supply only in a preset situation. As a result, it is possible to deploy a part of the CNF to the secondary cloud in advance before a resource shortage occurs, thereby delaying the timing at which the primary cloud's resources become scarce. For example, the resource determination unit 120 hypothetically determines that resources are tight in a situation where it is expected that new application creation requests will continue. The situations in which it is determined that resources are tight are not limited to this.
- the resource determination unit 120 determines whether or not the resources of the primary cloud are tight, and if the resources are tight, the resource determination unit 120 requests the application selection unit 130 to select an application to be deployed to the secondary cloud. Notice. Note that the method used by the resource determination unit 120 to determine whether or not resources are tight is not particularly limited.
- the application selection unit 130 When the application selection unit 130 receives a request to select an application (target application) to be deployed to the secondary cloud from the resource determination unit 120, the application selection unit 130 selects the target application based on the priority order of the application. Specifically, the application selection unit 130 selects a target application from among existing applications placed in the primary cloud and new applications for which creation has been requested, based on the priority order of the applications.
- the application selection unit 130 can acquire information about existing applications placed in the primary cloud and new applications for which creation has been requested from, for example, a management device that manages application registration. Alternatively, the control device 100 may hold information on existing applications placed in each cloud in the cloud group in a storage, and the application selection unit 130 may refer to this storage.
- Application priorities may be set in advance.
- the applications include a web distribution application, a game provision application, a video distribution application, a music distribution application, a monitoring execution application, a navigation application, an automatic driving application, a mail provision application, and a sensor execution application.
- QoS quality of service
- Examples of QoS include high speed best effort, high speed guaranteed bandwidth, low speed best effort, and low speed guaranteed bandwidth.
- QoS quality of service
- the priority order of the automatic driving application may be set higher than that of the mail providing application.
- the application selection unit 130 may select target applications in the order of the earliest deployment timing to the primary cloud. In this case, the target application is selected simply by checking the deployment timing, so the time required to select the target application can be kept short.
- the application selection unit 130 After determining the target application, the application selection unit 130 notifies the secondary cloud determination unit 140 of information on the total number of CNFs (f total ) for constructing the target application.
- the secondary cloud determining unit 140 determines a secondary cloud within the cloud group in which at least a portion of the CNF for constructing the target application will be placed. An example of determining the secondary cloud will be described later. Furthermore, the secondary cloud determining unit 140 sets the number (f) of CNFs to be placed in the secondary cloud among all CNFs that construct the target application. For example, the secondary cloud determining unit 140 sets the number of surplus CNFs (f d ) that cannot be deployed to the primary cloud to the number of CNFs (f) to be placed in the secondary cloud.
- the secondary cloud determining unit 140 calculates the number of surplus CNFs (f d ) using, for example, the following formula.
- the number of surplus CNFs (f d ) calculated using equation (3) is the number of CNFs that cannot be deployed to the primary cloud when attempting to deploy as many CNFs as possible to the primary cloud among the CNFs that construct the target application. The number of pieces.
- the method for calculating the number of surplus CNFs (f d ) is not limited to the above.
- the number of CNFs that can be placed in the primary cloud is set in advance as a threshold value (f threshold , f threshold ⁇ f max ), and the number (f sum - f threshold ) exceeding this threshold value (f threshold ) is set as surplus. It may also be the number of CNFs (f d ).
- (f max - f threshold ) free resources are secured in the primary cloud for each CNF.
- the secondary cloud determining unit 140 sets the thus calculated number of surplus CNFs (f d pieces) that cannot be deployed to the primary cloud as the number (f) of CNFs to be placed in the secondary cloud. Note that the secondary cloud determining unit 140 may set the number of all CNFs (f total ) that constructs the target application to the number of CNFs (f). In this case, all CNFs that construct the target application will be deployed to the secondary cloud.
- the secondary cloud determining unit 140 determines the secondary cloud based on, for example, the size of free resources when a cloud other than the primary cloud in the cloud group deploys f CNFs. The size of empty resources is counted in units of one CNF. The secondary cloud determining unit 140 can obtain information about the resource usage status of clouds in the cloud group from the resource determining unit 120.
- the secondary cloud determining unit 140 may determine the secondary cloud based on the geographical (or logical) distance between the primary cloud and a cloud other than the primary cloud, in addition to the size of free resources. For example, if there are multiple clouds with the same size of free resources, the secondary cloud determining unit 140 determines the cloud with the smallest distance from the primary cloud as the secondary cloud among the multiple clouds with the same size of free resources. It's okay. Further, the secondary cloud determining unit 140 may determine the secondary cloud based on the geographical (or logical) distance between the primary cloud and a cloud other than the primary cloud. For example, the secondary cloud determining unit 140 may determine the cloud with the smallest distance from the primary cloud as the secondary cloud, regardless of the size of free resources. When determining a secondary cloud based on distance, the CNFs that build one application will be distributed and deployed in the clouds that are closest to each other, reducing communication delays caused by the placement of CNFs. can do.
- the secondary cloud determining unit 140 may determine the secondary cloud based on the current free resource size of clouds other than the primary cloud in the cloud group. In this case, the secondary cloud determining unit 140 may determine the secondary cloud and then set the number (f) of CNFs to be placed in the secondary cloud. This also allows the maximum number of CNFs to be placed in the secondary cloud. Further, the secondary cloud determining unit 140 may always determine a specific cloud within the cloud group as the secondary cloud. In this case, the time it takes for a new application to be deployed and service provision to start can be shortened.
- the secondary cloud determination unit 140 notifies the deployment unit 160 of information on the determined secondary cloud. Further, the secondary cloud determining unit 140 notifies the CNF selecting unit 150 of information about the number (f) of CNFs to be placed in the secondary cloud.
- the CNF selection unit 150 acquires information about the characteristics of the CNF that constructs the target application from, for example, a management device that manages application registration.
- the characteristics of the CNF are information representing the role played by the CNF when a service is provided, such as, for example, the CNF is related to user data or control data.
- CNF related to user data is accessed directly from the user terminal.
- CNFs associated with control data are typically not directly accessed by user terminals, but may be connected to CNFs associated with user data.
- the CNF selection unit 150 also acquires information on the number (f) of CNFs placed in the secondary cloud from the secondary cloud determination unit 140.
- the CNF selection unit 150 selects CNFs to be placed in the secondary cloud from among the CNFs that construct the target application, based on the priority order of the CNFs, in descending order of the priority order of the CNFs.
- the CNF placed in the secondary cloud will also be referred to as "target CNF.”
- the CNF priorities may be set in advance. For example, CNF priorities may be set based on CNF characteristics.
- the characteristics of the CNF are information representing the role played by the CNF when a service is provided, such as whether the CNF is related to user data or control data.
- priorities are set focusing on functions related to user data and functions related to control data, the priority of CNFs related to user data is higher than the priority of CNFs related to control data.
- the CNF selection unit 150 selects CNFs to be placed in the secondary cloud in descending order of CNF priority, the CNF that can be directly accessed from the user terminal is designated as the primary CNF. Priority will be placed in the cloud. Therefore, the influence of communication delay when a user terminal receives service provision can be suppressed.
- the CNF selection unit 150 selects the target CNF, it notifies the deployment unit 160 of information on the target CNF. Note that if the number (f) of CNFs arranged in the secondary cloud, which is notified from the secondary cloud determining unit 140, is equal to the total number of CNFs that construct the target application, the CNF selecting unit 150 selects all CNFs of the target application. Select.
- the deploying unit 160 deploys the f target CNFs selected by the CNF selecting unit 150 to the secondary cloud. Furthermore, when the target application is a new application, the deployment unit 160 deploys CNFs other than the target CNF among the CNFs that construct the new application to the primary cloud. Furthermore, if the target application is an existing application, the deployment unit 160 executes processing to delete the target CNF from the primary cloud. In this way, when the resources of the primary cloud are tight at the time of a new creation request, at least part of the CNF (target CNF) that constructs the target application is deployed to the secondary cloud.
- the resource determining unit 120 may make a hypothetical determination that the resources are in short supply only in a preset situation. As a result, it is possible to deploy a part of the CNF to the secondary cloud in advance before a resource shortage occurs, thereby delaying the timing at which the primary cloud's resources become scarce. For example, the resource determination unit 120 hypothetically determines that resources are tight in a situation where it is expected that new application creation requests will continue. The situations in which it is determined that resources are tight are not limited to this.
- FIG. 4 is a flowchart illustrating an example of the operation of the control device 100 according to the present disclosure.
- the resource monitoring unit 110 monitors the resource usage status of the cloud in the cloud group (S11).
- the resource determining unit 120 determines whether or not the resources of the primary cloud are tight (S12). Specifically, the resource determination unit 120 determines that resources are tight if the primary cloud does not have the resources to deploy all CNFs that construct a new application.
- the application selection unit 130 selects an application (target application) to be placed in the secondary cloud based on the priority order of the applications (S13).
- the secondary cloud determining unit 140 sets the number (f) of CNFs (target CNFs) to be placed in the secondary cloud among all CNFs that construct the target application (S14).
- the secondary cloud determining unit 140 determines a secondary cloud (S15). Note that, as described above, the number (f) of CNFs (target CNFs) may be set after determining the secondary cloud.
- the CNF selection unit 150 selects CNFs (target CNFs) to be placed in f secondary clouds from the CNFs that construct the target application (S16). In S16, the CNF selection unit 150 may select the target CNF based on a preset CNF priority order.
- the deployment unit 160 deploys the selected target CNF to the secondary cloud (S17). Note that in S12, if it is determined that the resources of the primary cloud for which the creation of the new application has been requested are not strained, the deployment unit 160 creates the new application in the primary cloud. (S18).
- FIG. 5 is a diagram illustrating an example of a processing sequence in the control device 100 according to the present disclosure.
- the control device 100 monitors the resource usage status of the cloud in the cloud group (“resource information management”, T11).
- FIG. 5 shows how the resource usage status of the i-th cloud (also referred to as cloud (i)) other than the primary cloud in the cloud group is monitored.
- i 1 to N-1
- N is the total number of clouds in the cloud group.
- the resource usage status may be monitored periodically or triggered by a request to create a new application.
- the control device 100 triggers a request to create a new application to the primary cloud in the cloud group (“new application creation request”, T12), and the control device 100 determines that the resources for deploying all CNFs for building the new application are available in the primary cloud. It is determined whether the resource is present (“resource determination”, T13). For example, if the resource usage ratio R defined by the ratio f sum /f max is 1 or less, the control device 100 determines that the primary cloud has resources for deploying all CNFs that construct a new application ("resources are tight"). “No”). On the other hand, if the resource usage ratio R is greater than 1, the control device 100 determines that the primary cloud does not have the resources to deploy all the CNFs that construct the new application (“resources are tight”).
- the control device 100 selects an application (target application) to be placed in the secondary cloud ("application selection", T14).
- the target application is selected from existing applications placed in the primary cloud and new applications requested to be created in the primary cloud, based on the priority order of the applications.
- the control device 100 determines a secondary cloud in which to place at least a portion of the CNF that constructs the target application (“determine secondary cloud”, T15).
- the control device 100 sets the number of CNFs (target CNFs) to be placed in the secondary cloud.
- the control device 100 selects a CNF (target CNF) to be placed in the secondary cloud based on the priority order of the CNFs (“CNF selection”, T16).
- control device 100 deletes the target CNF from the primary cloud and deploys the target CNF to the secondary cloud (T17).
- the control device 100 may decide to deploy all CNFs for constructing a new application in the primary cloud (T14, T15, T16). ). In this case, the control device 100 deploys all CNFs for constructing a new application to the primary cloud (T18).
- the control device 100 includes at least the resource determination section 120, the application selection section 130, the CNF selection section 150, and the deployment section 160.
- the resource determining unit 120 determines whether or not there is a resource crunch, which indicates whether the primary cloud has the resources to deploy all the CNFs for constructing the new application.
- a primary cloud is a cloud in a cloud group formed by multiple clouds.
- the application selection unit 130 selects an application to be placed in the secondary cloud from existing applications and new applications placed in the primary cloud based on the priority order of the applications.
- the CNF selection unit 150 selects a CNF (target CNF) to be placed in the secondary cloud from CNFs that construct the target application.
- the number of target CNFs to be selected is f.
- the deploying unit 160 deploys the target CNF selected by the CNF selecting unit 150 to the secondary cloud.
- control device 100 By adopting the above-described configuration of the control device 100, resource sharing is achieved between clouds within a cloud group. This makes it possible to stably provide services to user terminals even when the primary cloud where a request to create a new application is made does not have sufficient resources to deploy all CNFs for building a new application. You will be able to do this. Furthermore, since applications with high priority are placed in the primary cloud and applications with low priority are placed in the secondary cloud, it is possible to suppress deterioration in usability due to communication delays, for example. Furthermore, since CNFs that build applications can be distributed and placed in different clouds, it is also possible to equalize the consumption of computing resources for the cloud group as a whole.
- FIG. 6 is a functional block diagram showing a configuration example of a control device 200 according to the present disclosure. Note that descriptions of common elements or functions in the control device 100 shown in FIG. 3 and the control device 200 shown in FIG. 6 will be omitted.
- the control device 200 further includes a priority update unit 210.
- the priority update unit 210 updates the priority order of applications according to the operating status of existing applications placed in the primary cloud.
- the operating status includes at least one of the operating time of the application, the number of user terminals connected to the application, the amount of data of the application, and the throughput of the application.
- the application selection unit 130 can obtain information about the operating time by, for example, inquiring a management device that manages the cloud. Further, the application selection unit 130 can obtain information about the number of user terminals connected to the application, the amount of data of the application, and the throughput of the application by, for example, inquiring the UPF.
- the priority update unit 210 can update the priorities of the applications according to the operating status.
- the priority update unit 210 sets a lower priority for an application with a shorter operating time.
- the priority update unit 210 sets a lower priority for an application with a smaller number of connected user terminals.
- the priority update unit 210 sets a lower priority for an application with a smaller amount of data.
- the priority update unit 210 sets a lower priority for an application with a lower throughput.
- the priority update unit 210 notifies the application selection unit 130 of the updated application priority information.
- the priority update unit 210 can update the priority within these applications.
- applications with short running times are placed in the secondary cloud, and applications with long running times are placed in the primary cloud.
- applications with a small number of connected user terminals are placed in the secondary cloud, and applications with a large number of connected user terminals are placed in the primary cloud.
- applications with a small amount of data are placed in the secondary cloud, and applications with a large amount of data are placed in the primary cloud.
- applications with low throughput are placed in the secondary cloud, and applications with high throughput are placed in the primary cloud. In this way, since the target application is determined according to the operating status of the application in the primary cloud, an application that has a low impact on usability when placed in the secondary cloud is determined as the target application.
- the priority update unit 210 may update the priority according to the operating status of existing applications located in the clouds in the cloud group, in addition to the existing applications located in the primary cloud. In this case, the application's operating time, the number of user terminals connected to the application, and the amount of data in the application are temporarily low in the primary cloud, so the priority is set extremely low. can be prevented.
- the priority update unit 210 notifies the application selection unit 130 of the updated priority information. Thereby, the application selection unit 130 can determine the application to be placed in the secondary cloud based on the priority order updated according to the latest operating status of the application.
- FIG. 7 is a flowchart illustrating an example of the operation of the control device 200 according to the present disclosure.
- the process of S21 (priority update) is further added to the operation example of the control device 100 according to the first embodiment.
- the priority order updating unit 210 updates the application priority order according to the operating status of existing applications placed in the primary cloud (S21).
- the updated application priorities are used in the application selection unit 130.
- FIG. 8 is a diagram illustrating an example of a processing sequence in the control device 200 according to the present disclosure.
- a “priority update” (T21) process is further added to the processing sequence of the control device 100 according to the first embodiment.
- the control device 200 updates the priority order of applications according to the operating status of existing applications placed in the primary cloud (T21).
- the updated application priorities are used when determining the target application (T14).
- the control device 200 includes the resource determination section 120, the application selection section 130, the CNF selection section 150, the deployment section 160, and the priority update section 210.
- the priority update unit 210 updates the priority order of applications according to the operating status of existing applications placed in the primary cloud.
- resource sharing is achieved between clouds in a cloud group.
- the applications to be placed in the second cloud are selected based on the application priorities updated according to the latest operating status of the applications, usability can be further improved compared to the control device 100. .
- FIGS. 9A and 9B Application examples of the control devices 100 and 200 according to the present disclosure will be described using FIGS. 9A and 9B.
- a request is made to Edge Cloud #1 to create a virtualized CU (vCU) as a new application.
- vCU virtualized CU
- a CU can be constructed from CU-CP and CU-UP, which correspond to CNF.
- the new application is not limited to CU.
- the application may be a network function (NF) within a mobile communication system such as 5G.
- NFs in the mobile communication system include SNFs and DUs in the CN.
- the control devices 100 and 200 according to the present disclosure can be applied to an application constructed from a plurality of CNFs that are capable of functionally cooperative communication with each other.
- FIG. 9A shows an example in which a vCU is created in Edge Cloud #2 because there are no resources in Edge Cloud #1 that can create a vCU when a vCU creation request is made.
- FIG. 9B is an example of an arrangement when a cloud group is formed and resources are shared between clouds using the control devices 100 and 200 according to the present disclosure. Even if Edge Cloud #1 does not have enough resources to create a vCU when requesting Edge Cloud #1 to create a vCU, by using the control devices 100 and 200 according to the present disclosure, a part of the CNF that constructs the vCU can be used. can be deployed on Edge Cloud #2.
- FIG. 9B shows how CU-UP is deployed to Edge Cloud #1 and CU-CP is deployed to Edge Cloud #2 using the control devices 100 and 200 according to the present disclosure.
- CU-UP and CU-CP are CNFs that construct vCU.
- the CU-CP deployed in Edge Cloud #2 can be connected to the CU-UP deployed in Edge Cloud #3 via the E1 interface.
- the CU-UP deployed on Edge Cloud #1 and the CU-UP deployed on Edge Cloud #3 can share the CU-CP deployed on Edge Cloud #2. .
- FIG. 10 is a diagram showing a computer 300 implementing the control device 100 and the control device 200 according to the present disclosure.
- Computer 300 includes a processor 310, a memory 320, and a communication unit 330.
- the number of processors 310, memories 320, and communication units 330 is not limited, and may be one or more.
- the processor 310, the memory 320, and the communication section 330 may be arranged together at each location where each section constituting the control device 100 or the control device 200 is arranged.
- the processor 310 is a program-controlled device such as a microprocessor that operates according to a program installed in the control device 100 or the control device 200.
- the memory 320 is a storage device such as a storage element such as ROM or RAM, a solid state drive (SSD), or a hard disk drive (HDD).
- the memory 320 stores programs and the like executed by the processor 310.
- the communication unit 330 is, for example, a communication interface such as a NIC or a wireless LAN module. Note that SDN (Software-Defined Networking) may be implemented in the communication unit 330.
- Computer 300 may further include storage 340. Examples of the application information stored in the storage 340 include information on the total number of CNFs for constructing a new application, information on CNF characteristics, and information on application priorities. Computer 300 may further include other components not shown.
- the control device 100 includes one or more processors.
- one or more processors requests the creation of a new application to the primary cloud in a cloud group formed by multiple clouds, the primary cloud's resources are tight, which triggers the use of the secondary cloud in the cloud group. Then it is decided.
- One or more processors select applications to be placed in the secondary cloud from existing applications and new applications placed in the primary cloud based on application priorities.
- One or more processors select at least a portion of the CNF to build an application for deployment to a secondary cloud.
- One or more processors deploy at least some of the selected CNFs to a secondary cloud.
- the control device 200 includes one or more processors.
- one or more processors requests the creation of a new application to the primary cloud in a cloud group formed by multiple clouds, the primary cloud's resources are tight, which triggers the use of the secondary cloud in the cloud group. Then it is decided.
- One or more processors update their priorities according to the operating status of existing applications located in the primary cloud.
- One or more processors select applications to be placed in the secondary cloud from existing applications and new applications placed in the primary cloud based on application priorities.
- One or more processors select at least a portion of the CNF to build an application for deployment to a secondary cloud.
- One or more processors deploy at least some of the selected CNFs to a secondary cloud.
- control devices 100 and 200 may realize resource sharing between clouds using an orchestrator function.
- the present disclosure is not limited to the above configuration, and the present disclosure also includes a control program. That is, the present disclosure also includes a program that, when read by a computer, causes one or more processors of the computer to execute each part of the control devices 100 and 200.
- the above-mentioned program may be provided recorded on a computer-readable non-transitory storage medium.
- the present disclosure includes the following aspects.
- Comprising one or more processors the one or more processors: When requesting the creation of a new application to a primary cloud in a cloud group formed by multiple clouds, whether or not the primary cloud has the resources to deploy all CNFs (Containerized Network Functions) that build the new application. determining the presence or absence of resource strain in response to When the resources are tight, selecting at least one application from the existing applications and the new application located in the primary cloud based on the priority of the applications; Selecting at least some CNFs from CNFs (Containerized Network Functions) that construct the selected at least one application; deploying the at least some of the selected CNFs to a secondary cloud within the cloud group; A control device that executes.
- CNFs Containerized Network Functions
- the priority of the application is set according to QoS (Quality of service).
- QoS Quality of service
- the control device according to [1].
- the one or more processors Selecting the at least some CNFs based on a preset CNF priority order;
- the control device according to [1] or [2], which further executes the following.
- the priority of CNFs related to user data is higher than the priority of CNFs related to control data.
- the one or more processors updating the priority order according to the operating status of existing applications located in the primary cloud;
- the control device according to any one of [1] to [4], further executing the following.
- the operating status includes at least one of the operating time of the application, the number of user terminals connected to the application, the amount of data of the application, and the throughput of the application.
- the control device according to [5] or [6].
- the above-mentioned determination includes any one of [1] to [7], wherein even if the resource is not tight, in a preset situation, it is determined that the resource is tight.
- the control device according to one.
- the number of at least some CNFs is the number of surplus CNFs that cannot be deployed to the primary cloud;
- the control device according to any one of [1] to [8].
- the application is constructed using a microservice architecture.
- the control device according to any one of [1] to [10].
- the cloud group includes a center cloud built on a central data center, The control device according to any one of [1] to [11].
- the cloud group includes a cloud built on a regional data center, The control device according to any one of [1] to [12].
- the application is an NF (Network Function) in a mobile communication system, The control device according to any one of [1] to [13].
- NF Network Function
- the primary cloud is an edge cloud.
- the control device according to any one of [1] to [14].
- the secondary cloud is an edge cloud.
- the control device according to any one of [1] to [15].
- the secondary cloud is a center cloud, The control device according to any one of [1] to [15].
- the resources for deploying all the CNFs (Containerized Network Functions) for building the new application are provided to the primary cloud.
- a processor to determine whether or not there is a resource strain corresponding to whether or not there is a
- the resources are tight, using a processor to select at least one application from the existing applications and the new application located in the primary cloud based on application priorities;
- selecting at least some CNFs from CNFs (Containerized Network Functions) that construct the selected at least one application Deploying the at least some of the selected CNFs to a secondary cloud within the cloud group using a processor; including control methods.
- one or more processors of said computer When read by a computer, one or more processors of said computer: When requesting the creation of a new application to a primary cloud in a cloud group formed by multiple clouds, whether the primary cloud has the resources to deploy all the CNFs (Containerized Network Functions) that will build the new application. determining the presence or absence of resource strain corresponding to When the resources are tight, selecting at least one application from the existing applications and the new application located in the primary cloud based on the priority of the applications; Selecting at least some CNFs from CNFs (Containerized Network Functions) that construct the selected at least one application; deploying the at least some of the selected CNFs to a secondary cloud within the cloud group; A non-transitory computer-readable medium on which a program for executing is recorded.
- CNFs Containerized Network Functions
- control device 100, 200 control device 110 resource monitoring unit 120 resource determination unit 130 application selection unit 140 secondary cloud determination unit 150 CNF selection unit 160 deployment unit 210 priority update unit 300 computer 310 processor 320 memory 330 communication unit 340 storage
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Image Generation (AREA)
Abstract
制御装置は、1以上のプロセッサを備える。1以上のプロセッサが、複数のクラウドにより形成されるクラウドグループ内のプライマリクラウドへの新規アプリケーションの作成依頼時に、プライマリクラウドのリソースが逼迫していることをトリガとして、クラウドグループ内のセカンダリクラウドを利用すると決定する。1以上のプロセッサが、アプリケーションの優先順位に基づいて、プライマリクラウドに配置されている既存アプリケーション及び新規アプリケーションから、セカンダリクラウドに配置するアプリケーションを選択する。1以上のプロセッサが、セカンダリクラウドに配置するアプリケーションを構築するCNFの少なくとも一部を選択する。1以上のプロセッサが、選択された少なくとも一部のCNFをセカンダリクラウドにデプロイする。
Description
本開示は、複数のクラウドにより形成されるクラウドグループ内でのリソース共有に関する。
IoT(Internet of Things)、VR(Virtual Reality)、AR(Augmented Reality)、動画配信アプリケーション等の需要の増加に伴い、近年、分散型アーキテクチャであるエッジコンピューティングが注目を集めている。エッジコンピューティングは、セントラルデータセンタ上に構築されるセンタークラウドに代えて、ユーザ端末(UE)の近くに設置されたエッジサーバ上に構築されるエッジクラウドで、処理の少なくとも一部を行う分散コンピューティングである。エッジクラウドを用いることにより、センタークラウドに集中されていた、ユーザ端末へのサービス提供のための処理が、エッジクラウドに分散され、処理負荷分散が図られる。
しかしながら、エッジサーバが設置される場所等の制約により、エッジクラウドに割り当てられるコンピューティングリソースが十分でなく、ユーザ端末に安定してサービスを提供することが難しい場合がある。
本開示の一態様に係る制御装置は、1以上のプロセッサを備える。
前記1以上のプロセッサは、複数のクラウドにより形成されるクラウドグループ内のプライマリクラウドへの新規アプリケーションの作成依頼時に、前記新規アプリケーションを構築する全てのCNF(Containerized Network Function)をデプロイするためのリソースが前記プライマリクラウドにあるか否かに対応する、リソース逼迫の有無を判定する。
前記1以上のプロセッサは、前記リソースが逼迫している場合に、アプリケーションの優先順位に基づいて、前記プライマリクラウドに配置されている既存アプリケーション及び前記新規アプリケーションから、少なくとも1つのアプリケーションを選択する。
また、前記1以上のプロセッサは、選択された前記少なくとも1つのアプリケーションを構築するCNF(Containerized Network Function)から、少なくとも一部のCNFを選択する。
また、前記1以上のプロセッサは、選択された前記少なくとも一部のCNFを、前記クラウドグループ内のセカンダリクラウドにデプロイする。
前記1以上のプロセッサは、複数のクラウドにより形成されるクラウドグループ内のプライマリクラウドへの新規アプリケーションの作成依頼時に、前記新規アプリケーションを構築する全てのCNF(Containerized Network Function)をデプロイするためのリソースが前記プライマリクラウドにあるか否かに対応する、リソース逼迫の有無を判定する。
前記1以上のプロセッサは、前記リソースが逼迫している場合に、アプリケーションの優先順位に基づいて、前記プライマリクラウドに配置されている既存アプリケーション及び前記新規アプリケーションから、少なくとも1つのアプリケーションを選択する。
また、前記1以上のプロセッサは、選択された前記少なくとも1つのアプリケーションを構築するCNF(Containerized Network Function)から、少なくとも一部のCNFを選択する。
また、前記1以上のプロセッサは、選択された前記少なくとも一部のCNFを、前記クラウドグループ内のセカンダリクラウドにデプロイする。
本開示の一態様に係る制御方法は、複数のクラウドにより形成されるクラウドグループ内のプライマリクラウドへの新規アプリケーションの作成依頼時に、前記新規アプリケーションを構築する全てのCNF(Containerized Network Function)をデプロイするためのリソースが、前記プライマリクラウドにあるか否かに対応するリソース逼迫の有無を、プロセッサを用いて、判定することを含む。
また、前記制御方法は、前記リソースが逼迫している場合に、アプリケーションの優先順位に基づいて、前記プライマリクラウドに配置されている既存アプリケーション及び前記新規アプリケーションから、少なくとも1つのアプリケーションを、プロセッサを用いて、選択することを含む。
また、前記制御方法は、選択された前記少なくとも1つのアプリケーションを構築するCNF(Containerized Network Function)から、少なくとも一部のCNFを、プロセッサを用いて、選択することを含む。
また、前記制御方法は、選択された前記少なくとも一部のCNFを、前記クラウドグループ内のセカンダリクラウドに、プロセッサを用いて、デプロイすることを含む。
また、前記制御方法は、前記リソースが逼迫している場合に、アプリケーションの優先順位に基づいて、前記プライマリクラウドに配置されている既存アプリケーション及び前記新規アプリケーションから、少なくとも1つのアプリケーションを、プロセッサを用いて、選択することを含む。
また、前記制御方法は、選択された前記少なくとも1つのアプリケーションを構築するCNF(Containerized Network Function)から、少なくとも一部のCNFを、プロセッサを用いて、選択することを含む。
また、前記制御方法は、選択された前記少なくとも一部のCNFを、前記クラウドグループ内のセカンダリクラウドに、プロセッサを用いて、デプロイすることを含む。
本開示の一態様に係る非一時的(non-transitory)なコンピュータ可読媒体は、プログラムを記録する。
前記プログラムがコンピュータによって読み込まれると、前記コンピュータの1以上のプロセッサは、複数のクラウドにより形成されるクラウドグループ内のプライマリクラウドへの新規アプリケーションの作成依頼時に、前記新規アプリケーションを構築する全てのCNF(Containerized Network Function)をデプロイするためのリソースが、前記プライマリクラウドにあるか否かに対応するリソース逼迫の有無を判定する。
また、前記1以上のプロセッサは、前記リソースが逼迫している場合に、アプリケーションの優先順位に基づいて、前記プライマリクラウドに配置されている既存アプリケーション及び前記新規アプリケーションから、少なくとも1つのアプリケーションを選択する。
また、前記1以上のプロセッサは、選択された前記少なくとも1つのアプリケーションを構築するCNF(Containerized Network Function)から、少なくとも一部のCNFを選択する。
また、前記1以上のプロセッサは、選択された前記少なくとも一部のCNFを、前記クラウドグループ内のセカンダリクラウドにデプロイする。
前記プログラムがコンピュータによって読み込まれると、前記コンピュータの1以上のプロセッサは、複数のクラウドにより形成されるクラウドグループ内のプライマリクラウドへの新規アプリケーションの作成依頼時に、前記新規アプリケーションを構築する全てのCNF(Containerized Network Function)をデプロイするためのリソースが、前記プライマリクラウドにあるか否かに対応するリソース逼迫の有無を判定する。
また、前記1以上のプロセッサは、前記リソースが逼迫している場合に、アプリケーションの優先順位に基づいて、前記プライマリクラウドに配置されている既存アプリケーション及び前記新規アプリケーションから、少なくとも1つのアプリケーションを選択する。
また、前記1以上のプロセッサは、選択された前記少なくとも1つのアプリケーションを構築するCNF(Containerized Network Function)から、少なくとも一部のCNFを選択する。
また、前記1以上のプロセッサは、選択された前記少なくとも一部のCNFを、前記クラウドグループ内のセカンダリクラウドにデプロイする。
以下、本開示の実施形態について、図面を参照して詳細に説明する。
本開示に係る制御装置は、複数のクラウドにより形成されるクラウドグループ内でのリソース共有を制御する。後述するように、制御装置は、オーケストレータとすることができる。
本開示に係る制御装置は、複数のクラウドにより形成されるクラウドグループ内でのリソース共有を制御する。後述するように、制御装置は、オーケストレータとすることができる。
(第1の実施形態)
図1は、本実施形態に係る制御装置100が適用されるクラウドグループを示す概念図である。クラウドグループは、複数(L個、Lは整数)のエッジクラウド(Edge Cloud)を含む。
図1には、クラウドグループが4個(L=4)のエッジクラウドを含む例が示されている。
各エッジクラウドには、1以上のRadio Unit(RU)により形成されるカバレッジエリア内のユーザ端末(不図示)に様々なサービスを提供するためのアプリケーションがデプロイされ得る。ユーザ端末は、サービスの提供を受けるためのアプリケーションが実行可能で、通信可能なICT(Information and Communication Technology)装置である。ユーザ端末としては、スマートフォン、タブレット端末といったポータブルなPC(Personal Computer)が例示される。ユーザ端末は、デスクトップPCといった非ポータブルな装置であってもよい。
図1は、本実施形態に係る制御装置100が適用されるクラウドグループを示す概念図である。クラウドグループは、複数(L個、Lは整数)のエッジクラウド(Edge Cloud)を含む。
図1には、クラウドグループが4個(L=4)のエッジクラウドを含む例が示されている。
各エッジクラウドには、1以上のRadio Unit(RU)により形成されるカバレッジエリア内のユーザ端末(不図示)に様々なサービスを提供するためのアプリケーションがデプロイされ得る。ユーザ端末は、サービスの提供を受けるためのアプリケーションが実行可能で、通信可能なICT(Information and Communication Technology)装置である。ユーザ端末としては、スマートフォン、タブレット端末といったポータブルなPC(Personal Computer)が例示される。ユーザ端末は、デスクトップPCといった非ポータブルな装置であってもよい。
クラウドグループは、複数のエッジクラウドから形成される。クラウドグループは、例えば、地理的な設置位置が近いエッジサーバ上に構築されたエッジクラウドにより形成される。なお、必ずしも、地理的な設置位置が近いエッジクラウドのみでクラウドグループが形成されている必要はない。例えば、クラウドグループは、論理的に近い位置に設置されたエッジサーバ上に構築されたエッジクラウドにより形成されていてもよい。
また、クラウドグループには、セントラルデータセンタ上に構築されたセンタークラウドが含まれていてもよい。
また、クラウドグループには、リージョナルデータセンタ上に構築されたクラウドが含まれていてもよい。
以下、クラウドグループに含まれるエッジクラウド及びセンタークラウド等を、単に「クラウド」と記載する。
本開示に係る制御装置100は、これらクラウドが構築されるデータセンタに設置されていてもよいし、クラウドグループ外のデータセンタに設置されてもよい。
また、クラウドグループには、セントラルデータセンタ上に構築されたセンタークラウドが含まれていてもよい。
また、クラウドグループには、リージョナルデータセンタ上に構築されたクラウドが含まれていてもよい。
以下、クラウドグループに含まれるエッジクラウド及びセンタークラウド等を、単に「クラウド」と記載する。
本開示に係る制御装置100は、これらクラウドが構築されるデータセンタに設置されていてもよいし、クラウドグループ外のデータセンタに設置されてもよい。
本開示に係る制御装置100について説明する前に、ユーザ端末に提供されるサービスと、クラウドにデプロイされるアプリケーションと、の関係について、図2を用いて説明する。当該アプリケーションは、ユーザ端末にサービスを提供するためのアプリケーションである。
本開示において、ユーザ端末に提供されるサービスは、マイクロサービスアーキテクチャにより構築されている。
本開示において、ユーザ端末に提供されるサービスは、マイクロサービスアーキテクチャにより構築されている。
図2は、マイクロサービスアーキテクチャにおける、サービスと、アプリケーション(以下、「APP」とも記載する)との関係を示す図である。
図2に示すように、サービスは1以上のアプリケーションから構築されている。1つのサービスを構築するアプリケーション数は、サービスによって異なる。
各アプリケーションは、1以上のContainerized Network Function(CNF)から構築されている。
CNFは、例えば、「Kubernetes」(登録商標)上で動作する。Kubernetesは、コンテナ化されたサービスの設定及び管理を自動で行うオープンソースソフトウェア(OSS)である。
1つのアプリケーションを構築するCNF数は、アプリケーション及び設計によって異なり得る。
Kubernetes上で動作するCNFは、1以上のPodから構築される。Podは、Kubernetesで実行できるアプリケーションの最小単位である。複数のPodは、Kubernetesにより運用管理される。CNFで動作するPodは、自己修復機能を有しており、例えば、あるPodが動作を停止したときに、別のPodが起動され、CNFの機能が自己修復される。
各Podは、1以上のコンテナから構築される。
図2に示すように、サービスは1以上のアプリケーションから構築されている。1つのサービスを構築するアプリケーション数は、サービスによって異なる。
各アプリケーションは、1以上のContainerized Network Function(CNF)から構築されている。
CNFは、例えば、「Kubernetes」(登録商標)上で動作する。Kubernetesは、コンテナ化されたサービスの設定及び管理を自動で行うオープンソースソフトウェア(OSS)である。
1つのアプリケーションを構築するCNF数は、アプリケーション及び設計によって異なり得る。
Kubernetes上で動作するCNFは、1以上のPodから構築される。Podは、Kubernetesで実行できるアプリケーションの最小単位である。複数のPodは、Kubernetesにより運用管理される。CNFで動作するPodは、自己修復機能を有しており、例えば、あるPodが動作を停止したときに、別のPodが起動され、CNFの機能が自己修復される。
各Podは、1以上のコンテナから構築される。
5G(第5世代移動通信システム)においても、マイクロサービスアーキテクチャの利用が検討されている。
5Gにおける上記サービスとしては、無線アクセスネットワーク(RAN)、及び、コアネットワーク(CN)が例示される。
サービスがRANの場合、Central Unit(CU)及びDistributed Unit(DU)がアプリケーションに相当する。
また、サービスがCNの場合、AMF(Access and Mobility Management Function)、UPF(User Plane Function)等のCNを構築するService Network Function(SNF)がアプリケーションに相当する。
5Gにおける上記サービスとしては、無線アクセスネットワーク(RAN)、及び、コアネットワーク(CN)が例示される。
サービスがRANの場合、Central Unit(CU)及びDistributed Unit(DU)がアプリケーションに相当する。
また、サービスがCNの場合、AMF(Access and Mobility Management Function)、UPF(User Plane Function)等のCNを構築するService Network Function(SNF)がアプリケーションに相当する。
APP#1で示されるアプリケーションがCUの場合、CNF#1で示されるCNFをCU-CP(Control Plane)とし、CNF#2で示されるCNFをCU-UP(User Plane)とすることができる。
CU-CPには無線リソース制御(RRC)が含まれる。CU-UPにはユーザプレーンに関連するSDAP(Service Data Adaption Protocol)及びPDCP(Packet Data Convergence Protocol)が含まれる。
CU-CPとCU-UPとは、E1インターフェースにより機能連携通信が可能である。CU-CP及びCU-UPの双方は、F1インターフェースでDUに接続可能である。
CU-CPには無線リソース制御(RRC)が含まれる。CU-UPにはユーザプレーンに関連するSDAP(Service Data Adaption Protocol)及びPDCP(Packet Data Convergence Protocol)が含まれる。
CU-CPとCU-UPとは、E1インターフェースにより機能連携通信が可能である。CU-CP及びCU-UPの双方は、F1インターフェースでDUに接続可能である。
また、前述のRAN及びCN以外のサービスとして、Web配信サービス、ゲーム提供サービス、映像配信サービス、音楽配信サービス、監視サービス、ナビゲーションサービス、自動運転サービス、メール提供サービス、センサーサービスが例示される。
これらのサービスを提供するアプリケーションとしては、Web配信アプリケーション、ゲーム提供アプリケーション、映像配信アプリケーション、音楽配信アプリケーション、監視実行アプリケーション、ナビゲーションアプリケーション、自動運転アプリケーション、メール提供アプリケーション、センサー実行アプリケーションが例示される。
これらのサービスを提供するアプリケーションとしては、Web配信アプリケーション、ゲーム提供アプリケーション、映像配信アプリケーション、音楽配信アプリケーション、監視実行アプリケーション、ナビゲーションアプリケーション、自動運転アプリケーション、メール提供アプリケーション、センサー実行アプリケーションが例示される。
図3は、本開示に係る制御装置100の構成例を示す機能ブロック図である。
制御装置100は、リソース監視部110、リソース判定部120、アプリケーション選択部130、セカンダリクラウド決定部140、CNF選択部150、及び、デプロイ部160を備える。
制御装置100は、リソース監視部110、リソース判定部120、アプリケーション選択部130、セカンダリクラウド決定部140、CNF選択部150、及び、デプロイ部160を備える。
リソース監視部110は、クラウドグループ内のクラウドのリソース使用状況を監視する。監視は、定期的に行われてもよいし、後述の新規アプリケーションの作成依頼がいずれかのクラウドに通知されたタイミングで行われてもよい。
なお、クラウドに配置済のアプリケーション及び新規アプリケーションは、マイクロサービスアーキテクチャにより構築されている。すなわち、これらアプリケーションは、1以上のCNFから構築されている。
リソース使用状況は、例えば、クラウドに配置(デプロイ)可能なCNF総数、及び、クラウドに実際にデプロイされている全アプリケーションのCNF総数の情報を含む。クラウドに配置可能なCNF総数は、クラウドのコンピューティングリソースによって決定され得る。クラウドに実際に配置されている全アプリケーションのCNF総数は、クラウドに配置済のCNFの総数である。
なお、クラウドに配置済のアプリケーション及び新規アプリケーションは、マイクロサービスアーキテクチャにより構築されている。すなわち、これらアプリケーションは、1以上のCNFから構築されている。
リソース使用状況は、例えば、クラウドに配置(デプロイ)可能なCNF総数、及び、クラウドに実際にデプロイされている全アプリケーションのCNF総数の情報を含む。クラウドに配置可能なCNF総数は、クラウドのコンピューティングリソースによって決定され得る。クラウドに実際に配置されている全アプリケーションのCNF総数は、クラウドに配置済のCNFの総数である。
リソース判定部120は、クラウドグループ内のクラウドへの新規アプリケーションの作成依頼時に、新規アプリケーションを構築する全てのCNFをデプロイするためのリソースが、クラウドにあるか否かを判定する。換言すると、リソース判定部120は、新規アプリケーションの作成依頼を受けたクラウドのリソースが逼迫しているか否か判定する。以下、新規アプリケーションの作成依頼を受けたクラウドを「プライマリクラウド」と記載する。リソース判定部120におけるリソースが逼迫しているか否かの判定方法については後述する。
リソース判定部120は、プライマリクラウドに新規アプリケーションの作成依頼があったことを、例えば、プライマリクラウドから直接受け取る。リソース判定部120は、新規アプリケーションの登録を管理している管理装置から、プライマリクラウドに新規アプリケーションの作成依頼があったことを受け取ってもよい。
新規アプリケーションの作成依頼には、新規アプリケーションの情報(以下、「アプリケーション情報」とも記載する)が含まれる。アプリケーション情報は、新規アプリケーションを構築するCNF総数の情報を含む。
新規アプリケーションの作成依頼には、新規アプリケーションの情報(以下、「アプリケーション情報」とも記載する)が含まれる。アプリケーション情報は、新規アプリケーションを構築するCNF総数の情報を含む。
リソース判定部120は、例えば、以下の情報(1)及び(2)を用いて、新規アプリケーションを構築する全てのCNFをデプロイするためのリソースが、プライマリクラウドにあるか否かを判定することができる。
(1)プライマリクラウドに配置可能なCNFの最大数:fmax
(2)プライマリクラウドへの配置がリクエストされたCNF総数:fsum
fmax及びfsumは、一個のCNFを単位としてカウントされる。つまり、fmax及びfsumは、CNF何個分に相当するかを表す。
(1)プライマリクラウドに配置可能なCNFの最大数:fmax
(2)プライマリクラウドへの配置がリクエストされたCNF総数:fsum
fmax及びfsumは、一個のCNFを単位としてカウントされる。つまり、fmax及びfsumは、CNF何個分に相当するかを表す。
fmaxは、プライマリクラウドに配置可能なCNFの最大数である。換言すると、fmaxは、プライマリクラウドに配置済のCNFの個数と、プライマリクラウドに更に配置できるCNFの個数との合計である。プライマリクラウドに配置可能なCNFの最大数は、プライマリクラウドのコンピューティングリソースによって決定され得る。
また、fsumは、プライマリクラウドに配置済のCNFの個数に、プライマリクラウドへの配置がリクエストされた新規アプリケーションを構築するCNFの個数を加えた合計である。つまり、CNF総数fsumは、プライマリクラウドに新規アプリケーションを構築する全てのCNFを配置する(デプロイする)とした場合の、プライマリクラウドへの配置予定のCNF総数である。
また、fsumは、プライマリクラウドに配置済のCNFの個数に、プライマリクラウドへの配置がリクエストされた新規アプリケーションを構築するCNFの個数を加えた合計である。つまり、CNF総数fsumは、プライマリクラウドに新規アプリケーションを構築する全てのCNFを配置する(デプロイする)とした場合の、プライマリクラウドへの配置予定のCNF総数である。
リソース判定部120は、例えば、比率fsum/fmaxで定義されるリソース使用割合Rに基づいて、新規アプリケーションを構築する全てのCNFをデプロイするためのリソースが、プライマリクラウドにあるか否かを判定する。
一方、リソース使用割合Rが1より大きい場合、つまり、
の場合、リソース判定部120は、新規アプリケーションを構築する全てのCNFをデプロイするためのリソースが、プライマリクラウドにないと判定する。
リソース使用割合R>1の場合、リソース判定部120は、プライマリクラウドと異なるクラウド(以下、「セカンダリクラウド」と記載する)にデプロイすべきアプリケーションの選択依頼を、アプリケーション選択部130に通知する。以下の説明では、セカンダリクラウドに配置されることになるアプリケーションを「対象アプリケーション」とも記載する。
リソース使用割合R>1の場合、リソース判定部120は、プライマリクラウドと異なるクラウド(以下、「セカンダリクラウド」と記載する)にデプロイすべきアプリケーションの選択依頼を、アプリケーション選択部130に通知する。以下の説明では、セカンダリクラウドに配置されることになるアプリケーションを「対象アプリケーション」とも記載する。
なお、新規アプリケーションを構築する全てのCNFをデプロイするためのリソースがプライマリクラウドにある場合においても、一部のCNFがセカンダリクラウドにデプロイされるようにしてもよい。つまり、実際にはプライマリクラウドのリソースが逼迫していない場合であっても、予め設定した状況に限り、リソース判定部120が、リソースが逼迫していると擬制判定するようにしてもよい。これにより、リソース逼迫が発生する前に、CNFの一部をセカンダリクラウドに事前にデプロイしておくことができるので、プライマリクラウドのリソースが逼迫するタイミングを遅らせることができる。リソース判定部120は、例えば、新規アプリケーションの作成依頼が続くと予想されるような状況の場合に、リソースが逼迫していると擬制判定する。リソースが逼迫していると擬制判定する状況は、これに限定されるものではない。
以上のようにして、リソース判定部120は、プライマリクラウドのリソースが逼迫しているか否か判定し、リソースが逼迫している場合、セカンダリクラウドにデプロイすべきアプリケーションの選択依頼をアプリケーション選択部130に通知する。なお、リソース判定部120における、リソースが逼迫しているか否かについての判定方法は、特に限定されない。
以上のようにして、リソース判定部120は、プライマリクラウドのリソースが逼迫しているか否か判定し、リソースが逼迫している場合、セカンダリクラウドにデプロイすべきアプリケーションの選択依頼をアプリケーション選択部130に通知する。なお、リソース判定部120における、リソースが逼迫しているか否かについての判定方法は、特に限定されない。
アプリケーション選択部130は、リソース判定部120から、セカンダリクラウドにデプロイすべきアプリケーション(対象アプリケーション)の選択依頼を取得すると、アプリケーションの優先順位に基づいて、対象アプリケーションを選択する。
具体的には、アプリケーション選択部130は、プライマリクラウドに配置されている既存アプリケーション及び作成依頼があった新規アプリケーションの中から、アプリケーションの優先順位に基づいて、対象アプリケーションを選択する。アプリケーション選択部130は、プライマリクラウドに配置されている既存アプリケーション及び作成依頼があった新規アプリケーションについての情報を、例えば、アプリケーションの登録を管理している管理装置から取得することができる。また、制御装置100が、クラウドグループ内の各クラウドに配置されている既存アプリケーションの情報をストレージに保持し、アプリケーション選択部130がこのストレージを参照するようにしてもよい。
具体的には、アプリケーション選択部130は、プライマリクラウドに配置されている既存アプリケーション及び作成依頼があった新規アプリケーションの中から、アプリケーションの優先順位に基づいて、対象アプリケーションを選択する。アプリケーション選択部130は、プライマリクラウドに配置されている既存アプリケーション及び作成依頼があった新規アプリケーションについての情報を、例えば、アプリケーションの登録を管理している管理装置から取得することができる。また、制御装置100が、クラウドグループ内の各クラウドに配置されている既存アプリケーションの情報をストレージに保持し、アプリケーション選択部130がこのストレージを参照するようにしてもよい。
アプリケーションの優先順位は、予め設定されていてよい。アプリケーションとしては、Web配信アプリケーション、ゲーム提供アプリケーション、映像配信アプリケーション、音楽配信アプリケーション、監視実行アプリケーション、ナビゲーションアプリケーション、自動運転アプリケーション、メール提供アプリケーション、センサー実行アプリケーションが例示される。
これらアプリケーションでは、これらアプリケーションにより提供されるサービス毎に、要求される品質(QoS:Quality of service)が異なる。そのため、アプリケーションの優先順位は、QoSに応じて設定され得る。QoSとしては、高速ベストエフォート、高速帯域保証、低速ベストエフォート、低速帯域保証等が例示される。
例えば、自動運転アプリケーションでは、超低遅延かつ超高信頼性が要求されるため、Qosとして高速帯域保証が要求される。一方、メール提供アプリケーションでは、リアルタイム性の重要度が低いため、QoSが低域ベストエフォートでも十分であったりする。そのため、優先順位が、QoSに応じて設定されるような場合には、自動運転アプリケーションの優先順位が、メール提供アプリケーションより高く設定され得る。
アプリケーション選択部130は、プライマリクラウドにデプロイされたタイミングが古い順に、対象アプリケーションを選択してよい。この場合には、デプロイされたタイミングを確認するだけで、対象アプリケーションが選択されるため、対象アプリケーションが選択されるまでの時間を短く抑えることができる。
これらアプリケーションでは、これらアプリケーションにより提供されるサービス毎に、要求される品質(QoS:Quality of service)が異なる。そのため、アプリケーションの優先順位は、QoSに応じて設定され得る。QoSとしては、高速ベストエフォート、高速帯域保証、低速ベストエフォート、低速帯域保証等が例示される。
例えば、自動運転アプリケーションでは、超低遅延かつ超高信頼性が要求されるため、Qosとして高速帯域保証が要求される。一方、メール提供アプリケーションでは、リアルタイム性の重要度が低いため、QoSが低域ベストエフォートでも十分であったりする。そのため、優先順位が、QoSに応じて設定されるような場合には、自動運転アプリケーションの優先順位が、メール提供アプリケーションより高く設定され得る。
アプリケーション選択部130は、プライマリクラウドにデプロイされたタイミングが古い順に、対象アプリケーションを選択してよい。この場合には、デプロイされたタイミングを確認するだけで、対象アプリケーションが選択されるため、対象アプリケーションが選択されるまでの時間を短く抑えることができる。
アプリケーション選択部130は、対象アプリケーションを決定すると、対象アプリケーションを構築するCNF総数(ftotal)の情報をセカンダリクラウド決定部140に通知する。
セカンダリクラウド決定部140は、対象アプリケーションを構築するCNFの少なくとも一部を配置することになる、クラウドグループ内のセカンダリクラウドを決定する。セカンダリクラウドの決定例については、後述する。また、セカンダリクラウド決定部140は、対象アプリケーションを構築する全てのCNFのうち、セカンダリクラウドに配置するCNFの数(f)を設定する。例えば、セカンダリクラウド決定部140は、プライマリクラウドにデプロイできない余剰CNFの数(fd)をセカンダリクラウドに配置するCNFの数(f)に設定する。
セカンダリクラウド決定部140は、余剰CNFの数(fd)を、例えば、以下の式より算出する。
式(3)を用いて算出される余剰CNFの数(fd)は、対象アプリケーションを構築するCNFのうちできるだけ多くのCNFをプライマリクラウドに配置しようとした場合において、プライマリクラウドにデプロイできないCNFの個数となる。
なお、余剰CNFの数(fd)の算出方法は、上記に限られない。例えば、プライマリクラウドに配置可能とするCNF数を予め閾値(fthreshold,fthreshold<fmax)として設定しておいて、この閾値(fthreshold)を超える個数(fsum-fthreshold)を、余剰CNFの数(fd)としてもよい。
この場合には、プライマリクラウドに、一個のCNFを単位として(fmax-fthreshold)個の空きリソースが確保される。これにより、プライマリクラウドに緊急を要する新規アプリケーションの作成依頼があった場合において、プライマリクラウドにおいて緊急依頼に即座に対応することができる可能性が高くなる。
セカンダリクラウド決定部140は、このようにして算出したプライマリクラウドにデプロイできない余剰CNFの数(fd個)を、セカンダリクラウドに配置するCNFの数(f)に設定する。なお、セカンダリクラウド決定部140は、対象アプリケーションを構築する全てのCNFの数(ftotal)を、CNFの数(f)に設定してもよい。この場合には、対象アプリケーションを構築する全てのCNFがセカンダリクラウドにデプロイされるようになる。
セカンダリクラウド決定部140は、このようにして算出したプライマリクラウドにデプロイできない余剰CNFの数(fd個)を、セカンダリクラウドに配置するCNFの数(f)に設定する。なお、セカンダリクラウド決定部140は、対象アプリケーションを構築する全てのCNFの数(ftotal)を、CNFの数(f)に設定してもよい。この場合には、対象アプリケーションを構築する全てのCNFがセカンダリクラウドにデプロイされるようになる。
セカンダリクラウド決定部140は、例えば、クラウドグループ内のプライマリクラウド以外のクラウドが、f個のCNFをデプロイした場合の空きリソースの大きさに基づいて、セカンダリクラウドを決定する。空リソースの大きさは、一個のCNFを単位としてカウントされる。セカンダリクラウド決定部140は、クラウドグループ内のクラウドのリソース使用状況についての情報を、リソース判定部120から取得することができる。
なお、セカンダリクラウド決定部140は、空きリソースの大きさに加え、更に、プライマリクラウドとプライマリクラウド以外のクラウドとの地理的(又は論理的)距離に基づいて、セカンダリクラウドを決定してもよい。
例えば、セカンダリクラウド決定部140は、空きリソースの大きさが同じクラウドが複数ある場合、空きリソースの大きさが同じ複数のクラウドのうち、プライマリクラウドからの距離が最小のクラウドをセカンダリクラウドに決定してもよい。
また、セカンダリクラウド決定部140は、プライマリクラウドとプライマリクラウド以外のクラウドとの地理的(又は論理的)距離に基づいて、セカンダリクラウドを決定してもよい。例えば、セカンダリクラウド決定部140は、空きリソースの大きさに関わらず、プライマリクラウドからの距離が最小のクラウドをセカンダリクラウドに決定してもよい。距離に基づいてセカンダリクラウドを決定する場合には、1つのアプリケーションを構築するCNFが、距離が最も近いクラウド同士に分散してデプロイされるようになるので、CNFの配置に起因する通信遅延を小さくすることができる。
例えば、セカンダリクラウド決定部140は、空きリソースの大きさが同じクラウドが複数ある場合、空きリソースの大きさが同じ複数のクラウドのうち、プライマリクラウドからの距離が最小のクラウドをセカンダリクラウドに決定してもよい。
また、セカンダリクラウド決定部140は、プライマリクラウドとプライマリクラウド以外のクラウドとの地理的(又は論理的)距離に基づいて、セカンダリクラウドを決定してもよい。例えば、セカンダリクラウド決定部140は、空きリソースの大きさに関わらず、プライマリクラウドからの距離が最小のクラウドをセカンダリクラウドに決定してもよい。距離に基づいてセカンダリクラウドを決定する場合には、1つのアプリケーションを構築するCNFが、距離が最も近いクラウド同士に分散してデプロイされるようになるので、CNFの配置に起因する通信遅延を小さくすることができる。
また、セカンダリクラウド決定部140は、クラウドグループ内のプライマリクラウド以外のクラウドの現在の空きリソースの大きさに基づいて、セカンダリクラウドを決定してもよい。この場合には、セカンダリクラウド決定部140は、セカンダリクラウドを決定してから、セカンダリクラウドに配置するCNFの個数(f)を設定してもよい。これにより、セカンダリクラウドに最大限のCNFを配置することもできるようになる。
また、セカンダリクラウド決定部140は、クラウドグループ内の特定のクラウドを常にセカンダリクラウドに決定してもよい。この場合には、新規アプリケーションがデプロイされ、サービス提供が開始されるまでの時間を短縮することができる。
また、セカンダリクラウド決定部140は、クラウドグループ内の特定のクラウドを常にセカンダリクラウドに決定してもよい。この場合には、新規アプリケーションがデプロイされ、サービス提供が開始されるまでの時間を短縮することができる。
セカンダリクラウド決定部140は、決定したセカンダリクラウドの情報をデプロイ部160に通知する。また、セカンダリクラウド決定部140は、セカンダリクラウドに配置するCNFの個数(f)についての情報をCNF選択部150に通知する。
CNF選択部150は、対象アプリケーションを構築するCNFの特性についての情報を、例えば、アプリケーションの登録を管理している管理装置から取得する。CNFの特性は、例えば、CNFが、ユーザデータに関連する、又は、制御データに関連する等、サービス提供される際にCNFが担う役割を表す情報である。
ユーザデータに関連するCNFは、ユーザ端末から直接アクセスされる。制御データに関連するCNFは、通常、ユーザ端末から直接アクセスされないが、ユーザデータに関連するCNFに接続され得る。
ユーザデータに関連するCNFは、ユーザ端末から直接アクセスされる。制御データに関連するCNFは、通常、ユーザ端末から直接アクセスされないが、ユーザデータに関連するCNFに接続され得る。
CNF選択部150は、また、セカンダリクラウド決定部140から、セカンダリクラウドに配置されるCNFの個数(f)の情報を取得する。
CNF選択部150は、対象アプリケーションを構築するCNFのうち、CNFの優先順位に基づいて、CNFの優先順位が低い順に、セカンダリクラウドに配置するCNFを選択する。以下では、セカンダリクラウドに配置されるCNFを「対象CNF」とも記載する。
CNF選択部150は、対象アプリケーションを構築するCNFのうち、CNFの優先順位に基づいて、CNFの優先順位が低い順に、セカンダリクラウドに配置するCNFを選択する。以下では、セカンダリクラウドに配置されるCNFを「対象CNF」とも記載する。
CNFの優先順位は、予め設定されてよい。例えば、CNFの優先順位は、CNFの特性に基づいて設定されてよい。CNFの特性は、例えば、CNFが、ユーザデータに関連している、又は、制御データに関連している等、サービス提供される際にCNFが担う役割を表す情報である。
ユーザデータに関連する機能及び制御データに関連する機能に着目して、優先順位が設定される場合には、ユーザデータに関連するCNFの優先順位が、制御データに関連するCNFの優先順位より高く設定される。
ユーザデータに関連する機能及び制御データに関連する機能に着目して、優先順位が設定される場合には、ユーザデータに関連するCNFの優先順位が、制御データに関連するCNFの優先順位より高く設定される。
このように設定されたCNFの優先順位に基づいて、CNF選択部150が、CNFの優先順位が低い順に、セカンダリクラウドに配置するCNFを選択する場合には、ユーザ端末から直接アクセスされ得るCNFがプライマリクラウドに優先的に配置されるようになる。そのため、ユーザ端末がサービス提供を受ける際の通信遅延の影響を抑えることができる。
CNF選択部150は、対象CNFを選択すると、対象CNFの情報をデプロイ部160に通知する。
なお、セカンダリクラウド決定部140から通知される、セカンダリクラウドに配置されるCNFの個数(f)が、対象アプリケーションを構築するCNFの総数に等しい場合、CNF選択部150は、対象アプリケーションの全てのCNFを選択する。
なお、セカンダリクラウド決定部140から通知される、セカンダリクラウドに配置されるCNFの個数(f)が、対象アプリケーションを構築するCNFの総数に等しい場合、CNF選択部150は、対象アプリケーションの全てのCNFを選択する。
デプロイ部160は、CNF選択部150において選択されたf個の対象CNFを、セカンダリクラウドにデプロイする。また、対象アプリケーションが新規アプリケーションの場合、デプロイ部160は、新規アプリケーションを構築するCNFのうち、対象CNF以外のCNFをプライマリクラウドにデプロイする。また、対象アプリケーションが既存アプリケーションの場合、デプロイ部160は、対象CNFをプライマリクラウドから削除するための処理を実行する。
このようにして、新規作成依頼時にプライマリクラウドのリソースが逼迫している場合に、対象アプリケーションを構築するCNFの少なくとも一部(対象CNF)が、セカンダリクラウドにデプロイされるようになる。
このようにして、新規作成依頼時にプライマリクラウドのリソースが逼迫している場合に、対象アプリケーションを構築するCNFの少なくとも一部(対象CNF)が、セカンダリクラウドにデプロイされるようになる。
なお、新規アプリケーションを構築する全てのCNFをデプロイするためのリソースがプライマリクラウドにある場合においても、一部のCNFがセカンダリクラウドに配置されるようにしてもよい。つまり、実際にはプライマリクラウドのリソースが逼迫していない場合であっても、予め設定した状況に限り、リソース判定部120が、リソースが逼迫していると擬制判定するようにしてもよい。これにより、リソース逼迫が発生する前に、CNFの一部をセカンダリクラウドに事前にデプロイしておくことができるので、プライマリクラウドのリソースが逼迫するタイミングを遅らせることができる。リソース判定部120は、例えば、新規アプリケーションの作成依頼が続くと予想されるような状況の場合に、リソースが逼迫していると擬制判定する。リソースが逼迫していると擬制判定する状況は、これに限定されるものではない。
図4は、本開示に係る制御装置100の動作例を示すフローチャートである。
リソース監視部110は、クラウドグループ内のクラウドのリソース使用状況を監視する(S11)。
リソース判定部120は、プライマリクラウドへの新規アプリケーションの作成依頼時に、プライマリクラウドのリソースが逼迫しているか否か判定する(S12)。具体的には、リソース判定部120は、新規アプリケーションを構築する全てのCNFをデプロイするためのリソースがプライマリクラウドにない場合、リソースが逼迫していると判定する。
アプリケーション選択部130は、アプリケーションの優先順位に基づいて、セカンダリクラウドに配置するアプリケーション(対象アプリケーション)を選択する(S13)。
リソース監視部110は、クラウドグループ内のクラウドのリソース使用状況を監視する(S11)。
リソース判定部120は、プライマリクラウドへの新規アプリケーションの作成依頼時に、プライマリクラウドのリソースが逼迫しているか否か判定する(S12)。具体的には、リソース判定部120は、新規アプリケーションを構築する全てのCNFをデプロイするためのリソースがプライマリクラウドにない場合、リソースが逼迫していると判定する。
アプリケーション選択部130は、アプリケーションの優先順位に基づいて、セカンダリクラウドに配置するアプリケーション(対象アプリケーション)を選択する(S13)。
セカンダリクラウド決定部140は、対象アプリケーションを構築する全てのCNFのうち、セカンダリクラウドに配置するCNF(対象CNF)の数(f)を設定する(S14)。セカンダリクラウド決定部140は、セカンダリクラウドを決定する(S15)。なお、前述したように、セカンダリクラウドを決定してから、CNF(対象CNF)の数(f)を設定してもよい。
CNF選択部150は、対象アプリケーションを構築するCNFから、f個のセカンダリクラウドに配置するCNF(対象CNF)を選択する(S16)。S16において、CNF選択部150は、予め設定されているCNFの優先順位に基づいて、対象CNFを選択してもよい。
デプロイ部160は、選択された対象CNFをセカンダリクラウドにデプロイする(S17)。
なお、S12において、新規アプリケーションの作成依頼があったプライマリクラウドのリソースが逼迫していないと判定された場合、デプロイ部160は、新規アプリケーションをプライマリクラウドに作成する。(S18)。
CNF選択部150は、対象アプリケーションを構築するCNFから、f個のセカンダリクラウドに配置するCNF(対象CNF)を選択する(S16)。S16において、CNF選択部150は、予め設定されているCNFの優先順位に基づいて、対象CNFを選択してもよい。
デプロイ部160は、選択された対象CNFをセカンダリクラウドにデプロイする(S17)。
なお、S12において、新規アプリケーションの作成依頼があったプライマリクラウドのリソースが逼迫していないと判定された場合、デプロイ部160は、新規アプリケーションをプライマリクラウドに作成する。(S18)。
次に、図5を用いて、本開示に係る制御装置100における動作について説明する。図5は、本開示に係る制御装置100における処理シーケンスの一例を示す図である。
制御装置100は、クラウドグループ内のクラウドのリソース使用状況を監視する(「リソース情報管理」、T11)。
制御装置100は、クラウドグループ内のクラウドのリソース使用状況を監視する(「リソース情報管理」、T11)。
図5には、クラウドグループ内のプライマリクラウド以外の第i番目のクラウド(クラウド(i)とも記載する)のリソース使用状況が監視されている様子が示されている。ここで、i=1からN-1であり、Nはクラウドグループ内のクラウドの総数である。
また、リソース使用状況の監視は、定期的、又は、新規アプリケーションの作成依頼をトリガとして行われてもよい。
また、リソース使用状況の監視は、定期的、又は、新規アプリケーションの作成依頼をトリガとして行われてもよい。
制御装置100は、クラウドグループ内のプライマリクラウドへの新規アプリケーションの作成依頼(「新規アプリケーション作成依頼」、T12)をトリガとして、新規アプリケーションを構築する全てのCNFをデプロイするためのリソースが、プライマリクラウドにあるか否かを判定する(「リソース判定」、T13)。例えば、比率fsum/fmaxで定義されるリソース使用割合Rが1以下の場合、制御装置100は、新規アプリケーションを構築する全てのCNFをデプロイするためのリソースがプライマリクラウドにある(「リソース逼迫無し」)と判定する。一方、リソース使用割合Rが1より大きい場合、制御装置100は、新規アプリケーションを構築する全てのCNFをデプロイするためのリソースがプライマリクラウドにない(「リソース逼迫有り」)と判定する。
「リソース判定」(T13)において、「リソース逼迫有り」と判定された場合、制御装置100は、セカンダリクラウドに配置するアプリケーション(対象アプリケーション)を選択する(「アプリケーション選択」、T14)。対象アプリケーションは、プライマリクラウドに配置されている既存アプリケーション及びプライマリクラウドへ作成依頼された新規アプリケーションから、アプリケーションの優先順位に基づいて、選択される。
対象アプリケーションが選択されると、制御装置100は、対象アプリケーションを構築するCNFの少なくとも一部を配置するセカンダリクラウドを決定する(「セカンダリクラウド決定」、T15)。また、「セカンダリクラウド決定」(T15)では、制御装置100は、セカンダリクラウドに配置するCNF(対象CNF)の数を設定する。
また、制御装置100は、CNFの優先順位に基づいて、セカンダリクラウドに配置するCNF(対象CNF)を選択する(「CNFの選択」、T16)。
対象アプリケーションが選択されると、制御装置100は、対象アプリケーションを構築するCNFの少なくとも一部を配置するセカンダリクラウドを決定する(「セカンダリクラウド決定」、T15)。また、「セカンダリクラウド決定」(T15)では、制御装置100は、セカンダリクラウドに配置するCNF(対象CNF)の数を設定する。
また、制御装置100は、CNFの優先順位に基づいて、セカンダリクラウドに配置するCNF(対象CNF)を選択する(「CNFの選択」、T16)。
対象CNFが選択されると、制御装置100は、プライマリクラウドから対象CNFを削除し、対象CNFをセカンダリクラウドにデプロイする(T17)。
「リソース判定」(T13)において、「リソース逼迫無し」と判定された場合、制御装置100は、プライマリクラウドに新規アプリケーションを構築する全てのCNFをデプロイすると決定してもよい(T14、T15、T16)。この場合には、制御装置100は、新規アプリケーションを構築する全てのCNFをプライマリクラウドにデプロイする(T18)。
以上のように、本開示に係る制御装置100は、少なくとも、リソース判定部120、アプリケーション選択部130、CNF選択部150、及び、デプロイ部160を備える。
リソース判定部120は、プライマリクラウドへの新規アプリケーションの作成依頼時に、新規アプリケーションを構築する全てのCNFをデプロイするためのリソースが、プライマリクラウドにあるか否かを示すリソース逼迫の有無を判定する。プライマリクラウドは、複数のクラウドにより形成されるクラウドグループ内のクラウドである。
アプリケーション選択部130は、アプリケーションの優先順位に基づいて、プライマリクラウドに配置されている既存アプリケーション及び新規アプリケーションから、セカンダリクラウドに配置するアプリケーションを選択する。
CNF選択部150は、対象アプリケーションを構築するCNFから、セカンダリクラウドに配置するCNF(対象CNF)を選択する。選択される対象CNFの数は、f個である。
デプロイ部160は、CNF選択部150において選択された対象CNFを、セカンダリクラウドにデプロイする。
リソース判定部120は、プライマリクラウドへの新規アプリケーションの作成依頼時に、新規アプリケーションを構築する全てのCNFをデプロイするためのリソースが、プライマリクラウドにあるか否かを示すリソース逼迫の有無を判定する。プライマリクラウドは、複数のクラウドにより形成されるクラウドグループ内のクラウドである。
アプリケーション選択部130は、アプリケーションの優先順位に基づいて、プライマリクラウドに配置されている既存アプリケーション及び新規アプリケーションから、セカンダリクラウドに配置するアプリケーションを選択する。
CNF選択部150は、対象アプリケーションを構築するCNFから、セカンダリクラウドに配置するCNF(対象CNF)を選択する。選択される対象CNFの数は、f個である。
デプロイ部160は、CNF選択部150において選択された対象CNFを、セカンダリクラウドにデプロイする。
制御装置100が、上記のような構成を採ることにより、クラウドグループ内のクラウド間においてリソース共有が図られる。これにより、新規アプリケーションの作成依頼がされたプライマリクラウドに、新規アプリケーションを構築する全てのCNFをデプロイするだけの十分なリソースがないような場合においても、ユーザ端末に安定してサービスを提供することができるようになる。
また、優先順位が高いアプリケーションがプライマリクラウドに配置され、優先順位が低いアプリケーションがセカンダリクラウドに配置されるようになるので、例えば、通信遅延等によるユーザビリティの劣化を抑えることができる。
また、アプリケーションを構築するCNFを異なるクラウドに分散して配置することができるので、クラウドグループ全体としてのコンピューティングリソース消費の平準化を可能とすることもできる。
また、優先順位が高いアプリケーションがプライマリクラウドに配置され、優先順位が低いアプリケーションがセカンダリクラウドに配置されるようになるので、例えば、通信遅延等によるユーザビリティの劣化を抑えることができる。
また、アプリケーションを構築するCNFを異なるクラウドに分散して配置することができるので、クラウドグループ全体としてのコンピューティングリソース消費の平準化を可能とすることもできる。
(第2の実施形態)
図6は、本開示に係る制御装置200の構成例を示す機能ブロック図である。なお、図3に示す制御装置100及び図6に示す制御装置200において共通する要素又は機能については、その説明を省略する。
制御装置200は、リソース監視部110、リソース判定部120、アプリケーション選択部130、セカンダリクラウド決定部140、CNF選択部150、デプロイ部160に加え、優先順位更新部210を更に備える。
図6は、本開示に係る制御装置200の構成例を示す機能ブロック図である。なお、図3に示す制御装置100及び図6に示す制御装置200において共通する要素又は機能については、その説明を省略する。
制御装置200は、リソース監視部110、リソース判定部120、アプリケーション選択部130、セカンダリクラウド決定部140、CNF選択部150、デプロイ部160に加え、優先順位更新部210を更に備える。
優先順位更新部210は、プライマリクラウドに配置されている既存アプリケーションの稼動状況に応じて、アプリケーションの優先順位を更新する。
稼動状況は、アプリケーションの稼動時間、アプリケーションに接続されているユーザ端末数、アプリケーションのデータ量、及び、アプリケーションのスループットのうち少なくとも1つを含む。アプリケーション選択部130は、例えば、クラウドを管理する管理装置に問い合わせることにより、稼動時間についての情報を取得することができる。また、アプリケーション選択部130は、例えば、UPFに問い合わせることにより、アプリケーションに接続されているユーザ端末数、アプリケーションのデータ量、及び、アプリケーションのスループットについての情報を取得することができる。
例えば、同程度のQoSが要求されるアプリケーションが複数あって、これらアプリケーションの優先順位が同等の場合、優先順位更新部210は、稼動状況に応じて、アプリケーションの優先順位を更新することができる。
稼動状況としてアプリケーションの稼動時間を用いる場合、優先順位更新部210は、稼動時間が少ないアプリケーションほど、その優先順位を低く設定する。稼動状況としてアプリケーションに接続されているユーザ端末数を用いる場合、優先順位更新部210は、接続されているユーザ端末数が少ないアプリケーションほど、その優先順位を低く設定する。稼動状況としてアプリケーションのデータ量を用いる場合、優先順位更新部210は、データ量が少ないアプリケーションほど、その優先順位を低く設定する。稼動状況としてアプリケーションのスループットを用いる場合、優先順位更新部210は、スループットが少ないアプリケーションほど、その優先順位を低く設定する。
優先順位更新部210は、更新したアプリケーションの優先順位の情報を、アプリケーション選択部130に通知する。
稼動状況は、アプリケーションの稼動時間、アプリケーションに接続されているユーザ端末数、アプリケーションのデータ量、及び、アプリケーションのスループットのうち少なくとも1つを含む。アプリケーション選択部130は、例えば、クラウドを管理する管理装置に問い合わせることにより、稼動時間についての情報を取得することができる。また、アプリケーション選択部130は、例えば、UPFに問い合わせることにより、アプリケーションに接続されているユーザ端末数、アプリケーションのデータ量、及び、アプリケーションのスループットについての情報を取得することができる。
例えば、同程度のQoSが要求されるアプリケーションが複数あって、これらアプリケーションの優先順位が同等の場合、優先順位更新部210は、稼動状況に応じて、アプリケーションの優先順位を更新することができる。
稼動状況としてアプリケーションの稼動時間を用いる場合、優先順位更新部210は、稼動時間が少ないアプリケーションほど、その優先順位を低く設定する。稼動状況としてアプリケーションに接続されているユーザ端末数を用いる場合、優先順位更新部210は、接続されているユーザ端末数が少ないアプリケーションほど、その優先順位を低く設定する。稼動状況としてアプリケーションのデータ量を用いる場合、優先順位更新部210は、データ量が少ないアプリケーションほど、その優先順位を低く設定する。稼動状況としてアプリケーションのスループットを用いる場合、優先順位更新部210は、スループットが少ないアプリケーションほど、その優先順位を低く設定する。
優先順位更新部210は、更新したアプリケーションの優先順位の情報を、アプリケーション選択部130に通知する。
このようにして、優先順位が同程度のアプリケーションが複数ある場合に、優先順位更新部210は、これらアプリケーション内での優先順位を更新することができる。これにより、稼動時間が少ないアプリケーションがセカンダリクラウドに配置され、稼動時間が多いアプリケーションはプライマリクラウドに配置される。また、接続されているユーザ端末数が少ないアプリケーションがセカンダリクラウドに配置され、接続されているユーザ端末数が多いアプリケーションはプライマリクラウドに配置される。また、アプリケーションにおけるデータ量が少ないアプリケーションがセカンダリクラウドに配置され、アプリケーションにおけるデータ量が多いアプリケーションはプライマリクラウドに配置される。また、アプリケーションにおけるスループットが少ないアプリケーションがセカンダリクラウドに配置され、アプリケーションにおけるスループットが多いアプリケーションはプライマリクラウドに配置される。このように、プライマリクラウドにおけるアプリケーションの稼動状況に応じて対象アプリケーションが決定されるので、セカンダリクラウドに配置された場合にユーザビリティへの影響が低いアプリケーションが対象アプリケーションに決定されることになる。
なお、優先順位更新部210は、プライマリクラウドに配置されている既存アプリケーションに加えて、クラウドグループ内のクラウドに配置されている既存アプリケーションの稼動状況に応じて、優先順位を更新してもよい。この場合には、プライマリクラウドにおいて、アプリケーションの稼動時間、アプリケーションに接続されているユーザ端末数、及び、アプリケーションにおけるデータ量が、一時的に少なかったために、優先順位が極端に低く設定されてしまうのを防ぐことができる。
優先順位更新部210は、更新した優先順位の情報を、アプリケーション選択部130に通知する。
これにより、アプリケーション選択部130は、直近のアプリケーションの稼動状況に応じて更新された優先順位に基づいて、セカンダリクラウドに配置されるアプリケーションを決定することができる。
これにより、アプリケーション選択部130は、直近のアプリケーションの稼動状況に応じて更新された優先順位に基づいて、セカンダリクラウドに配置されるアプリケーションを決定することができる。
図7は、本開示に係る制御装置200の動作例を示すフローチャートである。図7に示すように、制御装置200の動作例では、S21(優先順位更新)の処理が、第1の実施形態に係る制御装置100の動作例に更に追加されている。共通する処理については、同一の符号を伏し、説明を省略する。
優先順位更新部210は、プライマリクラウドに配置されている既存アプリケーションの稼動状況に応じて、アプリケーションの優先順位を更新する(S21)。更新されたアプリケーションの優先順位は、アプリケーション選択部130において用いられる。
優先順位更新部210は、プライマリクラウドに配置されている既存アプリケーションの稼動状況に応じて、アプリケーションの優先順位を更新する(S21)。更新されたアプリケーションの優先順位は、アプリケーション選択部130において用いられる。
次に、図8を用いて、本開示に係る制御装置200における動作について説明する。図8は、本開示に係る制御装置200における処理シーケンスの一例を示す図である。図8に示すように、制御装置200では、「優先順位更新」(T21)の処理が、第1の実施形態に係る制御装置100の処理シーケンスに更に追加されている。共通する処理については、同一の符号を伏し、説明を省略する。
制御装置200は、プライマリクラウドに配置されている既存アプリケーションの稼動状況に応じて、アプリケーションの優先順位を更新する(T21)。更新されたアプリケーションの優先順位は、対象アプリケーションを決定する(T14)際に用いられる。
制御装置200は、プライマリクラウドに配置されている既存アプリケーションの稼動状況に応じて、アプリケーションの優先順位を更新する(T21)。更新されたアプリケーションの優先順位は、対象アプリケーションを決定する(T14)際に用いられる。
以上のように、本開示に係る制御装置200は、リソース判定部120、アプリケーション選択部130、CNF選択部150、デプロイ部160、及び、優先順位更新部210を備える。
優先順位更新部210は、プライマリクラウドに配置されている既存アプリケーションの稼動状況に応じて、アプリケーションの優先順位を更新する。
制御装置200が、上記のような構成を採ることにより、制御装置100と同様に、クラウドグループ内のクラウド間においてリソース共有が図られる。また、セカンドクラウドに配置されるアプリケーションが、直近のアプリケーションの稼動状況に応じて更新されたアプリケーションの優先順位に基づいて選択されるので、制御装置100に比べて、ユーザビリティをより向上させることができる。
優先順位更新部210は、プライマリクラウドに配置されている既存アプリケーションの稼動状況に応じて、アプリケーションの優先順位を更新する。
制御装置200が、上記のような構成を採ることにより、制御装置100と同様に、クラウドグループ内のクラウド間においてリソース共有が図られる。また、セカンドクラウドに配置されるアプリケーションが、直近のアプリケーションの稼動状況に応じて更新されたアプリケーションの優先順位に基づいて選択されるので、制御装置100に比べて、ユーザビリティをより向上させることができる。
(適用例)
図9A及び図9Bを用いて、本開示に係る制御装置100、200の適用例について説明する。
以下では、Edge Cloud#1に、新規アプリケーションとして、仮想化されたCU(vCU)の作成依頼があった場合を例に説明する。前述したように、CUは、CNFに相当するCU-CPとCU-UPとから構築され得る。
図9A及び図9Bを用いて、本開示に係る制御装置100、200の適用例について説明する。
以下では、Edge Cloud#1に、新規アプリケーションとして、仮想化されたCU(vCU)の作成依頼があった場合を例に説明する。前述したように、CUは、CNFに相当するCU-CPとCU-UPとから構築され得る。
なお、新規アプリケーションは、CUに限定されるものではない。例えば、アプリケーションは、5Gのような移動体通信システム内のネットワーク機能(NF)であってもよい。移動体通信システム内のNFとしては、CUに加えて、CN内のSNF及びDUが挙げられる。
本開示に係る制御装置100、200は、互いに機能連携通信が可能な複数のCNFから構築されるアプリケーションに対して適用可能である。
本開示に係る制御装置100、200は、互いに機能連携通信が可能な複数のCNFから構築されるアプリケーションに対して適用可能である。
図9Aは、vCUの作成依頼時、Edge Cloud#1に、vCUを作成できるリソースがなかったため、Edge Cloud#2に、vCUが作成された場合の例である。
これに対して、図9Bは、クラウドグループが形成され、本開示に係る制御装置100、200を用いて、クラウド間でリソースを共有した場合の配置例である。Edge Cloud#1へvCUの作成依頼時に、Edge Cloud#1にvCUを作成できるだけのリソースがなかったとしても、本開示に係る制御装置100、200を用いることにより、vCUを構築するCNFの一部をEdge Cloud#2にデプロイすることができる。図9Bには、本開示に係る制御装置100、200を用いて、CU-UPがEdge Cloud#1にデプロイされ、CU-CPがEdge Cloud#2にデプロイされた様子が示されている。CU-UP及びCU-CPは、vCUを構築するCNFである。
これに対して、図9Bは、クラウドグループが形成され、本開示に係る制御装置100、200を用いて、クラウド間でリソースを共有した場合の配置例である。Edge Cloud#1へvCUの作成依頼時に、Edge Cloud#1にvCUを作成できるだけのリソースがなかったとしても、本開示に係る制御装置100、200を用いることにより、vCUを構築するCNFの一部をEdge Cloud#2にデプロイすることができる。図9Bには、本開示に係る制御装置100、200を用いて、CU-UPがEdge Cloud#1にデプロイされ、CU-CPがEdge Cloud#2にデプロイされた様子が示されている。CU-UP及びCU-CPは、vCUを構築するCNFである。
このようにして、新規アプリケーションの作成依頼があったクラウドのコンピューティングリソースが不足しているような場合においても、クラウドグループを形成するクラウド間においてリソースを共有する。これにより、新規アプリケーションを構築するCNFを分散してクラウドグループ内のクラウドに配置することができる。そのため、クラウドに配置可能なコンピューティングリソースが十分でないような場合においても、クラウドグループ全体として、ユーザ端末に安定してサービスを提供することができる。
なお、図9Bに示すように、Edge Cloud#2にデプロイされたCU-CPは、Edge Cloud#3にデプロイされたCU-UPと、E1インターフェースにより接続することが可能である。これにより、Edge Cloud#1にデプロイされたCU-UPと、Edge Cloud#3にデプロイされたCU-UPとで、Edge Cloud#2にデプロイされたCU-CPを共有することができるようになる。この場合には、Edge Cloud#3にCU-CPを配置する必要がなくなり、Edge Cloud#3におけるコンピューティングリソース消費を抑えることができる。
なお、以上の説明では、ユーザ端末に提供されるサービスと、クラウドにデプロイされるアプリケーションとが、図2に示すような関係を有している場合を例に説明したが、これに限定されるものではない。アプリケーションが、サービス提供する際の役割毎に分割された役割単位から構築され、これら役割単位が異なるクラウドにデプロイされた場合においても、役割単位同士の機能連携通信が可能であるようなアーキテクチャが採られていればよい。
図10は、本開示に係る制御装置100及び制御装置200を実装するコンピュータ300を示す図である。コンピュータ300は、プロセッサ310と、メモリ320と、通信部330と、を含む。プロセッサ310、メモリ320、及び通信部330の数は限定されず、1つ又は複数であってよい。また、プロセッサ310、メモリ320、及び通信部330は、制御装置100又は制御装置200を構成する各部が配置される場所毎にまとめて配置されていてもよい。プロセッサ310は、制御装置100又は制御装置200にインストールされるプログラムに従って動作するマイクロプロセッサ等のプログラム制御デバイスである。メモリ320は、ROM若しくはRAM等の記憶素子、ソリッドステートドライブ(SSD)、又はハードディスクドライブ(HDD)等の記憶デバイスである。メモリ320には、プロセッサ310によって実行されるプログラム等が記憶される。通信部330は、例えば、NIC又は無線LANモジュール等の通信インターフェースである。なお、通信部330において、SDN(Software-Defined Networking)が実装されていてもよい。
コンピュータ300は、更にストレージ340を含んでもよい。
ストレージ340に記憶されるアプリケーション情報としては、新規アプリケーションを構築するCNF総数の情報、CNFの特性についての情報、及び、アプリケーションの優先順位の情報を例示することができる。
コンピュータ300は、図示していない他の構成を更に含んでいてもよい。
コンピュータ300は、更にストレージ340を含んでもよい。
ストレージ340に記憶されるアプリケーション情報としては、新規アプリケーションを構築するCNF総数の情報、CNFの特性についての情報、及び、アプリケーションの優先順位の情報を例示することができる。
コンピュータ300は、図示していない他の構成を更に含んでいてもよい。
本開示に係る制御装置100は、1以上のプロセッサを備える。1以上のプロセッサが、複数のクラウドにより形成されるクラウドグループ内のプライマリクラウドへの新規アプリケーションの作成依頼時に、プライマリクラウドのリソースが逼迫していることをトリガとして、クラウドグループ内のセカンダリクラウドを利用すると決定する。1以上のプロセッサが、アプリケーションの優先順位に基づいて、プライマリクラウドに配置されている既存アプリケーション及び新規アプリケーションから、セカンダリクラウドに配置するアプリケーションを選択する。1以上のプロセッサが、セカンダリクラウドに配置するアプリケーションを構築するCNFの少なくとも一部を選択する。1以上のプロセッサが、選択された少なくとも一部のCNFをセカンダリクラウドにデプロイする。
本開示に係る制御装置200は、1以上のプロセッサを備える。1以上のプロセッサが、複数のクラウドにより形成されるクラウドグループ内のプライマリクラウドへの新規アプリケーションの作成依頼時に、プライマリクラウドのリソースが逼迫していることをトリガとして、クラウドグループ内のセカンダリクラウドを利用すると決定する。1以上のプロセッサが、プライマリクラウドに配置されている既存アプリケーションの稼動状況に応じて、優先順位を更新する。1以上のプロセッサが、アプリケーションの優先順位に基づいて、プライマリクラウドに配置されている既存アプリケーション及び新規アプリケーションから、セカンダリクラウドに配置するアプリケーションを選択する。1以上のプロセッサが、セカンダリクラウドに配置するアプリケーションを構築するCNFの少なくとも一部を選択する。1以上のプロセッサが、選択された少なくとも一部のCNFをセカンダリクラウドにデプロイする。
なお、アプリケーションの構築に、コンテナ型仮想化技術が適用されている場合、本開示に係る制御装置100、200は、オーケストレータの機能を用いて、クラウド間におけるリソース共有を実現してもよい。
本開示は、前述の構成に限定されず、本開示には制御プログラムも含まれる。すなわち、コンピュータによって読み込まれると、コンピュータの1以上のプロセッサに、制御装置100、200の各部を実行させるためのプログラムも本開示に含まれる。
当該上記プログラムは、コンピュータ読み取り可能で非一時的な(non-transitory)記憶媒体に記録されて提供されてよい。
当該上記プログラムは、コンピュータ読み取り可能で非一時的な(non-transitory)記憶媒体に記録されて提供されてよい。
本開示は次の態様を含む。
[1] 1以上のプロセッサを備え、前記1以上のプロセッサが、
複数のクラウドにより形成されるクラウドグループ内のプライマリクラウドへの新規アプリケーションの作成依頼時に、前記新規アプリケーションを構築する全てのCNF(Containerized Network Function)をデプロイするためのリソースが前記プライマリクラウドにあるか否かに対応する、リソース逼迫の有無を判定することと、
前記リソースが逼迫している場合に、アプリケーションの優先順位に基づいて、前記プライマリクラウドに配置されている既存アプリケーション及び前記新規アプリケーションから、少なくとも1つのアプリケーションを選択することと、
選択された前記少なくとも1つのアプリケーションを構築するCNF(Containerized Network Function)から、少なくとも一部のCNFを選択することと、
選択された前記少なくとも一部のCNFを、前記クラウドグループ内のセカンダリクラウドにデプロイすることと、
を実行する、制御装置。
複数のクラウドにより形成されるクラウドグループ内のプライマリクラウドへの新規アプリケーションの作成依頼時に、前記新規アプリケーションを構築する全てのCNF(Containerized Network Function)をデプロイするためのリソースが前記プライマリクラウドにあるか否かに対応する、リソース逼迫の有無を判定することと、
前記リソースが逼迫している場合に、アプリケーションの優先順位に基づいて、前記プライマリクラウドに配置されている既存アプリケーション及び前記新規アプリケーションから、少なくとも1つのアプリケーションを選択することと、
選択された前記少なくとも1つのアプリケーションを構築するCNF(Containerized Network Function)から、少なくとも一部のCNFを選択することと、
選択された前記少なくとも一部のCNFを、前記クラウドグループ内のセカンダリクラウドにデプロイすることと、
を実行する、制御装置。
[2] 前記アプリケーションの優先順位は、QoS(Quality of service)に応じて設定されている、
[1]に記載の制御装置。
[1]に記載の制御装置。
[3] 前記1以上のプロセッサが、
予め設定されているCNFの優先順位に基づいて、前記少なくとも一部のCNFを選択すること、
を更に実行する、[1]又は[2]に記載の制御装置。
予め設定されているCNFの優先順位に基づいて、前記少なくとも一部のCNFを選択すること、
を更に実行する、[1]又は[2]に記載の制御装置。
[4] 前記予め設定されているCNFの優先順位では、ユーザデータに関連するCNFの優先順位が、制御データに関連するCNFの優先順位より高い、
[3]に記載の制御装置。
[3]に記載の制御装置。
[5] 前記1以上のプロセッサが、
前記プライマリクラウドに配置されている既存アプリケーションの稼動状況に応じて、前記優先順位を更新すること、
を更に実行する、[1]から[4]のいずれか1つに記載の制御装置。
前記プライマリクラウドに配置されている既存アプリケーションの稼動状況に応じて、前記優先順位を更新すること、
を更に実行する、[1]から[4]のいずれか1つに記載の制御装置。
[6] 前記1以上のプロセッサが、
前記プライマリクラウドに配置されている既存アプリケーションに加えて、前記クラウドグループのクラウドに配置されている既存アプリケーションの稼動状況に応じて、前記優先順位を更新すること、
を更に実行する、[5]に記載の制御装置。
前記プライマリクラウドに配置されている既存アプリケーションに加えて、前記クラウドグループのクラウドに配置されている既存アプリケーションの稼動状況に応じて、前記優先順位を更新すること、
を更に実行する、[5]に記載の制御装置。
[7] 前記稼動状況は、前記アプリケーションの稼動時間、前記アプリケーションに接続されているユーザ端末数、前記アプリケーションのデータ量、及び、前記アプリケーションのスループットのうち少なくとも1つを含む、
[5]又は[6]に記載の制御装置。
[5]又は[6]に記載の制御装置。
[8] 前記判定することは、前記リソースが逼迫していない場合においても、予め設定された状況の場合、前記リソースが逼迫していると擬制判定する、[1]から[7]のいずれか1つに記載の制御装置。
[9] 前記少なくとも一部のCNFの数は、プライマリクラウドにデプロイできない余剰CNFの数である、
[1]から[8]のいずれか1つに記載の制御装置。
[1]から[8]のいずれか1つに記載の制御装置。
[10] 前記1以上のプロセッサが、
前記プライマリクラウドのリソース使用状況を監視すること、
を更に実行する、[1]から[9]のいずれか1つに記載の制御装置。
前記プライマリクラウドのリソース使用状況を監視すること、
を更に実行する、[1]から[9]のいずれか1つに記載の制御装置。
[11] 前記アプリケーションは、マイクロサービスアーキテクチャにより構築されている、
[1]から[10]のいずれか1つに記載の制御装置。
[1]から[10]のいずれか1つに記載の制御装置。
[12] 前記クラウドグループは、セントラルデータセンタ上に構築されたセンタークラウドを含む、
[1]から[11]のいずれか1つに記載の制御装置。
[1]から[11]のいずれか1つに記載の制御装置。
[13] 前記クラウドグループは、リージョナルデータセンタ上に構築されたクラウドを含む、
[1]から[12]のいずれか1つに記載の制御装置。
[1]から[12]のいずれか1つに記載の制御装置。
[14] 前記アプリケーションは、移動体通信システム内のNF(Network Function)である、
[1]から[13]のいずれか1つに記載の制御装置。
[1]から[13]のいずれか1つに記載の制御装置。
[15] 前記プライマリクラウドは、エッジクラウドである、
[1]から[14]のいずれか1つに記載の制御装置。
[1]から[14]のいずれか1つに記載の制御装置。
[16] 前記セカンダリクラウドは、エッジクラウドである、
[1]から[15]のいずれか1つに記載の制御装置。
[1]から[15]のいずれか1つに記載の制御装置。
[17] 前記セカンダリクラウドは、センタークラウドである、
[1]から[15]のいずれか1つに記載の制御装置。
[1]から[15]のいずれか1つに記載の制御装置。
[18] 複数のクラウドにより形成されるクラウドグループ内のプライマリクラウドへの新規アプリケーションの作成依頼時に、前記新規アプリケーションを構築する全てのCNF(Containerized Network Function)をデプロイするためのリソースが、前記プライマリクラウドにあるか否かに対応するリソース逼迫の有無を、プロセッサを用いて、判定することと、
前記リソースが逼迫している場合に、アプリケーションの優先順位に基づいて、前記プライマリクラウドに配置されている既存アプリケーション及び前記新規アプリケーションから、少なくとも1つのアプリケーションを、プロセッサを用いて、選択することと、
選択された前記少なくとも1つのアプリケーションを構築するCNF(Containerized Network Function)から、少なくとも一部のCNFを、プロセッサを用いて、選択することと、
選択された前記少なくとも一部のCNFを、前記クラウドグループ内のセカンダリクラウドに、プロセッサを用いて、デプロイすることと、
を含む、制御方法。
前記リソースが逼迫している場合に、アプリケーションの優先順位に基づいて、前記プライマリクラウドに配置されている既存アプリケーション及び前記新規アプリケーションから、少なくとも1つのアプリケーションを、プロセッサを用いて、選択することと、
選択された前記少なくとも1つのアプリケーションを構築するCNF(Containerized Network Function)から、少なくとも一部のCNFを、プロセッサを用いて、選択することと、
選択された前記少なくとも一部のCNFを、前記クラウドグループ内のセカンダリクラウドに、プロセッサを用いて、デプロイすることと、
を含む、制御方法。
[19] コンピュータによって読み込まれると、前記コンピュータの1以上のプロセッサに、
複数のクラウドにより形成されるクラウドグループ内のプライマリクラウドへの新規アプリケーションの作成依頼時に、前記新規アプリケーションを構築する全てのCNF(Containerized Network Function)をデプロイするためのリソースが、前記プライマリクラウドにあるか否かに対応するリソース逼迫の有無を判定することと、
前記リソースが逼迫している場合に、アプリケーションの優先順位に基づいて、前記プライマリクラウドに配置されている既存アプリケーション及び前記新規アプリケーションから、少なくとも1つのアプリケーションを選択することと、
選択された前記少なくとも1つのアプリケーションを構築するCNF(Containerized Network Function)から、少なくとも一部のCNFを選択することと、
選択された前記少なくとも一部のCNFを、前記クラウドグループ内のセカンダリクラウドにデプロイすることと、
を実行させるプログラムが記録された、非一時的(non-transitory)なコンピュータ可読媒体。
複数のクラウドにより形成されるクラウドグループ内のプライマリクラウドへの新規アプリケーションの作成依頼時に、前記新規アプリケーションを構築する全てのCNF(Containerized Network Function)をデプロイするためのリソースが、前記プライマリクラウドにあるか否かに対応するリソース逼迫の有無を判定することと、
前記リソースが逼迫している場合に、アプリケーションの優先順位に基づいて、前記プライマリクラウドに配置されている既存アプリケーション及び前記新規アプリケーションから、少なくとも1つのアプリケーションを選択することと、
選択された前記少なくとも1つのアプリケーションを構築するCNF(Containerized Network Function)から、少なくとも一部のCNFを選択することと、
選択された前記少なくとも一部のCNFを、前記クラウドグループ内のセカンダリクラウドにデプロイすることと、
を実行させるプログラムが記録された、非一時的(non-transitory)なコンピュータ可読媒体。
なお、本開示は、前述の実施形態に限定されるものではなく、前述の構成に対して、構成要素の付加、削除又は転換を行った様々な変形例も含むものとする。
100、200 制御装置
110 リソース監視部
120 リソース判定部
130 アプリケーション選択部
140 セカンダリクラウド決定部
150 CNF選択部
160 デプロイ部
210 優先順位更新部
300 コンピュータ
310 プロセッサ
320 メモリ
330 通信部
340 ストレージ
110 リソース監視部
120 リソース判定部
130 アプリケーション選択部
140 セカンダリクラウド決定部
150 CNF選択部
160 デプロイ部
210 優先順位更新部
300 コンピュータ
310 プロセッサ
320 メモリ
330 通信部
340 ストレージ
Claims (19)
- 1以上のプロセッサを備え、前記1以上のプロセッサが、
複数のクラウドにより形成されるクラウドグループ内のプライマリクラウドへの新規アプリケーションの作成依頼時に、前記新規アプリケーションを構築する全てのCNF(Containerized Network Function)をデプロイするためのリソースが前記プライマリクラウドにあるか否かに対応する、リソース逼迫の有無を判定することと、
前記リソースが逼迫している場合に、アプリケーションの優先順位に基づいて、前記プライマリクラウドに配置されている既存アプリケーション及び前記新規アプリケーションから、少なくとも1つのアプリケーションを選択することと、
選択された前記少なくとも1つのアプリケーションを構築するCNF(Containerized Network Function)から、少なくとも一部のCNFを選択することと、
選択された前記少なくとも一部のCNFを、前記クラウドグループ内のセカンダリクラウドにデプロイすることと、
を実行する、制御装置。 - 前記アプリケーションの優先順位は、QoS(Quality of service)に応じて設定されている、
請求項1に記載の制御装置。 - 前記1以上のプロセッサが、
予め設定されているCNFの優先順位に基づいて、前記少なくとも一部のCNFを選択すること、
を更に実行する、請求項1に記載の制御装置。 - 前記予め設定されているCNFの優先順位では、ユーザデータに関連するCNFの優先順位が、制御データに関連するCNFの優先順位より高い、
請求項3に記載の制御装置。 - 前記1以上のプロセッサが、
前記プライマリクラウドに配置されている既存アプリケーションの稼動状況に応じて、前記優先順位を更新すること、
を更に実行する、請求項1に記載の制御装置。 - 前記1以上のプロセッサが、
前記プライマリクラウドに配置されている既存アプリケーションに加えて、前記クラウドグループのクラウドに配置されている既存アプリケーションの稼動状況に応じて、前記優先順位を更新すること、
を更に実行する、請求項5に記載の制御装置。 - 前記稼動状況は、前記アプリケーションの稼動時間、前記アプリケーションに接続されているユーザ端末数、前記アプリケーションのデータ量、及び、前記アプリケーションのスループットのうち少なくとも1つを含む、
請求項5に記載の制御装置。 - 前記判定することは、前記リソースが逼迫していない場合においても、予め設定された状況の場合、前記リソースが逼迫していると擬制判定する、
請求項1に記載の制御装置。 - 前記少なくとも一部のCNFの数は、プライマリクラウドにデプロイできない余剰CNFの数である、
請求項1に記載の制御装置。 - 前記1以上のプロセッサが、
前記プライマリクラウドのリソース使用状況を監視すること、
を更に実行する、請求項1に記載の制御装置。 - 前記アプリケーションは、マイクロサービスアーキテクチャにより構築されている、
請求項1に記載の制御装置。 - 前記クラウドグループは、セントラルデータセンタ上に構築されたセンタークラウドを含む、
請求項1に記載の制御装置。 - 前記クラウドグループは、リージョナルデータセンタ上に構築されたクラウドを含む、
請求項1に記載の制御装置。 - 前記アプリケーションは、移動体通信システム内のNF(Network Function)である、
請求項1に記載の制御装置。 - 前記プライマリクラウドは、エッジクラウドである、
請求項1に記載の制御装置。 - 前記セカンダリクラウドは、エッジクラウドである、
請求項1に記載の制御装置。 - 前記セカンダリクラウドは、センタークラウドである、
請求項1に記載の制御装置。 - 複数のクラウドにより形成されるクラウドグループ内のプライマリクラウドへの新規アプリケーションの作成依頼時に、前記新規アプリケーションを構築する全てのCNF(Containerized Network Function)をデプロイするためのリソースが、前記プライマリクラウドにあるか否かに対応するリソース逼迫の有無を、プロセッサを用いて、判定することと、
前記リソースが逼迫している場合に、アプリケーションの優先順位に基づいて、前記プライマリクラウドに配置されている既存アプリケーション及び前記新規アプリケーションから、少なくとも1つのアプリケーションを、プロセッサを用いて、選択することと、
選択された前記少なくとも1つのアプリケーションを構築するCNF(Containerized Network Function)から、少なくとも一部のCNFを、プロセッサを用いて、選択することと、
選択された前記少なくとも一部のCNFを、前記クラウドグループ内のセカンダリクラウドに、プロセッサを用いて、デプロイすることと、
を含む、制御方法。 - コンピュータによって読み込まれると、前記コンピュータの1以上のプロセッサに、
複数のクラウドにより形成されるクラウドグループ内のプライマリクラウドへの新規アプリケーションの作成依頼時に、前記新規アプリケーションを構築する全てのCNF(Containerized Network Function)をデプロイするためのリソースが、前記プライマリクラウドにあるか否かに対応するリソース逼迫の有無を判定することと、
前記リソースが逼迫している場合に、アプリケーションの優先順位に基づいて、前記プライマリクラウドに配置されている既存アプリケーション及び前記新規アプリケーションから、少なくとも1つのアプリケーションを選択することと、
選択された前記少なくとも1つのアプリケーションを構築するCNF(Containerized Network Function)から、少なくとも一部のCNFを選択することと、
選択された前記少なくとも一部のCNFを、前記クラウドグループ内のセカンダリクラウドにデプロイすることと、
を実行させるプログラムが記録された、非一時的(non-transitory)なコンピュータ可読媒体。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2022/026395 WO2024004178A1 (ja) | 2022-06-30 | 2022-06-30 | 複数のクラウドにより形成されるクラウドグループ内でのリソース共有 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2022/026395 WO2024004178A1 (ja) | 2022-06-30 | 2022-06-30 | 複数のクラウドにより形成されるクラウドグループ内でのリソース共有 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2024004178A1 true WO2024004178A1 (ja) | 2024-01-04 |
Family
ID=89382567
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2022/026395 Ceased WO2024004178A1 (ja) | 2022-06-30 | 2022-06-30 | 複数のクラウドにより形成されるクラウドグループ内でのリソース共有 |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2024004178A1 (ja) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20200351724A1 (en) * | 2019-05-03 | 2020-11-05 | Nokia Solutions And Networks Oy | Efficient computing of application data in mobile communication network |
| US20210014133A1 (en) * | 2020-09-25 | 2021-01-14 | Intel Corporation | Methods and apparatus to coordinate edge platforms |
| US20210153041A1 (en) * | 2019-11-18 | 2021-05-20 | Verizon Patent And Licensing Inc. | Systems and methods for monitoring performance in distributed edge computing networks |
-
2022
- 2022-06-30 WO PCT/JP2022/026395 patent/WO2024004178A1/ja not_active Ceased
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20200351724A1 (en) * | 2019-05-03 | 2020-11-05 | Nokia Solutions And Networks Oy | Efficient computing of application data in mobile communication network |
| US20210153041A1 (en) * | 2019-11-18 | 2021-05-20 | Verizon Patent And Licensing Inc. | Systems and methods for monitoring performance in distributed edge computing networks |
| US20210014133A1 (en) * | 2020-09-25 | 2021-01-14 | Intel Corporation | Methods and apparatus to coordinate edge platforms |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11200089B2 (en) | Systems and methods for dynamic load distribution in a multi-tier distributed platform | |
| US10985989B2 (en) | Cross layer signaling for network resource scaling | |
| CN112822050B (zh) | 用于部署网络切片的方法和装置 | |
| US10771533B2 (en) | Adaptive communication control device | |
| CN112119666A (zh) | 用于管理无线电接入网内的资源的方法、计算机程序和电路系统 | |
| US12277435B2 (en) | Management method for CDN function virtualization, electronic device, and computer readable medium | |
| US20170126583A1 (en) | Method and electronic device for bandwidth allocation based on online media services | |
| CN113672391B (zh) | 一种基于Kubernetes的并行计算任务调度方法与系统 | |
| WO2014026613A1 (zh) | 网络带宽分配方法及终端 | |
| KR20170060118A (ko) | 분류된 네트워크 스트림의 관리 | |
| US20240340343A1 (en) | Data processing system and method and device | |
| US12248352B2 (en) | Computer orchestration | |
| KR20150130384A (ko) | 적응 데이터 동기화 | |
| EP3058705B1 (en) | Data classification for adaptive synchronization | |
| CN118368287A (zh) | 客户端驱动的云网络访问系统和方法 | |
| CN105553882B (zh) | 用于sdn数据平面资源调度的方法 | |
| CN115934264A (zh) | 业务调度方法、装置、电子设备和计算机可读存储介质 | |
| KR20170059465A (ko) | 애플리케이션들에 대한 네트워크 분류 | |
| US11838389B2 (en) | Service deployment method and scheduling apparatus | |
| WO2024004177A1 (ja) | 複数のクラウドにより形成されるクラウドグループ内でのリソース共有 | |
| CN114691372A (zh) | 一种多媒体端边云系统的群体智能控制方法 | |
| WO2024004178A1 (ja) | 複数のクラウドにより形成されるクラウドグループ内でのリソース共有 | |
| WO2024004179A1 (ja) | 複数のクラウドにより形成されるクラウドグループ内でのリソース共有 | |
| CN119030901A (zh) | 基于时延感知的Serverless请求调度装置及系统 | |
| CN116132447A (zh) | 一种基于Kubernetes的负载均衡方法及其装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22949451 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 22949451 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: JP |