Propagation of data in distributed cache

A distributed caching system in edge nodes manages data propagation based on maximum topology distance and lifecycle to optimize data distribution, addressing network congestion and inefficiencies in intelligent transportation systems.

CN120323006APending Publication Date: 2025-07-15NOKIA NETWORKS OY
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202280102450.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2022-12-07
Publication Date
2025-07-15

AI Technical Summary

Technical Problem

In distributed cache systems, it is difficult for the prior art to effectively manage the propagation of data, resulting in edge network congestion and unnecessary data transmission.

Method used

By calculating the maximum topological distance and data life cycle, we control the propagation of data in the edge network, ensuring that data is only transmitted between edge nodes that are logically directly connected, avoiding intermediate nodes, and using the topology of edge networks for data cache and management.

Benefits of technology

It effectively reduces congestion in edge networks, avoids unnecessary data transmission, and improves data transmission efficiency and system performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120323006A_ABST
    Figure CN120323006A_ABST
Patent Text Reader

Abstract

The present disclosure provides a method comprising: determining whether a first edge node of an edge network receives a cache request, where the cache request requests the first edge node to cache data received from a mobile device; in response to determining that the first edge node receives the cache request, calculating at least one of: for a lifecycle of the data, or a maximum topological distance, such that the data cannot be sent beyond the maximum topological distance from the first edge node in the edge network in a direction away from the first edge node; data is sent via a first edge of the edge network to a second edge node of the edge network and at least one of: a maximum topological distance and a life cycle, wherein the first edge terminates at the first edge node and the second edge node.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to distributed caching and, in particular, to the propagation of data in a distributed cache. Background Art

[0002] The 5G Automotive Association (5GAA) aims to bring together automotive and telecommunications companies to coordinate and accelerate the introduction of intelligent transportation and communication solutions. The 5GAA white paper considers new features, including:

[0003] Sharing sensor data, such as video from the vehicle in front

[0004] Control information to allow vehicles to drive in a dense formation (platoon), saving road space, exchanging vehicle trajectories to prevent collisions

[0005] For example, due to 5G technology, these advanced examples of vehicle-to-vehicle and vehicle-to-infrastructure communication are feasible.

[0006] An intelligent transportation system (ITS) aims to reduce urban traffic congestion by maximizing the number of passengers transported per hour, while optimizing the total cost of the solution and providing maximum safety for human drivers. Summary of the Invention

[0007] According to a first aspect of the present disclosure, there is provided an apparatus, comprising:

[0008] One or more processors, and a memory storing instructions which, when executed by the one or more processors, cause the apparatus to perform:

[0009] Determine whether a first edge node of an edge network has received a caching request, where the caching request requests the first edge node to cache data received from a movable device;

[0010] In response to determining that the first edge node has received the caching request, calculate at least one of the following: a lifetime for the data, or a maximum topological distance, such that the data is not sent from the first edge node in the edge network more than the maximum topological distance in a direction away from the first edge node;

[0011] Send the data and at least one of the following: the maximum topological distance and the lifetime, via a first edge of the edge network to a second edge node of the edge network, where

[0012] The edge network connects a plurality of edge nodes through corresponding edges, the plurality of edge nodes including the first edge node and the second edge node;

[0013] In an edge network, each edge in the edge logically directly connects the corresponding two edge nodes to each other, such that each edge in the edge logically terminates at the corresponding two edge nodes without any intermediate edge nodes;

[0014] According to the topology stored in the edge network, the first edge terminates at the first edge node and the second edge node.

[0015] According to a second aspect of the present disclosure, there is provided an apparatus, comprising:

[0016] One or more processors, and a memory storing instructions that, when executed by the one or more processors, cause the apparatus to perform:

[0017] Determine whether a first edge node of an edge network has received a caching request, where the caching request requests the first edge node to cache data received from a removable device;

[0018] In response to determining that the first edge node has received the caching request: calculate a maximum topological distance such that data is not sent from the first edge node in the edge network more than the maximum topological distance in a direction away from the first edge node;

[0019] Determine one or more second edge nodes, where according to the topology stored in the edge network, each second edge node among the one or more second edge nodes is not more than the maximum topological distance from the first edge node;

[0020] Send the data to each second edge node among the second edge nodes, where

[0021] The edge network connects multiple edge nodes through corresponding edges, and the multiple edge nodes include the first edge node and one or more second edge nodes;

[0022] In an edge network, each edge in the edge logically directly connects the corresponding two edge nodes to each other, such that each edge in the edge logically terminates at the corresponding two edge nodes without any intermediate edge nodes.

[0023] For the apparatus according to any one of the first or second aspects, one or more of the following may apply:

[0024] The instructions, when executed by the one or more processors, may cause the apparatus to perform:

[0025] Determine one or more second edge nodes by determining all second edge nodes, where according to the stored topology, each second edge node among all second edge nodes is not more than the maximum topological distance from the first edge node.

[0026] When executed by one or more processors, the instruction may further cause the device to perform:

[0027] In response to determining that the first edge node has received a cache request, calculate the data's lifespan;

[0028] Send the lifespan and the data to each second edge node among the second edge nodes.

[0029] When executed by one or more processors, the instruction may further cause the device to perform:

[0030] In response to determining that the first edge node has received a cache request, cache the data in the cache of the first edge node.

[0031] When executed by one or more processors, the instruction may further cause the device to perform:

[0032] Determine whether the lifespan of the data has expired; and at least one of the following:

[0033] In response to determining that the lifespan of the data has expired, prohibit caching the data in the cache of the first edge node, or

[0034] In response to determining that the lifespan of the data has expired, remove the data from the cache of the first edge node.

[0035] When executed by one or more processors, the instruction may cause the device to perform:

[0036] Calculate a maximum topological distance based on at least one of the following: the state of the movable device, or the state of the environment of the movable device.

[0037] The state of the movable device includes at least one of the following: the position of the movable device, the current speed of the movable device, or the previous speed of the movable device, or the current acceleration of the movable device, or the previous acceleration of the movable device.

[0038] The state of the environment of the movable device may include at least one of the following: the current congestion level at the position of the movable device, or the current congestion level on the route predicted for the movable device, or the previous congestion level at the position of the movable device, or the previous congestion level on the route predicted for the movable device, or the expected congestion level on the route predicted for the movable device, or the allowable speed at the position of the movable device, or the allowable speed on the route predicted for the movable device.

[0039] When executed by one or more processors, the instruction may further cause the device to perform:

[0040] Determine whether the maximum topological distance is less than the topological distance from the first edge node to the second edge node, where according to the stored topology, the second edge node is the nearest neighbor of the first edge node;

[0041] In response to determining that the maximum topological distance is less than the topological distance from the first edge node to the second edge node, prohibit sending data.

[0042] When executed by one or more processors, the instructions may also cause the apparatus to perform:

[0043] Determine whether the data life cycle has expired;

[0044] In response to determining that the data life cycle has expired, prohibit sending data.

[0045] According to a third aspect of the present invention, there is provided an apparatus, comprising:

[0046] One or more processors, and a memory storing instructions that, when executed by the one or more processors, cause the apparatus to perform:

[0047] Determine whether a second edge node of the edge network has received a cache request, the cache request being sent from the first edge node via the first edge, where

[0048] The edge network connects a plurality of edge nodes through respective edges including a first edge and a second edge, the plurality of edge nodes including a first edge node and a second edge node;

[0049] In the edge network, each edge in the edge logically directly connects two corresponding edge nodes to each other, such that each edge in the edge logically terminates at two corresponding edge nodes without any intermediate edge nodes;

[0050] The first edge terminates at the first edge node and the second edge node;

[0051] The second edge terminates at the second edge node and a third edge node different from the first edge node;

[0052] The cache request includes data related to a removable device, and at least one of the following: the data life cycle, or the maximum topological distance, where the data may not be sent from the first edge node in the edge network more than the maximum topological distance in a direction away from the first edge node;

[0053] And when executed by one or more processors, the instructions also cause the apparatus to perform:

[0054] In response to determining that the second edge node has received a cache request including the life cycle, determine whether the data life cycle has expired;

[0055] In response to determining that the second edge node has received a cache request including a lifecycle and that the lifecycle of the data has expired, prohibit sending the data via the second edge;

[0056] In response to determining that the second edge node has received a cache request including a maximum topological distance, determine whether the maximum topological distance indicates that the data has been sent for the maximum topological distance for sending the data from the first edge node via the first edge;

[0057] In response to determining that the second edge node has received a cache request including a maximum topological distance and that the maximum number of edges indicates that the data has been sent for the maximum topological distance for sending the data from the first edge node via the first edge, prohibit sending the data via the second edge.

[0058] When executed by one or more processors, the instructions may further cause the apparatus to perform:

[0059] In response to determining that the second edge node has received a cache request including a lifecycle and that the lifecycle of the data has not expired, cache the data in the cache of the second edge node.

[0060] When executed by one or more processors, the instructions may further cause the apparatus to perform:

[0061] In response to determining that the second edge node has received a cache request including a maximum topological distance and that the maximum topological distance does not indicate that the data has been sent for at least the maximum topological distance for sending the data from the first edge node via the first edge, decrement the maximum topological distance by the distance corresponding to the first edge;

[0062] In response to determining that the maximum topological distance does not indicate that the data has been sent for at least the maximum topological distance for sending the data from the first edge node via the first edge, send the data and the decremented maximum topological distance via the second edge.

[0063] When executed by one or more processors, the instructions may further cause the apparatus to perform:

[0064] In response to determining that the second edge node has received a cache request including a lifecycle and that the lifecycle of the data has not expired, send the lifecycle and the data via the second edge.

[0065] When executed by one or more processors, the instructions may further cause the apparatus to perform:

[0066] In response to determining that the second edge node has received a cache request including a lifecycle and that the lifecycle of the data has expired, prohibit caching the data in the cache of the second edge node;

[0067] When the instructions are executed by one or more processors, the apparatus may also be caused to perform:

[0068] Determine whether previous data related to the removable device is cached in the cache of the second edge node;

[0069] In response to determining that previous data related to the removable device is cached in the cache of the second edge node, overwrite the previous data related to the removable device with data related to the removable device included in the cache request.

[0070] In the apparatus according to any one of the first, second, or third aspects, the maximum topological distance may be indicated as the maximum number of edges, where data in the direction away from the first edge node shall not be sent in the edge network on more than the maximum number of edges.

[0071] According to a fourth aspect of the present invention, there is provided a method, including:

[0072] Determine whether a first edge node of an edge network receives a cache request, where the cache request requests the first edge node to cache data received from a removable device;

[0073] In response to determining that the first edge node receives the cache request, calculate at least one of the following: the lifespan of the data, or the maximum topological distance, such that data in the direction away from the first edge node shall not be sent from the first edge node in the edge network for more than the maximum topological distance;

[0074] Send the data and at least one of the following: the maximum topological distance and the lifespan, via a first edge of the edge network to a second edge node of the edge network, where

[0075] The edge network connects multiple edge nodes through corresponding edges, and the multiple edge nodes include a first edge node and a second edge node;

[0076] In the edge network, each edge logically directly connects two corresponding edge nodes to each other, such that each edge in the edge network logically terminates at two corresponding edge nodes without any intermediate edge nodes;

[0077] According to the topology stored in the edge network, the first edge terminates at the first edge node and the second edge node.

[0078] According to a fifth aspect of the present invention, there is provided a method, including:

[0079] Determine whether a first edge node of an edge network receives a cache request, where the cache request requests the first edge node to cache data received from a removable device;

[0080] In response to determining that a first edge node has received a caching request: calculate a maximum topological distance such that data is not sent from the first edge node in the edge network more than the maximum topological distance in a direction away from the first edge node;

[0081] Determine one or more second edge nodes, wherein according to the topology stored in the edge network, each second edge node among the one or more second edge nodes is not more than the maximum topological distance from the first edge node;

[0082] Send data to each of the second edge nodes, wherein

[0083] The edge network connects multiple edge nodes through corresponding edges, and the multiple edge nodes include a first edge node and one or more second edge nodes;

[0084] In the edge network, each edge logically directly connects the corresponding two edge nodes to each other, such that each edge logically terminates at the corresponding two edge nodes without any intermediate edge nodes.

[0085] For the method according to any one of the fourth or fifth aspects, one or more of the following may apply:

[0086] Determining one or more second edge nodes can be performed by determining all second edge nodes, wherein according to the stored topology, each second edge node among all second edge nodes is not more than the maximum topological distance from the first edge node.

[0087] The method may further include:

[0088] In response to determining that the first edge node has received a caching request, calculate the lifetime of the data;

[0089] Send the lifetime as well as the data to each of the second edge nodes.

[0090] The method may further include:

[0091] In response to determining that the first edge node has received a caching request, cache the data in the cache of the first edge node.

[0092] The method may further include:

[0093] Determine whether the lifetime of the data has expired; and at least one of the following:

[0094] In response to determining that the lifetime of the data has expired, prohibit caching the data in the cache of the first edge node, or

[0095] In response to determining that the lifetime of the data has expired, remove the data from the cache of the first edge node.

[0096] The maximum topological distance can be calculated based on at least one of the following: the state of the movable device, or the state of the environment of the movable device.

[0097] The state of the movable device can include at least one of the following: the position of the movable device, the current speed of the movable device, or the previous speed of the movable device, or the current acceleration of the movable device, or the previous acceleration of the movable device.

[0098] The state of the environment of the movable device can include at least one of the following: the current congestion level at the position of the movable device, or the current congestion level on the predicted route for the movable device, or the previous congestion level at the position of the movable device, or the previous congestion level on the predicted route for the movable device, or the expected congestion level on the predicted route for the movable device, or the allowable speed at the position of the movable device, or the allowable speed on the predicted route for the movable device.

[0099] The method may further include:

[0100] Determining whether the maximum topological distance is less than the topological distance from the first edge node to the second edge node, where according to the stored topology, the second edge node is the nearest neighbor of the first edge node;

[0101] In response to determining that the maximum topological distance is less than the topological distance from the first edge node to the second edge node, prohibiting the sending of data.

[0102] The method may further include:

[0103] Determining whether the lifespan of the data has expired;

[0104] In response to determining that the lifespan of the data has expired, prohibiting the sending of data.

[0105] According to a sixth aspect of the present invention, there is provided a method, including:

[0106] Determining whether a second edge node of an edge network has received a caching request, the caching request being sent from a first edge node via a first edge, where

[0107] The edge network connects a plurality of edge nodes through corresponding edges including a first edge and a second edge, the plurality of edge nodes including a first edge node and a second edge node;

[0108] In the edge network, each edge in the edges logically directly connects two corresponding edge nodes to each other, such that each edge in the edges logically terminates at two corresponding edge nodes without any intermediate edge nodes;

[0109] The first edge terminates at a first edge node and a second edge node;

[0110] The second edge terminates at the second edge node and a third edge node different from the first edge node;

[0111] The cache request includes data related to the removable device and at least one of the following: the lifecycle of the data, or the maximum topological distance, where the data is not sent beyond the maximum topological distance to an edge node in the edge network in a direction away from the first edge node;

[0112] And the method further includes:

[0113] In response to determining that the second edge node has received a cache request including the lifecycle, determining whether the lifecycle of the data has expired;

[0114] In response to determining that the second edge node has received a cache request including the lifecycle and that the lifecycle of the data has expired, prohibiting the transmission of data via the second edge;

[0115] In response to determining that the second edge node has received a cache request including the maximum topological distance, determining whether the maximum topological distance indicates that the data has been sent for the maximum topological distance of sending data from the first edge node via the first edge;

[0116] In response to determining that the second edge node has received a cache request including the maximum topological distance and that the maximum number of edges indicates that the data has been sent for the maximum topological distance of sending data from the first edge node via the first edge, prohibiting the transmission of data via the second edge.

[0117] The method may further include:

[0118] In response to determining that the second edge node has received a cache request including the lifecycle and that the lifecycle of the data has not expired, caching the data in the cache of the second edge node.

[0119] The method may further include:

[0120] In response to determining that the second edge node has received a cache request including the maximum topological distance and that the maximum topological distance does not indicate that the data has been sent for at least the maximum topological distance of sending data from the first edge node via the first edge, decrementing the distance corresponding to the first edge from the maximum topological distance;

[0121] In response to determining that the maximum topological distance does not indicate that the data has been sent for at least the maximum topological distance of sending data from the first edge node via the first edge, transmitting the data and the decremented maximum topological distance via the second edge.

[0122] The method may further include:

[0123] In response to determining that the second edge node has received a cache request including a lifecycle and that the lifecycle of the data has not expired, send the lifecycle and the data via the second edge.

[0124] The method may further include:

[0125] In response to determining that the second edge node has received a cache request including a lifecycle and that the lifecycle of the data has expired, prohibit caching the data in the cache of the second edge node;

[0126] The method may further include:

[0127] Determine whether previous data related to the removable device is cached in the cache of the second edge node;

[0128] In response to determining that previous data related to the removable device is cached in the cache of the second edge node, overwrite the previous data related to the removable device with the data related to the removable device included in the cache request.

[0129] In the method according to any one of the fourth, fifth, and sixth aspects, the maximum topological distance may be indicated as the maximum number of edges, where the data is in the direction of the first edge node and shall not be sent in the edge network on more than the maximum number of edges.

[0130] Each method in the fourth, fifth, or sixth aspect may be a method of data dissemination.

[0131] According to a seventh aspect of the present invention, there is provided a computer program product including a set of instructions which, when executed on a device, is configured to cause the device to execute the method according to any one of the fourth, fifth, or sixth aspects. The computer program product may be embodied as a computer-readable medium or may be directly loaded into a computer.

[0132] It should be understood that any of the above modifications may be applied singly or in combination to the respective aspects to which they relate, unless it is explicitly stated as excluding alternatives. BRIEF DESCRIPTION OF THE DRAWINGS

[0133] Further details, features, objects, and advantages are apparent from the following detailed description of the preferred embodiments of the present invention in conjunction with the accompanying drawings, in which:

[0134] Figure 1 The logical architecture of a cache unit according to some example embodiments is shown;

[0135] Figure 2 The device according to an example embodiment is shown;

[0136] Figure 3Shows a method according to an exemplary embodiment;

[0137] Figure 4 Shows a device according to an exemplary embodiment;

[0138] Figure 5 Shows a method according to an exemplary embodiment;

[0139] Figure 6 Shows a device according to an exemplary embodiment;

[0140] Figure 7 Shows a method according to an exemplary embodiment; and

[0141] Figure 8 Shows a device according to an exemplary embodiment. Detailed Description

[0142] Hereinafter, certain embodiments of the present invention will be described in detail with reference to the accompanying drawings, wherein the features of the embodiments can be freely combined with each other unless otherwise described. However, it should be clearly understood that the description of certain embodiments is given only by way of example and is in no way intended to be construed as limiting the present invention to the disclosed details. Furthermore, it should be understood that the device is configured to perform the corresponding method, although in some cases only the device or the method is described.

[0143] By way of example, some requirements for ITS can be:

[0144] ● The vehicle is controlled by the Edge host application that issues control messages.

[0145] ● The device (vehicle) must be connected to a single Edge at any given time.

[0146] ● Scalability: Thousands of Edges, each with hundreds of devices.

[0147] · The maximum end-to-end delay of queued vehicles is less than 30 ms (ETSI TS122 186

[0148] v16.2.0).

[0149] The last of these requirements is very strict. Therefore, the controller should be as close as possible to the vehicle, and the number of hops should be limited. The current goal is a delay of less than 20 to 30 ms, and a clock tick equal to 10 ms, where the clock tick represents the minimum time period used by the ITS cloud manager for scheduling operations.

[0150] In an ITS project, one or more of the following control information and data can be exchanged:

[0151] - Vehicle-to-edge data: Telemetry data such as current location, current speed, current acceleration

[0152] - Edge-to-vehicle data: Control signals to assist vehicle navigation (e.g., predicting upcoming road congestion)

[0153] - Edge-to-edge data: Data related to changes in vehicle position, speed, acceleration, etc.

[0154] Logically, an ITS can be based on a road network, such as a dedicated lane network on existing roads (physical road network). That is, an ITS can be regarded as an edge network connecting edge nodes (controllers) through edges (e.g., roads). In an example where an edge corresponds to a road, the topology of the edge network can correspond to the topology of the road. However, this correspondence is not mandatory. For example, an ITS (edge network) can have some edges for which there is no corresponding road, or there can be some roads that do not correspond to the edges of the edge network.

[0155] Each physical node (i.e., an edge node (controller) of a telecommunications network) bijectively corresponds to an edge node. Thus, for the present disclosure, the terms “physical node” (and similar terms such as controller) and “edge node” can be used interchangeably unless otherwise indicated or explicitly stated in the context.

[0156] Edge nodes logically form an edge network, where the edge nodes are interconnected by (logical) edges. Each edge directly connects two edge nodes, i.e., an edge terminates at two edge nodes and does not have any intermediate edge nodes. The edges in the edge network can correspond to the physical links between the corresponding physical nodes, or there can be no physical links between the corresponding physical nodes. The physical link between two physical nodes can correspond to the edge between the corresponding two edge nodes in the edge network, or there can be no edge between the corresponding two edge nodes in the edge network. In some example embodiments, each edge corresponds to a respective physical link and vice versa, i.e., the edge network composed of edge nodes and edges corresponds to the physical network composed of physical nodes (e.g., controllers) and physical connections.

[0157] The data sent from a vehicle to an edge node changes dynamically as the vehicle moves in the physical road network. The data received by an edge node from a vehicle at a specific time can be useful for other edge nodes. Thus, an edge node can propagate data within the edge network. That is, it is desirable to autonomously replicate data (dynamic data replication) within the edge network. However, if the data of many vehicles is propagated through the entire edge network (or a larger part thereof), the edge network can become congested, and / or some data can be sent to edge nodes that do not benefit from these specific data.

[0158] To prevent congestion in the edge network and / or avoid unnecessary data transmission, some example embodiments utilize at least one of the following: spatial locality of data, or temporal locality of data. The corresponding process can also be represented as "geo-aware management" of data.

[0159] The "spatial locality" of data means that data received from a vehicle V at an edge node E may be reused in adjacent edge nodes of E. The maximum topological distance d of adjacent edge nodes that may reuse data received from vehicle V can vary according to several dynamic conditions (such as traffic, vehicle routes). The "temporal locality" of data means that data sent by vehicle V to edge node E at time t may be reused at time t+Δt. Δt can vary according to several dynamic conditions (such as traffic, vehicle routes).

[0160] The dynamic conditions for the maximum topological distance d and the time Δt can be the same as or different from each other. Each of the maximum topological distance d and the time Δt can depend on at least one of the following: the state of the vehicle, or the state of the environment of the vehicle. For example, in an urban scenario, d (or Δt) may be small because the vehicle is more likely to change direction / routes than on a highway where d (or Δt) may be large (the vehicle rarely changes routes and / or it takes the vehicle longer to get back on a route it took recently). The state of the vehicle can include, for example, one or more of vehicle position, vehicle current speed or vehicle previous speed, vehicle current acceleration or vehicle previous acceleration. The state of the vehicle's environment can include, for example, one or more of the current congestion level at the vehicle's position, or the current congestion level on the vehicle's predicted route, or the previous congestion level at the vehicle's position, or the previous congestion level on the vehicle's predicted route, or the expected congestion level on the vehicle's predicted route, or the allowable speed at the vehicle's position, or the allowable speed on the vehicle's predicted route.

[0161] Some example embodiments include a distributed caching system where the caches are located within edge nodes and the caches are logically connected to each other via the edges. The topology of the edge network is determined by the logical connections. The physical connection between any two edge nodes can correspond to the logical connection or can also be different from the logical connection. The physical connection can be wired or wireless (radio).

[0162] Data received from a vehicle by an edge node is stored (cached) in the cache of that edge node and can be further distributed to other edge nodes of the edge network. The distribution of data can be controlled by a control layer that acts according to the topology of the edge network. Each edge network can store some information about the topology. Some information related to the topology structure ("depth tags") can be sent along with the data to be replicated.

[0163] Figure 1 Figure 1 represents the logical architecture of the cache unit 10 according to some example embodiments. Other logical architectures are also feasible. The cache unit 10 is bijectively associated with the edge node E of the edge network. For example, the cache unit 10 can be considered as part of the edge node with which it is associated. Logically, the cache unit 10 includes an internal memory 1, a control unit 2, a communication buffer 3, a computing unit 4, an internal status register 5, and a library 6.

[0164] The cached data is stored (cached) in the internal memory 1 (e.g., in cache lines each representing a data set and cache blocks each including multiple cache lines). The internal memory can also be used to store the topology of the edge network. This topology can be used to manage the cache content.

[0165] The control unit 2 is responsible for controlling the cache unit. Controlling the cache unit 10 can include, for example, processing requests for cached data, processing requests to retrieve cached data, sending the data received in the requests for cached data to other edge nodes, updating the topology of the edge network, updating one or more in the library 6. The control unit 2 can receive / send data or updates via one or more communication buffers 3.

[0166] The computing unit 4 is responsible for performing computations, such as computations related to an algorithm (described below) for the geospatial awareness management of the data received in the requests for cached data. One or more internal control and status registers 5 are used for communication between the control unit 2 and the communication unit 4 (e.g., storing commands from the control unit to the communication unit).

[0167] The library 6 stores algorithms for geospatial cache management, such as algorithms for network traversal. The library 6 can be implemented as one or more query tables corresponding to the algorithms. As another option, the library 6 can store formulas corresponding to the algorithms.

[0168] The cache unit 10 can be physically implemented by a computer and corresponding software to implement the functions of the internal memory 1, the control unit 2, the communication buffer 3, the computing unit 4, the internal status register 5, and the library 6. The computer can include one or more processors (e.g., a CPU) and a memory. One computer can physically implement one or more cache units 10 associated with respective edge units. The computer can include an external memory. As another alternative, the cache unit can be implemented in whole or in part by an ASIC.

[0169] In addition to the data received from the vehicle (identified by the vehicle ID) (vehicle-to-edge data), the data set stored in the internal memory 1 can include one or more of the following fields: data life cycle, topology label, depth label, or validity bit. Table 1 shows an example of such a data set.

[0170]

[0171] Table 1: Example of a data set stored in the internal memory 1

[0172] The data life cycle indicates the life cycle Δt of the data set. The topology tag indicates the edge node from which the data set is received. It can represent an edge node that receives vehicle-to-edge data from a vehicle, and / or it can represent an edge node that sends vehicle-to-edge data to the current edge node. The validity tag indicates whether the data set is still valid. If it is invalid (e.g., because the life cycle has expired), the data set can be removed from the internal memory 1.

[0173] The depth tag indicates the maximum topology distance d. The data shall not be sent in the edge network from an edge node (the first edge node) associated with the cache unit in a direction away from the associated edge node by more than the maximum topology distance.

[0174] For example, the maximum topology distance d can be indicated as the maximum number of edges (i.e., logical connections between edge nodes) such that vehicle-to-edge data shall not be sent in the edge network in a direction away from the first edge node by more than the maximum number of edges. In this case, each edge in the edge network has the same topology distance (usually, the topology distance of each edge is 1). However, in some example embodiments, some edges of the edge network can have different topology distances from each other. For example, the topology distance can correspond to the physical (spatial) distance between the edge nodes terminating the respective edges. In the case of different topology distances for different edges, the topology distance between two edge nodes can be determined by adding up the topology distances of the edges of all paths between the two edge nodes and determining the minimum determined sum of the topology distances.

[0175] If the first edge node E receives a cache request to cache (store) vehicle-to-edge data D received from a vehicle V, one or both of the following actions a) and b) can be performed by the cache unit 10 (in particular, the control unit 2 and the computing unit 4). Additionally, it can cache (store) the vehicle-to-edge data D in the internal memory 1 of the cache unit associated with the first edge node E.

[0176] a) Calculate the maximum topological distance that the computed data can propagate from the first edge node E. For example, the maximum topological distance can correspond to multiple edges away from the first edge node E (i.e., logical connections between edge nodes). As described above, the maximum topological distance can be calculated based on the vehicle state and the vehicle environment state. Generally, the higher the vehicle speed, the longer the maximum topological distance that the data can propagate. Conversely, the higher the congestion level on the road, the shorter the maximum topological distance. In an example embodiment, the maximum topological distance is retrieved from a query table that is accessed by keys consisting of pairs <vehicle speed, congestion level>.

[0177] The congestion level (and other information about the vehicle environment) can be part of the control information that the network controller / coordinator periodically sends to edge nodes including the first edge node E. The vehicle speed (and other information about the vehicle state) can be included in the vehicle-to-edge data.

[0178] b) Calculate the data's lifetime. The lifetime can be calculated similarly to the maximum topological distance. The larger the value of the lifetime, the longer the data stays in the cache. The LUT can also be used for this purpose. In some example embodiments, the maximum topological distance and / or the vehicle speed and / or the congestion level can be used as keys to access the LUT. The LUT can be periodically updated by the network controller / coordinator.

[0179] In some example embodiments, the maximum topological distance can be calculated first, and based on the maximum topological distance, the lifetime can be calculated. In other example embodiments, the lifetime can be calculated first, and based on the lifetime, the maximum topological distance can be calculated. In some example embodiments, the lifetime and the maximum topological distance can be calculated independently of each other. These calculations can be performed in any order or all or part of them can be performed in parallel.

[0180] Then, the first edge node E can send the vehicle-to-edge data D to other edge nodes. For the transmission to other edge nodes, depending on the implementation or configuration, there are two options:

[0181] Option 1:

[0182] The first edge node E knows the network topology such that it can determine the edge nodes within the maximum topological distance. The first edge node E can determine all or a subset of the edge nodes within the maximum topological distance. For example, the number of edge nodes to be determined can be limited, or some edge nodes can be excluded from the determination for other reasons. Then, the first edge node E sends the vehicle-to-edge data D (and the lifetime, if the lifetime is calculated) to the determined edge nodes within the maximum topological distance. The edge nodes determined within the maximum topological distance do not further propagate the vehicle-to-edge data.

[0183] Option 2:

[0184] The first edge node E sends the vehicle-to-edge data D and the maximum topological distance (and the lifetime, if the lifetime is determined) to its nearest neighbor according to the network topology. The nearest neighbor is connected to the first edge node E by an edge (i.e., a logical connection) that terminates at the nearest neighbor and the first edge node E.

[0185] According to Option 2, the actions performed by each of the nearest neighbors can be as follows:

[0186] The nearest neighbor calculates a new maximum topological distance by subtracting the topological distance between the first edge node E and the nearest neighbor from the received maximum topological distance. For example, if the maximum topological distance is indicated as the maximum number of edges, the nearest neighbor decrements the maximum number of edges by 1 to obtain the new maximum number of edges. The nearest neighbor determines whether the new maximum topological distance is greater than its topological distance to its nearest neighbor in the direction away from the first edge node E. For example, if the maximum topological distance is indicated as the maximum number of edges, the nearest neighbor determines whether the new maximum topological distance is greater than 0. If the new maximum topological distance is equal to or greater than the topological distance to at least one of its nearest neighbors in the direction away from the first edge node E, the nearest neighbor sends the vehicle-to-edge data D and the new maximum topological distance to that at least one nearest neighbor. If the new maximum topological distance is less than the topological distance to each of its nearest neighbors in the direction away from the first edge node E, the nearest neighbor no longer sends the vehicle-to-edge data D.

[0187] According to Option 1 and Option 2, the vehicle-to-edge data D can be propagated from the first edge node E to all edge nodes (or a subset thereof) within the maximum topological distance, but not to edge nodes beyond the maximum topological distance. Therefore, unnecessary data transmissions can be avoided, and congestion in the edge network can be prevented.

[0188] If the first edge node E determines the lifetime and sends the lifetime to other edge nodes, each of the edge nodes can check whether the lifetime has expired. If the lifetime has not expired, the corresponding edge node can propagate the vehicle-to-edge data D to another edge node. If the lifetime has expired, the corresponding edge node no longer propagates the vehicle-to-edge data D and does not cache (store) the vehicle-to-edge data D. Each edge node can check (e.g., periodically or based on a trigger) whether it stores any vehicle-to-edge data with an expired lifetime. If the vehicle-to-edge data it stores has an expired lifetime, the corresponding edge node can remove the corresponding data set from the memory of the cache unit associated with the edge node.

[0189] If the propagation of vehicle-to-edge data from a first edge node to a second edge node is prohibited by at least one of a maximum topological distance or a lifetime, the first edge node does not propagate the vehicle-to-edge data to the second edge node.

[0190] If a first edge node has to propagate vehicle edge data D to a plurality of second edge nodes, the first edge node may send the vehicle edge data D in whole or in part to the plurality of second edge nodes in parallel or in any order. For example, the sequence may correspond to the eccentricity of the second edge nodes in the edge network. The first edge node may send to the least eccentric edge node or the most eccentric edge node first. Eccentricity is a measure of the centrality of an edge node in a graph (the edge network). It is the maximum distance between an edge node in the graph and any other edge node in terms of the number of edges on the shortest path between two edge nodes. The algorithm for calculating the eccentricity of an edge node is as follows: for each edge node n in the graph, calculate all the shortest paths to all other edge nodes and store these shortest paths in a list L. The length of the largest one of the shortest paths is a measure of the eccentricity. For example, the eccentricity may belong to the topological information updated by a controller or coordinator of the edge network, or an edge node may calculate the eccentricity of other edge nodes based on the topology of the edge network.

[0191] If a first edge node E receives vehicle edge data of a vehicle (from the vehicle or from another edge node), the first edge node may check whether it has already cached the previous vehicle-to-edge data of the vehicle. For example, this may happen if a vehicle that has previously passed through the first edge node E loops around and passes through the first edge node E twice. In this case, the first edge node E may remove the previous vehicle-to-edge data based on one or both of the maximum topological distance and the lifetime, store the new vehicle-to-edge data, and propagate the new vehicle-to-edge data as described above.

[0192] Figure 2 An apparatus according to an example embodiment of the present invention is shown. The apparatus may be a cache unit or an element thereof (such as a control unit of the cache unit). Figure 3 A method according to an example embodiment of the present invention is shown. According to Figure 2 the apparatus of Figure 3 may execute the method of Figure 3 but is not limited to this method. Figure 2 The method of

[0193] The device includes a component 110 for determination, a component 120 for calculation, and a component 130 for transmission. The component 110 for determination, the component 120 for calculation, and the component 130 for transmission may be a determination component, a calculation component, and a transmission component respectively. The component 110 for determination, the component 120 for calculation, and the component 130 for transmission may be a determiner, a calculator, and a transmitter respectively. The component 110 for determination, the component 120 for calculation, and the component 130 for transmission may be a determination processor, a calculation processor, and a transmission processor respectively.

[0194] The component 110 for determination determines whether a first edge node of the edge network has received a caching request (S110). The caching request requests the first edge node to cache data received from a removable device. The edge network includes a plurality of edge nodes including the first edge node and the second edge node through respective edge connections. In the edge network, each edge logically directly connects the corresponding two edge nodes to each other such that each edge logically terminates at the corresponding two edge nodes without any intermediate edge nodes.

[0195] In response to determining that the first edge node has received the caching request (S110 = yes), the component 120 for calculation calculates at least one of the following (S120): the lifespan of the data, or the maximum topological distance. The maximum topological distance is calculated such that the data is not transmitted from the first edge node in the edge network more than the maximum topological distance in a direction away from the first edge node.

[0196] The component 130 for transmission 130 transmits the data and at least one of the maximum topological distance and the lifespan calculated in S120 (S130). The transmission is from the first edge of the edge network to the second edge node of the edge network. According to the topology stored in the edge network, the first edge terminates at the first edge node and the second edge node. That is, the first edge node and the second edge node are direct neighbors in the edge network.

[0197] Figure 4 A device according to an exemplary embodiment of the present invention is shown. The device may be a caching unit or an element thereof (such as a control unit of the caching unit). Figure 5 A method according to an exemplary embodiment of the present invention is shown. According to Figure 4 the device of Figure 5 may perform Figure 5 the method of Figure 4 but is not limited to this method.

[0198] The device includes a first component 210 for determination, a component 220 for calculation, a second component 230 for determination, and a component 240 for transmission. The first component 210 for determination, the component 220 for calculation, the second component 230 for determination, and the component 240 for transmission may be a first determination component, a calculation component, a second determination component, and a transmission component respectively. The first component 210 for determination, the component 220 for calculation, the second component 230 for determination, and the component 240 for transmission may be a first determiner, a calculator, a second determiner, and a transmitter respectively. The first component 210 for determination, the component 220 for calculation, the second component 230 for determination, and the component 240 for transmission may be a first determination processor, a calculation processor, a second determination processor, and a transmission processor respectively.

[0199] The first component 210 for determination determines whether a first edge node of an edge network has received a caching request (S210). The caching request requests the first edge node to cache data received from a removable device. The edge network includes a plurality of edge nodes including the first edge node and one or more second edge nodes through respective edge connections. In the edge network, each edge logically directly connects the corresponding two edge nodes to each other such that each edge logically terminates at the corresponding two edge nodes without any intermediate edge node.

[0200] In response to determining that the first edge node has received the caching request (S210 = yes), the component 220 for calculation calculates a maximum topological distance (S220). The maximum topological distance is calculated such that data is not sent from the first edge node in the edge network more than the maximum topological distance in a direction away from the first edge node.

[0201] The second component 230 for determination determines one or more second edge nodes (S230). According to the topology stored in the edge network, each of the one or more second edge nodes is not more than the maximum topological distance from the first edge node. The component 240 for transmission sends data to each of the second edge nodes (S240).

[0202] Figure 6 A device according to an exemplary embodiment of the present invention is shown. The device may be a caching unit or an element thereof (such as a control unit of the caching unit). Figure 7 A method according to an exemplary embodiment of the present invention is shown. According to Figure 6 the device of Figure 7 may execute Figure 7 the method of Figure 6 but is not limited to this method.

[0203] The device includes a first component 310 for determination, a second component 320 for determination, a first component 330 for prohibition, a third component 340 for determination, and a second component 350 for prohibition. The first component 310 for determination, the second component 320 for determination, the first component 330 for prohibition, the third component 340 for determination, and the second component 350 for prohibition may be a first determination component, a second determination component, a first prohibition component, a third determination component, and a second prohibition component respectively. The first component 310 for determination, the second component 320 for determination, the first component 330 for prohibition, the third component 340 for determination, and the second component 350 for prohibition may be a first determiner, a second determiner, a first prohibitor, a third determiner, and a second prohibitor respectively. The first component 310 for determination, the second component 320 for determination, the first component 330 for prohibition, the third component 340 for determination, and the second component 350 for prohibition may be a first determination processor, a second determination processor, a first prohibition processor, a third determination processor, and a second prohibition processor respectively.

[0204] The first component 310 for determination determines whether a second edge node of the edge network has received a cache request (S310) that has been sent from a first edge from a first edge node. The edge network includes a plurality of edge nodes including a first edge node and a second edge node through a respective edge connection including a first edge and a second edge. Each edge in the edge logically directly connects the respective two edge nodes to each other such that each edge in the edge logically terminates at the respective two edge nodes without any intermediate edge nodes. The first edge terminates at the first edge node and the second edge node. That is, the first edge node and the second edge node are direct neighbors in the edge network. The second edge terminates at the second edge node and a third edge node different from the first edge node.

[0205] The cache request includes data related to a removable device and at least one of the following: a lifecycle of the data, or a maximum topological distance. The maximum topological distance indicates that the data shall not be sent from the first edge node in the edge network more than the maximum topological distance in a direction away from the first edge node.

[0206] In response to determining that the second edge node has received a cache request including a lifecycle (for option "lifecycle", S310 = yes), the second component 320 for determination determines whether the lifecycle of the data has expired (S320).

[0207] In response to determining that the second edge node has received a cache request including a lifecycle (for option "Lifecycle", S310 = yes), and the lifecycle of the data has expired (S320 = yes), a first component 330 for prohibition prohibits sending data via the second edge (S330).

[0208] In response to determining that the second edge node has received a cache request including a maximum topological distance (for option "Maximum Topological Distance", S310 = yes), a third component 340 for determination determines whether the maximum topological distance indicates that the data has been sent for the maximum topological distance of sending data from the first edge node via the first edge. That is, the third component 340 for determination determines whether the data has reached the maximum topological distance due to the last transmission from the first edge node via the first edge to the second edge node.

[0209] In response to determining that the second edge node has received a cache request including a maximum topological distance (for option "Maximum Topological Distance", S310 = yes), and the maximum number of edges indicates that the data has been sent for the maximum topological distance of sending data from the first edge node via the first edge (S340 = yes), a second component 350 for prohibition prohibits sending data via the second edge (S350).

[0210] In some example embodiments, if the determination of S310 is affirmative for both options "Lifecycle" and "Maximum Topological Distance", the determination of S320 may be performed before the determination of S340. In this case, in some example embodiments, if the determination in S320 is affirmative, the determination of S340 and the prohibition of S350 may be omitted.

[0211] In some example embodiments, if the determination of S310 is affirmative for both options "Lifecycle" and "Maximum Topological Distance", the determination of S340 may be performed before the determination of S320. In this case, in some example embodiments, if the determination in S340 is affirmative, the determination of S320 and the prohibition of S330 may be omitted.

[0212] In some example embodiments, if the determination of S310 is affirmative for both options "Lifecycle" and "Maximum Topological Distance", the determinations of S320 and S340 may be performed in parallel, either fully or partially.

[0213] In some example embodiments, if neither the determination in S320 nor the determination in S340 is affirmative, the apparatus may perform at least one of: caching the data in the cache of the second edge node, or sending the data and the lifecycle or the new maximum topological distance together to the third edge node, respectively. If there is a new maximum topological distance, it is obtained from the received maximum topological distance by subtracting the topological distance of the first edge from the received maximum topological distance.

[0214] Figure 8 A device according to an example embodiment of the present invention is shown. The device includes at least one processor 810 and at least one memory 820 storing instructions that, when executed by the at least one processor 810, cause the device to perform at least a method according to at least one of the following figures and related descriptions: Figure 3 or Figure 5 or Figure 7 .

[0215] Some example embodiments are explained for vehicles on the road. However, vehicles are only examples of movable devices. Other examples of movable devices to which the present disclosure can be applied are pallets in a digital factory, ships or containers in a port, etc.

[0216] Some example embodiments are explained as a 5G network for sending vehicle-to-edge data from a vehicle to an edge node. However, some example embodiments can use other communication networks, for example, previous or upcoming generations of 3GPP networks, such as 4G, 6G, or 7G, etc. They can use non-3GPP mobile communication networks.

[0217] A piece of information can be sent from one entity to another entity in one or more messages. Each of these messages can include another (different) piece of information. The names of network elements, network functions, protocols, and methods are based on current standards. In other versions or other technologies, the names of these network elements and / or network functions and / or protocols and / or methods may be different as long as they provide the corresponding functions. This also applies to terminals.

[0218] If not otherwise stated or explicitly stated in the context, the statement that two entities are different means that they perform different functions. This does not necessarily mean that they are based on different hardware. That is, each entity described in this specification can be based on different hardware, or some or all of the entities can be based on the same hardware. This does not necessarily mean that they are based on different software. That is, each entity described in this specification can be based on different software, or some or all of the entities can be based on the same software. Each entity described in this specification can be deployed in the cloud.

[0219] Based on the above description, it is thus clear that the exemplary embodiments provide, for example, a cache unit or its components (such as the control unit of the cache unit), a device embodying the cache unit, a method for controlling and / or operating the cache unit, a computer program for controlling and / or operating the cache unit, and a medium carrying the computer program and forming a computer program product.

[0220] As a non-limiting example, the implementation of any of the above blocks, devices, systems, techniques or methods includes implementation as hardware, software, firmware, dedicated circuits or logic, general hardware or controllers or other computing devices or some combination thereof. Each entity described in this specification can be implemented in the cloud.

[0221] It should be understood that the above-described are currently considered to be preferred exemplary embodiments. However, it should be noted that the description of the preferred exemplary embodiments is given only as an example, and various modifications can be made without departing from the scope of the present invention defined by the appended claims.

[0222] Unless otherwise stated, the terms "first X" and "second X" include the option where "first X" is the same as "second X", and the option where "first X" is different from "second X". As used herein, "at least one of the following: <list of two or more elements>" and "at least one <list of two or more elements>" and similar phrases, where the list of two or more elements is joined by "and" or "or", refer to at least any one element, or at least any two or more elements, or at least all elements.

[0223] Abbreviations

[0224] 3GPP Third Generation Partnership Project

[0225] 5G / 6G / 7G Fifth Generation / Sixth Generation / Seventh Generation

[0226] ETSI European Telecommunications Standards Institute

[0227] ID Identifier

[0228] ITS Intelligent Transport System

[0229] LUT Look-Up Table

[0230] TS Technical Specification

Claims

1. A device, comprising: one or more processors, and a memory storing instructions that, when executed by the one or more processors, cause the device to perform: determine whether a first edge node of an edge network has received a caching request, wherein the caching request requests the first edge node to cache data received from a removable device; in response to determining that the first edge node has received the caching request, calculate at least one of the following: a lifetime of the data, or a maximum topological distance, such that the data is not sent from the first edge node in the edge network more than the maximum topological distance in a direction away from the first edge node; send the data and at least one of the following: the maximum topological distance and the lifetime, via a first edge of the edge network to a second edge node of the edge network, wherein the edge network connects a plurality of edge nodes via respective edges, the plurality of edge nodes including the first edge node and the second edge node; in the edge network, each of the edges logically directly connects a respective two of the edge nodes to each other, such that each of the edges logically terminates at the respective two edge nodes without any intermediate edge nodes; according to the topology stored in the edge network, the first edge terminates at the first edge node and the second edge node.

2. A device, comprising: one or more processors, and a memory storing instructions that, when executed by the one or more processors, cause the device to perform: determine whether a first edge node of an edge network has received a caching request, wherein the caching request requests the first edge node to cache data received from a removable device; in response to determining that the first edge node has received the caching request: calculate a maximum topological distance such that the data is not sent from the first edge node in the edge network more than the maximum topological distance in a direction away from the first edge node; determine one or more second edge nodes, wherein according to the topology stored in the edge network, each of the one or more second edge nodes is no more than the maximum topological distance away from the first edge node; send the data to each of the second edge nodes, wherein the edge network connects a plurality of edge nodes via respective edges, the plurality of edge nodes including the first edge node and the one or more second edge nodes; in the edge network, each of the edges logically directly connects a respective two of the edge nodes to each other, such that each of the edges logically terminates at the respective two edge nodes without any intermediate edge nodes.

3. The device according to claim 2, wherein the instructions, when executed by the one or more processors, cause the device to perform: Determining the one or more second edge nodes by identifying all of the second edge nodes, wherein, according to the stored topology, each of the second edge nodes among all of the second edge nodes is not more than the maximum topology distance from the first edge node.

4. The apparatus according to any one of claims 2 and 3, wherein when executed by the one or more processors, the instructions further cause the apparatus to perform: In response to determining that the first edge node has received the cache request, calculating a lifetime of the data; Sending the lifetime and the data to each of the second edge nodes.

5. The apparatus according to any one of claims 1 to 4, wherein when executed by the one or more processors, the instructions further cause the apparatus to perform: In response to determining that the first edge node has received the cache request, caching the data in a cache of the first edge node.

6. The apparatus according to claim 5, which depends on any one of claims 1 and 4, wherein when executed by the one or more processors, the instructions further cause the apparatus to perform: Determining whether the lifetime of the data has expired; and at least one of the following: In response to determining that the lifetime of the data has expired, prohibiting caching of the data in the cache of the first edge node, or In response to determining that the lifetime of the data has expired, removing the data from the cache of the first edge node.

7. The apparatus according to any one of claims 1 to 6, wherein when executed by the one or more processors, the instructions cause the apparatus to perform: Calculating the maximum topology distance based on at least one of: a state of the movable device, or a state of an environment of the movable device.

8. The apparatus according to claim 7, wherein the state of the movable device includes at least one of: a position of the movable device, a current speed of the movable device, or a previous speed of the movable device, or a current acceleration of the movable device, or a previous acceleration of the movable device.

9. The apparatus according to any one of claims 7 and 8, wherein the state of the environment of the movable device includes at least one of: a current congestion level at the position of the movable device, or a current congestion level on a predicted route for the movable device, or a previous congestion level at the position of the movable device, or a previous congestion level on the predicted route for the movable device, or an expected congestion level on the predicted route for the movable device, or an allowable speed at the position of the movable device, or an allowable speed on the predicted route for the movable device.

10. The apparatus according to any one of claims 1 to 9, wherein when executed by the one or more processors, the instructions further cause the apparatus to perform: Determine whether the maximum topological distance is less than the topological distance from the first edge node to the second edge node, where according to the stored topology, the second edge node is the nearest neighbor of the first edge node; In response to determining that the maximum topological distance is less than the topological distance from the first edge node to the second edge node, prohibit the sending of the data.

11. The apparatus according to any one of claims 1 to 10, wherein when the instructions are executed by the one or more processors, the instructions further cause the apparatus to perform: Determine whether the lifecycle of the data has expired; In response to determining that the lifecycle of the data has expired, prohibit the sending of the data.

12. An apparatus, comprising: One or more processors, and a memory storing instructions that, when executed by the one or more processors, cause the apparatus to perform: Determine whether a second edge node of an edge network has received a cache request that is sent from a first edge node via a first edge, where The edge network connects a plurality of edge nodes through respective edges including the first edge and the second edge, and the plurality of edge nodes includes the first edge node and the second edge node; In the edge network, each of the edges logically directly connects two corresponding edge nodes to each other, such that each of the edges logically terminates at the two corresponding edge nodes without any intermediate edge nodes; The first edge terminates at the first edge node and the second edge node; The second edge terminates at the second edge node and a third edge node different from the first edge node; The cache request includes data related to a mobile device and at least one of the following: the lifecycle of the data, or the maximum topological distance, where the data shall not be sent from the first edge node in the edge network more than the maximum topological distance in a direction away from the first edge node; And when the instructions are executed by the one or more processors, the instructions further cause the apparatus to perform: In response to determining that the second edge node has received the cache request including the lifecycle, determine whether the lifecycle of the data has expired; In response to determining that the second edge node has received the cache request including the lifecycle and the lifecycle of the data has expired, prohibit sending the data via the second edge; In response to determining that the second edge node has received the cache request including the maximum topological distance, determine whether the maximum topological distance indicates that the data has been sent for the maximum topological distance of sending the data from the first edge node via the first edge; In response to determining that the second edge node has received the cache request including the maximum topological distance, and the maximum number of edges indicates that the data has been sent for the maximum topological distance of sending the data from the first edge node via the first edge, prohibit sending the data via the second edge.

13. The apparatus according to claim 12, wherein when executed by the one or more processors, the instructions further cause the apparatus to perform: In response to determining that the second edge node has received the cache request including the lifecycle, and the lifecycle of the data has not expired, cache the data in a cache of the second edge node.

14. The apparatus according to any one of claims 12 and 13, wherein when executed by the one or more processors, the instructions further cause the apparatus to perform: In response to determining that the second edge node has received the cache request including the maximum topological distance, and the maximum topological distance does not indicate that the data has been sent for at least the maximum topological distance of sending the data from the first edge node via the first edge, decrement the maximum topological distance by the distance corresponding to the first edge; In response to determining that the maximum topological distance does not indicate that the data has been sent for at least the maximum topological distance of sending the data from the first edge node via the first edge, send the data and the decremented maximum topological distance via the second edge.

15. The apparatus according to claim 14, wherein when executed by the one or more processors, the instructions further cause the apparatus to perform: In response to determining that the second edge node has received the cache request including the lifecycle, and the lifecycle of the data has not expired, send the lifecycle and the data via the second edge.

16. The apparatus according to any one of claims 12 to 15, wherein when executed by the one or more processors, the instructions further cause the apparatus to perform: In response to determining that the second edge node has received the cache request including the lifecycle, and the lifecycle of the data has expired, prohibit caching the data in the cache of the second edge node.

17. The apparatus according to any one of claims 12 to 16, wherein when executed by the one or more processors, the instructions further cause the apparatus to perform: Determine whether previous data related to the mobile device is cached in the cache of the second edge node; In response to determining that the previous data related to the mobile device is cached in the cache of the second edge node, overwrite the previous data related to the mobile device with the data related to the mobile device included in the cache request.

18. The apparatus according to any one of claims 1 to 17, wherein the maximum topological distance is indicated as the maximum number of edges, and wherein the data, in the direction away from the first edge node, shall not be sent in the edge network over more than the maximum number of edges.

19. A method, comprising: determining whether a first edge node of an edge network has received a caching request, wherein the caching request requests the first edge node to cache data received from a removable device; in response to determining that the first edge node has received the caching request, calculating at least one of the following: a lifetime for the data, or a maximum topological distance, such that the data, in the direction away from the first edge node, shall not be sent from the first edge node in the edge network over more than the maximum topological distance; sending, via a first edge of the edge network to a second edge node of the edge network, the data and at least one of the following: the maximum topological distance and the lifetime, wherein the edge network connects a plurality of edge nodes via respective edges, the plurality of edge nodes including the first edge node and the second edge node; in the edge network, each of the edges logically directly connects a respective two of the edge nodes to each other such that each of the edges logically terminates at the respective two edge nodes without any intermediate edge nodes; according to the topology stored in the edge network, the first edge terminates at the first edge node and the second edge node.

20. A method, comprising: determining whether a first edge node of an edge network has received a caching request, wherein the caching request requests the first edge node to cache data received from a removable device; in response to determining that the first edge node has received the caching request: calculating a maximum topological distance such that the data, in the direction away from the first edge node, shall not be sent from the first edge node in the edge network over more than the maximum topological distance; determining one or more second edge nodes, wherein, according to the topology stored in the edge network, each second edge node of the one or more second edge nodes is not more than the maximum topological distance away from the first edge node; sending the data to each second edge node of the second edge nodes, wherein the edge network connects a plurality of edge nodes via respective edges, the plurality of edge nodes including the first edge node and the one or more second edge nodes; in the edge network, each of the edges logically directly connects a respective two of the edge nodes to each other such that each of the edges logically terminates at the respective two edge nodes without any intermediate edge nodes.

21. The method according to claim 20, wherein Determining the one or more second edge nodes by determining all of the second edge nodes, wherein according to the stored topology, each second edge node among all of the second edge nodes is not more than the maximum topology distance from the first edge node.

22. The method according to any one of claims 20 and 21, further comprising: Calculating a lifetime of the data in response to determining that the first edge node has received the cache request; Sending the lifetime and the data to each of the second edge nodes.

23. The method according to any one of claims 19 to 22, further comprising: Caching the data in a cache of the first edge node in response to determining that the first edge node has received the cache request.

24. The method according to claim 23, which depends on any one of claims 19 and 22, further comprising: Determining whether the lifetime of the data has expired; And at least one of the following: In response to determining that the lifetime of the data has expired, prohibiting caching the data in the cache of the first edge node, or In response to determining that the lifetime of the data has expired, removing the data from the cache of the first edge node.

25. The method according to any one of claims 19 to 24, wherein The maximum topology distance is calculated based on at least one of the following: the state of the movable device, or the state of the environment of the movable device.

26. The method according to claim 25, wherein the state of the movable device includes at least one of the following: the position of the movable device, the current speed of the movable device, or the previous speed of the movable device, or the current acceleration of the movable device, or the previous acceleration of the movable device.

27. The method according to any one of claims 25 and 26, wherein the state of the environment of the movable device includes at least one of the following: the current congestion level at the position of the movable device, or the current congestion level on a predicted route for the movable device, or the previous congestion level at the position of the movable device, or the previous congestion level on a predicted route for the movable device, or the expected congestion level on a predicted route for the movable device, or the allowable speed at the position of the movable device, or the allowable speed on a predicted route for the movable device.

28. The method according to any one of claims 19 to 27, further comprising: Determining whether the maximum topology distance is less than the topology distance from the first edge node to the second edge node, wherein according to the stored topology, the second edge node is the nearest neighbor of the first edge node; In response to determining that the maximum topology distance is less than the topology distance from the first edge node to the second edge node, prohibiting sending the data.

29. The method according to any one of claims 19 to 28, further comprising: Determine whether the lifecycle of the data has expired; In response to determining that the lifecycle of the data has expired, prohibit the sending of the data.

30. A method, comprising: Determine whether a second edge node of an edge network has received a cache request, the cache request being sent from a first edge node via a first edge, where The edge network connects a plurality of edge nodes through respective edges including the first edge and the second edge, the plurality of edge nodes including the first edge node and the second edge node; In the edge network, each edge logically directly connects two respective edge nodes to each other, such that each edge logically terminates at the two respective edge nodes without any intermediate edge nodes; The first edge terminates at the first edge node and the second edge node; The second edge terminates at the second edge node and a third edge node different from the first edge node; The cache request includes data related to a mobile device and at least one of the following: the lifecycle of the data, or a maximum topological distance, where the data shall not be sent from the first edge node in the edge network more than the maximum topological distance in a direction away from the first edge node; And the method further includes: In response to determining that the second edge node has received the cache request including the lifecycle, determine whether the lifecycle of the data has expired; In response to determining that the second edge node has received the cache request including the lifecycle and the lifecycle of the data has expired, prohibit the sending of the data via the second edge; In response to determining that the second edge node has received the cache request including the maximum topological distance, determine whether the maximum topological distance indicates that the data has been sent for at least the maximum topological distance of sending the data from the first edge node via the first edge; In response to determining that the second edge node has received the cache request including the maximum topological distance and the maximum number of edges indicates that the data has been sent for at least the maximum topological distance of sending the data from the first edge node via the first edge, prohibit the sending of the data via the second edge.

31. The method according to claim 30, further comprising: In response to determining that the second edge node has received the cache request including the lifecycle and the lifecycle of the data has not expired, cache the data in a cache of the second edge node.

32. The method according to any one of claims 30 and 31, further comprising: In response to determining that the second edge node has received the cache request including the maximum topological distance and the maximum topological distance does not indicate that the data has been sent for at least the maximum topological distance of sending the data from the first edge node via the first edge, decrement the maximum topological distance by a distance corresponding to the first edge; In response to determining that the maximum topological distance does not indicate that the data has been sent for at least the maximum topological distance of sending the data from the first edge node via the first edge, sending the data via the second edge and the decremented maximum topological distance.

33. The method according to claim 32, further comprising: In response to determining that the second edge node receives the cache request including the lifecycle and the lifecycle of the data has not expired, sending the lifecycle and the data via the second edge.

34. The method according to any one of claims 30 to 33, further comprising: In response to determining that the second edge node receives the cache request including the lifecycle and the lifecycle of the data has expired, prohibiting caching the data in the cache of the second edge node.

35. The method according to any one of claims 30 to 34, further comprising: Determining whether previous data related to the mobile device is cached in the cache of the second edge node; In response to determining that the previous data related to the mobile device is cached in the cache of the second edge node, overwriting the previous data related to the mobile device with the data related to the mobile device included in the cache request.

36. The method according to any one of claims 19 to 35, wherein the maximum topological distance is indicated as the maximum number of edges, in the direction of the first edge node where the data is located, the data shall not be sent in the edge network for more than the maximum number of edges.

37. A computer program product comprising a set of instructions, when the set of instructions is executed on a device, configured to cause the device to execute the method according to any one of claims 19 to 36.

38. The computer program product according to claim 37, embodied as a computer-readable medium or directly loadable into a computer.