Communication device, communication method, and communication system
By dynamically distributing DNN computations based on network resources and quality, the system optimizes execution delays, addressing inefficiencies in existing communication systems and ensuring timely DNN processing.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- SONY GROUP CORP
- Filing Date
- 2021-12-10
- Publication Date
- 2026-07-29
AI Technical Summary
Existing communication systems face challenges in efficiently distributing deep neural network (DNN) computations between communication terminals, cloud servers, and communication nodes due to varying computing power, communication quality, and network topology changes, leading to increased calculation and communication delays that exceed acceptable limits.
An information processing device determines the optimal distribution of DNN computations among communication terminals, cloud servers, and communication nodes based on network resources, including computing capacity and communication quality, dynamically adjusting the distribution to maintain execution delays within acceptable limits.
This approach reduces overall execution delays by intelligently distributing DNN computations, balancing computational and communication loads, thereby ensuring smooth operation of DNN-based applications despite fluctuations in network conditions.
Smart Images

Figure 0007896495000001 
Figure 0007896495000002 
Figure 0007896495000003
Abstract
Description
Technical Field
[0001] The present disclosure relates to a communication device, a communication method, and a communication system.
Background Art
[0002] In recent years, research in fields such as artificial intelligence and machine learning has advanced rapidly, and applications related thereto are also expected to spread rapidly. Therefore, studies have been conducted to enable the comfortable operation of such applications in a communication environment.
[0003] The application mainly performs calculations based on a neural network (DNN: Deep Neural Network) having a plurality of layers whose internal parameters are optimized by machine learning. Such calculations have a greater load than other general applications. Therefore, when the application is executed on a general-purpose wireless communication terminal such as a smartphone, problems such as an increase in calculation time and power consumption occur. On the other hand, a method in which a cloud server performs the calculation can also be considered. However, in this method, since the wireless communication terminal transmits information necessary for the calculation to the cloud server and receives the calculation result from the cloud server, the communication volume increases. Furthermore, in the case of wireless communication, since the communication quality is unstable, delays are likely to occur. Therefore, in this method, there is a risk that the amount of delay acceptable to the application will be exceeded.
[0004] Therefore, instead of integrated learning (Federated Learning) that concentrates DNN calculations on a communication terminal, a cloud server, etc., distributed learning (Distributed Learning) that distributes DNN calculations to both a communication terminal and a cloud server is being studied. That is, it is being studied that the communication terminal is responsible for a part of the DNN calculation and the cloud server is responsible for the rest of the DNN calculation.
Prior Art Documents
Non-Patent Documents
[0005] [Non-Patent Document 1] 3GPP (3rd Generation Partnership Project), "TR (Technical Report) 22.874, V0.1.0, Study on traffic characteristics and performance requirements for AI / ML model transfer" (Chapter 5 Split AI / ML operation between AI / ML endpoints), URL: https: / / portal.3gpp.org / desktopmodules / Specifications / SpecificationDetails.aspx?specificationId=3721 [Overview of the project] [Problems that the invention aims to solve]
[0006] Furthermore, it is being considered that the communication network relaying communication between communication terminals and cloud servers could share in some of the DNN's computations. In other words, at least one of the multiple communication nodes that make up the communication network could be responsible for some of the DNN's computations. However, in this case, the question arises as to which communication node will be responsible for the computations, and depending on the choice of communication node, the situation may worsen.
[0007] Since communication nodes are closer to the communication terminals than cloud servers, it is expected that communication time will be shorter than if the communication nodes did not handle part of the DNN calculations. However, if a communication node connected to a communication link with poor communication quality is responsible for the calculations, the communication time may not be shorter than expected. Also, since the computing power of communication nodes is expected to be lower than that of cloud servers, the computation time by the communication nodes may increase, potentially resulting in a higher total time than if the communication nodes did not handle part of the DNN calculations.
[0008] Therefore, this disclosure provides an information processing device and the like for enabling applications that perform DNN-based computations using distributed learning to operate smoothly in a communication environment. [Means for solving the problem]
[0009] One of the information processing devices according to this disclosure receives information about resources of a communication network that relays communication between a communication terminal that transmits input to a deep neural network or that is responsible for at least a part of a series of calculations of the deep neural network and transmits the results of said calculations, and a server that may be responsible for at least a part of said series of calculations. Based on the information regarding the aforementioned resources, the entity responsible for performing the series of calculations is determined from among the communication terminal, the server, and the communication nodes within the communication network.
[0010] Furthermore, the information processing device may designate at least one of the communication nodes as the computing unit.
[0011] Furthermore, the information processing device may determine the calculation range to be handled by the calculation unit based on the information regarding the resources.
[0012] Furthermore, the information processing device may determine at least one of the communication nodes located on the communication route between the communication terminal and the server as the computing unit.
[0013] Furthermore, the resources may include the communication capacity or communication quality of the communication links within the communication network, and the information processing device may determine at least one of the communication nodes to be the computing unit based on the communication capacity or communication quality.
[0014] Furthermore, the information processing device may estimate the communication time for the results of calculations performed by the communication nodes to be transmitted via the communication link based on the communication capacity or the communication quality, and may determine at least one of the communication nodes to be responsible for the calculations based on the communication time.
[0015] Furthermore, the resources may include the computing capacity of the communication nodes, and the information processing device may determine at least one of the communication nodes to be the computing unit based on the computing capacity of the communication nodes.
[0016] Furthermore, the information processing device may estimate the computation time required for the communication node's calculations based on the communication node's computing capacity, and determine at least one of the communication nodes to be responsible for the calculations based on the computation time.
[0017] Furthermore, the resources include the communication capacity or communication quality of the communication links within the communication network and the computing capacity of the communication nodes. The information processing device may estimate the communication time for the results of the calculations performed by the communication nodes to be transmitted via the communication links based on the communication capacity or communication quality, estimate the computation time required for the calculations performed by the communication nodes based on the computing capacity of the communication nodes, and determine at least one of the communication nodes to be responsible for the calculations based on the condition that the sum of the communication time and the computation time does not exceed a predetermined threshold.
[0018] Furthermore, the information processing device may receive information regarding the location of the communication terminal and change the calculation unit in accordance with the change in the communication route due to the movement of the communication terminal.
[0019] Furthermore, the information processing device may receive information regarding the topology of the communication network and change the computing unit in accordance with the change in the communication route due to the change in the topology.
[0020] Alternatively, the information processing device may determine the scope of calculations to be handled by the calculation staff by selecting one of the proposed scopes of calculations, based on the resources, from among those scopes of calculations that the calculation staff are expected to handle.
[0021] Further, the resource includes the position of the communication terminal, and the information processing apparatus may recreate the assigned plan when a predetermined communication node no longer exists on the communication route changed due to the movement of the communication terminal.
[0022] Further, the information processing apparatus may change the calculation range assigned to the calculation assignee by increasing or decreasing the calculation range assigned to the calculation assignee based on the change of the resource.
[0023] Further, the information processing apparatus may transmit the calculation range to the communication node determined as the calculation assignee.
[0024] Further, the information processing apparatus determines a set value for improving the quality of the wireless communication link on the communication route, and transmits the set value for improving the quality of the wireless communication link on the communication route to the communication node existing on the communication route.
[0025] Further, another information processing apparatus according to the present disclosure receives a part of a series of calculations based on a deep neural network as a calculation range to be responsible for, performs the calculation of the calculation range, transmits the calculation result of the calculation range to a designated destination, obtains information regarding the calculation surplus, or the communication capacity or communication quality of the communication link to which the calculation result is transmitted, transmits the obtained information to the source of the calculation range, and receives a change of the calculation range from the source.
[0026] Further, when the calculation result satisfies the condition for the intermediate termination of the series of calculations, the another information processing apparatus may transmit the calculation result not to the designated destination but to the destination for receiving the final calculation result of the series of calculations.
[0027] Further, the information regarding the change of the calculation range may be information indicating one of a plurality of Splitting modes.
[0028] Another aspect of the information processing method of the present disclosure includes the steps of receiving information about resources of a communication network that relays communication between a communication terminal that transmits input to a deep neural network or is responsible for at least a portion of a series of calculations of the deep neural network and transmits the results of said calculations, and a server that may be responsible for at least a portion of said series of calculations, and determining, based on the information about the resources, a plurality of entities from among the communication terminal, the server, and the communication nodes in the communication network that will be responsible for said series of calculations.
[0029] Another aspect of the present disclosure is a communication system comprising a plurality of communication nodes belonging to a communication network that relays communication between a communication terminal that transmits input to a deep neural network or that is responsible for at least a portion of a series of calculations of the deep neural network and transmits the results of said calculations, and a server that may be responsible for at least a portion of said series of calculations, wherein the plurality of communication nodes transmit information about the resources of the communication network to a predetermined communication node among the plurality of communication nodes, the predetermined communication node receives the information about the resources and, based on the information about the resources, determines a plurality of entities from among the communication terminal, the server, and the communication nodes that will be responsible for said series of calculations.
[0030] Another information processing method of the present disclosure comprises the steps of: determining a first area of responsibility for a series of calculations of a deep neural network; performing calculations of the first area of responsibility; transmitting first information, including identification information and output values of nodes included in the last layer of the first area of responsibility, as a result of the calculations of the first area of responsibility; receiving the first information; identifying nodes to which the output values included in the first information should be input, based on the identification information included in the first information; and performing the remaining calculations of the deep neural network or calculations of a second area of responsibility by inputting the output values included in the first information to the identified nodes.
[0031] Furthermore, the other information processing method may further include the step of sending the results of the remaining calculations of the deep neural network or the calculations of the second assigned area back to the source of the calculation results of the first assigned area.
[0032] Furthermore, the other information processing method may further include a step of receiving conditions for determining the first scope of responsibility, and the first scope of responsibility may be determined based on the conditions.
[0033] The conditions of the aforementioned alternative information processing method may include those relating to the computational capacity of the entity used to calculate the first scope of responsibility.
[0034] The conditions of the aforementioned alternative information processing method may include those relating to the communication quality between the entity calculating the first scope of responsibility and a predetermined entity.
[0035] The communication quality of the other information processing method may be calculated based on at least one of the delay time, data rate, and channel occupancy.
[0036] In the aforementioned alternative information processing method, the entity that performs the remaining calculations of the deep neural network or the calculations of the second area of responsibility and the entity that transmits the conditions for determining the first area of responsibility may be different entities.
[0037] A third information processing device of the present disclosure executes an application utilizing a deep neural network, determines a first scope of a series of calculations of the deep neural network based on conditions for determining the first scope, performs calculations of the first scope, and transmits first information as a result of the calculations of the first scope, including identification information and output values of nodes included in the last layer of the first scope.
[0038] The third information processing device may transmit the first information to an entity that will next perform a series of calculations of the deep neural network, and may receive the results of the remaining calculations of the deep neural network or the calculations of the second area of responsibility as a reply to the first information.
[0039] The conditions used by the third information processing device include those relating to its own computing power, and the first scope of responsibility may be determined according to the computing power.
[0040] The conditions used by the third information processing device include those relating to the communication quality between itself and a predetermined entity, and the first scope of responsibility may be determined according to the communication quality.
[0041] The communication quality of the conditions used by the third information processing device may be calculated based on at least one of the delay time, data rate, and channel occupancy rate.
[0042] A further fourth information processing device of the present disclosure receives first information, which includes identification information and output values of nodes included in the last layer of a series of calculations of a deep neural network, as a result of the calculation of a first range of the deep neural network; identifies nodes to which the output values included in the first information should be input based on the identification information included in the first information; and inputs the output values included in the first information to the identified nodes, thereby performing the remaining calculations of the deep neural network or the calculations of a second range of the deep neural network.
[0043] The fourth information processing device may return the results of the remaining calculations of the deep neural network or the calculations of the second assigned area to the source of the calculation results of the first assigned area.
[0044] The second scope of responsibility of the fourth information processing device is determined based on conditions for determining the second scope of responsibility, and the conditions used by the fourth information processing device may include those relating to its own computing power.
[0045] The second scope of responsibility of the fourth information processing device is determined based on conditions for determining the second scope of responsibility, and the conditions used by the fourth information processing device may include those relating to the communication quality between itself and a predetermined entity.
[0046] The communication quality of the conditions used by the fourth information processing device may be calculated based on at least one of the delay time, data rate, and channel occupancy rate. [Brief explanation of the drawing]
[0047] [Figure 1] A diagram showing an example configuration of an information processing system according to the embodiment of this disclosure. [Figure 2] A diagram explaining DNN. [Figure 3] A diagram illustrating the variance of DNN computations. [Figure 4] A diagram illustrating the differences in delay and output data volume depending on the splitting point. [Figure 5] A diagram illustrating an example of an IAB network architecture. [Figure 6] A diagram illustrating the effect of variance in DNN computation. [Figure 7] A diagram of the network topology in the IAB network used in the simulation. [Figure 8] A diagram showing the fluctuations in communication capacity for simulation. [Figure 9] A diagram illustrating the impact of communication network resources on execution delay. [Figure 10] A schematic sequence diagram showing the overall processing flow of this embodiment. [Figure 11] A diagram illustrating Splitting mode. [Figure 12] This diagram explains the Splitting mode configured for each communication route. [Figure 13] A diagram showing examples of Splitting mode for each communication route. [Figure 14] A sequence diagram showing the transitions before and after the switching of the calculation team. [Figure 15] A diagram illustrating an example of the conditions for determining the scope of responsibility for a communication terminal. [Figure 16] This diagram shows an example of a calculation result transmitted from a communication terminal when the terminal determines its assigned area of responsibility. [Figure 17] A schematic sequence diagram illustrating the overall process when a communication terminal determines its own area of responsibility. [Figure 18] A diagram showing an example of a base station equipment configuration. [Figure 19] A diagram showing an example of a communication terminal configuration. [Figure 20] A diagram showing an example of a 5GS (5G System) network architecture configuration, including the core network. [Modes for carrying out the invention]
[0048] The embodiments of this disclosure will be described in detail below with reference to the drawings. Figure 1 is a diagram showing an example configuration of an information processing system according to an embodiment of this disclosure. The information processing system 1 according to this embodiment comprises a communication terminal 11, a cloud system (Cloud) 12, and a communication network 13. The reference numerals will be the same for individuals of the same type, as shown in Figure 1 as 11A and 11B, and each individual will be distinguished by an alphabet. In this description, the alphabet of the reference numeral will not be written when there is no particular need to distinguish between individuals.
[0049] Information processing system 1 is a system for running applications that utilize deep neural networks (DNNs) trained using machine learning (ML). Hereafter, these applications will be referred to as ML applications.
[0050] The communication terminal 11 is also an information processing device capable of launching ML applications, and includes smartphones and laptops. For example, it is assumed that an ML application is installed on a smartphone and launched by the smartphone user. A robot whose operation is controlled by an ML application also falls under the category of communication terminal 11. The cloud system 12 includes one or more information processing devices, called cloud servers, which are more powerful than the communication terminal 11, and provides services that can be used by the communication terminal 11. The communication network 13 consists of multiple communication nodes and relays communication between the communication terminal 11 and the cloud system 12. Note that communication nodes are also called communication base stations.
[0051] Figure 1 shows an example in which a wireless communication network is included in the communication network 13. In the example in Figure 1, an example using an IAB (Integrated Access and Backhaul) network used for wireless communication of the fifth-generation mobile communication system (5G) is shown, the communication terminal 11 is shown as a wireless communication terminal, and the communication network 13 consists of a wireless communication node 131 that can wirelessly connect to the communication terminal 11, a donor node 132 which is a higher-level node of one or more wireless communication nodes 131, and a core network 133 that performs wired communication between the donor node 132 and the cloud system 12. As shown in Figure 1, it is preferable that the communication network 13 includes a wireless communication network, which has less stable communication quality than wired communication, because the effects described later will be greater than in the conventional case. However, all communication of the information processing system 1 may be wired communication, and the wireless communication network that may be included in the communication network 13 is not limited to an IAB network.
[0052] Figure 2 is a diagram illustrating a DNN. The network enclosed by the dotted line frame 2 in Figure 2 corresponds to the DNN. A DNN consists of multiple nodes 21 and links 22 connecting the nodes 21 to each other. As shown in Figure 2, the multiple nodes 21 are divided into groups of nodes arranged in a vertical line, and these groups of nodes are called layers. In the example in Figure 2, the DNN has seven layers, but a DNN only needs to have three or more layers. DNN calculations are performed node by node 21. For example, in Figure 2, image information is input to each node 21 of the first layer called the input layer, and calculations are performed at each node 21 of the first layer. These calculation results are sent via link 22 to each node 21 of the second layer, where calculations are also performed at each node 21 of the second layer. In this way, calculations are performed from the input layer upwards, and the final calculation results are output from the nodes of the last layer called the output layer. Based on the output calculation results, the object in the input image is determined to be a cat.
[0053] While Figure 2 shows an example of image recognition, the applications of ML are not particularly limited. For example, in addition to image recognition, Augmented Reality (AR), autonomous driving, robotics, and speech recognition can also be realized using DNNs, and ML applications may relate to such uses.
[0054] Smartphones and similar devices, which qualify as communication terminals 11, generally have lower specifications compared to cloud servers. Therefore, if the processing of the ML application, especially the DNN calculations, is left entirely to the communication terminal 11 (in-device learning), the computation time to completion will be long. In other words, a significant computation delay will occur. However, the specifications of the ML application may require that the time required for the execution of the ML application be kept within a predetermined tolerance limit, and if the DNN calculations are left entirely to the communication terminal 11, there is a risk that the computation delay will exceed the tolerance limit.
[0055] On the other hand, when DNN calculations are performed on the cloud system 12 instead of the communication terminal 11 (Cloud learning), the time required for communication, in other words, communication delay, becomes a problem. For example, in rescue robots that search for disaster victims while taking photographs, power-intensive calculations are performed on a cloud server to reduce power consumption. However, the robot needs to send necessary data to the cloud server, and the resulting increase in communication delay may cause the sum of communication delay and calculation delay to exceed the acceptable limit for the ML application. In addition, this data transmission may strain the bandwidth and affect other communications.
[0056] Therefore, the information processing system 1 determines multiple computing units from among the communication terminal 11, the cloud system 12, and the communication network 13, and distributes the processing of a series of DNN-based calculations among these multiple computing units. This type of processing is also called distributed learning. Here, a computing unit refers to an entity that is responsible for at least a part of the DNN calculations.
[0057] Figure 3 illustrates the computational variance of DNNs. Figures 3(A) and (B) show examples of federated learning, which is not distributed learning, while Figure 3(C) shows an example of distributed learning.
[0058] In the example in Figure 3(A), only the communication terminal 11 is responsible for the calculations, and the communication terminal 11 performs the DNN calculations (in-device learning). As mentioned above, since data is not transmitted to the communication network 13, there is no communication delay, but the low computing power of the communication terminal 11 causes a calculation delay, which is a problem. On the other hand, in the example in Figure 3(B), only the cloud system 12 performs the DNN calculations (cloud learning), and the communication terminal 11 sends the information necessary for the calculations to the cloud system 12 and receives the calculation results from the cloud system 12. The advantage is that the computing power of the communication terminal 11 is not required to be that high, and the calculation delay in the cloud system 12 is small, but the communication delay between the communication terminal 11 and the cloud system 12 becomes a problem.
[0059] In contrast, in the example shown in Figure 3(C), the communication terminal 11, the cloud system 12, and the communication network 13 each handle a portion of the DNN calculation. In other words, the communication network 13 also provides computing power to the ML application running on the communication terminal 11. Because the highly computing-capable cloud server of the cloud system 12 handles a portion of the DNN calculation, the calculation delay is reduced compared to the case where only the communication terminal 11 performs the DNN calculation. Also, in the example shown in Figure 3(C), the data transmitted from the communication terminal 11 is received and processed by the communication network 13 before being sent to the cloud system 12. If the data transmitted from the communication network 13 to the cloud system 12 can be smaller than the data transmitted from the communication terminal 11, the communication time will be reduced, making it possible to reduce the communication delay compared to the case in Figure 3(B) where only the cloud system 12 performs the calculation. Therefore, the sum of the calculation delay, which is the time required for each communication component to perform the DNN calculation, and the communication delay, which is the time required for each communication component to transmit the information necessary for the DNN calculation, may be shorter than in the case of Figure 3(B).
[0060] Thus, in this embodiment, by distributing the processing of a series of DNN calculations, the time required to execute the ML application, more specifically, the time from when an input is received for the DNN to when an output is obtained from the DNN, is kept within a predetermined acceptable limit. Hereafter, the time required to execute the ML application will be referred to as execution delay.
[0061] Furthermore, if communication network 13 is determined to be responsible for computing, then one or more communication nodes within communication network 13 will also be determined to be responsible for computing. The aforementioned wireless communication node 131 and donor node 132 are considered communication nodes. Communication nodes also exist within core network 133, and communication nodes in core network 133 may also be selected as computing nodes.
[0062] For example, the DNN in Figure 2 has seven layers, with the first and second layers handled by the communication terminal 11, the third and fourth layers by the wireless communication node 131, and the fifth to seventh layers by the cloud system 12. In this case, the communication terminal 11 transmits the calculation result of the second layer to the wireless communication node 131, the wireless communication node 131 performs calculations for the third and fourth layers based on the calculation result of the second layer, and transmits the calculation result of the fourth layer to the cloud system 12, and the cloud system 12 performs calculations for the fifth to seventh layers based on the calculation result of the fourth layer. Alternatively, the cloud system 12 may return the calculation result of the seventh layer to the communication terminal 11, and the communication terminal 11 may determine that the input is an image of a cat based on the calculation result of the seventh layer.
[0063] While there are various types of DNNs, such as convolutional neural networks (CNNs), ML applications will use DNNs that allow computation to be divided among different layers, as described above.
[0064] In this embodiment, the DNN parameters may or may not be updated. That is, the DNN may have already completed training and its parameters may not be updated. Alternatively, the correct answer may be received from the user of the communication terminal 11 via the ML application, and training may be performed based on that correct answer. However, if training is performed and the DNN is updated, the updated new DNN will be distributed to the computation team to prevent a situation where different DNNs are used by different computation teams.
[0065] If a communication node is designated as the computing node, the infrastructure used for communication within the communication node may actually perform the calculations. Alternatively, a server for performing calculations may be set up within the communication node. Information processing devices that perform some of the cloud services from a location closer to the user than the cloud service itself (also called the edge), such as a communication node, are generally called edge servers.
[0066] Furthermore, DNN calculations are not necessarily distributed across the communication terminal 11, the cloud system 12, and the communication network 13. Depending on the application, it may be possible to complete the DNN calculations within the communication network 13 without using the cloud system 12. In this case, the total distance of the communication route is shortened, further reducing communication latency. It is also possible that the communication terminal 11 does not perform DNN calculations, and the DNN calculations are distributed across the cloud system 12 and the communication network 13. Alternatively, if a communication terminal 11 with significant computing power connected to the communication network 13 is discovered, separate from the communication terminal 11 running the ML application, it may be assigned to perform a portion of the DNN calculations after obtaining the consent of the discovered communication terminal 11. It is also possible to pre-determine that at least one of the communication nodes located between the communication route between the communication terminal 11 and the cloud system 12 be responsible for the calculations.
[0067] Furthermore, the cloud system 12 is not necessarily the last to perform calculations. In some cases, the cloud system 12 may perform calculations first, and the communication network 13 may take over the calculations from the cloud system 12.
[0068] When distributing the computation of a DNN, it is important to determine the scope of computation assigned to each component, or in other words, how to define the scope of responsibility. More precisely, it is important to determine where to split the DNN computation. The points where the DNN is split are also referred to as splitting points. In the example in Figure 2, the splitting points are set between the second and third layers, and between the fourth and fifth layers, splitting the DNN into three sections.
[0069] Figure 4 illustrates the differences in delay and output data volume depending on the splitting point. The dotted bar graph in Figure 4 shows the amount of data output when calculations are performed from the input layer to the layer corresponding to that bar graph. According to Figure 4, the amount of data output from each layer is not uniform, and it can be seen that it is preferable not to separate the DNN at layers that output a large amount of data, as this prevents large communication delays. In addition, the white bar graph in Figure 4 shows the calculation delay at the layer corresponding to that bar graph. For example, the white bar graph corresponding to the layer named "fc6" is high, indicating that calculations at the fc6 layer take a long time. Therefore, it can be seen that it is preferable to have the calculations at the fc6 layer handled by a device with high computing power.
[0070] Thus, calculation delays and communication delays vary depending on the scope of responsibility. Therefore, it is preferable to determine the scope of responsibility for each calculation team member when assigning them to calculation tasks.
[0071] However, even if the DNN computation is distributed to reduce the latency of the ML application, the latency may increase due to changes in the status of the information processing system 1. For example, the computational capacity of the computation-responsible component is not always constant, so the computation latency fluctuates. Also, if the communication network 13 includes a wireless communication network, the quality of the wireless communication link frequently fluctuates, making communication latency prone to fluctuations. Furthermore, if the communication terminal 11 is portable, the communication route may change due to the movement of the communication terminal 11. Changes in the network topology are also possible. Due to these changes in circumstances, the execution latency of the application, which was initially within acceptable limits, may exceed those limits.
[0072] For example, the aforementioned IAB network aims to integrate backhaul links and access links, and both the access links and backhaul links are wireless. Therefore, the status of the communication links is prone to change. Consequently, when the IAB network is included in the communication network 13 of this embodiment, communication delays are prone to fluctuations, and if the initial calculation assignments and scopes remain unchanged, the execution delay may worsen compared to when the DNN calculations are not distributed.
[0073] Therefore, this embodiment dynamically changes the distribution based on the status of the information processing system 1. More specifically, it changes the computing roles, scope of responsibility, and communication routes between computing roles based on the status of potential computing role candidates and the status of communication links between computing role candidates.
[0074] In an IAB network, communication nodes within the network perform relay communication. This ensures coverage even in millimeter-wave communication. Furthermore, by using not only conventional TDM (Time Division Multiplexing) but also FDM (Frequency Division Multiplexing) or SDM (Space Division Multiplexing) to orthogonalize backhaul links and access links at the physical layer level, it enables more efficient communication compared to relay communication at relatively high communication layers such as Layer 3. In addition, the IAB network is specifically designed for millimeter-wave communication, and the coverage problem in millimeter-wave communication can be improved by using relay communication like the IAB network, allowing for efficient expansion of coverage. The IAB network also envisions multi-hop communication, and future expansion to a mesh type is planned.
[0075] Furthermore, IAB networks are not limited to millimeter-wave communication. For example, they can be applied to vehicle tethering with IAB nodes installed in cars, moving cells installed in trains, and drone cells installed in drones. They are also expected to be applied to IoT (Internet of Things) communications. In particular, they can be applied to wearable tethering communications connecting smartphones and wearable devices. They can also be applied to fields such as healthcare and factory automation. The same applies when applying an IAB network to this embodiment.
[0076] Note that a known architecture may be used for the IAB network. Figure 5 shows an example of an IAB network architecture. As shown in Figure 5(A), the IAB-donor corresponding to the donor node 132 is assumed to be a communication node such as a gNB (Next Generation Node B). Below it, there is an IAB-node corresponding to the wireless communication node 131, which is a relay node, and these are connected wirelessly in a multi-hop configuration. Each IAB-node is connected to a UE (User Equipment) corresponding to the communication terminal 11 via an access link. Multiple IAB-nodes may be connected to each other to improve the redundancy of the backhaul link. An IAB-node includes both UE functionality (MT) and communication node functionality (DU). In other words, it operates as an MT when receiving downlink (DL) and transmitting uplink (UL) using the backhaul link, and as a DU when transmitting DL and receiving UL. From the UE's perspective, the IAB-node appears like a regular base station, so even if the UE is a legacy terminal, it can connect to the IAB network as shown in Figure 5(B). Note that this is not limited to MT and DU combinations; combinations of MTs with other MTs are also acceptable.
[0077] This section explains the effects of distributed and dynamically modified DNN computations. Figure 6 shows the effects of distributed DNN computations. The bar graph in (1) shows the execution delay when the DNN computation is performed on the communication terminal 11 alone. The bar graph in (2) shows the execution delay when the DNN computation is performed on the communication terminal 11 and the cloud server in the cloud system 12. The bar graph in (3) shows the execution delay when the DNN computation is performed on the communication terminal 11 and the MEC (Multi-access Edge computing) server, which is a type of edge server located on a communication node in the communication network 13. The bar graph in (4) shows the execution delay when the DNN computation is performed on the communication terminal 11, the MEC server, and the cloud server. The dotted areas of the bar graphs represent computation delays, and the white areas represent communication delays.
[0078] The communication terminal 11 uses a commercially available laptop computer, the MEC server uses a Ryzen® 3800X CPU (Central Processing Unit) with 32GB (Gigabyte) of memory, and the cloud server uses an Intel® Core i9-9900 CPU with 128GB of memory, with the cloud server having less computational latency than the MEC server. The communication capacity between the communication terminal 11 and the MEC server was set to 100Mbps (Megabits per second), and the communication capacity between the MEC server and the cloud server was set to 30Mbps. The DNN used was ResNet (Residual Network) 18, a type of convolutional neural network.
[0079] As shown in Figure 6, in case (1), although there is no communication delay, the execution delay is the largest at 212 ms (milliseconds). In case (2), the communication delay is large. In case (3), the communication delay is suppressed because the MEC server is close to the communication terminal 11, but the computational delay is large because the MEC server has lower computing power than the cloud server, and therefore the execution delay is larger than in case (2). On the other hand, in case (4), the computational delay is larger than when the cloud server performs all of the DNN calculations, and the communication delay is larger than when the MEC server performs all of the DNN calculations, but the computational delay is smaller than when the MEC server performs all of the DNN calculations, and the communication delay is smaller than when the cloud server performs all of the DNN calculations. And in case (4), the execution delay is the smallest at 53 ms.
[0080] Thus, it can be seen that execution delay can be reduced by utilizing communication nodes within the communication network 13 to distribute the computation of the DNN. Note that, as shown in Figure 4 above, computation delay and communication delay differ depending on the area of responsibility, so the simulation results in Figure 6 may also change depending on the area of responsibility. In other words, depending on the area of responsibility, the execution delay in case (4) above may be greater than in cases (1) to (3) above, but by appropriately defining the area of responsibility, it is possible to make the execution delay in case (4) above smaller than in cases (1) to (3) above.
[0081] Furthermore, the effects of dynamically changing the distribution of DNN computations are also shown. Figure 7 shows the network topology of the IAB network used in the simulation. The example network in Figure 7 consists of 10 nodes: the wireless communication nodes 131A to 131F of the IAB network, the donor node 132 of the IAB network, the communication nodes 1331A and 1331B of the core network 133, and the cloud server 121. The specifications of the wireless communication nodes 131A to 131F are the same as those of the MEC server used to demonstrate the effect of DNN computation distribution in the example in Figure 6, and the specifications of the donor node 132, the communication nodes 1331A and 1331B, and the cloud server 121 are the same as those of the cloud server used to demonstrate the effect of DNN computation distribution above. In addition, the access links and backhaul links of the IAB network are assumed to share a communication capacity of 4 Gbps (Gigabit per second). The communication link between donor node 132 and communication node 1331A is a 1 Gbps wired link, the communication link between communication nodes 1331A and 1331B is a 400 Mbps wired link, and the communication link between communication node 1331B and cloud server 121 is a 100 Mbps wired link.
[0082] Furthermore, the communication terminal 11 is assumed to be a commercially available laptop as described above, and to move as shown by the arrows in Figure 7. The communication terminal 11 first connects to the nearest wireless communication node 131F, but as it moves, the wireless communication node 131 to which it connects switches. Therefore, the communication route to the cloud server 121 also switches. Thus, each time the communication route switches, the calculation responsibility and scope are determined, and the DNN calculation is executed.
[0083] Furthermore, to simulate fluctuations in the wireless communication link, fluctuations in communication capacity for simulation were defined. Figure 8 shows the fluctuations in communication capacity for simulation. Figure 8(A) shows the fluctuations in communication capacity of the access link between the communication terminal 11 and the wireless communication node 131 in Figure 7. Figure 8(B) shows the fluctuations in communication capacity between the wireless communication nodes 131 in Figure 7. In the access link example, the communication capacity is varied from 200 Mbps to 800 Mbps over time. Using these link fluctuations, the effect of delay due to fluctuations in the wireless communication link was simulated.
[0084] Figure 9 shows the impact of communication network 13 resources on execution delay. Figure 9(A) shows the relationship between communication capacity between communication terminal 11 and IAB node and execution delay. The bar graph in Figure 9(A) represents execution delay, and the bar graph on the left, where the communication capacity of the wireless communication link is large, is smaller. In other words, as the communication capacity of the wireless communication link increases, execution delay improves. Conversely, if the quality of the wireless communication link deteriorates and the communication capacity decreases, execution delay will also increase simultaneously. Since the quality of the wireless communication link is prone to fluctuations, when distributing DNN calculations, it is necessary to change the settings for distribution considering the quality of the wireless communication link. Figure 9(B) shows the relationship between the computational capacity of the IAB node assigned to the calculation and execution delay. In Figure 9(B) as well, the bar graph on the left, where the computational capacity is large, is smaller, and the greater the computational capacity of the IAB node, the greater the expected reduction in delay. Also, as shown in Figure 9, the computational delay in each layer of the DNN is different, so it is necessary to determine the scope of responsibility according to the fluctuations in the computational capacity of the IAB node.
[0085] Thus, the resources of the communication network 13, such as the quality of the communication links and the computing capacity of the communication nodes, affect the execution delay. However, these can fluctuate over time due to changes in the network topology, application requirements, etc. Therefore, the distribution of DNN computations is dynamically changed to follow these fluctuations. In other words, it is preferable to dynamically change the computation responsibilities, scope of responsibility, communication routes, etc., taking into account the quality of the communication links and the computing capacity of each computation responsibilities.
[0086] This section describes a series of processes for distributing and dynamically modifying DNN computations. First, examples of KPIs (Key Performance Indicators), controlled objects, and information used when implementing DNN distribution are shown below.
[0087] As mentioned above, the KPI is the execution delay of the ML application. The execution delay of the ML application includes at least the calculation delay in each calculation unit and the communication delay between calculation units. Note that the delay caused by processing that takes place from receiving the calculation result from the previous calculation unit until starting the calculation within its own area of responsibility may not be considered, and the sum of each calculation delay and each communication delay may be considered as the execution delay.
[0088] The controlled elements are expected to include routing, DL or UL configuration at each communication node (DL / UL configuration), and DNN splitting points.
[0089] The information to be used is expected to include the processing capabilities of each candidate computing task, the status of each wireless communication link, the requirements of the ML application, the requirements of the communication network 13, and the mobility of the communication terminal 11. The candidates computing task are the communication terminal 11, the cloud system 12, and the communication nodes within the communication network 13. However, it may be decided in advance whether the communication terminal 11 and the cloud system 12 will be computing task tasks, in which case they may be excluded from the list of candidates computing task tasks.
[0090] The processing capabilities of each candidate for computing duty include computing capacity and current computing capacity. For example, initially, the candidate with the highest computing capacity among the candidates belonging to the communication network 13 may be appointed as the computing duty, and if the computing capacity of that candidate falls below a predetermined threshold, the duty may be changed to another candidate with sufficient computing capacity. In this way, the computing duty may be changed based on the computing capacity of the computing duty.
[0091] Communication link conditions include communication capacity and communication quality. In the case of an IAB network, this also includes the conditions of backhaul links and access links.
[0092] The requirements specification for an ML application should include an acceptable limit for the execution delay of the ML application, in other words, an upper limit for the execution delay that the ML application is allowed to tolerate. Furthermore, individual upper limits for communication delay and computation delay may also be specified.
[0093] The communication requirements include a traffic limit for each link. A traffic limit may also be set for the route between the communication terminal 11 and the cloud system 12. These limits may be determined based on the ML application requirements and the DNN splitting point. The movement status of the communication terminal 11 can be information related to movement, such as movement speed, direction of movement, and movement pattern.
[0094] Next, we will explain the entity responsible for determining the calculation responsibilities and their scope. The determination of calculation responsibilities and their scope can be made by any device belonging to Information Processing System 1, and is not particularly limited. In other words, the entity responsible for determining calculation responsibilities and their scope can be determined as appropriate. When devices belonging to Information Processing System 1, such as communication terminals 11, communication nodes, and cloud servers, are not distinguished, they will be referred to as entities, and the entity responsible for determining calculation responsibilities and their scope will be referred to as a logical entity.
[0095] For example, a logical entity may be created by implementing a server that makes such a decision within a communication node of the communication network 13 or within a cloud system 12, or a logical entity may be created by implementing a module that is responsible for determining the calculation responsibilities and their scope within the infrastructure for communication within the communication node.
[0096] However, in order to determine who is responsible for which calculations and what their scope of responsibility is, it is preferable to constantly be aware of the resource status of the information processing system 1, and it is preferable that the device located in a suitable location for such communication becomes the logical entity.
[0097] Furthermore, a single logical entity may determine both the calculation responsibility and the scope of responsibility, or it may be divided into a logical entity that determines the calculation responsibility and a logical entity that determines the scope of responsibility.
[0098] The resources of Information Processing System 1 include the computing capacity of candidate computing personnel belonging to Information Processing System 1, the communication capacity of communication links within the communication network 13, and the communication quality.
[0099] Fluctuations in the communication environment can include, for example, changes in the quality of communication links, the computing power of communication nodes, network topology, and communication routes.
[0100] The processing flow of this embodiment will now be described. Figure 10 is a schematic sequence diagram showing the overall processing flow of this embodiment. For the sake of explanation, in Figure 10, the communication node and the cloud server are shown as a set.
[0101] Furthermore, although not shown in the diagram, the entities of the information processing system 1 are assumed to consist of components responsible for each process. In this description, a logical entity comprises a receiving unit, a transmitting unit, and a determination unit. In addition, a candidate for a computing unit, such as a communication terminal 11, a communication node, and a cloud server, comprises a receiving unit, a transmitting unit, an acquisition unit (measurement unit), a setting unit, and a calculation unit. The main components of each process in Figure 10 are as described above.
[0102] The transmitting unit of the logical entity sends settings for acquiring and transmitting information such as resources of the information processing system 1 used for determining who is responsible for calculations to each entity such as the communication terminal 11, communication node, and cloud server (T101, Measurement configuration). The receiving unit of each entity receives the acquisition settings from the logical entity (T102), the acquisition unit of each entity acquires information about resources based on the settings (T103), and the transmitting unit of each entity transmits the information about resources acquired based on the settings to the logical entity (T104).
[0103] The logical entity's receiving unit receives resource information from each entity (T105), and the logical entity's determination unit determines the control content for each entity in order to keep the execution delay of the ML application within an acceptable limit (T106). As will be described later, whether or not an entity is assigned as a computing agent is determined as part of this control content. Furthermore, the logical entity's determination unit determines the parameter values, in other words, the setting values, to be set on the communication terminal 11 and the communication node in order to realize the determined control content (T107, Parameter configuration). The determined setting values are transmitted to the communication terminal 11 and the communication node by the logical entity's transmitting unit (T108).
[0104] The receiving unit of each entity receives the setting values from the logical entity (T109), and the setting unit of each entity sets the parameters necessary for each entity to operate to those setting values (T110). This creates an execution environment for the ML application that is suitable for the current resource situation.
[0105] Subsequently, the ML application is executed on the communication terminal 11 (T111). If the communication terminal 11 is designated as the calculation unit, the calculation unit of the communication terminal 11 performs the calculations within its assigned range. Then, the transmission unit of the communication terminal 11 sends the information necessary for the DNN calculation to the designated recipient (T112). If the communication terminal 11 is designated as the calculation unit, the calculation results up to a certain point in the DNN calculation series are included in the information; if the communication terminal 11 is not designated as the calculation unit, the input to the DNN is included in the information. The designated recipient is the following calculation unit.
[0106] The next calculation unit's receiving unit receives the information necessary for the DNN calculation (T113), the next calculation unit's calculation unit performs the calculation within its assigned scope (T114), and the next calculation unit's transmitting unit sends the calculation result to the next calculation unit (T115). This process from T113 to T115 is performed by each calculation unit. Entities not designated as calculation units do not perform the DNN calculation. The last calculation unit's transmitting unit returns the calculation result to the communication terminal 11. The communication terminal 11's receiving unit receives the final DNN calculation result (T116), and the ML application is processed based on the final calculation result (T117). In this way, the ML application processing is completed.
[0107] Furthermore, even after the ML application has finished processing, each entity will continue to acquire and send resources based on its acquisition settings. Each time a logical entity receives a resource, it may determine whether the execution delay exceeds the acceptable upper limit, and if it does, it may modify its control settings. In this way, preparations can be made for the case when the ML application is executed again. Additionally, resource acquisition and transmission may be stopped and then resumed when the startup of the ML application is detected.
[0108] Let's elaborate on each step of the above sequence. First, let's explain the information that is obtained.
[0109] The information requested to be retrieved from the logical entity may also be information related to computing power. Examples of computing power information include maximum computing capacity, computing reserve, computing load (amount of computation), and the expected computing delay based on the computing load. For example, the number of GPUs (Graphical Processor Units) each entity possesses may be considered the maximum computing capacity. Alternatively, the number of currently unused GPUs may be considered the computing reserve.
[0110] Furthermore, this information may also be information regarding the status of the connected communication link. For example, it may be information regarding the wireless communication link connection, such as Radio link failure, or it may be information regarding the communication quality of the wireless communication link, such as RSRP (Reference Signal Received Power), RSRQ (Reference Signal Received Quality), and RSSI (Reference Signal Strength Indication). Information regarding the throughput and latency of the communication link may also be used.
[0111] Furthermore, this information may also be related to the requirements specifications of the ML application. For example, it may include the upper limit of the delay that the ML application allows. Note that the requirements specifications of the ML application may differ for each communication terminal 11.
[0112] Furthermore, this information may also be related to the traffic of the communication network 13. For example, this could include the traffic limit and the traffic buffer status. Note that estimated values may be used instead of actual measured traffic values.
[0113] Furthermore, this information may also be related to the movement (mobility) of the communication terminal 11. The communication terminal 11 may move while the ML application is running. Since movement can affect communication quality, information such as movement speed and direction may be acquired.
[0114] Furthermore, this information may also be related to the computation of the DNN. For example, each entity may be instructed to estimate the computation delay for each layer of the DNN. Alternatively, multiple candidate areas of responsibility may be defined in advance, and the logical entity may be instructed to estimate the computation delay for each candidate area of responsibility. It may also be instructed to estimate the load caused by the DNN computation (e.g., GPU utilization). The computation delay may be calculated based on past computation history, or it may be calculated as the theoretical time when the data size shown in Figure 4 is calculated assuming the current computational capacity continues.
[0115] Furthermore, the entity may actually measure the instructed information and transmit the measured value to the logical entity. Alternatively, it may transmit a future estimate calculated based on the measured value to the logical entity. For example, if the scheduled execution time of the ML application is 10 seconds from now, the logical entity may transmit the expected position of the communication terminal 11 10 seconds later. In addition, the communication terminal 11 and the communication node may quantize the measured value, or determine which of the predetermined classification items the measured value falls into and transmit information of the classification item to the logical entity. Estimation can be performed based on past records.
[0116] Information about resources may be obtained using publicly known techniques. For example, information about the performance of an entity, such as computing power and computing reserve, may be obtained using tools or functions provided by the operating system (OS) installed on the entity. Furthermore, information about the quality of communication links, such as the quality of RSRQ, may be verified using publicly known techniques.
[0117] Furthermore, there may be communication nodes that act as representatives, collecting information to be sent to a logical entity and sending it to the logical entity on their behalf. In that case, for example, information such as the traffic on each link and the movement of the communication terminal 11 may be aggregated from information from multiple communication nodes before being sent to the logical entity.
[0118] Furthermore, the timing of information acquisition may also be specified. Periodic measurement may be instructed. For example, a logical entity may determine the start time, end time, and duration of acquisition and instruct each entity accordingly, and each entity may perform acquisition according to those instructions. The number of acquisitions and the repetition waiting period may also be instructed. Dynamic acquisition (trigger-based measurement) may also be performed. Trigger conditions for each entity to dynamically start acquisition may be defined as appropriate. For example, acquisition may start when a failure in the wireless communication link is detected. Alternatively, acquisition may start when the node's processing load, ML application delay, communication delay, etc., exceed predetermined thresholds. These thresholds may be adjusted by the logical entity. Alternatively, acquisition may start when an acquisition request is received. This request may be sent from a logical entity or from a higher-level node other than the logical entity.
[0119] For example, to measure the quality of a backhaul link, it may be specified that the RSRQ of the backhaul link be measured periodically, for example, at 100ms intervals, over a period of 10ms.
[0120] The transmission of this information to logical entities, in other words, reporting, can be done as needed, and there are no particular restrictions on the timing of transmission or the format of the data transmitted. For example, if instructed to periodically acquire information, such transmission may also be performed periodically. Alternatively, it may be performed when conditions are met, such as when the RSRQ value of the communication link falls below a predetermined threshold, or when the processing load of the node exceeds a predetermined threshold. Furthermore, it may be transmitted immediately after acquisition, or after an offset time has elapsed since acquisition. It may also be transmitted when the acquired value meets certain conditions. For example, a report may be generated when there is a change significant enough to require a change in calculation responsibilities or scope of responsibility, and not otherwise.
[0121] Furthermore, each entity does not have to send all the information it has acquired to the logical entity. For example, it may acquire information at a fine granularity and send only the information that meets predetermined conditions, such as information with large fluctuations or information that exceeds a threshold, to the logical entity. In other words, the logical entity may instruct separately which information to acquire and which information to report. Also, the acquired information may be processed as appropriate for reporting to the logical entity.
[0122] Furthermore, these settings may differ for each entity. For example, since the communication link connected to the cloud system 12 is assumed to be wired and stable, the cloud system 12 may not need to acquire information about the communication link.
[0123] Next, I will explain how the control settings are determined. These settings include communication links and wireless communication parameters. The calculation responsibilities and their respective areas of responsibility are also determined.
[0124] Control over communication links includes, for example, determining the communication route. For instance, if the communication network 13 includes a relay-type network such as an IAB network, the relay route is determined. However, even if an attempt is made to select a computing agent from the communication nodes on the communication route between the communication terminal 11 and the cloud system 12, selection is not possible if there are no communication nodes with available computing power on that route. Therefore, the logical entity may determine the communication route using not only the quality of the communication link but also the computing power and available computing power of the communication nodes. Similarly, changes to the IAB nodes traversed and changes to the number of hops may also be made.
[0125] One example of controlling communication parameters is improving the quality of communication links on a communication route. This can reduce communication delays. For example, a logical entity could send a setting value to a wireless communication node 131 on a communication route that increases the intensity (transmit power) of the radio waves it transmits. Alternatively, to prevent interference, the wireless communication node 131 could be instructed to reduce the communication capacity of wireless communication links that are not on the communication route. In this way, a setting value that improves the quality of the communication link can be determined.
[0126] Furthermore, as a control over wireless communication parameters, the correspondence between downlink (DL) and uplink (UL) in a wireless communication link may be changed. In a wireless communication link, it is possible to adjust the communication bandwidth of either DL or UL by increasing it and decreasing it. Therefore, the correspondence between DL and UL may be adjusted to reduce communication delay. Communication delay can be calculated from the size of the data being transmitted and the communication capacity of the communication link through which the data flows. Delay due to communication quality may also be taken into consideration.
[0127] However, adjusting the communication bandwidth can increase the likelihood of interference. For example, in an IAB network, cross-link interference (CLI) with IAB network links becomes more likely. Therefore, careful consideration is necessary when adjusting the communication bandwidth.
[0128] The computing responsibilities and their respective areas are determined considering the computing capacity of each wireless communication node 131, the amount of data output within each area, and the quality of the communication links on the communication route. At a minimum, wireless communication nodes 131 that would become latency bottlenecks are not assigned to computing responsibilities.
[0129] However, searching for the optimal solution for the calculation assignments and their respective scopes is computationally and time-consuming. This is because the number of potential calculation assignments increases exponentially depending on the communication route and the number of DNN layers. Therefore, it is easier to narrow down the potential calculation assignments in advance and search for a near-optimal solution. For example, multiple combinations of assignment scopes can be prepared in advance, and the combination used can be changed depending on the communication environment. Here, the pre-prepared combinations of assignment scopes will also be referred to as Splitting mode.
[0130] Figure 11 is a diagram illustrating Splitting modes. Four Splitting modes are shown in Figure 11. A table showing multiple Splitting modes, such as that in Figure 11, is also referred to as a Splitting mode table. In the example in Figure 11, the scope of each computing responsibility is determined by selecting the Splitting mode that minimizes the execution delay of the ML application from the four Splitting modes. In the example in Figure 11, the communication terminal 11, the communication nodes in the communication network 13, and the cloud system 12 are designated as computing responsibility, but Splitting modes with different computing responsibility may be available. Also, for example, a specific Splitting mode may be selected by default at the start of ML application execution, and then switched to a different Splitting mode later. For example, if it is determined that the load on computing responsibility other than the communication terminal 11 is high, the Splitting mode in the second row, which has a smaller scope of responsibility for computing responsibility other than the communication terminal 11, can be selected, and the communication terminal 11 can take over the load. Thus, when a particular computing task is overloaded, the situation can be easily improved by switching to Splitting mode, which reduces the scope of work for that task. The decision of whether or not to switch to Splitting mode may be made periodically or dynamically.
[0131] You may also define both a Splitting mode to be used under normal circumstances and a temporary Splitting mode to be used when it is determined that the normal Splitting mode cannot meet the requirements of the ML application. This allows you to quickly switch Splitting modes without having to go through the process of selecting an appropriate Splitting mode when it is determined that the requirements of the ML application cannot be met.
[0132] Thus, by preparing candidate areas of responsibility in advance, dynamic changes to the distribution can be facilitated. Furthermore, the contents of the Splitting mode, that is, the areas of responsibility for each calculation unit, may be updated by logical entities as needed. In addition, the updated Splitting mode is notified to each entity sequentially so that each calculation unit does not perform calculations based on the Splitting mode before the update.
[0133] Additionally, a Splitting mode may be set for each communication route. Figure 12 illustrates the Splitting modes set for each communication route. Figure 12 shows three communication routes: Route_A, Route_B, and Route_C. Multiple Splitting modes are set for each of these three communication routes, as shown in Figure 11.
[0134] For example, in communication route Route_A, the cloud system 12, the communication nodes of the core network 133, the donor node 132, the wireless communication node 131C, the wireless communication node 131A, and the communication terminal 11A, all located on communication route Route_A, become candidates for computation. A DNN layer is assigned to these computation candidates to create a Splitting mode table. Similarly, computation candidates are selected for communication routes Route_B and Route_C, and Splitting mode tables are created for them as well.
[0135] Figure 13 shows examples of Splitting modes for each communication route. Figure 13(A) shows the Splitting mode table for communication route Route_A, and Figure 13(B) shows the Splitting mode table for communication route Route_B. In the example in Figure 13, the number of DNN layers is assumed to be 40, and the number in each cell of the Splitting mode table indicates the number of layers that the corresponding computation candidate is responsible for. Note that if a cell contains "0", it means that the corresponding computation candidate is not responsible for any layers. In other words, it means that the candidate will not be responsible for any calculations.
[0136] In the above, it was assumed that the logical entity would determine its area of responsibility, i.e., the Splitting mode. However, it is also possible for the logical entity to create a Splitting mode table and send it to the computing unit, who then select the Splitting mode. For example, when the communication terminal 11 performs a handover and changes the destination wireless communication node 131, the communication terminal 11 can select a Splitting mode from the Splitting mode table of the changed communication route and notify each computing unit of the selected Splitting mode, thereby resetting the Splitting mode.
[0137] Furthermore, the scope of responsibility for computing units using wired links may be fixed. For example, since the cloud system 12 and the edge servers of the core network 133 do not use wireless communication, the status of the communication link is expected to change infrequently. By fixing the scope of responsibility for computing units located in areas with little fluctuation in the communication environment, it is possible to reduce the variations in Splitting mode. For example, the Splitting mode of communication route Route_A shown in Figure 13(A) includes seven candidate computing units, but by configuring the settings, it is possible to assign a suboptimal Splitting mode. By fixing the assignment values for the cloud system 12 and the core network 133, the number of Splitting mode variations can be reduced.
[0138] Furthermore, a logical entity may modify the Splitting mode table based on an anchor point. An anchor point is a communication node that is always present on the communication route set for the communication terminal 11 as long as the communication terminal 11 is within the assumed movement area. The communication route changes as the communication terminal 11 moves, but the anchor point is a communication node common to all communication routes that can be set within the assumed movement area of the communication terminal 11. For example, in the example in Figure 12, if the communication terminal 11 wirelessly connects to any of the wireless communication nodes 131A to 131D, then a donor node 132 is always present on the communication route to the cloud system 12. Therefore, in the example in Figure 12, the donor node 132 is the anchor point. For example, a logical entity may determine the Splitting mode from the Splitting mode table as long as the anchor point is not removed from the communication route, and may reset the Splitting mode table itself when it detects that the anchor point has been removed from the communication route. In this way, the Splitting mode table may be recreated when a predetermined communication node no longer exists on the communication route.
[0139] In the example above, the calculation unit sends the calculation results to the next calculation unit after completing the calculation of the DNN within their assigned scope. However, there are also cases where the calculation results are not sent to the next calculation unit but to the communication terminal 11. For example, the calculation unit may check whether the calculation results satisfy the conditions for early termination of the DNN calculation series, which have been notified in advance. If the conditions are not met, the calculation results are sent to the next calculation unit. If the conditions are met, the calculation results, i.e., the calculation results of an intermediate step in the DNN calculation series, may be sent to the communication terminal 11, indicating that the DNN calculation may be terminated. This method of breaking out of the DNN before processing all layers to completion is called early exiting.
[0140] As shown in Figure 2, the ML application performs its intended processing based on the DNN calculation results, in other words, the output from the output layer. The series of DNN calculations are performed to improve the accuracy of this intended processing, but it is possible that the intended processing can be performed with sufficient accuracy even if it is based on the results of the intermediate DNN calculations. Therefore, if a predetermined termination condition is met and it is determined that the confidence level of the intended processing is above a certain level even if the calculation results up to the intermediate layer are used, the DNN calculation may be stopped.
[0141] The termination conditions can be defined as appropriate and distributed to each computing unit, similar to the Splitting mode table. For example, the output result using the softmax function as an activation function, or the value of cross-entropy, may be used to determine whether to perform an early exit. In this case, for example, if the output value of the softmax function is above a predetermined threshold, the DNN processing at that layer may be terminated and an early exit may be performed.
[0142] Furthermore, calculations may be terminated even before the end of the assigned scope. For example, when the third and fourth layers are the assigned scope, it may be determined whether the calculation result of the third layer satisfies the termination condition. In this way, the termination condition may be determined for each layer of the DNN. Alternatively, a logical entity may specify the layer on which to perform the termination check. The layer on which the termination check is performed is also called the Early Exiting Point.
[0143] Furthermore, logical entities may change the scope of responsibility for each calculation unit on a layer-by-layer basis. For example, if the scope of responsibility for communication terminal 11 is determined to be layers 1 to 4, and then the load on communication terminal 11 increases slightly, the scope of responsibility for communication terminal 11 may be changed to layers 1 to 3, and layer 4, which is now outside its scope, may be assigned to the next calculation unit. In this case, the control becomes finer in granularity than at the Splitting mode level, which increases the load on the logical entities, but it reduces the risk of failing to meet the requirements of the ML application.
[0144] Next, the parameter settings will be described. The communication terminal 11 and communication nodes update the values of parameters related to communication links, areas of responsibility, etc., according to the information determined by the logical entity. Instructions for setting parameters may be given directly by the logical entity, or indirectly through a representative wireless communication node 131 that bundles multiple wireless communication nodes 131. The notification method is not particularly limited and may be signaling notification at the application layer or signaling notification at the physical layer. It may be a quasi-static notification such as RRC (Radio Resource Control) signaling, or a dynamic notification such as DCI (Downlink Control Information) or UCI (Uplink Control Information).
[0145] Furthermore, a sequence diagram illustrating the process when the calculation handler is switched is also provided. Figure 14 is a sequence diagram showing the process before and after the calculation handler is switched. For the sake of explanation, the blocks in Figure 14 are labeled with the same symbols as the processes shown in Figure 10.
[0146] The example in Figure 14 shows the case where a logical entity is implemented on the donor node 132. Initially, the communication terminal 11, wireless communication node 131A, wireless communication node 131C, and cloud system 12 were responsible for the calculations, but the quality of the backhaul link between wireless communication node 131A and wireless communication node 131C deteriorates, and a switch in the scope of responsibility is performed. Note that the processing up to the parameter setting (T110) shown in Figure 10 has already been completed, and the process from T111 onwards will be shown.
[0147] The ML application on the communication terminal 11 is executed (T111), and the communication terminal 11 sends the information necessary for the DNN calculation to the next calculation unit (T112). The next calculation unit, the wireless communication node 131A, receives the information (T113), performs the calculation within its assigned area (T114), and sends the calculation result to the next calculation unit, the wireless communication node 131C (T115). Similarly, the wireless communication node 131C also performs the processes from T113 to T115, and the calculation result of the wireless communication node 131C is sent to the next calculation unit, the cloud system 12. Similarly, the cloud system 12, the next calculation unit, also performs the processes from T113 to T115, and since the cloud system 12 is the final calculation unit, the final DNN calculation result is sent from the cloud system 12 to the communication terminal 11.
[0148] Subsequently, each entity performs periodic resource acquisition (T103), and the wireless communication node 131A, which detected the problem, reports to the logical entity donor node 132 (T104). In the example in Figure 14, the core network 133 and the cloud system 12 are configured not to report to logical entities, and therefore the T104 block is not shown for the core network 133 and the cloud system 12. In addition, other entities are configured not to report to logical entities if they do not detect deterioration. Therefore, entities other than the wireless communication node 131A, which detected the problem, do not report, and the T104 block is not shown.
[0149] For example, each entity performs measurements on the backhaul link. Then, wireless communication node 131A detects that the RSRQ value of the backhaul link with wireless communication node 131C has fallen below a predetermined value and transmits this information to the logical entity.
[0150] The logical entity, donor node 132, receives a report from wireless communication node 131A and, based on the reporting results, determines that simply increasing the bandwidth of the problematic backhaul link is insufficient. It then decides on new settings, such as changing the computing responsibility, and sends these settings to each entity (T105 to T108). In the example in Figure 14, the logical entity only sends settings to entities that require new settings, so no arrows indicating transmission are shown for the core network 133 and the cloud system 12. Settings may also be sent to entities that do not require new settings.
[0151] Furthermore, a logical entity may request additional reports from each entity. For example, if it receives a report from wireless communication node 131A that there is a problem with the backhaul link, it may request that the surrounding communication nodes send reports such as traffic buffers in order to consider whether the issue can be addressed by increasing the bandwidth of the backhaul link.
[0152] Each entity that receives a new setting from a logical entity receives the new setting and sets it as a parameter (T109, T110). In the example in Figure 14, assume that the backhaul link from wireless communication node 131A to wireless communication node 131C is removed, and a new backhaul link is established from wireless communication node 131A to wireless communication node 131D. Consequently, the communication route is changed, wireless communication node 131C, which is not on the communication route, is removed from the calculation role, and wireless communication node 131D is added to the calculation role.
[0153] Subsequently, the ML application is executed again (T111), and the communication terminal 11 sends the information necessary for the DNN calculation to the next calculation-responsible wireless communication node 131A (T112). As before, wireless communication node 131A receives the information (T113) and performs the calculation within its assigned area (T114), but sends the calculation result to wireless communication node 131D, which has become the next calculation-responsible node, instead of wireless communication node 131C (T115). As a result, unlike last time, the processing from T113 to T115 is not executed at wireless communication node 131C. Similarly, wireless communication node 131D also performs the processing from T113 to T115, and the calculation result of wireless communication node 131D is sent to the cloud system 12, which is the next calculation-responsible node. Similarly, the cloud system 12, which is the next calculation-responsible node, also performs the processing from T113 to T115, and since the cloud system 12 is the final calculation-responsible node, the final calculation result of the DNN is sent from the cloud system 12 to the communication terminal 11.
[0154] In this way, by changing the calculation responsibility, it is possible to mitigate calculation delays caused by problematic entities and communication delays caused by problematic communication links, thereby preventing the execution delay of the ML application from exceeding the acceptable upper limit.
[0155] In the example shown in Figure 14, it was determined that simply increasing the bandwidth of the backhaul link was insufficient, so the communication route and the computing responsibility were changed. However, if it is determined that the issue can be addressed by simply changing the scope of responsibility, then only the computing responsibility may be changed. For example, a Splitting mode may be selected from the Splitting mode table shown in Figure 11 that reduces the scope of responsibility of wireless communication node 131C. Alternatively, for example, previously, the scope of responsibility for wireless communication node 131A was from DNN layers 20 to 25, and the scope of responsibility for wireless communication node 131C was from DNN layers 26 to 40. In this way, the scope of responsibility for wireless communication node 131A may be increased to DNN layers 20 to 29, and the scope of responsibility for wireless communication node 131D may be set to DNN layers 30 to 40.
[0156] Furthermore, changes to the scope of responsibility may also occur when the person in charge of calculations changes, as in the example shown in Figure 14.
[0157] In this explanation, the information processing system 1 is assumed to include the communication terminal 11, the communication network 13, and the cloud system 12. However, in reality, these are assumed to have different owners. Furthermore, the network for accessing the communication terminal 11, such as the IAB network, and the core network 133 are also assumed to have different owners. Therefore, the scope within which a logical entity can direct and configure may be limited to a part of the information processing system 1. For example, if a logical entity is a communication node in the IAB network, the logical entity may not be able to change the calculation range of the cloud system 12, and may only be able to configure settings for communication nodes in the IAB network.
[0158] As described above, in this embodiment, if the time required to execute the ML application exceeds the upper limit due to fluctuations in the resources of the information processing system 1, settings such as the calculation 담당 (responsible person), the scope of responsibility, the communication capacity of the communication link, and the communication route are changed. This makes it possible to suppress the impact of such fluctuations and operate the ML application smoothly.
[0159] Furthermore, if all DNN calculations are outsourced to an external device such as a cloud server, the input to the DNN will be transmitted from the communication terminal 11 to the external device. For example, if the input layer includes m nodes, input data consisting of values such as input 1, input 2, ..., input m will be transmitted outside the communication terminal 11. However, this has been pointed out as problematic from the standpoint of privacy and information leakage. Therefore, if the communication terminal 11 is responsible for at least the initial and partial calculations of the DNN's computational process, and thus does not transmit the input data itself to the external device, these problems can be mitigated.
[0160] Furthermore, in the explanations so far, the entity that determines the calculation responsibilities and scopes has been described as a logical entity, and it has been assumed that communication nodes and cloud servers of the communication network 13 are responsible for these logical entities. For example, it has been shown that a device suitable for understanding the status of resources can be a logical entity so that the calculation responsibilities and scopes can be determined according to the resource status of the information processing system 1. It has also been shown that a device that issues instructions to wireless communication nodes 131 on the communication route to improve the quality of the communication link can be a logical entity. In addition, the communication terminal 11 can also be a logical entity. In other words, the communication terminal 11 may determine the calculation responsibilities and scopes.
[0161] Furthermore, as shown in Figure 10 and other diagrams, in the explanations so far, each entity, such as the communication terminal 11, periodically sends resources to the logical entity, and the logical entity determines the calculation responsibilities and scopes based on the resources of each entity and notifies each calculation responsibilities. Therefore, the calculation responsibilities and scopes were already determined when the communication terminal 11 started the ML application or when the ML application performed DNN calculations. However, by notifying the communication terminal 11 in advance of the conditions for determining the scope of responsibility from the logical entity, etc., it is also possible for the communication terminal 11 to determine its own scope of responsibility.
[0162] For example, when executing an ML application, the communication terminal 11 may check its own computing capacity, the latency with the cloud system 12, and decide which layers of the DNN to compute based on these factors. Alternatively, after the logical entity has determined each computing responsibility, it may notify the communication terminal 11 of the minimum scope of computing it is required to perform, and the communication terminal 11 may expand that scope of computing based on these factors. Alternatively, after the logical entity has determined each computing responsibility, it may notify the communication terminal 11 of the scope of computing it is allowed to perform (in other words, the upper limit of its scope of computing), and the communication terminal 11 may reduce the scope of computing based on these factors.
[0163] If the communication terminal 11 holds conditions for determining its scope of responsibility and dynamically determines its scope of responsibility, it can determine its scope of responsibility based on the resources available at the time the communication terminal 11 starts the ML application or when the ML application performs DNN calculations. Therefore, the scope of responsibility of the communication terminal 11 can be made to correspond to the state of the communication terminal 11. In this case, the number of periodic resource transmissions from the communication terminal 11 to the logical entity and notifications of scope of responsibility changes from the logical entity to the communication terminal 11 can be reduced, thereby reducing the processing load and communication resource usage of each entity.
[0164] Figure 15 shows an example of the conditions for determining the scope of responsibility of the communication terminal 11. In the example in Figure 15(A), the conditions for determining the computational scope of the DNN based on the computational capacity of the communication terminal 11 are shown. For example, in the example in Figure 15(A), the scope of responsibility is shown as n when the computational capacity is 90% or more, which indicates that the communication terminal 11 is responsible for the computations from the first layer to the nth layer of the DNN. In the example in Figure 15, it is assumed that n is an integer of 10 or more. The nth layer may be the final layer of the DNN, or it may be the final layer of the scope of responsibility notified by the logical entity. It is also shown that the scope of responsibility decreases as the computational capacity decreases. In the example in Figure 15(A), when the computational capacity is less than 90% but 80% or more, the scope of responsibility is shown as up to the 4n / 5th layer, which is lower than when the computational capacity is 90% or more. Similarly, if the computing power is less than 80% but 60% or more, the scope of responsibility is indicated as up to the 3n / 5th layer; if the computing power is less than 60% but 40% or more, the scope of responsibility is indicated as up to the 2n / 5th layer; and if the computing power is less than 40% but 20% or more, the scope of responsibility is indicated as up to the n / 5th layer. The scope of responsibility for the communication terminal 11 may be determined in this way. In addition, if the computing power is otherwise, i.e., less than 20%, the scope of responsibility is set to up to the 1st layer, which means that the communication terminal 11 will not perform DNN calculations. In other words, even if the communication terminal 11 is designated as the calculation unit, the communication terminal 11 may refuse to perform the calculations. By reducing the scope of responsibility when the computing power of the communication terminal 11 is small in this way, it is possible to prevent situations where the calculations within the scope of responsibility take a long time due to the low computing power of the communication terminal 11. Here, instead of using a relative quantity (%) as the computational power, you may use an absolute quantity such as FLOPS (the product of clock frequency and operations per clock cycle), or you may use any other value that can indicate computational power.
[0165] In the example in Figure 15(B), the scope of responsibility is defined similarly to Figure 15(A), but this condition is based on delay time. The delay time with which the communication destination is based can be predetermined and is not particularly limited. It could be the next calculation unit, a logical entity, or a wireless communication node to which the communication terminal 11 wirelessly connects. Alternatively, since the main cause of delay time is the wireless processing performed by each entity, the time spent on wireless processing can be considered the delay time without considering propagation delays in both wireless (radio wave) and wired connections. In the example in Figure 15(B), it is shown that if the delay time is 500ms or more, the communication terminal 11 is responsible for the calculations from the first to the nth layer of the DNN. Furthermore, it is indicated that if the delay time is less than 500ms but 250ms or more, the scope of responsibility extends to the 4th / 5th layer; if the delay time is less than 250ms but 100ms or more, the scope of responsibility extends to the 3rd / 5th layer; if the delay time is less than 100ms but 50ms or more, the scope of responsibility extends to the 3rd / 5th layer; if the delay time is less than 50ms but 10ms or more, the scope of responsibility extends to the 2nd / 5th layer; and if the delay time is otherwise, i.e., less than 10ms, it is indicated that the communication terminal 11 does not perform DNN calculations.
[0166] In the example shown in Figure 15(B), the scope of responsibility of the communication terminal 11 increases uniformly as the delay time increases, but it is not necessary to uniformly increase the scope of responsibility. As shown in Figure 4, the data size of the calculation results does not decrease uniformly as the DNN calculation progresses. Therefore, by referring to data like that in Figure 4, the data size of the calculation results at each layer should be considered, and the combination of delay time and scope of responsibility should be determined.
[0167] Furthermore, these conditions can be set as appropriate according to the specifications of the embodiment and are not particularly limited. For example, the conditions can be changed for each type of ML application. Alternatively, multiple conditions can be set and the condition can be changed when all of them are met, or the condition can be changed to match the condition with the highest predetermined priority among the met conditions.
[0168] Furthermore, a degree of confidentiality may be predetermined for each type of ML application, and if the confidentiality level of the executed ML application exceeds a predetermined threshold, the scope of responsibility of the communication terminal 11 may be extended from the first layer to the second layer or higher. By doing so, the communication terminal 11 will not transmit DNN input data to the outside. This reduces the risk of highly confidential information being leaked to parties other than the communication terminal 11.
[0169] However, once communication terminal 11 determines its own scope of responsibility, the next computing unit does not know which layer of the DNN it should start computing from. Therefore, for example, if each computing unit was notified of its scope of responsibility from a logical entity, but communication terminal 11 changes the scope of responsibility notified by the logical entity, the next computing unit may not know that communication terminal 11 has changed its scope of responsibility and may input the calculation results from communication terminal 11 into each node of the first layer of its planned scope of responsibility. For this reason, when communication terminal 11 determines or changes its own scope of responsibility, it needs to notify not only the calculation results but also information to identify the node from which the next computing unit should start computing. This information may, for example, indicate the last layer of communication terminal 11's scope of responsibility, the first layer of the next computing unit's scope of responsibility, the node from which the calculation results were output, or the node from which the calculation results should be input. Communication terminal 11 may send this information directly to the next computing unit, or it may send it to the next computing unit via a logical entity.
[0170] Figure 16 shows an example of a calculation result transmitted from the communication terminal 11 when the communication terminal 11 determines its area of responsibility. In the example in Figure 16, the output value of each node, which is the calculation result, and identification information to identify the node that output that value are included. In the example in Figure 16, the node identification information (identifier) is written as "node 3_4", where the number at the end indicates the layer number to which the node belongs, and the number after "node" indicates the node number in that layer. That is, "node 3_4" indicates the third node included in the fourth layer. Also, "out 3", written on the same line as "node 3_4", indicates the output value from the third node included in the fourth layer. It is possible to recognize which node each node's output is input to from the structure of the DNN, etc. When the next calculation unit receives information like that in Figure 16, it should recognize the node to which the received output value should be input from the structure of the DNN, etc., and start the calculation.
[0171] In the explanation so far, it was assumed that the computing unit would perform the calculations set for each node within its assigned range and send the output value of the node belonging to the last layer within its range to the next computing unit. However, generally, multiple calculations are set for each node in a DNN. Therefore, the computing unit may perform only a portion of the multiple calculations set for a node, and the rest will be performed by the next computing unit. As an example of a calculation within a node, first, each input data entered into the node is multiplied by the weight coefficient set for the link through which each input data has passed, and then added. Furthermore, the bias value set for each node is added to this added value. Then, the added value is input to a predetermined activation function, and the output from this activation function becomes the output value of the node. Therefore, for example, it may be decided in advance that the computing unit will perform up to the calculation of the added value, and the next computing unit will start from the calculation of the activation function, and the calculations may be divided in that manner. The links connected to the nodes are also called edges.
[0172] Figure 17 is a schematic sequence diagram showing the overall processing flow when the communication terminal 11 determines its own scope of responsibility. In this example sequence diagram, it is assumed that the cloud system 12 manages the structure of the DNN used by the ML application and the conditions for determining the scope of responsibility for a series of DNN calculations. In this example sequence diagram, the DNN calculations are handled by the communication terminal 11 and the cloud system 12, but it is also possible that the communication terminal 11 and the communication node are responsible for the calculations. Here, the functions of the core network 133 can be implemented within the cloud system 12. In other words, the core network 133 can also manage the above conditions.
[0173] The cloud system 12 transmits information such as the DNN used by the ML application, the settings of the DNN, and the conditions for determining the scope of responsibility (T201). This information is transferred via the communication nodes of the communication network 13, and the communication terminal 11 receives this information (T202). Based on this information, it configures the ML application, including the DNN to be used (T203).
[0174] Furthermore, the communication node can detect that the communication terminal 11 has launched an ML application based on the 5QI (5G QoS Identifier) and S-NSSAI (Single-Network Slice Selection Assistance Information) contained in the connection request of the communication terminal 11, such as a Service Request or a PDU (Protocol Data Unit) Session Establishment Request. Therefore, the communication node may detect the launch of the ML application on the communication terminal 11, notify the cloud system 12 of the detection, and the cloud system 12 may extract a DNN to be used for the detected ML application.
[0175] Subsequently, the communication terminal 11 decides to execute the ML application (T204). At this time, the communication terminal 11 checks its own processing capacity (T205) and determines the scope of the DNN calculations it is responsible for based on the conditions for determining the scope of the DNN calculations and its processing capacity (T206). For example, if the conditions for determining the scope of the DNN are as shown in Figure 15(A), and the DNN consists of 10 layers (when n is 10), and the computing capacity is 50%, then the communication terminal 11 decides to divide the DNN into layers starting with the 4th layer. Then, the communication terminal 11 executes the ML application and calculates the scope of the communication terminal 11 (T207). In the previous example, calculations would be performed on layers 1 through 4 of the DNN.
[0176] Furthermore, the scope of responsibility may be expanded again after the initial calculation. For example, after the calculation of the scope of responsibility is complete, it may be checked whether certain conditions are met, and based on the results of this check, a decision may be made as to whether to continue calculations in the next layer. Here, whether certain conditions are met may be determined based on computing power, latency, level of confidentiality, etc. In this way, the scope of responsibility may be determined multiple times.
[0177] After calculating its assigned area, the communication terminal 11 transmits information showing its assigned area and calculation results, as shown in Figure 16, to the cloud system 12 via the communication node (T208). The cloud system 12 receives this information via the communication node (T209).
[0178] Based on the identification information of each node it receives, the cloud system 12 identifies the nodes that input the received output values, i.e., each node in the layer following the last layer of the communication terminal 11's area of responsibility, and calculates the cloud system 12's area of responsibility (T210). After the calculation is complete, the cloud system 12 returns the calculation result of its area of responsibility to the communication terminal 11 (T211). The cloud system 12's area of responsibility is assumed to cover all remaining calculations of the DNN, but it does not have to cover all remaining calculations of the DNN. For example, the communication terminal 11 may receive the calculation result from the cloud system 12 and then perform the remaining calculations of the DNN.
[0179] The communication terminal 11 receives the calculation results from the cloud system 12 via the communication node (T212). Then, the ML application is processed based on the final calculation results (T213). In this way, the processing of the ML application is completed. Note that entities other than the communication terminal 11, such as the cloud system 12, may also calculate the processing results of the ML application.
[0180] As described above, when distributed learning of DNNs is performed among entities, the communication terminal holds the conditions for determining the DNN's area of responsibility, and by determining its own area of responsibility, distribution can be performed more appropriately according to the status of the communication terminal. In addition, depending on the level of confidentiality of the ML application, allowing the communication terminal to perform DNN calculations up to at least the second layer can prevent situations such as the leakage of input data.
[0181] Common algorithms used in deep learning include convolutional neural networks (CNNs), recurrent neural networks (RNNs), and long short-term memory (LSTMs). In a CNN, the hidden layers consist of layers called convolutional layers and pooling layers. The convolutional layer performs filtering using convolution operations to extract data called feature maps. The pooling layer compresses the information from the feature maps output from the convolutional layer and performs downsampling. RNNs have a network structure in which the values of the hidden layer are recursively input into the hidden layer, and can process, for example, short-term time series data. In LSTMs, by introducing parameters called memory cells that maintain the state of the hidden layer to the output of the RNN's hidden layer, the influence of past outputs can be preserved. In other words, LSTMs can process time series data over longer periods than RNNs. Four representative technological areas where deep learning is utilized are image recognition, speech recognition, natural language processing, and anomaly detection by robots. Image recognition is used for applications such as tagging people on social networking services (SNS) and autonomous driving. Speech recognition is applied to smart speakers and other devices. Natural language processing is applied to browser-based searches and automatic translation. Anomaly detection by robots is used in airports, railways, manufacturing plants, and other locations.
[0182] This section provides additional information regarding the communication nodes of communication network 13. As mentioned above, a communication node is also called a communication base station (or simply a base station), and it includes infrastructure for communication, which is also called base station equipment. Base station equipment is a type of communication equipment, and can also be called an information processing device. For example, base station equipment may be equipment that enables communication nodes to function as a wireless base station (Base Station, Node B, eNB, gNB, etc.), a wireless access point (Access Point), etc. Furthermore, base station equipment may be equipment that enables communication nodes to function as a donor station or relay station. Also, base station equipment may be optical extension devices called RRHs (Remote Radio Heads). Additionally, base station equipment may be equipment that enables communication nodes to function as receiving stations such as FPUs (Field Pickup Units). Finally, base station equipment may be equipment that enables communication nodes to function as IAB (Integrated Access and Backhaul) donor nodes or IAB relay nodes that provide wireless access lines and wireless backhaul lines using time-division multiplexing, frequency-division multiplexing, or spatial-division multiplexing. Furthermore, the base station equipment may consist of multiple devices, for example, a combination of an antenna installed on a structure such as a building and a signal processing device connected to that antenna.
[0183] The wireless access technology used by the base station equipment may be cellular communication technology or wireless LAN technology. Of course, the wireless access technology used by the base station equipment is not limited to these and may be other wireless access technologies. For example, the wireless access technology used by the base station equipment may be LPWA (Low Power Wide Area) communication technology. Of course, the wireless communication used by the base station equipment may be wireless communication using millimeter waves. Furthermore, the wireless communication used by the base station equipment may be wireless communication using radio waves, or wireless communication using infrared or visible light (optical wireless).
[0184] The base station equipment may be capable of NOMA (Non-Orthogonal Multiple Access) communication with the communication terminal 11. Here, NOMA communication refers to communication (transmission, reception, or both) using non-orthogonal resources. The base station equipment may also be capable of NOMA communication with other base station equipment.
[0185] Furthermore, base station devices may be able to communicate with each other via a base station-core network interface (e.g., S1 Interface). This interface may be either wired or wireless. Also, base station devices may be able to communicate with each other via an inter-base station interface (e.g., X2 Interface, S1 Interface). This interface may be either wired or wireless.
[0186] Furthermore, base station devices may be able to communicate with each other via a base station-core network interface (e.g., NG Interface, S1 Interface, etc.). This interface may be either wired or wireless. In addition, base station devices may be able to communicate with each other via an inter-base station interface (e.g., Xn Interface, X2 Interface, etc.). This interface may be either wired or wireless.
[0187] Furthermore, the term "base station" can also refer to a structure equipped with the functions of a base station. Such structures are not particularly limited. For example, buildings such as skyscrapers, houses, transmission towers, train stations, airports, ports, office buildings, schools, hospitals, factories, commercial facilities, and stadiums are included in such structures. Non-building structures such as tunnels, bridges, dams, walls, and steel pillars, as well as equipment such as cranes, gates, and wind turbines, are also included in such structures. Moreover, the location where such structures are installed is not particularly limited. That is, not only structures on land (in the narrow sense of the ground) or underground, but also structures on water such as piers and megafloats, and underwater structures such as oceanographic observation equipment can also be structures equipped with the functions of a base station.
[0188] Furthermore, as mentioned above, a base station may be a fixed station or a mobile station. A base station may become a mobile station when the base station equipment is installed on a mobile device. Alternatively, a base station may become a mobile station when the base station equipment has mobility and the base station equipment itself moves. Also, devices that are inherently mobile, such as vehicles and UAVs (Unmanned Aerial Vehicles) represented by drones, and that are equipped with base station functions (or at least some of the functions of a base station), can be considered both a mobile station and a base station equipment acting as a mobile station. In addition, devices that move by being carried on a mobile device, such as smartphones, and that are equipped with base station functions (or at least some of the functions of a base station), can be considered both a mobile station and a base station equipment acting as a mobile station.
[0189] The locations where fixed and mobile stations exist are not particularly limited. Therefore, the mobile entities constituting a mobile station may be mobile entities that move on land (ground in the narrow sense) (e.g., automobiles, bicycles, buses, trucks, motorcycles, trains, maglev trains, etc.), mobile entities that move underground (e.g., tunnels) (e.g., subways), mobile entities that move on water (e.g., passenger ships, cargo ships, hovercraft, etc.), mobile entities that move underwater (e.g., submersibles, submarines, unmanned underwater vehicles, etc.), mobile entities that move in the air, such as within the atmosphere (e.g., airplanes, airships, drones, etc.), or mobile entities that can float outside the atmosphere, in other words, in space (e.g., artificial satellites, spacecraft, space stations, probes, etc.). Note that base stations floating outside the atmosphere are also called satellite stations. On the other hand, base stations located closer to Earth than outside the atmosphere are also called ground stations. Furthermore, base stations that float within the atmosphere, such as aircraft, are also called aircraft stations.
[0190] The satellite that serves as the satellite station may be a low Earth orbit (LEO), medium Earth orbit (MEO), geostationary Earth orbit (GEO), or highly elliptical orbit (HEO).
[0191] Furthermore, heavy aircraft such as airplanes and gliders, light aircraft such as balloons and airships, rotary-wing aircraft such as helicopters and autogyros, and unmanned aerial vehicles such as drones can also be considered aircraft stations. There are no particular limitations on how unmanned aerial vehicles that can be considered aircraft stations are controlled. In other words, control systems for unmanned aerial vehicles include Unmanned Aircraft Systems (UAS), tethered UAS, LTA (Lighter than Air UAS), HTA (Heavier than Air UAS), and HAPs (High Altitude UAS Platforms), and the flight of an aircraft station may be controlled by these control systems.
[0192] Furthermore, the coverage size of the base station equipment is not particularly limited; it can be as large as a macrocell, as small as a picocell, or as extremely small as a femtocell. The base station equipment may also have beamforming capabilities. In this case, the base station equipment may form cells or service areas for each beam. To this end, the base station equipment may be equipped with an antenna array consisting of multiple antenna elements and configured to provide advanced antenna technologies such as MIMO (Multiple Input Multiple Output) and beamforming.
[0193] Figure 18 shows an example of the configuration of a base station device. The base station device 50 shown in Figure 18 is intended to perform wireless communication and comprises a wireless communication unit 51, a storage unit 52, a control unit 53, a processing unit 54, a network communication unit 55, and an antenna 56. Note that the configuration shown in Figure 18 is a functional configuration and may differ from the hardware configuration. Furthermore, the components in Figure 18 may be further distributed or aggregated with other components. In addition, the components in Figure 18 may exist independently as devices separate from the base station device 50, and the functions of the base station device 50 may be realized by multiple devices.
[0194] The wireless communication unit 51 performs signal processing for wireless communication with other wireless communication devices (e.g., communication terminal 11). The wireless communication unit 51 operates according to the control of the control unit 53. The wireless communication unit 51 supports one or more wireless access methods. For example, the wireless communication unit 51 supports both NR (New Radio) and LTE (Long Term Evolution). In addition to NR and LTE, the wireless communication unit 51 may also support W-CDMA (Wideband Code Division Multiple Access) and CDMA2000 (Code Division Multiple Access 2000). Furthermore, the wireless communication unit 51 may support automatic retransmission technologies such as HARQ (Hybrid Automatic Repeat reQuest).
[0195] The wireless communication unit 51 includes a transmission processing unit 510 and a reception processing unit 515. The wireless communication unit 51 may include multiple transmission processing units 510 and multiple reception processing units 515. When the wireless communication unit 51 supports multiple wireless access methods, each component of the wireless communication unit 51 may be configured individually for each wireless access method. For example, the transmission processing unit 510 and the reception processing unit 515 may be configured individually for LTE and NR. The antenna 56 may consist of one or more antenna elements (e.g., multiple patch antennas). In this case, the wireless communication unit 51 may be configured to enable beamforming. The wireless communication unit 51 may be configured to enable polarization beamforming using vertical polarization (V polarization) and horizontal polarization (H polarization).
[0196] The transmission processing unit 510 performs the transmission processing of downlink control information and downlink data. For example, the encoding unit 511 of the transmission processing unit 510 encodes the downlink control information and downlink data input from the control unit 53 using an encoding method such as block encoding, convolutional encoding, or turbo encoding. Here, encoding may be performed using polar code or LDPC (Low Density Parity Check Code).
[0197] The modulation unit 512 of the transmission processing unit 510 modulates the encoded bits using a predetermined modulation scheme such as BPSK (Binary Phase Shift Keying), QPSK (Quadrature Phase Shift Keying), 16QAM (Quadrature Amplitude Modulation), 64QAM, or 256QAM. In this case, the signal points on the modulation scheme constellation do not necessarily need to be equidistant. The constellation may also be a non-uniform constellation (NUC).
[0198] Then, the multiplexing unit 513 of the transmission processing unit 510 multiplexes the modulation symbols and downlink reference signals for each channel used for transmission and places them on predetermined resource elements.
[0199] The transmission processing unit 510 then performs various signal processing on the multiplexed signal. For example, the wireless transmission unit 514 of the transmission processing unit 510 performs processing such as conversion to the frequency domain using the Fast Fourier Transform, addition of a guard interval (cyclic prefix), generation of a baseband digital signal, conversion to an analog signal, quadrature modulation, upconversion, removal of extraneous frequency components, and power amplification. The signal generated by the wireless transmission unit 514 is transmitted from the antenna 56.
[0200] The receiving processing unit 515 processes the uplink signal received via the antenna 56. For example, the wireless receiving unit 516 of the receiving processing unit 515 performs down-conversion, removal of unwanted frequency components, control of amplification level, quadrature demodulation, conversion to a digital signal, removal of guard intervals (cyclic prefixes), and extraction of frequency domain signals using fast Fourier transform on the uplink signal.
[0201] Then, the multiplexing / decoupling unit 517 of the receiving processing unit 515 separates the uplink channels such as PUSCH (Physical Uplink Shared Channel) and PUCCH (Physical Uplink Control Channel) and the uplink reference signal from the signal processed by the wireless receiving unit 516.
[0202] Furthermore, the demodulation unit 518 of the receiving processing unit 515 demodulates the received signal using a modulation scheme such as BPSK or QPSK for the modulation symbols of the uplink channel. The modulation scheme used for demodulation may be 16QAM, 64QAM, or 256QAM. In this case, the signal points on the constellation do not necessarily have to be equidistant. The constellation may be a non-uniform constellation (NUC).
[0203] Then, the decoding unit 519 of the receiving processing unit 515 performs decoding on the encoded bits of the demodulated uplink channel. The decoded uplink data and uplink control information are output to the control unit 53.
[0204] Antenna 56 converts between electric current and radio waves. Antenna 56 may consist of one antenna element (e.g., one patch antenna) or multiple antenna elements (e.g., multiple patch antennas). If antenna 56 consists of multiple antenna elements, the wireless communication unit 51 may be configured to enable beamforming. For example, the wireless communication unit 51 may be configured to generate a directional beam by controlling the directivity of the radio signal using multiple antenna elements. Antenna 56 may also be a dual-polarization antenna. If antenna 56 is a dual-polarization antenna, the wireless communication unit 51 may use vertical polarization (V polarization) and horizontal polarization (H polarization) when transmitting the radio signal. The wireless communication unit 51 may then control the directivity of the transmitted radio signal using vertical polarization and horizontal polarization.
[0205] The memory unit 52, as a storage means for the base station device 50, stores information necessary for processing by the base station device 50, processing results, etc. For example, various programs for processing by the base station device 50 may be stored in it.
[0206] The control unit 53 controls various parts of the base station device 50. For example, the control unit 53 performs the necessary controls to obtain information related to the DNN used from an external source, such as from a logical entity, via the wireless communication unit 51 or the network communication unit 55, and conditions for determining the scope of a series of calculations performed by the DNN.
[0207] The arithmetic unit 54 performs calculations necessary for processing by the base station device 50 in accordance with the instructions of the control unit 53. For example, the arithmetic unit 54 may take over some of the processing performed by the transmission processing unit 510 or the reception processing unit 515, such as computationally intensive calculations. Also, for example, if the base station device is responsible for calculations, the calculation of the base station device's scope of responsibility may be performed by the arithmetic unit 54. Furthermore, for example, if the base station device 50 is a logical entity, the processing performed by the logical entity, such as determining which calculations are responsible based on resources and determining the scope of responsibility, may be performed by the arithmetic unit 54.
[0208] The network communication unit 55 performs signal processing for wired communication with other communication devices (e.g., the cloud system 12). For example, the network communication unit 55 is connected to the core network's AMF (Access and Mobility Management Function) and UPF (User Plane Function) to exchange information and signaling.
[0209] In some embodiments, the base station equipment may consist of multiple physical or logical devices. For example, in this embodiment, the base station equipment may be distinguished into multiple devices such as a BBU (Baseband Unit) and an RU (Radio Unit). The base station equipment may be interpreted as a collection of these multiple devices, in other words, a base station system. Furthermore, the base station equipment may consist of either a BBU or an RU, or both. The BBU and RU may be connected by a predetermined interface such as eCPRI (enhanced Common Public Radio Interface). Note that RU may be rephrased as RRU (Remote Radio Unit) or RD (Radio DoT). Also, the RU may correspond to a gNB-DU (gNB Distributed Unit) as described later. Furthermore, the BBU may correspond to a gNB-CU (gNB Central Unit) as described later. Furthermore, the RU may be a device formed integrally with an antenna. The antenna of the base station equipment (for example, an antenna formed integrally with the RU) may employ an Advanced Antenna System and support MIMO (e.g., FD-MIMO) and beamforming. Furthermore, the antenna of the base station may, for example, be equipped with 64 transmitting antenna ports and 64 receiving antenna ports.
[0210] Furthermore, there may be one or more antennas attached to the RU, and such antennas may be antenna panels composed of one or more antenna elements. For example, the RU may be equipped with an antenna panel that includes two types: a horizontally polarized antenna panel and a vertically polarized antenna panel, or an antenna panel that includes two types: a right-hand circularly polarized antenna panel and a left-hand circularly polarized antenna panel. The RU may also form and control independent beams for each antenna panel.
[0211] Furthermore, base stations in a Radio Access Network (RAN) are sometimes called RAN nodes, and base stations in an Access Network (AN) are sometimes called AN nodes. In LTE, the RAN is sometimes called E-UTRAN (Enhanced Universal Terrestrial RAN). In NR, the RAN is sometimes called NG-RAN. In W-CDMA (UMTS), the RAN is sometimes called UTRAN.
[0212] Furthermore, an LTE base station is also called an eNodeB (Evolved Node B) or eNB, in which case E-UTRAN can be said to include one or more eNodeBs (eNBs). Similarly, an NR base station is also called a gNodeB or gNB, in which case NG-RAN can be said to include one or more gNBs. E-UTRAN may include gNBs (en-gNBs) connected to the core network (EPC) in the LTE communication system (EPS). Likewise, NG-RAN may include ng-eNBs connected to the core network 5GC in the 5G communication system (5GS).
[0213] Furthermore, if the base station is an eNB or gNB, it may be referred to as 3GPP Access. If the base station is an Access Point, it may be referred to as Non-3GPP Access. Also, if the base station is a gNB, it may be a combination of the aforementioned gNB-CU and gNB-DU, or it may be either a gNB-CU or a gNB-DU.
[0214] Here, the gNB-CU hosts several upper layers (e.g., RRC, SDAP, PDCP) of the Access Stratum for communication with the UE. On the other hand, the gNB-DU hosts several lower layers (e.g., RLC, MAC, PHY) of the Access Stratum. That is, among messages or information such as RRC signaling, MAC CE (MAC Control Element), and DCI, RRC signaling (quasi-static notifications) may be generated by the gNB-CU, while MAC CE and DCI (dynamic notifications) may be generated by the gNB-DU. Alternatively, among RRC configurations (quasi-static notifications), some configurations, such as IE:cellGroupConfig, may be generated by the gNB-DU, and the remaining configurations may be generated by the gNB-CU. These configurations may be sent and received via the F1 interface, which will be described later.
[0215] Furthermore, base stations may be configured to communicate with other base stations. For example, if multiple base station devices are eNBs or a combination of eNB and en-gNB, the base stations may be connected via an X2 interface. Also, if multiple base stations are gNBs or a combination of gn-eNB and gNB, the devices may be connected via an Xn interface. Also, if multiple base stations are a combination of gNB-CU and gNB-DU, the devices may be connected via the F1 interface described above. Messages or information such as RRC signaling, MAC CE, and DCI may be transmitted between multiple base stations, for example, via an X2 interface, Xn interface, or F1 interface.
[0216] Cells provided by a base station are sometimes called serving cells. The concept of a serving cell includes PCell (Primary Cell) and SCell (Secondary Cell). When dual connectivity is configured for the UE, the PCells and zero or one or more SCells provided by the MN (Master Node) are sometimes called a Master Cell Group. Examples of dual connectivity include E-UTRA-E-UTRA Dual Connectivity, E-UTRA-NR Dual Connectivity (ENDC), E-UTRA-NR Dual Connectivity with 5GC, NR-E-UTRA Dual Connectivity (NEDC), and NR-NR Dual Connectivity.
[0217] A serving cell may include a PSCell (Primary Secondary Cell, or Primary SCG Cell). When dual connectivity is configured for the UE, the PSCell provided by the SN (Secondary Node), and zero or more SCells, are sometimes referred to as an SCG (Secondary Cell Group). Unless otherwise specified (e.g., PUCCH on SCell), the Physical Uplink Control Channel (PUCCH) is transmitted by both PCells and PSCells, but not by SCells. Similarly, Radio Link Failure is detected by both PCells and PSCells, but not by SCells (and does not need to be detected). Because PCells and PSCells have special roles within a serving cell, they are also called SpCells (Special Cells).
[0218] A single cell may be associated with one downlink component carrier and one uplink component carrier. Furthermore, the system bandwidth corresponding to a single cell may be divided into multiple Bandwidth Parts (BWPs). In this case, one or more BWPs may be configured for the UE, with one BWP being used as the Active BWP for the UE. Additionally, the radio resources available to the UE (e.g., frequency band, numerology (subcarrier spacing), slot configuration) may differ for each cell, component carrier, or BWP.
[0219] Let me add some details about the communication terminal 11. The communication terminal 11 may be moved by being installed on a mobile body, or it may be the mobile body itself. For example, the communication terminal 11 may be a vehicle that moves on roads, such as an automobile, bus, truck, or motorcycle; a vehicle that moves on rails installed on tracks, such as a train; or a wireless communication device mounted on such a vehicle. The mobile body may be a mobile terminal, or a mobile body that moves on land (ground in the narrow sense), underground, on water, or underwater. The mobile body may also be a mobile body that moves within the atmosphere, such as a drone or helicopter, or a mobile body that moves outside the atmosphere, such as an artificial satellite. Furthermore, the communication terminal 11 is not limited to its primary use, as long as it is equipped with information processing and communication functions and capable of performing the processing disclosed herein. For example, it may be a device such as a commercial camera equipped with information processing and communication functions, or a communication device such as an FPU (Field Pickup Unit). The communication terminal 11 may also be an M2M (Machine to Machine) device or an IoT (Internet of Things) device.
[0220] Furthermore, the communication terminal 11 may be capable of NOMA communication with the base station. Also, when communicating with the base station, the communication terminal 11 may use automatic retransmission technology such as HARQ. The communication terminal 11 may be capable of sidelink communication with other communication terminals 11. When performing sidelink communication, the communication terminal 11 may also use automatic retransmission technology such as HARQ. Furthermore, the communication terminal 11 may be capable of NOMA communication even in communication with other communication terminals 11 (sidelink). Also, the communication terminal 11 may be capable of LPWA communication with other communication devices (e.g., base stations, other communication terminals 11). Furthermore, the wireless communication used by the communication terminal 11 may be millimeter-wave wireless communication. Furthermore, the wireless communication used by the communication terminal 11 (including sidelink communication) may be radio wave wireless communication, or infrared or visible light wireless communication (optical wireless).
[0221] The communication terminal 11 may be a communication device installed on a mobile body, or it may be a communication device with mobility. For example, the mobile body on which the communication terminal 11 is installed may be a vehicle that moves on roads, such as an automobile, bus, truck, or motorcycle, or a vehicle that moves on rails installed on tracks, such as a train. The location on which the mobile body moves is not particularly limited. Therefore, the mobile body may move on land (ground in the narrow sense), underground, on water, or underwater. Furthermore, the mobile body may be a mobile body that moves within the atmosphere, such as a drone or helicopter, or a mobile body that moves outside the atmosphere, such as an artificial satellite.
[0222] The communication terminal 11 may simultaneously connect to and communicate with multiple base stations or multiple cells. For example, if one base station supports a communication area via multiple cells (e.g., pCell, sCell), it is possible to combine these multiple cells and communicate between the base station and the communication terminal 11 using carrier aggregation (CA), dual connectivity (DC), or multi-connectivity (MC) technologies. Alternatively, the communication terminal 11 can communicate with these multiple base stations via cells from different base stations using coordinated multi-point transmission and reception (CoMP) technology.
[0223] Figure 19 shows an example configuration of a communication terminal 11. Figure 19 shows an example configuration for wireless communication, in which the communication terminal 11 comprises a wireless communication unit 111, a storage unit 112, a control unit 113, a processing unit 114, and an antenna 115. Note that the configuration shown in Figure 19 is a functional configuration and may differ from the hardware configuration. Furthermore, the functions of the communication terminal 11 may be distributed and implemented across multiple physically separated components.
[0224] The wireless communication unit 111 performs signal processing for wireless communication with other wireless communication devices (e.g., base stations, relay stations, wireless communication nodes 131, donor nodes 132, other communication terminals 11, etc.). The wireless communication unit 111 operates according to the control of the control unit 113. The wireless communication unit 111 comprises a transmission processing unit 1110 and a reception processing unit 1115. The components related to wireless communication of the communication terminal 11 may be the same as the corresponding components related to wireless communication of the base station device 50. That is, the configuration of the wireless communication unit 111 and its internal components, as well as the antenna 115, may be the same as the wireless communication unit 51 and its internal components, as well as the antenna 56 of the base station device 50. Furthermore, the wireless communication unit 111 may be configured to enable beamforming, similar to the wireless communication unit 51 of the base station device 50.
[0225] The memory unit 112, as a storage means for the communication terminal 11, stores information necessary for processing the communication terminal 11, processing results, etc. For example, various programs for processing the communication terminal 11 may be stored there.
[0226] The control unit 113 controls various parts of the communication terminal 11. For example, the control unit 113 performs the necessary controls to obtain information related to the DNN used by logical entities, conditions for determining the scope of a series of calculations performed by the DNN, etc., from external sources via the wireless communication unit 111.
[0227] The arithmetic unit 114 performs calculations necessary for processing by the communication terminal 11 in accordance with instructions from the control unit 113. For example, the arithmetic unit 114 may take over some of the processing performed by the transmission processing unit 1110 or the reception processing unit 1115, such as computationally intensive calculations. It also performs calculations necessary for ML applications executed by the communication terminal 11, such as DNN calculations.
[0228] Let's add some details about the core network. Figure 20 shows an example of the network architecture configuration of a 5GS (5G System) including the core network 133. In the example in Figure 20, the 5GS consists of a communication terminal 11 (labeled UE in Figure 20), a RAN 134, and the core network 133. The RAN 134 provides network functions (NF), similar to the wireless communication node 131 and donor node 132 in Figure 1. The core network 133 in 5GS is also referred to as NGC (Next Generation Core), 5GC (5G Core), etc.
[0229] In the example shown in Figure 20, the control plane functions of the core network 133 are comprised of multiple Network Functions (NFs), including AMF (Access and Mobility Management Function) 601, NEF (Network Exposure Function) 602, NRF (Network Repository Function) 603, NSSF (Network Slice Selection Function) 604, PCF (Policy Control Function) 605, SMF (Session Management Function) 606, UDM (Unified Data Management) 607, AF (Application Function) 608, AUSF (Authentication Server Function) 609, and UCMF (UE radio Capability Management Function) 610.
[0230] UDM607 is responsible for storing, managing, and processing subscriber information. The unit responsible for storing and managing subscriber information is also called the UDR (Unified Data Repository) and may be separate from the FE (Front End), which is responsible for processing subscriber information. AMF601 handles mobility management. SMF606 handles session management. UCMF610 holds UE Radio Capability Information corresponding to all UE Radio Capability IDs in the PLMN (Public Land Mobile Network). UCMF610 is responsible for assigning each PLMN-assigned UE Radio Capability ID.
[0231] Figure 20 shows the service-based interfaces of the NFs. Namf is the service-based interface provided by AMF601, Nsmf is the service-based interface provided by SMF606, Nnef is the service-based interface provided by NEF602, Npcf is the service-based interface provided by PCF605, Nudm is the service-based interface provided by UDM607, Naf is the service-based interface provided by AF608, Nnrf is the service-based interface provided by NRF603, Nnssf is the service-based interface provided by NSSF604, and Nausf is the service-based interface provided by AUSF609. Each NF exchanges information with other NFs through its respective service-based interface.
[0232] Additionally, the UPF (User Plane Function) 630 performs user plane processing. The DN (Data Network) 640 enables connections to the MNO's (Mobile Network Operator) own services, the internet, and third-party services.
[0233] RAN134 establishes communication connections with the core network 133, communication terminals 11, etc. It may also establish communication connections with other communication networks not shown in the diagram, such as the AN (Access Network). RAN134 includes base stations called gNBs or ng-eNBs. RAN is sometimes referred to as NG (Next Generation)-RAN.
[0234] Information is exchanged between UE10 and AMF601 via reference point N1. Information is exchanged between RAN134 and AMF601 via reference point N2. Information is exchanged between SMF606 and UPF630 via reference point N4.
[0235] Communication quality may be indicated by, for example, transmission and reception delay time, data rate, or channel occupancy ratio. Channel occupancy may be indicated by CBR (Channel Busy Ratio), resource utilization rate, or congestion level. For example, CBR may be indicated as the ratio of radio resources being used to all available radio resources. Congestion level may be indicated by the ratio of RRSI (Received Signal Strength Indicator), which is the total received power in the bandwidth, to RSRP (Reference Signal Received Power), which is the received strength of the reference signal. Congestion level may also be indicated by the reciprocal of RSRQ (Reference Signal Received Quality), which is the received quality of the reference signal.
[0236] Furthermore, the processing described herein is not limited to any particular standard, and the exemplary settings may be modified as appropriate. The embodiments described above are merely examples of how to implement this disclosure, and it is possible to implement this disclosure in various other forms. For example, various modifications, substitutions, omissions, or combinations thereof are possible without departing from the essence of this disclosure. Such modified, substituted, or omission forms are included within the scope of this disclosure, as well as within the scope of the invention described in the claims and its equivalents.
[0237] Furthermore, the processing steps described in this disclosure may be considered as a method comprising these steps. Alternatively, they may be considered as a program for causing a computer to perform these steps, or as a recording medium for storing such a program. In addition, the processing of the logical entities and computational units described above is executed by a processor such as the CPU of a computer. Furthermore, the type of recording medium is not particularly limited, as it does not affect the embodiments of this disclosure.
[0238] Furthermore, each component shown in Figures 18 to 20 of this disclosure may be implemented in software or in hardware. For example, each component may be a software module implemented in software such as a microprogram, and each component may be implemented by a processor executing the software module. Alternatively, each component may be implemented by a circuit block on a semiconductor chip (die), such as an integrated circuit like an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array). Also, the number of components and the number of hardware components that implement them do not have to be the same. For example, one processor or circuit may implement multiple components. Conversely, one component may be implemented by multiple processors or circuits.
[0239] The processors described in this disclosure are not limited to any particular type. For example, they may be CPUs, MPUs (Micro Processing Units), GPUs (Graphics Processing Units), etc.
[0240] Furthermore, data storage components such as the memory unit 52 of the base station device 50 and the memory unit 112 of the communication terminal 11 can be implemented by data read / write devices, and such devices may be selected as appropriate. For example, they may be DRAM, SRAM, flash memory, hard disks, etc.
[0241] Furthermore, this disclosure can also take the following form. [1] A communication terminal that transmits input to a deep neural network or is responsible for at least a part of a series of calculations of the deep neural network and transmits the results of said calculations, and a server that may be responsible for at least a part of said series of calculations, receives information about resources of a communication network that relays communication between these two parties. Based on the information regarding the aforementioned resources, the entities that will be responsible for the series of calculations are determined from among the communication terminal, the server, and the communication nodes in the communication network. Information processing device. [2] At least one of the aforementioned communication nodes is determined to be an entity responsible for the series of calculations. [1] The information processing device described above. [3] Based on the information regarding the aforementioned resources, the scope of calculations to be performed by the entities responsible for the series of calculations is determined. The information processing device described in [1] or [2]. [4] At least one of the communication nodes located on the communication route between the communication terminal and the server is determined to be an entity responsible for the series of calculations. The information processing apparatus described in [2], or [3] which is dependent on [2]. [5] The aforementioned resources include the communication capacity or communication quality of the communication links within the communication network. Based on the aforementioned communication capacity or communication quality, at least one of the communication nodes is determined to be the entity responsible for the series of calculations. An information processing device as described in any one of [2] to [4]. [6] Based on the communication capacity or the communication quality, the communication time for which the results of the calculations performed by the communication node are transmitted over the communication link is estimated, and based on the communication time, at least one of the communication nodes is determined to be an entity responsible for the series of calculations. [5] The information processing device described above. [7] The aforementioned resources include the computing power of the communication node. Based on the computing capacity of the communication nodes, at least one of the communication nodes is determined to be the entity responsible for the series of calculations. An information processing device as described in any one of [2] through [6]. [8] Based on the computational capacity of the communication node, the computation time required for the calculation by the communication node is estimated, and based on the computation time, at least one of the communication nodes is determined to be the entity responsible for the series of calculations. [7] The information processing device described above. [9] The aforementioned resources include the communication capacity or communication quality of the communication links within the communication network, and the computing power of the communication nodes. Based on the aforementioned communication capacity or communication quality, the communication time for which the results of the calculation by the communication node are transmitted via the communication link is estimated. Based on the computing capacity of the aforementioned communication node, the computation time required for the computation by the aforementioned communication node is estimated. Based on the condition that the sum of the communication time and the calculation time does not exceed a predetermined threshold, at least one of the communication nodes is determined to be an entity responsible for the series of calculations. An information processing device as described in any one of [2] through [8].
[10] Further information regarding the location of the aforementioned communication terminal is received, In accordance with the change in the communication route due to the movement of the communication terminal, the entities responsible for the series of calculations are changed. An information processing device according to [4], or any one of [5] through [9] that is subordinate to [4].
[11] Further information regarding the topology of the aforementioned communication network is received, In accordance with the change in the communication route resulting from the change in the topology, the entities responsible for the series of calculations are changed. An information processing device according to [4], or any one of [5] through
[10] that is subordinate to [4].
[12] By selecting one of several Splitting modes based on the resources, the scope of calculations to be handled by the entities that share the series of calculations is determined. An information processing device according to [3], or any one of [4] through
[11] that is subordinate to [3].
[13] The aforementioned resources include the location of the communication terminal, When a predetermined communication node no longer exists on the communication route that has been changed by the movement of the communication terminal, the Splitting mode is recreated.
[12] The information processing device described above.
[14] The calculation range to be handled by the entities responsible for the series of calculations is changed by increasing or decreasing the calculation range to be handled by the entities responsible for the series of calculations based on the fluctuations in the aforementioned resources. An information processing device according to [3], or any one of [4] through
[13] that is subordinate to [3].
[15] The calculation range is transmitted to the communication node determined to be the entity responsible for the series of calculations. An information processing device according to [3], or any one of [4] through
[11] that is subordinate to [3].
[16] Determine a setting value that improves the quality of the wireless communication link on the aforementioned communication route. To the communication nodes located on the aforementioned communication route, a setting value is transmitted that improves the quality of the wireless communication link on the aforementioned communication route.
[15] The information processing device described above.
[17] It receives a portion of a series of calculations based on a deep neural network as its assigned computational scope. Perform the calculation within the aforementioned calculation range, The calculation results within the aforementioned calculation range are sent to the specified destination. Information regarding computing power, or the communication capacity or communication quality of the communication link to which the calculation results are transmitted, is obtained. The acquired information is transmitted to the source of the calculation range instruction, The system receives a change in the calculation range from the aforementioned instruction source. Information processing device.
[18] The information regarding the change in the calculation range indicates one of several Splitting modes.
[17] The information processing device described above.
[19] If the calculation result satisfies the conditions for terminating the series of calculations midway, the calculation result is sent to the recipient of the final calculation result of the series of calculations, rather than to the designated recipient.
[18] The information processing device described above.
[20] A communication terminal that transmits input to a deep neural network or is responsible for at least a part of a series of calculations of the deep neural network and transmits the results of said calculations, and a server that may be responsible for at least a part of said series of calculations, and a step of receiving information about resources of a communication network that relays communication between these two parties. Based on information regarding the aforementioned resources, the steps include determining a plurality of entities from among the communication terminal, the server, and the communication nodes in the communication network that will share the responsibility for the series of calculations, An information processing method comprising the following: [twenty one] A communication terminal that transmits input to a deep neural network or is responsible for at least a part of a series of calculations of the deep neural network and transmits the results of said calculations, and a server that may be responsible for at least a part of said series of calculations, comprising a plurality of communication nodes belonging to a communication network that relays communication between these, The plurality of communication nodes transmit information regarding the resources of the communication network to a predetermined communication node among the plurality of communication nodes. The aforementioned predetermined communication node is Receiving information about the aforementioned resource, Based on the information regarding the aforementioned resources, a plurality of entities are determined from among the communication terminal, the server, and the communication node to be responsible for the series of calculations. Information processing system. [twenty two] The first step of determining the scope of responsibility for a series of calculations in a deep neural network, The steps include: performing the calculation for the first assigned area, As a result of the calculation of the first area of responsibility, the first information is transmitted, which includes the identification information and output value of the node included in the last layer of the first area of responsibility. The steps include receiving the first information, A step of identifying a node to which the output value included in the first information should be input, based on the identification information included in the first information; The steps include: inputting the output values contained in the first information to the identified node to perform the remaining calculations of the deep neural network or the calculations of the second area of responsibility; An information processing method comprising the following: [twenty three] The steps include sending the results of the remaining calculations of the deep neural network or the calculations of the second assigned area back to the source of the calculation results of the first assigned area, The information processing method described in
[22] further comprises the following: [twenty four] Step of receiving conditions for determining the first scope of responsibility. Furthermore, Based on the above conditions, the first scope of responsibility is determined. The information processing method described in
[22] or
[23] . [twenty five] The above conditions include those relating to the computational capacity of the entity that calculates the first scope of responsibility. The information processing method described in
[24] .
[26] The aforementioned conditions include those relating to the communication quality between the entity calculating the first scope of responsibility and a predetermined entity. The information processing method described in
[24] or
[25] .
[27] The aforementioned communication quality is calculated based on at least one of the following: latency, data rate, and channel occupancy. The information processing method described in
[26] .
[28] An entity that executes the remaining calculations of the deep neural network or the calculations in the second scope of responsibility is different from an entity that transmits conditions for determining the first scope of responsibility. The information processing method according to any one of
[24] to
[27] .
[29] Execute an application using a deep neural network. Determine a first scope of responsibility for a series of calculations of the deep neural network based on conditions for determining the first scope of responsibility. Execute the calculations in the first scope of responsibility. As a result of the calculations in the scope of responsibility, transmit first information including identification information and output values of nodes included in the last layer of the first scope of responsibility. An information processing apparatus.
[30] Transmit the first information to an entity that next performs a series of calculations of the deep neural network. Receive the result of the remaining calculations of the deep neural network or the calculations in the second scope of responsibility as a reply to the first information. The information processing apparatus according to
[29] .
[31] The conditions include those related to its own calculation capacity. The first scope of responsibility is determined according to the calculation capacity. The information processing apparatus according to
[29] or
[30] .
[32] The conditions include those related to the communication quality between itself and a predetermined entity. The first scope of responsibility is determined according to the communication quality. The information processing apparatus according to any one of
[29] to
[31] .
[33] The communication quality is calculated based on at least one of delay time, data rate, and channel occupancy. The information processing apparatus according to
[32] .
[34] As a result of the calculation of the first domain of a series of calculations in the deep neural network, first information is received, including the identification information and output value of the node included in the last layer of the first domain. Based on the identification information contained in the first information, the node to which the output value contained in the first information should be input is identified. By inputting the output values contained in the first information to the identified node, the remaining calculations of the deep neural network or the calculations of the second area of responsibility are performed. Information processing device.
[35] The results of the remaining calculations of the deep neural network or the calculations of the second assigned area are sent back to the source of the calculation results of the first assigned area.
[34] The information processing device described above.
[36] The aforementioned second scope of responsibility is determined based on the conditions for determining the second scope of responsibility, The aforementioned conditions include those relating to one's own computing power.
[35] The information processing device described above.
[37] The aforementioned second scope of responsibility is determined based on the conditions for determining the second scope of responsibility, The aforementioned conditions include those relating to the quality of communication between itself and a given entity. The information processing apparatus described in
[35] or
[36] .
[38] The aforementioned communication quality is calculated based on at least one of the following: latency, data rate, and channel occupancy.
[37] The information processing device described above. [Explanation of Symbols]
[0242] 1: Information processing system, 11: Communication terminal (UE), 111: Wireless communication unit, 1110: Transmission processing unit, 1111: Encoding unit, 1112: Modulation unit, 1113: Multiplexing unit, 1114: Wireless transmission unit, 1115: Reception processing unit, 1116: Wireless reception unit, 1117: Multiplexing / decompression unit, 1118: Demodulation unit, 1119: Decoding unit, 112: Memory unit, 113: Control unit, 114: Calculation unit, 1141: Condition setting unit, 1142: Calculation model setting unit, 1143: Calculation processing unit, 115: Antenna, 12: Cloud system, 121: Cloud server, 13: Communication network, 131: Wireless communication node, 132: Donor node, 133: Core network, 1331: Communication of the core network Node, 134: RAN, 2: Dotted line frame (DNN), 21: DNN node, 22: DNN link, 50: Base station equipment, 51: Wireless communication unit, 510: Transmitting unit, 511: Encoding unit, 512: Modulation unit, 513: Multiplexing unit, 514: Wireless transmission unit, 515: Receiving unit, 516: Wireless receiving unit, 517: Multiplexing / decompression unit, 518: Demodulation unit, 519: Decoding unit, 52: Memory unit, 53: Control unit, 54: Calculation unit, 55: Network communication unit, 56: Antenna, 601: AMF, 602: NEF, 603: NRF, 604: NSSF, 605: PCF, 606: SMF, 607: UDM, 608: AF, 609: AUSF, 610: UCMF, 630: UPF, 640: DN
Claims
1. A communication terminal that transmits input to a deep neural network or is responsible for at least a part of a series of calculations of the deep neural network and transmits the results of said calculations; a server that may be responsible for at least a part of said series of calculations; and a receiving unit that receives information about resources of a communication network that relays communication between these two; A determination unit determines, based on information regarding the aforementioned resources, which entities from among the communication terminal, the server, and the communication nodes in the communication network will be responsible for the series of calculations. Equipped with, The determination unit determines that at least one of the communication nodes located on the communication route between the communication terminal and the server is an entity responsible for performing the series of calculations. For each communication route, multiple Splitting modes are set, each indicating a candidate calculation range to be handled by an entity responsible for the series of calculations. The determination unit determines the scope of calculations to be handled by the entities that share the series of calculations by selecting one of the plurality of Splitting modes set in the communication route based on the resources. Information processing device.
2. The aforementioned resources include the communication capacity or communication quality of the communication links within the communication network. The determination unit determines, based on the communication capacity or the communication quality, that at least one of the communication nodes be the entity responsible for performing the series of calculations. The information processing apparatus according to claim 1.
3. The determination unit estimates the communication time for which the results of the calculations performed by the communication nodes are transmitted over the communication link based on the communication capacity or the communication quality, and determines at least one of the communication nodes as an entity responsible for the series of calculations based on the communication time. The information processing apparatus according to claim 2.
4. The aforementioned resources include the computing power of the communication node. The determination unit determines, based on the computing capacity of the communication nodes, that at least one of the communication nodes be the entity responsible for the series of calculations. The information processing apparatus according to any one of claims 1 to 3.
5. The determination unit estimates the computation time required for the calculation by the communication node based on the computational capacity of the communication node, and determines that at least one of the communication nodes is an entity to be responsible for the series of calculations based on the computation time. The information processing apparatus according to claim 4.
6. The aforementioned resources include the communication capacity or communication quality of the communication links within the communication network, and the computing power of the communication nodes. The determination unit estimates the communication time over which the results of the calculation by the communication node are transmitted via the communication link, based on the communication capacity or the communication quality. Based on the computing capacity of the aforementioned communication node, the computation time required for the computation by the aforementioned communication node is estimated. Based on the condition that the sum of the communication time and the calculation time does not exceed a predetermined threshold, at least one of the communication nodes is determined to be an entity responsible for the series of calculations. The information processing apparatus according to any one of claims 1 to 5.
7. The receiving unit further receives information relating to the location of the communication terminal, The determination unit changes the entities responsible for the series of calculations in accordance with the change in the communication route due to the movement of the communication terminal. The information processing apparatus according to any one of claims 1 to 6.
8. The receiving unit further receives information relating to the topology of the communication network, The determination unit changes the entities responsible for the series of calculations in accordance with the change in the communication route due to the change in the topology. The information processing apparatus according to any one of claims 1 to 7.
9. The aforementioned resources include the location of the communication terminal, The determination unit recreates the multiple Splitting modes when a predetermined communication node no longer exists on the communication route that has been changed by the movement of the communication terminal. The information processing apparatus according to any one of claims 1 to 8.
10. The determination unit changes the calculation range to be handled by the entities that share the series of calculations by increasing or decreasing the calculation range to be handled by the entities that share the series of calculations based on the fluctuation of the resources. The information processing apparatus according to any one of claims 1 to 9.
11. The determination unit changes the calculation range by selecting another Splitting mode from the plurality of Splitting modes based on the fluctuation of the resources. The information processing apparatus according to any one of claims 1 to 10.
12. The system further includes a transmission unit that transmits the determined calculation range to a communication node determined to be an entity responsible for the series of calculations. The information processing apparatus according to any one of claims 1 to 11.
13. The determination unit determines a setting value that improves the quality of the wireless communication link on the communication route, The transmitting unit transmits a setting value to the communication node located on the communication route that improves the quality of the wireless communication link on the communication route. The information processing apparatus according to claim 12.
14. A communication terminal that transmits input to a deep neural network or is responsible for at least a part of a series of calculations of the deep neural network and transmits the results of said calculations, and a server that may be responsible for at least a part of said series of calculations, and a step of receiving information about resources of a communication network that relays communication between these two parties. Based on information regarding the aforementioned resources, the steps include determining a plurality of entities from among the communication terminal, the server, and the communication nodes in the communication network that will share the responsibility for the series of calculations, Equipped with, The aforementioned decision-making step is: At least one of the communication nodes located on the communication route between the communication terminal and the server is determined to be an entity responsible for the series of calculations. The calculation range to be handled by the entity responsible for the series of calculations is determined by selecting one of several Splitting modes, which are set for each communication route and represent candidate calculation ranges to be handled by the entity responsible for the series of calculations, based on the resources. Information processing methods.
15. A communication terminal that transmits input to a deep neural network or is responsible for at least a part of a series of calculations of the deep neural network and transmits the results of said calculations, and a server that may be responsible for at least a part of said series of calculations, comprising a plurality of communication nodes belonging to a communication network that relays communication between these, The plurality of communication nodes transmit information regarding the resources of the communication network to a predetermined communication node among the plurality of communication nodes. The aforementioned predetermined communication node is A receiving unit that receives information about the aforementioned resource, A determination unit determines, based on information regarding the aforementioned resources, a plurality of entities from among the communication terminal, the server, and the communication node that will be responsible for the series of calculations, Equipped with, The aforementioned determination unit, At least one of the communication nodes located on the communication route between the communication terminal and the server is determined to be an entity responsible for the series of calculations. The calculation range to be handled by the entity responsible for the series of calculations is determined by selecting one of several Splitting modes, which are set for each communication route and represent candidate calculation ranges to be handled by the entity responsible for the series of calculations, based on the resources. Information processing system.