Mobile edge computing system and method using adaptive caching algorithm
The adaptive caching algorithm in MEC systems enhances cache hit rates and memory efficiency by prioritizing data based on request frequency and available space, addressing inefficiencies in existing algorithms and improving performance in high-demand scenarios.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- MYONGJI UNIV IND & ACAD COOPERATION FOUND
- Filing Date
- 2025-02-12
- Publication Date
- 2026-05-21
AI Technical Summary
Existing cache replacement algorithms in mobile edge computing (MEC) do not effectively consider data importance, caching duration, and cache space efficiency, leading to inefficiencies in cache hit rates and memory usage, especially in scenarios with limited cache sizes and high data demand.
An adaptive caching algorithm using Conditional Priority Demotion (CPD) and Frequency Filtered Least Recently Used (FFLRU) methods to manage cache storage by prioritizing data based on request frequency, caching duration, and available space, ensuring efficient data replacement and caching even with reduced cache sizes.
Improves cache hit rates and memory efficiency by adaptively managing cache storage, allowing for flexible response to varying data request patterns, particularly in high-demand scenarios like 360-degree video streaming.
Smart Images

Figure KR2025002022_21052026_PF_FP_ABST
Abstract
Description
Mobile edge computing system and method using an adaptive caching algorithm
[0001] The present invention relates to a mobile edge computing system and method using an adaptive caching algorithm, and more specifically, to a mobile edge computing system and method using an adaptive caching algorithm that can improve the cache hit rate by receiving data from a management server when there is a cache miss in the MEC cache for a client's data transmission request, performing a cache replacement according to a Conditional Priority Demotion (CPD) algorithm including an aging masking caching method and an FFLRU deletion method, and reflecting the latest data transmission trends and the current cache status by considering the current cache free space, data request frequency, and cached period.
[0002] Multi-access edge computing (MEC) or mobile edge computing is an ETSI-defined network architecture concept that enables cloud computing capabilities and IT service environments at the edge of a network. The fundamental idea of MEC is that network congestion is reduced and application performance is improved by performing related processing tasks. MEC technology is designed to be implemented at mobile base stations or other edge nodes, enabling the flexible and rapid deployment of new applications and services for customers.
[0003] Meanwhile, the rapid advancement of mobile communication technology has enabled ultra-high-speed data transmission, leading to an explosive increase in the usage of various applications such as video streaming, cloud services, and social media. Although the introduction of 5G networks has made ultra-low latency and high-capacity data transmission possible, network infrastructure is still struggling to meet the rapidly increasing demand.
[0004] To mitigate these difficulties, utilizing MEC allows clients to reduce latency by rapidly receiving data from MEC caches located relatively closer than the server, and reduces backhaul link usage by selectively caching frequently requested data. However, since cache storage space is limited, research related to caches, such as optimal cache size, cache replacement algorithms, and cache locations, is crucial.
[0005] Representative examples of existing cache replacement algorithms include LRU (Least Recently Used), LFU (Least Frequently Used), and FIFO (First In First Out). LRU is an algorithm that stores access times along with data caching; when the cache is full and data deletion is required during replacement, it deletes the data that has not been accessed for the longest time and caches new data. In contrast, LFU is an algorithm that stores access frequency along with data caching; when deleting data within the cache, it deletes the data with the lowest usage frequency first and caches new data. FIFO is a cache algorithm in the form of a Queue data structure that deletes the data that was cached first.
[0006] An example of a technology related to such cache replacement is disclosed in the following patent documents 1 to 3, etc.
[0007] For example, the user similarity-based content distribution system of the following patent document 1 (Republic of Korea Registered Patent Publication No. 10-2367568 (registered on February 22, 2022)) includes a cache module in which data is stored, a local memory in which some data from the cloud is stored, an availability probability calculation unit that calculates an availability probability using access information for each of the data stored in the cache module, and a cache replacement control unit that, upon receiving search target data from a user terminal, checks whether the search target data is stored in the cache module in advance, and, depending on the result of the check, updates the availability probability of each of the data stored in the cache module or deletes specific data in the cache module and then updates the cache module using the data stored in the local memory.
[0008] A cache file management method for content fragment caching disclosed in Patent Document 2 (Korean Published Patent Application No. 10-2022-0078244 (published June 10, 2022)) comprises the steps of: grouping chunk-unit cache files stored in a cache storage into media file units; determining kick-out candidates among the grouped cache files based on the global ranking of the media files; determining final kick-out targets based on LRU information for the cache files determined as kick-out candidates; and deleting the cache files determined as final kick-out targets from the cache storage.
[0009] The following patent document 3 (Republic of Korea Registered Patent Publication No. 10-2328849 (Registered on Nov. 16, 2021)) relates to a cache replacement method executed in a cache replacement device, comprising the steps of: calculating an availability probability using access information for each piece of data stored in a cache module; sorting the data according to the calculated availability probability and storing it in the cache module; when search target data is received from a user terminal, checking whether the search target data is already stored in the cache module; if the search target data is already stored in the cache module as a result of the check, recalculating the availability probability for each piece of data stored in the cache module; and deleting the data having the lowest availability probability among the recalculated availability probabilities.
[0010]
[0011] The technology disclosed in Patent Document 1 as described above discloses a cache replacement method that stores some of the cloud data in local memory to enable data retrieval without communication with the cloud even when there is no data in the cache module. However, it does not disclose a technology that deletes data in the cache by considering not only the frequency of use but also the duration of caching in the cache, and simultaneously considers the importance of the data and space efficiency within the cache by adding the currently available cache size as a condition.
[0012] The technology disclosed in Patent Document 2 discloses a method for deleting data in a cache when the capacity of the current cache storage is full, but it does not disclose a mixed-resolution video streaming method that uses a caching method such as additional Aging Masking when deleting data in a cache and caching new data, and divides the data into high resolution and low resolution for transmission.
[0013] The technology disclosed in Patent Document 3 discloses a method for deleting data having the lowest availability probability by recalculating the availability probability of each data stored in a cache module according to availability probability, but does not disclose a technology that includes an aging masking caching method and an FFLRU deletion method, and considers the current cache free space, data request frequency, and cached period.
[0014] Accordingly, the objective of the present invention is to solve the problems described above by providing a mobile edge computing system and method using an adaptive caching algorithm that, when a cache miss occurs in the MEC cache in response to a client's data request, receives the requested data from the server and replaces the cache by considering the available space in the MEC cache, the frequency of data requests in the window size, and the cached period.
[0015] Another objective of the present invention is to provide a mobile edge computing system and method using an adaptive caching algorithm that can increase the cache hit rate for large amounts of data requested by a client even when the cache size is set small by performing MEC caching by applying an aging masking caching method and an FFLRU deletion method.
[0016] Another objective of the present invention is to provide a mobile edge computing system and method using an adaptive caching algorithm that can improve the efficiency of MEC cache memory even when the cache window size is reduced compared to the prior art.
[0017] To achieve the above objective, a mobile edge computing system using an adaptive caching algorithm according to an embodiment of the present invention comprises: at least one client that transmits and receives data; a MEC server that transmits the request data to the client if the request data is data stored in the MEC cache, and transmits the data request from the client to a management server if the request data is not data stored in the MEC cache; a base station that manages at least one MEC server; and a management server that transmits the request data from the MEC server to the client and the MEC server. The MEC server caches the data transmitted from the management server, wherein if the data stored in the MEC cache is determined to be important and the space in the MEC cache is insufficient, the priority of the transmitted data is downgraded and the data is cached in the MEC cache after securing sufficient storage space to store the data.
[0018] In addition, according to a mobile edge computing system using an adaptive caching algorithm according to an embodiment of the present invention, the MEC server determines the data stored in the MEC cache as important data if the number of times at least one data is requested by the client within a certain time range among the data stored in the MEC cache is greater than or equal to a reference value according to the [mathematical formula] below.
[0019] [Mathematical Formula]
[0020]
[0021] (data(t): data in cache, t0: current time, λ: window size)
[0022]
[0023] In addition, according to a mobile edge computing system using an adaptive caching algorithm according to an embodiment of the present invention, if the reference value exceeds at least one requested number, it is determined that the importance of the data stored in the MEC cache is low, and the requested data is cached in the MEC cache.
[0024] In addition, according to a mobile edge computing system using an adaptive caching algorithm according to an embodiment of the present invention, priority demotion is characterized by lowering the priority of data that was requested earlier than the oldest data among at least one data with the fewest number of requests stored in the MEC cache.
[0025] In addition, according to a mobile edge computing system using an adaptive caching algorithm according to an embodiment of the present invention, the importance of the data stored in the MEC cache is determined by comparing the number of requests for data within a window size, which is a certain time prior to the time for caching the requested data, with a reference value, and the target criterion for priority downgrade is the previously requested time of all data stored in the MEC cache.
[0026] In addition, according to a mobile edge computing system using an adaptive caching algorithm according to an embodiment of the present invention, if the space of the MEC cache is insufficient, the space of the MEC cache is secured by the FFLRU (Frequency Filtered Least Recently Used) method so that sufficient storage space is provided to store the requested data.
[0027] To achieve the above objective, a mobile edge computing method using an adaptive caching algorithm according to an embodiment of the present invention is a mobile edge computing method using an adaptive caching algorithm in a large-capacity data transmission network environment, characterized by comprising: a) receiving client request data not stored in a MEC server from a management server; b) comparing the number of requests for data within a certain period among at least one data in the MEC cache of the MEC server with a reference value; c) if the number of requests for at least one data stored in the MEC cache during a certain period is greater than or equal to the reference value in step b), determining the data stored in the MEC cache as important data; and d) if there is insufficient space to store the requested data, caching the data transmitted from the management server by lowering its priority after securing the storage space.
[0028] In addition, according to the mobile edge computing method using an adaptive caching algorithm according to an embodiment of the present invention, step d) is characterized by including caching by demoting the priority of the data that was requested earlier than the oldest data among at least one data that is stored in the MEC cache and has the fewest number of requests.
[0029] In addition, according to a mobile edge computing method using an adaptive caching algorithm according to an embodiment of the present invention, step d) is characterized by including: d-1) a step of determining whether the space of the MEC cache is sufficient to store data received from the management server; and d-2) a step of performing an FFLRU (Frequency Filtered Least Recently Used) method so that if the space of the MEC cache is insufficient, sufficient storage space is provided to store the requested data.
[0030] In addition, according to a mobile edge computing method using an adaptive caching algorithm according to an embodiment of the present invention, if the reference value in step b) exceeds the number of requests for each data during a certain period of time, the method is characterized by including: a step of determining whether the space of the MEC cache is sufficient to cache data received from the management server; and if the space of the MEC cache is insufficient, a step of performing an FFLRU method to provide sufficient storage space to store the requested data.
[0031] In addition, according to a mobile edge computing method using an adaptive caching algorithm according to an embodiment of the present invention, the client is a device for 360-degree video streaming, and the management server stores video data having a first resolution and video data having a second resolution higher than the first resolution in order to transmit requested video data from the MEC server to the client and the MEC server, and the MEC server stores at least some of the data of the video data of the first resolution and at least some of the data of the video data of the second resolution in the MEC cache.
[0032] In addition, according to a mobile edge computing method using an adaptive caching algorithm according to an embodiment of the present invention, the device renders the received video data of the first resolution and the video data of the second resolution, thereby outputting at least one tile for each of the tiled frames at the second resolution.
[0033] To achieve the above objective, a mobile edge computing system using an adaptive caching algorithm according to another embodiment of the present invention comprises: at least one client transmitting and receiving data for 360-degree video streaming; a MEC server that, for a data request received from the client, transmits the request data to the client if the request data is data stored in the MEC cache, and transmits the data request from the client to a management server if the request data is not data stored in the MEC cache; and a base station managing at least one MEC server. The method comprises transmitting request data from the MEC server to the client and the MEC server, and including a management server having video data having a first resolution and video data having a second resolution higher than the first resolution, such that for a single video data, the resolutions are different. The MEC server stores at least some of the data of the video data of the first resolution and at least some of the data of the video data of the second resolution in the MEC cache, and caches data transmitted from the management server. If the data stored in the MEC cache is determined to be important and the space in the MEC cache is insufficient, the method is characterized by securing sufficient storage space to store the data, then lowering the priority of the transmitted data and caching it in the MEC cache.
[0034] In addition, according to a mobile edge computing system using an adaptive caching algorithm according to another embodiment of the present invention, the management server divides the video data into segments, wherein each of the plurality of frames constituting the segment is tiled into a plurality of tiles, and is characterized by storing tiling information data in one frame and data corresponding to each tile together.
[0035] In addition, according to a mobile edge computing system using an adaptive caching algorithm according to another embodiment of the present invention, the client is a device capable of rendering 360-degree video streaming data, and the device is characterized by rendering the received video data of the first resolution and the video data of the second resolution, thereby rendering at least one tile for each of the tiled frames at the second resolution and outputting it.
[0036] In addition, according to a mobile edge computing system using an adaptive caching algorithm according to another embodiment of the present invention, the MEC server determines the data stored in the MEC cache as important data if the number of requests for a certain period of time among at least one 360-degree video data stored in the MEC cache is greater than or equal to a reference value.
[0037] In addition, according to a mobile edge computing system using an adaptive caching algorithm according to another embodiment of the present invention, if the reference value exceeds the number of requests for each data within a certain period of time, it is determined that the importance of the video data stored in the MEC cache is low, and the requested video data is cached in the MEC cache.
[0038] In addition, according to a mobile edge computing system using an adaptive caching algorithm according to another embodiment of the present invention, priority demotion is characterized by lowering the priority of the oldest video data among at least one video data stored in the MEC cache that has the fewest number of requests.
[0039] In addition, according to a mobile edge computing system using an adaptive caching algorithm according to another embodiment of the present invention, the importance of the data stored in the MEC cache is determined by comparing the number of requests for data within a window size, which is a certain time prior to the time for caching the requested data, with a reference value, and the target criterion for priority downgrade is the previously requested time of all data stored in the MEC cache.
[0040] In addition, according to a mobile edge computing system using an adaptive caching algorithm according to another embodiment of the present invention, if the space of the MEC cache is insufficient, the space of the MEC cache is secured by the FFLRU method so that sufficient storage space is provided to store the requested video data.
[0041] As described above, according to the mobile edge computing system and method using an adaptive caching algorithm according to the present invention, when a cache miss occurs in the MEC cache in response to a client's data request, the requested data is received from the server, and the cache can be replaced by considering the free space of the MEC cache, the frequency of data requests in the window size, and the cached period.
[0042] In addition, according to the mobile edge computing system and method using an adaptive caching algorithm according to the present invention, by performing MEC caching by applying an aging masking caching method and an FFLRU deletion method, the effect of increasing the cache hit rate for large-capacity data requested by a client is obtained even when the cache size is set to a small size.
[0043] In addition, according to the mobile edge computing system and method using an adaptive caching algorithm according to the present invention, the effect of improving the efficiency of the MEC cache memory is obtained even if the window size of the cache is reduced compared to the prior art.
[0044] In addition, according to the mobile edge computing system and method using the adaptive caching algorithm according to the present invention, the effect of being able to flexibly respond to the client's data request pattern in a system where real-time data, such as 360-degree video streaming where the user's FoV (Field of View) is constantly changing, must be transmitted quickly is obtained.
[0045] FIGS. 1a and FIGS. 1b are block diagrams schematically showing a data transmission system according to an embodiment of the present invention.
[0046] FIG. 2 is a flowchart showing a data transmission method according to an embodiment of the present invention.
[0047] FIG. 3 is a flowchart showing a conditional priority demotion (CPD) algorithm according to an embodiment of the present invention.
[0048] Figure 4 is a diagram showing pseudocode to explain the operation of the priority demotion algorithm of Figure 3.
[0049] Figure 5 is pseudocode for explaining the operating principle of FFLRU as a method for deleting a cache according to an embodiment of the present invention.
[0050] FIG. 6 is a diagram showing the system configuration for video streaming of a VR device according to an experimental example of the present invention.
[0051] Figure 7 is a diagram showing the system architecture applied to an experimental example of the present invention.
[0052] Figure 8 is a diagram showing the field of view (FOV) of a VR device in general.
[0053] FIG. 9 is a schematic diagram of watching video streaming data using a VR device according to an experimental example of the present invention.
[0054] Figure 10 is a diagram showing cache performance results by cache algorithm according to an experimental example of the present invention.
[0055] Figure 11 is a diagram showing a comparison of the window sizes of VIE and CPD according to an experimental example of the present invention.
[0056] FIG. 12 is a drawing showing an example of tiling each segment according to an experimental example of the present invention.
[0057] FIG. 13 is a drawing showing an example of reproducing some tiles of a combined segment through rendering according to an experimental example of the present invention.
[0058] FIG. 14 is a drawing showing the result of tiling according to an experimental example of the present invention.
[0059] FIG. 15 is a diagram showing the result of converting UV text coordinates to pixel coordinates according to an experimental example of the present invention.
[0060] FIG. 16 is a diagram showing the tile ID assignment results according to the X and Y ranges according to an experimental example of the present invention.
[0061] Figure 17 is a graph showing the FoV of all users in one segment obtained through data preprocessing according to an experimental example of the present invention.
[0062] Figure 18 is a graph showing the viewing density of all users obtained through a data preprocessing process for a specific video according to an experimental example of the present invention.
[0063] The above and other objects and novel features of the present invention will become more apparent from the description in this specification and the accompanying drawings.
[0064] In the description of the invention, when a part is described as "comprising" a certain component, this means that, unless specifically stated otherwise, it does not exclude other components but may include additional components.
[0065] According to one embodiment of the present disclosure, a ‘module’ or ‘part’ may be implemented as a processor and memory. The term ‘processor’ should be broadly interpreted to include a general-purpose processor, a central processing unit (CPU), a microprocessor, a digital signal processor (DSP), a controller, a microcontroller, a state machine, etc. In some environments, the term ‘processor’ may refer to an application-specific integrated circuit (ASIC), a programmable logic device (PLD), a field programmable gate array (FPGA), etc. The term ‘processor’ may also refer to a combination of processing devices, such as, for example, a combination of a DSP and a microprocessor, a combination of multiple microprocessors, a combination of one or more microprocessors combined with a DSP core, or any other combination of such configurations. Additionally, the term ‘memory’ should be broadly interpreted to include any electronic component capable of storing electronic information. 'Memory' may refer to various types of processor-readable media, such as Random Access Memory (RAM), Read-Only Memory (ROM), Non-Volatile Random Access Memory (NVRAM), Programmable Read-Only Memory (PROM), Erasable-Programmable Read-Only Memory (EPROM), Electrically Erasable PROM (EEPROM), Flash Memory, Magnetic or Marked Data Storage Devices, Registers, etc. If a processor can read information from memory and / or write information to memory, the memory is said to be in an electronic communication state with the processor. Memory integrated into a processor is in an electronic communication state with the processor.
[0066] As used in the present invention, 360-degree video may be a video of a real environment, a video of a virtual environment based on computer graphics, or a video that combines a real environment and a virtual environment. 360-degree video may be used to represent an azimuth of 360 degrees and 180 degrees from nadir to zenith, and may be surround video, immersive videos, or spherical videos.
[0067]
[0068] Hereinafter, an embodiment according to the present invention will be described with reference to the drawings.
[0069] FIGS. 1a and FIGS. 1b are block diagrams schematically showing a data transmission system according to an embodiment of the present invention.
[0070] Referring to FIGS. 1a and 1b, the mobile edge computing system (100) includes a management server (200), an MEC server (300), and a client (400).
[0071] The above management server (200) can be connected to a base station (310) via a backhaul link and stores original data requested by the MEC server (300) and the client.
[0072] The MEC server (300) provides a network environment that can reduce data processing time by transmitting data requested by a client (400) to an area close to the base station (310). The MEC server (300) may be configured as a plurality within an area controlled by the management server (200) and can exchange data with clients within an area allocated to the base station (310). Additionally, the MEC server (300) can reduce the load on the management server (200) by reducing end-to-end transmission delays and distributing backhaul traffic by storing services or content in the MEC cache (320) on the computing and storage resources of the base station (310) adjacent to the client (400).
[0073] Since the above MEC server (300) operates as an edge server near the base station (310), it can provide services tailored to the characteristics of the region and provide a data storage environment tailored to the characteristics of the base station (310). The above MEC server (300) has the advantage of improving service flexibility by providing content without going through a backhaul network.
[0074] The above client (400) may include mobile devices such as 5G terminals and IoT devices that are wirelessly connected to a base station (310) to exchange data. Additionally, the above client (400) may be a device capable of receiving virtual reality (VR) or mixed reality (MR) services, such as video streaming, and may include an autonomous vehicle, drone, or robot capable of receiving requested data from the MEC cache (320) through communication with the base station (310).
[0075] The client (400) transmits a data request signal to the MEC server (300), and if the requested data is a cache hit stored in the MEC cache (320) of the MEC server (300), the client (400) receives the requested data from the MEC server (300). If the requested data from the client (400) is a cache miss not stored in the MEC cache (320), the MEC server (300) transmits a data request signal to the client (400) to the management server (200), and the management server (200) provides the corresponding data to the MEC server (300) and the client (400). In this case, the MEC server (300) can check whether the client (400)'s request data is stored in the MEC cache (320) through the data verification unit (330), check the importance of the data already stored in the MEC cache (320) through the importance verification unit (340), and check whether there is sufficient storage space in the MEC cache (320) through the free space verification unit (350).
[0076] Meanwhile, the above cache hit ratio can be used as a performance indicator for a cache replacement algorithm, and the cache hit ratio can be calculated as shown in [Equation 1] below through the number of cache requests relative to the number of cache hits.
[0077]
[0078]
[0079]
[0080] The MEC server (300) has a process for caching data provided by the management server (200) in the event of a cache miss. The process performs caching through a Conditional Priority Demotion (CPD) algorithm. The MEC server (300) can check the importance of the data stored in the cache and check if there is free storage space in the MEC cache (320). The MEC server (300) can store the data received from the management server (200) in the MEC cache (320) by degrading its priority through an Aging Masking method, and can store the data after deleting unimportant data in the MEC cache (320) through an FFLRU method. In this case, if there are multiple data items with a small number of requests, the data can be deleted through a Least Recently Used (LRU) algorithm that deletes the data accessed the longest time ago among the cached data.
[0081] The MEC server (300) determines that the data stored in the MEC cache (320) is important data if the number of requests for at least one piece of data from a client (400) within a certain period of time (window size) exceeds a threshold value. Additionally, if the threshold value exceeds the number of requests for each piece of data within a certain period of time from the client (400), the MEC server (300) determines that the data stored in the MEC cache (320) is of low importance and caches the requested data in the MEC cache (320). The request frequency of data within the MEC cache (320) considers only requests included up to a certain period prior to the current time, and the certain period can be defined as the window size.
[0082] For example, as shown in [Table 1] below, the number of requests for data A stored in the MEC cache (320) is 4, the number of requests for data B is 3, and the number of requests for data C and D is 1 each. If the window size and reference value are set to 240 seconds and 3, respectively, and the current time for cache replacement is set to 2024.11.4, 15:16:30, then the number of requests for data A within the window size (4) is greater than the reference value 3, so the data stored in the MEC cache (320) can be judged to have high importance. Conversely, if the reference value is 10, the number of requests for each of data A to C is less than the reference value, so the data stored in the MEC cache (320) is judged to have low importance. In this case, data D is outside the window size, so it is not included in the comparison with the reference value.
[0083]
[0084] Category Number of Requests Time Last Requested A4 2024.11.4, 15:14:00 B3 2024.11.4, 15:14:50 C1 2024.11.4, 15:16:00 D 1 2024.11.4, 15:07:00
[0085]
[0086] When caching data using a priority demotion algorithm, the MEC server (300) stores the data in the MEC cache (320) by demotioning its priority to that of the oldest data among at least one data with the fewest requests in the MEC cache (320).
[0087] Referring to [Table 1], the request count for data C and data D in the MEC cache (320) is 1 time each, but since the requested time is older for data D than for data C, the request data from the client (400) transmitted from the management server (200) to the MEC server (300) is stored with a lower priority because it was requested earlier than data D. The MEC server (300) determines that the importance of data A, B, C, and D already stored in the MEC cache (320) is higher than the data to be stored, and therefore there is a high probability that the client (400) will request it in the future.
[0088] In other words, the importance of the data stored in the MEC cache (320) is determined by comparing the number of requests for data within a window size, which is a certain time prior to the point of caching the requested data, with a reference value, and the target criterion for priority downgrade is the previously requested time of all data stored in the MEC cache (320).
[0089] The above priority demotion is performed by the Aging Masking Method. Priority demotion is a caching method that imposes a penalty so that data to be stored is prioritized for deletion by the FFLRU or LRU method when data is deleted in the future, because the data to be stored is judged to be relatively less important.
[0090] Accordingly, the MEC server (300) lowers the priority of the data transmitted from the management server (200) and stores it in the MEC cache (320), thereby enabling it to be deleted preferentially in the future by the FFLRU method.
[0091] If the MEC server (300) determines through the free space check unit (350) that the space of the MEC cache (320) is insufficient, it secures space in the MEC cache (320) by the FFLRU (Frequency Filtered Least Recently Used) method so that sufficient storage space is provided to store the requested data. The FFLRU method is a method of deleting the data requested the longest time ago among the data with the fewest requests within the MEC cache (320). For example, among the data C and D with the fewest requests in [Table 1], the data D requested the longest time ago is deleted, and if space in the MEC cache (320) is secured, data transmitted from the management server (200) can be stored.
[0092]
[0093] Next, with reference to FIGS. 2 to 5, a mobile edge computing method using an adaptive caching algorithm according to an embodiment of the present invention will be described.
[0094] FIG. 2 is a flowchart showing a data transmission method according to an embodiment of the present invention, FIG. 3 is a flowchart showing a conditional priority demotion (CPD) algorithm according to an embodiment of the present invention, and FIG. 4 is a diagram showing pseudocode for explaining the operation of the priority demotion algorithm of FIG. 3. FIG. 5 is pseudocode for explaining the operating principle of FFLRU as a method for clearing a cache according to an embodiment of the present invention.
[0095] Referring to FIG. 2, a mobile edge computing method according to an embodiment of the present invention includes a client (400) requesting data from an MEC server (300) (S200). The client (400) may include a mobile device, such as a 5G terminal or an IoT device, that is wirelessly connected to a base station (310) to exchange data. Additionally, the client (400) may be a device capable of receiving virtual reality (VR) or mixed reality (MR) services, such as video streaming, and may include an autonomous vehicle, a drone, or a robot capable of receiving requested data from an MEC cache (320) through communication with a base station (310). In one embodiment of the present invention, the client (400) may be a VR device capable of transmitting, receiving, and outputting 360-degree video streaming data.
[0096] When the client (400) requests data from the MEC server (300), the MEC server checks through the data verification unit (330) whether the requested data from the client (400) is data stored in the MEC cache (320) (S210). In step (S210), if the data requested by the client (400) is in the MEC cache (320), the MEC server (300) transmits the data in the MEC cache (320) to the client (400) (S220), and the client (400) receives the requested data and provides it to the user by outputting it (S230).
[0097] Meanwhile, if the MEC server (300) determines through the data verification unit (330) that the data requested by the client (400) is not stored in the MEC cache (320), the MEC server (300) transmits the client's (400) data request to the management server (200) (S240). The management server (200), having received the data request information from the MEC server (300), transmits the request data to the MEC server (300) and the client (400) (S250). The client (400) receives the request data transmitted from the management server (200) (S260), and the MEC server (300) performs a procedure to cache the data in the MEC cache (320) according to the CPD algorithm (S270). The CPD algorithm is useful in the case of a cache miss and performs a cache replacement method based on the number of times the data in the MEC cache (320) has been requested and the current available cache size condition. Accordingly, the MEC server (300) is capable of adaptively caching data according to the type of request data of the client (400), region, and user preference.
[0098] The operation flow of the CPD algorithm is explained in more detail below.
[0099] Referring to FIGS. 4 to 6, the CPD method includes receiving request data from a client (400) that is not stored in the MEC server (300) in a large-capacity data transmission network environment from a management server (200) (S300). The step (S300) occurs in a cache miss situation where the request data from the client (400) is not stored in the MEC cache (320).
[0100] The management server (200) may store the same video by separating it into video data having a first resolution and video data having a second resolution higher than the first resolution, in order to transmit requested video data from the MEC server (300) to the client (400) and the MEC server (300). The MEC server (300) may store at least some of the data of the video data of the first resolution and at least some of the data of the video data of the second resolution in the MEC cache (320).
[0101] In this case, the client (400) may be a device for large-capacity 360-degree video streaming, and may be a device that outputs at least one tile at the second resolution for each tiled frame by rendering received video data of the first resolution and video data of the second resolution.
[0102] After the above step (S300), the number of request history from the client (400) and the reference value (η) are compared (S310) among at least one piece of data in the MEC cache (320) of the MEC server (300). The number of request history includes only the number of times that are included in a window size (λ), which is a certain period at the time of receiving and caching data from the management server (200). The window size may include some of the data within the storage capacity of the MEC cache (320) that stores a portion of the original data stored in the management server (200), and may be selected within a range, for example, within 90 seconds, prior to the time of caching the data received from the management server (200) in the event of a cache miss. The reference value may change depending on the change in the data stored in the MEC cache (320) and may be determined through reinforcement learning or other learning algorithms.
[0103] In the above step (S310), if the reference value (η) exceeds the number of requests for each piece of data during the window size, it is determined whether the space of the MEC cache (320) is sufficient to cache the data received from the management server (200) (S320). That is, if the number of requests during the window size exceeds the reference value (η), it is determined that the importance of the data in the MEC cache (320) is low, and the next step is performed. The above step (S310) can be determined by the following [Equation 2].
[0104]
[0105] (data(t): data in cache, t0: current time, λ: window size, if data(t) is 1, it means data was requested at time t, and if the value is 0, it means data was not requested at time t)
[0106]
[0107] In the above step (S320), if there is insufficient free space in the MEC cache, the FFLRU method is performed to delete data stored in the MEC cache (320) and to provide sufficient storage space to store the client (400)'s request data received from the management server (200), and the data received from the management server (200) is stored in the MEC cache (320) (S330)(S340). The FFLRU method has an algorithm that deletes the data requested the longest time ago among the data with the fewest requests within the MEC cache (320). For example, among the C data and D data with the fewest requests in [Table 1], the D data requested the longest time ago is deleted, and if space in the MEC cache (320) is secured, the data transmitted from the management server (200) can be stored.
[0108] In the above step (S310), if the number of times at least one piece of data stored in the MEC cache (320) is requested for a certain period (window size) is greater than or equal to a reference value, the data stored in the MEC cache (320) is determined to be important data, and it is checked whether there is free space in the MEC cache (320) (S350). If there is sufficient storage space, the request data of the client (400) transmitted from the management server (200) is stored in the MEC cache (320) (S360).
[0109] In the above step (S350), if the free space of the MEC cache (320) is insufficient, the FFLRU method is performed to delete some data stored in the MEC cache (320) so that sufficient storage space is provided to store the requested data (S370), the free space of the MEC cache (320) is checked again (S380), and a procedure is performed to cache the data transmitted from the management server (200) by lowering its priority (S390). The above procedure is performed by lowering the priority of the data that was requested earlier than the oldest data among at least one data stored in the MEC cache (320) with the fewest number of requests. In this case, the deletion of data using the FFLRU method is performed until there is sufficient capacity to store the transmitted data.
[0110] The meaning and description of the variables used in the pseudocode shown in Figures 4 and 5 are explained in detail in [Table 2] below.
[0111]
[0112]
[0113]
[0114] Experimental example
[0115] FIG. 6 is a diagram showing the system configuration for video streaming of a VR device according to an experimental example of the present invention, and FIG. 7 is a diagram showing the system architecture applied to an experimental example of the present invention. FIG. 8 is a diagram showing the field of view (FOV) of a VR device in general, and FIG. 9 is a schematic diagram of viewing video streaming data using a VR device according to an experimental example of the present invention. FIG. 10 is a diagram showing cache performance results by cache algorithm according to an experimental example of the present invention, and FIG. 11 is a diagram showing a comparison of the window sizes of VIE and CPD according to an experimental example of the present invention.
[0116] FIG. 12 is a diagram showing an example of tiling each segment according to an experimental example of the present invention, FIG. 13 is a diagram showing an example of playing some tiles of a combined segment through rendering according to an experimental example of the present invention, FIG. 14 is a diagram showing the result of tiling according to an experimental example of the present invention. FIG. 15 is a diagram showing the result of converting from UV text coordinates to pixel coordinates according to an experimental example of the present invention, FIG. 16 is a diagram showing the result of assigning tile IDs according to X and Y ranges according to an experimental example of the present invention. FIG. 17 is a graph showing the FoV of all users in a single segment obtained through data preprocessing according to an experimental example of the present invention, FIG. 18 is a graph showing the viewing density of all users obtained through a data preprocessing process for a specific video according to an experimental example of the present invention.
[0117] Referring to FIGS. 6 and 7, a mobile edge computing system using an adaptive caching algorithm in a data transmission network environment for tile-based 360-degree video streaming includes at least one client (400) for transmitting and receiving data for 360-degree video streaming, a management server (200), a base station (310), an MEC server (300), and a core network (360).
[0118] The management server (200) stores the original video in various resolutions, and upon receiving a request for data transmission from the MEC server (300), transmits the requested data to the MEC server (300) and the client (400) through a base station (310) connected to a core network (360) connected via an internet link. In this case, the base station (310) is connected to the core network (360) via a backhaul link to exchange data.
[0119] The management server (200) stores video data having a first resolution and video data having a second resolution higher than the first resolution together for a single video data being stored. In addition, the management server (200) divides the video data into segments, and each of the multiple frames constituting the segment is tiled into multiple tiles, and stores tiling information data in one frame and data corresponding to each tile together. In this experimental example, the management server (200) uses the video conversion program ffmpeg to tile each segment of the 360-degree video into 4×4 tiles, and generates and stores 16 tiles for each segment. An experimental example of tiling segments into 4×4 tiles is illustrated in FIG. 12.
[0120] The client (400) may be a VR device or apparatus capable of playing 360-degree video streaming to a user. The client (400) requests data for 360-degree video streaming from the MEC server (300) via the base station (310), and the requested data is provided to the client (400) from the management server (200) or the MEC server (300). For example, the client (400) plays the data for viewing by the user through a rendering process that involves decompression of the data, identification of image quality and tiles through an MPD parser, and combining the tiles to form a single video. In this case, the client (400) may record the FoV of the video being watched by the user and transmit it to the MEC server (300).
[0121] The client (400) may receive tiling data for 360-degree video streaming from the management server (200) and the MEC server (300), or, if there is no request data stored in the MEC server (300), receive request data from the management server (200). In this case, the client (400) may receive video data of a first resolution and video data of a second resolution having a higher resolution than the first resolution, perform decompression, parsing, and rendering procedures, and for each of the tiled frames, at least one tile may be rendered and output at the second resolution. FIG. 13 shows an example of playing some tiles of a combined segment through rendering according to an experimental example of the present invention.
[0122] The MEC server (300) receives a data request for 360-degree video streaming from a client (400). If the request data is data stored in the MEC cache (320), the MEC server (300) transmits the request data to the client. If the request data is not data stored in the MEC cache (320), the MEC server (300) transmits the data request from the client (400) to the management server (200).
[0123] The MEC server (300) stores at least some of the video data of the first resolution and at least some of the video data of the second resolution in the MEC cache (320). The MEC server (300) reduces the traffic burden of the backhaul link and, depending on the size and importance of the video, may store only the video data of the second resolution, or may store a portion of the video data of the first resolution together with the video data of the second resolution.
[0124] For example, the MEC cache (320) may store all video data of the first resolution of low quality and only a portion of the tiling data of the video data of the second resolution of high quality. As illustrated in FIG. 7, the MEC cache (320) may store low-quality video tiled for all videos stored by the management server (200), and may store only a portion of the 16 tiles tiled in a specific frame as high-quality second resolution data. If the high-quality tile requested by the client (400) is a cache miss that is not stored in the MEC cache (320), the MEC server (300) transmits the request from the client (400) to the management server (200), and the management server (200) transmits the request data to the MEC server (300) and the client (400) regarding the client's (400) request data.
[0125] The MEC server (300) caches data transmitted from the management server (200). If the MEC server (300) determines that the data stored in the MEC cache (320) is important and there is sufficient space in the MEC cache (320), it lowers the priority of the transmitted data and stores it in the MEC cache (320).
[0126] Referring to FIGS. 8 and 9, the field of view (FoV) of a VR device (400) worn by a user is projected onto a two-dimensional image. During the streaming of a 360-degree video (410), the VR device (400) determines the FoV using the coordinates and angles of the X, Y, and Z axes and requests data for this from the MEC server (300). If the requested data is stored in the MEC cache (320), the MEC server (300) transmits it to the VR device (400), and if the data is not stored in the MEC cache (320), the management server (200) transmits it to the VR device (400) and the MEC cache (320).
[0127] In this case, the VR device (400) can determine the user's field of view and, accordingly, render the tiles corresponding to the field of view in the frame corresponding to the field of view at a second resolution, and render the areas outside the field of view in the same frame at a first resolution with a lower resolution than the second resolution, thereby mixing the tiles to provide a 360-degree video (410) streaming service to the user.
[0128] Referring to FIGS. 10 and 11, it was confirmed that by performing caching using the CPD algorithm according to an embodiment of the present invention, the cache hit rate is improved compared to a conventional algorithm in the area where the cache size is 20% or less. In addition, compared to the VIE algorithm, the window size can be formed smaller depending on the cache size, so that the cache capacity of the MEC server can be reduced while still providing rapid service to client requests.
[0129]
[0130] Dataset used in the experiment
[0131] In the experimental example of the present invention, nine 360-degree videos ranging in length from 2 to 11 minutes were used, and 48 users watched the videos. The experiment was divided into Experiment 1, in which the videos were watched freely, and Experiment 2, in which the videos were watched after receiving prior notice that a test would be conducted after watching the videos. The notice in Experiment 2 was intended to prevent users from stopping watching in the middle.
[0132] The data format used was Timestamp, PlaybackTime, UnitQuaternion ((x, y, z, w): represents the rotation of the object in 3D space), and HmdPosition ((x, y, z): the position of the HMD device in Unity 3D space).
[0133]
[0134] Data Preprocessing
[0135] Data preprocessing involved calculating tile IDs using UnitQuaternion, and since viewers watched the 360-degree video while sitting in fixed chairs, the HmdPosition value was calculated as a single value. The frame pixels were 2560×1440, and each frame was tiled 4×4 to assign tile IDs based on the range of X (horizontal) and Y (vertical) values within the frame. The results of assigning tile IDs are illustrated in detail in Fig. 14.
[0136] The formula for calculating the forward vector (or unit vector) through UnitQuaternion is shown in [Equation 3] below, the calculation of the vertical / horizontal angle is shown in [Equation 4], and the mapping to UV texture coordinates and the conversion to pixel coordinates are shown in [Equation 5] and [Equation 6], respectively.
[0137]
[0138]
[0139] (Here, Unit Quaternion (qx, qy, qz, qw): Unit Quaternion of the VR device, Unit Vector (x, y, z): Position of the VR in Unity 3D world space)
[0140]
[0141]
[0142] (PI: Pi)
[0143]
[0144]
[0145]
[0146]
[0147] (round(): rounding function, using 2560×1440(QHD))
[0148]
[0149] The pixel coordinate transformations converted by the above [Equation 3] to [Equation 6] are illustrated in FIG. 15. The coordinates (X', Y')=(700, 400) obtained from [Equation 6] are shown as corresponding to tile 9 in FIG. 16.
[0150]
[0151] Experimental dataset analysis
[0152] Figure 17 shows the FoV of the viewing history of all users (48 people) obtained through data preprocessing at a specific playback time (one segment) of a specific video. Figure 18 shows the viewing density of all users obtained through the data preprocessing process for a specific video. It was confirmed that the preprocessing was successfully performed according to Figures 17 and 18.
[0153]
[0154] Although the invention made by the inventors has been specifically described according to the above embodiments, the present invention is not limited to the above embodiments and can be modified in various ways without departing from the gist thereof.
[0155]
[0156] By using a mobile edge computing system and method utilizing an adaptive caching algorithm according to the present invention, various applications such as video streaming, cloud services, and social media can be provided.
Claims
1. In a mobile edge computing system using an adaptive caching algorithm in a high-volume data transmission network environment, At least one client that transmits and receives data; A MEC server that, for a data request received from the client, transmits the request data to the client if the request data is data stored in the MEC cache, and transmits the data request from the client to a management server if the request data is not data stored in the MEC cache; At least one base station managing the above-mentioned MEC server; and It includes a management server that transmits request data from the MEC server to the client and the MEC server, and The above MEC server is Caching the data transmitted from the above management server, A mobile edge computing system characterized by caching the transmitted data in the MEC cache after securing sufficient storage space to store the data, if the data stored in the MEC cache is determined to be important and the space in the MEC cache is insufficient.
2. In Paragraph 1, The above MEC server is A mobile edge computing system characterized by determining that the data stored in the MEC cache is important data if the number of times at least one data is requested by the client within a certain time range among the data stored in the MEC cache is greater than or equal to a threshold value according to the [mathematical formula] below. [Mathematical Formula] (data(t): data in cache, t0: current time, λ: window size) 3. In Paragraph 2, A mobile edge computing system characterized by determining that the importance of the data stored in the MEC cache is low when the above threshold value exceeds at least one requested number, and caching the requested data in the MEC cache.
4. In Paragraph 1, The priority downgrade is A mobile edge computing system characterized by lowering the priority of data that was requested earlier than the oldest data among at least one data with the fewest number of requests stored in the above MEC cache.
5. In Paragraph 1, The importance of the data stored in the above MEC cache is, A determination is made by comparing the number of requests for data within a window size, which is a certain time prior to the point in time for caching the above requested data, with a reference value, and A mobile edge computing system characterized in that the target criterion for priority demotion is the previously requested time of all data stored in the MEC cache.
6. In Paragraph 1, If the space in the above MEC cache is insufficient, A mobile edge computing system characterized by securing space in the MEC cache using the FFLRU (Frequency Filtered Least Recently Used) method so that sufficient storage space is provided to store the requested data.
7. In a mobile edge computing method using an adaptive caching algorithm in a high-volume data transmission network environment, a) receiving client request data from the management server that is not stored in the MEC server; b) A step of comparing the number of requests for data within a certain period with a reference value among at least one piece of data in the MEC cache of the MEC server; c) a step of determining that the data stored in the MEC cache is important data if, among at least one data stored in the MEC cache in step b), the number of requests over a certain period is greater than or equal to a threshold value; and d) A mobile edge computing method characterized by including the step of caching the data transmitted from the management server by lowering its priority after securing the storage space, if there is insufficient space to store the requested data.
8. In Paragraph 7, The above step d) is A mobile edge computing method characterized by including caching data stored in the MEC cache with the lowest number of requests, and lowering the priority of the data requested earlier than the oldest data.
9. In Paragraph 7, The above step d) is d-1) a step of determining whether the space of the MEC cache is sufficient to store data received from the management server; and d-2) A mobile edge computing method characterized by including the step of performing an FFLRU (Frequency Filtered Least Recently Used) method so that, if the space of the MEC cache is insufficient, sufficient storage space is provided to store the requested data.
10. In Paragraph 7, If, in step b) above, the threshold value exceeds the number of requests for each piece of data over a certain period of time, a step of determining whether the space of the MEC cache is sufficient to cache the data received from the management server; and A mobile edge computing method characterized by including the step of performing an FFLRU method so that, if the space of the MEC cache is insufficient, sufficient storage space is provided to store the requested data.
11. In Paragraph 7, The above client is a device for 360-degree video streaming, and The above management server stores video data having a first resolution and video data having a second resolution higher than the first resolution in order to transmit requested video data from the MEC server to the client and the MEC server, and A mobile edge computing method characterized in that the MEC server stores at least some of the video data of the first resolution and at least some of the video data of the second resolution in the MEC cache.
12. In Paragraph 11, The above device A mobile edge computing method characterized by rendering received video data of the first resolution and video data of the second resolution, such that for each of the tiled frames, at least one tile is output at the second resolution.
13. In a mobile edge computing system using an adaptive caching algorithm in a data transmission network environment for tile-based 360-degree video streaming, At least one client that transmits and receives data for 360-degree video streaming; A MEC server that, for a data request received from the client, transmits the request data to the client if the request data is data stored in the MEC cache, and transmits the data request from the client to a management server if the request data is not data stored in the MEC cache; At least one base station managing the above-mentioned MEC server; and The system includes a management server that transmits request data from the MEC server to the client and the MEC server, and has video data having a first resolution and video data having a second resolution higher than the first resolution, so that they have different resolutions for a single video data. The above MEC server is At least some of the video data of the first resolution and at least some of the video data of the second resolution are stored in the MEC cache, and Caching the data transmitted from the above management server, A mobile edge computing system characterized by caching the transmitted data in the MEC cache after securing sufficient storage space to store the data, if the data stored in the MEC cache is determined to be important and the space in the MEC cache is insufficient.
14. In Paragraph 13, The above management server is A mobile edge computing system characterized by dividing the above video data into segments, wherein each of the multiple frames constituting the segment is tiled into multiple tiles, and storing tiling information data in one of the above frames and data corresponding to each tile together.
15. In Paragraph 14, The above client is a device capable of rendering 360-degree video streaming data, and A mobile edge computing system characterized by rendering received video data of the first resolution and video data of the second resolution, such that for each of the tiled frames, at least one tile is rendered and output at the second resolution.
16. In Paragraph 13, The above MEC server is A mobile edge computing system characterized by determining that data stored in the MEC cache is important data if the number of requests over a certain period of time among at least one 360-degree video data stored in the MEC cache is greater than or equal to a threshold value.
17. In Paragraph 16, A mobile edge computing system characterized by determining that the importance of the video data stored in the MEC cache is low when the above threshold value exceeds the number of requests for each data within a certain period of time, and caching the requested video data in the MEC cache.
18. In Paragraph 13, The priority downgrade is A mobile edge computing system characterized by lowering the priority of at least one video data stored in the MEC cache that has the fewest requests to a value requested earlier than the oldest video data.
19. In Paragraph 13, The importance of the data stored in the above MEC cache is, A determination is made by comparing the number of requests for data within a window size, which is a certain time prior to the point in time for caching the above requested data, with a reference value, and A mobile edge computing system characterized in that the target criterion for priority demotion is the previously requested time of all data stored in the MEC cache.
20. In Paragraph 13, If the space in the above MEC cache is insufficient, A mobile edge computing system characterized by securing space in the MEC cache by the FFLRU method so that sufficient storage space is provided to store the requested video data.