Orchestration device, method, and program
The orchestration device addresses the challenge of balancing delay guarantees and resource utilization by selecting server devices based on user-defined delays and network resources, optimizing system efficiency and resource allocation.
Patent Information
- Application Number
- JP2024012530
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-01-31
- Publication Date
- 2025-08-13
AI Technical Summary
Existing communication systems face challenges in balancing delay guarantees and resource utilization, as existing methods often prioritize reducing delays without considering resource efficiency, leading to inefficient operation.
An orchestration device that acquires user-defined delay requirements, computational resource information of server devices, and network resource information, and selects an optimal server device for application deployment while setting a maximum communication delay to ensure both delay guarantees and resource efficiency.
The orchestration device effectively selects server devices that meet user-defined delays while optimizing resource utilization, preventing overallocation of high-performance resources and ensuring efficient operation of the communication system.
Smart Images

Figure 2025117674000001_ABST
Abstract
Description
[Technical Field]
[0001] FIELD Embodiments of the present invention relate to an orchestration apparatus, method, and program. [Background technology]
[0002] BACKGROUND ART Generally, techniques are known for reducing delays that occur in a communication system that performs communication between edge devices and server devices (cloud servers) connected via a network.
[0003] However, by comprehensively considering the delays that occur in such communication systems and the utilization of resources in the communication systems, it may be possible to operate the communication systems more efficiently. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Patent No. 6648790 Summary of the Invention [Problem to be solved by the invention]
[0005] Therefore, the problem to be solved by the present invention is to provide an orchestration device, method, and program that can achieve both delay guarantee and resource utilization in a communication system. [Means for solving the problem]
[0006] An orchestration device according to an embodiment includes a first acquisition means, a second acquisition means, a third acquisition means, a selection means, a first setting means, and a second setting means. The first acquisition means acquires a requested delay time requested by a user for a communication system including an edge device and first and second server devices connected via a network. The second acquisition means acquires first resource information related to the resources of each of the first and second server devices. The third acquisition means acquires second resource information related to the resources of the network. The selection means selects a server device from the first and second server devices on which an application program for realizing the communication system runs, based on the requested delay time and the first and second resource information. The first setting means performs settings to allocate the application program to the selected server device. The second setting means sets a maximum communication delay for the network. [Brief explanation of the drawings]
[0007] [Figure 1] FIG. 1 is a diagram showing an example of the configuration of a communication system to which an orchestration device according to a first embodiment is applied. [Figure 2] FIG. 2 is a block diagram showing an example of a functional configuration of an orchestration device. [Figure 3] FIG. 2 is a diagram illustrating an example of a hardware configuration of an orchestration device. [Figure 4] 10 is a flowchart showing an example of a processing procedure of the orchestration device. [Figure 5] FIG. 10 is a diagram showing an example of the data structure of a first processing delay prediction table. [Figure 6] FIG. 10 is a diagram showing an example of the data structure of a second processing delay prediction table. [Figure 7] FIG. 10 is a diagram showing an example of the configuration of a communication system to which an orchestration device according to a second embodiment is applied. [Figure 8] FIG. 2 is a block diagram showing an example of a functional configuration of an orchestration device. [Figure 9]10 is a flowchart showing an example of a processing procedure of the orchestration device. [Figure 10] FIG. 10 is a diagram for explaining a first method for selecting a deployment destination of a server application. [Figure 11] FIG. 10 is a diagram for explaining a second method for selecting the deployment location of a server application. [Figure 12] FIG. 10 is a diagram illustrating a process for determining a maximum communication delay. [Figure 13] FIG. 10 is a diagram showing an example of the configuration of a communication system to which an orchestration device according to a third embodiment is applied. [Figure 14] FIG. 2 is a block diagram showing an example of a functional configuration of an orchestration device. [Figure 15] 10 is a flowchart showing an example of a processing procedure for acquiring network resource information. [Figure 16] FIG. 2 is a diagram showing a specific configuration example of a communication system according to each embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0008] Hereinafter, each embodiment will be described with reference to the drawings. (First embodiment) First, a description will be given of a first embodiment. Fig. 1 shows an example of the configuration of a communication system to which an orchestration device (time-sensitive orchestrator) according to this embodiment is applied.
[0009] As shown in Fig. 1, the communication system 1 includes an edge device 10 and a plurality of server devices. In Fig. 1, first and second server devices 20a and 20b are shown as the plurality of server devices. Note that the communication system 1 may include three or more server devices.
[0010] When the communication system 1 is operated, an application program (hereinafter referred to as a client application) for realizing the communication system 1 runs on the edge device 10.
[0011] When the communication system 1 is operated, an application program (hereinafter referred to as a server application) for realizing the communication system 1 runs on the first and second server devices 20a and 20b.
[0012] In the communication system 1 shown in FIG. 1, the edge device 10 is connected to the first and second server apparatuses 20a and 20b via the network 30 so as to be able to communicate with each other.
[0013] In such a communication system 1, an edge device 10 running a client application and first and second server devices 20a and 20b running a server application communicate with each other, thereby making it possible to provide, for example, IoT (Internet of Things) services.
[0014] Specifically, for example, if the edge device 10 is industrial equipment, the first and second server devices 20a and 20b are Mobile Edge Computing (MEC), and the network 30 is a local 5G (5th Generation) network equipped with TSN functionality defined in IEEE 802.1, a service can be provided in which sensing data is transmitted from the industrial equipment to the MEC via the local 5G network, and control commands (signals) are transmitted from the MEC to the industrial equipment.
[0015] The network 30 in this embodiment is assumed to be an edge network that connects industrial equipment and MECs and is located, for example, in a factory.
[0016] As described above, the communication system 1 includes a plurality of server devices (first and second server devices 20a and 20b), and in the communication system 1, for example, a server application is selectively placed on the plurality of server devices.
[0017] In this case, for example, it may be possible to select a server device on which to place a server application based on the viewpoint of reducing delays that occur in the communication system 1, but it may be possible to operate the communication system 1 more efficiently by further considering the utilization rate of the resources of the communication system 1 (the computational resources and network resources of each of the multiple server devices).
[0018] Therefore, in this embodiment, an orchestration device 50 is provided to achieve both reduction in delay and utilization of resources in the communication system 1 described above.
[0019] The plurality of server devices in this embodiment are, for example, cloud servers that provide cloud computing services (that is, cloud candidates in the communication system 1), and correspond to candidates for deployment destinations of server applications (cloud candidates).
[0020] FIG. 2 is a block diagram showing an example of the functional configuration of the orchestration device 50 according to this embodiment.
[0021] As shown in Figure 2, the orchestration device 50 includes a request acquisition unit 51, a first resource information acquisition unit 52, a second resource information acquisition unit 53, a resource information storage unit 54, a placement destination selection unit 55, a first setting unit 56, and a second setting unit 57.
[0022] Here, a user who uses the orchestration device 50 can request (specify) an allowable delay time in the communication system 1.
[0023] The request acquisition unit 51 acquires the delay time requested by the user in this manner (hereinafter referred to as the requested delay time). The requested delay time is, for example, an end-to-end time that is a combination of a one-way or round-trip communication delay time between the edge device 10 (client application) and the server device (server application) and a processing time of the server application (the server device on which the server application runs).
[0024] The first resource information acquisition unit 52 acquires information about the resources (computational resources or hardware resources) of each of the first and second server devices 20a and 20b (hereinafter referred to as computational resource information of each of the first and second server devices 20a and 20b).
[0025] The second resource information acquisition unit 53 acquires information relating to resources of the network 30 (hereinafter referred to as network resource information).
[0026] The resource information storage unit 54 stores the computational resource information of each of the first and second server devices 20a and 20b acquired by the first resource information acquisition unit 52 and the network resource information acquired by the second resource information acquisition unit 53.
[0027] The placement destination selection unit 55 selects a server device (i.e., a placement destination of the server application) from the first and second server devices 20a and 20b based on the requested delay time acquired by the request acquisition unit 51 and the computational resource information and network resource information of each of the first and second server devices 20a and 20b stored in the resource information storage unit 54.
[0028] The first setting unit 56 performs setting for deploying the server application in the server device selected by the deployment destination selection unit 55. The second setting unit 57 performs setting for the network 30 for the maximum communication delay.
[0029] Although the orchestration device 50 has been described here as including each of the units 51 to 57, in the orchestration device 50, some of the units 51 to 57 may be omitted, or functional units other than the units 51 to 57 may be added.
[0030] Furthermore, orchestration device 50 may be realized by one device or by multiple devices. In other words, when orchestration device 50 is realized by two devices, some of units 51 to 57 shown in Fig. 2 may be arranged in one device, and the other units of units 51 to 57 may be arranged in the other device.
[0031] Fig. 3 shows an example of the hardware configuration of the orchestration device 50 shown in Fig. 2. As shown in Fig. 3, the orchestration device 50 includes a CPU 501, a nonvolatile memory 502, a RAM 503, a communication device 504, and the like.
[0032] The CPU 501 is a processor that controls the operation of each component in the orchestration device 50. The CPU 501 may be a single processor or may be configured with multiple processors. The CPU 501 executes various programs loaded from the nonvolatile memory 502, which is a storage device, to the RAM 503. These programs include an operating system (OS) and various application programs.
[0033] The nonvolatile memory 502 is a storage medium used as an auxiliary storage device. The RAM 503 is a storage medium used as a main storage device. Although only the nonvolatile memory 502 and the RAM 503 are shown in Fig. 3, the orchestration device 50 may include other storage devices such as a hard disk drive (HDD) and a solid state drive (SSD).
[0034] The communication device 504 is a device configured to perform wired or wireless communication.
[0035] In this embodiment, some or all of the request acquisition unit 51, first resource information acquisition unit 52, second resource information acquisition unit 53, placement destination selection unit 55, first setting unit 56, and second setting unit 57 shown in Fig. 2 may be realized by causing the CPU 501 shown in Fig. 3 to execute a predetermined application program, that is, by software. Furthermore, the application program executed by the CPU 501 to realize the respective units 51 to 53 and 55 to 57 may be stored in a computer-readable storage medium and distributed, or may be downloaded to the orchestration device 50 via a network. Furthermore, some or all of the respective units 51 to 53 and 55 to 57 may be realized by hardware such as an integrated circuit (IC), or may be realized by a configuration combining software and hardware.
[0036] In this embodiment, the resource information storage unit 54 shown in FIG. 2 is realized by the nonvolatile memory 502 shown in FIG. 3 or another storage device.
[0037] The orchestration device 50 according to this embodiment may further include an input device such as a mouse or a keyboard and a display device such as a display.
[0038] An example of the processing procedure of the orchestration device 50 according to this embodiment will be described below with reference to the flowchart of FIG.
[0039] First, the request acquisition unit 51 acquires the requested latency (step S1). The requested latency is the end-to-end time of the service desired by the user, and is acquired, for example, in response to an input to a web browser or editing of a file written in a language such as YAML. In step S1, in addition to the requested latency, application information indicating a service provided in the communication system 1 (a service realized by placing a server application in a server device), information regarding specifications such as the communication interval when providing the service and the packet size in the communication, and the server application (a program executable file) may also be acquired.
[0040] Next, the first resource information acquisition unit 52 accesses the communication system 1 and acquires the computing resource information of each of the first and second server devices 20a and 20b (step S2).
[0041] Here, the first and second server devices 20a and 20b (cloud candidates) provided in the communication system 1 are realized, for example, based on container technology or virtualization technology, and Kubernetes, OpenStack or other cloud management technologies can be applied to the first and second server devices 20a and 20b as technologies for deploying, scaling or managing server applications.
[0042] In this case, the first resource information acquisition unit 52 accesses at least one cloud management node realized by Kubernetes, OpenStack, or the like through a RESTful API (Application Programming Interface) or the like, and can acquire, from the cloud management node, computing resource information including the CPU speed (operating frequency), number of CPUs, CPU usage rate, memory capacity, memory usage rate, and storage access performance (access speed) of each of the first and second server devices 20a and 20b. Note that a RESTful API is an API designed based on the principles of REST (Representational State Transfer), which is a mechanism for accessing Web services.
[0043] The computational resource information acquired in step S2 is stored in the resource information storage unit .
[0044] When the processing of step S2 is executed, the placement destination selection unit 55 predicts the delay time (hereinafter referred to as the application processing delay time of the first and second server devices 20a and 20b) caused by the operation of the server application on each of the first and second server devices 20a and 20b based on the computing resource information stored in the resource information storage unit 54 (step S3).
[0045] The process of step S3 will be specifically described below: The prediction of the application processing delay time in step S3 is performed using the first and second processing delay prediction tables.
[0046] 5 shows an example of the data structure of the first processing delay prediction table. As shown in FIG. 5, the first processing delay prediction table defines (holds) CPU speed, the number of allocatable CPUs, the allocatable memory capacity, and the storage access performance in association with a performance class. Note that the performance class indicates a class into which a server device is classified based on the performance of the server device's computing resources. The number of allocatable CPUs corresponds to the number of CPUs that are unused and can be allocated to new applications, and is calculated from the number of CPUs and the CPU usage rate stored in the resource information storage unit 54. The allocatable memory capacity corresponds to the memory capacity that is unused and can be allocated to new applications, and is calculated from the memory capacity and the memory usage rate stored in the resource information storage unit 54.
[0047] FIG. 6 shows an example of the data structure of the second processing delay prediction table. As shown in FIG. 6, the second processing delay prediction table defines (holds) predicted processing delay times in association with performance classes and (combinations of) services. The services defined in the second processing delay prediction table are services provided in the communication system 1 (services realized by deploying a server application on a server device). The predicted processing delay time corresponds to a predicted value of processing delay that occurs when a server application runs on a server device classified in the corresponding performance class when the server application is deployed on the server device to provide the service. The predicted processing delay time is pre-prepared (determined) using, for example, processing delay obtained by simulation, processing delay measured by monitoring a service currently being provided (running), processing delay measured in advance using a profiling tool, processing delay obtained from the results of a benchmark test on the server application, etc. The predicted processing delay time may be determined not only using a table, but also using, for example, a mathematical formula that models the relationship between variables, such as the service and performance class, and the processing delay time, instead of a table.
[0048] Here, it is assumed that the application processing delay time of the first server apparatus 20a is predicted using the above-described first and second processing delay prediction tables.
[0049] In this case, the placement destination selection unit 55 acquires the computing resource information of the first server device 20a from the resource information storage unit 54, and identifies the performance class defined in the first processing delay prediction table in correspondence with the CPU speed, the number of allocatable CPUs, the allocatable memory capacity, and the storage access performance included in the computing resource information.
[0050] In the example shown in Figure 5, for example, if the CPU speed included in the computing resource information of the first server device 20a is faster than speed A, the number of allocatable CPUs is greater than number A, the allocatable memory capacity is greater than capacity A, and the storage access performance is higher than access performance A, performance class A is identified.
[0051] Also, for example, if the CPU speed included in the computing resource information of the first server device 20a is slower than speed A but faster than speed B, the number of allocatable CPUs is greater than number B, the allocatable memory capacity is smaller than capacity A but greater than capacity B, and the storage access performance is lower than access performance A but higher than access performance B, then performance class B is identified.
[0052] Furthermore, for example, if the CPU speed included in the computing resource information of the first server device 20a is slower than speed B but faster than speed C, the number of allocatable CPUs is greater than the number C, the allocatable memory capacity is smaller than capacity B but greater than capacity C, and the storage access performance is lower than access performance B but higher than access performance C, then performance class C is identified.
[0053] Next, assuming that the service provided in the communication system 1 is the target service as described above, the placement destination selection unit 55 obtains the predicted processing delay time defined in the second processing delay prediction table in association with the performance class of the first server device 20a identified using the first processing delay prediction table and the target service. Note that the target service used to obtain the predicted processing delay time from the second processing delay prediction table may be identified based on, for example, the application information described above.
[0054] In the example shown in FIG. 6, for example, when the performance class of the first server device 20a is performance class A and the target service is service A, predicted processing delay time 1 is acquired.
[0055] Also, for example, if the performance class of the first server device 20a is performance class B and the target service is service B, a predicted processing delay time 5 is acquired.
[0056] Furthermore, for example, if the performance class of the first server device 20a is performance class C and the target service is service C, predicted processing delay time 9 is acquired.
[0057] In this embodiment, the predicted processing delay time acquired from the second processing delay prediction table as described above corresponds to the application processing delay time of the first server device 20a predicted in step S3.
[0058] Although the application processing delay time of the first server apparatus 20a has been described here, the same applies to the application processing time of the second server apparatus 20b.
[0059] Note that the first processing delay prediction table shown in FIG. 5 and the second processing delay prediction table shown in FIG. 6 are examples, and the first and second processing delay prediction tables may have other data structures.
[0060] Next, the second resource information acquisition unit 53 accesses the communication system 1 and acquires the network resource information (step S4).
[0061] Here, the network 30 in this embodiment is assumed to be a network that applies technology such as IEEE 802.1 TSN and is capable of controlling communication delays. Such a network 30 is controlled by a CNC (Centralized Network Configuration), and user requests are managed by a CUC (Centralized User Configuration). The CUC uses an interface defined in a language such as YANG (Yet Another Next Generation) to read and write information from and to the CNC about the Talker (e.g., the edge device 10) that is the sender and the Listener (e.g., a server device) that is the receiver, information about traffic exchanged between the Talker and the Listener, and the maximum communication delay (max-latency) requested by the user.
[0062] In this embodiment, the second resource information acquisition unit 53 performs the functions of the CUC described above and acquires network resource information from one or more network management nodes such as a CNC. Note that the network resource information in this embodiment is acquired based on information regarding specifications such as the communication interval when providing the target service described above and the packet size in the communication, and includes a communication delay time that can be guaranteed by the network 30. Note that the communication delay time that can be guaranteed by the network 30 corresponds to the maximum communication delay that can be guaranteed by the network 30.
[0063] The above-mentioned communication delay time (end-to-end communication delay) corresponds to a value inquired to the network 30. Specifically, the second resource information acquisition unit 53 requests the communication delay time from the CNC using REST or NETCONF and confirms whether the communication delay time is feasible, thereby acquiring the communication delay time (and network resource information including the communication delay time). The communication delay time may also be acquired from accumulated-latency, which is a read-only parameter.
[0064] The network resource information acquired in step S4 is stored in the resource information storage unit .
[0065] Next, the placement destination selection unit 55 determines whether or not there is a cloud candidate (server device) that satisfies the user's request, based on the application processing delay time of each of the first and second server devices 20a and 20b predicted in step S3 and the communication delay time included in the network resource information stored in the resource information storage unit 54 (step S5).
[0066] In step S5, for example, the total time (maximum end-to-end delay) obtained by adding up the application processing delay time of the first server device 20a and the communication delay time included in the network resource information is compared with the requested delay time acquired in step S1, and if the total time is equal to or less than the requested delay time, it is determined that the first server device 20a satisfies the user's request. On the other hand, if the total time exceeds the requested delay time, it is determined that the first server device 20a does not satisfy the user's request.
[0067] Similarly, in step S5, for example, the total time (maximum end-to-end delay) obtained by adding up the application processing delay time of the second server device 20b and the communication delay time included in the network resource information is compared with the requested delay time acquired in step S1, and if the total time is equal to or less than the requested delay time, it is determined that the second server device 20b satisfies the user's request. On the other hand, if the total time exceeds the requested delay time, it is determined that the second server device 20b does not satisfy the user's request.
[0068] The placement destination selection unit 55 can determine whether or not there is a cloud candidate that satisfies the user's requirements based on the determination results of whether or not each of the first and second server devices 20a and 20b satisfies the user's requirements, as described above.
[0069] If it is determined that a cloud candidate that satisfies the user's requirements exists (YES in step S5), the deployment destination selection unit 55 selects (selects) the server device that is the cloud candidate that satisfies the user's requirements as the deployment destination for the server application (step S6).
[0070] In addition, if there are multiple cloud candidates that satisfy the user's requirements (i.e., both the first and second server devices 20a and 20b satisfy the user's requirements), the placement destination selection unit 55 selects the server device with the longest total time (i.e., the server device with the longest total time) from among the first and second server devices 20a and 20b as the placement destination for the server application.
[0071] Here, we have explained that the server device with the longest total time is selected as the destination for the server application, but if there are multiple cloud candidates that meet the user's requirements as described above, the server device with the largest number of allocatable CPUs or allocatable memory capacity (i.e., remaining resources) may be selected as the destination for the server application.
[0072] Next, the first setting unit 56 performs settings (i.e., settings of the destination server device) for deploying the server application to the server device selected as the destination of the server application (hereinafter referred to as the destination server device) (step S7).
[0073] In step S7, the first setting unit 56 requests the deployment of the server application to a cloud management node realized by, for example, Kubernetes, OpenStack, or the like that manages the destination server device (i.e., the target cloud) via a RESTful API, etc. Note that deployment refers to actually placing the executable file described above on the destination server device and making it available.
[0074] In the case of a cloud management node implemented by Kubernetes, the deployment of the server application is realized by placing a pre-created Docker image of the server application in a registry and requesting the cloud management node from the first setting unit 56 to apply the pre-created manifest.
[0075] Furthermore, in the case of a cloud management node realized by OpenStack, deployment tasks such as starting up virtual machines, installing and configuring server applications, and starting them are performed.
[0076] Furthermore, the second setting unit 57 sets a maximum communication delay for the network 30 (i.e., sets the network 30) (step S8). If the network 30 is a network to which IEEE 802.1 TSN technology is applied, the second setting unit 57 performs the function of the CUC described above and requests a CNC (network management node) to set a maximum communication delay using an interface defined in a language such as YANG. As a result, a maximum communication delay is set for the network 30, and communication devices (not shown) connected to the edge device 10 and the destination server apparatus operate to communicate within the range of the set maximum communication delay.
[0077] In step S8, for example, the communication delay time included in the network resource information is set as the maximum communication delay, but the maximum communication delay may also be set to a communication delay time within a range in which the total time including the application processing delay time of the destination server device does not exceed the requested delay time (i.e., a time longer than the communication delay time included in the network resource information).
[0078] On the other hand, if it is determined in step S5 that there is no cloud candidate that satisfies the user's request (NO in step S5), for example, an error is returned in response to the user's request, and the processing shown in FIG. 4 is terminated.
[0079] 4, the processing of steps S1 to S8 is described as being executed, but the order of the processing of steps S1 to S8 may be changed. Specifically, for example, the processing of steps S2 and S3 may be switched with the processing of step S4, and the processing of step S7 may be switched with the processing of step S8. Furthermore, some of the processing of steps S1 to S8 may be executed in parallel.
[0080] As described above, the orchestration device 50 according to this embodiment acquires a requested delay time (first delay time) requested by a user for the communication system 1, acquires computational resource information (first resource information) related to the resources of each of the first and second server devices 20a and 20b, acquires network resource information (second resource information) related to the resources of the network 30, and selects a server device (a server device on which an application program for realizing the communication system 1 runs) as a destination for the server application from among the first and second server devices 20a and 20b based on the requested delay time, the computational resource information, and the network resource information. Furthermore, the orchestration device 50 according to this embodiment performs settings for deploying the server application in the destination server device, and sets a maximum communication delay for the network 30.
[0081] In this embodiment, this configuration makes it possible to select a server device (cloud candidate) that satisfies the user's request (requested delay time) while taking into account the resources (computational resources and network resources) of the communication system 1, thereby making it possible to achieve both delay guarantees and effective utilization of resources in the communication system 1.
[0082] Specifically, the orchestration device 50 according to this embodiment predicts application processing delay times (first and second processing delay times) that will occur when a server application runs on each of the first and second server devices 20a and 20b based on the computational resource information, acquires a communication delay time that the network 30 can promise from the network resource information, and selects a server device as a destination for the server application based on the total time (first and second total times) of the application processing delay time and the communication delay time. In this case, a server device whose total time is less than or equal to the requested delay time is selected as a destination for the server application. However, if there are multiple server devices whose total time is less than or equal to the requested delay time, a server device with a longer total time, a server device with a larger number of allocatable CPUs, or a server device with a larger allocatable memory capacity is selected as a destination for the server application.
[0083] Here, for example, assume that the communication system 1 is operated in such a way that a plurality of server applications run on a plurality of server devices (first and second server devices 20a and 20b). In this case, if a server device that simply reduces the end-to-end delay, which is the sum of the application processing delay time and the communication delay time, is preferentially selected as the placement destination for the server application (i.e., the server application is placed in order of the server device with the highest performance based on the computational resources), a situation may arise in which there are no cloud candidates (server devices) that satisfy the user's request when placing a server application to realize a service with a shorter required delay time.
[0084] In contrast to this, in this embodiment, with the above-described configuration, when selecting a server device that satisfies a user's request as the placement destination of a server application, it is possible to avoid placing the server application on a server device with unnecessarily high performance based on computational resources, thereby enabling efficient operation of the communication system 1 by adjusting the balance of resources (usage rates of resources allocated to the cloud and network) of the communication system 1. Furthermore, since it is possible to avoid selecting a server device with insufficient allocatable resources, when the number of services increases, it is possible to mitigate the decrease in candidates that satisfy the required delay time, thereby enabling efficient use of resources.
[0085] In this embodiment, for example, the communication delay time included in the network resource information is set as the maximum communication delay in the network 30, but the maximum communication delay set in the network 30 may be within a range in which the total time including the application processing delay time does not exceed the required delay time.
[0086] Generally, in a local 5G network equipped with a TSN function, time slots are assigned to multiple queues with different priorities to control the transmission timing of data (frames) stored in the queues, but the smaller the maximum communication delay set in the network 30, the more limited the time slots that can be scheduled by the CNC. However, as described above, a configuration that sets the maximum communication delay within a range in which the total time including the application processing delay time does not exceed the required delay time can improve the degree of freedom in scheduling, which can be said to contribute to maximum utilization of resources.
[0087] (Second embodiment) Next, a second embodiment will be described. Note that in this embodiment, the description of the same parts as in the first embodiment will be omitted, and the description will focus mainly on the parts that are different from the first embodiment.
[0088] In the first embodiment described above, the edge device and multiple server devices are connected via one network. However, this embodiment differs from the first embodiment in that the edge device and multiple server devices are connected via multiple networks (i.e., multiple networks are arranged between the edge device and the cloud candidate).
[0089] Fig. 7 shows an example of the configuration of a communication system to which the orchestration device according to this embodiment is applied. In Fig. 7, the same parts as in Fig. 1 are given the same reference numerals, and detailed description thereof will be omitted.
[0090] 7, a plurality of networks are arranged between the edge device 10 and a plurality of server devices (first and second server devices 20a and 20b) in this embodiment. Note that in FIG. 7, networks 30a to 30b are shown as the plurality of networks.
[0091] 7, the edge device 10 is connected to a first server 20a via networks 30a and 30b, and is also connected to a second server 20b via networks 30a and 30c.
[0092] In addition, when the communication system 1 in this embodiment is a system configured using 5G, the above-mentioned networks 30a to 30c include, for example, edge networks, transport networks, and core networks, and the first and second server devices 20a and 20b include, for example, large-scale cloud servers located in public environments such as MECs or central clouds installed in edge networks at other bases.
[0093] In such a communication system 1, status data of the edge device 10, which is an industrial device, can be transmitted from the edge device 10 to an MEC or a central cloud, where the status data can be analyzed, and the edge device 10 can be remotely operated when an event such as an abnormality occurs.
[0094] Fig. 8 is a block diagram showing an example of the functional configuration of the orchestration device 50 according to this embodiment. In Fig. 8, the same parts as those in Fig. 2 are given the same reference numerals, and detailed description thereof will be omitted.
[0095] As shown in FIG. 8, the orchestration device 50 further includes a communication delay determination unit 58 in addition to the units 51 to 57 described in the first embodiment.
[0096] Here, in this embodiment, networks 30a to 30c are arranged between the edge device 10 and the first and second server devices 20a and 20b, and the communication delay determination unit 58 determines the maximum communication delay to be set in the network arranged between the edge device 10 and the server device selected as the deployment destination for the server application.
[0097] Here, the functional configuration of the orchestration device 50 according to this embodiment has been described, but since the hardware configuration of the orchestration device 50 is as described above in FIG. 3, a detailed description thereof will be omitted here.
[0098] In this embodiment, part or all of the communication delay determination unit 58 shown in FIG. 8 may be realized by causing the CPU 501 shown in FIG. 3 described above to execute a predetermined application program, that is, by software, by hardware, or by a configuration that combines software and hardware.
[0099] Next, an example of a processing procedure of the orchestration device 50 according to this embodiment will be described with reference to the flowchart of FIG.
[0100] First, the processes of steps S11 to S14, which correspond to the processes of steps S1 to S3 shown in FIG. 4, are executed.
[0101] In this embodiment, networks 30a to 30c are arranged between the edge device 10 and the first and second server devices 20a and 20b, and the second resource information acquisition unit 53 acquires network resource information (communication delay time) for each of the networks 30a to 30c. Note that the network resource information is the same as that described in the first embodiment, so a detailed description thereof will be omitted here. The network resource information for each of the networks 30a to 30c acquired in this manner is stored in the resource information storage unit 54.
[0102] Next, the placement destination selection unit 55 determines whether or not there is a cloud candidate (server device) that satisfies the user's request, based on the application processing delay time of each of the first and second server devices 20a and 20b predicted in step S13 and the communication delay time included in the network resource information of each of the networks 30a to 30c stored in the resource information storage unit 54 (step S15).
[0103] 7, assuming that networks 30a and 30b are disposed between the edge device 10 and the first server device 20a, in step S15, for example, the total time obtained by adding together the application processing delay time of the first server device 20a, the communication delay time included in the network resource information of the network 30a, and the communication delay time included in the network resource information of the network 30b is compared with the requested delay time acquired in step S11, and if the total time is less than or equal to the requested delay time, it is determined that the first server device 20a satisfies the user's request. On the other hand, if the total time exceeds the requested delay time, it is determined that the first server device 20a does not satisfy the user's request.
[0104] 7, in step S15, for example, a total time obtained by adding up the application processing delay time of the second server device 20b and the communication delay time included in the network resource information of the network 30a is compared with the requested delay time acquired in step S11, and if the total time is equal to or less than the requested delay time, the second server device 20b is determined to satisfy the user's request. On the other hand, if the total time exceeds the requested delay time, the first server device 20a is determined to not satisfy the user's request.
[0105] The placement destination selection unit 55 can determine whether or not there is a cloud candidate that satisfies the user's requirements, based on the determination results of whether or not each of the first and second server devices 20a and 20b satisfies the user's requirements.
[0106] If it is determined that a cloud candidate that satisfies the user's request exists (YES in step S15), the deployment destination selection unit 55 selects (selects) the server device that is the cloud candidate that satisfies the user's request as the deployment destination of the server application (step S16).
[0107] In addition, if there are multiple cloud candidates that satisfy the user's requirements (i.e., both the first and second server devices 20a and 20b satisfy the user's requirements), the placement selection unit 55 can select the server device with the longest total time among the first and second server devices 20a and 20b as the placement destination for the server application, as in the first embodiment described above.
[0108] Here, the explanation has been given of selecting the deployment destination of a server application simply based on the total time of the application processing delay time and the communication delay time, but in this embodiment, the deployment destination of a server application may be selected based on other methods. Below, the first and second selection methods for the deployment destination (server device) of a server application will be explained.
[0109] First, the first selection method will be described with reference to Fig. 10. In Fig. 10, it is assumed that communication system 1 includes five server devices (hereinafter referred to as cloud candidates 1 to 5), and cloud candidates 3 to 5 among cloud candidates 1 to 5 are determined to satisfy the above-mentioned user request.
[0110] Note that the rectangular object shown corresponding to each cloud candidate represents the network located between the edge device 10 and the cloud candidate, and the length of the rectangular object represents the communication delay time that the network can guarantee (hereinafter referred to as the network communication delay time).
[0111] In the example shown in Figure 10, for example, two networks 301 and 302 are located between edge device 10 and cloud candidate 3, and the communication delay time of network 301 is shown to be a time length equivalent to 9 scale marks, and the communication delay time of network 302 is shown to be a time length equivalent to 9 scale marks.
[0112] Furthermore, for example, three networks 303 to 305 are arranged between the edge device 10 and the cloud candidate 4, and it is shown that the communication delay time of the network 303 is a time length equivalent to four scale marks, the communication delay time of the network 304 is a time length equivalent to seven scale marks, and the communication delay time of the network 305 is a time length equivalent to four scale marks.
[0113] Furthermore, for example, one network 306 is arranged between the edge device 10 and the cloud candidate 5, and the communication delay time of the network 306 is shown to be a time length equivalent to 15 scale marks.
[0114] Here, cloud candidates 3 to 5 have been explained, but explanation of cloud candidates 1 and 2, which do not satisfy the user's requirements, will be omitted.
[0115] In this case, one of the cloud candidates 3 to 5 (server device) is selected as the destination for the server application, but in the first selection method, the destination for the server application is selected based on the maximum communication delay time of each of the multiple networks located between the edge device 10 and each of the cloud candidates 3 to 5.
[0116] Specifically, among the cloud candidates 3 to 5, the cloud candidate having a smaller maximum communication delay time of the network between the cloud candidate and, for example, the edge device 10 (hereinafter referred to as the maximum communication delay time of the cloud candidate) than the other cloud candidates is selected as the deployment destination for the server application.
[0117] 10, the maximum communication delay for cloud candidate 3 is a time length equivalent to 9 scale marks, the maximum communication delay for cloud candidate 4 is a time length equivalent to 7 scale marks, and the maximum communication delay for cloud candidate 5 is a time length equivalent to 15 scale marks. In this case, deployment destination selector 55 selects cloud candidate 4 as the deployment destination for the server application.
[0118] Next, the second selection method will be described with reference to Fig. 11. In Fig. 11, similar to Fig. 10, it is assumed that communication system 1 includes five server devices (cloud candidates 1 to 5), and that cloud candidates 3 to 5 among cloud candidates 1 to 5 are determined to satisfy the above-mentioned user request.
[0119] The rectangular objects shown in association with each cloud candidate and the lengths of the rectangular objects are the same as those shown in FIG. 10, and therefore detailed description thereof will be omitted here.
[0120] In this case, one of the cloud candidates 3 to 5 is selected as the destination for the server application, but in the second selection method, the destination for the server application is selected based on the number of networks located between the edge device 10 and each of the cloud candidates 3 to 5.
[0121] Specifically, among the cloud candidates 3 to 5, the cloud candidate that has fewer networks between it and the edge device 10 (hereinafter referred to as the number of networks via which the cloud candidate passes) than the other cloud candidates is selected as the deployment destination for the server application.
[0122] 11, the number of networks via which cloud candidate 3 is accessed is 2, the number of networks via which cloud candidate 4 is accessed is 4, and the number of networks via which cloud candidate 5 is accessed is 1. In this case, deployment destination selection unit 55 selects cloud candidate 5 as the deployment destination of the server application.
[0123] Returning to FIG. 9 again, the process of step S17, which corresponds to the process of step S7 shown in FIG. 4, is executed.
[0124] Here, for example, if the first server device 20a shown in FIG. 7 is selected in step S16, networks 30a and 30b are arranged between the edge device 10 and the first server device 20a, and a maximum communication delay needs to be set for each of the networks 30a and 30b.
[0125] In this case, for example, it is conceivable to set the communication delay time (communication delay time of networks 30a and 30b) included in the network resource information obtained from the CNC (network management node) as the maximum communication delay for each of the networks 30a and 30b. However, if the set maximum communication delay is small, the time slots that can be scheduled by the CNC will be limited, reducing the degree of freedom in the scheduling.
[0126] For this reason, it is preferable that the maximum communication delay set for the networks 30a and 30b is a value greater than the communication delay time of the networks 30a and 30b included in the network resource information, for example.
[0127] Therefore, the communication delay determination unit 58 determines the maximum communication delay to be set for each of the networks 30a and 30b based on the above-mentioned viewpoints (step S18).
[0128] The process of step S18 will be specifically described below with reference to Fig. 12. In this embodiment, the maximum communication delay set for each of the networks 30a and 30b is determined based on the communication delay time of the network 30a, the communication delay time of the network 30b, and the required communication delay time.
[0129] As mentioned above, the requested delay time (the delay time requested by the user) is the end-to-end time that is the sum of the communication delay time and the application processing time, but the requested communication delay time refers to only the communication delay time (i.e., the end-to-end communication delay time) within the requested delay time. The requested communication delay time can be obtained from the requested delay time, for example.
[0130] Here, when networks 30a and 30b are arranged between the edge device 10 and the first server device 20a, the maximum communication delay set in the network 30a is defined as Maxlatency(1), and the maximum communication delay set in the network 30b is defined as Maxlatency(2), as shown in Fig. 12. Furthermore, the required communication delay time is defined as E2Elatency.
[0131] In this case, the above-mentioned Maxlatency (1) and (2) and E2Elatency are required to have at least the following relationship (1).
number
[0132] In other words, as long as the relationship of formula (1) is satisfied, the ratio of Maxlatency (1) and (2) can be freely changed.
[0133] Therefore, if the communication delay time of network 30a is defined as latencycapacity(1) and the communication delay time of network 30b is defined as latencycapacity(2), the above Maxlatency(1) and (2) can be determined by the following equations (2) and (3).
number
[0134] In this embodiment, the above-described formulas (2) and (3) can be used to determine the maximum communication delay to be set for the networks 30a and 30b to a value greater than the communication delay time of the networks 30a and 30b.
[0135] Note that, here, the maximum communication delay (i.e., Maxlatency(1) and (2)) set for networks 30a and 30b shown in FIG. 7 is described as being determined. However, if, for example, N networks (hereinafter referred to as the first to Nth networks) are arranged between the edge device 10 and the destination server device, the above formula (1) can be expressed as the following formula (4).
number
[0136] Furthermore, the above equations (2) and (3) can be expressed as the following equation (5).
number
[0137] In the above equations (4) and (5), Maxlatency(i) represents the maximum communication delay set in the i-th network (i=1, 2, . . . , N), and latencycapacity(i) represents the communication delay time of the i-th network.
[0138] Note that Maxlatency(i) may be determined by, for example, adding the difference between E2Elatency (required communication delay time) and the total communication delay time of the first to Nth networks equally to the communication delay time of the first to Nth networks. In this case, Maxlatency(i) can be expressed as in the following formula (6).
number
[0139] When the process of step S18 is executed, the second setting unit 57 sets the maximum communication delays (Maxlatency(1) and (2)) determined in step S18 for the networks 30a and 30b (step S19). Note that the process of step S19 is similar to the process of step S8 shown in FIG. 4, and therefore a detailed description thereof will be omitted here.
[0140] Note that, although the above description has been given for the case where the first server device 20a is selected in step S16, if the second server device 20b is selected in step S16, the maximum communication delay to be set for each of the networks 30a and 30c is determined, and the maximum communication delay is set for the networks 30a and 30c.
[0141] As described above, when networks 30a to 30c are arranged between the edge device 10 and the first and second server devices 20a and 20b, the orchestration device 50 of this embodiment selects a server device to which a server application is to be deployed based on the total time (first total time) of the application processing delay time (first processing delay time) of the first server device 20a and the communication delay time (first communication delay time) of the networks 30a and 30b, and the total time (second total time) of the application processing delay time (second processing delay time) of the second server device 20b and the communication delay time (second communication delay time) of the networks 30a and 30b.
[0142] In this embodiment, as described above, by selecting and configuring a server device taking into consideration the communication delay time (the communication delay time that the network can guarantee) of one or more networks (candidates) that pass through from the edge device 10 to the cloud candidate (server device), it is possible to adjust the balance of the utilization rate of resources allocated to the network in the communication system 1.
[0143] In this embodiment, the server device on which the server application is to be deployed can be selected based on the maximum value of the communication delay time of each of the multiple networks that are located between the edge device 10 and the server device. In this embodiment, this configuration can prevent the selection of a server device that increases the communication delay time of a specific network (i.e., the specific network is occupied for a long time), thereby avoiding unevenness in communication delays in the communication system 1 and enabling the communication system 1 to be operated with sufficient network capacity.
[0144] In this embodiment, the server device on which the server application is to be deployed may be selected based on the number of networks between the edge device 10. Generally, when the number of network connections is large, a large amount of network resources is used, and therefore, with this configuration, it is possible to reduce the amount of network resources used.
[0145] Furthermore, in this embodiment, for example, when the first server device 20a is selected as the deployment destination of a server application, a maximum communication delay greater than the communication delay times of the networks 30a and 30b can be set for the network 30a. This configuration increases the degree of freedom in scheduling time slots in the CNC, making it less likely that conflicts will occur with time slots that other communications wish to use, and increasing the amount of available resources.
[0146] (Third embodiment) Next, a third embodiment will be described. Note that in this embodiment, the description of the same parts as those in the second embodiment will be omitted, and the description will focus mainly on the parts that are different from the second embodiment.
[0147] In the second embodiment described above, multiple networks are arranged between an edge device and multiple server devices, and network resource information (communication delay time) for each of the multiple networks is obtained from a network management node such as a CNC. However, this embodiment differs from the second embodiment in that some of the multiple networks are not managed by the network management node.
[0148] In the following description, for convenience, a network managed by a network management node is referred to as a managed network, and a network not managed by a network management node is referred to as an unmanaged network.
[0149] Fig. 13 shows an example of the configuration of a communication system to which the orchestration device according to this embodiment is applied. In Fig. 13, the same parts as those in Fig. 7 are given the same reference numerals, and detailed description thereof will be omitted.
[0150] As shown in Fig. 13, a plurality of networks are arranged between the edge device 10 and a plurality of server devices in this embodiment. Note that Fig. 13 shows first to third server devices 20a to 20c as the plurality of server devices. Also, management networks 30a and 30b and a non-management network 30d as the plurality of networks.
[0151] The managed networks 30a and 30b are the same as the networks 30a and 30b described in the second embodiment. On the other hand, if the communication system 1 in this embodiment is a system configured with 5G, the unmanaged network 30d corresponds to a network to which a technology for controlling communication delays such as IEEE 802.1 TSN is not applied, or a network to which the technology is applied but which does not provide an interface for accepting requests from users.
[0152] 13, the edge device 10 is connected to a first server 20a via management networks 30a and 30b, and is also connected to second and third servers 20b and 20c via the management network 30a and a non-management network 30d.
[0153] In this embodiment, the second and third server devices 20b and 20c are communicatively connected via an unmanaged network 30d, and a measurement application, which will be described later, runs on the second and third server devices 20b and 20c.
[0154] Fig. 14 is a block diagram showing an example of the functional configuration of the orchestration device 50 according to this embodiment. In Fig. 14, the same parts as those in Fig. 8 described above are given the same reference numerals, and detailed description thereof will be omitted.
[0155] As shown in FIG. 14, the orchestration device 50 includes the units 51 to 58 described in the second embodiment, but in this embodiment, the second resource information acquisition unit 53 includes a communication delay estimation unit 531.
[0156] In this embodiment, the management networks 30a and 30b are managed by network management nodes, so the second resource information acquisition unit 53 can acquire network resource information of the management networks 30a and 30b from the network management nodes.
[0157] However, since the unmanaged network 30d is not managed by a network management node, the second resource information acquisition unit 53 cannot acquire network resource information (communication delay time) of the unmanaged network 30d from the network management node.
[0158] For this reason, the communication delay estimation unit 531 estimates the communication delay time of the unmanaged network 30d by using, for example, a measurement application running on the second and third server devices 20b and 20c described above, and the second resource information acquisition unit 53 thereby acquires network resource information including the estimated communication delay time of the unmanaged network 30d.
[0159] Next, an example of a processing procedure of the orchestration device 50 according to this embodiment will be described. Note that the orchestration device 50 according to this embodiment executes the same processing as the processing shown in Fig. 9 described above, but the processing of step S14 shown in Fig. 9 (i.e., the processing of acquiring network resource information) is different from that of the second embodiment described above.
[0160] Hereinafter, the processing procedure for acquiring network resource information in this embodiment will be described with reference to the flowchart of FIG.
[0161] In this embodiment, it is assumed that the management networks 30a and 30b and the non-management network 30d are arranged between the edge device 10 and the first to third server devices 20a to 20c as described above. However, since the process of acquiring network resource information of the management networks 30a and 30b is the same as that described in the second embodiment, the process of acquiring network resource information of the non-management network 30d will be described here.
[0162] First, the communication delay estimation unit 531 starts measurement applications (measurement applications located at both ends of the unmanaged network 30d) on the second and third server devices 20b and 20c connected via the unmanaged network 30d, and causes packets to be sent and received (round trip) between the measurement applications via the unmanaged network 30d (step S21).
[0163] In this case, for example, a process is executed in which one of the measurement applications running on the second and third server devices 20b and 20c (hereinafter referred to as measurement application X) sends a packet to the other (hereinafter referred to as measurement application Y), and measurement application Y receives the packet and sends a response to measurement application X. Measurement application X measures (records) the time from sending the packet to receiving the response (RTT: Round Trip Time).
[0164] It is assumed that the process of step S21 (i.e., measurement of RTT) is repeatedly executed. In this case, in order to identify packets transmitted and received in the repeatedly executed process of step S21, a sequence number or the like is assigned to the packets.
[0165] The communication delay estimation unit 531 acquires from the measurement application X a plurality of RTTs measured by repeatedly executing the process of step S21 (transmitting and receiving packets for a certain period of time) as described above (step S22).
[0166] Next, the communication delay estimation unit 531 estimates the communication delay time of the unmanaged network 30d based on the multiple RTTs acquired in step S22 (step S23). Note that in step S23, the maximum value of the multiple RTTs is estimated as the communication delay time of the unmanaged network 30d.
[0167] 13 shows an example in which only the unmanaged network 30d is arranged between the second server device 20b (measurement application) and the third server device 20c (measurement application), but there are cases in which a managed network other than the unmanaged network 30d is arranged between the measurement applications (server devices) depending on the configuration of the communication system 1. In other words, there is a possibility that the second and third server devices 20b and 20c are connected via multiple networks including the unmanaged network 30d and other managed networks.
[0168] Therefore, the communication delay estimation unit 531 determines whether or not a management network is placed between the measurement applications (step S24).
[0169] If it is determined that no managed network is placed between the measurement applications (NO in step S24), the second resource information acquisition unit 53 acquires network resource information including the communication delay time of the unmanaged network 30d estimated in the above-mentioned step S23, and the processing shown in Figure 15 ends.
[0170] On the other hand, if it is determined that a managed network is placed between the measurement applications (YES in step S24), the communication delay time estimated in the above-mentioned step S23 includes the communication delay time of the managed network in addition to the communication delay time of the non-managed network 30d.
[0171] Therefore, the communication delay estimation unit 531 estimates the communication delay time of the non-managed network 30d as the time obtained by subtracting the communication delay time of the managed network from the communication delay time estimated in step S23 (step S25). Note that the communication delay time of the managed network to be subtracted from the communication delay time estimated in step S23 can be acquired from the network resource information of the managed network acquired from the network management node, as described above.
[0172] When the processing of step S25 is executed, the second resource information acquisition unit 53 acquires network resource information including the communication delay time of the unmanaged network 30d estimated by executing the processing of step S25, and the processing shown in Figure 15 ends.
[0173] As described above, in this embodiment, by configuring the communication system 1 to acquire network resource information of the unmanaged network 30d (to estimate communication delay time) by sending and receiving packets (data) via the unmanaged network 30d, even if an unmanaged network 30d (unmanaged section) from which network resource information (second resource information) cannot be acquired from the network management node is arranged in the communication system 1, it is possible to achieve both delay guarantee and resource utilization in the communication system 1, taking into account the communication delay time of the unmanaged network 30d.
[0174] Although this embodiment has been described assuming that some of the multiple networks in the second embodiment are unmanaged networks, it may also be applied, for example, to a case where the network in the first embodiment is an unmanaged network, and the first embodiment may be configured to estimate the communication delay time of the unmanaged network (i.e., to obtain network resource information including the estimated communication delay time).
[0175] According to at least one of the above-described embodiments, it is possible to provide an orchestration device, method, and program that can achieve both delay guarantee and resource utilization in a communication system.
[0176] (System configuration example) Fig. 16 is a diagram showing a specific configuration example of the communication system 1 in each of the above-described embodiments. Fig. 16 shows an example in which an edge server 800 controls a belt conveyor 701 and robot arms 702a and 702b at a factory or plant via a 5G / local 5G system 600.
[0177] The 5G / local 5G system 600 includes a 5G core network 605, a central unit 604, a distributed unit 603, a remote unit 602, and user equipment 601. The 5G / local 5G system 600 performs 5G communication defined by the standards of 3GPP (registered trademark) (3rd Generation Partnership Project).
[0178] 16 mainly corresponds to the communication system 1 described in the second embodiment, and for example, the edge device 10 corresponds to the belt conveyor 701 and the robot arms 702a and 702b, and the first and second server devices 20a and 20b correspond to the edge server 800. In addition, the networks 30a to 30c are included in the 5G / local 5G system 600.
[0179] Furthermore, the communication system 1 described in the first and second embodiments corresponds to a configuration in which, for example, part of the system shown in FIG. 16 is omitted or modified.
[0180] Note that the communication system 1 in each embodiment is not limited to the system described in Fig. 16 and may be any system. For example, it may be applied to an industrial network system for a factory or plant that does not use 5G / local 5G, or an internal network system for an automobile or an aircraft.
[0181] Although several embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These embodiments can be implemented in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their modifications are included within the scope and spirit of the invention, as well as within the scope of the invention described in the claims and their equivalents. [Explanation of symbols]
[0182] 1...communication system, 10...edge device, 20a, 20b, 20c...server device, 30, 30a, 30b, 30c, 30d...network, 50...orchestration device, 51...request acquisition unit, 52...first resource information acquisition unit, 53...second resource information acquisition unit, 531...communication delay estimation unit, 54...resource information storage unit, 55...placement destination selection unit, 56...first setting unit, 57...second setting unit, 58...communication delay determination unit, 501...CPU, 502...non-volatile memory, 503...RAM, 504...communication device.
Claims
1. a first acquisition means for acquiring a requested delay time requested by a user for a communication system including an edge device and first and second server devices connected via a network; second acquiring means for acquiring first resource information relating to resources of each of the first and second server devices; a third acquiring means for acquiring second resource information relating to resources of the network; a selection means for selecting a server device on which an application program for implementing the communication system runs from the first and second server devices based on the requested delay time and the first and second resource information; a first setting means for performing setting for disposing the application program on the selected server device; a second setting means for setting a maximum communication delay for the network; An orchestration device comprising:
2. The selection means predicting a first processing delay time caused by the application program running on the first server device and a second processing delay time caused by the application program running on the second server device based on the first resource information; acquiring a communication delay time that can be guaranteed by the network from the second resource information; selecting a server device on which the application program runs based on a first total of the first processing delay time and the communication delay time and a second total of the second processing delay time and the communication delay time; The orchestration device according to claim 1 .
3. The selection means selecting the first server device if the first total time is less than or equal to the requested delay time; If the second total time is equal to or less than the requested delay time, selecting the second server device; selecting the first server device if both the first and second total times are equal to or less than the requested delay time and the first total time is longer than the second total time; If both the first and second total times are equal to or less than the requested delay time and the second total time is longer than the first total time, the second server device is selected. The orchestration device according to claim 2.
4. The selection means selecting the first server device if the first total time is less than or equal to the requested delay time; If the second total time is equal to or less than the requested delay time, selecting the second server device; selecting the first server device when both the first and second total times are equal to or less than the requested delay time and the first server device has a greater remaining resource amount than the second server device; If both the first and second total times are equal to or less than the requested delay time and the remaining resource amount of the second server device is greater than the remaining resource amount of the first server device, the second server device is selected. The orchestration device according to claim 2.
5. The second setting means When the first server device is selected, a maximum communication delay is set in the network within a range in which the total time including the first processing delay time does not exceed the requested delay time; When the second server device is selected, a maximum communication delay is set within a range in which the total time to the second processing delay time does not exceed the requested delay time. The orchestration device according to claim 3 or 4.
6. the network includes a first network disposed between the edge device and the first server device, and a second network disposed between the edge device and the second server device; the third acquiring means acquires second resource information relating to resources of each of the first and second networks; The selection means predicting a first processing delay time caused by the application program running on the first server device and a second processing delay time caused by the application program running on the second server device based on the first resource information; acquiring a first communication delay time that can be committed by the first network and a second communication delay time that can be committed by the second network from the second resource information; selecting a server device on which the application program runs based on a first total of the first processing delay time and the first communication delay time and a second total of the second processing delay time and the second communication delay time; The orchestration device according to claim 1 .
7. each of the first and second networks is composed of a plurality of networks; When each of the first and second total times is equal to or less than the required delay time, the selection means selects a server device on which the application program runs based on a maximum value of a communication delay time that can be committed by each of a plurality of networks that make up the first network and a maximum value of a communication delay time that can be committed by each of a plurality of networks that make up the second network. The orchestration device according to claim 6.
8. each of the first and second networks is composed of a plurality of networks; When each of the first and second total times is equal to or less than the required delay time, the selection means selects a server device on which the application program runs based on the number of networks constituting each of the first and second networks. The orchestration device according to claim 6.
9. The orchestration device according to claim 1 , wherein the third acquisition means acquires the second resource information from a network management node that manages the network.
10. The orchestration device according to claim 9 , wherein the selection means, when unable to acquire the second resource information from the network management node, acquires the second resource information by transmitting and receiving packets via the network.
11. acquiring a requested delay time requested by a user for a communication system including an edge device and first and second server devices connected via a network; acquiring first resource information relating to resources of each of the first and second server devices; obtaining second resource information relating to resources of the network; selecting a server device on which an application program for implementing the communication system runs from the first and second server devices based on the requested delay time and the first and second resource information; performing a setting for distributing the application program on the selected server device; setting a maximum communication delay for the network; A method comprising:
12. On the computer, acquiring a requested delay time requested by a user for a communication system including an edge device and first and second server devices connected via a network; acquiring first resource information relating to resources of each of the first and second server devices; obtaining second resource information relating to resources of the network; selecting a server device on which an application program for implementing the communication system runs from the first and second server devices based on the requested delay time and the first and second resource information; performing a setting for distributing the application program on the selected server device; setting a maximum communication delay for the network; A program to execute.
Citation Information
Patent Citations
Network system, network control method and control device
JP6648790B2