A CACHE UPDATING SYSTEM AND A METHOD THEREOF

20230004565 · 2023-01-05

Assignee

Inventors

Cpc classification

International classification

Abstract

The present invention relates to an asynchronous cache updating system and a method thereof, wherein the problems of repeatedly retrieving data from the main data source as data in cache systems is deleted after a certain period of time and being able to retrieve cached data only in the second and the subsequent requests are eliminated. The present invention particularly relates to a cache updating system and a method thereof that allows for changing cached data over time without using it and without expecting a request from the user and for updating data stored on the cache systems independently of the validity period of the data.

Claims

1. (canceled)

2. A cache updating method that allows for updating data kept on the cache system (5) independently of the validity period of the data, characterized in that, it comprises the process steps of; reading (100) the configuration file in the cache updating module (6); determining (101) which cache value is updated asynchronously by means of the cache updating module (6); sending (1001) a request to the cache system (5) to pull data from the applications (1); receiving (1002) all data from applications (1) by the application programming interface gateway (2); controlling (1003) whether there is data on the cache system (5) by means of the cache updating module (6); controlling (1004) the validity period of the cache data by means of the cache updating module (6) in case data is detected as a result of the control; retrieving the data, whose validity period is still valid, over the cache system (5) and sending (1005) these to the applications (1); discarding (1006) the expired data from the cache system (5); transmitting (1007) the request to the related microservice (3) in case there is no data on the cache system (5); retrieving (1008) data requested from microservice database (4) by means of the cache updating module (6); transmitting (103) the retrieved updated data to the cache system (5).

3-7. (canceled)

8. A cache updating method according to claim 1, it comprises a deep machine learning model in order to predict the next step of the user.

9. A cache updating method according to claim 1, characterized in that, the analysis method of cache updating module (6) comprises the process steps of; Creating time groups at certain frequencies, Creating sets that indicate the possibility of login of a plurality of users in the system at the respective time in each one of the groups, Determining the probability categories of the created sets, Performing the required caching according to the probability category of the user, Creating similar patterns according to the set of time groups when users with similar profiles use the system and caching the profiles.

10. A cache updating method according to claim 9, characterized in that, the sets of probability categories are very high probability, high probability, moderate probability, low probability, and remote probability.

11. (canceled)

12. A cache updating method according to claim 1, characterized in that, the application (1) can be the Internet of Things (IoT) devices.

13. A cache updating method according to claim 1 or, characterized in that; platforms on which said application (1) runs on are web, mobile, desktop, computer, smart devices, wearable devices.

Description

DESCRIPTION OF THE FIGURES

[0035] FIG. 1; illustrates the elements of the inventive cache updating system.

[0036] FIG. 2; illustrates the flow chart of the operation method of the inventive cache updating system.

REFERENCE NUMERALS

[0037] 1. Application

[0038] 2. Application Programming Interface Gateway

[0039] 3. Microservices

[0040] 4. Microservice Database

[0041] 5. Cache System

[0042] 6. Cache Updating Module [0043] 100. Reading the configuration file in the cache updating module. [0044] 101. Determining which cache value is updated asynchronously by means of the cache updating module. [0045] 102. Retrieving the updated data over related microservice by means of the cache updating module. [0046] 103. Transmitting the retrieved updated data to the cache system. [0047] 1001. Sending a request to the cache system in order to retrieve data from the application. [0048] 1002. Receiving all data incoming from the application by means of the application programming interface gateway. [0049] 1003. Controlling if there is data on the cache system. [0050] 1004. Controlling the validity period of the cached data by means of the cache updating module. [0051] 1005. Sending data with an ongoing validity period to the web application by retrieving the said data over the cache system. [0052] 1006. Discarding the data with an expired validity period from the cache system. [0053] 1007. Transmitting the request to the related microservice in case there is no data on the cache system. [0054] 1008. Retrieving the data requested from the microservice database by means of the cache updating module.

DESCRIPTION OF THE INVENTION

[0055] The necessary information is retrieved from the server and added to the cache (especially when the system is not too busy) by means of predicting the operation to be performed before the system is used by a single user or many users having a certain predicted profile. Thus, asynchronous caching is performed via cache updating module (6) without any user request.

[0056] End-users may use the applications (1) faster and get a quick response since said users can receive the data over the cache system (5) at the initial request they made by means of the inventive system and the method.

[0057] The present invention comprises an application (1), an application programming interface gateway (2), microservices (3), a microservice database (4), a cache system (5), and a cache updating module (6).

[0058] Application (1) allows for displaying data to be retrieved by means of sending HTTP requests to the application programming interface gateway (2). HTTP requests allow for retrieving data from mobile/web applications (1). Said application (1) can work on one of many popular platforms such as web, mobile, desktop, computer, smart device, wearable device, etc. as well as the Internet of Things (IoT) devices.

[0059] The application programming interface gateway (2), also called API Gateway, functions as a bridge between Application (1) and microservices (3). Said API gateway (2) directs the request it is receiving from its applications (1) to the related microservice (3). Application programming interface gateway (2) controls whether the responses of the related requests are available on the cache system (5). The application programming interface gateway (2) ensures that the data is retrieved from the cache system (5) and communicated to the web application in case the data has been previously added to the cache system (5) and its life cycle had not expired.

[0060] Microservices (3) are the service architecture with limited areas of task and responsibility that are capable of performing only one task with all details thereof.

[0061] The microservice database (4) is a database in which the data of microservices (3) are stored. Additionally, there is a main data source. The main data source refers to a medium in which the data is maintained and served. Data on said medium is always up to date.

[0062] Cache System (5) ensures that the data on the cache system is updated by means of the cache updating module (6) by retrieving data over the main source when the system resources are consumed and new data generated at the main source. Thus, the user data that has changed on the main source can always remain up to date on the cache system (5).

[0063] The cache updating module (6) ensures that the data is retrieved from the respective microservice (3) independently of the applications (1) and that the cache system is continuously updated by writing said data on the cache system (5). The cache updating module (6) uses a method while performing the said operations and implements certain process steps during this method.

[0064] These process steps can be summarized as follows; first, the configuration file in the cache updating module (6) is read (100). Cache updating module (6) determines (101) which cache value is updated asynchronously. The updated data is retrieved (102) by means of cache updating module (6) over the relevant microservice (3). Retrieved up-to-date data is transmitted (103) to the cache system (5).

[0065] A set of process steps are also carried out while determining (101) which cache value is updated asynchronously by means of the cache updating module (6) and retrieving (102) updated data over the corresponding microservice (3) by means of the cache updating module (6).

[0066] Herein, a request is sent (1001) to the cache system (5) in order to retrieve data from the applications (1). All data obtained from the application (1) are received (1002) by the application programming interface gateway (2). Cache updating module (6) controls (1003) whether there is data on the cache system (5). In case data is detected as a result of the said controlling operation, the validity period of the cached data is controlled (1004) by means of the cache update module (6). Data with an ongoing validity period is sent (1005) to the application (1) after being retrieved over the cache system (5). Expired data is discarded (1006) from the cache system (5). In case there is no data on the cache system (5) the request is transmitted (1007) to the relevant microservice (3). Data requested from the microservice database (4) is retrieved (1008) by means of the cache updating module (6).

[0067] Data kept over the cache system (5) is deleted once its validity period is expired. Data is added to the cache system (5) after the new requests are being submitted to the server by the users. The cache updating module (6) analyzes those requests and the frequency thereof, and the data is cached without expecting requests from the users. There are two main approaches that are emphasized for the mentioned requests' analysis. These approaches are user-based approach and profile-based approach. The user-based approach involves making deductions for the future based on the predictions that are made on the basis of a user's previous requests, visits made in the application, times of the requests', and the visits'. For instance, the possibility of a user logging in the next Monday is taken into consideration for a user who wishes to learn the remaining data amount in its data plan every Monday via the application.

[0068] The profile-based approach analyzes the requests of the users having certain profiles (age, gender, location, etc.) in the application and makes various predictions. For example, if it is assumed that men between the ages of 18 and 25 living in Istanbul request to learn their “remaining data amount” every morning, said requests will be pre-cached for all of the users that are categorized in this profile.

[0069] The following method and process steps are carried out while the mentioned approaches are applied and analyzed by the cache update module (6). The cache updating module (6) performs caching as a result of the said process steps. Primarily, time groups are created at certain frequencies (for example, one group for every 24 hours). Each group will include 5 different sets. Said sets indicate the possibility of the login of a user at the respective time. Probability classes of the created sets are determined. These sets are classified as very high probability, high probability, moderate probability, low probability, and remote probability. Caching is performed according to the probability class. If it is highly likely for a user to log in at a specific time, then the necessary caching is performed accordingly. Similar patterns are created based on the time group set in which users of similar profiles use the system to be used in the profile-based approach, and the profiles are cached accordingly.

[0070] It is assumed that user activities continue infinitely in user-based approaches. Accordingly, a machine learning model is developed in order to predict the next step of the user. Said model predicts the next step of the user in any case. Model updates itself periodically to predict the next step of the users.

[0071] The present invention provides a solution to problems in which data is required to be retrieved from the main data source as the data in cache systems (5) is deleted after a certain period of time, and cached data may be retrieved in the second and the subsequent requests only. Thus, data can be read over the cache system (5) and the system can respond with high performance.

[0072] The asynchronous cache updating module (6) ensures that the data kept on the cache systems (5) is updated independently of the validity period thereof.

[0073] The inventive system ensures that the traffic to the servers in which the main data is maintained is controlled in a better, more efficient way. The present invention further ensures that servers may run with less hardware even during the periods in which system resources of the said servers are completely consumed since system resources would be used for updating the cache data.