Distributed inference of a computational task

WO2026119450A1PCT designated stage Publication Date: 2026-06-11TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
Filing Date
2025-10-13
Publication Date
2026-06-11

Smart Images

  • Figure EP2025079391_11062026_PF_FP_ABST
    Figure EP2025079391_11062026_PF_FP_ABST
Patent Text Reader

Abstract

There is provided techniques for performing distributed inferencing of a computational task. The computational task is dividable into parts. A method is performed by a server device. The method comprises pre-processing device profiles, one for each wireless client device, based on information collected for the wireless client devices. The information for each wireless client device at least pertains to identity of the wireless client device, ability of the wireless client device to perform the computational task, and availability of the wireless client device to perform the computational task. The method comprises selecting which of the wireless client devices to perform which respective part of the computational task, based on the device profiles. The method comprises performing distributed inferencing of the computational task by instructing the selected wireless client devices to perform their respective parts of the computational task.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] DISTRIBUTED INFERENCE OF A COMPUTATIONAL TASK

[0002] TECHNICAL FIELD

[0003] Embodiments presented herein relate to a method, a server device, a computer program, and a computer program product for performing distributed inferencing of a computational task. Embodiments presented herein further relate to a method, a wireless client device, a computer program, and a computer program product for performing part of the computational task.

[0004] BACKGROUND

[0005] Large language models (LLMs) are examples of foundation models and have become prominent with their ability to respond to user queries by leveraging the vast amounts of data they have been trained on. These tasks of the user queries encompass not only generation of textual content (e.g., code, natural language) but also creation of content in various other formats, such as audio, images, and video. Advances in both single and multi-agent frameworks have provided foundation models in terms of Generative Models (GMs) with the capacity to reason, plan, interact with external systems, and reflect on their answers to thereby further broadening the range of applications of LLMs. Prompting techniques for GMs, such as retrieval-augmented generation (RAG), along with a steady increase of the context size, have enabled customized use of pre-trained GMs in specific domains without the need for retraining, which can be resource-intensive.

[0006] Until recently, foundation models, such as GMs, have been deployed centrally, as the computational resources required for inference were quite large. Examples of such models are Claude-3, GPT-3.5 / GPT-4 and Gemini, etc. However, models with smaller number of parameters and less compute requirements have also been provided.

[0007] Examples of such models are phi and phi-2, mistral and mixtral, llama-2 and llama-3, etc. Advancements in quantization methods as well as techniques taking advantage of the sparse nature of some types of foundation models, such as LLMs, have also allowed such models to run on commodity hardware, without requiring large amounts of activation memory of Graphics Processing Units (GPUs) or dynamic random access memory (DRAM). Foundation models can thus be run either locally on-device (for models with a comparatively small number of parameters and comparatively low compute requirements) or interfacing some remote servers for models (for models with a comparatively large number of parameters and comparatively high compute requirements).

[0008] In the context of communication networks, offloading computations to remote servers can present long-term challenges in terms of time and frequency communication resource usage. This is because the size of the content communicated, both as input to GMs and output from GMs, tends to increase. For example, this increase could be due to the transmission of multimodal content, such as audio, images and videos and not only text. Especially in the wireless part of the communication networks, e.g. the so-called air interface between a radio base station (RBS) and a User Equipment (UE), is a finite resource, which is also very dynamic in nature in terms of background noise due to changing environment, and mobility and throughput patterns of the UEs.

[0009] At the same time, there may be a need to access even larger foundation models for more complex computational tasks. According to state of the art, some UEs have the capability to combine local LLMs with cloud-hosted LLMs, and as GMs become more capable in producing even richer context (e.g., higher resolution video, larger volumes of text, higher resolution audio, etc.), network traffic is expected to grow and put a strain on at least the wireless parts of the communication networks.

[0010] One way to address the increasing traffic resulting from the growing use of foundation models (and the growing of the foundation models themselves) is the so- called mixture of experts (MoE) concept. In this respect, an MoE model consist of a set of N expert models (FFN1, ..., FFNn) and a Gating Model G (also referred to as a router in the literature). The expert models could have a distributed implementation, whereas the gating model could have a centralized implementation. For example, each expert model could be implemented at a respective device, such as a UE whereas the gating model is implemented in a server. The gating model directs the input to the appropriate expert model. In a dense MoE model, all expert models FFN1 to FFNn are activated during each iteration, which yields accuracy but is computationally expensive. In a sparse MoE model, only some (e.g., the top-k) expert models are activated. The result is a normalized weighted sum of the output of the expert models. In both cases, the gating model assigns a weight to each expert model based on the input data. In case of dense MoE models, the gating model typically assigns non-zero weights to all expert models. MoE models can also be executed in parallel, allowing for efficient use of hardware resources.

[0011] In MoE models, expert models can be executed in different network nodes to leverage distributed computing resources. However, it can be difficult to select which expert models to use for a given computational task.

[0012] SUMMARY

[0013] An object of embodiments herein is to address the above issues with respect to selection of which expert models to select for performing a given computational task.

[0014] It is assumed that each expert model is implemented, or executed, in a respective UE or other type of wireless client device and that the gating model is implemented in a server device (which may be one of the wireless client devices).

[0015] According to a first aspect there is presented a method for performing distributed inferencing of a computational task. The computational task is dividable into parts. The method is performed by a server device. The method comprises pre-processing device profiles, one for each wireless client device, based on information collected for the wireless client devices. The information for each wireless client device at least pertains to identity of the wireless client device, ability of the wireless client device to perform the computational task, and availability of the wireless client device to perform the computational task. The method comprises selecting which of the wireless client devices to perform which respective part of the computational task, based on the device profiles. The method comprises performing distributed inferencing of the computational task by instructing the selected wireless client devices to perform their respective parts of the computational task.

[0016] According to a second aspect there is presented a server device for performing distributed inferencing of a computational task. The computational task is dividable into parts. The server device comprises processing circuitry. The processing circuitry is configured to cause the server device to pre-process device profiles, one for each wireless client device, based on information collected for the wireless client devices. The information for each wireless client device at least pertains to identity of the wireless client device, ability of the wireless client device to perform the computational task, and availability of the wireless client device to perform the computational task. The processing circuitry is configured to cause the server device to select which of the wireless client devices to perform which respective part of the computational task, based on the device profiles. The processing circuitry is configured to cause the server device to perform distributed inferencing of the computational task by instructing the selected wireless client devices to perform their respective parts of the computational task.

[0017] According to a third aspect there is presented a computer program for performing distributed inferencing of a computational task. The computer program comprises computer code which, when run on processing circuitry of a server device, causes the server device to perform actions. One action comprises the server device to pre- process device profiles, one for each wireless client device, based on information collected for the wireless client devices. The information for each wireless client device at least pertains to identity of the wireless client device, ability of the wireless client device to perform the computational task, and availability of the wireless client device to perform the computational task. One action comprises the server device to select which of the wireless client devices to perform which respective part of the computational task, based on the device profiles. One action comprises the server device to perform distributed inferencing of the computational task by instructing the selected wireless client devices to perform their respective parts of the computational task.

[0018] According to a fourth aspect there is presented a method for performing part of a computational task. The method is performed by a wireless client device. The method comprises providing, to a server device, information at least pertaining to identity of the wireless client device, ability of the wireless client device to perform the computational task, and availability of the wireless client device to perform the computational task. The method comprises receiving instructions from the server device for the wireless client device to perform a part of the computational task. The method comprises performing the part of the computational task in accordance with the received instructions. According to a fifth aspect there is presented a wireless client device for performing part of a computational task. The wireless client device comprises processing circuitry. The processing circuitry is configured to cause the wireless client device to provide, to a server device, information at least pertaining to identity of the wireless client device, ability of the wireless client device to perform the computational task, and availability of the wireless client device to perform the computational task. The processing circuitry is configured to cause the wireless client device to receive instructions from the server device for the wireless client device to perform a part of the computational task. The processing circuitry is configured to cause the wireless client device to perform the part of the computational task in accordance with the received instructions.

[0019] According to a sixth aspect there is presented a computer program for performing part of a computational task. The computer program comprises computer code which, when run on processing circuitry of a wireless client device, causes the wireless client device to perform actions. One action comprises the wireless client device to provide, to a server device, information at least pertaining to identity of the wireless client device, ability of the wireless client device to perform the computational task, and availability of the wireless client device to perform the computational task. One action comprises the wireless client device to receive instructions from the server device for the wireless client device to perform a part of the computational task. One action comprises the wireless client device to perform the part of the computational task in accordance with the received instructions.

[0020] According to a seventh aspect there is presented a computer program product comprising a computer program according to at least one of the third aspect and the sixth aspect and a computer readable storage medium on which the computer program is stored. The computer readable storage medium could be a non-transitory computer readable storage medium.

[0021] Advantageously, these aspects enable the right set of wireless client devices to be selected for performing the right part of the computational task at hand.

[0022] Advantageously, by distributing the computational tasks to wireless client devices and leveraging their local processing capabilities, MoE can reduce the latency associated with sending data back and forth to a central server. In turn, this can lead to faster response times and improved user experience, especially for latencysensitive applications.

[0023] Advantageously, distributing the workload of the computational task across multiple wireless client devices can help balance the load on the central server, preventing bottlenecks and improving overall network scalability. This decentralized approach can better accommodate a growing number of devices in the network, as well as increasing data demands.

[0024] Advantageously, the MoE approach increases network resiliency by distributing computational tasks across multiple wireless client devices. If one of the wireless client devices fails to complete its assigned part of the computational task or leaves the network unexpectedly, other wireless client devices can take over its part of the computational tasks, ensuring continuous operation without a single point of failure.

[0025] Advantageously, by utilizing the computational capabilities of the wireless client devices, which may have periods of idle processing power, the overall energy consumption of the network can be optimized. This distributed computational approach can lead to more efficient use of energy resources across the network.

[0026] Other objectives, features and advantages of the enclosed embodiments will be apparent from the following detailed disclosure, from the attached dependent claims as well as from the drawings.

[0027] Generally, all terms used in the claims are to be interpreted according to their ordinary meaning in the technical field, unless explicitly defined otherwise herein. All references to "a / an / the element, apparatus, component, means, module, step, etc." are to be interpreted openly as referring to at least one instance of the element, apparatus, component, means, module, step, etc., unless explicitly stated otherwise. The steps of any method disclosed herein do not have to be performed in the exact order disclosed, unless explicitly stated.

[0028] BRIEF DESCRIPTION OF THE DRAWINGS

[0029] The inventive concept is now described, by way of example, with reference to the accompanying drawings, in which: Fig. 1 is a schematic diagram illustrating examples of wireless networks according to embodiments;

[0030] Fig. 2 is a flowcharts of methods according to embodiments;

[0031] Figs. 3, 4, 5, 6, 7, 8 are block diagrams according to embodiments;

[0032] Fig. 9 is a flowchart of methods according to embodiments;

[0033] Fig. 10 is a schematic diagram showing structural units of a server device according to an embodiment;

[0034] Fig. 11 is a schematic diagram showing structural units of a wireless client device according to an embodiment; and

[0035] Fig. 12 shows one example of a computer program product comprising computer readable means according to an embodiment.

[0036] DETAILED DESCRIPTION

[0037] The inventive concept will now be described more fully hereinafter with reference to the accompanying drawings, in which certain embodiments of the inventive concept are shown. This inventive concept may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided by way of example so that this disclosure will be thorough and complete, and will fully convey the scope of the inventive concept to those skilled in the art. Like numbers refer to like elements throughout the description. Any step or feature illustrated by dashed lines should be regarded as optional.

[0038] It is hereinafter assumed that each expert model (below also referred to as computational model) is implemented, or executed, in a respective UE or other type of wireless client device and that the gating model is implemented in a server device (which may be one of the wireless client devices). Reference is here made to Fig. 1 which illustrates three types of wireless networks 100a, 100b, 100c. In each of the wireless networks 100a, 100b, 100c a server device 110, represented by a gNB, is serving, and thus providing network access to, a number of wireless client devices 120, represented by UEs. Generally, the server device 110 may be implemented in a network node such as a radio access network node, radio base station, base transceiver station, node B, evolved node B, gNB, access point, access node, radio intelligence controller, or in an edge computing node, computational cloud node, etc., or even in one of the wireless client devices 120. Further, each wireless client device 120 can be a portable wireless device, mobile station, mobile phone, handset, wireless local loop phone, UE, smartphone, laptop computer, tablet computer, wireless modem, wireless sensor device, etc.

[0039] For simplicity but without loss of generalization, only one single server device 110 is illustrated in each of the wireless networks 100a, 100b, 100c. As is well understood in the art, each of the wireless networks 100a, 100b, 100c may comprise a plurality of server devices 110, each serving a plurality of wireless client devices 120 in a respective coverage region. Wireless network 100a is an example where the server device 110 provides omni-directional coverage in a region, or cell, 130. Wireless network 100b is an example where the server device 110 provides coverage in a narrow region, or sector, 140. Wireless network 100c is an example where the server device 110 provides coverage in an even more narrow region, as realized by a beam, 150. It is understood that the shapes of the regions 130, 140, 150 can change over time.

[0040] As disclosed above, in MoE models, expert models can be executed in different network nodes to leverage distributed computing resources, but it can be difficult to select which expert models to use for a given computational task.

[0041] In more detail, there is generally a finite number of expert models to choose from that are known to the gating model a priori. One reason for this is that, typically, expert models are trained together with the gating model. In a wireless communication environment, such as in a mobile network, network traffic is oftentimes dynamic, and therefore the wireless client devices in which the expert models are implemented chosen to serve at one time of inference, may not be suitable to serve at another time when network traffic and mobility patterns differ.

[0042] Hence, it can be challenging for a server device in which the gating model is implemented to select the appropriate (few) wireless client devices out of a (potentially) large set of available wireless client devices to perform distributed inferencing of a computational task. According to the herein disclosed embodiments, systems and methods are provided for selecting a collaboration structure for a set of inference capable wireless client devices 120 to perform a computational task. Each of the wireless client devices 120 are instructed to perform a part of the computational task. The parts may be overlapping, partly overlapping or not overlapping. Hence, two given wireless client devices 120a may in one example be instructed to perform the same part of the computational task, and may in another example be instructed to perform different parts of the computational task.

[0043] Each wireless client device 120 may host a lightweight expert model trained on specific subsets of data or specialized computational tasks. New wireless client devices 120 can join the system by registering with the server device 110. The server device 110 will then update its gating model to include the new wireless client devices 120 and their expert models, including e.g. their performance with regards to some performance benchmarks. In addition, wireless client devices 120 can leave the system gracefully, by notifying the server the device 110, or gracelessly, by simply moving out of the coverage range of the server device 110. In this context, a graceful disconnection represents an announced disconnection where the server device 110 is informed in advance that a given server device 110 is leaving the system. Likewise, a graceless disconnection represents an unannounced disconnection where the server device 110 is not informed in advance that a given server device 110 is leaving the system. The gating model can then be readjusted to redistribute tasks among the remaining wireless client device 120 in the system.

[0044] When a wireless client device 120 performs an announced disconnection, the server device 110 can ensure that any ongoing computational tasks or data associated with that the disconnecting wireless client device 120 are either completed or reallocated to other wireless client devices 120 in a controlled manner. This minimizes disruption and maintains the integrity of the system's operations. The gating model can then be updated to reflect the departure of one expert model, rebalancing the workload among the remaining wireless client devices 120 based on their capabilities and current performance metrics.

[0045] In the event a wireless client device 120 performs an unannounced disconnection, the server may, for example by absence of an expected transmission from the wireless client device 120 or absence of a confirmation of reception from the wireless client device 120, the loss and can initiates a failover mechanism. According to the failover mechanism, the part of the computational tasks and data previously handled by the disconnected wireless client device to other available wireless client devices. The gating model is dynamically adjusted to compensate for the unexpected loss, prioritizing critical parts of the computational task at hand and optimizing resource distribution to maintain service continuity.

[0046] When a handover is performed for one of the wireless client devices 120 from one gNB to another gNB, the server device may facilitate a seamless transition. The wireless client device’s expert model, along with its performance history and task assignments, can thereby the transferred to the new gNB. In short, this handover process may comprise the following steps. Handover Preparation: The source gNB prepares the wireless client device for handover by informing the target gNB about the incoming wireless client device and its expert model. Context Transfer: The wireless client device 's context, including its expert model and associated data, is securely transferred to the target gNB. Re-registration with server device: The wireless client device re-registers with the server device through the target gNB, updating its status and location. Gating Model Update: the server device updates the gating model to account for the new location of the wireless client device, ensuring that tasks and data are appropriately redistributed. Task Resumption: The wireless client device resumes its part of the computational task at the new gNB, maintaining the continuity of its operations. This robust handover mechanism ensures that the expertise of each wireless client device is effectively utilized, regardless of changes in their connectivity, contributing to a resilient and adaptive network.

[0047] Reference is now made to Fig. 2 illustrating a method for performing distributed inferencing of a computational task as performed by the server device 110 according to an embodiment. The computational task is dividable into parts.

[0048] S102: The server device 110 pre-processes device profiles, one for each of the wireless client devices 120. The pre-processing is based on information collected for the wireless client devices 120. The information for each wireless client device 120 at least pertains to identity of the wireless client device 120, ability of the wireless client device 120 to perform the computational task, and availability of the wireless client device 120 to perform the computational task. Further types of information that may be collected for the wireless client devices 120 for this purpose will be provided below. In some examples, the pre-processing comprises collecting information about the device profiles, and registering the device profiles.

[0049] S106: The server device 110 selects which of the wireless client devices 120 to perform which respective part of the computational task, based on the device profiles. In general terms, and as will be disclosed in more detail below, the selection is made based on which ability and which availability the wireless client devices 120 have for performing the computational task. In other words, the selection is made based on which of the wireless client devices 120 that, according to the device profiles, (i) have which ability to perform which part of the computational task, and (ii) are availability to perform their respective part of the computational task.

[0050] S108: The server device 110 performs distributed inferencing of the computational task by instructing the selected wireless client devices 120 to perform their respective parts of the computational task. In this respect, the server device 110 may send a message on a control channel established between the server device 110 and the wireless client devices 120. The control channel may be a broadcast control channel, a multicast control channel, or a unicast control channel. The control channel may be established using known protocols for wireless communication as supported by the server device 110 and the wireless client devices 120.

[0051] Distributed inference thus refers to the process of executing inference across multiple devices (here: different wireless client devices 120), with each device handlings different parts of a computational task. The server device 110 is configured to select which subset of available wireless client devices 120 to be activated for a given computational task. Based on this decision, the input data of the computational task can be routed to the selected wireless client devices 120 for processing. In this way, the server device 110 is enabled to dynamically allocate resources while minimizing unnecessary computation and ensuring efficient execution.

[0052] Embodiments relating to further details of perform distributed inferencing of a computational task as performed by the server device 110 will now be disclosed with continued reference to Fig. 2. Further aspects of the information collected for the wireless client devices 120 will be disclosed next. Intermediate reference is first made to Fig. 3 which illustrates a block diagram 300 comprising a network node 310 and UEs 320a:320x (UE 1, ..., UE x). As illustrated, available information is provided from wireless client devices implemented in the UEs to a server device 330 implemented in the network node.

[0053] As disclosed above, the information collected for the wireless client devices 120 at least pertains to the identities of the wireless client devices 120. 1 general terms, each of the wireless client devices 120 has a device-unique identity. There could be different examples of identities of the wireless client devices 120. In some nonlimiting examples, the identity of the wireless client device 120 is represented by any of: an International Mobile Subscriber Identity (IMSI), International Mobile Equipment Identity (IMEI), Mobile Station International Subscriber Directory Number, (MSISDN), Media Access Control Address (MAC) Address, Internet Protocol (IP) Address, Temporary Mobile Subscriber Identity (TMSI), Globally Unique Temporary Identifier (GUTI), eSIM Identifier (EID), User Equipment Identifier (UE ID), Fully Qualified Domain Name (FQDN), Mobile Station Roaming Number (MSRN), Radio Network Temporary Identifier (RNTI), Universally Unique Identifier (UUID), of the wireless client device 120.

[0054] In general terms, the information collected for the wireless client devices 120, in addition to the identities of the wireless client devices 120, indicate the capabilities of the wireless client devices 120 as experts for different types of computational tasks.

[0055] In some embodiments, the availability of the wireless client device 120 to perform the computational task pertains to: traffic characteristics of the wireless client device 120, mobility characteristics of the wireless client device 120, device characteristics of the wireless client device 120, and wireless channel characteristics of the wireless client device 120.

[0056] Further aspects of the traffic characteristics will be disclosed next. In general terms, the traffic characteristics may relate to network traffic policies, such as network slice information and traffic quality of service (e.g., maximum acceptable latency, guaranteed bitrate, maximum acceptable packet drop rate, etc). The traffic characteristics may also relate to traffic patterns (e.g., bursty traffic or smooth traffic, or more detailed value distribution of traffic, etc.) or type of traffic (e.g., transport control protocol (TCP) or user datagram protocol (UDP)), etc. Therefore, in some embodiments, the traffic characteristics of the wireless client device 120 comprises information of which type of network slice, traffic priority, traffic pattern, and / or type of traffic the wireless client device 120 is associated with. Here, the network slice related information may pertain to its type (e.g., ultra-reliable low latency communications (URLLC), enhanced mobile broadband communication (eMBB), massive machine-type communication (mMTC), etc.) and priority.

[0057] Further aspects of the mobility characteristics will be disclosed next. In general terms, the mobility characteristics may relate to duration and / or frequency of attachments and disconnections. In particular, in some embodiments, the availability of the wireless client device 120 to perform the computational task pertains to any, or any combination, of: duration of network attachments performed for the wireless client device 120, frequency of network attachments performed for the wireless client device 120, amount of network disconnections by the wireless client device 120 per time interval, total amount of network disconnections by the wireless client device 120, type of disconnections made by the wireless client device 120. Here, the frequency of attachments, may be provided in terms of a how long time, or how many times, a wireless client device 120 stays attached to the server device 110 per unit of time (e.g., 10 minutes per hour or 10 attachments per hour).

[0058] Further aspects of the ability of the wireless client device 120 to perform the computational task will be disclosed next. In some embodiments, the ability of the wireless client device 120 to perform the computational task pertains to at least one of: computational capabilities (e.g., in terms of teraflops per second), available memory (e.g., in terms of DRAM, available power reserves (e.g., available battery charge and rate of discharge), wireless client device type (e.g., redcap, Internet of Things device, regular UE), wireless capabilities. Further in this respect, the computational capabilities may pertain to number of parameters supported by the wireless client device 120 for model training and inference, e.g., its native LLM capabilities, along with benchmarking results, information about training process, etc.

[0059] In general terms, the wireless channel characteristics refer to information about the quality of the wireless channel the wireless client device 120 is listening on. There could be different types of such wireless channel characteristics, such as referring to the wireless channel quality, bandwidth, etc. In some embodiments, the wireless channel characteristics of the wireless client device 120 pertains to quality of a wireless channel the wireless client device 120 is communicating on, bandwidth of the wireless channel the wireless client device 120 is communicating on. In this respect, the wireless channel characteristics may include layer 1 metrics such as Channel Quality Information (CQI), or layer 3 metrics such as Reference Signal Received Power (RSRP). Hence, in some embodiments, the quality of the wireless channel comprises at least one layer 1 metric and / or at least one layer 3 metric.

[0060] The device profile may further comprise information about the geographical location of the wireless client devices 120. Therefore, in some embodiments, the availability of the wireless client device 120 to perform the computational task further pertains to locations of the wireless client devices 120.

[0061] As disclosed above, in terms of handover of the wireless client device 120 from one gNB to another gNB, the expert model, along with its performance history and task assignments, is transferred to the new gNB. Hence, in some embodiments the ability of the wireless client device 120 to perform the computational task is based on performance history and assignment information of previous computational tasks performed by the wireless client devices 120.

[0062] Further aspects of the pre-processing of the device profiles as performed by the server device 110 in step S102 will be disclosed next.

[0063] In general terms, the information collected for the wireless client devices 120 may be collected per network node, sector, or beam, as in the different examples of wireless networks 100a, 100b, 100c. Therefore, in some embodiments, the device profiles are pre-processed per all wireless client devices 120 served by a same network node, per all wireless client devices 120 served in a same sector of a network node, or per all wireless client devices 120 served in a same beam of a network node.

[0064] In general terms, the way the collected information is added to the device profiles is based on an observation period of a preset time duration, within which multiple pieces of information as disclosed above can be collected. In this respect, there can be different formats in which the information is collected. In some embodiments, the information collected for the wireless client devices 120 is composed of reports received from the wireless client devices 120 or from another server device 110. It is also possible that the server device 110, instead of providing these multiple pieces of information in raw format, provides predicted pieces of information (i. e. , future predicted values), using one or more sequence-to-sequence machine learning (ML) models trained from observations. Hence, in some embodiments, at least some of the information collected for the wireless client devices 120 is, or is based on, predictions calculated from previously received information as collected for the wireless client devices 120.

[0065] Intermediate reference is here made to Fig. 4 which illustrates a block diagram 400 comprising a server device 410 and a UE 420 in which a wireless client device is implemented. As illustrated, available information is provided from the wireless client device to the server device (step 1). The information is collected by a profile 412 which creates a device profile for the wireless client device based on the received information (step 2). The thus created device profile is provided to a registry handler 414. The registry handler 414 is configured to subject the device profile to an evaluation test to determine whether the wireless client device is to be registered as an expert or not, and thus whether the device profile is to be stored or not (step 3). In case the device profile passes the evaluation test, the wireless client device is registered as an expert and the device profile is stored in an expert registry 416 (step 4). In some aspects, the device profiles are thus subjected to an evaluation test before being stored. Hence, in some embodiments, the server device 110 is configured to perform (optional) step S104.

[0066] S104: The server device 110 stores those of the device profiles that pass an evaluation test. The evaluation test pertains to reliability of the information collected for the wireless client devices 120.

[0067] The reliability generally encompasses both reliability in the sense of uninterruptible operation of the wireless client devices 120 and performance (e.g., timely and accurate responses from the wireless client devices 120). In general terms, the device profiles as pre-processed in step S102 can be evaluated for storage in an expert registry by a registry handler component implemented in the server device 110. Intermediate reference is here made to Fig. 5 which illustrates a block diagram 500 comprising a server device 510 comprising a profiler 520. As illustrated, available information for wireless client devices is collected by the profile 520 (step 1). The profiler 520 creates device profiles (step 1) for the wireless client devices based on the received information and based on the evaluation in step S104. This evaluation may pertain to whether the collected information used to build the device profile is reliable or not as evaluated over K time units. Here, the reliability may be represented by the confidence of model predictions, etc. (if step 3a in Fig. 5 is entered), or by the statistical dispersion of the list of observations (if step 3b in Fig. 5 is entered), and if the collected information is timely. Particularly, in some embodiments, the reliability of the information collected for the wireless client devices 120 is based on a confidence score assigned to the information collected for the wireless client devices 120 and freshness of the information collected for the wireless client devices 120.

[0068] Freshness can thus refer to whether the timestamps of observations are recent (if step 3b in Fig. 5 is entered), or whether the predictions are for an acceptable amount of time in the future (if step 3a in Fig. 5 is entered). If the criteria are satisfied, then the device profile is forwarded for storage in the expert registry. Subsequent storages of a given device profile mean that the given device profile has been updated. This implies that device profiles can be updated, as will be disclosed below.

[0069] Further aspects of selecting which of the wireless client devices 120 to perform which respective part of the computational task as in step S106 will be disclosed next with intermediate reference to the block diagram 600 in Fig. 6.

[0070] Given an input X, which is the description of a computational task, the server device 612 will, for example by using a gating function 612, select a subset of expert models, each implemented in a respective wireless client device, such as a UE. In the illustrative example of Fig. 6, there are three such expert models and wireless client devices, denoted “Expert 1 - UE 1”, “Expert 2 - UE 2”, and “Expert 3 - UE 3”. There are different ways in which the gating function 612 can be implemented. For example, the gating function 612 can use a softmax function, wherein the input X is multiplied by a trainable weight matrix, Wg:

[0071] Go(X) = Softmax(X • Wg), where Ga(X) represents the output gating function that represents the gating probabilities for each output channel or feature.

[0072] In this case all expert models are taken into account. In another example known as noisy top-k gating, the gating function is complemented with two components, namely sparsity and noise. The gating function can then be formulated as:

[0073] G(x) = Softmax(KeepTopK(H(x),k)), where G(X) represents the output gating function that represents the gating probabilities for each output channel or feature.

[0074] Hence, both G(X) and Go(X) output probabilities for selecting different experts, given an input X. The difference between Ga(X) and G(x) is the way the probabilities are computed; G(X) uses top-K pruning and can include noise, which means that only a subset of experts are weighed, whereas Ga(X) represents a weighting of all experts.

[0075] The result is still a softmax operation, but the KeepTopK-function retains only the top-k entries, each having a value based on a trainable weight matrix Wg, and a second trainable weight Wnoise which controls the amount of noise. According to the illustrative example in Fig. 6, only the entries representing “Expert 1 - UE 1” and “Expert 3 - UE 3” are retained. Further, “Expert 1 - UE 1” is given weight 0.28 whereas “Expert 3 - UE 3” is given weight 0.72. The contributions to the result of the computational task as produced by these two expert models are then added and normalized (in accordance with the weights) in an add + normalize block 614. The weight matrices can be implemented using an Artificial Neural Network (ANN), such as a feed-forward neural network.

[0076] In general terms, the server device 110 may, as part of the selection process in step S106, retrieve device profiles corresponding to expert models that satisfy a combination of availability criteria, such as available load and power reserves, wireless channel quality criteria, such as wireless channels with low noise, etc. Hence, in some embodiments, the computational task is associated with a set of requirements, and the wireless client devices 120 for which a combination of the information collected for the wireless client devices 120 satisfy the set of requirements are selected to perform the computational task. Further, the selection of expert models may be based on a similarity of the computational task to previous computational tasks. For example, if a given subset of the wireless client devices 120 was used for a first computational task, and a second computational task is similar to the first computational task then the same given subset of the wireless client devices 120 can be selected to perform the second computational task, etc. If, for example, a computational task consists only of text generation and / or analysis, then the comparison can be performed using embedding models and by use of distance metrics such as cosine similarity, or by keyword extraction and comparison, or simple lexicographical matching. If computational tasks pertain to more than text, e.g., involving analysis and / or generation of images or audio, other methods of comparison can be used such as fingerprinting, visual object detection, image similarity search algorithms, etc. Particularly, in some embodiments, the wireless client devices 120 have performed previous computational tasks, and which of the wireless client devices 120 to perform the computational task is further selected based on a similarity of the computational task to the previous computational tasks. For this purpose, the server device 110 may store feedback information with regards to the performance of the expert models of the selected wireless client devices 120. If feedback for a certain group of expert models is consistently bad, the server device 110 could select another group of wireless client devices 120 with another set of expert models. Likewise, selections yielding high accuracy results can be stored whilst selections yielding poor accuracy results may be discarded. Accuracy can be provided in terms of feedback, as will be explained later in conjunction with the description of Fig. 8.

[0077] As disclosed above, the selection could be based on a trainable weight matrix Wg, which, based on a loss function yields how much weight should be put on the results from each of the expert models. Thus, in some aspects, as part of the selection process in step S106, the server device 110 may determine how much weight should be put on the result provided by a given expert model. Hence, in some embodiments, selecting which of the wireless client devices 120 to perform which part of the computational comprises assigning an importance weight factor to each of the wireless client devices 120 selected to perform the computational task, where the importance weight factor pertains to weighting of results of the computational task as received from the wireless client devices 120. In some aspects, the selection is based on the complexity of the computational task. In particular, in some embodiments, the computational task is associated with a computational complexity level, and which of the wireless client devices 120 to perform which part of the computational task is further selected based on the computational complexity level.

[0078] In some aspects, device profiles can be updated as fresh information becomes available. Therefore, in some embodiments, the server device 110 is configured to perform (optional) step S110 and step S112.

[0079] S110: The server device 110 obtains updates to the information collected for any of the wireless client devices 120. In this respect, the server device 110 may receive the updates in messages on a data channel established between the server device 110 and the wireless client devices 120. The data channel may be established using known protocols for wireless communication as supported by the server device 110 and the wireless client devices 120.

[0080] S112: The server device 110 updates the device profile of these any of the wireless client devices 120 in accordance with the updates to the information.

[0081] Further, the registry handler component of the server device 110 may also deregister a wireless client device 120, should its device profile expire. A device profile may expire due to aging, or due to relating to predictions for future times that have already passed. The registry handler may also receive notifications to deregister a wireless client device 120 in case, for example, of a handover or other type of detachment from a gNB. Therefore, in some embodiments, the server device 110 is configured to perform (optional) step S114.

[0082] S114: The server device 110 removes any stored device profile as freshness of these any device profiles expires and / or as a communication connection between the server device 110 and the wireless client device 120 associated with any of these stored device profiles is lost.

[0083] Fig. 7 shows a block diagram 700 of the thus far descried process of computational task reception and decomposition, collaboration type selection, and worker assignment. For illustrative purposes, in this example, the process is triggered by an external entity 710, e.g., a UE which presents the server device 725 as implemented in a network node 720 with a query (step 1). The query has the description of a computational task. The query may be in the form of a natural language sequence. In addition, the query has a UE identifier of the UE 710 that originated the query. The server device decomposes the computational task into subtasks, or parts (step 2). Further, the server device identifies, or selects, a group of available UEs 730, representing wireless client devices, for performing the computational task (step 3), as in step S106. The server device then instructs the selected group of UEs 730 to perform their respective parts of the computational task (step 4), as in step S108.

[0084] One non-limiting example of how to update device profiles, and thus how to resize Wg, depending on availability of the wireless client devices 120 will be disclosed next with reference to the block diagram 800 in Fig. 8.

[0085] For illustrative purposes, in this example, the process is triggered by an external entity, e.g., a UE 810 which presents the server device 820 with a query (step 1). The query has the description of a computational task. The query may be in the form of a natural language sequence. In addition, the query has a UE identifier of the UE 810 that originated the query.

[0086] The gating function handler 822 retrieves device profiles for all current expert models from the expert registry 824 (step 2). The gating function handler 822, based on the retrieved device profiles, then queries the expert register 824 for either an updated gating model or an existing gating model, depending on expert availability for the computational task at hand, as indicated by the device profiles retrieved from the expert register 824. The decision can be based on different criteria, such as existing expert model availability and task similarity. For the gating function handler 822 to be able to make a decision, the server device 820 may keep in the expert registry 824 the last T number of requested computational tasks and the current set of available expert models. If enough expert models are not available, e.g., because the latest updates of the device profiles have expired, then the gating function handler 822 may perform an update process to update the expert registry 824. In this respect, as disclosed above, the device profiles can be updated as fresh information becomes available. Therefore, the gating function handler 822 may have to wait before fresh information becomes available before the device profiles can be updated (e.g., as in above disclosed steps S110, S112). When enough expert models are available, the gating function handler 822 continues with a task similarity search.

[0087] In the task similarity search the gating function handler 822 compares the description of the incoming computational task to previously performed computational tasks. If the computational task at hand is similar to any previously performed computational task, then the server device 820 may forward the computational tasks to the wireless client devices involved in performing the previously performed computational task. Otherwise, the server device 820 assigns a new set of expert models, by selecting a corresponding set of wireless client devices, to handle the computational task. For this purpose, the server device 820 may perform an assessment of the complexity of the computational task. The complexity of a computational task may be assessed in various ways, for example based on the number of tokens, words and / or sentences used to specify the computational task (or correspondingly, the number of bits of information if the computational task contains images, video and / or audio). Other cognitive metrics that can be used are readability scores such as Flesch-Kincaid, Gunning Fog, and SMOG index. Other metrics may include frequency of occurrence of certain parts of speech such as the number of conjunctions (e.g., “and”, “or”, “but”) which can indicate compound and complex sentences. The server device 820, based on the available device profiles and the computational task at hand, selects a set of wireless client devices whose expert models satisfy a combination of availability criteria (such as available load and power reserves), wireless channel quality criteria (wireless channels with low noise), update criteria (predicted time of attachment exceeding a threshold) and bandwidth availability criteria. The number of wireless client devices to be selected may be proportional to the complexity of the computational task at hand.

[0088] The server device 820 then forwards a part of the computational task to each of the selected wireless client devices 830 (step 3). The wireless client devices 830 then perform their respective part of the computational task, using their expert models, and forwards a respective response to the server device 820 (step 4).

[0089] The server device 820 receives the responses from the wireless client devices 830 and aggregate the responses using e.g., weighed averaging based on the relative importance of the different expert models (step 5). The server device 820 forwards the aggregated response back to the UE 810 that initiated the query (step 6).

[0090] Optionally, the UE 810 that initiated the query provides feedback to the server devices 820 with regards to the accuracy of the generated response (step 7). There are different ways to handle this feedback information, as already described above.

[0091] Reference is now made to Fig. 9 illustrating a method for performing part of a computational task as performed by one of the wireless client devices 120 according to an embodiment.

[0092] In general terms, the wireless client device 120 provides information to the server device 110 so that the server device 110 can select which of the wireless client devices 120 to perform which respective part of the computational task (as in step S106).

[0093] S202: The wireless client device 120 provides, to the server device 110, information at least pertaining to identity of the wireless client device 120, ability of the wireless client device 120 to perform the computational task, and availability of the wireless client device 120 to perform the computational task.

[0094] S204: The wireless client device 120 receives instructions from the server device 110 for the wireless client device 120 to perform a part of the computational task.

[0095] S206: The wireless client device 120 performs the part of the computational task in accordance with the received instructions.

[0096] Embodiments relating to further details of performing part of a computational task as performed by one of the wireless client devices 120, 1100 will now be disclosed with continued reference to Fig. 9.

[0097] The wireless client device 120 may hold a computational model (above also referred to as expert model) trained on locally available data and / or trained for specific computational tasks.

[0098] Further aspects of the information provided to the server device 110 will be disclosed next. In some embodiments, the information is in step S202 provided to the server device 110 upon the wireless client device 120 registering with the server device 110.

[0099] As disclosed above, in some non-limiting examples, the identity of the wireless client device 120 is represented by any of: IMSI, IMEI, MSISDN, MAC Address, IP Address, TMSI, GUTI, EID, UE ID, FQDN, MSRN, RNTI, UUID of the wireless client device 120.

[0100] As disclosed above, in some embodiments, the availability of the wireless client device (120, 1100) to perform the computational task pertains to: traffic characteristics of the wireless client device 120, mobility characteristics of the wireless client device 120, and wireless channel characteristics of the wireless client device 120. As disclosed above, in some embodiments, the traffic characteristics of the wireless client device 120 comprises information of which type of network slice, traffic priority, traffic pattern, and / or type of traffic the wireless client device 120 is associated with. As disclosed above, in some embodiments, the availability of the wireless client device 120 to perform the computational task pertains to any, or any combination, of: duration of network attachments performed for the wireless client device 120, frequency of network attachments performed for the wireless client device 120, amount of network disconnections by the wireless client device 120 per time interval, total amount of network disconnections by the wireless client device 120, type of disconnections made by the wireless client device 120. As disclosed above, in some embodiments, the ability of the wireless client device 120 to perform the computational task pertains to at least one of: computational capabilities, available memory, available power reserves, wireless client device type, wireless capabilities. As disclosed above, in some embodiments, the computational capabilities pertain to number of parameters supported by the wireless client device 120 for model training and inference. As disclosed above, in some embodiments, the wireless channel characteristics of the wireless client device 120 pertains to quality of a wireless channel the wireless client device 120 is communicating on, bandwidth of the wireless channel the wireless client device 120 is communicating on. As disclosed above, in some embodiments, the quality of the wireless channel comprises at least one layer 1 metric and / or at least one layer 3 metric. As disclosed above, in some embodiments, the availability of the wireless client device 120 to perform the computational task pertains to locations of the wireless client devices 120.

[0101] Fig. 10 schematically illustrates, in terms of a number of structural units, the components of a server device 1000 according to an embodiment. Processing circuitry 1010 is provided using any combination of one or more of a suitable central processing unit (CPU), multiprocessor, microcontroller, digital signal processor (DSP), etc., capable of executing software instructions stored in a computer program product 1210a (as in Fig. 12), e.g. in the form of a storage medium 1030. The processing circuitry 1010 may further be provided as at least one application specific integrated circuit (ASIC), or field programmable gate array (FPGA).

[0102] Particularly, the processing circuitry 1010 is configured to cause the server device 1000 to perform a set of operations, or steps, as disclosed above. For example, the storage medium 1030 may store the set of operations, and the processing circuitry 1010 may be configured to retrieve the set of operations from the storage medium 1030 to cause the server device 1000 to perform the set of operations. The set of operations may be provided as a set of executable instructions. Thus the processing circuitry 1010 is thereby arranged to execute methods as herein disclosed.

[0103] The storage medium 1030 may also comprise persistent storage, which, for example, can be any single one or combination of magnetic memory, optical memory, solid state memory or even remotely mounted memory.

[0104] The server device 1000 may further comprise a communications (comm.) interface 1020 for communications with other entities, functions, nodes, and devices, as in Fig. 1. As such the communications interface 1020 may comprise one or more transmitters and receivers, comprising analogue and digital components.

[0105] The processing circuitry 1010 controls the general operation of the server device 1000 e.g. by sending data and control signals to the communications interface 1020 and the storage medium 1030, by receiving data and reports from the communications interface 1020, and by retrieving data and instructions from the storage medium 1030. Other components, as well as the related functionality, of the server device 1000 are omitted in order not to obscure the concepts presented herein. Fig. 11 schematically illustrates, in terms of a number of structural units, the components of a wireless client device 1100 according to an embodiment. Processing circuitry 1110 is provided using any combination of one or more of a suitable central processing unit (CPU), multiprocessor, microcontroller, digital signal processor (DSP), etc., capable of executing software instructions stored in a computer program product 1210b (as in Fig. 12), e.g. in the form of a storage medium 1130. The processing circuitry 1110 may further be provided as at least one application specific integrated circuit (ASIC), or field programmable gate array (FPGA).

[0106] Particularly, the processing circuitry 1110 is configured to cause the wireless client device 1100 to perform a set of operations, or steps, as disclosed above. For example, the storage medium 1130 may store the set of operations, and the processing circuitry 1110 may be configured to retrieve the set of operations from the storage medium 1130 to cause the wireless client device 1100 to perform the set of operations. The set of operations may be provided as a set of executable instructions. Thus the processing circuitry 1110 is thereby arranged to execute methods as herein disclosed.

[0107] The storage medium 1130 may also comprise persistent storage, which, for example, can be any single one or combination of magnetic memory, optical memory, solid state memory or even remotely mounted memory.

[0108] The wireless client device 1100 may further comprise a communications interface 1120 for communications with other entities, functions, nodes, and devices, as in Fig. 1. As such the communications interface 1120 may comprise one or more transmitters and receivers, comprising analogue and digital components.

[0109] The processing circuitry 1110 controls the general operation of the wireless client device 1100 e.g. by sending data and control signals to the communications interface 1120 and the storage medium 1130, by receiving data and reports from the communications interface 1120, and by retrieving data and instructions from the storage medium 1130. Other components, as well as the related functionality, of the wireless client device 1100 are omitted in order not to obscure the concepts presented herein.

[0110] The server device 110, 1000 and / or the wireless client devices 120, 1100 may be provided as standalone devices or as a part of at least one further device. For example, the server device 110, 1000 may be provided in a network node of a radio access network, in a network node of a core network, or in an edge network node. For example, the wireless client devices 120, 1100 may be part of a respective UE. Alternatively, functionality of the server device 110, 1000 and / or wireless client device 120, 1100 may be distributed between at least two devices, or nodes. Thus, a first portion of the instructions performed by the server device 110, 1000 and / or wireless client device 120, 1100 may be executed in a respective first device, and a second portion of the instructions performed by the server device 110, 1000 and / or wireless client device 120, 1100 may be executed in a respective second device; the herein disclosed embodiments are not limited to any particular number of devices on which the instructions performed by the server device 110, 1000 and / or wireless client device 120, 1100 may be executed. Hence, the methods according to the herein disclosed embodiments are suitable to be performed by a server device 110, 1000 and / or wireless client device 120, 1100 residing in a cloud computational environment. Therefore, although a single processing circuitry 1010, 1110 is illustrated in Figs. 10 and 11 the processing circuitry 1010, 1110 may be distributed among a plurality of devices, or nodes. The same applies to the computer programs 1220a, 1220b of Fig. 12.

[0111] Fig. 12 shows one example of a computer program product 1210a, 1210b comprising computer readable means 1230. On this computer readable means 1230, a computer program 1220a can be stored, which computer program 1220a can cause the processing circuitry 1010 and thereto operatively coupled entities and devices, such as the communications interface 1020 and the storage medium 1030, to execute methods according to embodiments described herein. The computer program 1220a and / or computer program product 1210a may thus provide means for performing any steps of the server device 110, 1000 as herein disclosed. On this computer readable means 1230, a computer program 1220b can be stored, which computer program 1220b can cause the processing circuitry 1110 and thereto operatively coupled entities and devices, such as the communications interface 1120 and the storage medium 1130, to execute methods according to embodiments described herein. The computer program 1220b and / or computer program product 1210b may thus provide means for performing any steps of the wireless client device 120, 1100 as herein disclosed. In the example of Fig. 12, the computer program product 1210a, 1210b is illustrated as an optical disc, such as a CD (compact disc) or a DVD (digital versatile disc) or a Blu-Ray disc. The computer program product 1210a, 1210b could also be embodied as a memory, such as a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), or an electrically erasable programmable read-only memory (EEPROM) and more particularly as a non-volatile storage medium of a device in an external memory such as a USB (Universal Serial Bus) memory or a Flash memory, such as a compact Flash memory. Thus, while the computer program 1220a, 1220b is here schematically shown as a track on the depicted optical disk, the computer program 1220a, 1220b can be stored in any way which is suitable for the computer program product 1210a, 1210b.

[0112] The inventive concept has mainly been described above with reference to a few embodiments. However, as is readily appreciated by a person skilled in the art, other embodiments than the ones disclosed above are equally possible within the scope of the inventive concept, as defined by the appended patent claims.

Claims

CLAIMS1. A method for performing distributed inferencing of a computational task, wherein the computational task is dividable into parts, and wherein the method is being performed by a server device (110, 1000), the method comprising: pre-processing (S102) device profiles, one for each wireless client device (120, 1100), based on information collected for the wireless client devices (120, 1100), wherein the information for each wireless client device (120, 1100) at least pertains to identity of the wireless client device (120, 1100), ability of the wireless client device (120, 1100) to perform the computational task, and availability of the wireless client device (120, 1100) to perform the computational task; selecting (S106) which of the wireless client devices (120, 1100) to perform which respective part of the computational task, based on the device profiles; and performing (S108) distributed inferencing of the computational task by instructing the selected wireless client devices (120, 1100) to perform their respective parts of the computational task.

2. The method according to claim 1, wherein the availability of the wireless client device (120, 1100) to perform the computational task pertains to: traffic characteristics of the wireless client device (120, 1100), mobility characteristics of the wireless client device (120, 1100), and wireless channel characteristics of the wireless client device (120, 1100).

3. The method according to claim 1 or 2, wherein the availability of the wireless client device (120, 1100) to perform the computational task pertains to any, or any combination, of: duration of network attachments performed for the wireless client device (120, 1100), frequency of network attachments performed for the wireless client device (120, 1100), amount of network disconnections by the wireless client device (120, 1100) per time interval, total amount of network disconnections by the wireless client device (120, 1100), type of disconnections made by the wireless client device (120, 1100).

4. The method according to any preceding claim, wherein the ability of the wireless client device (120, 1100) to perform the computational task pertains to atleast one of: computational capabilities, available memory, available power reserves, wireless client device type, wireless capabilities.

5. The method according to claim 4, wherein the computational capabilities pertain to number of parameters supported by the wireless client device (120, 1100) for model training and inference.

6. The method according to any preceding claim, wherein the availability of the wireless client device (120, 1100) to perform the computational task further pertains to locations of the wireless client devices (120, 1100).

7. The method according to any preceding claim, wherein the ability of the wireless client device (120, 1100) to perform the computational task is based on performance history and assignment information of previous computational tasks performed by the wireless client devices (120, 1100).

8. The method according to any preceding claim, wherein the device profiles are pre-processed per all wireless client devices (120, 1100) served by a same network node, per all wireless client devices (120, 1100) served in a same sector of a network node, or per all wireless client devices (120, 1100) served in a same beam of a network node.

9. The method according to any preceding claim, wherein the method further comprises: storing (S104) those of the device profiles that pass an evaluation test, wherein the evaluation test pertains to reliability of the information collected for the wireless client devices (120, 1100);10. The method according to any preceding claim, wherein the method further comprises: obtaining (S110) updates to the information collected for any of the wireless client devices (120, 1100); and updating (S112) the device profile of said any of the wireless client devices (120, 1100) in accordance with the updates to the information.

11. The method according to claim 9, wherein the method further comprises: removing (S114) any stored device profile as freshness of said any device profiles expires and / or as a communication connection between the server device (110, 1000) and the wireless client device (120, 1100) associated with said any stored device profile is lost.

12. The method according to any preceding claim, wherein the computational task is associated with a set of requirements, and wherein the wireless client devices (120, 1100) for which a combination of the information collected for the wireless client devices (120, 1100) satisfy the set of requirements are selected to perform the computational task.

13. The method according to any preceding claim, wherein the wireless client devices (120, 1100) have performed previous computational tasks, and wherein which of the wireless client devices (120, 1100) to perform the computational task is further selected based on a similarity of the computational task to the previous computational tasks.

14. The method according to any preceding claim, wherein selecting which of the wireless client devices (120, 1100) to perform which part of the computational comprises assigning an importance weight factor to each of the wireless client devices (120, 1100) selected to perform the computational task, and wherein the importance weight factor pertains to weighting of results of the computational task as received from the wireless client devices (120, 1100).

15. The method according to any preceding claim, wherein the computational task is associated with a computational complexity level, and wherein which of the wireless client devices (120, 1100) to perform which part of the computational task is further selected based on the computational complexity level.

15. A method for performing part of a computational task, the method being performed by a wireless client device (120, 1100), the method comprising: providing (S202), to a server device (110, 1000), information at least pertaining to identity of the wireless client device (120, 1100), ability of the wireless client device(120, noo) to perform the computational task, and availability of the wireless client device (120, 1100) to perform the computational task; receiving (S204) instructions from the server device (110, 1000) for the wireless client device (120, 1100) to perform a part of the computational task; and performing (S206) the part of the computational task in accordance with the received instructions.

16. The method according to claim 16, wherein the availability of the wireless client device (120, 1100) to perform the computational task pertains to: traffic characteristics of the wireless client device (120, 1100), mobility characteristics of the wireless client device (120, 1100), and wireless channel characteristics of the wireless client device (120, 1100).

17. The method according to claim 15 or 16, wherein the availability of the wireless client device (120, 1100) to perform the computational task pertains to any, or any combination, of: duration of network attachments performed for the wireless client device (120, 1100), frequency of network attachments performed for the wireless client device (120, 1100), amount of network disconnections by the wireless client device (120, 1100) per time interval, total amount of network disconnections by the wireless client device (120, 1100), type of disconnections made by the wireless client device (120, 1100).

18. The method according to any of claims 15 to 17, wherein the ability of the wireless client device (120, 1100) to perform the computational task pertains to at least one of: computational capabilities, available memory, available power reserves, wireless client device type, wireless capabilities.

19. The method according to claim 18, wherein the computational capabilities pertain to number of parameters supported by the wireless client device (120, 1100) for model training and inference.

20. The method according to any of claims 15 to 19, wherein the availability of the wireless client device (120, 1100) to perform the computational task pertains to locations of the wireless client devices (120, 1100).

21. The method according to any of claims 15 to 20, wherein the wireless client device (120, 1100) holds a computational model trained on locally available data and / or trained for specific computational tasks.

22. The method according to any of claims 15 to 21, wherein the information is provided to the server device (110, 1000) upon the wireless client device (120, 1100) registering with the server device (110, 1000).

23. A server device (110, 1000) for performing distributed inferencing of a computational task, wherein the computational task is dividable into parts, the server device (110, 1000) comprising processing circuitry (1010), the processing circuitry being configured to cause the server device (110, 1000) to: pre-process device profiles, one for each wireless client device (120, 1100), based on information collected for the wireless client devices (120, 1100), wherein the information for each wireless client device (120, 1100) at least pertains to identity of the wireless client device (120, 1100), ability of the wireless client device (120, 1100) to perform the computational task, and availability of the wireless client device (120, 1100) to perform the computational task; select which of the wireless client devices (120, 1100) to perform which respective part of the computational task, based on the device profiles; and perform distributed inferencing of the computational task by instructing the selected wireless client devices (120, 1100) to perform their respective parts of the computational task.

24. The server device (110, 1000) according to claim 24, further being configured to perform the method according to any of claims 2 to 14.

25. A wireless client device (120, 1100) for performing part of a computational task, the wireless client device (120, 1100) comprising processing circuitry (1110), the processing circuitry being configured to cause the wireless client device (120, 1100) to: provide, to a server device (110, 1000), information at least pertaining to identity of the wireless client device (120, 1100), ability of the wireless client device(120, noo) to perform the computational task, and availability of the wireless client device (120, 1100) to perform the computational task; receive instructions from the server device (110, 1000) for the wireless client device (120, 1100) to perform a part of the computational task; and perform the part of the computational task in accordance with the received instructions.

26. The wireless client device (120, 1100) according to claim 26, further being configured to perform the method according to any of claims 16 to 22.

27. A computer program (1220a) for performing distributed inferencing of a computational task, wherein the computational task is dividable into parts, the computer program comprising computer code which, when run on processing circuitry (1010) of a server device (110, 1000), causes the server device (110, 1000) to: pre-process (S102) device profiles, one for each wireless client device (120, 1100), based on information collected for the wireless client devices (120, 1100), wherein the information for each wireless client device (120, 1100) at least pertains to identity of the wireless client device (120, 1100), ability of the wireless client device (120, 1100) to perform the computational task, and availability of the wireless client device (120, 1100) to perform the computational task; select (S106) which of the wireless client devices (120, 1100) to perform which respective part of the computational task, based on the device profiles; and perform (S108) distributed inferencing of the computational task by instructing the selected wireless client devices (120, 1100) to perform their respective parts of the computational task.

28. A computer program (1220b) for performing part of a computational task, the computer program comprising computer code which, when run on processing circuitry (1110) of a wireless client device (120, 1100), causes the wireless client device (120, 1100) to: provide (S202), to a server device (110, 1000), information at least pertaining to identity of the wireless client device (120, 1100), ability of the wireless client device(120, noo) to perform the computational task, and availability of the wireless client device (120, 1100) to perform the computational task; receive (S204) instructions from the server device (110, 1000) for the wireless client device (120, 1100) to perform a part of the computational task; and perform (S206) the part of the computational task in accordance with the received instructions.

29. A computer program product (1210a, 1210b) comprising a computer program (1220a, 1220b) according to at least one of claims 27 and 28, and a computer readable storage medium (1230) on which the computer program is stored.