WO2023188185A1 - 配置システム及び配置方法 - Google Patents

配置システム及び配置方法 Download PDF

Info

Publication number
WO2023188185A1
WO2023188185A1 PCT/JP2022/016253 JP2022016253W WO2023188185A1 WO 2023188185 A1 WO2023188185 A1 WO 2023188185A1 JP 2022016253 W JP2022016253 W JP 2022016253W WO 2023188185 A1 WO2023188185 A1 WO 2023188185A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
data
execution platform
applications
order
Prior art date
Application number
PCT/JP2022/016253
Other languages
English (en)
French (fr)
Inventor
真也 北
Original Assignee
楽天モバイル株式会社
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 楽天モバイル株式会社 filed Critical 楽天モバイル株式会社
Priority to PCT/JP2022/016253 priority Critical patent/WO2023188185A1/ja
Publication of WO2023188185A1 publication Critical patent/WO2023188185A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Definitions

  • the present invention relates to a placement system and a placement method.
  • Patent Document 1 discloses that a product order purchased by a customer is broken down into VNF (Virtualized Network Function) units, and NFVI (Network Functions Virtualization Infrastructure) The technology to be deployed is described above.
  • VNF Virtualized Network Function
  • NFVI Network Functions Virtualization Infrastructure
  • a situation may occur where the resources of the execution platform cannot be used effectively. For example, a situation may occur in which an application placed at the end cannot be placed on any execution platform, or a situation in which an application is placed unevenly among the execution platforms.
  • the present invention has been made in view of the above circumstances, and one of its purposes is to provide a deployment system and deployment method that can effectively utilize the resources of an execution platform on which multiple types of applications are constructed. .
  • the deployment system includes, for each of a plurality of applications, requirements specifying means that identifies requirements related to an execution platform on which the application can be deployed, which is associated with the type of the application. , an order determining means for determining the order of the plurality of applications based on the requirements, and an execution platform determining means for determining the execution platform on which each of the plurality of applications is arranged according to the determined order. and a placement means for placing each of the plurality of applications on the execution platform determined for the application.
  • the placement means when the placement means places each of the plurality of applications on the execution platform determined for the application, for the unbuilt application, the placement means Build a new execution platform.
  • one aspect of the present invention further includes constraint strength data storage means for storing constraint strength data that associates the requirements with the strength of constraints in placement of the application, and the order determining means , the order is determined so that the constraints specified based on the requirements and the constraint strength data are in ascending order of strength.
  • the application can be placed only on a specific execution platform, can be placed on an execution platform that satisfies a predetermined condition, or can be placed on any execution platform.
  • the order determining means may be arranged such that the application can be placed only on a specific execution platform, the application can be placed on the execution platform that satisfies a predetermined condition, or the application can be placed on any execution platform. The order is determined to be the application.
  • the order determining means when the requirement related to the execution platform on which the first type of application can be placed is a requirement related to the location of the second type of application, the order determining means , in the order, the first type of application is placed after the second type of application.
  • the requirement specifying means specifies, for each of the plurality of applications, a plurality of types of requirements related to the execution platform on which the application can be placed, and the order determining means includes the For each of the plurality of types of requirements, the order is determined based on the requirement, and the execution platform determining means determines the order according to any one of the plurality of orders determined for each of the plurality of types of requirements.
  • the execution platform on which the plurality of applications are placed is determined.
  • the method further includes a leveling index value calculation means for calculating a leveling index value indicating at least one of the leveling of the situation and the leveling of the resource usage status among the plurality of execution platforms.
  • the execution platform determining means arranges the plurality of applications in accordance with the order determined based on the leveling index value from among the plurality of orders determined for each of the plurality of types of requirements. The execution platform may be determined.
  • the order determining means determines the order based on a certain type of requirements among the plurality of types, and arranges the plurality of applications on the execution platform according to the determined order.
  • the execution platform on which the plurality of applications are arranged is determined, and if not, the order determining means re-determines the order based on the requirements of another type among the plurality of types. good.
  • the resource usage status may be at least one of CPU usage status, memory usage status, storage usage status, network usage status, or power usage status.
  • the execution platform is a cluster composed of one or more containers generated by virtualization technology.
  • the application is an application included in a communication system.
  • the application may be a network function.
  • the deployment method includes a step of identifying, for each of a plurality of applications, requirements related to an execution platform on which the application can be deployed, which is associated with the type of the application; determining the order of the plurality of applications; determining the execution platform on which each of the plurality of applications is placed according to the determined order; and placing the execution platform on the execution platform determined for the execution platform.
  • FIG. 1 is a diagram showing an example of a communication system according to an embodiment of the present invention.
  • 1 is a diagram showing an example of a communication system according to an embodiment of the present invention.
  • FIG. 1 is a diagram schematically showing an example of a network service according to an embodiment of the present invention.
  • FIG. 2 is a diagram showing an example of association between elements constructed in a communication system according to an embodiment of the present invention.
  • FIG. 2 is a functional block diagram illustrating an example of functions implemented in a platform system according to an embodiment of the present invention.
  • FIG. 3 is a diagram illustrating an example of a data structure of physical inventory data. It is a figure which shows an example of AP resource data.
  • FIG. 3 is a diagram showing an example of predicted usage value data. It is a figure which shows an example of constraint strength data. It is a flow diagram showing an example of the flow of processing performed in the platform system according to one embodiment of the present invention.
  • FIG. 1 and 2 are diagrams showing an example of a communication system 1 according to an embodiment of the present invention.
  • FIG. 1 is a diagram focusing on the locations of a data center group included in a communication system 1.
  • FIG. 2 is a diagram focusing on various computer systems implemented in a data center group included in the communication system 1.
  • the data center group included in the communication system 1 is classified into a central data center 10, a regional data center 12, and an edge data center 14.
  • central data centers 10 are distributed within the area covered by the communication system 1 (for example, within Japan).
  • regional data centers 12 are distributed within the area covered by the communication system 1. For example, if the area covered by the communication system 1 is the entire country of Japan, one to two regional data centers 12 may be placed in each prefecture.
  • each of the edge data centers 14 is capable of communicating with a communication facility 18 equipped with an antenna 16.
  • Communication equipment 18 may include a computer such as a server computer.
  • the communication equipment 18 according to the present embodiment performs wireless communication with a UE (User Equipment) 20 via the antenna 16.
  • the communication equipment 18 equipped with the antenna 16 is provided with, for example, an RU (Radio Unit), which will be described later.
  • a plurality of servers are arranged in each of the central data center 10, regional data center 12, and edge data center 14 according to this embodiment.
  • the central data center 10, the regional data center 12, and the edge data center 14 can communicate with each other.
  • the central data centers 10, the regional data centers 12, and the edge data centers 14 can also communicate with each other.
  • the communication system 1 includes a platform system 30, multiple radio access networks (RAN) 32, multiple core network systems 34, and multiple UEs 20.
  • the core network system 34, RAN 32, and UE 20 cooperate with each other to realize a mobile communication network.
  • the RAN 32 is an antenna that corresponds to an eNB (eNodeB) in a fourth generation mobile communication system (hereinafter referred to as 4G) or a gNB (NR base station) in a fifth generation mobile communication system (hereinafter referred to as 5G). It is a computer system equipped with 16.
  • the RAN 32 according to this embodiment is mainly implemented by a server group and communication equipment 18 located in the edge data center 14. Note that a part of the RAN 32 (for example, DU (Distributed Unit), CU (Central Unit), vDU (virtual Distributed Unit), vCU (virtual Central Unit)) is located not in the edge data center 14 but in the central data center 10 or regional It may also be implemented at data center 12.
  • DU Distributed Unit
  • CU Central Unit
  • vDU virtual Distributed Unit
  • vCU virtual Central Unit
  • the core network system 34 is a system equivalent to EPC (Evolved Packet Core) in 4G and 5G core (5GC) in 5G.
  • the core network system 34 according to this embodiment is mainly implemented by a group of servers located in the central data center 10 and the regional data center 12.
  • the platform system 30 is configured on a cloud infrastructure, for example, and includes a processor 30a, a storage section 30b, and a communication section 30c, as shown in FIG.
  • the processor 30a is a program-controlled device such as a microprocessor that operates according to a program installed in the platform system 30.
  • the storage unit 30b is, for example, a storage element such as ROM or RAM, a solid state drive (SSD), a hard disk drive (HDD), or the like.
  • the storage unit 30b stores programs and the like executed by the processor 30a.
  • the communication unit 30c is, for example, a communication interface such as a NIC (Network Interface Controller) or a wireless LAN (Local Area Network) module. Note that SDN (Software-Defined Networking) may be implemented in the communication unit 30c.
  • the communication unit 30c exchanges data with the RAN 32 and the core network system 34.
  • the platform system 30 is implemented by a group of servers located in the central data center 10. Note that the platform system 30 may be implemented by a group of servers located in the regional data center 12.
  • the requested network service is constructed in the RAN 32 or the core network system 34.
  • the constructed network service is then provided to the purchaser.
  • network services such as voice communication services and data communication services are provided to purchasers who are MVNOs (Mobile Virtual Network Operators).
  • the voice communication service and data communication service provided by this embodiment are ultimately provided to the customer (end user) of the purchaser (MVNO in the above example) using the UE20 shown in FIGS. 1 and 2.
  • the end user can perform voice communication and data communication with other users via the RAN 32 and the core network system 34. Further, the end user's UE 20 can access a data network such as the Internet via the RAN 32 and the core network system 34.
  • IoT Internet of Things
  • end users who use robot arms, connected cars, and the like.
  • an end user who uses a robot arm, a connected car, etc. may become a purchaser of the network service according to this embodiment.
  • a container-type virtualization application execution environment such as Docker (registered trademark) is installed on the servers located in the central data center 10, regional data center 12, and edge data center 14. It is now possible to deploy and run containers on these servers.
  • a cluster composed of one or more containers generated by such virtualization technology may be constructed.
  • a Kubernetes cluster managed by a container management tool such as Kubernetes (registered trademark) may be constructed.
  • processors on the constructed cluster may execute container-type applications.
  • the network service provided to the purchaser is composed of one or more functional units (for example, a network function (NF)).
  • the functional unit is implemented as an NF realized by virtualization technology.
  • NF realized by virtualization technology is called VNF (Virtualized Network Function).
  • VNF Virtualized Network Function
  • CNF Containerized Network Function
  • container-type virtualization technology is also included in the VNF in this description.
  • the network service is implemented by one or more CNFs.
  • the functional unit according to this embodiment may correspond to a network node.
  • FIG. 3 is a diagram schematically showing an example of a network service in operation.
  • the network service shown in FIG. 3 includes NFs such as a plurality of RUs 40, a plurality of DUs 42, a plurality of CUs 44, and a plurality of UPFs (User Plane Functions) 46 as software elements.
  • NFs such as a plurality of RUs 40, a plurality of DUs 42, a plurality of CUs 44, and a plurality of UPFs (User Plane Functions) 46 as software elements.
  • the network service also includes other software elements such as AMF (Access and Mobility Management Function) and SMF (Session Management Function), but the description of these elements will be omitted.
  • network services are implemented on computer resources (hardware elements) such as a plurality of servers.
  • a communication service in a certain area is provided by the network service shown in FIG.
  • a plurality of RUs 40, a plurality of DUs 42, a plurality of CUs 44, and a plurality of UPFs 46 shown in FIG. 3 belong to one end-to-end network slice.
  • FIG. 4 is a diagram schematically showing an example of the association between elements constructed in the communication system 1 in this embodiment.
  • the symbols M and N shown in FIG. 4 represent any integer greater than or equal to 1, and indicate the relationship between the numbers of elements connected by links. If both ends of a link are a combination of M and N, the elements connected by the link are in a many-to-many relationship, and if both ends of the link are a combination of 1 and N or a combination of 1 and M, the relevant Elements connected by links have a one-to-many relationship.
  • the network service (NS), network function (NF), CNFC (Containerized Network Function Component), pod, and container have a hierarchical structure.
  • An NS corresponds to, for example, a network service composed of multiple NFs.
  • the NS may correspond to a granular element such as 5GC, EPC, 5G RAN (gNB), 4G RAN (eNB), etc., for example.
  • NF corresponds to granular elements such as DU42, CU44, UPF46, etc. Further, NF corresponds to a granularity element such as AMF and SMF. Furthermore, in 4G, NF corresponds to granular elements such as MME (Mobility Management Entity), HSS (Home Subscriber Server), S-GW (Serving Gateway), vDU, and vCU.
  • MME Mobility Management Entity
  • HSS Home Subscriber Server
  • S-GW Serving Gateway
  • vDU Visitor Gateway
  • vCU vCU.
  • one NS includes one or more NFs. In other words, one or more NFs are under one NS.
  • CNFC corresponds to granular elements such as DU mgmt and DU Processing, for example.
  • a CNFC may be a microservice that is deployed on a server as one or more containers.
  • a certain CNFC may be a microservice that provides some of the functions of the DU 42, CU 44, etc.
  • a certain CNFC may be a microservice that provides some of the functions of the UPF 46, AMF, SMF, and the like.
  • one NF includes one or more CNFCs.
  • one or more CNFCs are under one NF.
  • a pod refers to the minimum unit for managing docker containers in Kubernetes.
  • one CNFC includes one or more pods.
  • one or more pods are under one CNFC.
  • one pod includes one or more containers.
  • one or more containers are under one pod.
  • the network slice (NSI) and network slice subnet instance (NSSI) have a hierarchical structure.
  • NSI can also be said to be an end-to-end virtual circuit that spans multiple domains (for example, from the RAN 32 to the core network system 34).
  • NSI is a slice for high-speed, large-capacity communication (for example, eMBB: enhanced Mobile Broadband), a slice for highly reliable and low-latency communication (for example, URLLC: for Ultra-Reliable and Low Latency Communications), or a high-volume terminal. (for example, for massive Machine Type Communication (mMTC)).
  • mMTC massive Machine Type Communication
  • NSSI can also be said to be a single domain virtual circuit that is divided from NSI.
  • the NSSI may be a slice of a RAN domain, a slice of a Mobile Back Haul (MBH) domain, or a slice of a core network domain.
  • MMH Mobile Back Haul
  • one NSI includes one or more NSSIs.
  • one or more NSSIs are under one NSI.
  • multiple NSIs may share the same NSSI.
  • NSSI and NS generally have a many-to-many relationship.
  • one NF can belong to one or more network slices.
  • one NF can be configured with NSSAI (Network Slice Selection Assistance Information) including one or more S-NSSAI (Sub Network Slice Selection Assist Information).
  • NSSAI Network Slice Selection Assistance Information
  • S-NSSAI Subscribe Network Slice Selection Assist Information
  • S-NSSAI is information associated with a network slice. Note that the NF does not need to belong to a network slice.
  • FIG. 5 is a functional block diagram showing an example of functions implemented in the platform system 30 according to the present embodiment. Note that the platform system 30 according to this embodiment does not need to implement all of the functions shown in FIG. 5, and functions other than those shown in FIG. 5 may be implemented.
  • the platform system 30 functionally includes, for example, an operation support system (OSS) section 50, an orchestration (E2EO: End-to-End-Orchestration) section 52, and a service It includes a catalog storage section 54, an AI/big data processing section 56, a monitoring function section 58, an SDN controller 60, a configuration management section 62, a container management section 64, and a repository section 66.
  • the OSS section 50 includes an inventory database 70, a ticket management section 72, a fault management section 74, and a performance management section 76.
  • the E2EO section 52 includes a policy manager section 80, a slice manager section 82, and a life cycle management section 84. These elements are mainly implemented as a processor 30a, a storage section 30b, and a communication section 30c.
  • the functions shown in FIG. 5 may be installed in the platform system 30, which is one or more computers, and implemented by the processor 30a executing a program containing instructions corresponding to the functions.
  • This program may be supplied to the platform system 30 via a computer-readable information storage medium such as an optical disk, a magnetic disk, a magnetic tape, a magneto-optical disk, or a flash memory, or via the Internet.
  • the functions shown in FIG. 5 may be implemented using circuit blocks, memories, and other LSIs. Further, those skilled in the art will understand that the functionality shown in FIG. 5 can be implemented in various forms, such as only hardware, only software, or a combination thereof.
  • the container management unit 64 executes container life cycle management.
  • the lifecycle management includes processes related to container construction, such as container deployment and configuration.
  • the platform system 30 may include a plurality of container management units 64.
  • Each of the plurality of container management units 64 may have a container management tool such as Kubernetes installed, and a package manager such as Helm.
  • Each of the plurality of container management units 64 may perform container construction such as container deployment on a server group (for example, a Kubernetes cluster) associated with the corresponding container management unit 64.
  • the container management unit 64 does not need to be included in the platform system 30.
  • the container management unit 64 may be provided, for example, in a server managed by the container management unit 64 (that is, the RAN 32 or the core network system 34), or may be installed in a server managed by the container management unit 64. It may be provided in another server installed in parallel.
  • the repository unit 66 stores, for example, a container image of a container included in a functional unit group (for example, NF group) that realizes a network service.
  • a functional unit group for example, NF group
  • the inventory database 70 is a database that stores inventory information.
  • the inventory information includes, for example, information about servers placed in the RAN 32 or the core network system 34 and managed by the platform system 30.
  • the inventory database 70 stores inventory data.
  • the inventory data shows the configuration of the element groups included in the communication system 1 and the current status of the relationships between the elements.
  • the inventory data also indicates the status of resources managed by the platform system 30 (for example, resource usage status).
  • the inventory data may be physical inventory data or logical inventory data. The physical inventory data and logical inventory data will be described later.
  • FIG. 6 is a diagram showing an example of the data structure of physical inventory data.
  • the physical inventory data shown in FIG. 6 is associated with one server.
  • the physical inventory data shown in FIG. 6 includes, for example, server ID, location data, building data, floor number data, rack data, specification data, network data, operating container ID list, cluster ID, and the like.
  • the server ID included in the physical inventory data is, for example, the identifier of the server associated with the physical inventory data.
  • the location data included in the physical inventory data is, for example, data indicating the location (for example, the address of the location) of the server associated with the physical inventory data.
  • the building data included in the physical inventory data is, for example, data indicating a building (eg, building name) in which a server associated with the physical inventory data is located.
  • the floor number data included in the physical inventory data is, for example, data indicating the floor number where the server associated with the physical inventory data is located.
  • the rack data included in the physical inventory data is, for example, the identifier of the rack in which the server associated with the physical inventory data is located.
  • the spec data included in the physical inventory data is, for example, data indicating the specs of the server associated with the physical inventory data, and the spec data includes, for example, the number of cores, memory capacity, hard disk capacity, etc. .
  • the network data included in the physical inventory data is, for example, data indicating information regarding the network of the server associated with the physical inventory data. number, the port ID of the port, etc.
  • the operating container ID list included in the physical inventory data is, for example, data indicating information regarding one or more containers operating on the server associated with the physical inventory data, and the operating container ID list includes, for example, the container A list of instance identifiers (container IDs) is shown.
  • the cluster ID included in the physical inventory data is, for example, the identifier of the cluster (for example, the Kubernetes cluster) to which the server associated with the physical inventory data belongs.
  • the logical inventory data includes topology data indicating the current status of the association between elements as shown in FIG. 4 for a plurality of elements included in the communication system 1.
  • the logical inventory data includes topology data that includes an identifier of a certain NS and identifiers of one or more NFs under the NS.
  • the logical inventory data includes topology data including an identifier of a certain network slice and identifiers of one or more NFs belonging to the network slice.
  • the inventory data may include data indicating the current situation, such as geographical relationships and topological relationships between elements included in the communication system 1.
  • the inventory data includes location data indicating the locations where elements included in the communication system 1 are operating, that is, the current locations of the elements included in the communication system 1. From this, it can be said that the inventory data shows the current state of geographical relationships between elements (for example, geographical proximity between elements).
  • the logical inventory data may include NSI data indicating information regarding network slices.
  • the NSI data indicates, for example, attributes such as an identifier of a network slice instance and a type of network slice.
  • the logical inventory data may include NSSI data indicating information regarding network slice subnets.
  • the NSSI data indicates attributes such as, for example, the identifier of the network slice subnet instance and the type of the network slice subnet.
  • the logical inventory data may include NS data indicating information regarding the NS.
  • the NS data indicates, for example, attributes such as an identifier of an NS instance and a type of NS.
  • the logical inventory data may include NF data indicating information regarding NF.
  • the NF data indicates, for example, attributes such as an identifier of an NF instance and a type of NF.
  • the logical inventory data may include CNFC data indicating information regarding CNFC.
  • the CNFC data indicates, for example, attributes such as an instance identifier and a CNFC type.
  • the logical inventory data may include pod data indicating information regarding pods included in the CNFC.
  • the pod data indicates, for example, attributes such as a pod instance identifier and a pod type.
  • the logical inventory data may include container data indicating information regarding containers included in the pod.
  • the container data indicates, for example, attributes such as a container ID of a container instance and a container type.
  • the container instance and the server on which the container instance is running are associated by the container ID of the container data included in the logical inventory data and the container ID included in the active container ID list included in the physical inventory data. It will be.
  • data indicating various attributes such as a host name and an IP address may be included in the above-mentioned data included in the logical inventory data.
  • the container data may include data indicating the IP address of the container corresponding to the container data.
  • the CNFC data may include data indicating the IP address and host name of the CNFC indicated by the CNFC data.
  • the logical inventory data may include data indicating NSSAIs set in each NF, including one or more S-NSSAIs.
  • the inventory database 70 cooperates with the container management unit 64 to be able to grasp the status of resources as appropriate. Then, the inventory database 70 appropriately updates the inventory data stored in the inventory database 70 based on the latest status of the resource.
  • inventory database 70 updates inventory data stored in inventory database 70.
  • the service catalog storage unit 54 stores service catalog data.
  • the service catalog data may include, for example, service template data indicating logic used by the life cycle management unit 84.
  • This service template data includes information necessary to construct a network service.
  • the service template data includes information defining NS, NF, and CNFC, and information indicating a correspondence relationship between NS-NF-CNFC.
  • the service template data includes a workflow script for constructing a network service.
  • NSD Network Descriptor
  • the NSD is associated with a network service, and indicates the types of a plurality of functional units (for example, a plurality of CNFs) included in the network service.
  • the NSD may indicate the number of functional units included in the network service for each type of functional unit such as CNF.
  • the NSD may indicate a file name of a CNFD, which will be described later, related to a CNF included in the network service.
  • CNFD CNF Descriptor
  • the CNFD may indicate computer resources (eg, CPU, memory, hard disk, etc.) required by the CNF.
  • the CNFD may indicate computer resources (for example, CPU, memory, hard disk, etc.) required by each of a plurality of containers included in the CNF.
  • the service catalog data may include information regarding a threshold value (for example, an abnormality detection threshold value) used by the policy manager unit 80 to be compared with the calculated performance index value.
  • a threshold value for example, an abnormality detection threshold value
  • the performance index values will be described later.
  • the service catalog data may include slice template data, for example.
  • the slice template data includes information necessary to perform network slice instantiation, including, for example, logic utilized by the slice manager unit 82.
  • the slice template data includes information on "Generic Network Slice Template” defined by GSMA (GSM Association) ("GSM” is a registered trademark). Specifically, the slice template data includes network slice template data (NST), network slice subnet template data (NSST), and network service template data. Further, the slice template data includes information indicating the hierarchical structure of these elements as shown in FIG.
  • the life cycle management unit 84 constructs a new network service for which a purchase request has been made in response to a purchase request for an NS by a purchaser.
  • the life cycle management unit 84 may execute a workflow script associated with the network service to be purchased in response to a purchase request. Then, by executing the script of this workflow, the life cycle management unit 84 may instruct the container management unit 64 to deploy a container included in a new network service to be purchased. Then, the container management unit 64 may obtain a container image of the container from the repository unit 66 and deploy a container corresponding to the container image to the server.
  • the life cycle management unit 84 executes scaling and replacement of elements included in the communication system 1, for example.
  • the life cycle management unit 84 may output a container deployment instruction or deletion instruction to the container management unit 64.
  • the container management unit 64 may execute processes such as deploying a container and deleting a container in accordance with the instructions.
  • the life cycle management unit 84 can perform scaling and replacement that cannot be handled by a tool such as Kubernetes of the container management unit 64.
  • the life cycle management unit 84 may output configuration management instructions to the configuration management unit 62 for a newly constructed element group or an existing element to which new settings are input. Then, the configuration management unit 62 may perform configuration management such as setting according to the configuration management instruction.
  • the life cycle management unit 84 may output an instruction to create a communication path to the SDN controller 60.
  • the life cycle management unit 84 presents two IP addresses at both ends of the communication path to be created to the SDN controller 60, and the SDN controller 60 creates a communication path connecting these two IP addresses.
  • the created communication path may be managed in association with these two IP addresses.
  • the slice manager unit 82 executes, for example, instantiation of a network slice.
  • the slice manager unit 82 instantiates a network slice by executing logic indicated by a slice template stored in the service catalog storage unit 54, for example.
  • the slice manager unit 82 includes, for example, the functions of NSMF (Network Slice Management Function) and NSSMF (Network Slice Sub-network Management Function) described in the 3GPP (Third Generation Partnership Project) specification “TS28 533”. Consists of. NSMF is a function that generates and manages network slices, and provides NSI management services. NSSMF is a function that generates and manages a network slice subnet that forms part of a network slice, and provides NSSI management services.
  • NSMF Network Slice Management Function
  • NSSMF Network Slice Sub-network Management Function
  • the slice manager unit 82 may output configuration management instructions related to instantiation of the network slice to the configuration management unit 62. Then, the configuration management unit 62 may perform configuration management such as setting according to the configuration management instruction.
  • the slice manager unit 82 may present two IP addresses to the SDN controller 60 and output an instruction to create a communication path between these two IP addresses.
  • the configuration management unit 62 executes configuration management such as setting of element groups such as NF in accordance with configuration management instructions received from the life cycle management unit 84 and the slice manager unit 82, for example.
  • the SDN controller 60 creates a communication path between two IP addresses associated with the creation instruction, for example, according to a communication path creation instruction received from the life cycle management unit 84 or the slice manager unit 82. .
  • the SDN controller 60 may use segment routing technology (for example, SRv6 (segment routing IPv6)) to construct NSI or NSSI for aggregation routers, servers, etc. that exist between communication paths. .
  • segment routing technology for example, SRv6 (segment routing IPv6)
  • the SDN controller 60 issues a command to configure a common VLAN (Virtual Local Area Network) to multiple NFs to be configured, and a command to allocate the bandwidth and priority indicated by the configuration information to the VLAN. By doing so, it is possible to generate NSI and NSSI across the plurality of NFs to be configured.
  • VLAN Virtual Local Area Network
  • the SDN controller 60 may change the upper limit of the bandwidth that can be used for communication between two IP addresses without constructing a network slice.
  • the monitoring function unit 58 monitors, for example, a group of elements included in the communication system 1 according to a given management policy.
  • the monitoring function unit 58 may monitor the element group, for example, according to a monitoring policy specified by the purchaser when purchasing the network service.
  • the monitoring function unit 58 executes monitoring at various levels, such as the slice level, the NS level, the NF level, the CNFC level, and the hardware level such as a server.
  • the monitoring function unit 58 may set a module that outputs metric data in hardware such as a server or a software element included in the communication system 1 so as to perform monitoring at the various levels described above.
  • the NF may output metric data indicating a measurable (identifiable) metric in the NF to the monitoring function unit 58.
  • the server may output metric data indicating metrics related to hardware that can be measured (specified) in the server to the monitoring function unit 58.
  • the monitoring function unit 58 may deploy a sidecar container on the server that aggregates metric data indicating metrics output from a plurality of containers in units of CNFC (microservices).
  • This sidecar container may contain agents called exporters.
  • the monitoring function unit 58 uses the mechanism of a monitoring tool such as Prometheus, which can monitor container management tools such as Kubanetes, to acquire metric data aggregated for each microservice from the sidecar container. It may be performed repeatedly at a given monitoring interval.
  • the monitoring function unit 58 monitors performance indicators regarding the performance indicators listed in “TS 28.552, Management and orchestration; 5G performance measurements” or “TS 28.554, Management and orchestration; 5G end to end Key Performance Indicators (KPI)”. Values may be monitored.
  • the monitoring function unit 58 may also acquire metric data indicating the performance index value to be monitored.
  • the monitoring function unit 58 outputs the metric data to the AI/big data processing unit 56.
  • elements such as a network slice, NS, NF, and CNFC included in the communication system 1 and hardware such as a server send notifications of various alerts to the monitoring function unit 58 (for example, an alert triggered by the occurrence of a failure). notification).
  • the monitoring function unit 58 outputs the notification to the AI/big data processing unit 56.
  • the AI/big data processing unit 56 accumulates, for example, metric data and alert notifications output from the monitoring function unit 58. Further, in the present embodiment, the AI/big data processing unit 56 stores, for example, a trained machine learning model in advance.
  • the AI/big data processing unit 56 performs, for example, future prediction processing of the usage status and service quality of the communication system 1 based on the accumulated metric data and the above-mentioned machine learning model. Execute estimation processing such as The AI/big data processing unit 56 may generate estimation result data indicating the result of estimation processing.
  • the performance management unit 76 calculates, for example, a performance index value (for example, KPI) based on a metric indicated by a plurality of metric data.
  • the performance management unit 76 calculates a performance index value (for example, a performance index value related to an end-to-end network slice) that is a comprehensive evaluation of multiple types of metrics that cannot be calculated from a single metric data. Good too.
  • the performance management unit 76 may generate comprehensive performance index value data indicating a performance index value that is a comprehensive evaluation.
  • the performance management unit 76 may acquire the metric data from the monitoring function unit 58 via the AI/big data processing unit 56 as shown in FIG. 5, or directly from the monitoring function unit 58. Good too. Furthermore, the performance management unit 76 may calculate the performance index value based on the above-mentioned estimation result data.
  • the failure management unit 74 is configured to determine whether the communication system 1 is configured based on at least one of the above-mentioned metric data, the above-mentioned alert notification, the above-mentioned estimation result data, and the above-mentioned comprehensive performance index value data. Detect occurrence of failure. For example, the failure management unit 74 may detect the occurrence of a failure that cannot be detected from a single metric data or a single alert notification based on a predetermined logic. The fault management unit 74 may generate detected fault data indicating the detected fault.
  • the failure management unit 74 may acquire metric data and alert notifications directly from the monitoring function unit 58 or via the AI/big data processing unit 56 or the performance management unit 76. Furthermore, the failure management unit 74 may acquire estimation result data directly from the AI/big data processing unit 56 or via the performance management unit 76.
  • the policy manager unit 80 may, for example, use at least one of the above-mentioned metric data, the above-mentioned alert notification, the above-mentioned estimation result data, the above-mentioned comprehensive performance index value data, and the above-mentioned detected failure data. Based on this, a predetermined determination process is executed.
  • the policy manager section 80 may execute an action according to the result of the determination process.
  • the policy manager unit 80 may output a network slice construction instruction to the slice manager unit 82.
  • the policy manager section 80 may output an instruction for scaling or replacing an element to the life cycle management section 84 according to the result of the determination process.
  • the ticket management unit 72 generates a ticket indicating the content to be notified to the administrator of the communication system 1, for example.
  • the ticket management unit 72 may generate a ticket indicating the content of the occurred failure data. Further, the ticket management unit 72 may generate a ticket indicating the value of performance index value data or metric data. Further, the ticket management unit 72 may generate a ticket indicating the determination result by the policy manager unit 80.
  • the ticket management unit 72 notifies the administrator of the communication system 1 of the generated ticket.
  • the ticket management unit 72 may, for example, send an e-mail with the generated ticket attached to the e-mail address of the administrator of the communication system 1.
  • each application according to the present embodiment is associated in advance with a requirement related to an execution platform on which the application can be placed, which is associated with the type of the application. That is, each application has requirements regarding placement, and the requirements differ depending on the type of application.
  • each of a plurality of applications is associated with a label indicating requirements related to an execution platform on which the application can be placed.
  • the label may be stored in the service catalog storage unit 54, for example.
  • the requirements may be written in, for example, a CNFD stored in the service catalog storage unit 54.
  • a label with a value of "fixed” is associated with an application that can be deployed only on a specific execution platform.
  • An application associated with a label whose value is "fixed” is associated with an ID of an execution platform on which the application can be placed.
  • an application that can be deployed on an execution platform that satisfies predetermined conditions is associated with a label whose value is "with constraints.”
  • Applications that are associated with a label whose value is "with constraint conditions” are associated with a label that has a value that indicates a specific constraint condition.
  • the requirements regarding the execution platform on which the first type of application can be placed may be requirements regarding the location of the second type of application.
  • the constraint that is a requirement for the first type of application may be a constraint regarding the distance from the second type of application.
  • the second type of application is AMF
  • the requirements regarding the execution platform on which the first type of application can be placed which is the requirement regarding the location of the second type of application, is as follows.
  • “Same edge router (application router) as AMF” “Same area (super block, region) as AMF” ”, “within a predetermined distance a from the AMF”
  • the SMF may be associated with a label indicating a constraint such as "within 10 kilometers from the AMF.”
  • the constraint condition may be a constraint condition regarding a device or zone that needs to exist between a specific type of application and that type of application, such as "there is a DMZ (DeMilitarized Zone) between the AMF” and the like. It's okay.
  • DMZ DeMilitarized Zone
  • a value indicating a specific constraint condition is one indicating requirements related to the hardware of the execution platform to be placed (hereinafter referred to as hardware requirements).
  • hardware requirements include, for example, “SRIOV (Single Root I/O Virtualization) is implemented," “GPU (Graphics Processing Unit) is installed,” “FPGA (Field-programmable gate Examples include ⁇ equipped with an array (array)''.
  • hardware requirements include, for example, "the number of GPUs installed is a predetermined value b or more”, “the size of the installed memory is a predetermined value c bytes or more”, “the number of GPUs installed is a predetermined value c bytes or more”, It may be a size-related requirement such as "The storage size is a predetermined value d bytes or more.”
  • an application may be associated with multiple types of requirements related to the execution infrastructure on which the application can be placed.
  • an application may have a label indicating a requirement that "the number of GPUs installed is a predetermined value b or more" and a requirement that "the size of the installed memory is a predetermined value c bytes or more". It may be associated with both a label indicating .
  • a label in which a value indicating requirements related to a service level agreement (SLA) is set may be associated with the application.
  • an application that can be deployed on any execution platform is associated with a label whose value is "no condition”.
  • the monitoring function unit 58 monitors the usage status of resources in each of a plurality of execution platforms (for example, a Kubernetes cluster, a server, etc.) included in the communication system 1. Further, in this embodiment, for example, the monitoring function unit 58 monitors the usage status of resources in each of the applications executed on the execution platform.
  • a plurality of execution platforms for example, a Kubernetes cluster, a server, etc.
  • the monitored resource usage status may be at least one of CPU usage status, memory usage status, storage usage status, network usage status, and power usage status. .
  • CPU usage status is the CPU usage rate.
  • memory usage status include memory usage and memory usage rate.
  • storage usage status include storage usage amount and storage usage rate.
  • network usage status include bandwidth usage and bandwidth usage rate.
  • power usage status is power consumption.
  • the monitoring function unit 58 outputs metric data indicating the monitoring results to the AI/big data processing unit 56. In this way, metric data is accumulated in the AI/big data processing unit 56.
  • the timing for determining the placement of applications is determined in advance.
  • the placement decision timing comes, for example, at predetermined execution intervals.
  • an undeployed application that has been decided to be added to the communication system 1 that is, an application that is scheduled to be added to the communication system 1
  • an application scheduled to be added an application scheduled to be added.
  • the AI/big data processing unit 56 extracts, for example, metric data indicating the latest resource usage status for each of the plurality of applications being executed in the communication system 1. For example, metric data indicating the resource usage status from the timing when the placement decision was last executed to the present is extracted. Alternatively, metric data indicating the resource usage status for the most recent month is extracted.
  • the AI/big data processing unit 56 determines, for each of the plurality of applications executed in the communication system 1, how to use the resources of the application based on the metric data extracted for the application. Identify the actual value of the situation.
  • the usage status for which the actual value is specified may be, for example, at least one of CPU usage status, memory usage status, storage usage status, network usage status, or power usage status. good.
  • the AI/big data processing unit 56 then generates application resource data (hereinafter referred to as AP resources) illustrated in FIG. (referred to as data).
  • AP resources application resource data illustrated in FIG.
  • the AI/big data processing unit 56 may generate AP resource data indicating actual values of the resource usage status of a plurality of applications based on the extracted metric data. For an application being executed, the actual value of the resource usage status is considered to correspond to the amount of resources required by the application.
  • the AP resource data may include a plurality of pieces of individual AP resource data, each of which indicates the amount of resources for different types of resources.
  • the AP resource data includes five pieces of individual AP resource data (CPU AP resource data, memory AP resource data, storage AP resource data, network AP resource data, and power consumption AP resource data).
  • the individual AP resource data may include a plurality of period AP resource data each associated with a period type. In this embodiment, for example, as shown in FIG. 7, designated by a1 to a16) are identified. Then, the specified performance value is set to the value of the period AP resource data of the period type associated with the performance value.
  • metric data indicating the CPU usage status for the time period from 0:00 to 3:00 on weekdays is identified. It's okay.
  • the value of period AP resource data included in the CPU AP resource data and associated with 0:00 to 3:00 on weekdays may be determined.
  • the representative value a1 such as the average value or maximum value of the CPU usage rate indicated by the identified metric data, is the value of the AP resource data for the period corresponding to 0:00 to 3:00 on weekdays included in the CPUAP resource data. May be set.
  • memory AP resource data is generated based on metric data indicating the memory usage status from the timing when the placement decision was last executed to the present.
  • storage AP resource data is generated based on metric data indicating the storage usage status from the timing when the placement decision was last executed to the present.
  • network AP resource data is generated based on metric data indicating the network usage status from the timing when the placement decision was last performed to the present.
  • power consumption AP resource data is generated based on metric data indicating the power usage status from the timing when the placement determination was last performed to the present.
  • the AI/big data processing unit 56 generates AP resource data indicating the amount of resources required by each application scheduled to be added, for each application scheduled to be added.
  • the amount of resources required by the application scheduled to be added may be determined in advance.
  • the amount of resources required by the application scheduled to be added may be described in the above-mentioned CNFD.
  • the AI/big data processing unit 56 may identify the amount of resources required by the application scheduled to be added by referring to the CNFD stored in the service catalog storage unit 54.
  • the amount of required resources may be specified for each of the CPU, memory, storage, network, and power consumption. Further, the required amount of resources may be specified for each of the plurality of period types described above.
  • the AI/big data processing unit 56 may identify the amount of resources required by the application scheduled to be added, based on the actual value of the resource usage status of the same type of application being executed as the application scheduled to be added. . For example, even if the AI/big data processing unit 56 identifies the amount of resources required by the application scheduled to be added based on the actual value of the resource usage of an application that has the same SLA requirements as the application scheduled to be added. good.
  • the AI/big data processing unit 56 calculates the actual value of the resource usage before the application was added on an execution platform on which an application of the same type as the application to be added is running, and the actual value of the resource usage status before the application was added.
  • the difference between the actual value of the resource usage status and the subsequent resource usage status may be specified.
  • the amount of resources required by the application to be added may be identified.
  • a representative value for example, a maximum value or an average value
  • the specified difference may be specified as a value indicating the amount of resources required by the application scheduled to be added.
  • AP resource data indicating the amount of resources required by the application scheduled to be added which is identified as described above, may be generated.
  • the execution platform with the largest difference in the resource usage status in the period type before and after the addition of the same type of application as the application to be added may be identified. Then, for each period type, the difference between the actual value of the resource usage before the application was added and the actual value of the resource usage after the application was added is calculated as follows: It may be set to the value of the period AP resource data.
  • AP resource data indicating the amount of resources required by the application to be added may be generated using a trained machine learning model.
  • AP resource data indicating the amount of resources required by the application is generated.
  • the policy manager unit 80 specifies requirements related to the execution platform on which the application can be placed, which are associated with the type of the application.
  • the value of a label associated with the application may be specified.
  • the policy manager unit 80 determines the order of the plurality of applications based on the specified requirements. In other words, the number of each of the plurality of applications is determined. Then, the execution platform on which each application is arranged is determined in accordance with the order, in other words, in the order of the numbers. Hereinafter, this order will also be referred to as a "determination order.”
  • the policy manager unit 80 assigns each of the plurality of applications to one of "existing fixed”, “new fixed”, “existing constraint”, “new constraint”, “existing unconditional”, and “new unconditional”. Sort into categories.
  • the policy manager unit 80 stores, for example, (1) an application whose category is "existing fixed”, (2) an application whose category is “new fixed”, and (3) an application whose category is “existing constraint”. ”, (4) applications whose category is “New Constraint”, (5) applications whose category is “Existing Unconditional”, and (6) applications whose category is “New Unconditional”. Determine the order in which the execution base will be determined.
  • the policy manager unit 80 arranges applications that can be placed only on a specific execution platform, applications that can be placed on execution platforms that meet predetermined conditions, and applications that can be placed on any execution platform.
  • the order of determining the execution platforms to be deployed may be determined for a plurality of applications so that the execution platform is determined.
  • the executions to be placed are determined in the following order: applications that can be placed only on a specific execution platform, applications that can be placed on an execution platform that satisfies predetermined conditions, and applications that can be placed on any execution platform.
  • the order may be such that the base is determined.
  • the policy manager unit 80 determines the execution platform on which each of the plurality of applications is placed, according to the determination order determined as described above.
  • the execution platform on which the application is placed is determined.
  • the policy manager unit 80 first determines, for at least one application whose category is "existing fixed", the execution platform on which the application is being executed as the execution platform on which the application is placed. . In other words, such applications will not be replaced.
  • the policy manager unit 80 determines the execution platform on which the application is located, which is identified by the ID indicated by the label associated with the application. Determine as.
  • the policy manager unit 80 determines the execution platform on which at least one application whose category is "existing constraints" is placed.
  • the policy manager unit 80 may determine the order of determining the execution platform on which the application is placed among at least one application whose category is "existing constraints.”
  • the order determined in this manner will be referred to as the order determined within existing constraints.
  • the policy manager unit 80 may determine the order of determination within the existing constraints according to a predetermined criterion.
  • the policy manager unit 80 may determine the order of determination within the existing constraints so that the requirements for the number of GPUs installed are in order of strictness, that is, in order of the number of GPUs indicated in the requirements. .
  • the requirements related to the execution platform on which the first type of application can be placed are the requirements related to the location of the second type of application.
  • the policy manager unit 80 determines the order of determining the execution platforms to be placed so that the first type of application is determined after the second type of application. Good too. That is, the first type of application may be placed after the second type of application in the determination order. In this way, the execution platform to be deployed for the second type of application is determined earlier than for the first type of application.
  • the decision order of the execution infrastructure to be deployed is such that the decision order for the SMF is after the decision order for the AMF. may be determined.
  • the order is determined in descending order of the number of GPUs indicated in the requirements, and if the above-mentioned location requirements are set, then by changing the order, it is possible to determine the number of GPUs within the existing constraints.
  • the order may be determined.
  • the order of determining the execution platforms to be placed may be changed so that the order of determining SMF comes after the order of determining AMF.
  • the policy manager unit 80 selects the application whose execution order within the existing constraints is the earliest among the applications whose execution infrastructure has not yet been determined and whose category is "existing constraints."
  • the application selected in this way will be referred to as a focused application.
  • the policy manager unit 80 determines the execution platform on which the application of interest is placed.
  • the policy manager unit 80 extracts an execution platform on which the application of interest can be placed. Specifically, for example, an application that satisfies the requirements associated with the application of interest is extracted.
  • the execution platform extracted in this way will be referred to as a candidate platform.
  • the policy manager section 80 may identify the candidate platform based on inventory data stored in the inventory database 70.
  • an execution platform that satisfies a hardware requirement such as "the number of installed GPUs is a predetermined value b or more" may be extracted as a candidate platform.
  • the same Kubanetes cluster as the AMF for which the execution platform to be placed has already been determined will be extracted as a candidate platform. may be done.
  • a data center where the execution platform to be deployed is within 10 kilometers from the determined AMF.
  • Execution platforms within may be extracted as candidate platforms.
  • the policy manager unit 80 determines one of the candidate platforms as the execution platform on which the application of interest is placed.
  • an execution platform on which the application of interest is placed may be randomly determined from among the candidate platforms. Furthermore, the execution platform on which the application of interest is placed may be determined from among the candidate platforms based on the individual leveling index value described below.
  • the policy manager unit 80 determines, for at least one application whose category is "new constraint", the execution platform on which the application is placed.
  • the policy manager unit 80 may determine the order of determining the execution platform on which the application is placed among at least one application whose category is "new constraint.”
  • the order determined in this manner will be referred to as the new within-constraint determination order.
  • the new within-constraint determination order may be determined, for example, in the same manner as the existing within-constraint determination order described above.
  • the policy manager unit 80 selects, as the application of interest, the application whose execution platform is undetermined and whose category is "new constraint", which is the first in the new constraint determination order.
  • the policy manager unit 80 determines the execution platform on which the application of interest is placed.
  • the execution platform on which the application of interest is placed may be determined, for example, in the same manner as the method for determining the execution platform on which the application whose category is "existing constraints" is placed, as described above.
  • the policy manager unit 80 determines, for at least one application whose category is "existing unconditional", the execution platform on which the application is placed.
  • the policy manager unit 80 determines, for at least one application whose category is "new unconditional", the execution platform on which the application is placed.
  • the execution platform on which the application is placed may be randomly determined from among the execution platforms on which the application can be placed. good. Further, for example, the execution platform on which the application is placed may be determined based on an individual leveling index value, which will be described later.
  • the AI/big data processing unit 56 may specify predicted values of resource usage on a plurality of candidate platforms.
  • the AI/big data processing unit 56 may generate the predicted usage value data illustrated in FIG. 8, which is associated with each of the plurality of candidate platforms.
  • the usage status predicted value data may include a plurality of individual predicted value data, each of which indicates the usage status of a different type of resource.
  • the usage status predicted value data includes five individual predicted value data (CPU predicted value data, memory predicted value data, storage predicted value data, network predicted value data, and power consumption predicted value data). is included.
  • the individual predicted value data includes a plurality of period predicted value data respectively associated with the above-mentioned period types.
  • the individual predicted value data includes 16 pieces of period predicted value data (indicated by b1 to b16 in FIG. 8).
  • the AI/big data processing unit 56 may generate placement predicted value data and non-placement predicted value data for each of the plurality of candidate platforms.
  • the placement predicted value data is usage status predicted value data indicating a predicted value of the resource usage status on the candidate platform when the application of interest is placed on the candidate platform.
  • the non-deployment predicted value data is usage status predicted value data indicating a predicted value of the resource usage status on the candidate platform when the application of interest is not deployed on the candidate platform.
  • the AI/big data processing unit 56 uses an AP resource that indicates the amount of resources required by an application that is determined to be placed on the candidate platform.
  • the data value and the value of AP resource data indicating the amount of resources required by the application of interest are summed. As a result, placement predicted value data associated with the candidate base is generated.
  • the values of the CPUAP resource data for the time zone from 0:00 to 3:00 on weekdays for the application determined to be placed on the candidate platform and the application of interest may be summed. Then, the summed value may be determined as the value of the period predicted value data associated with 0:00 to 3:00 on weekdays included in the CPU predicted value data of the placement predicted value data. Then, this value may be set to the value of period predicted value data associated with 0:00 to 3:00 on weekdays included in the CPU predicted value data of the placement predicted value data.
  • the CPU predicted value data of the placement predicted value data is generated.
  • memory predicted value data of the placement predicted value data is generated based on the memory AP resource data.
  • storage predicted value data of placement predicted value data is generated based on the storage AP resource data.
  • network predicted value data of the placement predicted value data is generated based on the network AP resource data.
  • power consumption predicted value data of placement predicted value data is generated based on the power consumption AP resource data.
  • the AI/big data processing unit 56 uses an AP resource that indicates the amount of resources required by an application that is determined to be placed on the candidate platform. Add up data values. As a result, unplaced predicted value data associated with the candidate base is generated.
  • the values of CPUAP resource data for the time period from 0:00 to 3:00 on weekdays of applications that are determined to be placed on the candidate platform may be summed. Then, the summed value may be determined as the value of the period predicted value data associated with 0:00 to 3:00 on weekdays included in the CPU predicted value data of the unplaced predicted value data. Then, this value may be set to the value of period predicted value data associated with 0:00 to 3:00 on weekdays included in the CPU predicted value data of the unplaced predicted value data.
  • the CPU predicted value data of the unplaced predicted value data is generated.
  • memory predicted value data of unplaced predicted value data is generated based on the memory AP resource data.
  • storage predicted value data of non-placement predicted value data is generated based on the storage AP resource data.
  • network predicted value data of non-placement predicted value data is generated based on the network AP resource data.
  • power consumption predicted value data of non-placement predicted value data is generated based on the power consumption AP resource data.
  • the number of period types is 16, but the number of period types is not limited to 16.
  • the period types according to the present embodiment may be two time periods, daytime and nighttime, for each day of the week, for a total of 14 period types. Note that it is desirable to suppress the number of period types to a value that does not cause an excessive amount of calculation.
  • non-placement predicted value data and placement predicted value data may be generated using a trained machine learning model.
  • the AI/big data processing unit 56 performs the following processing, for example, when an application of interest is constructed for each of the plurality of candidate platforms based on the predicted value specified as described above. , an individual leveling index value indicating at least one of the leveling of the resource usage status in the candidate platform or the leveling of the resource usage status among the plurality of candidate platforms is specified.
  • the AI/big data processing unit 56 may specify the individual leveling index value based on the above-mentioned predicted value for each period type.
  • the AI/big data processing unit 56 may specify an individual leveling index value that indicates the dispersion of predicted values for each period type on the candidate platform when the focused application is built on the candidate platform.
  • the AI/big data processing unit 56 calculates, for each of the five individual predicted value data of the placement predicted value data associated with the candidate platform, the individual predicted value data included in the individual predicted value data.
  • the variance of the values of the 16 period forecast value data may be specified.
  • the AI/big data processing unit 56 converts the weighted linear sum of the variances specified for the five pieces of individual predicted value data into the individual leveling index value associated with the candidate base. It may be specified as Note that the individual leveling index value may be specified based on the standard deviation instead of the variance.
  • the individual leveling index value identified in this way corresponds to an example of the individual leveling index value that indicates the degree of leveling of resource usage on the candidate platform when the focused application is built on the candidate platform. do.
  • the AI/big data processing unit 56 may generate an individual leveling index value that indicates the difference between the maximum value and the minimum value of predicted values for each period type on the candidate platform when the focused application is built on the candidate platform. may be specified.
  • the AI/big data processing unit 56 calculates, for each of the five individual predicted value data of the placement predicted value data associated with the candidate platform, the individual predicted value data included in the individual predicted value data.
  • the difference between the maximum value and the minimum value among the 16 period predicted value data values may be specified.
  • the AI/big data processing unit 56 converts the weighted linear sum of the differences specified for the five individual predicted value data into the individual leveling index value associated with the candidate base. It may be specified as
  • the individual leveling index value identified in this way corresponds to an example of the individual leveling index value that indicates the degree of leveling of resource usage on the candidate platform when the focused application is built on the candidate platform. do.
  • the AI/big data processing unit 56 determines, for example, that for each of the plurality of candidate platforms, the application of interest is placed on the candidate platform, and the application of interest is not placed on the other candidate platforms.
  • a predicted value of the resource usage status of each of the plurality of candidate platforms in the situation may be specified as the predicted value associated with the candidate platform.
  • the AI/big data processing unit 56 specifies individual leveling index values that indicate variations in predicted values of resource usage among a plurality of candidate platforms when the application of interest is placed on the candidate platforms. good.
  • the AI/big data processing unit 56 calculates a predicted value and a predetermined value of the resource usage status on each of the plurality of candidate platforms when the application of interest is placed on the candidate platform.
  • An individual leveling index value indicating the sum of the absolute values of the differences may be specified.
  • the AI/big data processing unit 56 determines, for example, for each of the n candidate platforms, based on the non-placement predicted value data associated with the candidate platform, when the application of interest is not deployed on the candidate platform, , an unplaced resource usage rate that is a resource usage rate associated with the candidate platform may be calculated. For example, for each of multiple period types, the representative value of predicted value of CPU usage rate, the representative value of predicted value of memory usage rate, the representative value of predicted value of storage usage rate, and the representative value of predicted value of bandwidth usage rate. A representative value may be calculated. Then, the representative value of these four representative values may be calculated as the non-allocation resource usage rate associated with the candidate platform.
  • the AI/big data processing unit 56 also determines, for example, the placement that is the resource usage rate associated with the candidate platform, based on the placement predicted value data associated with the candidate platform.
  • the resource usage rate may also be calculated. For example, for each of multiple period types, the representative value of predicted value of CPU usage rate, the representative value of predicted value of memory usage rate, the representative value of predicted value of storage usage rate, and the representative value of predicted value of bandwidth usage rate. A representative value may be calculated. Then, the representative value of these four representative values may be calculated as the placement resource usage rate associated with the candidate platform.
  • Examples of the above-mentioned representative values include the average value and the maximum value.
  • examples of the above-mentioned "representative values for the four representative values" include the average value of the above-mentioned four average values, the maximum value of the above-mentioned four average values, and the above-mentioned four maximum values. Examples include an average value, the maximum value of the above-mentioned four maximum values, and the like.
  • the AI/big data processing unit 56 determines, for each of the n candidate platforms, an individual leveling index associated with the candidate platform, based on the above-mentioned non-allocated resource usage rate and the above-mentioned allocated resource usage rate. A value may also be calculated.
  • the value of the allocated resource usage rate of a platform of interest, which is a certain candidate platform, and the value of the unplaced resource usage rate of other (n-1) candidate platforms may be specified. Then, the variance or standard deviation of the n specified values may be calculated as an individual leveling index value associated with the base of interest.
  • the difference between the placed resource usage rate for the platform of interest and a predetermined value (for example, 70%), and the difference between the unplaced resource usage rate for other (n-1) candidate platforms and the predetermined value (for example, 70%) may be identified. Then, the sum of the absolute values of the n identified differences may be calculated as the individual leveling index value associated with the base of interest.
  • the individual leveling index value identified in this way corresponds to an example of an individual leveling index value indicating the degree of leveling of resource usage among a plurality of candidate platforms.
  • a first individual leveling index value indicating the degree of leveling of the resource usage status on the candidate platform, and a The individual leveling index value associated with the candidate platform may be specified based on the second individual leveling index value indicating the degree of leveling of the resource usage status.
  • the average value of the first individual leveling index value and the second individual leveling index value may be specified as the individual leveling index value associated with the candidate base.
  • a weighted average value of the first individual leveling index value and the second individual leveling index value with a given weight is specified as the individual leveling index value associated with the candidate base. Good too.
  • the policy manager unit 80 determines the execution platform on which the application of interest is placed from among the plurality of candidate platforms, based on the individual leveling index value specified as described above.
  • the variation indicated by the individual leveling index value is small.
  • the execution platform on which the application of interest is placed may be determined based on the size.
  • the individual leveling index value when an individual leveling index value is specified that indicates the dispersion of predicted values of resource usage among multiple candidate platforms when a focused application is deployed on a candidate platform, the individual leveling index value
  • the candidate base on which the application of interest is placed may be determined based on the smallness of the variation shown by .
  • the candidate platform associated with the smallest value among the individual leveling index values indicating dispersion associated with each of a plurality of candidate platforms may be determined as the execution platform on which the application of interest is placed.
  • the individual leveling index value indicating the difference between the maximum and minimum predicted values for each period type on the candidate platform
  • the individual leveling index value is specified.
  • the execution platform on which the application of interest is placed may be determined based on the smallness of the difference indicated by the leveling index value. For example, the candidate platform associated with the smallest value among the individual leveling index values indicating the difference associated with each of the plurality of candidate platforms may be determined as the execution platform on which the application of interest is placed. .
  • an individual leveling index value is specified that indicates the sum of the absolute values of the differences between the predicted value of the resource usage status and a predetermined value on each of a plurality of candidate platforms when the focused application is placed on the candidate platform.
  • the execution platform on which the application to be added is placed may be determined based on the smallness of the sum of the absolute values of the differences indicated by the individual leveling index values. For example, the candidate platform that is associated with the smallest value among the individual leveling index values that indicate the sum of the absolute values of differences that are associated with each of multiple candidate platforms is the execution platform on which the application of interest is deployed. may be determined.
  • the higher the degree of leveling the smaller the individual leveling index values.
  • an individual leveling index value may be used that increases as the degree of leveling increases.
  • the candidate platform associated with the largest value among the individual leveling index values associated with each of the plurality of candidate platforms is determined as the execution platform on which the application of interest is placed.
  • the execution platform on which the application is placed is determined based on the individual leveling index value, starting from the one with the highest existing constraint determination order. It's okay.
  • the execution platform on which the application is placed may be determined based on the individual leveling index values in the order of the new constraint determination order.
  • the execution platform on which the application is placed may be determined in a random order based on the individual leveling index value.
  • each of the plurality of applications is placed on an execution platform determined as an execution platform to be placed for the application.
  • the life cycle management section 84, the container management section 64, and the configuration management section 62 for example, for an application to be added that has not yet been built in the communication system 1, will newly build it on the execution platform determined for the application. do.
  • life cycle management unit 84 the container management unit 64, and the configuration management unit 62 replace, for example, an application that has already been built in the communication system 1 with an execution platform determined for the application.
  • multiple types of requirements may be set as requirements related to the execution platform on which applications can be placed.
  • the policy manager unit 80 may specify multiple types of requirements for each of the multiple applications regarding the execution infrastructure on which the applications can be placed.
  • the policy manager unit 80 may determine the order of determining the execution platforms to be deployed for the plurality of applications based on each of the plurality of types of requirements.
  • each application in the category "Existing Constraints” or “New Constraints” has a requirement for the number of GPUs implemented, a requirement for the size of memory implemented, and a requirement for the size of implemented storage. Suppose requirements are associated.
  • the policy manager unit 80 sorts applications whose category is "existing constraints" in descending order of requirements regarding the number of GPUs implemented, that is, in descending order of the number indicated in the requirements.
  • the order of determination within the existing constraints may be determined as follows. Also, for applications whose category is "new constraints", the order of determining new constraints is determined so that the requirements for the number of GPUs implemented are the most severe, that is, the number indicated in the requirements is the highest. It's okay.
  • the policy manager unit 80 similarly arranges each of the plurality of applications so that, for example, the requirements for the size of the installed memory are arranged in order of strictness, that is, in order of the size indicated in the requirements.
  • the order in which the execution bases to be executed may be determined may be determined. The order determined in this way will be referred to as the memory order.
  • the policy manager unit 80 similarly arranges each of the plurality of applications so that, for example, the size requirements of the implemented storage are arranged in order of strictness, that is, in order of the size indicated in the requirements.
  • the order in which the execution bases to be executed may be determined may be determined. The order determined in this manner will be referred to as the storage order.
  • a plurality of orders may be determined as the order of determining the execution platforms to be placed.
  • the AI/big data processing unit 56 may calculate the overall leveling index value when the execution platform on which all applications are placed is determined according to the GPU order.
  • the comprehensive leveling index value refers to the resource usage status of each execution platform when multiple applications are placed on an execution platform determined based on one of multiple types of requirements. This refers to a leveling index value that indicates at least one of the degree of leveling of resource usage among a plurality of execution platforms, or the degree of leveling of resource usage among a plurality of execution platforms.
  • the AI/big data processing unit 56 may calculate individual leveling index values associated with each of the plurality of candidate platforms, for example, as described above. The AI/big data processing unit 56 may then calculate the representative value (average value or maximum value) of the individual leveling index values calculated in this way as the overall leveling index value.
  • the above-mentioned individual leveling index value indicating the degree of leveling of the resource usage status in the candidate platform may be calculated. Then, if the representative value (average value or maximum value) of the individual leveling index value calculated in this way for multiple execution platforms determines the execution platform on which each of all applications is placed according to the GPU order, It may be calculated as a comprehensive leveling index value in .
  • the comprehensive leveling index value may be a value indicating the degree of leveling of resource usage among a plurality of candidate platforms.
  • the resource usage rate of the execution platform may be calculated.
  • the variance or standard deviation of the resource usage rate values calculated in this way for multiple execution platforms is the overall leveling index value when the execution platforms on which all applications are placed are determined according to the GPU order. It may be calculated as
  • the sum of the absolute values of the differences between the resource usage rate values and a predetermined value (for example, 70%) for multiple execution platforms is determined as the execution platform on which all applications are placed according to the GPU order, , may be calculated as a comprehensive leveling index value.
  • the overall leveling index value may be calculated when the execution platform on which all applications are arranged is determined according to the memory order. Similarly, the overall leveling index value may be calculated when the execution platform on which all applications are placed is determined according to the storage order.
  • the policy manager unit 80 may determine the execution platform on which the plurality of applications are placed, according to any one of the determination orders determined for each of the plurality of types of requirements.
  • the policy manager unit 80 determines the execution platform on which the plurality of applications are placed, according to the determination order determined based on the comprehensive leveling index value, from among the determination orders determined for each of the plurality of types of requirements. You may.
  • the execution platform determined in the order associated with the overall leveling index value with the highest degree of leveling is It may be determined as the execution platform to be deployed.
  • the policy manager unit 80 may determine the order of determining the execution platforms to be deployed for a plurality of applications based on certain types of requirements.
  • the policy manager unit 80 determines whether the degree of leveling indicated by the above-mentioned comprehensive leveling index value is higher than a predetermined height when the execution platform on which each application is placed is determined according to the determination order. It may be determined whether
  • the policy manager unit 80 determines the execution platform on which the plurality of applications are arranged according to the determination order. It's okay. If this is not the case, the policy manager unit 80 may re-determine the order in which the execution platforms to be placed are determined for the plurality of applications based on other types of requirements.
  • the execution platform determined in this way The platform may be determined as the execution platform on which each application is placed. If this is not the case, the overall leveling index value may be specified when the execution platform on which each application is placed is determined according to the memory order.
  • the execution platform determined in this way The platform may be determined as the execution platform on which each application is placed. If this is not the case, the overall leveling index value may be specified when the execution platform on which each application is placed is determined according to the storage order.
  • the execution platform determined in this way may be determined as the execution platform on which each application is placed.
  • the service catalog storage unit 54 may store constraint strength data that associates requirements related to execution platforms on which applications can be deployed with the strength of constraints on deployment.
  • the service catalog storage unit 54 may store constraint strength data in which the requirement "Cubanetes cluster same as AMF" is associated with the strength "5". Then, the service catalog storage unit 54 may store constraint strength data in which the requirement "same fabric network as AMF” is associated with the strength "4". Then, the service catalog storage unit 54 may store constraint strength data in which the requirement "same data center as AMF” is associated with the strength "3”. Then, the service catalog storage unit 54 may store constraint strength data in which the requirement "under the same edge router (application router) as AMF” is associated with the strength "2”. Then, the service catalog storage unit 54 may store restriction strength data in which the requirement of "same area (super block, region) as AMF" is associated with strength "1".
  • the policy manager unit 80 arranges a plurality of applications in order of strength of constraints specified based on the requirements related to the execution infrastructure on which the applications can be arranged and the constraint strength data.
  • the order of determining the execution base may be determined. That is, the determination order may be determined such that the stronger the strength, the earlier the execution platform to be placed is determined.
  • the execution platform on which applications are placed in an appropriate order is determined as described above. In this way, according to this embodiment, the resources of the execution infrastructure on which multiple types of applications are built can be effectively utilized.
  • the policy manager unit 80 waits for the timing for determining the arrangement to arrive (S101).
  • the AI/big data processing unit 56 When the placement decision timing arrives, the AI/big data processing unit 56 generates AP resource data indicating the amount of resources required by the application being executed in the communication system 1 and the application scheduled to be added. (S102).
  • the policy manager unit 80 determines the first order, which is the order in which the execution platforms to be placed are determined, for the plurality of applications for which AP resource data have been generated in the process shown in S102. Determine (S103).
  • the policy manager unit 80 determines the execution platform on which the plurality of applications for which AP resource data were generated in the process shown in S102 is placed, according to the first order (S104).
  • a first comprehensive leveling index value is specified (S105).
  • the policy manager unit 80 arranges for the plurality of applications for which AP resource data has been generated in the process shown in S102 based on the second type of requirements different from the first type of requirements described above.
  • a second order which is the order of determining the execution base, is determined (S106).
  • the policy manager unit 80 determines the execution platform on which the plurality of applications for which AP resource data were generated in the process shown in S102 is placed, according to the second order (S107).
  • a second comprehensive leveling index value is specified (S108).
  • the policy manager unit 80 selects a plurality of applications for which AP resource data has been generated in the process shown in S102 based on a third type of requirement that is different from the first type of requirement and the second type of requirement described above.
  • a third order which is the order of determining the execution platforms to be placed, is determined (S109).
  • the policy manager unit 80 determines the execution platform on which the multiple applications for which AP resource data were generated in the process shown in S102 are placed (S110).
  • a third comprehensive leveling index value is specified (S111).
  • the policy manager unit 80 finalizes the execution platform on which the application is placed, regarding the application being executed in the communication system 1 and the application scheduled to be added (S112).
  • the first comprehensive leveling index value specified in the process shown in S105, the second comprehensive leveling index value specified in the process shown in S108, and the second comprehensive leveling index value specified in the process shown in S111 are used.
  • the comprehensive leveling index value having the highest degree of leveling of the resource usage status may be specified.
  • the execution platforms determined in the order corresponding to the specified comprehensive leveling index value are finally determined as the execution platforms on which each application is placed.
  • the execution platform determined in the process shown in S104 is finally determined as the execution platform on which each application is placed.
  • Ru For example, if the degree of leveling of the resource usage indicated by the second comprehensive leveling index value is the highest, the execution platform determined in the process shown in S107 is finally determined as the execution platform on which each application is placed. be done.
  • the execution platform determined in the process shown in S110 is finally determined as the execution platform on which each application is placed. be done.
  • the life cycle management unit 84, the container management unit 64, and the configuration management unit 62 arrange the applications that are being executed in the communication system 1 and the applications that are scheduled to be added, respectively, in the process shown in S112. It is placed on the execution platform determined as the execution platform (S113).
  • the processes shown in S106 to S111 are skipped and the process shown in S112 is performed.
  • the execution platform determined in the first order may be finally determined as the execution platform on which each application is placed.
  • the processes shown in S109 to S111 are skipped, and the process shown in S112 is performed.
  • the execution platform determined in the second order may be finally determined as the execution platform on which each application is placed.
  • the execution platform according to this embodiment may be a Kubernetes cluster.
  • the execution platform according to this embodiment may be a server.
  • the application according to this embodiment may be a network function included in the communication system 1, or may be an application other than a network function, such as an application for big data analysis or AI.
  • the individual leveling index value and the overall leveling index value are based on all of the CPU usage status, memory usage status, storage usage status, network usage status, and power usage status. are calculated, but an individual leveling index value or a comprehensive leveling index value may be calculated based on a part of these.
  • the individual leveling index value or the overall leveling index value is calculated based on any one of the CPU usage status, memory usage status, storage usage status, network usage status, or power usage status. may be done.
  • the functional units according to this embodiment are not limited to those shown in FIG. 3.
  • the functional unit according to this embodiment may be a network node such as AMF (Access and Mobility Management Function) or SMF (Session Management Function).
  • AMF Access and Mobility Management Function
  • SMF Session Management Function
  • the functional unit according to this embodiment does not need to be an NF in 5G.
  • the functional units according to this embodiment include eNodeB, vDU, vCU, P-GW (Packet Data Network Gateway), S-GW (Serving Gateway), MME (Mobility Management Entity), HSS (Home Subscriber Server), etc. , it may be a network node in 4G.
  • the functional unit according to this embodiment may be realized using hypervisor-type or host-type virtualization technology instead of container-type virtualization technology. Further, the functional unit according to this embodiment does not need to be implemented by software, and may be implemented by hardware such as an electronic circuit. Further, the functional unit according to this embodiment may be implemented by a combination of an electronic circuit and software.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

複数種類のアプリケーションが構築される実行基盤のリソースを有効に活用できる配置システム及び配置方法を提供する。ポリシーマネージャ部(80)は、複数のアプリケーションのそれぞれについて、当該アプリケーションの種類に対応付けられる、当該アプリケーションが配置可能な実行基盤に係る要件を特定する。ポリシーマネージャ部(80)は、特定される要件に基づいて、複数のアプリケーションの順序を決定する。ポリシーマネージャ部(80)は、決定される決定順序に従って、複数のアプリケーションのそれぞれが配置される実行基盤を決定する。ライフサイクル管理部(84)、コンテナ管理部(64)、及び、構成管理部(62)は、複数のアプリケーションのそれぞれを、当該アプリケーションについて決定される実行基盤に配置する。

Description

配置システム及び配置方法
 本発明は、配置システム及び配置方法に関する。
 ネットワークファンクション等のアプリケーションの実行基盤への構築に関する技術の一例として、特許文献1には、顧客が購入した製品のオーダを、VNF(Virtualized Network Function)単位に分解し、NFVI(Network Functions Virtualization Infrastructure)上にデプロイする技術が記載されている。
国際公開第2018/181826号
 特許文献1に記載されているようなアプリケーションの構築では、アプリケーションの種類によっては、当該種類に対応付けられる要件を満たす実行基盤に配置しなければならないものがある。
 そのため、複数種類のアプリケーションをランダムな順序で実行基盤に配置すると、実行基盤のリソースを有効に活用できない状況が発生するおそれがある。例えば、最後の方に配置されるアプリケーションがどの実行基盤にも配置できないといった状況、アプリケーションが配置された実行基盤に偏りがあるといった状況などが起こり得る。
 本発明は上記実情に鑑みてなされたものであって、その目的の一つは、複数種類のアプリケーションが構築される実行基盤のリソースを有効に活用できる配置システム及び配置方法を提供することにある。
 上記課題を解決するために、本発明に係る配置システムは、複数のアプリケーションのそれぞれについて、当該アプリケーションの種類に対応付けられる、当該アプリケーションが配置可能な実行基盤に係る要件を特定する要件特定手段と、前記要件に基づいて、前記複数の前記アプリケーションの順序を決定する順序決定手段と、決定される前記順序に従って、前記複数の前記アプリケーションのそれぞれが配置される前記実行基盤を決定する実行基盤決定手段と、前記複数の前記アプリケーションのそれぞれを、当該アプリケーションについて決定される前記実行基盤に配置する配置手段と、を含む。
 本発明の一態様では、前記配置手段は、前記複数の前記アプリケーションのそれぞれを当該アプリケーションについて決定される前記実行基盤に配置する際に、未構築の前記アプリケーションについては、当該アプリケーションについて決定される前記実行基盤に新たに構築する。
 また、本発明の一態様では、前記配置手段は、前記複数の前記アプリケーションのそれぞれを当該アプリケーションについて決定される前記実行基盤に配置する際に、既に構築されている前記アプリケーションについては、当該アプリケーションについて決定される前記実行基盤にリプレースする。
 また、本発明の一態様では、前記要件と、前記アプリケーションの配置における制約の強さと、を対応付けた制約強さデータを記憶する制約強さデータ記憶手段、をさらに含み、前記順序決定手段は、前記要件と前記制約強さデータとに基づいて特定される制約の強さが強い順となるよう、前記順序を決定する。
 あるいは、前記アプリケーションは、特定の前記実行基盤のみに配置可能であるもの、所定の条件を満たす前記実行基盤に配置可能であるもの、又は、任意の前記実行基盤に配置可能であるもの、のいずれかであり、前記順序決定手段は、特定の前記実行基盤のみに配置可能である前記アプリケーション、所定の条件を満たす前記実行基盤に配置可能である前記アプリケーション、任意の前記実行基盤に配置可能である前記アプリケーション、の順となるよう、前記順序を決定する。
 また、本発明の一態様では、第1の種類の前記アプリケーションが配置可能な前記実行基盤に係る要件が、第2の種類の前記アプリケーションのロケーションに係る要件である場合に、前記順序決定手段は、前記順序において、前記第1の種類の前記アプリケーションを、前記第2の種類の前記アプリケーションよりも後にする。
 また、本発明の一態様では、前記要件特定手段は、前記複数の前記アプリケーションのそれぞれの、当該アプリケーションが配置可能な前記実行基盤に係る複数種類の要件を特定し、前記順序決定手段は、前記複数種類の要件のそれぞれについて、当該要件に基づいて、前記順序を決定し、前記実行基盤決定手段は、前記複数種類の要件のそれぞれについて決定される複数の前記順序のうちのいずれかに従って、前記複数の前記アプリケーションが配置される前記実行基盤を決定する。
 この態様では、前記複数種類の要件のそれぞれについて決定される複数の前記順序のそれぞれについて、当該順序に従って前記複数の前記アプリケーションを前記実行基盤に配置した場合における、個々の前記実行基盤におけるリソースの使用状況の平準化の程度、又は、前記複数の前記実行基盤間におけるリソースの使用状況の平準化の程度のうちの少なくとも一方を示す平準化指標値を算出する平準化指標値算出手段、をさらに含み、前記実行基盤決定手段は、前記複数種類の要件のそれぞれについて決定される複数の前記順序のうちから、前記平準化指標値に基づいて決定される順序に従って、前記複数の前記アプリケーションが配置される前記実行基盤を決定してもよい。
 あるいは、前記順序決定手段は、前記複数種類のうちのある種類の前記要件に基づいて、前記順序を決定し、決定される前記順序に従って前記複数の前記アプリケーションを前記実行基盤に配置した場合における、個々の前記実行基盤におけるリソースの使用状況の平準化の程度、又は、前記複数の前記実行基盤間におけるリソースの使用状況の平準化の程度のうちの少なくとも一方を示す平準化指標値を算出する平準化指標値算出手段、をさらに含み、前記平準化指標値が示す平準化の程度の高さが所定の高さよりも高い場合には、前記実行基盤決定手段が、決定される前記順序に従って、前記複数の前記アプリケーションが配置される前記実行基盤を決定し、そうでない場合には、前記順序決定手段が、前記複数種類のうちの他の種類の前記要件に基づいて前記順序を再決定してもよい。
 前記リソースの使用状況は、CPUの使用状況、メモリの使用状況、ストレージの使用状況、ネットワークの使用状況、又は、電力の使用状況、のうちの少なくとも1つであってもよい。
 また、本発明の一態様では、前記実行基盤は、仮想化技術によって生成される1以上のコンテナから構成されるクラスタである。
 また、本発明の一態様では、前記アプリケーションは、通信システムに含まれるアプリケーションである。
 この態様では、前記アプリケーションは、ネットワークファンクションであってもよい。
 また、本発明に係る配置方法は、複数のアプリケーションのそれぞれについて、当該アプリケーションの種類に対応付けられる、当該アプリケーションが配置可能な実行基盤に係る要件を特定するステップと、前記要件に基づいて、前記複数の前記アプリケーションの順序を決定するステップと、決定される前記順序に従って、前記複数の前記アプリケーションのそれぞれが配置される前記実行基盤を決定するステップと、前記複数の前記アプリケーションのそれぞれを、当該アプリケーションについて決定される前記実行基盤に配置するステップと、を含む。
本発明の一実施形態に係る通信システムの一例を示す図である。 本発明の一実施形態に係る通信システムの一例を示す図である。 本発明の一実施形態に係るネットワークサービスの一例を模式的に示す図である。 本発明の一実施形態に係る通信システムに構築される要素間の関連付けの一例を示す図である。 本発明の一実施形態に係るプラットフォームシステムで実装される機能の一例を示す機能ブロック図である。 物理インベントリデータのデータ構造の一例を示す図である。 APリソースデータの一例を示す図である。 使用状況予測値データの一例を示す図である。 制約強さデータの一例を示す図である。 本発明の一実施形態に係るプラットフォームシステムで行われる処理の流れの一例を示すフロー図である。
 以下、本発明の一実施形態について図面に基づき詳細に説明する。
 図1及び図2は、本発明の一実施形態に係る通信システム1の一例を示す図である。図1は、通信システム1に含まれるデータセンタ群のロケーションに着目した図となっている。図2は、通信システム1に含まれるデータセンタ群で実装されている各種のコンピュータシステムに着目した図となっている。
 図1に示すように、通信システム1に含まれるデータセンタ群は、セントラルデータセンタ10、リージョナルデータセンタ12、エッジデータセンタ14に分類される。
 セントラルデータセンタ10は、例えば、通信システム1がカバーするエリア内(例えば、日本国内)に分散して数個配置されている。
 リージョナルデータセンタ12は、例えば、通信システム1がカバーするエリア内に分散して数十個配置されている。例えば、通信システム1がカバーするエリアが日本国内全域である場合に、リージョナルデータセンタ12が、各都道府県に1から2個ずつ配置されてもよい。
 エッジデータセンタ14は、例えば、通信システム1がカバーするエリア内に分散して数千個配置される。また、エッジデータセンタ14のそれぞれは、アンテナ16を備えた通信設備18と通信可能となっている。ここで図1に示すように、1つのエッジデータセンタ14が数個の通信設備18と通信可能になっていてもよい。通信設備18は、サーバコンピュータなどのコンピュータを含んでいてもよい。本実施形態に係る通信設備18は、アンテナ16を介してUE(User Equipment)20との間で無線通信を行う。アンテナ16を備えた通信設備18には、例えば、後述のRU(Radio Unit)が設けられている。
 本実施形態に係るセントラルデータセンタ10、リージョナルデータセンタ12、エッジデータセンタ14には、それぞれ、複数のサーバが配置されている。
 本実施形態では例えば、セントラルデータセンタ10、リージョナルデータセンタ12、エッジデータセンタ14は、互いに通信可能となっている。また、セントラルデータセンタ10同士、リージョナルデータセンタ12同士、エッジデータセンタ14同士も互いに通信可能になっている。
 図2に示すように、本実施形態に係る通信システム1には、プラットフォームシステム30、複数の無線アクセスネットワーク(RAN)32、複数のコアネットワークシステム34、複数のUE20が含まれている。コアネットワークシステム34、RAN32、UE20は、互いに連携して、移動通信ネットワークを実現する。
 RAN32は、第4世代移動通信システム(以下、4Gと呼ぶ。)におけるeNB(eNodeB)や、第5世代移動通信システム(以下、5Gと呼ぶ。)におけるgNB(NR基地局)に相当する、アンテナ16を備えたコンピュータシステムである。本実施形態に係るRAN32は、主に、エッジデータセンタ14に配置されているサーバ群及び通信設備18によって実装される。なお、RAN32の一部(例えば、DU(Distributed Unit)、CU(Central Unit)、vDU(virtual Distributed Unit)、vCU(virtual Central Unit))は、エッジデータセンタ14ではなく、セントラルデータセンタ10やリージョナルデータセンタ12で実装されてもよい。
 コアネットワークシステム34は、4GにおけるEPC(Evolved Packet Core)や、5Gにおける5Gコア(5GC)に相当するシステムである。本実施形態に係るコアネットワークシステム34は、主に、セントラルデータセンタ10やリージョナルデータセンタ12に配置されているサーバ群によって実装される。
 本実施形態に係るプラットフォームシステム30は、例えば、クラウド基盤上に構成されており、図2に示すように、プロセッサ30a、記憶部30b、通信部30c、が含まれる。プロセッサ30aは、プラットフォームシステム30にインストールされるプログラムに従って動作するマイクロプロセッサ等のプログラム制御デバイスである。記憶部30bは、例えばROMやRAM等の記憶素子や、ソリッドステートドライブ(SSD)、ハードディスクドライブ(HDD)などである。記憶部30bには、プロセッサ30aによって実行されるプログラムなどが記憶される。通信部30cは、例えば、NIC(Network Interface Controller)や無線LAN(Local Area Network)モジュールなどといった通信インタフェースである。なお、通信部30cにおいて、SDN(Software-Defined Networking)が実装されていてもよい。通信部30cは、RAN32、コアネットワークシステム34、との間でデータを授受する。
 本実施形態では、プラットフォームシステム30は、セントラルデータセンタ10に配置されているサーバ群によって実装されている。なお、プラットフォームシステム30が、リージョナルデータセンタ12に配置されているサーバ群によって実装されていてもよい。
 本実施形態では例えば、購入者によるネットワークサービス(NS)の購入要求に応じて、購入要求がされたネットワークサービスがRAN32やコアネットワークシステム34に構築される。そして、構築されたネットワークサービスが購入者に提供される。
 例えば、MVNO(Mobile Virtual Network Operator)である購入者に、音声通信サービスやデータ通信サービス等のネットワークサービスが提供される。本実施形態によって提供される音声通信サービスやデータ通信サービスは、図1及び図2に示すUE20を利用する、購入者(上述の例ではMVNO)にとっての顧客(エンドユーザ)に対して最終的に提供されることとなる。当該エンドユーザは、RAN32やコアネットワークシステム34を介して他のユーザとの間で音声通信やデータ通信を行うことが可能である。また、当該エンドユーザのUE20は、RAN32やコアネットワークシステム34を介してインターネット等のデータネットワークにアクセスできるようになっている。
 また、本実施形態において、ロボットアームやコネクテッドカーなどを利用するエンドユーザに対して、IoT(Internet of Things)サービスが提供されても構わない。そして、この場合において、例えば、ロボットアームやコネクテッドカーなどを利用するエンドユーザが本実施形態に係るネットワークサービスの購入者となっても構わない。
 本実施形態では、セントラルデータセンタ10、リージョナルデータセンタ12、及び、エッジデータセンタ14に配置されているサーバには、ドッカー(Docker(登録商標))などのコンテナ型の仮想化アプリケーション実行環境がインストールされており、これらのサーバにコンテナをデプロイして稼働させることができるようになっている。これらのサーバにおいて、このような仮想化技術によって生成される1以上のコンテナから構成されるクラスタが構築されてもよい。例えば、クバネテス(Kubernetes(登録商標))等のコンテナ管理ツールによって管理されるクバネテスクラスタが構築されていてもよい。そして、構築されたクラスタ上のプロセッサがコンテナ型のアプリケーションを実行してもよい。
 そして本実施形態において購入者に提供されるネットワークサービスは、1又は複数の機能ユニット(例えば、ネットワークファンクション(NF))から構成される。本実施形態では、当該機能ユニットは、仮想化技術によって実現されたNFで実装される。仮想化技術によって実現されたNFは、VNF(Virtualized Network Function)と称される。なお、どのような仮想化技術によって仮想化されたかは問わない。例えば、コンテナ型の仮想化技術によって実現されたCNF(Containerized Network Function)も、本説明においてVNFに含まれる。本実施形態では、ネットワークサービスが1又は複数のCNFによって実装されるものとして説明する。また、本実施形態に係る機能ユニットは、ネットワークノードに相当するものであってもよい。
 図3は、稼働中のネットワークサービスの一例を模式的に示す図である。図3に示すネットワークサービスには、複数のRU40、複数のDU42、複数のCU44、及び、複数のUPF(User Plane Function)46などのNFがソフトウェア要素として含まれている。なお、当該ネットワークサービスには、AMF(Access and Mobility Management Function)や、SMF(Session Management Function)などといった他のソフトウェア要素も含まれるが、これらの要素については記載を省略する。また、ネットワークサービスは、複数のサーバ等のコンピュータリソース(ハードウェア要素)上に実装されている。
 そして、本実施形態では例えば、図3に示すネットワークサービスによって、あるエリアにおける通信サービスが提供される。
 そして、本実施形態では、図3に示す複数のRU40、複数のDU42、複数のCU44、及び、複数のUPF46が、1つのエンド・ツー・エンドのネットワークスライスに所属していることとする。
 図4は、本実施形態において通信システム1に構築される要素間の関連付けの一例を模式的に示す図である。なお、図4に示された記号MおよびNは1以上の任意の整数を表し、リンクで接続された要素同士の個数の関係を示す。リンクの両端がMとNの組み合わせの場合は、当該リンクで接続された要素同士は多対多の関係であり、リンクの両端が1とNの組み合わせ又は1とMの組み合わせの場合は、当該リンクで接続された要素同士は1対多の関係である。
 図4に示すように、ネットワークサービス(NS)、ネットワークファンクション(NF)、CNFC(Containerized Network Function Component)、pod、及び、コンテナは、階層構成となっている。
 NSは、例えば、複数のNFから構成されるネットワークサービスに相当する。ここで、NSが、例えば、5GC、EPC、5GのRAN(gNB)、4GのRAN(eNB)、などの粒度の要素に相当するものであってもよい。
 NFは、5Gでは、例えば、DU42、CU44、UPF46、などの粒度の要素に相当する。また、NFは、AMF、SMFなどの粒度の要素に相当する。また、NFは、4Gでは、例えば、MME(Mobility Management Entity)、HSS(Home Subscriber Server)、S-GW(Serving Gateway)、vDU、vCUなどの粒度の要素に相当する。本実施形態では例えば、1つのNSには、1又は複数のNFが含まれる。すなわち、1又は複数のNFが、1つのNSの配下にあることとなる。
 CNFCは、例えば、DU mgmtやDU Processingなどの粒度の要素に相当する。CNFCは、1つ以上のコンテナとしてサーバにデプロイされるマイクロサービスであってもよい。例えば、あるCNFCは、DU42、CU44等の機能のうち一部の機能を提供するマイクロサービスであってもよい。また、あるCNFCは、UPF46、AMF、SMF等の機能のうちの一部の機能を提供するマイクロサービスであってもよい。本実施形態では例えば、1つのNFには、1又は複数のCNFCが含まれる。すなわち、1又は複数のCNFCが、1つのNFの配下にあることとなる。
 podは、例えば、クバネテスでドッカーコンテナを管理するための最小単位を指す。本実施形態では例えば、1つのCNFCには、1又は複数のpodが含まれる。すなわち、1又は複数のpodが、1つのCNFCの配下にあることとなる。
 そして、本実施形態では例えば、1つのpodには、1又は複数のコンテナが含まれる。すなわち、1又は複数のコンテナが、1つのpodの配下にあることとなる。
 また、図4に示すように、ネットワークスライス(NSI)とネットワークスライスサブネットインスタンス(NSSI)とは階層構成となっている。
 NSIは、複数ドメイン(例えばRAN32からコアネットワークシステム34)に跨るエンド・ツー・エンドの仮想回線とも言える。NSIは、高速大容量通信用のスライス(例えば、eMBB:enhanced Mobile Broadband用)、高信頼度かつ低遅延通信用のスライス(例えば、URLLC:Ultra-Reliable and Low Latency Communications用)、又は、大量端末の接続用のスライス(例えば、mMTC:massive Machine Type Communication用)であってもよい。NSSIは、NSIを分割した単一ドメインの仮想回線とも言える。NSSIは、RANドメインのスライス、MBH(Mobile Back Haul)ドメインのスライス、又は、コアネットワークドメインのスライスであってもよい。
 本実施形態では例えば、1つのNSIには、1又は複数のNSSIが含まれる。すなわち、1又は複数のNSSIが、1つのNSIの配下にあることとなる。なお、本実施形態において、複数のNSIが同じNSSIを共有してもよい。
 また、図4に示すように、NSSIとNSとは、一般的には、多対多の関係となる。
 また、本実施形態では例えば、1つのNFは、1又は複数のネットワークスライスに所属できるようになっている。具体的には例えば、1つのNFには、1又は複数のS-NSSAI(Sub Network Slice Selection Assist Information)を含むNSSAI(Network Slice Selection Assistance Information)を設定できるようになっている。ここで、S-NSSAIは、ネットワークスライスに対応付けられる情報である。なお、NFが、ネットワークスライスに所属していなくてもよい。
 図5は、本実施形態に係るプラットフォームシステム30で実装される機能の一例を示す機能ブロック図である。なお、本実施形態に係るプラットフォームシステム30で、図5に示す機能のすべてが実装される必要はなく、また、図5に示す機能以外の機能が実装されていても構わない。
 図5に示すように、本実施形態に係るプラットフォームシステム30には、機能的には例えば、オペレーションサポートシステム(OSS)部50、オーケストレーション(E2EO:End-to-End-Orchestration)部52、サービスカタログ記憶部54、AI・ビッグデータ処理部56、監視機能部58、SDNコントローラ60、構成管理部62、コンテナ管理部64、リポジトリ部66、が含まれている。そして、OSS部50には、インベントリデータベース70、チケット管理部72、障害管理部74、性能管理部76、が含まれている。そして、E2EO部52には、ポリシーマネージャ部80、スライスマネージャ部82、ライフサイクル管理部84、が含まれている。これらの要素は、プロセッサ30a、記憶部30b、及び、通信部30cを主として実装される。
 図5に示す機能は、1又は複数のコンピュータであるプラットフォームシステム30にインストールされ、当該機能に対応する指令を含むプログラムをプロセッサ30aが実行することにより、実装されてもよい。このプログラムは、例えば、光ディスク、磁気ディスク、磁気テープ、光磁気ディスク、フラッシュメモリ等のコンピュータ読み取り可能な情報記憶媒体を介して、あるいは、インターネットなどを介してプラットフォームシステム30に供給されてもよい。また、図5に示す機能が、回路ブロック、メモリ、その他のLSIで実装されてもよい。また、図5に示す機能が、ハードウェアのみ、ソフトウェアのみ、またはそれらの組合せといった様々な形態で実現できることは、当業者には理解されるところである。
 コンテナ管理部64には、コンテナのライフサイクル管理を実行する。例えば、コンテナのデプロイや設定などといったコンテナの構築に関する処理が当該ライフサイクル管理に含まれる。
 ここで、本実施形態に係るプラットフォームシステム30に、複数のコンテナ管理部64が含まれていてもよい。そして、複数のコンテナ管理部64のそれぞれには、クバネテス等のコンテナ管理ツール、及び、ヘルム(Helm)等のパッケージマネージャがインストールされていてもよい。そして、複数のコンテナ管理部64は、それぞれ、当該コンテナ管理部64に対応付けられるサーバ群(例えばクバネテスクラスタ)に対して、コンテナのデプロイ等のコンテナの構築を実行してもよい。
 なお、コンテナ管理部64は、プラットフォームシステム30に含まれている必要はない。コンテナ管理部64は、例えば、当該コンテナ管理部64によって管理されるサーバ(すなわち、RAN32やコアネットワークシステム34)に設けられていてもよいし、あるいは、当該コンテナ管理部64によって管理されるサーバに併設されている他のサーバに設けられていてもよい。
 リポジトリ部66は、本実施形態では例えば、ネットワークサービスを実現する機能ユニット群(例えば、NF群)に含まれるコンテナのコンテナイメージを記憶する。
 インベントリデータベース70は、インベントリ情報が格納されたデータベースである。当該インベントリ情報には、例えば、RAN32やコアネットワークシステム34に配置され、プラットフォームシステム30で管理されているサーバについての情報が含まれる。
 また本実施形態では、インベントリデータベース70には、インベントリデータが記憶されている。インベントリデータには、通信システム1に含まれる要素群の構成や要素間の関連付けの現況が示されている。また、インベントリデータには、プラットフォームシステム30で管理されているリソースの状況(例えば、リソースの使用状況)が示されている。当該インベントリデータは、物理インベントリデータでもよいし、論理インベントリデータでもよい。物理インベントリデータ及び論理インベントリデータについては後述する。
 図6は、物理インベントリデータのデータ構造の一例を示す図である。図6に示す物理インベントリデータは、1つのサーバに対応付けられる。図6に示す物理インベントリデータには、例えば、サーバID、ロケーションデータ、建物データ、階数データ、ラックデータ、スペックデータ、ネットワークデータ、稼働コンテナIDリスト、クラスタID、などが含まれる。
 物理インベントリデータに含まれるサーバIDは、例えば、当該物理インベントリデータに対応付けられるサーバの識別子である。
 物理インベントリデータに含まれるロケーションデータは、例えば、当該物理インベントリデータに対応付けられるサーバのロケーション(例えばロケーションの住所)を示すデータである。
 物理インベントリデータに含まれる建物データは、例えば、当該物理インベントリデータに対応付けられるサーバが配置されている建物(例えば建物名)を示すデータである。
 物理インベントリデータに含まれる階数データは、例えば、当該物理インベントリデータに対応付けられるサーバが配置されている階数を示すデータである。
 物理インベントリデータに含まれるラックデータは、例えば、当該物理インベントリデータに対応付けられるサーバが配置されているラックの識別子である。
 物理インベントリデータに含まれるスペックデータは、例えば、当該物理インベントリデータに対応付けられるサーバのスペックを示すデータであり、スペックデータには、例えば、コア数、メモリ容量、ハードディスク容量などといったものが示される。
 物理インベントリデータに含まれるネットワークデータは、例えば、当該物理インベントリデータに対応付けられるサーバのネットワークに関する情報を示すデータであり、ネットワークデータには、例えば、当該サーバが備えるNIC、当該NICが備えるポートの数、当該ポートのポートIDなどが示される。
 物理インベントリデータに含まれる稼働コンテナIDリストは、例えば、当該物理インベントリデータに対応付けられるサーバで稼働する1又は複数のコンテナに関する情報を示すデータであり、稼働コンテナIDリストには、例えば、当該コンテナのインスタンスの識別子(コンテナID)のリストが示される。
 物理インベントリデータに含まれるクラスタIDは、例えば、当該物理インベントリデータに対応付けられるサーバが所属するクラスタ(例えば、クバネテスクラスタ)の識別子である。
 そして、論理インベントリデータには、通信システム1に含まれる複数の要素についての、図4に示されているような要素間の関連付けの現況を示すトポロジーデータが含まれている。例えば、論理インベントリデータには、あるNSの識別子と当該NSの配下にある1又は複数のNFの識別子とを含むトポロジーデータが含まれる。また、例えば、論理インベントリデータには、あるネットワークスライスの識別子と当該ネットワークスライスに所属する1又は複数のNFの識別子とを含むトポロジーデータが含まれる。
 また、インベントリデータに、通信システム1に含まれる要素間の地理的な関係やトポロジー的な関係などの現況が示すデータが含まれていてもよい。上述の通り、インベントリデータには、通信システム1に含まれる要素が稼働しているロケーション、すなわち、通信システム1に含まれる要素の現在のロケーションを示すロケーションデータが含まれている。このことから、インベントリデータには、要素間の地理的な関係(例えば、要素間の地理的な近さ)の現況が示されていると言える。
 また、論理インベントリデータに、ネットワークスライスに関する情報を示すNSIデータが含まれていてもよい。NSIデータは、例えば、ネットワークスライスのインスタンスの識別子や、ネットワークスライスの種類等の属性を示す。また、論理インベントリデータに、ネットワークスライスサブネットに関する情報を示すNSSIデータが含まれていてもよい。NSSIデータは、例えば、ネットワークスライスサブネットのインスタンスの識別子や、ネットワークスライスサブネットの種類等の属性を示す。
 また、論理インベントリデータに、NSに関する情報を示すNSデータが含まれていてもよい。NSデータは、例えば、NSのインスタンスの識別子や、NSの種類等の属性を示す。また、論理インベントリデータに、NFに関する情報を示すNFデータが含まれていてもよい。NFデータは、例えば、NFのインスタンスの識別子や、NFの種類等の属性を示す。また、論理インベントリデータに、CNFCに関する情報を示すCNFCデータが含まれていてもよい。CNFCデータは、例えば、インスタンスの識別子や、CNFCの種類等の属性を示す。また、論理インベントリデータに、CNFCに含まれるpodに関する情報を示すpodデータが含まれていてもよい。podデータは、例えば、podのインスタンスの識別子や、podの種類等の属性を示す。また、論理インベントリデータに、podに含まれるコンテナに関する情報を示すコンテナデータが含まれていてもよい。コンテナデータは、例えば、コンテナのインスタンスのコンテナIDや、コンテナの種類等の属性を示す。
 論理インベントリデータに含まれるコンテナデータのコンテナIDと、物理インベントリデータに含まれる稼働コンテナIDリストに含まれるコンテナIDと、によって、コンテナのインスタンスと、当該コンテナのインスタンスが稼働しているサーバとが関連付けられることとなる。
 また、ホスト名やIPアドレスなどの各種の属性を示すデータが論理インベントリデータに含まれる上述のデータに含まれていても構わない。例えば、コンテナデータに、当該コンテナデータに対応するコンテナのIPアドレスを示すデータが含まれていてもよい。また、例えば、CNFCデータに、当該CNFCデータが示すCNFCのIPアドレス及びホスト名を示すデータが含まれていてもよい。
 また、論理インベントリデータに、各NFに設定されている、1又は複数のS-NSSAIを含むNSSAIを示すデータが含まれていてもよい。
 また、インベントリデータベース70は、コンテナ管理部64と連携して、リソースの状況を適宜把握できるようになっている。そして、インベントリデータベース70は、リソースの最新の状況に基づいて、インベントリデータベース70に記憶されているインベントリデータを適宜更新する。
 また、例えば、通信システム1に含まれる新規要素の構築、通信システム1に含まれる要素の構成変更、通信システム1に含まれる要素のスケーリング、通信システム1に含まれる要素のリプレース、などのアクションが実行されることに応じて、インベントリデータベース70は、インベントリデータベース70に記憶されているインベントリデータを更新する。
 サービスカタログ記憶部54は、サービスカタログデータを記憶する。サービスカタログデータには、例えば、ライフサイクル管理部84によって利用されるロジックなどを示すサービステンプレートデータが含まれていてもよい。このサービステンプレートデータには、ネットワークサービスを構築するために必要な情報が含まれる。例えば、サービステンプレートデータは、NS、NF及びCNFCを定義する情報と、NS-NF-CNFCの対応関係を示す情報を含む。また、例えば、サービステンプレートデータは、ネットワークサービスを構築するためのワークフローのスクリプトを含む。
 サービステンプレートデータの一例として、NSD(NS Descriptor)が挙げられる。NSDは、ネットワークサービスに対応付けられるものであり、当該ネットワークサービスに含まれる複数の機能ユニット(例えば複数のCNF)の種類などが示されている。なお、NSDに、CNF等の機能ユニットの種類ごとについての、当該ネットワークサービスに含まれる数が示されていてもよい。また、NSDに、当該ネットワークサービスに含まれるCNFに係る、後述するCNFDのファイル名が示されていてもよい。
 また、サービステンプレートデータの一例として、CNFD(CNF Descriptor)が挙げられる。CNFDに、当該CNFが必要とするコンピュータリソース(例えば、CPU、メモリ、ハードディスクなど)が示されていてもよい。例えば、CNFDに、当該CNFに含まれる複数のコンテナのそれぞれについての、当該コンテナが必要とするコンピュータリソース(例えば、CPU、メモリ、ハードディスクなど)が示されていてもよい。
 また、サービスカタログデータに、ポリシーマネージャ部80によって利用される、算出された性能指標値と比較する閾値(例えば異常検出用閾値)に関する情報が含まれていてもよい。性能指標値については後述する。
 また、サービスカタログデータに、例えば、スライステンプレートデータが含まれていてもよい。スライステンプレートデータには、ネットワークスライスのインスタンス化を実行するために必要な情報が含まれ、例えば、スライスマネージャ部82によって利用されるロジックが含まれる。
 スライステンプレートデータは、GSMA(GSM Association)(「GSM」は登録商標)が定める「Generic Network Slice Template」の情報を含む。具体的には、スライステンプレートデータは、ネットワークスライスのテンプレートデータ(NST)、ネットワークスライスサブネットのテンプレートデータ(NSST)、ネットワークサービスのテンプレートデータを含む。また、スライステンプレートデータは、図4に示したような、これらの要素の階層構成を示す情報を含む。
 ライフサイクル管理部84は、本実施形態では例えば、購入者によるNSの購入要求に応じて、購入要求がされた新たなネットワークサービスを構築する。
 ライフサイクル管理部84は、例えば、購入要求に応じて、購入されるネットワークサービスに対応付けられるワークフローのスクリプトを実行してもよい。そして、このワークフローのスクリプトを実行することで、ライフサイクル管理部84は、コンテナ管理部64に、購入される新たなネットワークサービスに含まれるコンテナのデプロイを指示してもよい。そして、コンテナ管理部64は、当該コンテナのコンテナイメージをリポジトリ部66から取得して、当該コンテナイメージに対応するコンテナを、サーバにデプロイしてもよい。
 また、ライフサイクル管理部84は、本実施形態では例えば、通信システム1に含まれる要素のスケーリングやリプレースを実行する。ここで、ライフサイクル管理部84は、コンテナのデプロイ指示や削除指示をコンテナ管理部64に出力してもよい。そして、コンテナ管理部64が、当該指示に従い、コンテナのデプロイやコンテナの削除等の処理を実行してもよい。本実施形態ではライフサイクル管理部84によって、コンテナ管理部64のクバネテスのようなツールでは対応できないようなスケーリングやリプレースを実行できるようになっている。
 また、ライフサイクル管理部84が、新規に構築される要素群や、新たな設定が投入される既設の要素に対する、構成管理指示を構成管理部62に出力してもよい。そして、構成管理部62が、当該構成管理指示に従った設定等の構成管理を実行してもよい。
 また、ライフサイクル管理部84は、SDNコントローラ60に、通信経路の作成指示を出力してもよい。例えば、ライフサイクル管理部84は、作成させる通信経路の両端の2つのIPアドレスをSDNコントローラ60に提示し、SDNコントローラ60は、これら2つのIPアドレスを結ぶ通信経路を作成する。作成された通信経路は、これら2つのIPアドレスに関連付けられて管理されてもよい。
 スライスマネージャ部82は、本実施形態では例えば、ネットワークスライスのインスタンス化を実行する。スライスマネージャ部82は、本実施形態では例えば、サービスカタログ記憶部54に記憶されているスライステンプレートが示すロジックを実行することで、ネットワークスライスのインスタンス化を実行する。
 スライスマネージャ部82は、例えば、3GPP(Third Generation Partnership Project)の仕様書「TS28 533」に記載される、NSMF(Network Slice Management Function)と、NSSMF(Network Slice Sub-network Management Function)の機能を含んで構成される。NSMFは、ネットワークスライスを生成して管理する機能であり、NSIのマネジメントサービスを提供する。NSSMFは、ネットワークスライスの一部を構成するネットワークスライスサブネットを生成し管理する機能であり、NSSIのマネジメントサービスを提供する。
 ここで、スライスマネージャ部82が、ネットワークスライスのインスタンス化に関係する構成管理指示を構成管理部62に出力してもよい。そして、構成管理部62が、当該構成管理指示に従った設定等の構成管理を実行してもよい。
 また、スライスマネージャ部82は、SDNコントローラ60に、2つのIPアドレスを提示し、これら2つのIPアドレス間の通信経路の作成指示を出力してもよい。
 構成管理部62は、本実施形態では例えば、ライフサイクル管理部84やスライスマネージャ部82から受け付ける構成管理指示に従って、NF等の要素群の設定等の構成管理を実行する。
 SDNコントローラ60は、本実施形態では例えば、ライフサイクル管理部84又はスライスマネージャ部82から受け付けた通信経路の作成指示に従って、当該作成指示に関連付けられている2つのIPアドレス間の通信経路を作成する。
 ここで例えば、SDNコントローラ60は、セグメントルーティング技術(例えばSRv6(セグメントルーティングIPv6))を用いて、通信経路間に存在するアグリゲーションルータや、サーバなどに対して、NSIやNSSIを構築してもよい。また、SDNコントローラ60は、複数の設定対象のNFに対して、共通のVLAN(Virtual Local Area Network)を設定するコマンド、及び、当該VLANに設定情報が示す帯域幅や優先度を割り当てるコマンドを発行することにより、それら複数の設定対象のNFにわたるNSI及びNSSIを生成してもよい。
 なお、SDNコントローラ60は、ネットワークスライスを構築することなく、2つのIPアドレス間の通信で利用可能な帯域幅の上限の変更などを実行してもよい。
 監視機能部58は、本実施形態では例えば、通信システム1に含まれる要素群を、所与の管理ポリシーに従って監視する。ここで、監視機能部58は、例えば、ネットワークサービスの購入の際に購入者によって指定される監視ポリシーに従って、要素群を監視してもよい。
 監視機能部58は、本実施形態では例えば、スライスのレベル、NSのレベル、NFのレベル、CNFCのレベル、サーバ等のハードウェアのレベル、などといった、様々なレベルでの監視を実行する。
 監視機能部58は、例えば、上述の様々なレベルでの監視が行えるよう、メトリックデータを出力するモジュールをサーバ等のハードウェアや通信システム1に含まれるソフトウェア要素に設定してもよい。ここで例えば、NFが、当該NFにおいて測定可能(特定可能)なメトリックを示すメトリックデータを監視機能部58に出力するようにしてもよい。また、サーバが、当該サーバにおいて測定可能(特定可能)なハードウェアに関するメトリックを示すメトリックデータを監視機能部58に出力するようにしてもよい。
 また、例えば、監視機能部58は、サーバに、複数のコンテナから出力されたメトリックを示すメトリックデータをCNFC(マイクロサービス)単位に集計するサイドカーコンテナをデプロイしてもよい。このサイドカーコンテナは、エクスポーターと呼ばれるエージェントを含んでもよい。監視機能部58は、クバネテス等のコンテナ管理ツールを監視可能なプロメテウス(Prometheus)などのモニタリングツールの仕組みを利用して、マイクロサービス単位に集計されたメトリックデータをサイドカーコンテナから取得する処理を、所与の監視間隔で繰り返し実行してもよい。
 監視機能部58は、例えば、「TS 28.552, Management and orchestration; 5G performance measurements」または「TS 28.554, Management and orchestration; 5G end to end Key Performance Indicators (KPI)」に記載された性能指標についての性能指標値を監視してもよい。そして、監視機能部58は、監視される性能指標値を示すメトリックデータを取得してもよい。
 そして、監視機能部58は、例えば、上述のメトリックデータを取得すると、当該メトリックデータをAI・ビッグデータ処理部56に出力する。
 また、通信システム1に含まれるネットワークスライス、NS、NF、CNFC等の要素や、サーバ等のハードウェアは、監視機能部58に、各種のアラートの通知(例えば、障害の発生をトリガとしたアラートの通知)を行う。
 そして、監視機能部58は、例えば、上述のアラートの通知を受け付けると、当該通知をAI・ビッグデータ処理部56に出力する。
 AI・ビッグデータ処理部56は、本実施形態では例えば、監視機能部58から出力されるメトリックデータやアラートの通知を蓄積する。また、AI・ビッグデータ処理部56には、本実施形態では例えば、学習済の機械学習モデルが予め記憶されている。
 そして、AI・ビッグデータ処理部56は、本実施形態では例えば、蓄積されるメトリックデータと、上述の機械学習モデルと、に基づいて、例えば、通信システム1の利用状況やサービス品質の将来予測処理などの推定処理を実行する。AI・ビッグデータ処理部56は、推定処理の結果を示す推定結果データを生成してもよい。
 性能管理部76は、本実施形態では例えば、複数のメトリックデータに基づいて、これらのメトリックデータが示すメトリックに基づく性能指標値(例えば、KPI)を算出する。性能管理部76は、単一のメトリックデータからは算出できない、複数の種類のメトリックの総合評価である性能指標値(例えば、エンド・ツー・エンドのネットワークスライスに係る性能指標値)を算出してもよい。性能管理部76は、総合評価である性能指標値を示す総合性能指標値データを生成してもよい。
 なお、性能管理部76は、メトリックデータを、図5に示すように監視機能部58からAI・ビッグデータ処理部56を経由して取得してもよいし、監視機能部58から直接取得してもよい。また、性能管理部76は、上述の推定結果データに基づいて、性能指標値を算出してもよい。
 障害管理部74は、本実施形態では例えば、上述のメトリックデータ、上述のアラートの通知、上述の推定結果データ、上述の総合性能指標値データのうちの少なくともいずれかに基づいて、通信システム1における障害の発生を検出する。障害管理部74は、例えば、所定のロジックに基づいて、単一のメトリックデータや単一のアラートの通知からでは検出できないような障害の発生を検出してもよい。障害管理部74は、検出された障害を示す検出障害データを生成してもよい。
 なお、障害管理部74は、メトリックデータやアラートの通知を、監視機能部58から直接取得してもよいし、AI・ビッグデータ処理部56や性能管理部76を介して取得してもよい。また、障害管理部74は、推定結果データを、AI・ビッグデータ処理部56から直接取得してもよいし、性能管理部76を介して取得してもよい。
 ポリシーマネージャ部80は、本実施形態では例えば、上述のメトリックデータ、上述のアラートの通知、上述の推定結果データ、上述の総合性能指標値データ、上述の検出障害データ、のうちの少なくともいずれかに基づいて、所定の判定処理を実行する。
 そして、ポリシーマネージャ部80は、判定処理の結果に応じたアクションを実行してもよい。例えば、ポリシーマネージャ部80は、スライスマネージャ部82にネットワークスライスの構築指示を出力してもよい。また、ポリシーマネージャ部80は、判定処理の結果に応じて、要素のスケーリングやリプレースの指示をライフサイクル管理部84に出力してもよい。
 チケット管理部72は、本実施形態では例えば、通信システム1の管理者に通知すべき内容が示されたチケットを生成する。チケット管理部72は、発生障害データの内容を示すチケットを生成してもよい。また、チケット管理部72は、性能指標値データやメトリックデータの値を示すチケットを生成してもよい。また、チケット管理部72は、ポリシーマネージャ部80による判定結果を示すチケットを生成してもよい。
 そして、チケット管理部72は、生成されたチケットを、通信システム1の管理者に通知する。チケット管理部72は、例えば、生成されたチケットが添付された電子メールを、通信システム1の管理者の電子メールアドレスに宛てて送信してもよい。
 以下、通信システム1に含まれる複数のアプリケーションが配置される実行基盤(例えば、クバネテスクラスタやサーバなど)の決定に関する処理について、さらに説明する。
 以下の説明では、本実施形態に係るアプリケーションのそれぞれに、予め、当該アプリケーションの種類に対応付けられる、当該アプリケーションが配置可能な実行基盤に係る要件が関連付けられていることとする。すなわち、各アプリケーションは配置に関する要件を有し、当該要件はアプリケーションの種類に応じて異なる。
 例えば、複数のアプリケーションのそれぞれに、当該アプリケーションが配置可能な実行基盤に係る要件を示すラベルが関連付けられていることとする。当該ラベルは、例えば、サービスカタログ記憶部54に記憶されていてもよい。また、当該要件は、例えば、サービスカタログ記憶部54に記憶されているCNFDに記述されていてもよい。
 ここでは例えば、アプリケーションに、「固定」、「制約条件付き」、又は、「条件なし」のいずれかの値が設定されたラベルが関連付けられていることとする。
 例えば、特定の実行基盤のみに配置可能であるアプリケーションには、値が「固定」であるラベルが関連付けられる。そして、値が「固定」であるラベルに関連付けられているアプリケーションについては、当該アプリケーションが配置可能な実行基盤のIDが関連付けられている。
 また、例えば、所定の条件を満たす実行基盤に配置可能であるアプリケーションには、値が「制約条件付き」であるラベルが関連付けられる。そして、値が「制約条件付き」であるラベルに関連付けられているアプリケーションについては、具体的な制約条件を示す値が設定されたラベルが関連付けられている。
 ここで、第1の種類のアプリケーションが配置可能な実行基盤に係る要件が、第2の種類のアプリケーションのロケーションに係る要件であってもよい。例えば、第1の種類のアプリケーションの要件である制約条件が、第2の種類のアプリケーションとの間の距離に関する制約条件であってもよい。
 ここで、第2の種類のアプリケーションがAMFである場合における、第2の種類のアプリケーションのロケーションに係る要件である、第1の種類のアプリケーションが配置可能な実行基盤に係る要件の例としては、「AMFと同じクバネテスクラスタ」、「AMFと同じファブリックネットワーク」、「AMFと同じデータセンタ」、「AMFと同じエッジルータ(アプリケーションルータ)配下」、「AMFと同じ圏域(スーパーブロック、地域)」、「AMFから所定距離a以内」、などが挙げられる。例えば、SMFに、「AMFから10キロメートル以内」などといった制約条件を示すラベルが関連付けられていてもよい。
 また、当該制約条件は、「AMFとの間にDMZ(DeMilitarized Zone)がある」などといった、特定種類のアプリケーションと当該種類のアプリケーションとの間に存在する必要がある装置やゾーンに関する制約条件であってもよい。
 また、具体的な制約条件を示す値の別の一例としては、配置される実行基盤のハードウェアに係る要件(以下、ハードウェア要件と呼ぶ。)を示すものが挙げられる。このようなハードウェア要件として、例えば、「SRIOV(Single Root I/O Virtualization)が実装されていること」、「GPU(Graphics Processing Unit)が搭載されていること」、「FPGA(field-programmable gate array)が搭載されていること」、などが挙げられる。
 また、ハードウェア要件は、例えば、「実装されているGPUの数が所定値b個以上である」、「実装されているメモリのサイズが所定値cバイト以上である」、「実装されているストレージのサイズが所定値dバイト以上である」、などのような、サイズに関する要件であってもよい。
 また、本実施形態において、アプリケーションに、当該アプリケーションが配置可能な実行基盤に係る複数種類の要件が関連付けられていてもよい。例えば、アプリケーションが、「実装されているGPUの数が所定値b個以上である」との要件を示すラベルと、「実装されているメモリのサイズが所定値cバイト以上である」との要件を示すラベルと、の両方に、関連付けられていてもよい。
 また、NSの購入に応じて通信システム1にアプリケーションが追加される場合などにおいて、当該アプリケーションにサービスレベルアグリーメント(SLA)に係る要件を示す値が設定されたラベルが関連付けられてもよい。
 また、例えば、任意の実行基盤に配置可能であるアプリケーションには、値が「条件なし」であるラベルが関連付けられる。
 また、本実施形態では例えば、監視機能部58が、通信システム1に含まれる複数の実行基盤(例えば、クバネテスクラスタやサーバなど)のそれぞれにおけるリソースの使用状況を監視する。また、本実施形態では例えば、監視機能部58は、実行基盤で実行されているアプリケーションのそれぞれにおけるリソースの使用状況を監視する。
 ここで、監視されるリソースの使用状況は、CPUの使用状況、メモリの使用状況、ストレージの使用状況、ネットワークの使用状況、及び、電力の使用状況、のうちの少なくとも1つであってもよい。
 CPUの使用状況の一例としては、CPU使用率が挙げられる。メモリの使用状況の一例としては、メモリ使用量やメモリ使用率が挙げられる。ストレージの使用状況の一例としては、ストレージ使用量やストレージ使用率が挙げられる。ネットワークの使用状況の一例としては、帯域幅使用量や帯域幅使用率などが挙げられる。電力の使用状況の一例としては、消費電力量などが挙げられる。
 そして、監視機能部58は、監視の結果を示すメトリックデータを、AI・ビッグデータ処理部56に出力する。このようにして、AI・ビッグデータ処理部56には、メトリックデータが蓄積される。
 本実施形態では例えば、アプリケーションの配置の決定タイミングが予め定められている。配置の決定タイミングは、例えば、所定の実行間隔で到来する。
 そして、本実施形態では、配置の決定タイミングにおいて、いくつかのアプリケーションについては、通信システム1に追加されることが決定されていることとする。例えば、NSの購入をトリガとした新規のNFの構築、あるいは、負荷の増加をトリガとしたNFのスケールアウト、などの処理が実行されることが決定されているとする。
 以下、通信システム1に追加されることが決定されている、未配置であるアプリケーション、すなわち、通信システム1に追加予定のアプリケーションを、追加予定アプリケーションと呼ぶこととする。
 また、AI・ビッグデータ処理部56は、例えば、通信システム1で実行されている複数のアプリケーションのそれぞれについて、直近のリソースの使用状況を示すメトリックデータを抽出する。例えば、配置の決定が前回実行されたタイミングから現在までにおける、リソースの使用状況を示すメトリックデータが抽出される。あるいは、直近1ヶ月のリソースの使用状況を示すメトリックデータが抽出される。
 そして、AI・ビッグデータ処理部56は、本実施形態では例えば、通信システム1で実行されている複数のアプリケーションのそれぞれについて、当該アプリケーションについて抽出されたメトリックデータに基づいて、当該アプリケーションのリソースの使用状況の実績値を特定する。実績値が特定される当該使用状況は、例えば、CPUの使用状況、メモリの使用状況、ストレージの使用状況、ネットワークの使用状況、又は、電力の使用状況、のうちの少なくとも1つであってもよい。
 そして、AI・ビッグデータ処理部56は、通信システム1で実行されているアプリケーションのそれぞれについて、当該アプリケーションが必要とするリソース量を示す、図7に例示されているアプリケーションリソースデータ(以下、APリソースデータと呼ぶ。)を生成する。
 例えば、AI・ビッグデータ処理部56は、抽出されたメトリックデータに基づいて、複数のアプリケーションについて、当該アプリケーションのリソースの使用状況の実績値を示す、APリソースデータを生成してもよい。実行されているアプリケーションについては、リソースの使用状況の実績値が、当該アプリケーションが必要とするリソース量に相当するものと考えられる。
 本実施形態に係るAPリソースデータには、それぞれが互いに異なる種類のリソースについてのリソース量を示す複数の個別APリソースデータが含まれていてもよい。図7の例では、APリソースデータには、5個の個別APリソースデータ(CPUAPリソースデータ、メモリAPリソースデータ、ストレージAPリソースデータ、ネットワークAPリソースデータ、及び消費電力APリソースデータ)が含まれる。
 そして、個別APリソースデータには、期間種別にそれぞれ対応付けられる複数の期間APリソースデータが含まれていてもよい。本実施形態では例えば、図7に示すように、平日と休日についての、3時間ごとの8つの時間帯にそれぞれが対応付けられる、16個の期間種別についてのリソースの使用状況の実績値(図7では、a1からa16で示されている)が特定される。そして、特定される実績値が、当該実績値に対応付けられる期間種別の期間APリソースデータの値に設定される。
 例えば、配置の決定が前回実行されたタイミングから現在までにおけるリソースの使用状況を示すメトリックデータのうちから、平日の0時から3時の時間帯についてのCPUの使用状況を示すメトリックデータが特定されてもよい。そして、特定されたメトリックデータに基づいて、CPUAPリソースデータに含まれる平日の0時から3時に対応付けられる期間APリソースデータの値が決定されてもよい。ここで例えば、特定されたメトリックデータが示すCPU使用率の平均値や最大値などといった代表値a1が、CPUAPリソースデータに含まれる平日の0時から3時に対応付けられる期間APリソースデータの値に設定されてもよい。
 同様にして、CPUAPリソースデータに含まれるその他の期間APリソースデータの値も決定されることで、図7に示すCPUAPリソースデータは生成される。
 また、同様にして、配置の決定が前回実行されたタイミングから現在までにおけるメモリの使用状況を示すメトリックデータに基づいて、メモリAPリソースデータが生成される。また、配置の決定が前回実行されたタイミングから現在までにおけるストレージの使用状況を示すメトリックデータに基づいて、ストレージAPリソースデータが生成される。また、配置の決定が前回実行されたタイミングから現在までにおけるネットワークの使用状況を示すメトリックデータに基づいて、ネットワークAPリソースデータが生成される。また、配置の決定が前回実行されたタイミングから現在までにおける電力の使用状況を示すメトリックデータに基づいて、消費電力APリソースデータが生成される。
 また、本実施形態では例えば、AI・ビッグデータ処理部56は、追加予定アプリケーションのそれぞれについても、当該追加予定アプリケーションが必要とするリソース量を示すAPリソースデータを生成する。
 ここで例えば、追加予定アプリケーションが必要とするリソース量が予め定められていてもよい。例えば、追加予定アプリケーションが必要とするリソース量が、上述のCNFDに記述されていてもよい。そして、AI・ビッグデータ処理部56は、サービスカタログ記憶部54に記憶されているCNFDを参照することで、追加予定アプリケーションが必要とするリソース量を特定してもよい。
 ここで例えば、CPU、メモリ、ストレージ、ネットワーク、消費電力のそれぞれについて、必要とするリソース量が特定されてもよい。また、上述の複数の期間種別のそれぞれについて、必要とするリソース量が特定されてもよい。
 また例えば、AI・ビッグデータ処理部56が、追加予定アプリケーションと同種の実行中のアプリケーションにおけるリソースの使用状況の実績値に基づいて、当該追加予定アプリケーションが必要とするリソース量を特定してもよい。例えば、AI・ビッグデータ処理部56が、追加予定アプリケーションとSLAの要件が同様であるアプリケーションにおけるリソースの使用状況の実績値に基づいて、当該追加予定アプリケーションが必要とするリソース量を特定してもよい。
 例えば、AI・ビッグデータ処理部56が、追加予定アプリケーションと同種のアプリケーションが動作している実行基盤における、当該アプリケーションが追加される前のリソースの使用状況の実績値と、当該アプリケーションが追加された後のリソースの使用状況の実績値と、の差を特定してもよい。そして、特定された差に基づいて、当該追加予定アプリケーションが必要とするリソース量を特定してもよい。例えば、特定された差の代表値(例えば、最大値や平均値)が、追加予定アプリケーションが必要とするリソース量を示す値として特定されてもよい。
 そして、以上のようにして特定される、追加予定アプリケーションが必要とするリソース量を示すAPリソースデータが生成されてもよい。
 ここで、各期間種別について、追加予定アプリケーションと同種のアプリケーションの追加前と追加後との当該期間種別におけるリソースの使用状況の違いが最も大きな実行基盤を特定してもよい。そして、各期間種別について、当該アプリケーションが追加される前のリソースの使用状況の実績値と、当該アプリケーションが追加された後のリソースの使用状況の実績値と、の差が、当該期間種別についての期間APリソースデータの値に設定されるようにしてもよい。
 また、学習済の機械学習モデルを用いて追加予定アプリケーションが必要とするリソース量を示すAPリソースデータが生成されてもよい。
 以上のようにして、通信システム1で実行されているアプリケーション、及び、通信システム1に追加予定のアプリケーションのそれぞれについて、当該アプリケーションが必要とするリソース量を示すAPリソースデータが生成される。
 そして、ポリシーマネージャ部80が、複数のアプリケーションのそれぞれについて、当該アプリケーションの種類に対応付けられる、当該アプリケーションが配置可能な実行基盤に係る要件を特定する。ここで例えば、アプリケーションに関連付けられているラベルの値が特定されてもよい。
 そして、ポリシーマネージャ部80は、特定される要件に基づいて、複数のアプリケーションの順序を決定する。言い換えれば、複数のアプリケーションそれぞれの番号を決定する。そして、各アプリケーションは、当該順序の通りに、言い換えれば、当該番号の順に、配置される実行基盤が決定されることになる。以下、当該順序を「決定順序」とも記載する。
 例えば、ポリシーマネージャ部80は、複数のアプリケーションのそれぞれを、「既存固定」、「新規固定」、「既存制約」、「新規制約」、「既存無条件」、「新規無条件」のいずれかのカテゴリに分類する。
 例えば、値が「固定」であるラベルが関連付けられている、既に通信システム1に構築されているアプリケーションは、「既存固定」のカテゴリに分類される。値が「固定」であるラベルが関連付けられている追加予定アプリケーションは、「新規固定」のカテゴリに分類される。
 また、例えば、値が「制約条件付き」であるラベルが関連付けられている、既に通信システム1に構築されているアプリケーションは、「既存制約」のカテゴリに分類される。値が「制約条件付き」であるラベルが関連付けられている追加予定アプリケーションは、「新規制約」のカテゴリに分類される。
 また、例えば、値が「条件なし」であるラベルが関連付けられている、既に通信システム1に構築されているアプリケーションは、「既存無条件」のカテゴリに分類される。値が「条件なし」であるラベルが関連付けられている追加予定アプリケーションは、「新規無条件」のカテゴリに分類される。
 そして、本実施形態では例えば、ポリシーマネージャ部80は、例えば、(1)カテゴリが「既存固定」であるアプリケーション、(2)カテゴリが「新規固定」であるアプリケーション、(3)カテゴリが「既存制約」であるアプリケーション、(4)カテゴリが「新規制約」であるアプリケーション、(5)カテゴリが「既存無条件」であるアプリケーション、(6)カテゴリが「新規無条件」であるアプリケーションの順序を、配置される実行基盤の決定順序として決定する。
 このように、ポリシーマネージャ部80は、特定の実行基盤のみに配置可能であるアプリケーション、所定の条件を満たす実行基盤に配置可能であるアプリケーション、任意の実行基盤に配置可能であるアプリケーション、の順となるよう、複数のアプリケーションについて、配置される実行基盤の決定順序を決定してもよい。すなわち、決定順序を、特定の実行基盤のみに配置可能であるアプリケーション、所定の条件を満たす実行基盤に配置可能であるアプリケーション、任意の実行基盤に配置可能であるアプリケーション、の順に、配置される実行基盤が決定されるような順序としてもよい。
 そして、ポリシーマネージャ部80が、以上のようにして決定される決定順序に従って、複数のアプリケーションのそれぞれが配置される実行基盤を決定する。ここでは例えば、通信システム1で実行されているアプリケーション、及び、通信システム1に追加予定のアプリケーションの両方について、当該アプリケーションが配置される実行基盤が決定される。
 本実施形態では例えば、ポリシーマネージャ部80は、まず、カテゴリが「既存固定」である少なくとも1つのアプリケーションについて、当該アプリケーションが実行されている実行基盤を、当該アプリケーションが配置される実行基盤として決定する。すなわち、このようなアプリケーションについては、リプレースされない。
 次に、ポリシーマネージャ部80は、カテゴリが「新規固定」である少なくとも1つのアプリケーションについて、当該アプリケーションに関連付けられているラベルが示すIDにより識別される実行基盤を、当該アプリケーションが配置される実行基盤として決定する。
 次に、ポリシーマネージャ部80は、カテゴリが「既存制約」である少なくとも1つのアプリケーションについて、当該アプリケーションが配置される実行基盤を決定する。
 ここで、本実施形態において、ポリシーマネージャ部80が、カテゴリが「既存制約」である少なくとも1つのアプリケーションのうちにおける、当該アプリケーションが配置される実行基盤の決定順序を決定してもよい。以下、このようにして決定される順序を、既存制約内決定順序と呼ぶこととする。
 ここで例えば、ポリシーマネージャ部80は、所定の基準に従って、既存制約内決定順序を決定してもよい。
 例えば、ポリシーマネージャ部80は、実装されているGPUの数の要件が厳しい順、すなわち、要件に示されているGPUの数が多い順となるよう、既存制約内決定順序を決定してもよい。
 また、第1の種類のアプリケーションが配置可能な実行基盤に係る要件が、第2の種類のアプリケーションのロケーションに係る要件であるとする。この場合、ポリシーマネージャ部80は、第1の種類のアプリケーションについての決定順序が、第2の種類のアプリケーションについての決定順序よりも後となるよう、配置される実行基盤の決定順序を決定してもよい。すなわち、決定順序において、第1の種類のアプリケーションを、第2の種類のアプリケーションよりも後にしてもよい。このようにすると、第2の種類のアプリケーションのほうが第1の種類のアプリケーションよりも早く、配置される実行基盤が決定される。
 例えば、SMFに、「AMFから10キロメートル以内」とのラベルが関連付けられている場合は、SMFについての決定順序がAMFについての決定順序よりも後となるよう、配置される実行基盤の決定順序が決定されてもよい。
 ここで例えば、要件に示されているGPUの数が多い順となるよう順序を決定し、上述のロケーションに係る要件が設定されているものについては、順序を変更することで、既存制約内決定順序が決定されるようにしてもよい。例えば、上述の例では、SMFについての決定順序が、AMFについての決定順序の後となるよう、配置される実行基盤の決定順序が変更されてもよい。
 そして、ポリシーマネージャ部80は、配置される実行基盤が未決定であってカテゴリが「既存制約」であるアプリケーションのうち、既存制約内決定順序が最も前であるアプリケーションを選択する。このようにして選択されるアプリケーションを着目アプリケーションと呼ぶこととする。
 そして、ポリシーマネージャ部80は、着目アプリケーションが配置される実行基盤を決定する。
 ここで例えば、ポリシーマネージャ部80は、着目アプリケーションが配置可能な実行基盤を抽出する。具体的には例えば、着目アプリケーションに関連付けられている要件を満たすものを抽出する。以下、このようにして抽出される実行基盤を候補基盤と呼ぶこととする。ここで、ポリシーマネージャ部80は、インベントリデータベース70に記憶されているインベントリデータに基づいて、候補基盤を特定してもよい。
 ここで、例えば、「実装されているGPUの数が所定値b個以上である」などのようなハードウェア要件を満たす実行基盤が候補基盤として抽出されてもよい。
 また、例えば、「AMFと同じクバネテスクラスタ」とのロケーション要件に関連付けられたSMFが着目アプリケーションである場合に、配置される実行基盤が決定済であるAMFと同じクバネテスクラスタが候補基盤として抽出されてもよい。
 また、例えば、「AMFから10キロメートル以内」とのロケーション要件に関連付けられたSMFが着目アプリケーションである場合に、配置される実行基盤が決定済であるAMFからの距離が10キロメートル以内であるデータセンタ内の実行基盤が候補基盤として抽出されるようにしてもよい。
 そして、ポリシーマネージャ部80は、候補基盤のうちのいずれかを、着目アプリケーションが配置される実行基盤に決定する。
 ここで例えば、候補基盤のうちからランダムに着目アプリケーションが配置される実行基盤が決定されてもよい。また、後述する個別平準化指標値に基づいて、候補基盤のうちから着目アプリケーションが配置される実行基盤が決定されてもよい。
 次に、ポリシーマネージャ部80は、カテゴリが「新規制約」である少なくとも1つのアプリケーションについて、当該アプリケーションが配置される実行基盤を決定する。
 ここで、本実施形態において、ポリシーマネージャ部80が、カテゴリが「新規制約」である少なくとも1つのアプリケーションのうちにおける、当該アプリケーションが配置される実行基盤の決定順序を決定してもよい。以下、このようにして決定される順序を、新規制約内決定順序と呼ぶこととする。
 ここで、新規制約内決定順序は、例えば、上述の既存制約内決定順序と同様の方法で決定されてもよい。
 そして、ポリシーマネージャ部80は、配置される実行基盤が未決定であってカテゴリが「新規制約」であるアプリケーションのうち、新規制約内決定順序が最も前であるアプリケーションを、着目アプリケーションとして選択する。
 そして、ポリシーマネージャ部80は、着目アプリケーションが配置される実行基盤を決定する。
 ここで、着目アプリケーションが配置される実行基盤は、例えば、上述したような、カテゴリが「既存制約」であるアプリケーションが配置される実行基盤の決定方法と同様の方法で決定されてもよい。
 次に、ポリシーマネージャ部80は、カテゴリが「既存無条件」である少なくとも1つのアプリケーションについて、当該アプリケーションが配置される実行基盤を決定する。
 最後に、ポリシーマネージャ部80は、カテゴリが「新規無条件」である少なくとも1つのアプリケーションについて、当該アプリケーションが配置される実行基盤を決定する。
 カテゴリが「既存無条件」又は「新規無条件」である少なくとも1つのアプリケーションについては、当該アプリケーションが配置される実行基盤が、当該アプリケーションが配置可能な実行基盤のうちから、ランダムに決定されてもよい。また例えば、当該アプリケーションが配置される実行基盤が、後述する個別平準化指標値に基づいて決定されてもよい。
 以下、個別平準化指標値の一例について説明する。
 本実施形態において例えば、AI・ビッグデータ処理部56が、複数の候補基盤について、当該候補基盤におけるリソースの使用状況の予測値を特定してもよい。例えば、AI・ビッグデータ処理部56が、複数の候補基盤のそれぞれに対応付けられる、図8に例示する使用状況予測値データを生成してもよい。
 本実施形態に係る使用状況予測値データには、それぞれが互いに異なる種類のリソースの使用状況を示す複数の個別予測値データが含まれていてもよい。図8の例では、使用状況予測値データには、5個の個別予測値データ(CPU予測値データ、メモリ予測値データ、ストレージ予測値データ、ネットワーク予測値データ、及び、消費電力予測値データ)が含まれる。そして、個別予測値データには、上述の期間種別にそれぞれ対応付けられる複数の期間予測値データが含まれている。図8の例では、個別予測値データには、16個の期間予測値データ(図8では、b1からb16で示されている)が含まれている。
 AI・ビッグデータ処理部56は、複数の候補基盤のそれぞれについて、配置予測値データと、不配置予測値データと、を生成してもよい。配置予測値データは、当該候補基盤に着目アプリケーションを配置した場合における当該候補基盤におけるリソースの使用状況の予測値を示す使用状況予測値データである。不配置予測値データは、当該候補基盤に着目アプリケーションを配置しない場合における当該候補基盤におけるリソースの使用状況の予測値を示す使用状況予測値データである。
 例えば、AI・ビッグデータ処理部56が、着目アプリケーションに関連付けられている要件を満たす候補基盤のそれぞれについて、当該候補基盤に配置されることが決定されたアプリケーションが必要とするリソース量を示すAPリソースデータの値、及び、着目アプリケーションが必要とするリソース量を示すAPリソースデータの値を合算する。これにより、当該候補基盤に対応付けられる配置予測値データが生成される。
 例えば、候補基盤に配置されることが決定されたアプリケーション、及び、着目アプリケーションについての、平日の0時から3時の時間帯についてのCPUAPリソースデータの値が合算されてもよい。そして、当該合算された値が、配置予測値データのCPU予測値データに含まれる平日の0時から3時に対応付けられる期間予測値データの値として決定されてもよい。そして、この値が、配置予測値データのCPU予測値データに含まれる平日の0時から3時に対応付けられる期間予測値データの値に設定されてもよい。
 同様にして、配置予測値データのCPU予測値データに含まれるその他の期間予測値データの値も決定されることで、配置予測値データのCPU予測値データは生成される。
 また、同様にして、メモリAPリソースデータに基づいて、配置予測値データのメモリ予測値データが生成される。また、ストレージAPリソースデータに基づいて、配置予測値データのストレージ予測値データが生成される。また、ネットワークAPリソースデータに基づいて、配置予測値データのネットワーク予測値データが生成される。また、消費電力APリソースデータに基づいて、配置予測値データの消費電力予測値データが生成される。
 例えば、AI・ビッグデータ処理部56が、着目アプリケーションに関連付けられている要件を満たす候補基盤のそれぞれについて、当該候補基盤に配置されることが決定されたアプリケーションが必要とするリソース量を示すAPリソースデータの値を合算する。これにより、当該候補基盤に対応付けられる不配置予測値データが生成される。
 例えば、候補基盤に配置されることが決定されたアプリケーション平日の0時から3時の時間帯についてのCPUAPリソースデータの値が合算されてもよい。そして、当該合算された値が、不配置予測値データのCPU予測値データに含まれる平日の0時から3時に対応付けられる期間予測値データの値として決定されてもよい。そして、この値が、不配置予測値データのCPU予測値データに含まれる平日の0時から3時に対応付けられる期間予測値データの値に設定されてもよい。
 同様にして、不配置予測値データのCPU予測値データに含まれるその他の期間予測値データの値も決定されることで、不配置予測値データのCPU予測値データは生成される。
 また、同様にして、メモリAPリソースデータに基づいて、不配置予測値データのメモリ予測値データが生成される。また、ストレージAPリソースデータに基づいて、不配置予測値データのストレージ予測値データが生成される。また、ネットワークAPリソースデータに基づいて、不配置予測値データのネットワーク予測値データが生成される。また、消費電力APリソースデータに基づいて、不配置予測値データの消費電力予測値データが生成される。
 図7及び図8の例では、期間種別の数は16であるが、期間種別の数は16には限定されない。例えば、本実施形態に係る期間種別が、各曜日についての昼間と夜間の2つの時間帯、計14の期間種別であってもよい。なお、期間種別の数は、計算量が過大にならない程度の数に抑えることが望ましい。
 また、本実施形態において、学習済の機械学習モデルを用いて不配置予測値データや配置予測値データが生成されるようにしてもよい。
 そして、AI・ビッグデータ処理部56は、本実施形態では例えば、上述のようにして特定される予測値に基づいて、複数の候補基盤のそれぞれについて、当該候補基盤に着目アプリケーションが構築された場合における、当該候補基盤におけるリソースの使用状況の平準化の程度、又は、複数の候補基盤間におけるリソースの使用状況の平準化の程度のうちの少なくとも一方を示す個別平準化指標値を特定する。
 ここで、AI・ビッグデータ処理部56は、期間種別ごとの上述の予測値に基づいて、個別平準化指標値を特定してもよい。
 例えば、AI・ビッグデータ処理部56は、候補基盤に着目アプリケーションが構築された場合における当該候補基盤における期間種別ごとの予測値のばらつきを示す個別平準化指標値を特定してもよい。
 例えば、AI・ビッグデータ処理部56は、複数の候補基盤のそれぞれについて、当該候補基盤に対応付けられる配置予測値データの5個の個別予測値データのそれぞれについて、当該個別予測値データに含まれる16個の期間予測値データの値の分散を特定してもよい。
 そして、AI・ビッグデータ処理部56は、所与の重み付けがされた、5個の個別予測値データについて特定される分散の重み付き線形和を、当該候補基盤に対応付けられる個別平準化指標値として特定してもよい。なお、分散の代わりに標準偏差に基づいて、個別平準化指標値が特定されてもよい。
 このようにして特定される個別平準化指標値は、候補基盤に着目アプリケーションが構築された場合における、当該候補基盤におけるリソースの使用状況の平準化の程度を示す個別平準化指標値の一例に相当する。
 また、例えば、AI・ビッグデータ処理部56は、候補基盤に着目アプリケーションが構築された場合における当該候補基盤における期間種別ごとの予測値の最大値と最小値との差を示す個別平準化指標値を特定してもよい。
 また、AI・ビッグデータ処理部56は、複数の候補基盤のそれぞれについて、当該候補基盤に対応付けられる配置予測値データの5個の個別予測値データのそれぞれについて、当該個別予測値データに含まれる16個の期間予測値データの値のうちの最大値と最小値との差を特定してもよい。
 そして、AI・ビッグデータ処理部56は、所与の重み付けがされた、5個の個別予測値データについて特定される差の重み付き線形和を、当該候補基盤に対応付けられる個別平準化指標値として特定してもよい。
 このようにして特定される個別平準化指標値は、候補基盤に着目アプリケーションが構築された場合における、当該候補基盤におけるリソースの使用状況の平準化の程度を示す個別平準化指標値の一例に相当する。
 また、本実施形態において、AI・ビッグデータ処理部56が、例えば、複数の候補基盤のそれぞれについて、当該候補基盤には着目アプリケーションが配置され、他の候補基盤には着目アプリケーションが配置されていない状況における、複数の候補基盤のそれぞれのリソースの使用状況の予測値を、当該候補基盤に対応付けられる予測値として特定してもよい。
 そして、AI・ビッグデータ処理部56は、候補基盤に着目アプリケーションが配置された場合における、複数の候補基盤間におけるリソースの使用状況の予測値のばらつきを示す個別平準化指標値を特定してもよい。
 あるいは、AI・ビッグデータ処理部56は、複数の候補基盤のそれぞれについて、当該候補基盤に着目アプリケーションが配置された場合における当該複数の候補基盤のそれぞれにおけるリソースの使用状況の予測値と所定値との差の絶対値の合計を示す個別平準化指標値を特定してもよい。
 例えば、候補基盤の数がn個(このnは1以上の整数を示す)であるとする。この場合、AI・ビッグデータ処理部56は、例えば、n個の候補基盤のそれぞれについて、当該候補基盤に対応付けられる不配置予測値データに基づいて、当該候補基盤に着目アプリケーションが配置されない場合における、当該候補基盤に対応付けられるリソース使用率である不配置リソース使用率を算出してもよい。例えば、複数の期間種別のそれぞれについて、CPU使用率の予測値の代表値、メモリ使用率の予測値の代表値、ストレージ使用率の予測値の代表値、及び、帯域幅使用率の予測値の代表値が算出されてもよい。そして、これら4個の代表値についての代表値が、当該候補基盤に対応付けられる不配置リソース使用率として算出されてもよい。
 また、AI・ビッグデータ処理部56は、例えば、n個の候補基盤のそれぞれについて、当該候補基盤に対応付けられる配置予測値データに基づいて、当該候補基盤に対応付けられるリソース使用率である配置リソース使用率を算出してもよい。例えば、複数の期間種別のそれぞれについて、CPU使用率の予測値の代表値、メモリ使用率の予測値の代表値、ストレージ使用率の予測値の代表値、及び、帯域幅使用率の予測値の代表値が算出されてもよい。そして、これら4個の代表値についての代表値が、当該候補基盤に対応付けられる配置リソース使用率として算出されてもよい。
 上述の代表値の一例としては、平均値や最大値が挙げられる。また、上述の「4個の代表値についての代表値」の一例としては、上述の4個の平均値の平均値、上述の4個の平均値の最大値、上述の4個の最大値の平均値、上述の4個の最大値の最大値、などが挙げられる。
 そして、AI・ビッグデータ処理部56は、上述の不配置リソース使用率と上述の配置リソース使用率とに基づいて、n個の候補基盤のそれぞれについて、当該候補基盤に対応付けられる個別平準化指標値を算出してもよい。
 例えば、ある候補基盤である着目基盤の配置リソース使用率の値と、他の(n-1)個の候補基盤の不配置リソース使用率の値と、が特定されてもよい。そして、特定されるn個の値の分散又は標準偏差が、当該着目基盤に対応付けられる個別平準化指標値として算出されてもよい。
 あるいは、着目基盤についての配置リソース使用率の値と所定値(例えば、70%)との差と、他の(n-1)個の候補基盤についての不配置リソース使用率の値と所定値(例えば、70%)との差が特定されてもよい。そして、特定されるn個の差の絶対値の合計が、当該着目基盤に対応付けられる個別平準化指標値として算出されてもよい。
 このようにして特定される個別平準化指標値は、複数の候補基盤間におけるリソースの使用状況の平準化の程度を示す個別平準化指標値の一例に相当する。
 また、本実施形態において、候補基盤に着目アプリケーションが構築された場合における、当該候補基盤におけるリソースの使用状況の平準化の程度を示す第1の個別平準化指標値と、複数の候補基盤間におけるリソースの使用状況の平準化の程度を示す第2の個別平準化指標値と、に基づいて、当該候補基盤に対応付けられる個別平準化指標値が特定されてもよい。
 例えば、第1の個別平準化指標値と第2の個別平準化指標値との平均値が、当該候補基盤に対応付けられる個別平準化指標値として特定されてもよい。あるいは、例えば、所与の重みによる第1の個別平準化指標値と第2の個別平準化指標値との重み付き平均値が、当該候補基盤に対応付けられる個別平準化指標値として特定されてもよい。
 そして、ポリシーマネージャ部80が、以上のようにして特定される個別平準化指標値に基づいて、複数の候補基盤のうちから着目アプリケーションが配置される実行基盤を決定する。
 例えば、候補基盤に着目アプリケーションが構築された場合における当該候補基盤における期間種別ごとの予測値のばらつきを示す個別平準化指標値が特定される場合に、当該個別平準化指標値が示すばらつきの小ささに基づいて、着目アプリケーションが配置される実行基盤が決定されてもよい。
 また、例えば、候補基盤に着目アプリケーションが配置された場合における複数の候補基盤間におけるリソースの使用状況の予測値のばらつきを示す個別平準化指標値が特定される場合に、当該個別平準化指標値が示すばらつきの小ささに基づいて、着目アプリケーションが配置される候補基盤が決定されてもよい。
 例えば、複数の候補基盤のそれぞれに対応付けられる、ばらつきを示す個別平準化指標値のうちの、最も小さな値に対応付けられる候補基盤が、着目アプリケーションが配置される実行基盤に決定されてもよい。
 また、例えば、候補基盤に着目アプリケーションが構築された場合における当該候補基盤における期間種別ごとの予測値の最大値と最小値との差を示す個別平準化指標値が特定される場合に、当該個別平準化指標値が示す差の小ささに基づいて、着目アプリケーションが配置される実行基盤が決定されてもよい。例えば、複数の候補基盤のそれぞれに対応付けられる、差を示す個別平準化指標値のうちの、最も小さな値に対応付けられる候補基盤が、着目アプリケーションが配置される実行基盤に決定されてもよい。
 また、例えば、候補基盤に着目アプリケーションが配置された場合における複数の候補基盤のそれぞれにおけるリソースの使用状況の予測値と所定値との差の絶対値の合計を示す個別平準化指標値が特定される場合に、個別平準化指標値が示す差の絶対値の合計の小ささに基づいて、追加予定アプリケーションが配置される実行基盤が決定されてもよい。例えば、複数の候補基盤のそれぞれに対応付けられる、差の絶対値の合計を示す個別平準化指標値のうちの、最も小さな値に対応付けられる候補基盤が、着目アプリケーションが配置される実行基盤に決定されてもよい。
 なお、以上で説明した個別平準化指標値では、平準化の程度が高いほど個別平準化指標値は小さくなる。ここで、平準化の程度が高いほど値が大きくなるような個別平準化指標値が用いられてもよい。この場合は、複数の候補基盤のそれぞれに対応付けられる個別平準化指標値のうちの、最も大きな値に対応付けられる候補基盤が、着目アプリケーションが配置される実行基盤として決定されることとなる。
 上述のように、カテゴリが「既存制約」であるアプリケーションについては、既存制約内決定順序が前であるものから順に、個別平準化指標値に基づいて、当該アプリケーションが配置される実行基盤が決定されてもよい。
 そして、カテゴリが「新規制約」であるアプリケーションについては、新規制約内決定順序が前であるものから順に、個別平準化指標値に基づいて、当該アプリケーションが配置される実行基盤が決定されてもよい。
 そして、カテゴリが「既存無条件」又は「新規無条件」であるアプリケーションについては、ランダムな順序で、個別平準化指標値に基づいて、当該アプリケーションが配置される実行基盤が決定されてもよい。
 そして、本実施形態では例えば、以上のようにして、すべてのカテゴリのアプリケーションについて配置される実行基盤が決定されると、ライフサイクル管理部84、コンテナ管理部64、及び、構成管理部62は、複数のアプリケーションのそれぞれを、当該アプリケーションについて配置される実行基盤として決定された実行基盤に配置する。
 ここで、ライフサイクル管理部84、コンテナ管理部64、及び、構成管理部62は、例えば、通信システム1に未構築である追加予定アプリケーションについては、当該アプリケーションについて決定される実行基盤に新たに構築する。
 また、ライフサイクル管理部84、コンテナ管理部64、及び、構成管理部62は、例えば、通信システム1に既に構築されているアプリケーションについては、当該アプリケーションについて決定される実行基盤にリプレースする。
 また、本実施形態において、上述のように、アプリケーションが配置可能な実行基盤に係る要件として、複数種類の要件が設定されていることがある。このような場合に、ポリシーマネージャ部80は、複数のアプリケーションのそれぞれの、当該アプリケーションが配置可能な実行基盤に係る複数種類の要件を特定してもよい。
 そして、ポリシーマネージャ部80は、複数種類の要件のそれぞれについて、当該要件に基づいて、複数のアプリケーションについて、配置される実行基盤の決定順序を決定してもよい。
 例えば、カテゴリが「既存制約」又は「新規制約」であるアプリケーションのそれぞれに、実装されているGPUの数の要件、実装されているメモリのサイズの要件、及び、実装されているストレージのサイズの要件が関連付けられているとする。
 この場合に、ポリシーマネージャ部80は、例えば、カテゴリが「既存制約」であるアプリケーションについて、実装されているGPUの数の要件が厳しい順、すなわち、要件に示されている数が多い順となるよう既存制約内決定順序が決定されてもよい。また、カテゴリが「新規制約」であるアプリケーションについても、実装されているGPUの数の要件が厳しい順、すなわち、要件に示されている数が多い順となるよう新規制約内決定順序が決定されてもよい。
 そして、カテゴリが「既存固定」のアプリケーション、カテゴリが「新規固定」、当該既存制約内決定順序に従うカテゴリが「既存制約」のアプリケーション、当該新規制約内決定順序に従うカテゴリが「新規制約」のアプリケーション、ランダムな順序に従うカテゴリが「既存無条件」のアプリケーション、ランダムな順序に従うカテゴリが「新規無条件」のアプリケーションの順序を、GPU順序と呼ぶこととする。
 また、ポリシーマネージャ部80は、同様にして、例えば、実装されているメモリのサイズの要件が厳しい順、すなわち、要件に示されているサイズが大きい順となるよう、複数のアプリケーションのそれぞれが配置される実行基盤の決定順序が決定されてもよい。このようにして決定される順序をメモリ順序と呼ぶこととする。
 また、ポリシーマネージャ部80は、同様にして、例えば、実装されているストレージのサイズの要件が厳しい順、すなわち、要件に示されているサイズが大きい順となるよう、複数のアプリケーションのそれぞれが配置される実行基盤の決定順序が決定されてもよい。このようにして決定される順序をストレージ順序と呼ぶこととする。
 このように、配置される実行基盤の決定順序として、複数の順序が決定されてもよい。
 そして、AI・ビッグデータ処理部56が、GPU順序に従ってすべてのアプリケーションが配置される実行基盤が決定された場合における、総合平準化指標値を算出してもよい。
 ここで、本実施形態に係る総合平準化指標値とは、複数のアプリケーションを複数種類のいずれかの要件に基づいて決定される実行基盤に配置した場合における、個々の実行基盤におけるリソースの使用状況の平準化の程度、又は、複数の実行基盤間におけるリソースの使用状況の平準化の程度のうちの少なくとも一方を示す平準化指標値を指す。
 ここで、AI・ビッグデータ処理部56は、例えば、上述のようにして、複数の候補基盤のそれぞれに対応付けられる個別平準化指標値を算出してもよい。そして、AI・ビッグデータ処理部56は、このようにして算出される個別平準化指標値の代表値(平均値や最大値)を、総合平準化指標値として算出してもよい。
 例えば、GPU順序に従ってすべてのアプリケーションのそれぞれが配置される実行基盤が決定された後に、複数の実行基盤のそれぞれについて、当該実行基盤に配置されることが決定されたアプリケーションのAPリソースデータに基づいて、当該候補基盤におけるリソースの使用状況の平準化の程度を示す上述の個別平準化指標値が算出されてもよい。そして、複数の実行基盤についてこのようにして算出される個別平準化指標値の代表値(平均値や最大値)が、GPU順序に従ってすべてのアプリケーションのそれぞれが配置される実行基盤が決定された場合における、総合平準化指標値として算出されてもよい。
 また、総合平準化指標値は、複数の候補基盤間におけるリソースの使用状況の平準化の程度を示す値であってもよい。
 例えば、GPU順序に従ってすべてのアプリケーションのそれぞれが配置される実行基盤が決定された後に、複数の実行基盤のそれぞれについて、当該実行基盤に配置されることが決定されたアプリケーションのAPリソースデータに基づいて、当該実行基盤のリソース使用率が算出されてもよい。
 そして、複数の実行基盤についてこのようにして算出されるリソース使用率の値の分散又は標準偏差が、GPU順序に従ってすべてのアプリケーションが配置される実行基盤が決定された場合における、総合平準化指標値として算出されてもよい。
 あるいは、複数の実行基盤についてのリソース使用率の値と所定値(例えば、70%)との差の絶対値の合計が、GPU順序に従ってすべてのアプリケーションが配置される実行基盤が決定された場合における、総合平準化指標値として算出されてもよい。
 そして、同様にして、メモリ順序に従ってすべてのアプリケーションが配置される実行基盤が決定された場合における、総合平準化指標値が算出されてもよい。また、同様にして、ストレージ順序に従ってすべてのアプリケーションが配置される実行基盤が決定された場合における、総合平準化指標値が算出されてもよい。
 そして、ポリシーマネージャ部80は、複数種類の要件のそれぞれについて決定される決定順序のうちのいずれかに従って、複数のアプリケーションが配置される実行基盤を決定してもよい。
 例えば、ポリシーマネージャ部80は、複数種類の要件のそれぞれについて決定される決定順序のうちから、総合平準化指標値に基づいて決定される決定順序に従って、複数のアプリケーションが配置される実行基盤を決定してもよい。
 例えば、以上のようにして複数の順序について特定される総合平準化指標値のうち、最も平準化の程度が高い総合平準化指標値に対応付けられる順序において決定される実行基盤が、各アプリケーションが配置される実行基盤として決定されてもよい。
 また、本実施形態において、ポリシーマネージャ部80が、ある種類の要件に基づいて、複数のアプリケーションについての、配置される実行基盤の決定順序を決定してもよい。
 そして、ポリシーマネージャ部80が、当該決定順序に従って各アプリケーションが配置される実行基盤を決定した場合における上述の総合平準化指標値が示す平準化の程度の高さが所定の高さよりも高いか否かを判定してもよい。
 そして、ポリシーマネージャ部80は、上述の総合平準化指標値が示す平準化の程度の高さが所定の高さより高い場合は、当該決定順序に従って、複数のアプリケーションが配置される実行基盤を決定してもよい。そして、そうでない場合は、ポリシーマネージャ部80は、他の種類の要件に基づいて、複数のアプリケーションについての、配置される実行基盤の決定順序を再決定してもよい。
 例えば、GPU順序に従って各アプリケーションが配置される実行基盤を決定した場合における総合平準化指標値が示す平準化の程度の高さが所定の高さよりも高い場合は、このようにして決定される実行基盤が、各アプリケーションが配置される実行基盤として決定されるようにしてもよい。そして、そうでない場合は、メモリ順序に従って各アプリケーションが配置される実行基盤を決定した場合における総合平準化指標値が特定されてもよい。
 そして、メモリ順序に従って各アプリケーションが配置される実行基盤を決定した場合における総合平準化指標値が示す平準化の程度の高さが所定の高さよりも高い場合は、このようにして決定される実行基盤が、各アプリケーションが配置される実行基盤として決定されるようにしてもよい。そして、そうでない場合は、ストレージ順序に従って各アプリケーションが配置される実行基盤を決定した場合における総合平準化指標値が特定されてもよい。
 そして、このようにして決定される実行基盤が、各アプリケーションが配置される実行基盤として決定されるようにしてもよい。
 また、サービスカタログ記憶部54が、アプリケーションが配置可能な実行基盤に係る要件と、配置における制約の強さと、を対応付けた制約強さデータを記憶していてもよい。
 例えば、図9に示すように、「AMFと同じクバネテスクラスタ」との要件と強さ「5」とが対応付けられた制約強さデータがサービスカタログ記憶部54に記憶されていてもよい。そして、「AMFと同じファブリックネットワーク」との要件と強さ「4」とが対応付けられた制約強さデータがサービスカタログ記憶部54に記憶されていてもよい。そして、「AMFと同じデータセンタ」との要件と強さ「3」とが対応付けられた制約強さデータがサービスカタログ記憶部54に記憶されていてもよい。そして、「AMFと同じエッジルータ(アプリケーションルータ)配下」との要件と強さ「2」とが対応付けられた制約強さデータがサービスカタログ記憶部54に記憶されていてもよい。そして、「AMFと同じ圏域(スーパーブロック、地域)」との要件と強さ「1」とが対応付けられた制約強さデータがサービスカタログ記憶部54に記憶されていてもよい。
 そして、ポリシーマネージャ部80が、アプリケーションが配置可能な実行基盤に係る要件と制約強さデータとに基づいて特定される制約の強さが強い順となるよう、複数のアプリケーションについての、配置される実行基盤の決定順序を決定してもよい。すなわち、当該強さが強いほど、配置される実行基盤が早く決定されるように、決定順序が決定されてもよい。
 また、本実施形態において、以上のようにしてもすべてのアプリケーションについての配置される実行基盤が決定できない場合には、通信システム1の管理者に実行基盤の増設をレコメンドする通知が送信されるようにしてもよい。
 上述のように、通信システム1へのアプリケーションの構築では、アプリケーションの種類によっては、当該種類に対応付けられる要件を満たす実行基盤に配置しなければならないものがある。
 そのため、複数種類のアプリケーションをランダムな順序で実行基盤に配置すると、最後の方に配置されるアプリケーションがどの実行基盤にも配置できない、あるいは、アプリケーションが配置される実行基盤に偏りがある、などのような、実行基盤のリソースを有効に活用できない状況が発生するおそれがある。
 本実施形態では以上のようにして、適切な順序でアプリケーションが配置される実行基盤が決定される。このようにして本実施形態によれば、複数種類のアプリケーションが構築される実行基盤のリソースを有効に活用できることとなる。
 ここで、本実施形態に係るプラットフォームシステム30で行われる、アプリケーションの配置に係る処理の流れの一例を、図10に例示するフロー図を参照しながら説明する。本処理例では、本処理例の対象となる複数のアプリケーションは、「既存固定」、「新規固定」、「既存制約」、「新規制約」、「既存無条件」、「新規無条件」のいずれかのカテゴリに分類されていることとする。
 本処理例では、ポリシーマネージャ部80が、配置の決定タイミングの到来を待機している(S101)。
 配置の決定タイミングが到来すると、AI・ビッグデータ処理部56が、通信システム1で実行されているアプリケーション、及び、追加予定アプリケーションについて、当該アプリケーションが必要とするリソース量を示すAPリソースデータを生成する(S102)。
 そして、ポリシーマネージャ部80が、第1の種類の要件に基づいて、S102に示す処理でAPリソースデータが生成された複数のアプリケーションについての、配置される実行基盤の決定順序である第1順序を決定する(S103)。
 そして、ポリシーマネージャ部80が、第1順序に従って、S102に示す処理でAPリソースデータが生成された複数のアプリケーションが配置される実行基盤を決定する(S104)。
 そして、AI・ビッグデータ処理部56が、S102に示す処理で生成されたAPリソースデータに基づいて、S104に示す処理で決定された配置でアプリケーションが配置された場合における総合平準化指標値である第1総合平準化指標値を特定する(S105)。
 そして、ポリシーマネージャ部80が、上述の第1の種類の要件とは異なる第2の種類の要件に基づいて、S102に示す処理でAPリソースデータが生成された複数のアプリケーションについての、配置される実行基盤の決定順序である第2順序を決定する(S106)。
 そして、ポリシーマネージャ部80が、第2順序に従って、S102に示す処理でAPリソースデータが生成された複数のアプリケーションが配置される実行基盤を決定する(S107)。
 そして、AI・ビッグデータ処理部56が、S102に示す処理で生成されたAPリソースデータに基づいて、S107に示す処理で決定された配置でアプリケーションが配置された場合における総合平準化指標値である第2総合平準化指標値を特定する(S108)。
 そして、ポリシーマネージャ部80が、上述の第1の種類の要件とも第2の種類の要件とも異なる第3の種類の要件に基づいて、S102に示す処理でAPリソースデータが生成された複数のアプリケーションについての、配置される実行基盤の決定順序である第3順序を決定する(S109)。
 そして、ポリシーマネージャ部80が、第3順序に従って、S102に示す処理でAPリソースデータが生成された複数のアプリケーションが配置される実行基盤を決定する(S110)。
 そして、AI・ビッグデータ処理部56が、S102に示す処理で生成されたAPリソースデータに基づいて、S110に示す処理で決定された配置でアプリケーションが配置された場合における総合平準化指標値である第3総合平準化指標値を特定する(S111)。
 そして、ポリシーマネージャ部80が、通信システム1で実行されているアプリケーション、及び、追加予定アプリケーションについて、当該アプリケーションが配置される実行基盤を最終決定する(S112)。S112に示す処理では例えば、S105に示す処理で特定された第1総合平準化指標値、S108に示す処理で特定された第2総合平準化指標値、及び、S111に示す処理で特定された第3総合平準化指標値のうちから、リソースの使用状況の平準化の程度が最も高い値の総合平準化指標値が特定されてもよい。そして、特定された総合平準化指標値に対応する順序で決定された実行基盤が、各アプリケーションが配置される実行基盤として最終決定される。
 例えば、第1総合平準化指標値が示すリソースの使用状況の平準化の程度が最も高い場合は、S104に示す処理で決定された実行基盤が、各アプリケーションが配置される実行基盤として最終決定される。また例えば、第2総合平準化指標値が示すリソースの使用状況の平準化の程度が最も高い場合は、S107に示す処理で決定された実行基盤が、各アプリケーションが配置される実行基盤として最終決定される。また例えば、第3総合平準化指標値が示すリソースの使用状況の平準化の程度が最も高い場合は、S110に示す処理で決定された実行基盤が、各アプリケーションが配置される実行基盤として最終決定される。
 そして、ライフサイクル管理部84、コンテナ管理部64、及び、構成管理部62は、通信システム1で実行されているアプリケーション、及び、追加予定アプリケーションのそれぞれを、S112に示す処理で当該アプリケーションについて配置される実行基盤として決定された実行基盤に配置する(S113)。
 ここで、通信システム1で実行されているアプリケーションについて、実行されている実行基盤と異なる実行基盤に配置することが決定された場合は、当該アプリケーションはリプレースされる。また、追加予定アプリケーションについては、決定された実行基盤に新たに構築される。
 そして、S101に示す処理に戻る。
 なお、S105に示す処理で特定された第1総合平準化指標値が示す平準化の程度の高さが所定の高さより高い場合に、S106からS111に示す処理をスキップして、S112に示す処理で、第1順序で決定された実行基盤が、各アプリケーションが配置される実行基盤として最終決定されてもよい。
 また、S108に示す処理で特定された第2総合平準化指標値が示す平準化の程度の高さが所定の高さより高い場合に、S109からS111に示す処理をスキップして、S112に示す処理で、第2順序で決定された実行基盤が、各アプリケーションが配置される実行基盤として最終決定されてもよい。
 なお、本発明は上述の実施形態に限定されるものではない。
 例えば、本実施形態に係る実行基盤は、クバネテスクラスタであってもよい。また、本実施形態に係る実行基盤は、サーバであってもよい。
 また、本実施形態に係るアプリケーションは、通信システム1に含まれるネットワークファンクションであってもよいし、例えば、ビッグデータ解析用のアプリケーションやAIなどといった、ネットワークファンクション以外のアプリケーションであってもよい。
 また、以上の説明では、CPUの使用状況、メモリの使用状況、ストレージの使用状況、ネットワークの使用状況、及び、電力の使用状況のすべてに基づいて、個別平準化指標値や総合平準化指標値が算出されているが、これらのうちの一部に基づいて、個別平準化指標値や総合平準化指標値が算出されてもよい。例えば、CPUの使用状況、メモリの使用状況、ストレージの使用状況、ネットワークの使用状況、又は、電力の使用状況のいずれか1つに基づいて、個別平準化指標値や総合平準化指標値が算出されてもよい。
 また、本実施形態に係る機能ユニットは図3に示したものには限定されない。例えば、本実施形態に係る機能ユニットが、AMF(Access and Mobility Management Function)、SMF(Session Management Function)などといったネットワークノードであっても構わない。
 また、本実施形態に係る機能ユニットは、5GにおけるNFである必要はない。例えば、本実施形態に係る機能ユニットが、eNodeB、vDU、vCU、P-GW(Packet Data Network Gateway)、S-GW(Serving Gateway)、MME(Mobility Management Entity)、HSS(Home Subscriber Server)などといった、4Gにおけるネットワークノードであっても構わない。
 また、本実施形態に係る機能ユニットが、コンテナ型の仮想化技術でなく、ハイパーバイザ型やホスト型の仮想化技術を用いて実現されてもよい。また、本実施形態に係る機能ユニットがソフトウェアによって実装されている必要はなく、電子回路等のハードウェアによって実装されていてもよい。また、本実施形態に係る機能ユニットが、電子回路とソフトウェアとの組合せによって実装されていてもよい。

Claims (14)

  1.  複数のアプリケーションのそれぞれについて、当該アプリケーションの種類に対応付けられる、当該アプリケーションが配置可能な実行基盤に係る要件を特定する要件特定手段と、
     前記要件に基づいて、前記複数の前記アプリケーションの順序を決定する順序決定手段と、
     決定される前記順序に従って、前記複数の前記アプリケーションのそれぞれが配置される前記実行基盤を決定する実行基盤決定手段と、
     前記複数の前記アプリケーションのそれぞれを、当該アプリケーションについて決定される前記実行基盤に配置する配置手段と、
     を含むことを特徴とする配置システム。
  2.  前記配置手段は、前記複数の前記アプリケーションのそれぞれを当該アプリケーションについて決定される前記実行基盤に配置する際に、未構築の前記アプリケーションについては、当該アプリケーションについて決定される前記実行基盤に新たに構築する、
     ことを特徴とする請求項1に記載の配置システム。
  3.  前記配置手段は、前記複数の前記アプリケーションのそれぞれを当該アプリケーションについて決定される前記実行基盤に配置する際に、既に構築されている前記アプリケーションについては、当該アプリケーションについて決定される前記実行基盤にリプレースする、
     ことを特徴とする請求項1又は2に記載の配置システム。
  4.  前記要件と、前記アプリケーションの配置における制約の強さと、を対応付けた制約強さデータを記憶する制約強さデータ記憶手段、をさらに含み、
     前記順序決定手段は、前記要件と前記制約強さデータとに基づいて特定される制約の強さが強い順となるよう、前記順序を決定する、
     ことを特徴とする請求項1から3のいずれか一項に記載の配置システム。
  5.  前記アプリケーションは、特定の前記実行基盤のみに配置可能であるもの、所定の条件を満たす前記実行基盤に配置可能であるもの、又は、任意の前記実行基盤に配置可能であるもの、のいずれかであり、
     前記順序決定手段は、特定の前記実行基盤のみに配置可能である前記アプリケーション、所定の条件を満たす前記実行基盤に配置可能である前記アプリケーション、任意の前記実行基盤に配置可能である前記アプリケーション、の順となるよう、前記順序を決定する、
     ことを特徴とする請求項1から3のいずれか一項に記載の配置システム。
  6.  第1の種類の前記アプリケーションが配置可能な前記実行基盤に係る要件が、第2の種類の前記アプリケーションのロケーションに係る要件である場合に、前記順序決定手段は、前記順序において、前記第1の種類の前記アプリケーションを、前記第2の種類の前記アプリケーションよりも後にする、
     ことを特徴とする請求項1から5のいずれか一項に記載の配置システム。
  7.  前記要件特定手段は、前記複数の前記アプリケーションのそれぞれの、当該アプリケーションが配置可能な前記実行基盤に係る複数種類の要件を特定し、
     前記順序決定手段は、前記複数種類の要件のそれぞれについて、当該要件に基づいて、前記順序を決定し、
     前記実行基盤決定手段は、前記複数種類の要件のそれぞれについて決定される複数の前記順序のうちのいずれかに従って、前記複数の前記アプリケーションが配置される前記実行基盤を決定する、
     ことを特徴とする請求項1から6のいずれか一項に記載の配置システム。
  8.  前記複数種類の要件のそれぞれについて決定される複数の前記順序のそれぞれについて、当該順序に従って前記複数の前記アプリケーションを前記実行基盤に配置した場合における、個々の前記実行基盤におけるリソースの使用状況の平準化の程度、又は、前記複数の前記実行基盤間におけるリソースの使用状況の平準化の程度のうちの少なくとも一方を示す平準化指標値を算出する平準化指標値算出手段、をさらに含み、
     前記実行基盤決定手段は、前記複数種類の要件のそれぞれについて決定される複数の前記順序のうちから、前記平準化指標値に基づいて決定される順序に従って、前記複数の前記アプリケーションが配置される前記実行基盤を決定する、
     ことを特徴とする請求項7に記載の配置システム。
  9.  前記順序決定手段は、前記複数種類のうちのある種類の前記要件に基づいて、前記順序を決定し、
     決定される前記順序に従って前記複数の前記アプリケーションを前記実行基盤に配置した場合における、個々の前記実行基盤におけるリソースの使用状況の平準化の程度、又は、前記複数の前記実行基盤間におけるリソースの使用状況の平準化の程度のうちの少なくとも一方を示す平準化指標値を算出する平準化指標値算出手段、をさらに含み、
     前記平準化指標値が示す平準化の程度の高さが所定の高さよりも高い場合には、前記実行基盤決定手段が、決定される前記順序に従って、前記複数の前記アプリケーションが配置される前記実行基盤を決定し、
     そうでない場合には、前記順序決定手段が、前記複数種類のうちの他の種類の前記要件に基づいて前記順序を再決定する、
     ことを特徴とする請求項7に記載の配置システム。
  10.  前記リソースの使用状況は、CPUの使用状況、メモリの使用状況、ストレージの使用状況、ネットワークの使用状況、又は、電力の使用状況、のうちの少なくとも1つである、
     ことを特徴とする請求項8又は9に記載の配置システム。
  11.  前記実行基盤は、仮想化技術によって生成される1以上のコンテナから構成されるクラスタである、
     ことを特徴とする請求項1から10のいずれか一項に記載の配置システム。
  12.  前記アプリケーションは、通信システムに含まれるアプリケーションである、
     ことを特徴とする請求項1から11のいずれか一項に記載の配置システム。
  13.  前記アプリケーションは、ネットワークファンクションである、
     ことを特徴とする請求項12に記載の配置システム。
  14.  複数のアプリケーションのそれぞれについて、当該アプリケーションの種類に対応付けられる、当該アプリケーションが配置可能な実行基盤に係る要件を特定するステップと、
     前記要件に基づいて、前記複数の前記アプリケーションの順序を決定するステップと、
     決定される前記順序に従って、前記複数の前記アプリケーションのそれぞれが配置される前記実行基盤を決定するステップと、
     前記複数の前記アプリケーションのそれぞれを、当該アプリケーションについて決定される前記実行基盤に配置するステップと、
     を含むことを特徴とする配置方法。
PCT/JP2022/016253 2022-03-30 2022-03-30 配置システム及び配置方法 WO2023188185A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/016253 WO2023188185A1 (ja) 2022-03-30 2022-03-30 配置システム及び配置方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/016253 WO2023188185A1 (ja) 2022-03-30 2022-03-30 配置システム及び配置方法

Publications (1)

Publication Number Publication Date
WO2023188185A1 true WO2023188185A1 (ja) 2023-10-05

Family

ID=88199727

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/016253 WO2023188185A1 (ja) 2022-03-30 2022-03-30 配置システム及び配置方法

Country Status (1)

Country Link
WO (1) WO2023188185A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016143365A (ja) * 2015-02-05 2016-08-08 日本電信電話株式会社 仮想化基盤選択装置、その方法及びプログラム
JP2017037522A (ja) * 2015-08-11 2017-02-16 日本電信電話株式会社 仮想化基盤選択装置及び方法、並びに、プログラム
US20180260200A1 (en) * 2017-03-09 2018-09-13 Nec Europe Ltd. System and method for deploying application components on distributed it resources

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016143365A (ja) * 2015-02-05 2016-08-08 日本電信電話株式会社 仮想化基盤選択装置、その方法及びプログラム
JP2017037522A (ja) * 2015-08-11 2017-02-16 日本電信電話株式会社 仮想化基盤選択装置及び方法、並びに、プログラム
US20180260200A1 (en) * 2017-03-09 2018-09-13 Nec Europe Ltd. System and method for deploying application components on distributed it resources

Similar Documents

Publication Publication Date Title
CN110611926B (zh) 一种告警的方法及装置
US10735279B2 (en) Networking service level agreements for computer datacenters
US10481953B2 (en) Management system, virtual communication-function management node, and management method for managing virtualization resources in a mobile communication network
US20140317261A1 (en) Defining interdependent virtualized network functions for service level orchestration
US20230043362A1 (en) Computer system and network slice management method
Filippou et al. Flexible MEC service consumption through edge host zoning in 5G networks
WO2023188185A1 (ja) 配置システム及び配置方法
WO2023218663A1 (ja) 実行基盤決定システム及び実行基盤決定方法
WO2023218664A1 (ja) リプレースシステム及びリプレース方法
WO2024069948A1 (ja) 通信システムに含まれるハードウェアリソースの管理
WO2024047775A1 (ja) 通信システムに係る所与の予測目的で用いられる機械学習モデルの決定
WO2024142181A1 (ja) 通信システムに含まれるプロセスが不安定であるか否かの判定
WO2024142179A1 (ja) アプリケーションが不安定である原因の推定
WO2024047774A1 (ja) 通信システムに係る所与の予測目的で用いられる機械学習モデルの決定
WO2024004102A1 (ja) キューに格納されている性能指標値データに基づく通信システムの状態判定
WO2024069949A1 (ja) 通信システムに含まれるハードウェアリソースの管理
WO2024142180A1 (ja) 不安定なアプリケーションのリプレース
WO2023188186A1 (ja) 通信経路決定システム及び通信経路決定方法
WO2023233471A1 (ja) ネットワークの異常の原因推定
WO2024024106A1 (ja) ネットワーク負荷の予測開始タイミングの制御
WO2023233470A1 (ja) ネットワークの異常の原因推定
WO2024024107A1 (ja) ネットワーク負荷の予測開始タイミングの制御
WO2023188187A1 (ja) 通信経路決定システム及び通信経路決定方法
WO2024004104A1 (ja) 通信システムに含まれる要素の適切なスケールアウトの実行
WO2023157199A1 (ja) 妥当性検証システム及び妥当性検証方法

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 18006152

Country of ref document: US

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22935330

Country of ref document: EP

Kind code of ref document: A1