Patent Description:
Device-to-Device (D2D) communication allows for direct data transmission among devices to possibly provide a cost-effective way to further increase system throughput in future networks. One form of D2D communication is a cache-enabled D2D network. In a cache-enabled D2D network, devices cache files that are frequently requested by D2D devices in the network. The devices that cache files are referred to as D2D transmitters (DTxs) and those devices that request files are referred to as D2D receivers (DRxs). In a conventional cellular network, a DRx has to fetch its requested files from a base station (BS), which leads to large traffic loads for the BS. In a cache-enabled D2D network, the D2D devices may also download their requested files from nearby DTxs that store the files. This not only offloads traffic from the BSs, but also improves the file transfer data rate due to the short distance between devices.

However, while BSs may have enough storage space to cache most or all of the files in high demand or popular files, D2D devices may have limited storage capacity for caching of these files. Hence, cache placement design, i.e., how devices choose files to cache in order to meet different system requirements, may be an issue. Various cache placement strategies in cache-enabled D2D networks have been proposed under different network models. Some of these strategies may require knowledge of network topology or channel state information (CSI). For instance, one example network model is the protocol model. In this model, a D2D transmission link between a pair of devices may be activated if and only if the distance between a transceiver pair, i.e., pair of devices, is less than a distance threshold, and there is no other nearby activated link. The strategies developed under this model may require the DTx to acquire the exact network topology prior to making caching decisions. Acquiring the exact network topology or CSI can be a challenging task, especially for large networks. Therefore, random caching strategies based on a random network topology becomes more plausible to implement since they require less prior information. For example, DTxs randomly cache files according to some designed caching probabilities, which are computed based on the spatial statistics of the network, such as the density of DTx's and DRx's, and the requesting probability of the popular files.

In these random caching strategy systems, common design objectives may include cache hit probability, system throughput, density of successful reception, and local delay. Cache hit probability is the probability of the event where the distance between a DRx requesting files and a DTx caching the requested files is below a distance threshold. The density of successful reception refers to the average number of successful transmissions between a DRx requesting files and its nearest DTx caching the requested files in a unit area, while local delay is defined as the number of transmissions until the requested file is successfully transmitted. In these objectives, fairness among devices is not considered.

Furthermore, some existing random caching strategies were designed based on the assumption that a device can cache at most one file. This limits the application of these existing schemes to more general scenarios where devices can cache multiple files. While other existing system may allow devices to cache multiple files, these systems relax the original file storage constraint, i.e., from a constraint where a number of cached files cannot exceed K, into a constraint that the sum of the caching probability of each file cannot exceed K. Though this relaxation helps simplify the random caching strategy, it leads to the sub-optimal performance.

Document "<NPL>, may be construed to disclose a technique pertaining to a user preference aware caching deployment algorithm for D2D caching networks. First, the definition of the user interest similarity is given based on the user preference. Then, a content cache utility of a mobile terminal is defined by taking the transmission coverage region of this mobile terminal and the user interest similarity of its adjacent mobile terminals into consideration. A general cache utility maximization problem with joint caching deployment and cache space allocation is formulated, where the special logarithmic utility function is integrated.

Document "<NPL>, may be construed to disclose a technique pertaining to cache placement and bandwidth allocation strategies being jointly investigated in a multiuser system of a heterogeneous network consisting of one macro base station and multiple small base stations. With the goal of minimizing outage probability, a simulated annealing algorithm-aided cache placement scheme along with an optimized bandwidth allocation via a dual decomposition method is proposed while taking into account the constraints of total available bandwidth, storage capacity of caching nodes, and fairness among users.

Some embodiments advantageously provide methods and apparatuses for joint spectrum allocation and cache placement in a device-to-device (D2D) network. The disclosure provides methods, a system and nodes for spectrum allocation and random caching strategies to maximize the logarithm utility, with the knowledge of the spatial statistics of the network and the file requesting probability. Two example methods may include:.

These example methods are described in detail below.

According to the disclosure, there are provided methods, a first wireless device, a network node and a computer-readable medium according to the independent claims. Further developments are set forth in the dependent claims.

According to one aspect of the disclosure, a first wireless device configured to communicate with a second wireless device is provided. The first wireless device comprising processing circuitry configured to: determine to cache a first file of a plurality of files based at least in part on maximizing a mean log utility associated with the second wireless device.

According to one or more embodiments of this aspect, the mean log utility is based at least in part on: a probability of the second wireless device associating with the first wireless device to request the first file from the first wireless device, and a probability of the second wireless device associating with a network node to request the first file from the network node. According to one or more embodiments of this aspect, the mean log utility associated with the second wireless device is based at least in part on: a first mean log utility of the second wireless device associating with the first wireless device, and a second mean log utility of the second wireless device associating with a network node. According to one or more embodiments of this aspect, the processing circuitry is further configured to determine caching probabilities for the plurality of files, each caching probability corresponding to a probability of a file being requested by the second wireless device.

According to one or more embodiments of this aspect, the determination to cache the first file of the plurality of files is based at least in part on spatial statistics of a network. According to one or more embodiments of this aspect, the spatial statistics include at least one of a density of the network and allocated spectrum. According to one or more embodiments of this aspect, the spatial statistics include a requesting probability of the first file and respective densities of a network node, the first wireless device and second wireless device.

According to one or more embodiments of this aspect, the first file that is determined to be cached has a lower probability of being requested than at least one other file of the plurality of files that is not cached. According to one or more embodiments of this aspect, the processing circuitry is further configured to receive a spectrum allocation based at least in part on the maximizing of the mean log utility. According to one or more embodiments of this aspect, the caching of the first file of the plurality of files and the spectrum allocation is based at least in part on a metric, and the wireless device determining to cache the first file of the plurality of files and receiving the spectrum allocation if the metric is a positive value, and the wireless device determining not to cache the first file of the plurality of files and not receiving the spectrum allocation if the metric is a non-positive value.

According to another aspect of the disclosure, a method implemented by a first wireless device configured to communicate with a second wireless device is provided. A determination is made to cache a first file of a plurality of files based at least in part on maximizing a mean log utility associated with the second wireless device.

According to one or more embodiments of this aspect, the mean log utility is based at least in part on: a probability of the second wireless device associating with the first wireless device to request the first file from the first wireless device, and a probability of the second wireless device associating with a network node to request the first file from the network node. According to one or more embodiments of this aspect, the mean log utility associated with the second wireless device is based at least in part on: a first mean log utility of the second wireless device associating with the first wireless device, and a second mean log utility of the second wireless device associating with a network node.

According to one or more embodiments of this aspect, caching probabilities for the plurality of files is determined where each caching probability corresponds to a probability of a file being requested by the second wireless device. According to one or more embodiments of this aspect, the determination to cache the first file of the plurality of files is based at least in part on spatial statistics of a network. According to one or more embodiments of this aspect, the spatial statistics include at least one of a density of the network and allocated spectrum.

According to one or more embodiments of this aspect, the spatial statistics include a requesting probability of the first file and respective densities of a network node, the first wireless device and second wireless device. According to one or more embodiments of this aspect, the first file that is determined to be cached has a lower probability of being requested than at least one other file of the plurality of files that is not cached. According to one or more embodiments of this aspect, a spectrum allocation based at least in part on the maximizing of the mean log utility is received. According to one or more embodiments of this aspect, the caching of the first file of the plurality of files and the spectrum allocation is based at least in part on a metric. The wireless device determines to cache the first file of the plurality of files and receiving the spectrum allocation if the metric is a positive value. The wireless device determines not to cache the first file of the plurality of files and not receiving the spectrum allocation if the metric is a non-positive value.

According to another aspect of the disclosure, a network node configured to communicate with a first wireless device is provided. The network node comprising processing circuitry configured to: receive an indication whether the first wireless device is to cache a first file of a plurality of files based at least in part on maximizing a mean log utility associated with a second wireless device, and perform spectrum allocation based at least in part on the received indication.

According to one or more embodiments of this aspect, the indication includes an indication of a caching metric, and if the caching metric is a positive value, the spectrum is allocated to cellular communications and device-to-device communications between the first and second wireless devices. According to one or more embodiments of this aspect, the indication includes an indication of a caching metric, and if the caching metric is a non-positive value, the spectrum is allocated to cellular communications without allocating spectrum for device-to-device communications between the first and second wireless devices. According to one or more embodiments of this aspect, the indication is based at least in part on spatial statistics associated with of a network. According to one or more embodiments of this aspect, the spatial statistics include at least one of: a density of the network, a density of the allocated spectrum, and a requesting probability of the first file.

According to another aspect of the disclosure, a method implemented in a network node configured to communicate with a first wireless device is provided. An indication whether the first wireless device is to cache a first file of a plurality of files based at least in part on maximizing a mean log utility associated with a second wireless device is received. Spectrum allocation is performed based at least in part on the received indication.

Existing cache placement algorithms are not without problems. Some existing systems are based on the assumption that the exact network topology or CSI is known. The cache design in other existing systems is based on random topology. Specifically, some of these existing systems assume that the placement of devices and network nodes follow a Poison Point Process (PPP).

Different objectives are considered in the cache placement schemes. For example, throughput maximization may be considered, or logarithm utility of devices may be considered. Other existing systems focus on the delay in file delivery, or aim at maximizing the average cache hit probability. Furthermore, some existing systems consider the density of successful receptions, or focus on minimizing the probability of the event that a receiver in a D2D pair (DRx) fetches files from the network node. However, none of these works consider the well-known logarithm utility under the random network topology assumption.

Furthermore, some existing systems are based on the assumption that each device can cache only one file, while other systems allow multiple file caching in the transmitters in D2D pairs (DTxs). Some of the solutions of the caching problem are based on the assumption that the network topology or the CSI is known, or are based on relaxing the file storage constraint.

Some existing systems relate to spectrum allocation in a multi-tier network. Some of these existing systems consider optimal spectrum allocation between D2D and cellular communication to maximize the logarithm utility. In one example, the problem of joint mode selection and spectrum allocation between cellular and D2D communication from a game theory point of view has been explored. Some of these spectrum allocation solutions consider spectrum allocation in a two-tier network, while others investigate solutions with a multi-tier heterogeneous network (HetNet).

Yet other spectrum allocation solutions consider joint spectrum allocation and bias setting of each tier to maximize the average rate, while other solutions aim at maximizing the logarithm utility. However, none of these works consider cache placement in devices in a D2D network such that these existing solutions do not relate to joint spectrum allocation and cache placement in cache-enabled D2D networks. For example, an issue may arise in D2D networks where the spectrum allocation between cellular and D2D communication is in overlay mode. In overlay mode, D2D communication and cellular communication occupy orthogonal sub-spectrum, and there is no interference between D2D communication and cellular communication. Such spectrum allocation between cellular and D2D communication is well known. However, existing systems fail to address the problem of joint spectrum allocation and cache design in cache-enabled D2D networks.

The present disclosure solves at least part of this problem by optimizing the spectrum allocation between cellular and D2D communication and cache placement in devices to maximize the mean logarithm utility, a measure of the system throughput. For example, in one or more embodiments, the disclosure uses the logarithm utility to provide a balance between data rate and fairness. Furthermore, the disclosure considers the case where DTx can cache multiple files where the derived optimal caching strategy described in the disclosure is based on the original feasible set without relaxation.

Before describing in detail exemplary embodiments, it is noted that the embodiments reside primarily in combinations of apparatus components and processing steps related to joint spectrum allocation and cache placement in a device-to-device (D2D) network. Accordingly, components have been represented where appropriate by conventional symbols in the drawings, showing only those specific details that are pertinent to understanding the embodiments so as not to obscure the disclosure with details that will be readily apparent to those of ordinary skill in the art having the benefit of the description herein.

The disclosure provides one or more embodiments which can be implemented in multiple devices and network nodes able to perform scheduling and exchange information. The devices are capable of direct communication between devices (e.g., device to device communication). The network node herein can be the serving network node of the device or any network node with which the device can establish or maintain a communication link and/or receive information (e.g. via a broadcast channel).

One having ordinary skill in the art will appreciate that multiple components may interoperate and modifications and variations are possible to achieve the electrical and data communication.

The term "network node" used herein can be any kind of network node comprised in a radio network which may further comprise any of base station (BS), radio base station, base transceiver station (BTS), base station controller (BSC), network controller, radio network controller (RNC), g Node B (gNB), evolved Node B (eNB or eNodeB), Node B, multi-standard radio (MSR) radio node such as MSR BS, multi-cell/multicast coordination entity (MCE), relay node, integrated access and backhaul (IAB) node, donor node controlling relay, radio access point (AP), transmission points, transmission nodes, Remote Radio Unit (RRU) Remote Radio Head (RRH), a core network node (e.g., mobile management entity (MME), self-organizing network (SON) node, a coordinating node, positioning node, MDT node, etc.), an external node (e.g., 3rd party node, a node external to the current network), nodes in distributed antenna system (DAS), a spectrum access system (SAS) node, an element management system (EMS), etc. The network node may also comprise test equipment. The term "radio node" used herein may be used to also denote a wireless device (WD) or a radio network node.

In some embodiments, the non-limiting terms WD or a user equipment (UE) are used interchangeably. The WD may also be a radio communication device, target device, device to device (D2D) WD such as a transmitter in the D2D pair (DTx) and/or a receiver in the D2D pair (DRx), machine type WD or WD capable of machine to machine communication (M2M), low-cost and/or low-complexity WD, a sensor equipped with WD, tablet, mobile terminals, smart phone, laptop embedded equipped (LEE), laptop mounted equipment (LME), USB dongles, Customer Premises Equipment (CPE), an Internet of Things (IoT) device, or a Narrowband IoT (NB-IOT) device etc..

Also, in some embodiments the generic term "radio network node" may be used. A radio network node can be any kind of a radio network node which may comprise any of base station, radio base station, base transceiver station, base station controller, network controller, RNC, evolved Node B (eNB), Node B, gNB, Multi-cell/multicast Coordination Entity (MCE), relay node, IAB node, access point, radio access point, Remote Radio Unit (RRU) Remote Radio Head (RRH).

Other wireless systems, including without limitation Wide Band Code Division Multiple Access (WCDMA), Worldwide Interoperability for Microwave Access (WiMax), UTRA FDD, UTRA TDD, NR, Ultra Mobile Broadband (UMB) and Global System for Mobile Communications (GSM)/GERAN/EDGE, may also benefit from exploiting the ideas covered within this disclosure.

An indication generally may explicitly and/or implicitly indicate the information it represents and/or indicates. Implicit indication may for example be based on position and/or resource used for transmission. Explicit indication may for example be based on a parametrization with one or more parameters, and/or one or more index or indices, and/or one or more bit patterns representing the information. It may in particular be considered that control signaling as described herein, based on the utilized resource sequence, implicitly indicates the control signaling type.

Configuring a terminal or wireless device or node may involve instructing and/or causing the wireless device or node to change its configuration, e.g., at least one setting and/or register entry and/or operational mode. A terminal or wireless device or node may be adapted to configure itself, e.g., according to information or data in a memory of the terminal or wireless device. Configuring a node or terminal or wireless device by another device or node or a network may refer to and/or comprise transmitting information and/or data and/or instructions to the wireless device or node by the other device or node or the network, e.g., allocation data (which may also be and/or comprise configuration data) and/or scheduling data and/or scheduling grants. Configuring a terminal may include sending allocation/configuration data to the terminal indicating which modulation and/or encoding to use. A terminal may be configured with and/or for scheduling data and/or to use, e.g., for transmission, scheduled and/or allocated uplink resources, and/or, e.g., for reception, scheduled and/or allocated downlink resources. Uplink resources and/or downlink resources may be scheduled and/or provided with allocation or configuration data.

Generally, configuring may include determining configuration data representing the configuration and providing, e.g. transmitting, it to one or more other nodes (parallel and/or sequentially), which may transmit it further to the radio node (or another node, which may be repeated until it reaches the wireless device). Alternatively, or additionally, configuring a radio node, e.g., by a network node or other device, may include receiving configuration data and/or data pertaining to configuration data, e.g., from another node like a network node, which may be a higher-level node of the network, and/or transmitting received configuration data to the radio node. Accordingly, determining a configuration and transmitting the configuration data to the radio node may be performed by different network nodes or entities, which may be able to communicate via a suitable interface, e.g., an X2 interface in the case of LTE or a corresponding interface for NR. Configuring a terminal (e.g., WD) may include scheduling downlink and/or uplink transmissions for the terminal, e.g. downlink data and/or downlink control signaling and/or DCI and/or uplink control or data or communication signaling, in particular acknowledgement signaling, and/or configuring resources and/or a resource pool therefor. In particular, configuring a terminal (e.g. WD) may comprise configuring the WD to perform certain measurements on certain subframes or radio resources and reporting such measurements according to embodiments of the present disclosure.

Data may refer to any kind of data, in particular any one of and/or any combination of control data or user data or payload data. Control information (which may also be referred to as control data) may refer to data controlling and/or scheduling and/or pertaining to the process of data transmission and/or the network or terminal operation.

D2D communication (sidelink communication) may comprise transmission and/or reception of data. It may be considered that D2D communication may generally comprise and/or be defined by data being transmitted from one terminal, e.g., the transmitter or transmitter terminal, (in particular directly) to another terminal, e.g., the receiver or receiver terminal, in particular without the data transmitted being transmitted and/or relayed via a cellular network and/or base station or radio node of such. D2D communication may comprise relaying and/or hopping via a plurality of terminals. It may be considered that D2D communication is supported by a network, e.g., by the network and/or base station or radio node providing resource allocation, e.g., allocating resource pools for D2D communication. D2D communication may for example comprise D2D discovery transmission and/or D2D data transmission (the data may in particular be user data and/or payload data). Generally, D2D transmissions may be provided on resources used for UL and/or DL transmissions in cellular communication. However, in some variants, the resources may be UL resources (in the cellular context), e.g., as determined by a standard like LTE.

Returning to the drawing figures, in which like elements are referred to by like reference numerals, there is shown in <FIG> a schematic diagram of a communication system <NUM>, according to an embodiment, such as a 3GPP-type cellular network that may support standards such as LTE and/or NR (<NUM>), which comprises an access network <NUM>, such as a radio access network, and a core network <NUM>. The access network <NUM> comprises a plurality of network nodes 16a, 16b, 16c (referred to collectively as network nodes <NUM>), such as NBs, eNBs, gNBs or other types of wireless access points, each defining a corresponding coverage area 18a, 18b, 18c (referred to collectively as coverage areas <NUM>). Each network node 16a, 16b, 16c is connectable to the core network <NUM> over a wired or wireless connection <NUM>. A first wireless device (WD) 22a located in coverage area 18a is configured to wirelessly connect to, or be paged by, the corresponding network node 16c. A second WD 22b in coverage area 18b is wirelessly connectable to the corresponding network node 16a. While a plurality of WDs 22a, 22b (collectively referred to as wireless devices <NUM>) are illustrated in this example, the disclosed embodiments are equally applicable to a situation where a sole WD is in the coverage area or where a sole WD is connecting to the corresponding network node <NUM>. Note that although only two WDs <NUM> and three network nodes <NUM> are shown for convenience, the communication system may include many more WDs <NUM> and network nodes <NUM>.

A network node <NUM> is configured to include an allocation unit <NUM> which is configured to allocate spectrum, i.e., resources. A wireless device <NUM> is configured to include a determination unit <NUM> which is configured to determine whether to cache at least one file at the wireless device <NUM>, and optionally cache the at least one file based on the determination.

The host application <NUM> may be operable to provide a service to a remote user, such as a WD <NUM> connecting via an OTT connection <NUM> terminating at the WD <NUM> and the host computer <NUM>. The "user data" may be data and information described herein as implementing the described functionality. In one embodiment, the host computer <NUM> may be configured for providing control and functionality to a service provider and may be operated by the service provider or on behalf of the service provider. The processing circuitry <NUM> of the host computer <NUM> may enable the host computer <NUM> to observe, monitor, control, transmit to and/or receive from the network node <NUM> and/or the wireless device <NUM>. The processing circuitry <NUM> of the host computer <NUM> may include an information unit <NUM> configured to enable the service provider to provide information related to spectrum allocation and/or caching described herein. In one or more embodiments, the host computer <NUM> is configured to perform one or more functions, described herein, of network node <NUM> and/or WD <NUM>.

The communication system <NUM> further includes a network node <NUM> provided in a communication system <NUM> and includes hardware <NUM> enabling it to communicate with the host computer <NUM> and with the WD <NUM>.

Thus, the network node <NUM> further has software <NUM> stored internally in, for example, memory <NUM>, or stored in external memory (e.g., database, storage array, network storage device, etc.) accessible by the network node <NUM> via an external connection. The processing circuitry <NUM> may be configured to control any of the methods and/or processes described herein and/or to cause such methods, and/or processes to be performed, e.g., by network node <NUM>. Processor <NUM> corresponds to one or more processors <NUM> for performing network node <NUM> functions described herein. The memory <NUM> is configured to store data, programmatic software code and/or other information described herein. In some embodiments, the software <NUM> may include instructions that, when executed by the processor <NUM> and/or processing circuitry <NUM>, causes the processor <NUM> and/or processing circuitry <NUM> to perform the processes described herein with respect to network node <NUM>. For example, processing circuitry <NUM> of the network node <NUM> may include allocation unit <NUM> configured to perform spectrum allocation and/or cache placement such as for joint spectrum allocation and cache placement, as described herein.

The processing circuitry <NUM> may be configured to control any of the methods and/or processes described herein and/or to cause such methods, and/or processes to be performed, e.g., by WD <NUM>. The processor <NUM> corresponds to one or more processors <NUM> for performing WD <NUM> functions described herein. The WD <NUM> includes memory <NUM> that is configured to store data, programmatic software code and/or other information described herein. In some embodiments, the software <NUM> and/or the client application <NUM> may include instructions that, when executed by the processor <NUM> and/or processing circuitry <NUM>, causes the processor <NUM> and/or processing circuitry <NUM> to perform the processes described herein with respect to WD <NUM>. For example, the processing circuitry <NUM> of the wireless device <NUM> may include a determination unit <NUM> configured to perform cache placement such as for joint spectrum allocation and cache placement, as described herein.

In some embodiments, the measurements may be implemented in that the software <NUM>, <NUM> causes messages to be transmitted, in particular empty or 'dummy' messages, using the OTT connection <NUM> while it monitors propagation times, errors, etc..

Although <FIG> and <FIG> show various "units" such as allocation unit <NUM>, and determination unit <NUM> as being within a respective processor, it is contemplated that these units may be implemented such that a portion of the unit is stored in a corresponding memory within the processing circuitry. In other words, the units may be implemented in hardware or in a combination of hardware and software within the processing circuitry.

<FIG> is a flowchart illustrating an exemplary method implemented in a communication system, such as, for example, the communication system of <FIG> and <FIG>, in accordance with one embodiment. The communication system may include a host computer <NUM>, a network node <NUM> and a WD <NUM>, which may be those described with reference to <FIG>. In a first step of the method, the host computer <NUM> provides user data (Block S100). In an optional substep of the first step, the host computer <NUM> provides the user data by executing a host application, such as, for example, the host application <NUM> (Block S102). In a second step, the host computer <NUM> initiates a transmission carrying the user data to the WD <NUM> (Block S104). In an optional third step, the network node <NUM> transmits to the WD <NUM> the user data which was carried in the transmission that the host computer <NUM> initiated, in accordance with the teachings of the embodiments described throughout this disclosure (Block S106). In an optional fourth step, the WD <NUM> executes a client application, such as, for example, the client application <NUM>, associated with the host application <NUM> executed by the host computer <NUM> (Block S108).

<FIG> is a flowchart illustrating an exemplary method implemented in a communication system, such as, for example, the communication system of <FIG>, in accordance with one embodiment. The communication system may include a host computer <NUM>, a network node <NUM> and a WD <NUM>, which may be those described with reference to <FIG> and <FIG>. In a first step of the method, the host computer <NUM> provides user data (Block S110). In an optional substep (not shown) the host computer <NUM> provides the user data by executing a host application, such as, for example, the host application <NUM>. In a second step, the host computer <NUM> initiates a transmission carrying the user data to the WD <NUM> (Block S112). In an optional third step, the WD <NUM> receives the user data carried in the transmission (Block S114).

<FIG> is a flowchart illustrating an exemplary method implemented in a communication system, such as, for example, the communication system of <FIG>, in accordance with one embodiment. The communication system may include a host computer <NUM>, a network node <NUM> and a WD <NUM>, which may be those described with reference to <FIG> and <FIG>. In an optional first step of the method, the WD <NUM> receives input data provided by the host computer <NUM> (Block S116). In an optional substep of the first step, the WD <NUM> executes the client application <NUM>, which provides the user data in reaction to the received input data provided by the host computer <NUM> (Block S118). Additionally or alternatively, in an optional second step, the WD <NUM> provides user data (Block S120). In an optional substep of the second step, the WD provides the user data by executing a client application, such as, for example, client application <NUM> (Block S122). In providing the user data, the executed client application <NUM> may further consider user input received from the user. Regardless of the specific manner in which the user data was provided, the WD <NUM> may initiate, in an optional third substep, transmission of the user data to the host computer <NUM> (Block S124). In a fourth step of the method, the host computer <NUM> receives the user data transmitted from the WD <NUM>, in accordance with the teachings of the embodiments described throughout this disclosure (Block S126).

<FIG> is a flowchart illustrating an exemplary method implemented in a communication system, such as, for example, the communication system of <FIG>, in accordance with one embodiment. The communication system may include a host computer <NUM>, a network node <NUM> and a WD <NUM>, which may be those described with reference to <FIG> and <FIG>. In an optional first step of the method, in accordance with the teachings of the embodiments described throughout this disclosure, the network node <NUM> receives user data from the WD <NUM> (Block S128). In an optional second step, the network node <NUM> initiates transmission of the received user data to the host computer <NUM> (Block S <NUM>). In a third step, the host computer <NUM> receives the user data carried in the transmission initiated by the network node <NUM> (Block S <NUM>).

<FIG> is a flowchart of an exemplary process in a network node <NUM> for performing spectrum allocation such as for joint spectrum allocation and cache placement, as described herein. One or more Blocks and/or functions performed by network node <NUM> may be performed by one or more elements of network node <NUM> such as by one or more of allocation unit <NUM> in processing circuitry <NUM>, processor <NUM>, radio interface <NUM>, etc. In one or more embodiments, network node <NUM> such as via one or more of processing circuitry <NUM>, processor <NUM>, communication interface <NUM>, allocation unit <NUM> and radio interface <NUM> is configured to receive (Block S <NUM>) an indication whether the WD is to cache at least one file based on spatial statistics of a cache-enabled device-to-device, D2D, network collected by the WD. In one or more embodiments, network node <NUM> such as via one or more of processing circuitry <NUM>, processor <NUM>, communication interface <NUM>, allocation unit <NUM> and radio interface <NUM> configured to perform (Block S <NUM>) spectrum allocation based on the received indication.

<FIG> is a flowchart of an exemplary process in a network node <NUM> according to one or more embodiments of the disclosure. One or more Blocks and/or functions performed by network node <NUM> may be performed by one or more elements of network node <NUM> such as by one or more of allocation unit <NUM> in processing circuitry <NUM>, processor <NUM>, radio interface <NUM>, etc. In one or more embodiments, network node <NUM> such as via one or more of processing circuitry <NUM>, processor <NUM>, communication interface <NUM>, allocation unit <NUM> and radio interface <NUM> is configured to receive (Block S <NUM>) an indication whether the first wireless device <NUM> is to cache a first file of a plurality of files based at least in part on maximizing a mean log utility associated with a second wireless device <NUM>. In one or more embodiments, network node <NUM> such as via one or more of processing circuitry <NUM>, processor <NUM>, communication interface <NUM>, allocation unit <NUM> and radio interface <NUM> is configured to perform (Block S <NUM>) spectrum allocation based at least in part on the received indication.

According to one or more embodiments, the indication includes an indication of a caching metric, where if the caching metric is a positive value, the spectrum is allocated to cellular communications and device-to-device communications between the first and second wireless devices <NUM>. According to one or more embodiments, the indication includes an indication of a caching metric where if the caching metric is a non-positive value, the spectrum is allocated to cellular communications without allocating spectrum for device-to-device communications between the first and second wireless devices <NUM>. According to one or more embodiments, the indication is based at least in part on spatial statistics associated with of a network. According to one or more embodiments, the spatial statistics include at least one of: a density of the network, a density of the allocated spectrum, and a requesting probability of the first file.

<FIG> is a flowchart of an exemplary process in a wireless device <NUM> for cache placement such as for joint spectrum allocation and cache placement, as described herein. One or more Blocks and/or functions performed by wireless device <NUM> may be performed by one or more elements of wireless device <NUM> such as by one or more of determination unit <NUM> in processing circuitry <NUM>, processor <NUM>, radio interface <NUM>, etc. In one or more embodiments, wireless device such as via one or more of processing circuitry <NUM>, processor <NUM>, determination unit <NUM> and radio interface <NUM> is configured to collect (Block S <NUM>) spatial statistics of a cache-enabled device-to-device, D2D, network, as described herein. In one or more embodiments, wireless device such as via one or more of processing circuitry <NUM>, processor <NUM>, determination unit <NUM> and radio interface <NUM> is further configured to determine (Block S <NUM>) whether to cache at least one file based on the collected spatial statistics, as described herein (Block S <NUM>), and to receive a spectrum allocation, as described herein. In one or more embodiments, wireless device such as via one or more of processing circuitry <NUM>, processor <NUM>, determination unit <NUM> and radio interface <NUM> is further configured to receive (Block S <NUM>) a spectrum allocation, as described herein.

<FIG> is a flowchart of an exemplary process in a wireless device <NUM> according to one or more embodiments of the disclosure. One or more Blocks and/or functions performed by wireless device <NUM> may be performed by one or more elements of wireless device <NUM> such as by one or more of determination unit <NUM> in processing circuitry <NUM>, processor <NUM>, radio interface <NUM>, etc. In one or more embodiments, wireless device such as via one or more of processing circuitry <NUM>, processor <NUM>, determination unit <NUM> and radio interface <NUM> is configured to determine (Block S <NUM>) to cache a first file of a plurality of files based at least in part on maximizing a mean log utility associated with the second wireless device <NUM>.

According to one or more embodiments, the mean log utility is based at least in part on: a probability of the second wireless device <NUM> associating with the first wireless device <NUM> to request the first file from the first wireless device <NUM>, and a probability of the second wireless device <NUM> associating with a network node <NUM> to request the first file from the network node <NUM>. According to one or more embodiments, the mean log utility associated with the second wireless device <NUM> is based at least in part on: a first mean log utility of the second wireless device <NUM> associating with the first wireless device <NUM>, and a second mean log utility of the second wireless device <NUM> associating with a network node <NUM>.

According to one or more embodiments, the processing circuitry <NUM> is further configured to determine caching probabilities for the plurality of files, each caching probability corresponding to a probability of a file being requested by the second wireless device <NUM>. According to one or more embodiments, the determination to cache the first file of the plurality of files is based at least in part on spatial statistics of a network. According to one or more embodiments, spatial statistics include at least one of a density of the network and allocated spectrum. According to one or more embodiments, the spatial statistics include a requesting probability of the first file and respective densities of a network node <NUM>, the first wireless device <NUM> and second wireless device <NUM>.

According to one or more embodiments, the first file that is determined to be cached has a lower probability of being requested than at least one other file of the plurality of files that is not cached. According to one or more embodiments, the processing circuitry <NUM> is further configured to receive a spectrum allocation based at least in part on the maximizing of the mean log utility. According to one or more embodiments, the caching of the first file of the plurality of files and the spectrum allocation is based at least in part on a metric. The wireless device <NUM> determining to cache the first file of the plurality of files and receiving the spectrum allocation if the metric is a positive value. The wireless device <NUM> determining not to cache the first file of the plurality of files and not receiving the spectrum allocation if the metric is a non-positive value.

Having generally described arrangements for cache placement or joint spectrum allocation and cache placement, details for these arrangements, functions and processes are provided as follows, and which may be implemented by the network node <NUM>, wireless device <NUM> and/or host computer <NUM>. In particular, in one or more embodiments, joint spectrum allocation and cache placement may generally refer to performing spectrum allocation by taking into consideration cache placement and/or performing caching placement by taking into consideration spectrum allocation.

One example considers a D2D network, where network node <NUM>, e.g., base station, is overlaid by a transmitter in a D2D pair (DTxs) and a receiver in the D2D pair (DRxs), as shown in <FIG>. DTxs and DRxs may be wireless devices <NUM>, as described herein. DTxs are equipped with some storage capacity to cache popular files requested by DRxs whereas network node <NUM> caches at least most of the popular files or files in high demand. In one or more embodiments, "popular file" may refer to a file that has been requested at least a predefined number of times within a predefined time period. Each DRx may request only one file. It is assumed that the locations of network nodes <NUM>, DTxs (WD <NUM>), and DRxs (WD <NUM>) follow independent homogeneous Poisson Point Processes (PPPs) with intensities of λ<NUM>, λ<NUM>, and µ, respectively. It is further assumed that λ<NUM> << µ and λ<NUM> << µ.

The following association rule is considered: A DRx associates with a DTx caching its requested file if its long-term averaged received power from this DTx is larger than that from other DTxs and all network nodes <NUM>. If no such DTx is found, the DRx associates with the nearest network node <NUM>.

In one or more embodiments, it is assumed that the D2D network operates in overlay mode, so that there is no interference between cellular and D2D communication. The total spectrum may be divided into two orthogonal sub-bands for cellular and D2D communication. For simplicity, the bandwidth of the total spectrum is normalized to <NUM>. In one or more embodiments, η<NUM> and η<NUM> denote the portion of spectrum allocated to cellular and D2D communication, respectively. It may be assumed that each network node <NUM> and DTx allocates an equal amount of spectrum to its associated DRxs.

The transmission power of the network node <NUM> and DTx, denoted by P<NUM> and P<NUM> respectively, may be fixed. The network node <NUM>, DTxs, and DRxs may all be equipped with a single antenna. Let X and y be the coordinates of one transmitter (network node <NUM> or DTx) and one DRx respectively. The receiving power of DRx located at y from the transmitter located at X is given by <MAT> where γ is the pathloss exponent, Px is the transmission power of the transmitter, and hx,y models the power fading term resulting from small scale fading. When the transmitter is a network node <NUM>, Px = P<NUM> ; and Px = P<NUM>, otherwise. It may be assumed that the small-scale fading is Rayleigh with unit mean.

It may be assumed that there exist N popular files of equal size in the network. The collection of those files is denoted by <IMG>= <NUM>, ··· , N}. The probability of the event that file n is requested by a DRx is qn. Without loss of generality, it is assumed that qi > qj if i < j.

It may be assumed that each DTx has limited storage capacity and can cache at most K files, where K ≤ N. Let <MAT>, so that <MAT> is the collection of all possible sets of files cached in a DTx, given the maximum number of cached files, K. Furthermore, <MAT> denotes the collection of file sets in <MAT> containing file i, i.e., <MAT>.

As one embodiment in the method, consider a random caching strategy in DTx. Let <IMG> be the probability of the event that a DTx caches files of set <IMG>, where <MAT>. Furthermore, each DTx randomly caches the files of set <IMG> based on the probability of {<IMG>}, where <MAT>.

The system is assumed to be interference-limited, and that the impact of noise can be ignored. For analytical derivation in this disclosure, a single SIR threshold, T is assumed to have been received. When the received signal to interference ratio (SIR) of a DRx is no less than T, the received data rate is log(<NUM> + T), otherwise, it is <NUM>. The coverage probability Pcover is defined as the probability of the event that a DRx's received SIR is no less than T. In one or more embodiments, a DRx is assumed to be located at <NUM>, and its coverage probability is given by
<MAT>
where X is the location of its associated transmitter (network node <NUM> or DTx), and <MAT> is the sum interference received by the DRx, where Φ is the collection of locations of interfering transmitters. Equation (<NUM>) holds because of the assumption of Rayleigh small scale fading with unit mean.

The mean data rate of the DRx is Rcover = βPcover log(<NUM> + T), where β is the amount of spectrum allocated to the DRx.

The coverage-rate-based logarithm utility of the DRx is defined as <MAT>.

The problem of joint spectrum allocation and cache placement to maximize the mean logarithm utility is formulated as <MAT> <MAT> <MAT> <MAT> <MAT> where U is the mean logarithm utility of a DRx. The first and second constraints are probability constraints, and the third and fourth constraints are spectrum allocation constraints.

For a typical DRx located at <NUM>, the mean logarithm utility is derived below. The association probability that the DRx associates with a DTx or network node <NUM> is derived. Then the logarithm utility of the DRx associated with the DTx or network node <NUM> is computed. After, the mean logarithm utility of the DRx is computed. Define <MAT>.

Furthermore, conditioning on the event that the DRx requests file i, Let <MAT> and <MAT> be the event that the DRx associates with either a network node <NUM> or a DTx (which implies that the DTx has cached a file set <IMG> where <MAT>), respectively.

The following association probabilities are conditioned on the event that the DRx requires file i. The probability that the DRx associates with network node <NUM> is given by <MAT> where <MAT>.

The probability that the DRx associates with a DTx which caches a file set <IMG>, where <MAT>, is given by <MAT>.

The following logarithm of coverage probability is conditioned on the event that the DRx requires file i. <MAT> denotes the logarithm of coverage probability given that the DRx associates with a network node <NUM>, and the distance between them is d, which provides for: <MAT>.

Further, <MAT> denotes the pdf of distance between a DRx and the associated network node <NUM>, which provides for: <MAT> <MAT> denotes the logarithm of coverage probability given that the DRx associates with network node <NUM>, which provides for <MAT>.

Further, <MAT> denotes the logarithm of coverage probability given that the DRx associates with DTx which caches a file set <MAT>, and the distance between them is d, which provides for: <MAT>.

Further, <MAT> denotes the pdf of distance between a DRx and the associated DTx which caches a file set <MAT>, which provides for: <MAT>.

Also, <MAT> denotes the logarithm of coverage probability given that the DRx associates with DTx which caches a file set <MAT>, which provides for: <MAT>.

Each network node <NUM> or DTx may be assumed to allocate an equal amount of resources to each of its associated DRxs.

The coverage-rate-based utility contains a term <MAT>, where β is the spectrum allocated to the DRx. It may be difficult to track this term analytically. Hence, the following approximation may be used: <MAT> where η is the spectrum allocated to the transmitter (network node <NUM> or DTx), and M is the average number of DRxs associating with the transmitter. In Method <NUM>, η is given. In Method <NUM>, η depends on the caching probabilities, {<IMG>}. In either case, η does not depend on Φ ,X, or {hz, <NUM>}.

The following logarithm of coverage probability is conditioned on the event that the DRx requires file i.

The average number of DRxs associating with a network node <NUM> is given by <MAT>.

Given that the DRx associates with a network node <NUM>, the mean logarithm of the amount of spectrum allocated to the DRx is approximated as <MAT>.

The average number of DRxs associating with a DTx that caches a file set <MAT> is given by <MAT> where <MAT>.

Given that the DRx associates with a DTx that caches a file set <MAT>, <MAT>, the mean logarithm of the amount of spectrum allocated to the DRx is approximated as
<MAT>.

Given that the DRx require s file i and associates with a network node <NUM>, the mean logarithm utility of the typical DRx, <MAT>, is given by <MAT>.

Furthermore, given that the DRx requires file i and associates with a DTx which caches a file set <MAT>, the mean logarithm utility of the typical DRx, <MAT>, is given by <MAT>.

Finally, the mean utility of the typical DRx can be computed by <MAT>.

If {U} is expanded, it can be shown that the mean log utility is related to {<IMG>} and {η<NUM>,η<NUM>}. In Method <NUM>, {<IMG>} is optimized to maximize {U}. Note that in this optimization, the objective may be to have or try to achieve P1 be equal to {U} - constant term. In other words, the above explanation corresponds to maximizing {U}. Further, details are described below.

For any fixed spectrum allocation, i.e., {η<NUM>,η<NUM>}, the original optimization problem <IMG> is simplified as the following optimization problem, whose optimization variables are {<IMG>}. <MAT> <MAT> <MAT> where <MAT>.

It can be shown that problem <IMG> is convex.

In two-file case subsection, a case is shown through which caching of the most popular files may not be the optimal strategy.

Two popular files in the network are considered. Each DTx can cache at most <NUM> file. The requesting probabilities of the first and the second file are <NUM> and <NUM> respectively. In addition, the following are set <MAT>, <MAT>, T = <NUM>, <MAT>, γ = <NUM>, and W = <NUM>. In <FIG> (which illustrates a Logarithm utility versus portion of spectrum allocated to D2D communication) the changes of average logarithm utility of the DRxs versus the portion of spectrum allocated to D2D communication, η<NUM>, are shown. When η<NUM> ≤ <NUM> , caching the second file is optimal or may provide caching performance meeting a threshold. When η<NUM> ≥ <NUM> , caching the first file is optimal or may provide caching performance meeting a threshold. When η<NUM> ∈ [<NUM>, <NUM>], random caching based on the probabilities computed by solving problem <IMG> is optimal or may provide caching performance meeting a threshold. Hence, caching the most popular file may not be the optimal caching strategy in some cases.

The performance of Method <NUM> is evaluated, and the no caching scheme is also evaluated. In Method <NUM>, the spectrum is divided into two equal sub-spectrums for D2D and cellular communication, and the caching strategy is the optimal caching strategy under fixed spectrum allocation. In the no caching scheme, each DRx downloads its requested file from a network node <NUM>. The default system simulation parameters are in Table I. The simulation results are averaged over <NUM> PPP realizations. Although a single-threshold rate model is used in the analysis, the performance under a Shannon rate model is described, where the rate is computed as log (<NUM> + SIR).

In <FIG> (which illustrates an average logarithm utility versus the exponent Zipf's distribution), the exponent of Zipf's distribution θ is changed, thus changing the file requesting probabilities {qi}. In both the single-threshold model and Shannon rate model, Method <NUM> outperforms the no caching scheme.

First, the closed form solution of spectrum allocation under any fixed file caching probabilities is derived. For any fixed random caching probabilities, {<IMG>}, optimization problem P is recast as <MAT> <MAT> <MAT>.

Optimization problem <IMG> is convex. Using KKT conditions, the closed form solution is obtained.

Given {<IMG>}, the optimal {η<NUM>,η<NUM>} to problem <IMG> is <MAT>.

Further, <MAT> is substituted into problem P, and the objective is simplified as <MAT> And U' in the above equation is convex with respect to {<IMG>}.

Then based on this property, the optimal solution is derived as follows.

The details of Method <NUM> are as follows:.

The performance of the following is evaluated: Method <NUM>, the equal spectrum allocation scheme, the equal caching probability scheme, and the no caching scheme. In Method <NUM>, the spectrum allocation and cache placement are jointly optimized. In the equal spectrum allocation scheme, the spectrum is divided into two equal sub-spectrums for D2D and cellular communication, and the caching strategy is the optimal caching strategy under fixed spectrum. In the equal caching probability scheme, each DTx caches the files based on equal probability, and the spectrum allocation is optimal based on the fixed caching probability. In the no caching scheme, all DRxs download their requested file from a network node <NUM>. The default system simulation parameters are in Table <NUM>. The simulation results are averaged over <NUM> PPP realizations. Although the single-threshold rate model is used in the analysis, the performance under a Shannon rate model is further investigated, where the rate is computed as log(<NUM> + SIR).

In <FIG> (which illustrates DRx's 5th, 50th and 90th percentile data rate in the single threshold model) and <FIG> (which illustrates DRx's 5th, 50th and 90th percentile data rate in the Shannon rate model), the DRx's 5th, 50th and 90th percentile data rates of different schemes are shown. The 5th percentile and 50th percentile data rates represent the cell edge data rate and medium data rate, respectively. The 5th and 50th percentile data rates in Method <NUM> are larger than those of other three schemes in both the single-threshold rate model and the Shannon rate model. The 90th percentile data rates in Method <NUM> are larger than those of the equal probability scheme and no caching scheme, but less than those of the equal spectrum scheme. This shows that Method <NUM> benefits the DRxs with bad channel conditions by decreasing the rate allocated to DRxs with good channel condition.

<FIG> (which illustrates an average logarithm utility versus the exponent Zipf's distribution) shows the average logarithm utility versus the exponent of Zipf's distribution θ. Method <NUM> outperforms the other three schemes. The average logarithm utility of Method <NUM> and equal spectrum allocation scheme increases with respect to θ. The average logarithm utility in the equal probability scheme is insensitive to the change of θ. When θ = <NUM> and θ = <NUM> , the average logarithm utility of the equal spectrum allocation scheme is less than that of the equal probability scheme. <FIG> (which illustrates a cell edge data rate versus the exponent of Zipf's distribution) shows the cell edge data rate of different schemes with different θ settings. The cell edge data rate of the proposed scheme is larger than that of the other three schemes. Furthermore, the cell edge data rate of the equal caching probability scheme is larger than that of the equal spectrum allocation scheme except when θ = <NUM> in single threshold model. When θ = <NUM> , the cell edge data rate of the equal spectrum allocation scheme is less than that of the no-caching scheme in the single threshold rate model. When θ ≤ <NUM> , the cell edge data rate of the equal spectrum allocation scheme is less than that of the no-caching scheme in the Shannon rate model.

Therefore, the disclosure provides at least several advantages. For example, the methods described herein, i.e., Method <NUM> and Method <NUM>, do not require exact network topology information or CSI, which can significantly reduce the amount of signalling overhead such as compared to existing systems/methods. Further, the methods described herein, i.e., Method <NUM> and Method <NUM>, are computationally efficient such as compared to existing system/methods. Method <NUM> may only need to solve a convex optimization problem to compute the optimal file caching probabilities. Method <NUM> gives a closed-form formula to compute the optimal spectrum allocation and cache placement.

Claim 1:
A method implemented by a first wireless device (<NUM>) configured to communicate with a second wireless device (<NUM>), the method comprising:
determine (S146) to cache a first file of a plurality of files based at least in part on maximizing a mean logarithm utility of the second wireless device (<NUM>), wherein the mean logarithm utility is based at least in part on:
a probability of the second wireless device (<NUM>) associating with the first wireless device (<NUM>) to request the first file from the first wireless device (<NUM>) comprising: <MAT>
where
, and <MAT>
a probability of the second wireless device (<NUM>) associating with a network node (<NUM>) to request the first file from the network node (<NUM>) comprising: <MAT> ; or
- a first mean logarithm utility of the second wireless device (<NUM>) associating with the first wireless device (<NUM>) comprising: <MAT>
; and
a second mean logarithm utility of the second wireless device (<NUM>) associating with a network node (<NUM>) comprising: <MAT> ; and
(d) the method further comprises receiving a spectrum allocation based at least in part on the maximizing of the mean logarithm utility,
wherein the caching of the first file of the plurality of files and the spectrum allocation is based at least in part on a caching metric, wherein the caching metric is
<MAT>
the wireless device (<NUM>) determining to cache the first file of the plurality of files and receiving the spectrum allocation if the caching metric is a positive value, and
the wireless device (<NUM>) determining not to cache the first file of the plurality of files and not receiving the spectrum allocation if the caching metric is a non-positive value.