COMMUNICATION DEVICE, COMMUNICATION METHOD, AND COMMUNICATION SYSTEM

By dynamically adjusting DNN calculation distribution among communication nodes based on real-time network and computational assessments, the method addresses unstable load and quality issues, ensuring efficient and timely DNN processing.

JP7758041B2Active Publication Date: 2025-10-22SONY GROUP CORP
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2023531450
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-07-01
Filing Date
2022-03-29
Publication Date
2025-10-22
Estimated Expiration
2042-03-29

AI Technical Summary

Technical Problem

Distributing DNN calculations across multiple communication nodes can lead to unstable load and communication quality, resulting in longer calculation times than expected, especially in environments with fluctuating network conditions.

Method used

An information processing device dynamically adjusts the distribution of DNN calculations among communication terminals, cloud servers, and network nodes, allowing for intermediate results to be transmitted to or processed by the most suitable node based on real-time network and computational capacity assessments.

Benefits of technology

This approach ensures that the total execution delay for DNN calculations remains within acceptable limits by optimizing the distribution of tasks based on current network conditions and computational resources, reducing overall processing time and communication delays.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007758041000001
    Figure 0007758041000001
  • Figure 0007758041000002
    Figure 0007758041000002
  • Figure 0007758041000003
    Figure 0007758041000003
Patent Text Reader

Abstract

[Problem] To provide an information processing device for reducing the length of time needed until a calculation result will be returned, while also distributing DNN-based calculation. [Solution] One of the present disclosures is an information processing device for taking charge of some calculations of a series of calculations of a deep neural network. The information processing device: assesses whether to transmit, to a first communication device, the results of calculation midway through the series of calculations of the deep neural network; if the assessment was not to transmit, then transmits the results of at least some calculations of calculations included in a first range of the series of calculations to a second communication device which is in charge of calculation of a second range following the first range; and if the assessment was to transmit, then uses the results of the calculation midway through the series of calculations of the deep neural network to execute calculation for transmitting to the first communication device, and transmits the results of the calculation executed to the first communication device.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to a communication device, a communication method, and a communication system. [Background technology]

[0002] In recent years, research in fields such as artificial intelligence and machine learning has progressed rapidly, and applications related to these fields are expected to become increasingly widespread. Therefore, efforts are being made to ensure that these applications run smoothly in communication environments.

[0003] This application primarily performs calculations based on a multi-layered neural network (DNN: Deep Neural Network) whose internal parameters are optimized through machine learning. This calculation imposes a heavier load than other general applications. Therefore, running this application on a general-purpose wireless communication device such as a smartphone can result in problems such as increased calculation time and power consumption. Alternatively, a cloud server could perform the calculations on behalf of the application. However, this method requires the wireless communication device to transmit the information necessary for the calculations to the cloud server and receive the calculation results from the cloud server, resulting in a large amount of communication traffic. Furthermore, wireless communication is prone to delays due to unstable communication quality. Therefore, this method may result in a delay exceeding the amount of delay that the application can tolerate.

[0004] Therefore, instead of federated learning, which concentrates DNN calculations on a single device such as a communication terminal or a cloud server, distributed learning, which distributes DNN calculations across both communication terminals and cloud servers, is being considered. In other words, the communication terminal is responsible for part of the DNN calculations, and the cloud server is responsible for the rest. [Prior art documents] [Non-patent literature]

[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 [Non-patent document 2] "BranchyNet: Fast Inference via Early-exiting from Deep Neural Networks," Surat Teerapittayanon, et al., "http: / / bradmcdanel.com / files / 2016-icpr-teerapittayanon-mcdanel-kung.pdf" [Non-patent document 3] "Distributed Deep Neural Networks over the Cloud, the Edge and End Devices," Surat Teerapittayanon, et al.," https: / / arxiv.org / pdf / 1709.01921.pdf" Summary of the Invention [Problem to be solved by the invention]

[0006] Furthermore, the possibility of the communication network relaying communications between communication terminals and cloud servers sharing some of the DNN calculations is being considered. In other words, at least one of the multiple communication nodes that make up the communication network could be responsible for part of the series of calculations from the input layer to the output layer of the DNN. However, distributing DNN calculations across a large number of devices can also have adverse effects. For example, the load on the communication nodes responsible for the calculations and the communication quality of the network may not always be stable. Therefore, depending on the situation, calculations may take longer than expected.

[0007] Therefore, the present disclosure provides an information processing device that distributes DNN-based calculations while shortening the time required to return calculation results. Specifically, this is achieved by dynamically changing the device responsible for the calculation, terminating the calculation midway, and feeding back the results of the calculation midway. Furthermore, the problems described here are only a part of the problems solved by the present invention, and the present disclosure may be used to solve other problems that can be solved by the present disclosure. [Means for solving the problem]

[0008] The information processing device according to the present disclosure is an information processing device that is responsible for performing some of the calculations in a series of calculations of a deep neural network, and determines whether or not to transmit the results of an intermediate calculation in the series of calculations of the deep neural network to a first communication device.If it is not determined that the results should be transmitted to the first communication device, it transmits the results of at least some of the calculations included in a first range of the series of calculations to a second communication device that is responsible for calculating a second range that follows the first range.If it is determined that the results should be transmitted to the first communication device, it performs calculations to transmit the results of the intermediate calculations in the series of calculations of the deep neural network to the first communication device, and transmits the results of the executed calculations to the first communication device.

[0009] In addition, when it is determined that the results of intermediate calculations in the series of calculations of the deep neural network are not to be transmitted to the first communication device, the information processing device may execute at least a portion of the calculations included in the first range and use the results of the executed calculations as the results of the calculations to be transmitted to the second communication device, or when it is determined that the results of intermediate calculations in the series of calculations of the deep neural network are to be transmitted to the first communication device, the information processing device may execute at least a portion of the calculations included in the first range and use the results of the executed calculations for the calculations to be transmitted to the first communication device.

[0010] In addition, the information processing device may execute at least a portion of the calculations included in the first range, and when the determination is made while executing the calculations included in the first range and it is determined that the results should be transmitted to the first communication device, the information processing device may use the results of the calculations executed before the determination in the calculations to be transmitted to the first communication device.

[0011] In addition, the information processing device may execute at least a portion of the calculations included in the first range, and when the determination is made while executing the calculations included in the first range and it is determined that the result should be transmitted to the first communication device, the result of the calculation executed before the determination may be used as the result of the calculation to be transmitted to the second communication device.

[0012] In addition, the information processing device may execute at least a portion of the calculations included in the first range, and if the determination is made while executing the calculations included in the first range and it is determined that the results should be transmitted to the first communication device, the information processing device may continue the calculations included in the first range and use the results of the calculations in the first range as the results of the calculations to be transmitted to the second communication device.

[0013] In addition, when it is determined that the information processing device should transmit the results of an intermediate calculation in a series of calculations of the deep neural network to the first communication device, the information processing device may further transmit the results of at least a portion of the calculations included in a first range of the series of calculations to the second communication device.

[0014] In addition, when it is determined that the information processing device should transmit the result of an intermediate calculation in a series of calculations of the deep neural network to the first communication device, if all of the calculations included in the first range have not been executed, the information processing device may transmit to the second communication device, together with the result of the executed calculation, information indicating the position of the result of the executed calculation in the series of calculations.

[0015] In addition, when it is determined that the information processing device should transmit the result of an intermediate calculation in a series of calculations of the deep neural network to the first communication device, the information processing device may transmit the result of the calculation and information indicating the position of the result of the calculation in the series of calculations to a third communication device capable of executing at least a part of the series of calculations.

[0016] In addition, when it is determined that the results of an intermediate calculation in a series of calculations of the deep neural network should be transmitted to the first communication device, the information processing device may execute the calculation up to a predetermined position included in the first range, and use the results of the executed calculation in the calculation to be transmitted to the first communication device.

[0017] In addition, when it is determined that the result of an intermediate calculation in a series of calculations of the deep neural network should be transmitted to the first communication device, the information processing device may determine up to which position in the calculation included in the first range to execute, execute the calculation included in the first range up to the determined position, and transmit the result of the executed calculation and information indicating the determined position to the second communication device.

[0018] In addition, the information processing device may make the determination based on at least one of information regarding the computational capacity of a device responsible for at least a portion of the series of calculations of the deep neural network, and information regarding the amount of traffic in a device responsible for at least a portion of the series of calculations of the deep neural network.

[0019] The information processing device may make the determination based on at least one of communication quality with the first communication device and mobility information of the first communication device.

[0020] The information processing device may also make the determination based on at least one of information instructing the series of calculations to be terminated midway, and information instructing the series of calculations to be transmitted to the first communication device as a result of an intermediate calculation.

[0021] The information processing device may also acquire request information from the first communication device and make the determination based on the request information.

[0022] In addition, the information processing device may determine to transmit results of intermediate calculations in a series of calculations of the deep neural network to the first communication device when the time required for calculation of the first range is longer than a given allowable time.

[0023] In addition, the information processing device may determine whether to terminate the calculations included in a first range of a series of calculations of the deep neural network, and if it determines that the calculations included in the first range should be terminated, execute a portion of the calculations included in the first range and transmit the results of the executed calculations and information indicating the position of the executed calculation result in the series of calculations to a device responsible for calculating a second range following the first range.

[0024] In addition, the information processing device may further transmit, to the device responsible for calculating the second range, information indicating whether the device responsible for calculating the second range is allowed to terminate the calculation included in the second range midway.

[0025] Another aspect of the present disclosure is an information processing method executed in an information processing device responsible for performing some of a series of calculations of a deep neural network, and includes the steps of: determining whether to transmit results of intermediate calculations in the series of calculations of the deep neural network to a first communication device; if it is determined that the results should not be transmitted to the first communication device, transmitting the results of at least some of the calculations included in a first range of the series of calculations to a second communication device responsible for calculating a second range following the first range; and, if it is determined that the results should be transmitted to the first communication device, performing calculations to be transmitted to the first communication device using the results of intermediate calculations in the series of calculations of the deep neural network, and transmitting the results of the performed calculations to the first communication device.

[0026] Another information processing method of the present disclosure includes a step of determining whether to terminate calculations included in a first range of a series of calculations of a deep neural network, and when it is determined that the calculations included in the first range should be terminated, a step of executing a portion of the calculations included in the first range and transmitting the results of the executed calculations and information indicating the position of the executed calculation result in the series of calculations to a device responsible for calculating a second range following the first range.

[0027] Another aspect of the present disclosure is an information processing system comprising at least a first information processing device and a second information processing device each responsible for performing some of a series of calculations of a deep neural network, wherein the first information processing device determines whether to transmit the results of an intermediate calculation in the series of calculations of the deep neural network to a first communication device, and if it is determined that the results should not be transmitted to the first communication device, transmits the results of at least some of the calculations included in a first range of the series of calculations to the second information processing device, and if it is determined that the results should be transmitted to the first communication device, performs a calculation to be transmitted to the first communication device using the results of the intermediate calculation in the series of calculations of the deep neural network, and transmits the results of the performed calculation to the first communication device, and the second information processing device performs calculations in the series of calculations after the calculation performed by the first information processing device based on the results of the calculation performed by the first information processing device.

[0028] The information processing system may further include a third information processing device that determines the first range.

[0029] Another information processing system of the present disclosure comprises at least a first information processing device that performs calculations of a first range of a series of calculations of a deep neural network, and a second information processing device that performs calculations of a second range that follows the first range of the series of calculations of the deep neural network, wherein the first information processing device determines whether to terminate the calculations included in the first range, and if it is determined that the calculations included in the first range should be terminated, executes a part of the calculations included in the first range and transmits the results of the executed calculations and information indicating the position of the result of the executed calculation in the series of calculations to the second information processing device, and when the second information processing device receives the information, executes the continuation of the calculations in the series of calculations that were executed by the first information processing device based on the results of the calculations executed by the first information processing device.

[0030] The other information processing system may further include a third information processing device that determines whether to terminate the calculation included in the first range, and the third information processing device may send an instruction to the first information processing device to terminate the calculation included in the first range, and the first information processing device may determine, upon receiving the instruction, to terminate the calculation included in the first range. [Brief explanation of the drawings]

[0031] [Figure 1] FIG. 1 is a diagram showing an example of the configuration of an information processing system according to an embodiment of the present disclosure. [Figure 2] A diagram explaining DNN. [Figure 3] A diagram explaining the distribution of DNN calculations. [Figure 4] 10A and 10B are diagrams for explaining differences in delay and output data amount depending on the splitting point. [Figure 5] A diagram showing an example of the architecture of the IAB network. [Figure 6] A diagram showing the effect of distributing computations in a DNN. [Figure 7] A diagram of the network topology of the IAB network used in the simulation. [Figure 8] FIG. 10 is a diagram showing the fluctuation of communication capacity for simulation. [Figure 9] A diagram showing the impact of communication network resources on execution delay. [Figure 10] FIG. 2 is a schematic sequence diagram showing the overall processing flow of the present embodiment. [Figure 11] FIG. 10 is a diagram illustrating Splitting mode. [Figure 12] FIG. 10 is a diagram illustrating a splitting mode set for each communication route. [Figure 13] FIG. 10 is a diagram showing an example of a splitting mode for each communication route. [Figure 14] Sequence diagram before and after the calculation task is switched. [Figure 15]FIG. 10 is a diagram showing an example of conditions for determining a coverage area of ​​a communication terminal. [Figure 16] FIG. 10 is a diagram showing an example of a calculation result transmitted from a communication terminal when the communication terminal determines its own responsible range. [Figure 17] FIG. 10 is a schematic sequence diagram showing the overall processing flow when a communication terminal determines its own responsible range. [Figure 18] FIG. 1 is a diagram showing an example of the configuration of a base station device. [Figure 19] FIG. 2 is a diagram showing an example of the configuration of a communication terminal. [Figure 20] A diagram showing an example of the configuration of a 5GS (5G System) network architecture including a core network. [Figure 21] FIG. 10 is a diagram showing an example of the calculation range when early-exiting is performed. [Figure 22] FIG. 10 is a schematic sequence diagram showing a first example of a processing flow relating to early-exiting. [Figure 23] FIG. 10 is a schematic sequence diagram showing a second example of the processing flow regarding early-exiting. [Figure 24] FIG. 10 is a schematic sequence diagram showing a third example of a processing flow relating to early-exiting. [Figure 25] FIG. 1 is a conceptual diagram illustrating multi-feedback. DETAILED DESCRIPTION OF THE INVENTION

[0032] (First embodiment) Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings. FIG. 1 is a diagram illustrating an example configuration of an information processing system according to a first embodiment of the present disclosure. The information processing system 1 according to the first embodiment includes a communication terminal 11, a cloud system (Cloud) 12, and a communication network 13. Note that, as shown in FIG. 1, the same numerals are assigned to individuals of the same type, such as 11A and 11B, and individuals are distinguished by alphabets. In addition, in this description, alphabets are not used in the reference symbols unless there is a particular need to distinguish between individuals.

[0033] The information processing system 1 is a system for running an application that uses a deep neural network (DNN) trained by machine learning (ML). Hereinafter, this application will be referred to as an ML application.

[0034] The communication terminal 11 is also an information processing device capable of running an ML application, and corresponds to a smartphone, laptop, or the like. For example, it is assumed that an ML application is installed on a smartphone and the user of the smartphone starts the ML application. The shape of the communication terminal 11 is not particularly limited. For example, it may be a wearable terminal such as glasses. A robot whose operation is controlled by an ML application also corresponds to the communication terminal 11. The cloud system 12 includes one or more information processing devices called cloud servers, which have higher performance than the communication terminal 11, and provides services that can be used by the communication terminal 11. The communication network 13 is composed of multiple communication nodes and relays communication between the communication terminal 11 and the cloud system 12. The communication nodes are also called communication base stations.

[0035] 1 illustrates an example in which the communication network 13 includes a wireless communication network. The example in FIG. 1 illustrates an example in which an IAB (Integrated Access and Backhaul) network used for wireless communication in a fifth-generation mobile communication system (5G) is used. The communication terminal 11 is illustrated as a wireless communication terminal. The communication network 13 includes a wireless communication node 131 that can be wirelessly connected to the communication terminal 11, a donor node 132 that is an upper 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. It is preferable that the communication network 13 includes a wireless communication network whose communication quality is more unstable than wired communication, as illustrated in FIG. 1, because this provides greater benefits, as described below, than conventional methods. However, all communications in the information processing system 1 may be wired communications, and the wireless communication network that can be included in the communication network 13 is not limited to an IAB network.

[0036] FIG. 2 is a diagram illustrating a DNN. The network enclosed by a dotted frame 2 in FIG. 2 corresponds to the DNN. A DNN is composed of a plurality of nodes 21 and links 22 connecting the nodes 21 to each other. As shown in FIG. 2, the plurality of nodes 21 are divided into groups of nodes arranged in a vertical line, and these groups of nodes are called layers (hierarchies). In the example of FIG. 2, the DNN has seven layers, but the DNN may have three or more layers.

[0037] DNN calculations are performed at each node 21. For example, in Figure 2, image information is input to each node 21 in the first layer, called the input layer, and calculations are performed at each node 21 in the first layer. These calculation results are sent via link 22 to each node 21 in the second layer, where calculations are also performed at each node 21 in the second layer. In this way, calculations are performed starting from the input layer, and the final calculation results are output from the nodes in the last layer, called the output layer. Then, based on the output calculation results, the object in the input image is determined to be a cat.

[0038] Although FIG. 2 shows an example of image recognition, the use of ML applications is not particularly limited. For example, in addition to image recognition, ML applications may be used in augmented reality (AR), virtual reality (VR), mixed reality (MR), and other technologies collectively referred to as xR. Furthermore, autonomous driving, robotics, voice recognition, and the like can be realized using DNNs, and ML applications may be related to such uses. Furthermore, the environment in which ML applications are implemented is not particularly limited, and ML applications may be used in systems such as digital twins and tactile internet.

[0039] A smartphone or the like corresponding to the communication terminal 11 generally has lower specifications than a cloud server. Therefore, if the communication terminal 11 were to perform all of the processing of an ML application, particularly the DNN calculations (in-device learning), the calculation time until completion would be long. In other words, a large calculation delay would occur. However, the specifications of the ML application may require that the time required to execute the ML application be within a predetermined allowable limit, and if the communication terminal 11 were to perform all of the DNN calculations, the calculation delay could exceed the allowable limit.

[0040] On the other hand, when DNN calculations are executed by the cloud system 12 rather than the communication terminal 11 (cloud learning), the time required for communication, in other words, communication delays, become an issue. For example, in rescue robots that search for disaster victims while taking photographs, calculations that consume excessive power are executed on a cloud server to reduce power consumption. However, the robot must send necessary data to the cloud server, which increases communication delays, and the sum of communication delays and calculation delays may exceed the allowable limit for ML applications. Furthermore, this data transmission may constrict bandwidth and affect other communications.

[0041] Therefore, the information processing system 1 determines multiple calculation managers from among the communication terminal 11, the cloud system 12, and the communication network 13, and distributes a series of calculations based on the DNN among the multiple calculation managers. This type of processing is also called distributed learning. Here, a calculation manager refers to an entity that is responsible for at least a part of the DNN calculations.

[0042] Figure 3 illustrates the distribution of computations in DNNs. Figures 3(A) and (B) show examples of federated learning, which is not distributed learning, and Figure 3(C) shows an example of distributed learning.

[0043] In the example of FIG. 3(A), the communication terminal 11 is the only one responsible for the calculations, and the communication terminal 11 performs the DNN calculations (in-device learning). As mentioned above, data is not transmitted to the communication network 13, so there is no communication delay, but the calculation delay due to the low computational power of the communication terminal 11 becomes a problem. On the other hand, in the example of FIG. 3(B), only the cloud system 12 performs the DNN calculations (cloud learning), and the communication terminal 11 transmits information required for the calculations to the cloud system 12 and receives the calculation results from the cloud system 12. This is advantageous in that the communication terminal 11 does not need to have that much computational power, and the computation 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.

[0044] In contrast, in the example of FIG. 3(C), the communication terminal 11, the cloud system 12, and the communication network 13 each perform part of the DNN calculation. In other words, the communication network 13 also provides computational power to the ML application executed on the communication terminal 11. Because the cloud server with high computational power in the cloud system 12 performs part of the DNN calculation, the computation delay is reduced compared to when only the communication terminal 11 performs the DNN calculation. Also, in the example of FIG. 3(C), data transmitted from the communication terminal 11 is received and processed by the communication network 13 before being transmitted to the cloud system 12. If the data transmitted from the communication network 13 to the cloud system 12 can be made smaller than the data transmitted from the communication terminal 11, the communication time can be reduced, thereby reducing the communication delay compared to the case of FIG. 3(B), in which only the cloud system 12 performs the calculation. Therefore, the sum of the computation delay, which is the time required for each communication to perform the DNN calculation, and the communication delay, which is the time required for each communication to communicate the information required for the DNN calculation, may be shorter than in the case of FIG. 3(B).

[0045] In this way, in this embodiment, by distributing and processing a series of DNN calculations, the time required to execute an ML application, more specifically, the time from when an input is made to the DNN until an output is obtained from the DNN, is kept within a predetermined allowable limit. Note that, hereinafter, the time required to execute an ML application is referred to as the execution delay.

[0046] Furthermore, if the communication network 13 is determined to be in charge of the calculation, one or more communication nodes within the communication network 13 are further determined to be in charge of the calculation. Note that the above-mentioned wireless communication node 131 and donor node 132 correspond to communication nodes. Furthermore, there are communication nodes within the core network 133, and the communication nodes of the core network 133 may also be selected to be in charge of the calculation.

[0047] For example, the DNN in FIG. 2 has seven layers, with the first and second layers handled by communication terminal 11, the third and fourth layers handled by wireless communication node 131, and the fifth to seventh layers handled by cloud system 12. In this case, communication terminal 11 transmits the calculation results for the second layer to wireless communication node 131, which performs calculations for the third and fourth layers from the calculation results for the second layer and transmits the calculation results for the fourth layer to cloud system 12, which performs calculations for the fifth to seventh layers from the calculation results for the fourth layer. Note that cloud system 12 may return the calculation results for the seventh layer to communication terminal 11, and communication terminal 11 may determine that the input is an image of a cat based on the calculation results for the seventh layer. Alternatively, cloud system 12 may determine that the input is an image of a cat based on the calculation results for the seventh layer and return the determination result to communication terminal 11.

[0048] There are various types of DNNs, such as convolutional neural networks (CNNs), but ML applications use DNNs that can divide calculations into layers, as described above.

[0049] In this embodiment, the parameters of the DNN may or may not be updated. That is, the DNN may have already completed learning, and the parameters of the DNN may not be updated. Alternatively, a correct answer may be received from the user of the communication terminal 11 via the ML application, and learning may be performed based on the correct answer. However, when learning is performed and the DNN is updated, the new updated DNN is distributed to the calculation personnel to prevent a situation in which different DNNs are used depending on the calculation personnel.

[0050] When a communication node is selected as the computational node, the computation may be actually performed by an infrastructure for communication within the communication node. Alternatively, a server that performs the computation may be provided within the communication node. An information processing device that performs part of a cloud service from a location closer to the user than the cloud service itself (also called an edge) is generally called an edge server.

[0051] Note that the DNN calculation is not necessarily distributed among 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 calculation within the communication network 13 without using the cloud system 12. In this case, the total distance of the communication route is shortened, thereby further reducing communication delay. Furthermore, the communication terminal 11 may not perform the DNN calculation, and the DNN calculation may be distributed to the cloud system 12 and the communication network 13. Alternatively, if a communication terminal 11 connected to the communication network 13 with ample computational capacity is discovered in addition to the communication terminal 11 that executed the ML application, the discovered communication terminal 11 may be assigned to perform part of the DNN calculation with the consent of the discovered communication terminal 11. Furthermore, it may be predetermined that at least one of the communication nodes present along the communication route between the communication terminal 11 and the cloud system 12 is responsible for the calculation.

[0052] It should be noted that the cloud system 12 is not necessarily the last to perform the calculation. In some cases, the cloud system 12 may perform the calculation first, and the communication network 13 may take over the calculation from the cloud system 12.

[0053] When distributing and processing a series of DNN calculations, it is important to decide the range of calculations that each calculation is responsible for, in other words, how to decide the range of responsibility. In other words, it is also important to decide where to split the series of DNN calculations. The places where the DNN is split are also called 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 ranges.

[0054] Figure 4 illustrates the differences in delay and output data volume depending on the splitting point. The dotted bar graphs in Figure 4 show the volume of data output when calculations are performed from the input layer to the layer corresponding to the bar. Figure 4 shows that the volume of data output from each layer is not uniform, and it is preferable not to split the DNN at layers that output large volumes of data, as this reduces communication delays. The white bar graphs in Figure 4 also show the computational delay at the layer corresponding to the bar. For example, the white bar corresponding to the layer named "fc6" is high, indicating that calculations at the fc6 layer take a long time. Therefore, it is preferable to assign calculations at the fc6 layer to a device with high computational power.

[0055] In this way, the calculation delay and communication delay vary depending on the range of responsibility. Therefore, when determining the calculation responsibilities, it is preferable to also determine the range of responsibility of each calculation responsibilities.

[0056] However, even if the delay of an ML application is successfully reduced by sharing the DNN calculations, the delay may increase due to changes in the situation of the information processing system 1. For example, the computational capacity of the computational unit is not always constant, so the computation delay fluctuates. Furthermore, if a wireless communication network is included in the communication network 13, the quality of the wireless communication link frequently changes, so the communication delay is likely to fluctuate. Furthermore, if the communication terminal 11 is portable, the communication route may change as the communication terminal 11 moves. Furthermore, the network topology may change. Due to such changes in the situation, the execution delay of the application may exceed the tolerance limit, even though it was initially within the tolerance limit.

[0057] For example, the aforementioned IAB network aims to integrate backhaul links and access links, and both the access links and the backhaul links are wireless. Therefore, the status of the communication links is prone to change. Therefore, when the IAB network is included in the communication network 13 of this embodiment, communication delays are prone to change. If the initial calculation responsibilities and scopes are left unchanged, the execution delay may be worse than if the DNN calculations were not distributed.

[0058] Therefore, in this embodiment, distribution is dynamically changed based on the status of the information processing system 1. More specifically, the calculation responsibilities, scope of responsibilities, communication routes between calculation responsibilities, etc. are changed based on the status of the calculation responsibilities candidates who can be in charge of calculations and the status of the communication links between the calculation responsibilities candidates.

[0059] In an IAB network, communication nodes within the network perform relay communication. This allows coverage to be guaranteed even in millimeter-wave communication. Furthermore, by orthogonalizing backhaul links and access links at the physical layer level using not only conventional time-division multiplexing (TDM) but also frequency-division multiplexing (FDM) or space-division multiplexing (SDM), communication efficiency is improved compared to relay communication at relatively high communication layers such as Layer 3. Furthermore, the IAB network is designed specifically for millimeter-wave communication. Therefore, the coverage issue in millimeter-wave communication can be improved by using relay communication like the IAB network, and coverage can be expanded efficiently. The IAB network also supports multi-hop communication, and future deployment of a mesh-type network is anticipated.

[0060] It should be noted that the IAB network is not limited to millimeter wave communication. For example, it can be applied to vehicle tethering in which an IAB node is mounted on a car, a moving cell mounted on a train, a drone cell mounted on a drone, and the like. It is also expected to be applied to communication for IoT (Internet of Things). In particular, it can be applied to tethering communication for wearables that connects a smartphone and a wearable device. It can also be applied to other fields such as medicine and factory automation. The same applies when an IAB network is applied to this embodiment.

[0061] The IAB network architecture may be a known one. FIG. 5 is a diagram illustrating an example of the IAB network architecture. As shown in FIG. 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). Under the IAB-donor, there is an IAB-node corresponding to the wireless communication node 131, which is a relay node. These nodes are wirelessly connected in a multi-hop configuration. Each IAB-node connects a UE (User Equipment) corresponding to the communication terminal 11 via an access link. An IAB-node may be connected to multiple IAB-nodes to improve the redundancy of the backhaul link. An IAB-node includes a UE function (MT) and a communication node function (DU). That is, it operates as an MT when receiving downlink (DL) and transmitting uplink (UL) using the backhaul link, and operates as a DU when transmitting DL and receiving UL. Since the IAB-node appears to the UE as a normal base station, even if the UE is a legacy terminal, it can connect to the IAB network as shown in Figure 5(B). Note that the combination is not limited to MT and DU, and a combination of MT and MT may also be used.

[0062] The effects of distributing and dynamically changing DNN calculations are explained below. Figure 6 shows the effects of distributing DNN calculations. Bar graph (1) shows the execution delay when DNN calculations are performed by the communication terminal 11 alone. Bar graph (2) shows the execution delay when DNN calculations are performed by the communication terminal 11 and a cloud server in the cloud system 12. Bar graph (3) shows the execution delay when DNN calculations are performed by the communication terminal 11 and a multi-access edge computing (MEC) server, a type of edge server possessed by a communication node in the communication network 13. Bar graph (4) shows the execution delay when DNN calculations are performed by the communication terminal 11, the MEC server, and the cloud server. The dotted portions of the bar graphs represent calculation delays, and the white portions represent communication delays.

[0063] The communication terminal 11 was a commercially available laptop, the MEC server had a Ryzen (registered trademark) 3800X CPU (Central Processing Unit) and 32 GB (Gigabyte) of memory, and the cloud server had an Intel (registered trademark) Core i9-9900 CPU and 128 GB of memory, so that the cloud server had less calculation delay than the MEC server. The communication capacity between the communication terminal 11 and the MEC server was set to 100 Mbps (Megabit per second), and the communication capacity between the MEC server and the cloud server was set to 30 Mbps. The DNN used was Residual Network (ResNet) 18, a type of convolutional neural network.

[0064] As shown in Figure 6, in the case of (1), there is no communication delay, but the execution delay is the largest at 212 ms (milliseconds). In the case of (2), the communication delay is large. In the case of (3), the communication delay is suppressed because the MEC server is close to the communication terminal 11, but the calculation delay is large because the MEC server has lower computing power than the cloud server, and as a result, the execution delay is larger than in the case of (2). On the other hand, in the case of (4), the calculation 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 calculation 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 the case of (4), the execution delay is the smallest at 53 ms.

[0065] In this way, it can be seen that the execution delay can be reduced by also using communication nodes within the communication network 13 to distribute the DNN calculations. As shown in Figure 4 above, the calculation delay and communication delay vary depending on the scope of responsibility, and therefore the simulation results in Figure 6 may also vary depending on the scope of responsibility. In other words, depending on the scope of responsibility, the execution delay in case (4) above may be greater than in cases (1) to (3) above, but by appropriately defining the scope of responsibility, it is possible to make the execution delay in case (4) above smaller than in cases (1) to (3) above.

[0066] We also demonstrate the effect of dynamically changing the distribution of DNN computations. Figure 7 shows the network topology of the IAB network used in the simulation. The network in Figure 7 is composed of 10 nodes: wireless communication nodes 131A to 131F of the IAB network, a donor node 132 of the IAB network, communication nodes 1331A and 1331B of the core network 133, and a 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 of Figure 6. The specifications of the donor node 132, communication nodes 1331A and 1331B, and cloud server 121 are the same as those of the cloud server used to demonstrate the effect of DNN computation distribution. The access links and backhaul links of the IAB network share a communication capacity of 4 Gbps (Giga bit 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.

[0067] It is also assumed that the communication terminal 11 uses the aforementioned commercially available laptop and moves as indicated by the arrow in Fig. 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 is connected changes. Therefore, the communication route to the cloud server 121 also changes. Therefore, each time the communication route changes, the calculation responsibility and the range of responsibility are determined, and the DNN calculation is executed.

[0068] Furthermore, in order to simulate fluctuations in the wireless communication link, fluctuations in communication capacity for the simulation were defined. Fig. 8 is a diagram showing fluctuations in communication capacity for the simulation. Fig. 8(A) shows fluctuations in communication capacity of the access link between the communication terminal 11 and the wireless communication node 131 in Fig. 7. Fig. 8(B) shows fluctuations in communication capacity between the wireless communication nodes 131 in Fig. 7. In the example of the access link, the communication capacity is varied over time from 200 Mbps to 800 Mbps. Using this link fluctuation, the effect of delay due to fluctuations in the wireless communication link was simulated.

[0069] Figure 9 illustrates the impact of communication network 13 resources on execution delay. Figure 9(A) shows the relationship between the communication capacity between the communication terminal 11 and the IAB node and execution delay. The bar graph in Figure 9(A) represents execution delay, with the left bar, which represents the larger communication capacity of the wireless communication link, being 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 also increases. Because the quality of the wireless communication link is prone to fluctuation, when distributing DNN calculations, the distribution settings must be changed taking the quality of the wireless communication link into account. Figure 9(B) also shows the relationship between the computational capacity of the IAB node in charge of the calculation and execution delay. In Figure 9(B), the left bar, which represents the larger computational capacity, is smaller. As the computational capacity of the IAB node increases, delay reduction can be expected. Furthermore, as shown in Figure 9, the computational delay in each layer of the DNN varies, so the scope of responsibility must be determined according to fluctuations in the IAB node's computational capacity.

[0070] In this way, the resources of the communication network 13, such as the quality of the communication links and the computational capacity of the communication nodes, affect the execution delay, but these may fluctuate over time due to changes in the network topology, changes in application requirements, etc., so the distribution of DNN calculations is dynamically changed to track these fluctuations. In other words, it is preferable to dynamically change the calculation responsibilities, scope of responsibility, communication routes, etc., taking into account the quality of the communication links and the computational capacity of each calculation responsibilities.

[0071] This section explains the process for distributing and dynamically changing DNN calculations. First, we will show examples of KPIs (Key Performance Indicators), control targets, and information used when distributing DNNs.

[0072] As mentioned above, the KPI is the execution delay of an ML application. The execution delay of an ML application includes at least the calculation delay in each calculation task and the communication delay between the calculation tasks. Note that the execution delay can be considered to be the sum of each calculation delay and each communication delay, without taking into account the delay caused by the processing that occurs between receiving the calculation results from the previous calculation task and starting the calculation for the task in question.

[0073] The control targets are expected to include routing, DL or UL configuration at each communication node, and DNN splitting points.

[0074] The information to be used is expected to include the processing capabilities of each candidate for calculation, the status of each wireless communication link, the required specifications of the ML application, the required specifications of the communication network 13, and the mobility of the communication terminal 11. Note that the candidates for calculation are the communication terminal 11, the cloud system 12, and the communication nodes within the communication network 13, but it may be decided in advance whether the communication terminal 11 and the cloud system 12 will be in charge of calculation, in which case they may be excluded from the candidates for calculation.

[0075] The processing capabilities of each candidate computational worker are assumed to be the computational capacity, current computational reserve capacity, etc. For example, initially, the computational worker candidate with the most computational capacity among the computational worker candidates belonging to the communication network 13 may be appointed as the computational worker, and when the computational reserve capacity of the computational worker falls below a predetermined threshold, the computational worker may be changed to another computational worker candidate with sufficient computational reserve capacity. In this way, the computational worker may be changed based on the computational reserve capacity of the computational worker.

[0076] Possible communication link conditions include communication capacity, communication quality, etc. In the case of an IAB network, this includes the conditions of the backhaul link and the access link.

[0077] The requirements for an ML application include the allowable limit of the execution delay of the ML application, in other words, the upper limit of the execution delay that the ML application can tolerate. In addition, the upper limit of the allowable communication delay and the upper limit of the calculation delay may also be individually set.

[0078] The communication requirement specifications are assumed to be upper limits of traffic on each link. In addition, upper limits of traffic on the route set between the communication terminal 11 and the cloud system 12 may be set. These upper limits may be determined based on the requirement specifications of the ML application and the splitting point of the DNN. The movement status of the communication terminal 11 may be information related to movement, such as movement speed, movement direction, and movement pattern.

[0079] Next, the entity that determines who is responsible for calculations and the scope of responsibility will be described. The determination of who is responsible for calculations and the scope of responsibility can be made by any device belonging to the information processing system 1, and is not particularly limited. In other words, the entity that determines who is responsible for calculations and the scope of responsibility can be determined as appropriate. When there is no need to distinguish between devices that belong to the information processing system 1, such as the communication terminal 11, communication node, and cloud server, these will be referred to as entities, and the entity that determines who is responsible for calculations and the scope of responsibility will be referred to as a logical entity.

[0080] For example, a logical entity may be created by implementing a server that makes the decision within a communication node of the communication network 13 or within the cloud system 12, or a logical entity may be created by implementing a module that is responsible for determining the calculation and scope of responsibility within the infrastructure for communication within the communication node.

[0081] However, in order to determine the computational responsibility and scope of responsibility, it is preferable to constantly be aware of the resource status of the information processing system 1, and it is preferable that a device located in a position suitable for communication for this purpose becomes the logical entity.

[0082] Furthermore, both the calculation responsibility and the scope of responsibility may be determined by one logical entity, or the logical entities may be separated into one that determines the calculation responsibility and one that determines the scope of responsibility.

[0083] The resources of the information processing system 1 include the computational capacity of candidates for computation belonging to the information processing system 1, the communication capacity and communication quality of the communication links in the communication network 13, and so on.

[0084] Possible fluctuations in the communication environment include, for example, fluctuations in the quality of communication links, the computational capacity of communication nodes, network topology, and communication routes.

[0085] The processing flow of this embodiment will be described. Fig. 10 is a schematic sequence diagram showing the overall processing flow of this embodiment. For convenience of explanation, in Fig. 10, the communication node and the cloud server are shown as a set.

[0086] Furthermore, although not shown, the entities of the information processing system 1 are assumed to be composed of components responsible for each process. In this description, the logical entity includes a receiver, a transmitter, and a determiner. Furthermore, the candidates for calculation, such as the communication terminal 11, communication node, and cloud server, include a receiver, a transmitter, an acquisition unit (measurement unit), a setting unit, and a calculation unit. The main actors of each process in FIG. 10 are the above-mentioned components.

[0087] The transmitting unit of the logical entity transmits settings related to the acquisition and transmission of information such as resources of the information processing system 1 used to determine who will be in charge of 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 acquiring unit of each entity acquires information related to the resources based on the settings (T103), and the transmitting unit of each entity transmits the information related to the resources acquired based on the settings to the logical entity (T104).

[0088] The receiving unit of the logical entity receives information about resources from each entity (T105), and the determining unit of the logical entity determines the control content of each entity so as to keep the execution delay of the ML application within the allowable limit (T106). As will be described later, whether or not an entity is assigned as a computational operator is determined as part of this control content. Furthermore, the determining unit of the logical entity determines the values ​​of parameters to be set in the communication terminal 11 and the communication node, in other words, the setting values, 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 transmitting unit of the logical entity (T108).

[0089] The receiver of each entity receives the setting value from the logical entity (T109), and the setting unit of each entity sets the parameter for operation of each entity to the setting value (T110). This results in the creation of an execution environment for the ML application that is suitable for the current resource situation.

[0090] Thereafter, the ML application is executed in the communication terminal 11 (T111). If the communication terminal 11 is designated as the calculation manager, the calculation unit of the communication terminal 11 performs the calculation within the calculation range for which it is responsible. Then, the transmission unit of the communication terminal 11 transmits information required for the DNN calculation to the designated destination (T112). If the communication terminal 11 is designated as the calculation manager, the information contains the calculation results up to the middle of the series of DNN calculations, and if the communication terminal 11 is not designated as the calculation manager, the information contains the input to the DNN. The designated destination is the next calculation manager.

[0091] The receiving unit in charge of the next calculation receives the information necessary for the DNN calculation (T113), the calculating unit in charge of the next calculation performs the calculation within its own range (T114), and the transmitting unit in charge of the next calculation transmits the calculation result to the next calculating unit (T115). The processes from T113 to T115 are performed by each calculating unit. Note that entities not designated as calculating units do not perform DNN calculations. The transmitting unit in charge of the last calculating unit returns the calculation result to the communication terminal 11. The receiving unit of the communication terminal 11 receives the final calculation result of the DNN (T116), and the ML application processing is executed based on the final calculation result (T117). In this way, the processing of the ML application is completed.

[0092] Even after the processing of the ML application is completed, each entity may continue to acquire and transmit resources based on the acquisition settings, and the logical entity may determine whether the execution delay exceeds the allowable upper limit each time it receives a resource, and if it determines that the delay exceeds the allowable upper limit, may change the control content. In this way, preparations may be made for when the ML application is executed again. Note that the acquisition and transmission of resources may be stopped and then resumed when the launch of the ML application is detected, for example.

[0093] The following provides additional information about each process in the above sequence. First, the information that is acquired will be described.

[0094] The information to be acquired from the logical entity may be information related to computational power. Examples of information related to computational power include maximum computational capability, available computational capacity, computational load (amount of computation), and the amount of computational delay expected from the computational load. For example, the number of GPUs (Graphical Processor Units) provided in each entity may be used as the maximum computational capability. Alternatively, the number of currently unused GPUs may be used as the available computational capacity.

[0095] The information may also be information about the status of a connected communication link. For example, the information may be information about a wireless communication link connection such as a radio link failure, or information about the communication quality of a wireless communication link such as RSRP (Reference Signal Received Power), RSRQ (Reference Signal Received Quality), or RSSI (Reference Signal Strength Indication). Information about the throughput and delay of a communication link may also be used.

[0096] The information may also be information about the required specifications of the ML application. For example, the information may be information about the upper limit of the delay that the ML application allows. Note that the required specifications of the ML application may differ for each communication terminal 11.

[0097] The information may also be information about the traffic of the communication network 13. For example, it may be an upper limit value of traffic, a traffic buffer status, etc. Note that estimated values ​​may be used instead of actual measured values ​​of traffic.

[0098] The information may also be information related to the movement (mobility) of the communication terminal 11. The communication terminal 11 may move while an ML application is being executed. Since movement affects communication quality, information such as the speed and direction of movement may be acquired.

[0099] The information may also be information related to DNN calculations. For example, each entity may be made to estimate the calculation delay for each layer of the DNN. Alternatively, multiple candidate areas may be determined in advance, and the logical entity may instruct each entity to estimate the calculation delay for each candidate area. Alternatively, the logical entity may be made to estimate the load due to DNN calculations (e.g., GPU usage rate). The calculation delay may be calculated based on past calculation history, or may be calculated as a theoretical time required to calculate the data size shown in Figure 4 assuming that the current available calculation capacity continues.

[0100] The entity may actually measure the specified information and transmit the actual measurement value to the logical entity. Alternatively, the entity may transmit a future estimated value calculated based on the actual measurement value to the logical entity. For example, if the scheduled execution time of the ML application is 10 seconds from now, the predicted location of the communication terminal 11 10 seconds from now may be transmitted to the logical entity. Furthermore, the communication terminal 11 and the communication node may quantize the actual measurement value, or may determine which of predetermined classification items the actual measurement value falls into and transmit information on the classification item that is determined to fall into the logical entity. The estimation may be performed based on past records.

[0101] A known technique may be used to acquire information about resources. For example, information about the performance of an entity, such as computing power and available computing capacity, may be acquired using a function such as a tool provided by an operating system (OS) installed in the entity. Information about the quality of a communication link, such as communication quality such as RSRQ, may be confirmed using a known technique.

[0102] There may also be a communication node that acts as a representative, collecting information to be transmitted to the logical entity and transmitting it to the logical entity on behalf of the logical entity. In this case, for example, information such as the traffic of each link and the movement of the communication terminal 11 may be summed up from a plurality of communication nodes and then transmitted to the logical entity.

[0103] The timing of information acquisition may also be specified. Periodic acquisition (periodical measurement) may be instructed. For example, the logical entity may determine the acquisition start time, acquisition end time, and acquisition period and instruct each entity, and each entity may perform acquisition according to the instructions. The number of acquisitions, the repetition waiting period, etc. 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 be started when a wireless communication link failure is detected. Alternatively, acquisition may be started when the processing load of the node, the delay of the ML application, the communication delay, etc. exceed a predetermined threshold. Note that these thresholds may be adjusted by the logical entity. Alternatively, acquisition may be started when an acquisition request is received. The request may be sent from the logical entity or from an upper node other than the logical entity.

[0104] For example, to measure the quality of the backhaul link, it may be specified that the RSRQ of the backhaul link be measured over a period of, for example, 10 ms, at regular intervals, for example, at 100 ms intervals.

[0105] The transmission of this information to the logical entity, in other words, the report, may be performed as appropriate, and the timing of the transmission and the format of the transmitted data are not particularly limited. For example, if an instruction to periodically obtain information is given, the transmission may also be performed periodically. Alternatively, the information may be transmitted when a condition is 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. The information may also be transmitted immediately after acquisition, or after an offset time has elapsed since acquisition. The information may also be transmitted when the acquired value meets a condition. For example, a report may be sent when there is a change that requires a change in the calculation responsibility or scope, and not sent otherwise.

[0106] Furthermore, each entity does not need to send all acquired information to the logical entity. For example, information may be acquired at a fine granularity level, and only acquired information that meets a predetermined condition, such as information with large fluctuations or information exceeding a threshold, may be sent to the logical entity. In other words, the logical entity may separately instruct the information to be acquired and the information to be reported. Furthermore, the acquired information may be processed as appropriate for reporting to the logical entity.

[0107] Furthermore, the setting 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.

[0108] Next, the determination of the control content will be explained. The control content to be determined includes the communication link and wireless communication parameters. In addition, the calculation responsibility and the scope of responsibility are also determined.

[0109] Control of communication links includes, for example, determining a communication route. For example, if the communication network 13 includes a relay network such as an IAB network, a relay route is determined. Note that even if a computational node is selected from the communication nodes on the communication route between the communication terminal 11 and the cloud system 12, the selection cannot be made unless there is a communication node with available computational capacity on the communication route. Therefore, the logical entity may determine the communication route using not only the quality of the communication link but also the computational capabilities and available computational capacity of the communication nodes. The IAB nodes to be passed through and the number of hops may also be changed in a similar manner.

[0110] Control of communication parameters includes, for example, improving the quality of communication links on a communication route. This reduces communication delays. For example, the logical entity may transmit a setting value to a wireless communication node 131 on the communication route to increase the strength (transmission power) of the radio waves to be transmitted. In addition, the logical entity may instruct the wireless communication node 131 to reduce the communication capacity of wireless communication links that are not on the communication route so as to prevent interference. In this way, a setting value that improves the quality of the communication link may be determined.

[0111] Furthermore, the correspondence relationship between the downlink (DL) and uplink (UL) in a wireless communication link may be changed as a control related to wireless communication parameters. In a wireless communication link, it is possible to adjust the communication bandwidth of one of the DL and UL by increasing it and decreasing the other. Therefore, the correspondence relationship between the DL and UL may be adjusted to reduce communication delay. Note that the communication delay may be calculated from the size of the data to be 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.

[0112] However, adjusting the communication bandwidth can increase the likelihood of interference. For example, in an IAB network, cross link interference (CLI) with the IAB network link is more likely to occur. Therefore, careful attention must be paid to adjusting the communication bandwidth.

[0113] The calculation responsibility and the range of responsibility are determined in consideration of the computational capacity of each wireless communication node 131, the amount of data output in each range of responsibility, the quality of the communication link on the communication route, etc. At the very least, a wireless communication node 131 that becomes a bottleneck in delay is prevented from being in charge of calculation.

[0114] However, searching for the optimal solution for calculation responsibility and range of responsibility requires a lot of load and time. This is because the number of candidate calculation responsibility candidates increases exponentially depending on the communication route and the number of DNN layers. Therefore, it is easier to narrow down the candidate calculation responsibility candidates in advance and search for a sub-optimal solution. For example, multiple combinations of range of responsibility can be prepared in advance, and the combination used can be changed depending on the state of the communication environment. Here, the combination of range of responsibility prepared in advance is also referred to as Splitting mode.

[0115] FIG. 11 is a diagram illustrating Splitting modes. Four Splitting modes are shown in FIG. 11. A table showing multiple Splitting modes, such as that shown in FIG. 11, is also referred to as a Splitting mode table. In the example of FIG. 11, the range of responsibility of each computational unit is determined by selecting, from the four Splitting modes, the Splitting mode that minimizes the execution delay of the ML application. In the example of FIG. 11, the communication terminal 11, the communication nodes in the communication network 13, and the cloud system 12 are responsible for computation. However, Splitting modes with different computational responsibilities may be prepared. Also, for example, when the execution of the ML application is initially started, a specific Splitting mode may be selected by default, and then switched to another Splitting mode. For example, if it is determined that the load on computational units other than the communication terminal 11 is high, the Splitting mode in the second row, which has a small range of responsibility for computational units other than the communication terminal 11, may be selected to have the communication terminal 11 shoulder the load. In this way, when a specific calculation task is overloaded, the load can be easily improved by switching to a Splitting mode in which the scope of the calculation task is small. Note that the decision on whether to switch the Splitting mode may be made periodically or dynamically.

[0116] It is also possible to determine both a Splitting mode to be used normally and a temporary Splitting mode to be used when it is determined that the Splitting mode to be used normally cannot satisfy the requirements of the ML application. In this case, it is possible to quickly switch the Splitting mode without performing a process of selecting an appropriate Splitting mode when it is determined that the requirements of the ML application cannot be satisfied.

[0117] In this way, by preparing candidates for the range of responsibility in advance, dynamic changes to distribution may be made easier. Furthermore, the contents of the Splitting mode, i.e., the range of responsibility of each calculation agent, may be updated by the logical entity as appropriate. Note that the updated Splitting mode is notified to each entity as it progresses, so that each calculation agent does not perform calculations based on the Splitting mode before the update.

[0118] Also, a Splitting mode may be set for each communication route. Fig. 12 is a diagram illustrating the Splitting mode set for each communication route. Three communication routes, Route_A, Route_B, and Route_C, are shown in Fig. 12. For each of these three communication routes, multiple Splitting modes such as those shown in Fig. 11 are set.

[0119] For example, for the 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, which are present on the communication route Route_A, are candidates for calculation. A DNN layer is assigned to these candidates for calculation, and a Splitting mode table is created. Similarly, for the communication routes Route_B and Route_C, candidates for calculation are selected, and a Splitting mode table is created.

[0120] FIG. 13 is a diagram showing an example of the Splitting mode for each communication route. FIG. 13(A) shows the Splitting mode table for the communication route Route_A, and FIG. 13(B) shows the Splitting mode table for the communication route Route_B. In the example of FIG. 13, the number of layers in the DNN is assumed to be 40, and the value in each cell of the Splitting mode table indicates the number of layers that the corresponding candidate for calculation is responsible for. Note that if a "0" is written in a cell, this means that there is no layer that the corresponding candidate for calculation is responsible for. In other words, this means that the candidate for calculation is not responsible for the calculation.

[0121] In the above, it is assumed that the logical entity determines the range of responsibility, that is, the splitting mode, but a method is also possible in which the logical entity creates a splitting mode table and transmits the splitting mode table to the calculation section, and the calculation section selects the splitting mode. For example, when the communication terminal 11 performs a handover and changes the wireless communication node 131 to which it is connected, the communication terminal 11 can select a splitting mode from the splitting mode table of the changed communication route and notify each calculation section of the selected splitting mode, thereby resetting the splitting mode.

[0122] The range of responsibility of a computational node using a wired link may be fixed. For example, since wireless communication is not performed between the cloud system 12 and the edge server of the core network 133, it is expected that the status of the communication link will not change much. By fixing the range of responsibility of a computational node located in an area where the communication environment does not fluctuate much, it is possible to reduce the variation in the splitting mode. For example, the splitting mode of the communication route Route_A shown in FIG. 13(A) includes seven candidate computational nodes, but by configuring the settings, it is possible to assign a suboptimal splitting mode. By fixing the allocation values ​​between the cloud system 12 and the core network 133, it is possible to reduce the number of variations in the splitting mode.

[0123] Furthermore, the logical entity may change the Splitting mode table based on the anchor point. The 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. Although the communication route changes as the communication terminal 11 moves, the anchor point is a communication node that is common to all communication routes that can be set within the assumed movement area of ​​the communication terminal 11. For example, in the example of FIG. 12, if the communication terminal 11 wirelessly connects to any of the wireless communication nodes 131A to 131D, the donor node 132 is always present on the communication route to the cloud system 12. Therefore, in the example of FIG. 12, the donor node 132 is an anchor point. For example, the logical entity may determine the Splitting mode from the Splitting mode table as long as the anchor point remains on the communication route, and may reset the Splitting mode table itself when it detects that the anchor point has disappeared 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.

[0124] Furthermore, the logical entity may change the range of each calculation in charge on a layer-by-layer basis. For example, if the range of communication terminal 11 is determined to be layers 1 to 4 and then the load on communication terminal 11 increases slightly, the range of communication terminal 11 may be changed to layers 1 to 3, and layer 4, which is no longer in the range of responsibility, may be assigned to the next calculation in charge. In this case, control is performed at a finer granularity than at the Splitting mode level, and although the load on the logical entity increases, the risk of not meeting the requirements of the ML application can be reduced.

[0125] Next, parameter setting will be described. The communication terminal 11 and the communication node update the values ​​of parameters related to the communication link, coverage area, etc. according to the content determined by the logical entity. The instruction to set the parameter may be given directly from the logical entity, or may be given indirectly via a representative wireless communication node 131 that aggregates multiple wireless communication nodes 131. The notification method is not particularly limited, and may be signaling notification in the application layer or signaling notification in the physical layer. It may be semi-static notification such as RRC (Radio Resource Control) signaling, or dynamic notification such as DCI (Downlink Control Information) or UCI (Uplink Control Information).

[0126] Furthermore, a sequence diagram when the calculation manager is switched is also shown. Fig. 14 is a sequence diagram before and after the calculation manager is switched. For ease of explanation, the blocks in Fig. 14 are labeled with the process symbols shown in Fig. 10.

[0127] 14 shows the case where a logical entity is implemented in the donor node 132. Also, it is assumed that initially, the communication terminal 11, the wireless communication node 131A, the wireless communication node 131C, and the cloud system 12 were in charge of calculations, but the quality of the backhaul link between the wireless communication node 131A and the wireless communication node 131C deteriorates, and a change in the range of responsibility is executed. Note that it is assumed that the processing up to the parameter setting (T110) shown in FIG. 10 has already been executed, and the processing from T111 will be shown.

[0128] The ML application of the communication terminal 11 is executed (T111), and the communication terminal 11 transmits information required for the DNN calculation to the next person in charge of calculation (T112). The wireless communication node 131A, which is the next person in charge of calculation, receives the information (T113), performs calculation within its own area of ​​responsibility (T114), and transmits the calculation result to the wireless communication node 131C, which is the next person in charge of calculation (T115). The wireless communication node 131C similarly executes the processes from T113 to T115, and the calculation result of the wireless communication node 131C is transmitted to the cloud system 12, which is the next person in charge of calculation. The cloud system 12, which is the next person in charge of calculation, similarly executes the processes from T113 to T115, and since the cloud system 12 is the final person in charge of calculation, the cloud system 12 transmits the final calculation result of the DNN to the communication terminal 11.

[0129] Thereafter, periodic resource acquisition (T103) is performed in each entity, and the wireless communication node 131A that detected the problem reports to the donor node 132, which is a logical entity (T104). Note that in the example of Fig. 14, the core network 133 and the cloud system 12 are set not to report to logical entities, and so blocks of T104 are not shown for the core network 133 and the cloud system 12. Furthermore, other entities are also set not to report to logical entities if they do not detect a deterioration. Therefore, entities other than the wireless communication node 131A that detected the problem do not report, and therefore blocks of T104 are not shown.

[0130] For example, each entity performs measurements on the backhaul link, and it is assumed that the wireless communication node 131A detects that the RSRQ value of the backhaul link with the wireless communication node 131C has fallen below a predetermined value, and notifies the logical entity of this.

[0131] The donor node 132, which is a logical entity, receives the report from the wireless communication node 131A, determines from the reporting result that simply increasing the bandwidth of the backhaul link in question is insufficient, and determines new settings, such as changing the computational responsibility, and transmits them to each entity (T105 to T108). Note that in the example of Fig. 14, the logical entity transmits settings only to entities that require new settings, so no arrows indicating transmission are shown to the core network 133 and the cloud system 12. Note that settings may also be transmitted to entities that do not require new settings.

[0132] The logical entity may request additional reports from each entity. For example, when a report that there is a problem in the backhaul link is received from the wireless communication node 131A, the logical entity may request the neighboring communication nodes of the wireless communication node 131A to transmit reports on traffic buffers, etc., in order to consider whether the problem can be addressed by increasing the bandwidth of the backhaul link.

[0133] Each entity that has received the new setting from the logical entity receives the new setting and sets it in its parameters (T109, T110). In the example of Fig. 14, it is assumed that the backhaul link from the wireless communication node 131A to the wireless communication node 131C is eliminated and a new backhaul link from the wireless communication node 131A to the wireless communication node 131D is established. As a result, it is assumed that the communication route is changed, the wireless communication node 131C that is not on the communication route is removed from the role of calculation, and the wireless communication node 131D is added to the role of calculation.

[0134] After that, the ML application is executed again (T111), and the communication terminal 11 transmits information required for the DNN calculation to the wireless communication node 131A, which is responsible for the next calculation (T112). The wireless communication node 131A receives the information (T113) as in the previous case and performs calculations within its own responsibility (T114), but transmits the calculation results to the wireless communication node 131D, which is now responsible for the next calculation (T115), rather than to the wireless communication node 131C. As a result, unlike the previous case, the wireless communication node 131C does not execute the processes from T113 to T115. The wireless communication node 131D also executes the processes from T113 to T115, and transmits the calculation results of the wireless communication node 131D to the cloud system 12, which is responsible for the next calculation. The cloud system 12, which is responsible for the next calculation, also executes the processes from T113 to T115, and since the cloud system 12 is responsible for the final calculation, the final calculation results of the DNN are transmitted from the cloud system 12 to the communication terminal 11.

[0135] In this way, by changing the computational responsibility, it is possible to reduce computational delays caused by problematic entities and communication delays caused by problematic communication links, and to prevent the execution delay of ML applications from exceeding the allowable upper limit.

[0136] In the example of FIG. 14, it was determined that simply increasing the bandwidth of the backhaul link was insufficient, and so the communication route and the calculation responsibility were changed. However, if it is determined that simply changing the range of responsibility is sufficient, only the calculation responsibility may be changed. For example, a splitting mode that reduces the range of responsibility of the wireless communication node 131C may be selected from the Splitting mode table shown in FIG. 11. Also, for example, while the range of responsibility of the wireless communication node 131A was previously from layer 20 to layer 25 of the DNN, and the range of responsibility of the wireless communication node 131C was from layer 26 to layer 40 of the DNN, the range of responsibility of the wireless communication node 131A may be expanded to layer 20 to layer 29 of the DNN, and the range of responsibility of the wireless communication node 131D may be changed to layer 30 to layer 40 of the DNN. In this way, the wireless communication node 131C may continue to be responsible for calculation.

[0137] The range of responsibility may also be changed when the person in charge of calculation is changed as in the example of FIG.

[0138] In this description, the information processing system 1 is described as including the communication terminal 11, the communication network 13, and the cloud system 12, but in reality, it is assumed that these have different owners. It is also assumed that a network for access by the communication terminal 11, such as an IAB network, and the core network 133 have different owners. Therefore, the range that a logical entity can instruct and set may be part of the information processing system 1. For example, if the 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 set the communication node in the IAB network.

[0139] As described above, in this embodiment, when the time required to execute an ML application exceeds an upper limit due to a change in resources of the information processing system 1, settings such as the calculation responsibility, the scope of responsibility, the communication capacity of the communication link, the communication route, etc. are changed. This makes it possible to suppress the effects of the change and operate the ML application smoothly.

[0140] Note that when all of the DNN calculations are delegated to an external device such as a cloud server, the input to the DNN is transmitted from the communication terminal 11 to the external device. For example, if the input layer contains m nodes, input data consisting of values ​​such as input 1, input 2, . . . , input m is transmitted outside the communication terminal 11. However, this has been pointed out as problematic from the perspective of privacy and information leakage. Therefore, such problems can be alleviated by having the communication terminal 11 take charge of at least the first to middle of a series of DNN calculations, thereby preventing the input data itself from being transmitted to the outside.

[0141] In the explanation so far, the entity that determines the computational responsibility and the scope of responsibility is described as a logical entity, and it is assumed that the logical entity is a communication node of the communication network 13, a cloud server, or the like. For example, it has been shown that a device that is suitable for grasping the resource status can be used as a logical entity so that the computational responsibility and the scope of responsibility 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 used as a logical entity. The communication terminal 11 can also be a logical entity. In other words, the communication terminal 11 may determine the computational responsibility and the scope of responsibility.

[0142] Also, as shown in FIG. 10 and other figures, in the explanations so far, each entity such as the communication terminal 11 periodically transmits resources to the logical entity, and the logical entity determines the computational responsibility and scope based on the resources of each entity and notifies each computational responsibility. Therefore, the computational responsibility and scope are already determined when the communication terminal 11 starts the ML application or when the ML application executes the DNN calculation. However, it is also possible for the communication terminal 11 to determine its own scope of responsibility by notifying the communication terminal 11 in advance from the logical entity or the like of the conditions for determining the scope of responsibility. Note that the entity transmitting the conditions to the communication terminal 11 does not have to be a logical entity.

[0143] For example, when executing an ML application, the communication terminal 11 may check factors such as its own computational capacity and the quality of communication with the cloud system 12, and determine up to what point the DNN calculation should be performed depending on the factors. The communication terminal 11 may decide to perform calculations up to one of the layers of the DNN, or may decide to perform calculations up to some of the multiple calculations set in a node within a certain layer. Alternatively, after determining the responsibility for each calculation, the logical entity may notify the communication terminal 11 of the minimum range of calculations that it desires the communication terminal 11 to perform, and the communication terminal 11 may expand the range of calculations depending on the factors. Alternatively, after determining the responsibility for each calculation, the logical entity may notify the communication terminal 11 of the range of calculations that it is allowed to perform (in other words, the upper limit of the range of calculations), and the communication terminal 11 may narrow the range of calculations notified by the logical entity depending on the factors.

[0144] When communication terminal 11 holds conditions for determining the coverage area of ​​communication terminal 11 and dynamically determines the coverage area, the coverage area can be determined based on the resources at the time when communication terminal 11 starts up the ML application or when the ML application executes DNN calculations. Therefore, the coverage area of ​​communication terminal 11 can be made more responsive to the state of communication terminal 11. In this case, it is possible to reduce the number of periodic resource transmissions from communication terminal 11 to the logical entity and the number of notifications of coverage area changes from the logical entity to communication terminal 11, thereby reducing the processing load of each entity and the use of communication resources.

[0145] FIG. 15 is a diagram illustrating an example of conditions for determining the range of responsibility of the communication terminal 11. The example in FIG. 15(A) illustrates conditions for determining the calculation range of the DNN based on the computational capacity of the communication terminal 11. For example, in the example in FIG. 15(A), when the computational capacity is 90% or more, the range of responsibility is indicated as n, which indicates that the communication terminal 11 is responsible for calculations from the first layer to the nth layer of the DNN. Note that in the example in FIG. 15, n is assumed to be an integer equal to or greater than 10. Furthermore, the nth layer may be the final layer of the DNN, or the final layer of the range of responsibility notified by the logical entity. It is also shown that the range of responsibility decreases as the computational capacity decreases. In the example in FIG. 15(A), when the computational capacity is less than 90% but 80% or more, the range of responsibility is indicated as up to the 4n / 5th layer, which is lower than when the computational capacity is 90% or more. Similarly, when the computational capacity is less than 80% but greater than or equal to 60%, the range of responsibility is indicated as up to the 3n / 5th layer. When the computational capacity is less than 60% but greater than or equal to 40%, the range of responsibility is indicated as up to the 2n / 5th layer. When the computational capacity is less than 40% but greater than or equal to 20%, the range of responsibility is indicated as up to the n / 5th layer. In this manner, the range of responsibility of the communication terminal 11 may be determined. Furthermore, when the computational capacity is other than that, i.e., less than 20%, the range of responsibility is set to up to the first layer, which means that the communication terminal 11 does not perform DNN calculations. In other words, even if the communication terminal 11 is designated as the calculation manager, the communication terminal 11 may refuse to perform the calculation. In this manner, by reducing the range of responsibility when the communication terminal 11 has a small computational capacity, it may be possible to prevent a situation in which calculations in the range of responsibility take a long time due to the communication terminal 11's small computational capacity. Here, instead of a relative amount (%), the computational capacity may be expressed as an absolute amount, such as FLOPS (the product of the clock frequency and the number of operations per clock), or other values ​​that can indicate computational capacity.

[0146] In the example of FIG. 15(B), the scope of responsibility is determined similarly to FIG. 15(A), but the condition is based on delay time, which is a type of communication quality. The delay time with which the communication destination is involved may be determined in advance and is not particularly limited. It may be the next calculation destination, 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 related to wireless processing may be considered as the delay time without considering wireless (radio wave) and wired propagation delays. The example of FIG. 15(B) indicates that when the delay time is 500 ms or more, the communication terminal 11 is responsible for calculations from the first layer to the nth layer of the DNN. It is also indicated that if the delay time is less than 500 ms but 250 ms or more, the range of responsibility is up to the 4n / 5th layer, if the delay time is less than 250 ms but 100 ms or more, the range of responsibility is up to the 3n / 5th layer, if the delay time is less than 100 ms but 50 ms or more, the range of responsibility is up to the 3n / 5th layer, if the delay time is less than 50 ms but 10 ms or more, the range of responsibility is up to the 2n / 5th layer, and it is indicated that if the delay time is anything other than that, that is, less than 10 ms, the communication terminal 11 will not perform DNN calculations.

[0147] In the example of Figure 15(B), the coverage area of ​​the communication terminal 11 increases uniformly as the delay time increases, but it is not necessary to increase the coverage area uniformly. As shown in Figure 4, the data size of the calculation result does not decrease uniformly as the DNN calculation progresses. Therefore, it is sufficient to determine the combination of delay time and coverage area by taking into account the data size of the calculation result in each layer with reference to the data shown in Figure 4.

[0148] Furthermore, such conditions may be set appropriately according to the specifications of the embodiment, and are not particularly limited. For example, the conditions may be changed for each type of ML application. Furthermore, multiple conditions may be set and the change may be made when all of the conditions are satisfied, or the change may be made according to the condition with the highest predetermined priority among the satisfied conditions.

[0149] Furthermore, a confidentiality level may be predetermined for each type of ML application, and when the confidentiality level of an executed ML application is equal to or higher than a predetermined threshold, the range of responsibility of communication terminal 11 may be changed from the first layer to the second layer or higher. By doing so, communication terminal 11 will not transmit input data of the DNN to the outside. This can reduce the risk of highly confidential information being leaked to a location other than communication terminal 11.

[0150] However, when the communication terminal 11 determines its own range of responsibility, the next calculation operator does not know from which layer of the DNN the calculation should start. Therefore, for example, if the logical entity notifies each calculation operator of its range of responsibility, but the communication terminal 11 changes the range of responsibility notified by the logical entity, the next calculation operator may input the calculation results from the communication terminal 11 to each node in the first layer of its planned range of responsibility without knowing that the communication terminal 11 has changed its range of responsibility. Therefore, when the communication terminal 11 determines or changes its range of responsibility, the communication terminal 11 needs to notify not only the calculation results but also information that allows the next calculation operator to recognize the position where the calculation should start. The information may be, for example, information indicating the last layer of the range of responsibility of the communication terminal 11, information indicating the first layer of the range of responsibility of the next calculation operator, information indicating the node that output the calculation result, or information indicating the node to which the calculation result should be input. The communication terminal 11 may transmit the information directly to the next calculation operator or may transmit it to the next calculation operator via the logical entity.

[0151] FIG. 16 is a diagram illustrating an example of a calculation result transmitted from the communication terminal 11 when the communication terminal 11 determines its own range of responsibility. The example in FIG. 16 includes the output value of each node, which is the calculation result, and identification information for identifying the node that output the output value. In the example in FIG. 16, the node identification information (identifier) ​​is written as "node 3_4," where the number at the end indicates the layer number of the node, 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. Furthermore, "out 3," written on the same line as "node 3_4," indicates the output value from the third node included in the fourth layer. The node to which the output of each node is input can be determined from the DNN structure, etc. The next calculation operator, receiving the information shown in FIG. 16, simply determines the node to which the received output value should be input from the DNN structure, etc., and begins the calculation.

[0152] In the above explanation, it has been assumed that a calculation manager performs the calculations set for each node in its assigned range and sends the output value of the node belonging to the last layer of its assigned range to the next calculation manager. However, in general, multiple calculations are set for a DNN node. Therefore, a calculation manager may perform only a portion of the multiple calculations set for the node, and the remaining portion may be performed by the next calculation manager. As an example of calculation within a node, each input data input to the node is first multiplied by a weighting coefficient set for the link through which the input data passed, and then the results are added. Furthermore, a bias value set for each node is added to this sum. The sum is then input to a predetermined activation function, and the output from the activation function becomes the node's output value. Therefore, for example, it is possible to divide the calculations in this manner, such that a calculation manager performs the calculations up to the sum and the next calculation manager starts with calculating the activation function. The links connected to nodes are also called edges.

[0153] 17 is a schematic sequence diagram showing the overall processing flow when the communication terminal 11 determines its own range of responsibility. Note that in this example of the sequence diagram, it is assumed that the cloud system 12 manages the structure of the DNN used by the ML application, the conditions for determining the range of responsibility for a series of DNN calculations, and the like. Also, in this example of the sequence diagram, the DNN calculations are handled by the communication terminal 11 and the cloud system 12, but it is also possible for the communication terminal 11 and the communication node to be 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-mentioned conditions.

[0154] The cloud system 12 transmits information such as the DNN to be used by the ML application, the settings of the DNN, and the conditions for determining the scope of responsibility (T201). The information is transferred via a communication node of the communication network 13, and the communication terminal 11 receives the information (T202), and sets up the ML application, such as the DNN to be used, based on the information (T203).

[0155] The communication node can detect that the communication terminal 11 has launched an ML application based on a 5QI (5G QoS Identifier) ​​or S-NSSAI (Single-Network Slice Selection Assistance Information) included in a connection request from 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 an ML application in the communication terminal 11, notify the cloud system 12 of the detection, and the cloud system 12 may extract a DNN to be used by the detected ML application.

[0156] Thereafter, the communication terminal 11 decides to execute the ML application (T204). At that time, the communication terminal 11 checks its own processing capacity (T205), and determines the range of responsibility of the communication terminal 11 based on the conditions for determining the range of responsibility of the DNN and the processing capacity (T206). For example, if the conditions for determining the range of responsibility of the DNN are the example shown in FIG. 15(A), and the DNN is composed of 10 layers (n is 10), and the available computational capacity is 50%, the communication terminal 11 determines that the layer to divide the DNN is the fourth layer. Then, the communication terminal 11 executes the ML application and calculates the range of responsibility of the communication terminal 11 (T207). In the previous example, calculations are performed from the first layer to the fourth layer of the DNN.

[0157] After the calculation of the assigned range, the assigned range may be expanded again. For example, after the calculation of the assigned range is completed, it may be confirmed whether a predetermined condition is satisfied, and based on the confirmation result, it may be determined whether or not to continue the calculation in the next layer. Here, whether or not the predetermined condition is satisfied may be determined based on the computational capacity, delay time, confidentiality level, etc. In this way, the assigned range may be determined multiple times.

[0158] After calculating the coverage area of ​​the communication terminal 11, the communication terminal 11 transmits information indicating the coverage area of ​​the communication terminal 11 and the calculation result, as shown in Fig. 16, to the cloud system 12 via the communication node (T208). The cloud system 12 receives the information via the communication node (T209).

[0159] Based on the received identification information of each node, the cloud system 12 identifies the node that inputs the received output value, i.e., each node in the layer next to the last layer in the range covered by the communication terminal 11, and calculates the range covered by the cloud system 12 (T210). After the calculation is completed, the cloud system 12 returns the calculation results for the range covered by the cloud system 12 to the communication terminal 11 (T211). Note that the range covered by the cloud system 12 is assumed to include all remaining calculations of the DNN, but it does not have to include all remaining calculations of the DNN. For example, the communication terminal 11 may receive the calculation results of the cloud system 12 and perform further calculations for the remaining DNN.

[0160] The communication terminal 11 receives the calculation result of the cloud system 12 via the communication node (T212). Then, the processing of the ML application is executed based on the final calculation result (T213). In this manner, the processing of the ML application is completed. Note that the processing result of the ML application may also be calculated by an entity other than the communication terminal 11, such as the cloud system 12.

[0161] As described above, when distributed learning of DNNs is performed between entities, the communication terminal holds the conditions for determining the DNN's range of responsibility, and the communication terminal determines its own range of responsibility, allowing for more appropriate distribution in line with the communication terminal's circumstances. Furthermore, depending on the confidentiality of the ML application, the communication terminal can perform DNN calculations up to at least the second layer, thereby preventing input data leakage.

[0162] Common algorithms used in deep learning include convolutional neural networks (CNNs), recurrent neural networks (RNNs), and long short-term memory (LSTMs). In CNNs, the hidden layer is composed of layers called convolutional layers and pooling layers. The convolutional layer performs filtering using convolutional operations to extract data called feature maps. The pooling layer compresses and downsamples the information in the feature maps output from the convolutional layer. RNNs have a network structure in which hidden layer values ​​are recursively input to the hidden layer, and are used to process, for example, short-term time series data. LSTMs can retain the influence of distant past outputs by introducing parameters called memory cells that maintain the state of the intermediate layer into the output of the RNN's intermediate layer. In other words, LSTMs can process time series data over a longer period than RNNs. Deep learning is typically used in four technical fields: image recognition, speech recognition, natural language processing, and robotic anomaly detection. 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 the like. Natural language processing is applied to browser searches and automatic translation. Robotic anomaly detection is used in airports, railways, manufacturing sites, and the like.

[0163] The following is a supplementary explanation of the communication nodes of the communication network 13. As mentioned above, a communication node is called a communication base station (or simply a base station), and includes an infrastructure for communication, which is also called a base station device. A base station device is a type of communication device and can also be considered an information processing device. For example, a base station device may be a device that causes a communication node to function as a wireless base station (e.g., a base station, Node B, eNB, gNB, etc.), a wireless access point, etc. A base station device may also be a device that causes a communication node to function as a donor station or a relay station. A base station device may also be an optical device called an RRH (Remote Radio Head). A base station device may also be a device that causes a communication node to function as a receiving station such as an FPU (Field Pickup Unit). A base station device may also be a device that causes a communication node to function as an IAB (Integrated Access and Backhaul) donor node or an IAB relay node that provides wireless access lines and wireless backhaul lines using time division multiplexing, frequency division multiplexing, or space division multiplexing. Furthermore, the base station device may be composed of multiple devices, for example, a combination of an antenna installed in a structure such as a building and a signal processing device connected to the antenna.

[0164] The wireless access technology used by the base station device may be cellular communication technology or wireless LAN technology. Of course, the wireless access technology used by the base station device is not limited to these and may be other wireless access technologies. For example, the wireless access technology used by the base station device may be LPWA (Low Power Wide Area) communication technology. Of course, the wireless communication used by the base station device may be wireless communication using millimeter waves. Furthermore, the wireless communication used by the base station device may be wireless communication using radio waves or wireless communication using infrared or visible light (optical wireless).

[0165] The base station device 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. Note that the base station device may be capable of NOMA communication with other base station devices.

[0166] Note that the base station devices may be able to communicate with each other via a base station-core network interface (e.g., S1 interface, etc.). This interface may be either wired or wireless. Also, the base station devices may be able to communicate with each other via an inter-base station interface (e.g., X2 interface, S1 interface, etc.). This interface may be either wired or wireless.

[0167] Note that the 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. Also, the 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.

[0168] The term "base station" may also refer to a structure equipped with base station functions. Such structures are not particularly limited. For example, such structures include high-rise buildings, houses, steel towers, station facilities, airport facilities, port facilities, office buildings, school buildings, hospitals, factories, commercial facilities, stadiums, and other buildings. Non-building structures such as tunnels, bridges, dams, fences, and steel pillars, as well as equipment such as cranes, gates, and windmills, are also included. Furthermore, the location where such structures are installed is not particularly limited. In other words, not only land-based (ground in the narrow sense) or underground structures, but also water-based structures such as piers and mega-floats, and underwater structures such as oceanographic observation facilities can be considered structures equipped with base station functions.

[0169] Furthermore, as mentioned above, a base station may be a fixed station or a mobile station. A base station may become a mobile station by being installed in a mobile body. Alternatively, a base station may become a mobile station by having mobility and moving itself. Furthermore, a device that is inherently mobile, such as a vehicle or a UAV (Unmanned Aerial Vehicle) represented by a drone, and that is equipped with base station functions (at least part of the base station functions) can also be referred to as a mobile station or a base station device as a mobile station. Furthermore, a device that moves by being carried by a mobile body and that is equipped with base station functions (at least part of the base station functions), such as a smartphone, can also be referred to as a mobile station or a base station device as a mobile station.

[0170] The locations where fixed stations and mobile stations exist are not particularly limited. Therefore, the mobile object constituting the mobile station may be a mobile object moving on land (ground in the narrow sense) (e.g., vehicles such as automobiles, bicycles, buses, trucks, motorcycles, trains, and linear motor cars), a mobile object moving underground (e.g., in a tunnel) (e.g., a subway), a mobile object moving on water (e.g., ships such as passenger ships, cargo ships, and hovercraft), a mobile object moving underwater (e.g., submersibles such as submersibles, submarines, and unmanned underwater vehicles), a mobile object moving in the air, such as within the atmosphere (e.g., aircraft such as airplanes, airships, and drones), or a mobile object floating outside the atmosphere, in other words, in space (e.g., artificial celestial objects such as artificial satellites, spaceships, space stations, and probes). Note that a base station floating outside the atmosphere is also called a satellite station. On the other hand, a base station located closer to the earth than the atmosphere is also called a ground station. Furthermore, a base station that floats within the atmosphere, such as an aircraft, is also called an aircraft station.

[0171] The satellite that serves as the satellite station may be any of a low earth orbiting (LEO) satellite, a medium earth orbiting (MEO) satellite, a geostationary earth orbiting (GEO) satellite, and a highly elliptical orbiting (HEO) satellite.

[0172] Note that unmanned aircraft such as heavy aircraft such as airplanes and gliders, lighter aircraft such as balloons and airships, and rotorcraft such as helicopters and autogyros, as well as drones, can also be aircraft stations. There are no particular limitations on how unmanned aircraft that can be aircraft stations are controlled. Control systems for unmanned aircraft include unmanned aerial systems (UAS), tethered UAS, lighter than air UAS (LTA), heavier than air UAS (HTA), and high altitude UAS platforms (HAPs), and the flight of the aircraft station may be controlled by these control systems.

[0173] Furthermore, the size of the coverage of the base station device is not particularly limited, and may be as large as a macrocell, as small as a picocell, or as extremely small as a femtocell. The base station device may also have beamforming capabilities. In this case, the base station device may form a cell or service area for each beam. To this end, the base station device may be equipped with an antenna array consisting of multiple antenna elements and configured to provide advanced antenna technology such as MIMO (Multiple Input Multiple Output) and beamforming.

[0174] FIG. 18 is a diagram illustrating an example of the configuration of a base station device. The base station device 50 illustrated in FIG. 18 is intended to perform wireless communication and includes a wireless communication unit 51, a storage unit 52, a control unit 53, a calculation unit 54, a network communication unit 55, and an antenna 56. Note that the configuration illustrated in FIG. 18 is a functional configuration and may differ from the hardware configuration. Furthermore, the components of FIG. 18 may be further distributed or integrated with other components. Furthermore, the components of FIG. 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.

[0175] The wireless communication unit 51 performs signal processing for wireless communication with other wireless communication devices (for example, communication terminal 11). The wireless communication unit 51 operates under 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). The wireless communication unit 51 may support W-CDMA (Wideband Code Division Multiple Access) and CDMA2000 (Code Division Multiple Access 2000) in addition to NR and LTE. The wireless communication unit 51 may also support an automatic retransmission technique such as HARQ (Hybrid Automatic Repeat reQuest).

[0176] The wireless communication unit 51 includes a transmission processing unit 510 and a reception processing unit 515. The wireless communication unit 51 may include a plurality of transmission processing units 510 and a plurality of reception processing units 515. When the wireless communication unit 51 supports a plurality of wireless access methods, each component of the wireless communication unit 51 may be configured separately for each wireless access method. For example, the transmission processing unit 510 and the reception processing unit 515 may be configured separately for LTE and NR. The antenna 56 may be one or more, and may be configured with a plurality of antenna elements (for example, a plurality of 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).

[0177] The transmission processing unit 510 performs a transmission process of the downlink control information and the downlink data. For example, the encoding unit 511 of the transmission processing unit 510 encodes the downlink control information and the downlink data input from the control unit 53 using an encoding method such as block encoding, convolutional encoding, or turbo encoding. Here, the encoding may be performed using a polar code or a low density parity check code (LDPC code).

[0178] Then, the modulation unit 512 of the transmission processing unit 510 modulates the coded bits using a predetermined modulation method 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 constellation of the modulation method do not necessarily have to be equidistant. The constellation may be a non-uniform constellation (NUC).

[0179] Then, the multiplexing unit 513 of the transmission processing unit 510 multiplexes the modulation symbols of each channel used for transmission and the downlink reference signal, and arranges the multiplexed symbols in predetermined resource elements.

[0180] The transmission processing unit 510 then performs various signal processing on the multiplexed signal. For example, the radio transmission unit 514 of the transmission processing unit 510 performs processing such as conversion to the frequency domain by fast Fourier transform, addition of a guard interval (cyclic prefix), generation of a baseband digital signal, conversion to an analog signal, quadrature modulation, up-conversion, removal of unnecessary frequency components, and power amplification. The signal generated by the radio transmission unit 514 is transmitted from the antenna 56.

[0181] The reception processing unit 515 processes the uplink signal received via the antenna 56. For example, the radio reception unit 516 of the reception processing unit 515 performs processes on the uplink signal, such as down-conversion, removal of unnecessary 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 by fast Fourier transform.

[0182] Then, the demultiplexing unit 517 of the reception processing unit 515 separates uplink channels such as a PUSCH (Physical Uplink Shared Channel) and a PUCCH (Physical Uplink Control Channel) and an uplink reference signal from the signal processed by the radio reception unit 516.

[0183] Furthermore, the demodulator 518 of the reception processor 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).

[0184] The decoding unit 519 of the reception processing unit 515 then performs decoding processing on the coded bits of the demodulated uplink channel. The decoded uplink data and uplink control information are output to the control unit 53.

[0185] The antenna 56 converts electric current and radio waves into each other. The antenna 56 may be composed of one antenna element (e.g., one patch antenna) or multiple antenna elements (e.g., multiple patch antennas). When the antenna 56 is composed 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 a wireless signal using the multiple antenna elements. The antenna 56 may be a dual-polarized antenna. When the antenna 56 is a dual-polarized antenna, the wireless communication unit 51 may use vertically polarized waves (V polarization) and horizontally polarized waves (H polarization) to transmit a wireless signal. The wireless communication unit 51 may then control the directivity of the wireless signal transmitted using the vertically polarized waves and the horizontally polarized waves.

[0186] The storage unit 52 serves as a storage means of the base station device 50 and stores information necessary for processing by the base station device 50, processing results, etc. For example, various programs for performing processing by the base station device 50 may be stored therein.

[0187] The control unit 53 controls each unit of the base station device 50. For example, the control unit 53 performs control necessary to acquire, from the outside, information related to the DNN used from a logical entity or the like, conditions for determining the range of responsibility for a series of calculations of the DNN, and the like, via the wireless communication unit 51 or the network communication unit 55.

[0188] The calculation unit 54 performs calculations necessary for the processing of the base station device 50 in accordance with instructions from the control unit 53. For example, the calculation unit 54 may take over part of the processing performed by the transmission processing unit 510 or the reception processing unit 515, such as calculations with a high load. Furthermore, for example, if the base station device is in charge of calculations, the calculation of the range of responsibility of the base station device may be performed by the calculation unit 54. Furthermore, for example, if the base station device 50 is a logical entity, the calculation unit 54 may perform processing executed by the logical entity, such as determining who is in charge of calculations based on resources and determining the range of responsibility.

[0189] 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 an Access and Mobility Management Function (AMF) or a User Plane Function (UPF) of the core network to exchange information and signaling.

[0190] In some embodiments, a base station device may be composed of multiple physical or logical devices. For example, in this embodiment, the base station device may be divided into multiple devices such as a baseband unit (BBU) and a radio unit (RU). The base station device may be interpreted as a collection of these multiple devices, in other words, a base station system. The base station device may be either a BBU or a RU, or both. The BBU and the RU may be connected via a predetermined interface such as an enhanced Common Public Radio Interface (eCPRI). The RU may also be referred to as a remote radio unit (RRU) or a radio DoT (RD). The RU may also support a gNB distributed unit (gNB-DU) (described later). The BBU may also support a gNB central unit (gNB-CU) (described later). The RU may also be a device integrated with an antenna. The antenna of the base station device (e.g., an antenna integrated with the RU) may employ an advanced antenna system and support MIMO (e.g., FD-MIMO) and beamforming. Furthermore, the antennas of the base station may be provided with, for example, 64 transmitting antenna ports and 64 receiving antenna ports.

[0191] The RU may also be equipped with one or more antennas, each of which may be an antenna panel consisting of one or more antenna elements. For example, the RU may be equipped with an antenna panel including two types of antennas: a horizontally polarized antenna panel and a vertically polarized antenna panel, or a right-handed circularly polarized antenna panel and a left-handed circularly polarized antenna panel. The RU may also form and control independent beams for each antenna panel.

[0192] Note that a base station in a Radio Access Network (RAN) is sometimes called a RAN node, and a base station in an Access Network (AN) is sometimes called an AN node. Note that the RAN in LTE is sometimes called E-UTRAN (Enhanced Universal Terrestrial RAN). The RAN in NR is sometimes called NG-RAN. The RAN in W-CDMA (UMTS) is sometimes called UTRAN.

[0193] Note that an LTE base station is also referred to as an eNodeB (Evolved Node B) or eNB, and in this case, it can be said that an E-UTRAN includes one or more eNodeBs (eNBs). Also, an NR base station is also referred to as a gNodeB or gNB, and in this case, it can be said that an NG-RAN includes one or more gNBs. The E-UTRAN may include a gNB (en-gNB) connected to a core network (EPC) in an LTE communication system (EPS). Similarly, the NG-RAN may include an ng-eNB connected to a core network 5GC in a 5G communication system (5GS).

[0194] When the base station is an eNB, gNB, or the like, the base station may be referred to as a 3GPP access. When the base station is a wireless access point, the base station may be referred to as a non-3GPP access. When the base station is a gNB, the base station may be a combination of the above-mentioned gNB-CU and gNB-DU, or may be either a gNB-CU or a gNB-DU.

[0195] Here, the gNB-CU hosts multiple upper layers (e.g., RRC, SDAP, PDCP) in the access stratum for communication with the UE. Meanwhile, the gNB-DU hosts multiple lower layers (e.g., RLC, MAC, PHY) in the access stratum. That is, among messages or information such as RRC signaling, MAC CE (MAC Control Element), and DCI, the RRC signaling (semi-static notification) may be generated by the gNB-CU, while the MAC CE and DCI (dynamic notification) may be generated by the gNB-DU. Alternatively, among the RRC configuration (semi-static notification), 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 transmitted and received via the F1 interface, which will be described later.

[0196] Note that a base station may be configured to be able to communicate with other base stations. For example, when multiple base station devices are eNBs or a combination of an eNB and an en-gNB, the base stations may be connected via an X2 interface. When multiple base stations are gNBs or a combination of a gn-eNB and a gNB, the devices may be connected via an Xn interface. When multiple base stations are a combination of a gNB-CU and a gNB-DU, the devices may be connected via the above-mentioned F1 interface. Messages or information such as RRC signaling, MAC CE, and DCI may be transmitted between multiple base stations via, for example, the X2 interface, the Xn interface, or the F1 interface.

[0197] A cell provided by a base station may be called a serving cell. The concept of a serving cell includes a PCell (Primary Cell) and an SCell (Secondary Cell). When dual connectivity is configured for a UE, a PCell and zero or more SCells provided by a Master Node (MN) may be 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.

[0198] The serving cell may include a PSCell (Primary Secondary Cell or Primary SCG Cell). When dual connectivity is configured for a UE, the PSCell and zero or more SCells provided by a Secondary Node (SN) may be referred to as a Secondary Cell Group (SCG). Unless special configuration (e.g., PUCCH on SCell) is performed, the Physical Uplink Control Channel (PUCCH) is transmitted on the PCell and PSCell but not on the SCell. Furthermore, radio link failures are detected on the PCell and PSCell but not on the SCell (they do not need to be detected). As such, the PCell and PSCell have special roles among serving cells and are therefore also referred to as Special Cells (SpCells).

[0199] One cell may be associated with one downlink component carrier and one uplink component carrier. Furthermore, the system bandwidth corresponding to one cell may be divided into multiple BWPs (Bandwidth Parts). In this case, one or multiple BWPs may be configured for a UE, and one BWP may be used by the UE as an active BWP. Furthermore, the radio resources (e.g., frequency band, numerology (subcarrier spacing), slot format (Slot configuration)) that the UE can use may differ for each cell, each component carrier, or each BWP.

[0200] A further explanation of the communication terminal 11 follows. The communication terminal 11 may move by being installed in a moving object, or may be the moving object itself. For example, the communication terminal 11 may be a vehicle that moves on a road, such as an automobile, bus, truck, or motorcycle, a vehicle that moves on rails installed on a track, such as a train, or a wireless communication device mounted on the vehicle. The moving object may be a mobile terminal, or a moving object that moves on land (ground in the narrow sense), underground, on water, or underwater. The moving object may be a moving object that moves within the atmosphere, such as a drone or helicopter, or a moving object that moves outside the atmosphere, such as an artificial satellite. The communication terminal 11 may have any primary purpose as long as it is equipped with information processing and communication functions and is capable of performing the processing described herein. For example, the communication terminal 11 may be a device such as a professional camera equipped with information processing and communication functions, or a communication device such as a field pickup unit (FPU). The communication terminal 11 may also be an M2M (Machine to Machine) device or an IoT (Internet of Things) device.

[0201] The communication terminal 11 may be capable of NOMA communication with a base station. The communication terminal 11 may also be able to use an automatic repeat transmission technique such as HARQ when communicating with a base station. The communication terminal 11 may also be capable of sidelink communication with other communication terminals 11. The communication terminal 11 may also be able to use an automatic repeat transmission technique such as HARQ when performing sidelink communication. The communication terminal 11 may also be capable of NOMA communication in communication (sidelink) with other communication terminals 11. The communication terminal 11 may also be capable of LPWA communication with other communication devices (e.g., base stations, other communication terminals 11). The wireless communication used by the communication terminal 11 may also be wireless communication using millimeter waves. The wireless communication (including sidelink communication) used by the communication terminal 11 may be wireless communication using radio waves, or may be wireless communication using infrared or visible light (optical wireless).

[0202] The communication terminal 11 may be a communication device installed in a mobile object, or may be a communication device capable of moving. For example, the mobile object on which the communication terminal 11 is installed may be a vehicle that moves on a road, such as an automobile, bus, truck, or motorcycle, or a vehicle that moves on rails installed on a track, such as a train. The location where the mobile object moves is not particularly limited. Therefore, the mobile object may be a mobile object that moves on land (ground in the narrow sense), underground, on water, or underwater. The mobile object may also be a mobile object that moves within the atmosphere, such as a drone or helicopter, or a mobile object that moves outside the atmosphere, such as an artificial satellite.

[0203] The communication terminal 11 may simultaneously connect to a plurality of base stations or a plurality of cells to communicate. For example, when one base station supports a communication area through a plurality of cells (e.g., pCell, sCell), the plurality of cells can be bundled together by Carrier Aggregation (CA), Dual Connectivity (DC), or Multi-Connectivity (MC) technology to enable communication between the base station and the communication terminal 11. Alternatively, the communication terminal 11 can communicate with the plurality of base stations through cells of different base stations by Coordinated Multi-Point Transmission and Reception (CoMP).

[0204] Fig. 19 is a diagram showing an example of the configuration of communication terminal 11. Fig. 19 shows an example of the configuration when wireless communication is performed, in which communication terminal 11 includes wireless communication unit 111, storage unit 112, control unit 113, calculation unit 114, and antenna 115. Note that the configuration shown in Fig. 19 is a functional configuration and may differ from the hardware configuration. Furthermore, the functions of communication terminal 11 may be distributed and implemented in multiple physically separated components.

[0205] The wireless communication unit 111 performs signal processing for wireless communication with other wireless communication devices (for example, a base station, a relay station, a wireless communication node 131, a donor node 132, another communication terminal 11, etc.). The wireless communication unit 111 operates under the control of the control unit 113. The wireless communication unit 111 includes 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 configurations of the wireless communication unit 111 and its internal components, and the antenna 115 may be the same as the wireless communication unit 51 and its internal components, and the antenna 56 of the base station device 50, respectively. 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.

[0206] The storage unit 112 serves as a storage means of the communication terminal 11 and stores information necessary for the processing of the communication terminal 11, processing results, etc. For example, various programs for performing the processing of the communication terminal 11 may be stored therein.

[0207] The control unit 113 controls each unit of the communication terminal 11. For example, the control unit 113 performs control necessary to acquire, via the wireless communication unit 111, information related to the DNN used by a logical entity or the like, conditions for determining the range of responsibility for a series of calculations of the DNN, and the like from the outside.

[0208] The calculation unit 114 performs calculations necessary for processing of the communication terminal 11 in accordance with instructions from the control unit 113. For example, the calculation unit 114 may take over part of the processing performed by the transmission processing unit 1110 or the reception processing unit 1115, such as calculations with a high load. In addition, the calculation unit 114 performs calculations necessary for ML applications executed by the communication terminal 11, such as DNN calculations.

[0209] A further explanation of the core network will be provided. Figure 20 is a diagram showing a configuration example of a network architecture of a 5GS (5G System) including a core network 133. In the example of Figure 20, the 5GS is composed of a communication terminal 11 (denoted as UE in Figure 20), a RAN 134, and a core network 133. The RAN 134 provides a network function (NF) like the wireless communication node 131 and the donor node 132 in Figure 1. The core network 133 in the 5GS is referred to as an NGC (Next Generation Core), a 5GC (5G Core), etc.

[0210] In the example of Figure 20, the control plane functions of the core network 133 are composed of multiple NFs such as an AMF (Access and Mobility Management Function) 601, a NEF (Network Exposure Function) 602, a NRF (Network Repository Function) 603, a NSSF (Network Slice Selection Function) 604, a PCF (Policy Control Function) 605, a SMF (Session Management Function) 606, a UDM (Unified Data Management) 607, an AF (Application Function) 608, an AUSF (Authentication Server Function) 609, and a UCMF (UE radio Capability Management Function) 610.

[0211] The UDM 607 stores, manages, and processes subscriber information. The unit that stores and manages subscriber information is also called a UDR (Unified Data Repository), and may be separated from the FE (Front End), which processes subscriber information. The AMF 601 performs mobility management. The SMF 606 performs session management. The UCMF 610 stores UE Radio Capability Information corresponding to all UE Radio Capability IDs in a PLMN (Public Land Mobile Network). The UCMF 610 is responsible for assigning each PLMN-assigned UE Radio Capability ID.

[0212] 20 shows the service-based interfaces of the NFs. Namf is a service-based interface provided by the AMF 601, Nsmf is a service-based interface provided by the SMF 606, Nnef is a service-based interface provided by the NEF 602, Npcf is a service-based interface provided by the PCF 605, Nudm is a service-based interface provided by the UDM 607, Naf is a service-based interface provided by the AF 608, Nnrf is a service-based interface provided by the NRF 603, Nnssf is a service-based interface provided by the NSSF 604, and Nausf is a service-based interface provided by the AUSF 609. Each NF exchanges information with other NFs via each service-based interface.

[0213] Interaction may be required for applications running on the application layer to obtain information about the communication network (information on the network layer side), such as communication quality. In such cases, a standard such as NEF602 can be established. This standard not only allows applications to grasp detailed information on the communication layer, but also enables control of NFs from external applications.

[0214] The UPF (User Plane Function) 630 performs user plane processing. The DN (Data Network) 640 enables connection to the MNO (Mobile Network Operator)'s (MNO's) own services, the Internet, and third-party services.

[0215] The RAN 134 performs communication connections with the core network 133, the communication terminal 11, etc. Note that the RAN 134 may also perform communication connections with other communication networks not shown, for example, an Access Network (AN). The RAN 134 includes a base station called a gNB or an ng-eNB. The RAN may also be referred to as an NG (Next Generation)-RAN.

[0216] Between the UE 10 and the AMF 601, information is exchanged via reference point N1. Between the RAN 134 and the AMF 601, information is exchanged via reference point N2. Between the SMF 606 and the UPF 630, information is exchanged via reference point N4.

[0217] The communication quality may be indicated by, for example, a delay time in transmission and reception, a data rate, a channel occupancy ratio, etc. The channel occupancy ratio may be indicated by a channel busy ratio (CBR), a resource usage rate, or a congestion level. For example, the CBR may be indicated as a ratio of used radio resources to all available radio resources. The congestion level may be indicated by a ratio of a received signal strength indicator (RRSI), which is the total received power in the band, to a reference signal received power (RSRP), which is the received strength of a reference signal. The congestion level may also be indicated by the reciprocal of a reference signal received quality (RSRQ), which is the received quality of a reference signal.

[0218] (Second embodiment) As described in the first embodiment, an ML application performs processing based on the results of a series of DNN calculations. However, recent research has revealed that even if the processing of an ML application is performed based on the results of calculations performed during the series of calculations, the processing results of the ML application may not be significantly affected. Breaking out midway through a series of DNN calculations without performing the entire series of calculations is called early-exiting (also called early termination).

[0219] By performing early-exiting, the accuracy of the ML application may decrease, but since the calculation is not performed to the end, the time required to complete the processing of the ML application is reduced. In particular, when multiple communication devices share the calculation and transfer the calculation results sequentially over the communication network, as in the first embodiment, the DNN calculation results may be returned later than expected depending on the status of communication resources such as available computational capacity and communication quality. Therefore, the information processing system of the second embodiment performs early-exiting depending on the situation, and returns the calculation results of the DNN in the middle of a series of calculations to the communication terminal 11. This reduces the time required to complete the processing of the ML application.

[0220] In the first embodiment, the logical entity determines the computational responsibility, but in the second embodiment, in which early-exiting is performed, the computational responsibility may be predetermined. In the first embodiment, the logical entity can dynamically change the computational responsibility depending on the situation, but in the second embodiment, the computational responsibility may be fixed and unchangeable. When it is determined that the requirements of the ML application, such as latency, cannot be met, it may be determined whether to dynamically change the computational responsibility or to perform early-exiting.

[0221] When early-exiting is performed, one of the calculation managers will transmit the calculation results of a series of DNN calculations to the communication terminal 11. The calculation manager may complete the calculations in the range specified by the logical entity and transmit the executed calculation results to the communication terminal 11, or may terminate the calculation in the middle of the range and transmit the executed calculation results to the communication terminal 11. For example, when the range of a calculation manager is the third and fourth layers of the DNN, it may perform calculations up to the third layer and transmit the calculation results of the third layer to the communication terminal 11.

[0222] However, when performing early-exiting, it is preferable to consider the location where the calculation ends. As shown in Figure 4, the data size in each layer of a DNN is not uniform. Therefore, logical entities determine the scope of calculations to prevent long delays due to large data sizes being transmitted. Therefore, if a calculation is terminated midway within its scope, the data size of the calculation results may become large depending on the location of the termination, which may result in communication time and long delays despite early-exiting. Furthermore, if the communication bandwidth between calculations is large, the logical entity may determine that a large data size of the calculation results is not a problem. However, when early-exiting is performed, the calculation results are transmitted to the communication terminal 11 rather than to the next calculation, so the communication bandwidth to be considered is different. For example, there may be a case where the communication terminal 11 and the communication node A, which is the first calculation, are connected wirelessly, and the communication node A and the communication node B, which is the second calculation, are connected by wire. In such a case, the data size of the calculation results transmitted from the communication node A to the communication node B may be too large for wireless communication. Furthermore, there is a risk that the accuracy of the ML application will be low when the calculation results are calculated within the range of responsibility of communication node A. In this way, there may be cases where having each calculation manager execute all calculations within their range of responsibility is not suitable for early-exiting.

[0223] Furthermore, when the calculation in the assigned range is terminated midway, additional calculations may be performed to improve the processing accuracy of the ML application. The additional calculations may differ depending on the location where the calculation is terminated. For example, multiple calculation ranges for the calculation in the assigned range may be prepared in advance, and one of these calculation ranges may be selected when the calculation in the assigned range is terminated midway. FIG. 21 illustrates an example of a calculation range when early-exiting is performed. Calculation flow 71 indicated by the arrow in FIG. 21 illustrates the calculation flow (calculation range) when the calculation in the assigned range is terminated midway. Calculation flow 72 illustrates the calculation flow when the calculation in the assigned range is terminated midway. Calculation flow 73 illustrates the calculation flow when the calculation in the assigned range is not terminated midway. The convolution process after the bend between calculation flow 71 and calculation flow 72 is a calculation added separately from the calculation included in the normal assigned range. Here, calculations are performed to output inference results from the calculation flow that was terminated midway. In other words, calculations are performed to transmit the results of intermediate calculations in a series of calculations in the deep neural network. As shown in calculation flow 73, when early-exiting is not performed, a 5x5 convolution process (Conv5x5) is performed as the second process, while the second process in calculation flow 71 is a 3x3 convolution process (Conv3x3). The selection of calculation flow 71 or calculation flow 72 may be based on the data size of the calculation result, the required time, and the like. Alternatively, calculation flow 72 may be selected when the calculation is already in progress when the calculation manager receives an instruction to execute early-exiting and the calculation cannot be executed according to calculation flow 71. As shown in the first to third calculation flows, when early-exiting is performed, the calculation manager executes at least a portion of the calculation within its assigned range, but the entire calculation content executed by the calculation manager may vary depending on the situation at the time. The determination of early-exiting may be performed at any point between the start and end of the calculation within its assigned range. In other words, the calculation may be performed before the determination, or may not be performed before the determination, or may be performed after the determination, or may be performed after the determination. The calculations may not be performed, and the presence or absence of these processes may vary based on the results of the determinations and other information provided herein.

[0224] Various criteria for determining early-exiting are possible and may be set as appropriate. Multiple conditions may be set, or criteria based on multiple parameters may be used. For example, a condition related to the calculation result may be used as the criteria for determining early-exiting. For example, the determination may be based on the final calculation result of the calculation range itself or the calculation result of each layer. The determination may also be made after further applying an activation function such as a softmax function to the calculation result. The determination may also be made using the cross-entropy value. For example, when the output value of the softmax function is equal to or greater than a predetermined threshold, the DNN processing at that layer may be terminated and early-exiting may be performed.

[0225] Further, a condition relating to the person in charge of calculation may be set as a condition for determining whether or not to exit early. For example, the computational capacity of the person in charge of calculation may be used as a condition for determination.

[0226] In addition, communication-related conditions may be set as the criteria for determining early exiting. For example, the communication quality of the communication network, such as RARP, RARQ, RSSI, or link failure, may be set as the criteria. For example, if the quality of the communication link to the next calculation unit is poor, packet errors may cause large delays. Therefore, a criteria may be set that favors early exiting as the communication quality worsens. Also, if the amount of data of the calculation result to be transmitted is small, it may be possible to transmit it even if the communication quality is poor. Therefore, the amount of data of the calculation result to be transmitted may also be included in the criteria. In addition, path information of the communication network may be set as the criteria. For example, since the bandwidth of the communication link is generally narrow in terminal-to-terminal communication (PC5), a criteria may be set that determines the communication quality as poor and performs early exiting in the case of terminal-to-terminal communication (PC5). In addition, the criteria may be based on traffic, such as information on the amount of traffic flowing on the route or information on the amount of traffic processed at each node. Note that traffic may be expressed as the utilization rate of communication resources, etc.

[0227] Furthermore, a condition related to the movement (mobility) of the communication terminal 11 may be set as a condition for determining early-exiting. For example, the movement speed, movement direction, and information related to link switching or handover caused by movement may be used as a determination condition. When the mobility of the communication terminal 11 is high, there is a high possibility that the communication terminal 11 will hand over during the DNN calculation. Therefore, it is conceivable to perform early-exiting and return the calculation results of the DNN in the middle to the communication terminal 11 before the handover occurs.

[0228] Furthermore, whether or not a request from an ML application or the like is satisfied may be used as a judgment criterion. For example, when request information including the time (delay) until the DNN calculation result is returned to the communication terminal 11, the reliability (accuracy) of the intermediate calculation result of the DNN returned by early-exiting, etc. is acquired from the ML application, whether or not these requirements are satisfied may be judged based on the computational capacity, communication quality, past performance, etc.

[0229] Alternatively, whether or not an instruction to execute early-exiting has been received may be used as a judgment criterion. For example, if it is desired to keep the time (delay) until the DNN calculation result is returned to the communication terminal 11 within a predetermined time, the communication terminal 11 attaches a timestamp in the application layer, counts the time until the reply is received, and transmits an instruction to execute early-exiting when the time exceeds an upper limit. If the communication terminal 11 recognizes all the calculation operators, the communication terminal 11 may transmit the execution instruction to all of the calculation operators. In cases where the communication terminal 11 does not recognize each calculation operator, the execution instruction may be relayed from the communication terminal 11 to each calculation operator in order. Then, a calculation operator that receives a notification of early-exiting during calculation can perform early-exiting. Note that instead of the communication terminal 11 counting the required time, each calculation operator may subtract the time required for calculation from a preset allowable time and notify the next calculation operator of the subtracted time, and the calculation operator that has used up the allowable time may transmit the calculation result to the communication terminal 11. In addition, if the time required for calculation of the assigned range is shorter than the allowable time, the calculation of the assigned range may be terminated midway. Note that the values ​​of parameters for determining whether to perform early-exiting, such as the upper limit of the required time and the delay margin value, may be determined by the logical entity or the ML application.

[0230] The early-exiting determination criteria may be changed depending on the time of day, the type of ML application, other ML applications executed in parallel, etc. For example, in the case of an ML application that requires high accuracy, the early-exiting determination criteria may be set stricter than the standard, and in the case of an ML application that requires a short required time, the early-exiting determination criteria may be set lenient than the standard.

[0231] Furthermore, information used in the determination conditions may be notified from the application layer to the communication layer via a network exposure function (NEF) or the like.

[0232] The processing flow when performing early-exiting will be described. Fig. 22 is a schematic sequence diagram showing a first example of the processing flow related to early-exiting. For convenience of illustration, all calculations other than those of the communication terminal are shown as one.

[0233] The logical entity sends the early-exiting judgment condition to the calculation manager (T301). If the calculation manager is not fixed, the judgment condition may be sent in advance to the entity that can become the calculation manager, or when the calculation manager is changed, the judgment condition may be sent together with a notification that the calculation manager has been changed. Each calculation manager receives and sets the judgment condition from the logical entity (T302).

[0234] Thereafter, the communication terminal 11 executes the ML application (T303) and transmits information required for the DNN calculation to the next calculation operator (T304). When the communication terminal 11 is in charge of calculation, the DNN calculation result performed by the communication terminal 11 is also included in the information required for the DNN calculation. The communication terminal 11 may also transmit information used for judgment. For example, the communication terminal 11 may transmit to each calculation operator the upper limit (allowable time) of the time required for the calculation result to be returned to the communication terminal 11, the accuracy of the calculation result, and the like, and each calculation operator may use the information as the parameter value of the judgment condition.

[0235] The next person in charge of calculation receives the information necessary for the DNN calculation (T305), collects the information necessary for determining whether or not to perform early-exiting, and uses the collected information to determine whether or not to perform early-exiting (T306). Note that if it is acceptable to collect the information in advance, this may be done in advance. The DNN calculation is performed based on the determination result (T307). As mentioned above, the DNN calculation range may differ depending on whether or not early-exiting is performed.

[0236] Here, the DNN calculation is started after the early-exiting determination is made, but the early-exiting determination may be made in the middle of the DNN calculation.

[0237] The calculator sends the calculation result to the party corresponding to the result of the judgment (T308). If early-exiting is not executed and a next calculator exists, the calculation result is sent to the next calculator. In this case, the next calculator performs the processes from T305 to T308. Note that the arrow from T308 to T305 in FIG. 22 does not indicate that the same calculator performs the processes from T305 to T308 again, but rather that a different calculator performs the processes from T305 to T308. If there is no next calculator, in other words, if the calculation has been completed up to the output layer of the DNN or if early-exiting has been executed, the calculator sends the calculation result to the communication terminal 11. Note that necessary information other than the calculation result may also be sent. For example, if the calculator has received information used for judgment from the communication terminal 11, it also sends the information to the next calculator. Information used for early-exiting judgment may be sent to the calculators in order using a bucket brigade method.

[0238] The communication terminal 11 receives the calculation result of the DNN (T309) and executes the processing of the ML application based on the calculation result (T310). When early-exiting is executed as in the example of Fig. 22, the calculation result is transmitted to the communication terminal 11 without waiting for the completion of the series of calculations of the DNN, so that it is possible to prevent delays in the processing of the ML application.

[0239] In this way, the destination of the calculation result of the calculation task differs depending on whether early-exiting is performed, and if early-exiting is performed, the calculation result of the calculation task is sent to communication terminal 11. Therefore, the determination of early-exiting can also be said to be a determination of whether or not to send the calculation result to communication terminal 11.

[0240] Another example of early-exiting will be described. In the explanation of early-exiting so far, calculation results during a series of DNN calculations are returned to the communication terminal 11 to reduce the waiting time of the communication terminal 11. On the other hand, if the calculation capacity of the calculation manager is less than expected, it is possible to round up the calculations within the range of responsibility and entrust the remaining calculations to the next calculation manager. If the next calculation manager has a higher calculation capacity, doing so can ultimately reduce the waiting time of the communication terminal 11. Therefore, a case will be described in which the calculation results are not sent to the communication terminal 11 even when early-exiting is performed.

[0241] Fig. 23 is a schematic sequence diagram showing a second example of the processing flow related to early-exiting. In the example of Fig. 22, early-exiting also includes cases where a calculation manager executes all calculations within its assigned range, but in the example of Fig. 23, early-exiting does not include cases where a calculation manager executes all calculations within its assigned range, but means that a calculation manager terminates calculations within its assigned range halfway through.

[0242] Note that communication terminal 11 can also terminate the calculation of its assigned range midway. Therefore, the example in Fig. 23 shows an example in which communication terminal 11 is in charge of the first calculation. In addition, the example in Fig. 23 shows a case in which, in addition to communication terminal 11, there are also in charge of the second calculation, the third calculation, and the final calculation (fourth calculation).

[0243] Each calculation section receives and sets a judgment condition from the logical entity (T302). Then, the communication terminal 11 executes the ML application (T303). The communication terminal 11 collects information necessary for the early-exit judgment and uses the collected information to make the early-exit judgment (T306). Then, the communication terminal 11 executes the DNN calculation based on the judgment result (T307). The scope of the calculation differs depending on whether or not early-exiting is executed, and the calculation may not be executed depending on the judgment result and timing. In other words, the processing of T307 does not necessarily need to be executed. This is the same for all embodiments in this specification. Regardless of whether early-exiting is executed, the communication terminal 11 sends the calculation result to the second calculation section, which is the next calculation section (T308). When early-exiting is executed, information indicating the position may also be sent to the next calculation section so that the next calculation section knows the position from which the calculation starts. This information may be, for example, information indicating the last layer in the range handled by communication terminal 11, information indicating the first layer in the range handled by the next calculation operator, information indicating the node that output the calculation result, or information indicating the node to which the calculation result should be input. Note that if the next calculation operator knows the predetermined position where the calculation will end, the calculation can be performed up to that position and the calculation result can be transmitted, so there is no need for the next calculation operator to transmit information for recognizing the position where the calculation will start.

[0244] The second calculation section receives information about the calculation results of the communication terminal 11, collects information necessary for determining whether or not the communication terminal 11 is early-exiting, determines whether or not the communication terminal 11 is early-exiting, performs DNN calculations based on the results of the determination, and sends the results to the third calculation section, which is the next calculation section (T305 to T308). The third calculation section also performs the processes from T305 to T308, and the calculation results of the third calculation section are sent to the final calculation section.

[0245] The final calculation section similarly performs the processes from T305 to T307, but because there is no calculation section following the final calculation section, the final calculation section transmits the calculation result to the communication terminal 11 regardless of whether early-exiting is performed (T311). As in the example of FIG. 22, the communication terminal 11 receives the calculation result of the DNN (T309) and executes processing of the ML application based on the calculation result (T310). In this way, it is possible to reduce the amount of calculation by the calculation section, which may be a cause of processing delays, and it is possible to reduce the waiting time of the communication terminal 11, although not as much as in the example of FIG. 22. Furthermore, because a series of calculations of the DNN are performed up to the final calculation section, the accuracy of the calculation result received by the communication terminal 11 may be higher than, for example, when the second calculation section sends the result of an intermediate termination of the DNN calculation.

[0246] Also, an example flow will be described in which the early-exiting determination is not made by each calculation manager, but is decided by a specific entity such as a logical entity. Fig. 24 is a schematic sequence diagram showing a third example of the processing flow related to early-exiting. The example of Fig. 24 differs from the example of Fig. 22 in that the logical entity makes the early-exiting determination. Note that the entity that determines the calculation manager and the entity that determines the early-exiting determination may be different.

[0247] As in the example of Figure 22, the logical entity sends the early-exiting judgment condition to the calculation section (T301), and each calculation section receives and sets the judgment condition from the logical entity (T302). In the example of Figure 24, the judgment condition is whether or not an instruction to execute early-exiting has been received from the logical entity.

[0248] When the communication terminal 11 executes the ML application (T303), it notifies the logical entity of a request for DNN calculation (T312). The logical entity collects information necessary for determining whether to perform early-exiting, and uses the collected information to determine whether to perform early-exiting (T306). The logical entity periodically repeats its determination. For example, the logical entity may periodically check communication resources such as available computational capacity and communication quality, and make a determination based on the communication resources. Alternatively, the logical entity may measure the elapsed time since the notification from the communication terminal 11 and check whether the elapsed time exceeds the upper limit notified by the communication terminal 11. Similarly to the example of FIG. 22, the communication terminal 11 transmits information necessary for the DNN calculation to the first calculation operator, which is the next calculation operator (T304).

[0249] The first calculation section performs the processes from T305 to T308, as in the example of Fig. 22. In the example of Fig. 24, since the first calculation section has not received an instruction to execute early-exiting from the logical entity, it executes the calculations within its scope of responsibility and sends the calculation results to the second calculation section.

[0250] In the example of Figure 24, during the calculation of the DNN of the first calculation, the judgment condition is satisfied, and the logical entity decides to execute early-exiting and sends it to all calculations (T314). Note that in the example of Figure 24, the logical entity does not know which calculations are in progress, so it sends it to all calculations. If the logical entity knows which calculations are in progress, for example, by each calculation notifying the logical entity of the end of calculation, it may send it only to the next calculation.

[0251] The second calculator receives an early-exiting execution notification before receiving the calculation result from the first calculator (T315). Thereafter, the calculation result from the first calculator is transmitted, and the second calculator performs the processes from T305 to T308. Therefore, the second calculator performs the calculation for early-exiting and transmits the executed calculation result to the communication terminal 11. As in the example of FIG. 22, the communication terminal 11 performs the processes of T309 and T310. In this way, the logical entity may determine whether to execute early-exiting, and the execution notification from the logical entity may be used as the early-exiting determination condition for each calculator. Note that if an early-exiting execution notification is received during a DNN calculation, the calculator may perform early-exiting if possible.

[0252] Note that, when it is determined that early-exiting should be performed, processing for when early-exiting is not performed may be continued in parallel with the processing for early-exiting. That is, the calculation section that performed early-exiting may transmit the intermediate calculation results to the communication terminal 11 and also transmit the calculation results to the next calculation section. In this way, the communication terminal 11 can receive the final calculation results of the DNN after receiving the intermediate calculation results of the DNN. For example, it is possible to quickly obtain the processing results of an ML application from the intermediate results of the DNN calculation, and then confirm whether the processing of the ML application was correct based on the final calculation results of the DNN that are received later. This can contribute to improving calculation accuracy and reducing calculation time. Hereinafter, even when early-exiting is performed, performing calculations that would have been performed if early-exiting had not been performed and transmitting the final calculation results of the DNN to the communication terminal 11 is referred to as multi-feedback.

[0253] When performing multi-feedback, if a calculation is completed in the middle of the assigned range, the calculation person may ask the next calculation person to perform the remaining calculations, as shown in the example of Figure 23, or may perform all calculations in the assigned range and then send the calculation results to the next calculation person.

[0254] Whether or not to perform multi-feedback may be notified from the communication terminal 11. Alternatively, the calculation unit that performed early-exiting may notify the logical entity that early-exiting has been performed, and the logical entity may receive the notification and determine whether or not to perform multi-feedback depending on the situation. Similar to the execution determination condition for early-exiting, the execution determination condition for multi-feedback may also be determined depending on the computational capacity of the calculation unit, communication resources, required specifications of the ML application, etc.

[0255] Furthermore, the calculation section that performed early-exiting may notify the next calculation section that early-exiting has been performed, so that the next calculation section will not perform early-exiting. Conversely, even if early-exiting has already been performed, the next calculation section may also perform early-exiting. Therefore, the communication terminal 11 may receive calculation results from multiple early-exitings and the final calculation result of the DNN.

[0256] FIG. 25 is a conceptual diagram illustrating multi-feedback. In the example of FIG. 25, a communication terminal and second to fourth calculators are responsible for DNN calculations. In the example of FIG. 25, the second calculator is performing early-exiting, and feedback FD1, indicated by an arrow, indicates that the calculation result of the second calculator's early-exiting is being returned to the communication terminal 11. The second calculator also transmits the calculation result to the third calculator for multi-feedback. Meanwhile, the third calculator is also performing early-exiting, and feedback FD2 indicates that the calculation result of the third calculator's early-exiting is being returned to the communication terminal 11. The third calculator also transmits the calculation result to the fourth calculator for multi-feedback. In the example of FIG. 25, the fourth calculator performs calculations until the end of the DNN calculation series, and feedback FD3 indicates that the final calculation result is being sent to the communication terminal 11. In this way, the communication terminal 11 may receive multiple early-exiting calculation results (FD1 and FD2) and the final calculation result of the DNN (FD3).

[0257] In addition, when multi-feedback is performed, the calculation of the DNN after early-exiting may be performed by a specific entity in a centralized manner, rather than being divided among the calculation personnel. For example, in the example of Figure 25, when early-exiting is performed, the second and third calculation personnel may not perform the calculation, and the fourth communication personnel may perform the remaining calculations collectively.

[0258] When early-exiting is performed, information regarding the execution of early-exiting, such as the person in charge of calculation that performed early-exiting, the reason for early-exiting, and the end position of the calculation, may be transmitted to the communication terminal 11. When multi-feedback is performed, a logical entity or the like may estimate the time at which the final calculation result of the DNN will reach the communication terminal 11 based on past performance, communication resources, and the like, and notify the communication terminal 11. This allows the ML application to wait for the final calculation result of the DNN without using the early-exiting result, even if it receives the early-exiting result.

[0259] Furthermore, a computational operator that has performed early-exiting may request a change in computational operator from the logical entity. For example, if early-exiting is performed because of a problem with its own computational capacity, the logical entity may request that the logical entity be removed from the computational operator. For example, if early-exiting is performed because of a problem with the communication quality with the next computational operator, the logical entity may request that the next computational operator be changed.

[0260] Furthermore, the communication terminal 11 may notify the logical entity and each calculation agent of whether or not early-exiting can be performed. For example, if a notification refusing to perform early-exiting is sent from the communication terminal 11, each calculation agent may not perform early-exiting without following the early-exiting judgment conditions. Furthermore, a notification regarding whether or not multi-feedback can be performed may be sent. Furthermore, when multi-feedback is permitted, an upper limit value for the number of feedbacks shown in FIG. 25 may be specified.

[0261] The internal configuration of each entity in the second embodiment may be the same as in the first embodiment, and therefore will not be described here. The calculation range when early-exiting is not performed and the calculation range when early-exiting is performed are stored in the storage unit of each device (storage unit 52 in FIG. 18 or storage unit 112 in FIG. 19), and the control unit of each device (control unit 53 in FIG. 18 or control unit 113 in FIG. 19) switches the calculation range used, and the calculation unit of each device (calculation unit 54 in FIG. 18 or calculation unit 114 in FIG. 19) executes the DNN calculation.

[0262] As described above, in this embodiment, early-exiting is performed when performing distributed learning in which multiple entities share the responsibility for a series of DNN calculations. By performing early-exiting, it is possible to keep the time it takes for the DNN calculation results to be fed back to the communication terminal 11 within a predetermined time, even in distributed learning using communication nodes where communication delays are likely to occur. Furthermore, if the computational capacity of a calculation manager becomes lower than expected, the calculations within the assigned range can be terminated midway, and the remaining calculations can be entrusted to the next calculation manager. In this way, the time required for a series of DNN calculations can also be reduced.

[0263] The processing of the present disclosure is not limited to a specific standard, and the illustrated settings may be changed as appropriate. The above-described embodiment is an example for realizing the present disclosure, and the present disclosure can be implemented in various other forms. For example, various modifications, substitutions, omissions, or combinations thereof are possible without departing from the spirit of the present disclosure. Such modifications, substitutions, omissions, etc., are also included within the scope of the present disclosure, as well as within the scope of the inventions described in the claims and their equivalents.

[0264] Furthermore, the processing steps described in the present disclosure may be considered as a method having a series of these steps. Alternatively, they may be considered as a program for causing a computer to execute the series of steps, or as a recording medium storing the program. Furthermore, the logical entities and calculation processes described above are executed by a processor such as a CPU of a computer. Furthermore, the type of recording medium is not particularly limited, as it does not affect the embodiments of the present disclosure.

[0265] Note that each component shown in Figures 18 to 20 in this disclosure may be implemented in software or 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 such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array). Furthermore, the number of components does not have to match the number of pieces of hardware that implement the components. For example, one processor or circuit may implement multiple components. Conversely, one component may be implemented by multiple processors or circuits.

[0266] The processors described in this disclosure are not limited to specific types and may be, for example, a CPU, a microprocessing unit (MPU), a graphics processing unit (GPU), or the like.

[0267] Furthermore, although the above describes the use of the present disclosure in DNNs, it is not necessarily limited to this. For example, a similar configuration may be used in an SNN (spiking neural network) or the like. Furthermore, in such cases, it may be used to solve problems different from those in DNNs. Spike signals may be used to transmit any of the above information. Furthermore, causal relationships may be extracted from time-series data, and any of the above-mentioned judgments may be made based on that information.

[0268] Furthermore, components for storing data, such as the storage unit 52 of the base station device 50 and the storage unit 112 of the communication terminal 11, may be realized by a device that can read and write data, and the device may be selected appropriately. For example, it may be a DRAM, an SRAM, a flash memory, a hard disk, or the like.

[0269] The present disclosure can also be configured as follows. [1] An information processing device that is responsible for a part of a series of calculations of a deep neural network, determining whether to transmit a result of an intermediate calculation in a series of calculations of the deep neural network to a first communication device; If it is determined that the results are not to be transmitted to the first communication device, transmit the results of at least a portion of the calculations included in a first range of the series of calculations to a second communication device that is responsible for calculations of a second range following the first range; When it is determined that the results should be transmitted to the first communication device, a calculation is performed to transmit the results of intermediate calculations in the series of calculations of the deep neural network to the first communication device, and the results of the executed calculation are transmitted to the first communication device. Information processing device. [2] When it is determined that a result of an intermediate calculation in a series of calculations of the deep neural network is not to be transmitted to the first communication device, at least a part of the calculations included in the first range is executed, and the result of the executed calculation is used as the result of the calculation to be transmitted to the second communication device; When it is determined that a result of an intermediate calculation in the series of calculations of the deep neural network is to be transmitted to the first communication device, at least a part of the calculations included in the first range is executed, and the result of the executed calculation is used for the calculation to be transmitted to the first communication device. [1] The information processing device according to [1]. [3] performing at least some of the calculations included in the first range; When the determination is made while a calculation included in the first range is being performed and it is determined that the calculation should be transmitted to the first communication device, a result of the calculation performed before the determination is used in the calculation to be transmitted to the first communication device. [1] The information processing device according to [1]. [4] performing at least some of the calculations included in the first range; When the determination is made while a calculation included in the first range is being performed and it is determined that the result should be transmitted to the first communication device, a result of the calculation performed before the determination is used as the result of the calculation to be transmitted to the second communication device. [1] The information processing device according to [1]. [5] performing at least some of the calculations included in the first range; If the determination is made while a calculation included in the first range is being performed and it is determined that the result should be transmitted to the first communication device, the calculation included in the first range is continued and the result of the calculation in the first range is used as the result of the calculation to be transmitted to the second communication device. [1] to [4]. An information processing device according to any one of the above. [6] When it is determined that intermediate calculation results in the series of calculations of the deep neural network are to be transmitted to the first communication device, further, calculation results of at least a part of the series of calculations included in a first range are transmitted to the second communication device. [1] to [5]. [7] When it is determined that the results of intermediate calculations in the series of calculations of the deep neural network are to be transmitted to the first communication device, if all of the calculations included in the first range have not been executed, the results of the executed calculations are transmitted to the second communication device together with information indicating the position of the executed calculation result in the series of calculations. [6] The information processing device according to [6]. [8] When it is determined that a result of an intermediate calculation in a series of calculations of the deep neural network is to be transmitted to the first communication device, the result of the executed calculation and information indicating the position of the result of the executed calculation in the series of calculations are transmitted to a third communication device capable of executing at least a part of the series of calculations. [1] to [7]. An information processing device according to any one of the preceding claims. [9] When it is determined that a result of an intermediate calculation in a series of calculations of the deep neural network is to be transmitted to the first communication device, the calculation is executed up to a predetermined position included in the first range, and the result of the executed calculation is used in the calculation to be transmitted to the first communication device. [1] to [7]. An information processing device according to any one of the preceding claims.

[10] When it is determined that the result of an intermediate calculation in the series of calculations of the deep neural network is to be transmitted to the first communication device, determining up to which position in the calculation included in the first range the calculation should be executed, executing the calculation included in the first range up to the determined position, and transmitting the result of the executed calculation and information indicating the determined position to the second communication device. [1] to [7]. An information processing device according to any one of the preceding claims.

[11] The determination is made based on at least one of information regarding the computational capacity of a device that is responsible for at least a part of the series of calculations of the deep neural network, and information regarding the amount of traffic in a device that is responsible for at least a part of the series of calculations of the deep neural network. [1] The information processing device according to any one of [1] to

[10] .

[12] making the determination based on at least one of a communication quality with the first communication device and mobility information of the first communication device; [1] The information processing device according to any one of [1] to

[11] .

[13] The determination is made based on at least one of information instructing to terminate the series of calculations midway and information instructing to transmit a result of an intermediate calculation in the series of calculations to the first communication device. [1] An information processing device according to any one of [1] to

[12] .

[14] The information processing device according to any one of [1] to

[13] , further comprising: acquiring request information from the first communication device; and making the determination based on the request information.

[15] determining, when the time required for the calculation of the first range is longer than a given allowable time, to transmit a result of an intermediate calculation in a series of calculations of the deep neural network to the first communication device; [1] to

[14] .

[16] determining whether to terminate a calculation included in a first range of a series of calculations of the deep neural network; When it is determined that the calculations included in the first range are to be terminated, a part of the calculations included in the first range is executed, and the result of the executed calculation and information indicating the position of the result of the executed calculation in the series of calculations are transmitted to a device in charge of calculations in a second range following the first range. Information processing device.

[17] and further transmitting, to the device in charge of the calculation of the second range, information indicating whether the device in charge of the calculation of the second range is allowed to terminate the calculation included in the second range.

[16] The information processing device according to

[16] .

[18] An information processing method executed in an information processing device that is responsible for a part of a series of calculations of a deep neural network, determining whether to transmit a result of an intermediate calculation in a series of calculations of the deep neural network to a first communication device; If it is determined that the results are not to be transmitted to the first communication device, transmitting the results of at least a portion of the calculations included in a first range of the series of calculations to a second communication device that is responsible for calculations of a second range following the first range; When it is determined that the data should be transmitted to the first communication device, a step of performing a calculation to be transmitted to the first communication device using a result of an intermediate calculation in a series of calculations of the deep neural network, and transmitting the result of the performed calculation to the first communication device; An information processing method comprising:

[19] determining whether to terminate a series of calculations of the deep neural network that are included in a first range; When it is determined that the calculations included in the first range are to be terminated, executing a part of the calculations included in the first range and transmitting the result of the executed calculation and information indicating the position of the result of the executed calculation in the series of calculations to a device in charge of calculations of a second range following the first range; An information processing method comprising:

[20] The system includes at least a first information processing device and a second information processing device that are responsible for a part of a series of calculations of a deep neural network, The first information processing device determining whether to transmit a result of an intermediate calculation in a series of calculations of the deep neural network to a first communication device; If it is determined that the results are not to be transmitted to the first communication device, transmit the results of at least a portion of the calculations included in a first range of the series of calculations to the second information processing device; When it is determined that the data should be transmitted to the first communication device, a calculation is performed using a result of an intermediate calculation in a series of calculations of the deep neural network, and the result of the performed calculation is transmitted to the first communication device; The second information processing device executes the calculations subsequent to the calculation executed by the first information processing device among the series of calculations based on the results of the calculations executed by the first information processing device. Information processing system. [twenty one] The system comprises at least a first information processing device that performs calculations of a first range of a series of calculations of a deep neural network, and a second information processing device that performs calculations of a second range following the first range of the series of calculations of the deep neural network, The first information processing device determining whether or not to terminate the calculation included in the first range; when it is determined that the calculation included in the first range is to be terminated, executes a part of the calculation included in the first range, and transmits to the second information processing device a result of the executed calculation and information indicating the position of the result of the executed calculation in the series of calculations; The second information processing device When the information is received, a continuation of the calculation performed by the first information processing device in the series of calculations is performed based on the result of the calculation performed by the first information processing device. Information processing system. [twenty two] a third information processing device that determines the first range; The information processing system according to

[20] further comprises: [twenty three] a third information processing device that determines whether or not to terminate the calculation included in the first range. Furthermore, the third information processing device transmits an instruction to the first information processing device to terminate the calculation included in the first range; When the first information processing device receives the instruction, the first information processing device determines to terminate the calculation included in the first range.

[21] The information processing system according to

[21] . [Explanation of symbols]

[0270] 1: Information processing system, 11: Communication terminal, 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: Demultiplexing unit, 1118: Demodulation unit, 1119: Decoding unit, 112: Storage 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 node of core network, 134: RAN, 2: Dotted frame (DN N), 21: DNN node, 22: DNN link, 50: base station device, 51: wireless communication unit, 510: transmission processing unit, 511: encoding unit, 512: modulation unit, 513: multiplexing unit, 514: wireless transmission unit, 515: reception processing unit, 516: wireless reception unit, 517: demultiplexing 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, 71, 72, 73: calculation flow, FD1, FD2, FD3: feedback,

Claims

1. An information processing device that is responsible for a part of a series of calculations of a deep neural network, determining whether to transmit a result of an intermediate calculation in a series of calculations of the deep neural network to a first communication device; If it is determined that the results are not to be transmitted to the first communication device, transmit the results of at least a portion of the calculations included in a first range of the series of calculations to a second communication device that is responsible for calculations of a second range following the first range; When it is determined that the results should be transmitted to the first communication device, a calculation is performed to transmit the results of intermediate calculations in the series of calculations of the deep neural network to the first communication device, and the results of the executed calculation are transmitted to the first communication device. Information processing device.

2. When it is determined that a result of an intermediate calculation in a series of calculations of the deep neural network is not to be transmitted to the first communication device, at least a part of the calculations included in the first range is executed, and the result of the executed calculation is used as the result of the calculation to be transmitted to the second communication device; When it is determined that a result of an intermediate calculation in a series of calculations of the deep neural network is to be transmitted to the first communication device, at least a part of the calculations included in the first range is executed, and the result of the executed calculation is used for the calculation to be transmitted to the first communication device. The information processing device according to claim 1 .

3. performing at least some of the calculations included in the first range; When the determination is made while a calculation included in the first range is being performed and it is determined that the calculation is to be transmitted to the first communication device, a result of the calculation performed before the determination is used for the calculation to be transmitted to the first communication device. The information processing device according to claim 1 .

4. performing at least some of the calculations included in the first range; When the determination is made while a calculation included in the first range is being performed and it is determined that the calculation should be transmitted to the first communication device, a result of the calculation performed before the determination is used as the result of the calculation to be transmitted to the second communication device. The information processing device according to claim 1 .

5. performing at least some of the calculations included in the first range; If the determination is made while a calculation included in the first range is being performed and it is determined that the result should be transmitted to the first communication device, the calculation included in the first range is continued and the result of the calculation in the first range is used as the result of the calculation to be transmitted to the second communication device. The information processing device according to claim 1 .

6. When it is determined that intermediate calculation results in the series of calculations of the deep neural network are to be transmitted to the first communication device, further, calculation results of at least a part of the series of calculations included in a first range are transmitted to the second communication device. The information processing device according to claim 1 .

7. When it is determined that the results of intermediate calculations in the series of calculations of the deep neural network are to be transmitted to the first communication device, if all of the calculations included in the first range have not been executed, the results of the executed calculations are transmitted to the second communication device together with information indicating the position of the executed calculation result in the series of calculations. The information processing device according to claim 6 .

8. When it is determined that a result of an intermediate calculation in a series of calculations of the deep neural network is to be transmitted to the first communication device, the result of the executed calculation and information indicating the position of the result of the executed calculation in the series of calculations are transmitted to a third communication device capable of executing at least a part of the series of calculations. The information processing device according to claim 1 .

9. When it is determined that a result of an intermediate calculation in a series of calculations of the deep neural network is to be transmitted to the first communication device, the calculation is executed up to a predetermined position included in the first range, and the result of the executed calculation is used in the calculation to be transmitted to the first communication device. The information processing device according to claim 1 .

10. When it is determined that the result of an intermediate calculation in the series of calculations of the deep neural network is to be transmitted to the first communication device, a position in the calculation included in the first range up to which the calculation should be executed is determined, the calculation included in the first range is executed up to the determined position, and the result of the executed calculation and information indicating the determined position are transmitted to the second communication device. The information processing device according to claim 1 .

11. The determination is made based on at least one of information regarding the computational capacity of a device that is responsible for at least a part of the series of calculations of the deep neural network, and information regarding the amount of traffic in the device that is responsible for at least a part of the series of calculations of the deep neural network. The information processing device according to claim 1 .

12. The determination is made based on at least one of a communication quality with the first communication device and mobility information of the first communication device. The information processing device according to claim 1 .

13. the determination is made based on at least one of information instructing to terminate the series of calculations midway and information instructing to transmit a result of an intermediate calculation in the series of calculations to the first communication device. The information processing device according to claim 1 .

14. acquiring request information from the first communication device, and making the determination based on the request information; The information processing device according to claim 1 .

15. determining, when the time required for the calculation of the first range is longer than a given allowable time, to transmit a result of an intermediate calculation in a series of calculations of the deep neural network to the first communication device; The information processing device according to claim 1 .

16. determining whether to terminate a calculation included in a first range of a series of calculations of the deep neural network; When it is determined that the calculation included in the first range is to be terminated, a part of the calculation included in the first range is executed, and the result of the executed calculation and information indicating the position of the result of the executed calculation in the series of calculations are transmitted to a device in charge of calculation of a second range following the first range. Information processing device.

17. and further transmitting, to the device in charge of the calculation of the second range, information indicating whether the device in charge of the calculation of the second range is allowed to terminate the calculation included in the second range. The information processing device according to claim 16.

18. An information processing method executed in an information processing device that is responsible for a part of a series of calculations of a deep neural network, determining whether to transmit a result of an intermediate calculation in a series of calculations of the deep neural network to a first communication device; If it is determined that the results are not to be transmitted to the first communication device, transmitting the results of at least a portion of the calculations included in a first range of the series of calculations to a second communication device that is responsible for calculations of a second range following the first range; When it is determined that the data should be transmitted to the first communication device, a step of performing a calculation to be transmitted to the first communication device using a result of an intermediate calculation in a series of calculations of the deep neural network, and transmitting the result of the performed calculation to the first communication device; An information processing method comprising:

19. determining whether to terminate a series of calculations of the deep neural network that are included in a first range; When it is determined that the calculations included in the first range are to be terminated, a step of executing a part of the calculations included in the first range and transmitting the result of the executed calculation and information indicating the position of the result of the executed calculation in the series of calculations to a device in charge of calculations in a second range following the first range; An information processing method comprising:

20. The system includes at least a first information processing device and a second information processing device that are responsible for a part of a series of calculations of a deep neural network, The first information processing device determining whether to transmit a result of an intermediate calculation in a series of calculations of the deep neural network to a first communication device; If it is determined that the results are not to be transmitted to the first communication device, transmit the results of at least a portion of the calculations included in a first range of the series of calculations to the second information processing device; When it is determined that the data should be transmitted to the first communication device, a calculation is performed to be transmitted to the first communication device using a result of an intermediate calculation in a series of calculations of the deep neural network, and the result of the performed calculation is transmitted to the first communication device; The second information processing device executes the calculations subsequent to the calculation executed by the first information processing device among the series of calculations based on the results of the calculations executed by the first information processing device. Information processing system.

21. The system includes at least a first information processing device that performs calculations in a first range of a series of calculations of a deep neural network, and a second information processing device that performs calculations in a second range that follows the first range of the series of calculations of the deep neural network, The first information processing device determining whether or not to terminate the calculation included in the first range; when it is determined that the calculation included in the first range is to be terminated, executes a part of the calculation included in the first range, and transmits to the second information processing device a result of the executed calculation and information indicating the position of the result of the executed calculation in the series of calculations; The second information processing device when the information is received, a continuation of the calculation performed by the first information processing device in the series of calculations is performed based on the result of the calculation performed by the first information processing device. Information processing system.

22. a third information processing device that determines the first range; The information processing system of claim 20 further comprising:

23. a third information processing device that determines whether or not to terminate the calculation included in the first range. Furthermore, the third information processing device transmits an instruction to the first information processing device to terminate the calculation included in the first range; When the first information processing device receives the instruction, the first information processing device determines to terminate the calculation included in the first range.

22. The information processing system according to claim 21.

Citation Information

Patent Citations

  • Control device, data processing method and program

    JP2019148876A

  • Data analysis system, learning device, method, and program

    JP2020077155A

  • Information processing system, information processing device and program

    JP2020135060A