A method for managing a shared cache between multiple applications, devices, and corresponding computer programs.

A shared cache system across UE applications and devices uses AI techniques to manage and update cache data, addressing inefficiencies in existing cache mechanisms by enhancing data retrieval efficiency and user experience.

FR3170765A1Pending Publication Date: 2026-06-26ORANGE SA

Patent Information

Authority / Receiving Office
FR · FR
Patent Type
Applications
Current Assignee / Owner
ORANGE SA
Filing Date
2024-12-20
Publication Date
2026-06-26

AI Technical Summary

Technical Problem

Existing cache mechanisms in user equipment (UE) are limited by excessive storage consumption, confidentiality issues, and limited validity periods, leading to inefficiencies in data processing and user experience.

Method used

A shared cache system across multiple applications and devices within a local network, utilizing artificial intelligence techniques like tokenization and vectorization to manage and update cache data, ensuring flexibility and adaptability, and reducing network reliance.

Benefits of technology

Enhances data retrieval efficiency, reduces resource consumption, and improves user experience by providing localized responses while conserving network resources and ensuring data relevance and confidentiality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

The invention relates to a method for managing a cache of a UE, said cache being shared by a plurality of applications executed by the UE, the method comprising: obtaining, from at least one of said applications, data relating to a first service and being obtained in response to the issuance, by at least one of said applications, of a first request for the provision of the first service, obtaining at least a first vector representing said first request and at least a second vector representing said data relating to the first service, transmitting to another of said applications, data relating to a second service in response to the issuance, by said other application, of a second request for the provision of the second service.The data obtained in response to the second query is obtained by comparing a third vector representing the second query with the first and second vectors. FIGURE FOR ABBREVIATION: Fig. 1,
Need to check novelty before this filing date? Find Prior Art

Description

Title of the invention: Method for managing a shared cache between a plurality of corresponding applications, devices, and computer programs. Technical field

[0001] The invention belongs to the general field of communications, such as, for example, the field of telecommunications.

[0002] It is more particularly relevant in the context of managing temporary data storage mechanisms or "cache".

[0003] The invention more specifically relates to mechanisms aimed at improving the processing of requests issued by user equipment and data obtained in response to these requests. Previous technique

[0004] Internet browsing relies on the rapid and efficient processing of an increasing volume of data, a requirement reinforced by the demand for a smooth and high-performance user experience. This browsing can be carried out using applications run by a user device (UD). Some applications called Internet browsers or "web browsers" are specifically dedicated to collecting data on the Internet.

[0005] These applications, whether or not they are dedicated to collecting data on the Internet, implement mechanisms for optimizing the processing and display of collected data through advanced mechanisms, such as temporary data storage mechanisms or caches.

[0006] An application cache is a local storage space, that is, specific to the UE (User Unit) running the application, which allows downloaded data or resources (such as images, CSS stylesheets, or JavaScript scripts) to be temporarily stored when accessed by a server storing this data. This storage in the UE's cache, or caching, aims to reduce latency, limit bandwidth consumption, and improve data loading times during subsequent requests. It thus enables faster and more efficient data retrieval, while reducing the load on the servers.

[0007] However, although caching mechanisms offer significant advantages in terms of performance and reduced resource consumption, they also have several limitations, including excessive consumption of local storage space, issues related to the confidentiality of sensitive data, a limited validity period for information stored in the cache, and the validity of a Application-level caching, particularly by applications and especially web browsers, highlights the need for optimized and adaptable cache management capable of meeting the diverse needs of users and the constraints of dynamic environments.

[0008] The present invention falls within this context, aiming to propose a solution to improve the management of cache mechanisms. Description of the invention

[0009] To this end, and according to a first aspect, the invention relates to a method for managing temporary data storage, called a cache, of a user equipment (UE) of a local area network connected to a telecommunications network, said cache being shared by a plurality of applications executed by the UE, the method being implemented by the UE and comprising: - obtaining, from at least one of said applications, data relating to a first service, said data being in natural language, and being obtained in response to the transmission, by at least one of said applications, of a first request for the provision of the first service to at least one server belonging to the telecommunications network, - obtaining at least one first representative vector of said first request and at least one second representative vector of said data relating to the first service, - the transmission to another of said applications of data relating to a second service in response to the issuance, by said other application, of a second request for the provision of the second service, the data relating to the second service in response to the second request being obtained by means of a comparison of a third vector representing the second request with the first vector and the second vector

[0010] Correspondingly, the invention relates to an entity of a local communication network attached to a telecommunications network, comprising a temporary data storage, called a cache, said cache being shared by a plurality of applications executed by said entity, said entity comprising: - a data acquisition module configured to obtain, from at least one of said applications, data relating to a first service, said data being in natural language, and being obtained in response to the transmission, by at least one of said applications, of a first request for the provision of the first service, to at least one server belonging to the telecommunications network. - a module configured to obtain at least one first representative vector of said first request and at least one second representative vector of said data relating to the first service, - a transmission module configured to transmit, to another of said applications, data relating to a second service in response to the issuance, by said other application, of a second request for the provision of the second service, the data relating to the second service in response to the second request being obtained by means of a comparison of a third vector representing the second request with the first vector and the second vector.

[0011] The invention relies on the sharing of a single cache among all applications running within the same UE, within a local area network, or within a subnetwork such as a VLAN (Virtual LAN Area Network) or a network slice. Each device on the local network or subnetwork can benefit from the cache data. This cache serves as a local database in which data can be retrieved in response to a service request issued by at least one of the applications running on the UE and / or the devices on the local network. Thus, it is possible to respond to requests even in the absence of connectivity with the telecommunications network and / or to conserve telecommunications network resources while simultaneously providing a response to requests from devices (terminals, PCs, etc.) on a local network.The process also utilizes artificial intelligence techniques, notably tokenization and vectorization, to better respond to service provisioning requests while minimizing cache size and ensuring a response independent of UE and / or local network connectivity. Furthermore, sharing stored data between different applications running on the UE and / or any other equipment within the local network provides greater flexibility for the UE user in using different applications, as the response is not tied to a specific application.

[0012] Another advantage of this method is the ability to reuse data stored in a cache in a shared manner. Indeed, according to the prior art, a cache of an application, such as an internet browser, is only available to that application, and furthermore, the reuse of the data it contains depends on the validity period of that data and is limited to processing requests for the provision of a service, and only for services equivalent to the requested service. Thanks to the object management method of the invention, not only can the cache of an application be used by other applications, including those executed by separate devices, Furthermore, the data stored in the cache can be reused more broadly by means of a comparison function, for example of a semantic type, of the queries made possible by the vectorization of the data, thus making it possible to process requests in provision of a service for services that would not be equivalent to the service required.

[0013] The present solution also makes it possible to reduce the number of messages exchanged with servers belonging to the telecommunications network insofar as, thanks to the cache of the invention, a response to a request issued by the UE can be provided locally by the cache.

[0014] As a reminder, a cache is a temporary data storage mechanism that can be implemented in hardware, software, or a combination of both.

[0015] An application is a program or set of computer programs designed to perform specific tasks for a user or for other software. Applications can be developed to run on different types of devices (computers, smartphones, tablets, connected objects, etc.) and to meet a variety of needs.

[0016] Such applications can operate locally, online (via the Internet), or in a hybrid mode.

[0017] Sharing the cache between several applications makes it possible to represent the overall activity of a user of the UE and thus to centralize all information relating to the latter in order to improve the quality of user experience while reducing the energy consumption of the UE as well as its interactions with other entities belonging to the communication network.

[0018] In particular implementations of the management process, it includes, prior to obtaining the first vector: - minus one label, the same label allowing the groups of words to be grouped by theme, - the transmission of the first plurality of word groups to a vectorization entity belonging to the communication network, - the memorization of a first and a second vector representing respectively the first request and said data relating to the first service in an entry of the cache, the vectors being obtained by applying, to the first plurality of word groups, a vectorization function implemented by the vectorization entity.

[0019] Structuring the data stored in the cache according to themes also improves the use of this data, resulting in the provision of more relevant data relating to a required service, and the possibility of searching for this data in the cache, the ability to determine the habits and interests of the EU user in order to avoid, for example, being confined to a given theme, etc.

[0020] Such themes can cover a variety of fields such as cooking, mathematics, sports in general and / or a specific sport, etc. These themes can be defined by default when the cache is created or by the applications using the cache. These themes can also be defined by the user of the learning environment according to their interests or needs.

[0021] Finally, according to one option, the use of vectorization of data relating to a service and possibly the encryption of the vectors obtained, this data being able to relate to a request for the provision of a service as well as the data collected by the application originating the request in response to the latter, makes it possible to guarantee the confidentiality of the data exchanged between the different entities involved in the processing of said request.

[0022] A vectorization function allows complex objects to be represented as numerical vectors while preserving the essential relationships between these objects. More specifically, this technique relies on transforming data into a vector space, where initial similarities or relationships, such as semantic proximities or logical correspondences, are maintained. For example, in natural language processing, algorithms such as Word2Vec or BERT allow words to be represented in such a way that their semantic relationships are reflected by vector operations.

[0023] In particular implementations of the management process, an entry of said cache comprises: - a validity period for said at least one second vector stored in said entry, - an identifier of the applied vectorization function.

[0024] Data relating to said services, such as URLs or web pages, may change over time or cease to exist. By associating a data validity date with a representative vector, it is possible to keep the cache up to date and thus improve the relevance of the data stored in it.

[0025] In particular implementations of the management process, it further comprises: - the identification of at least one cache entry for which the validity period of said at least one second vector has expired, - obtaining the data relating to the first service represented by said at least one second vector stored in said identified entry, - obtaining an updated version of the data relating to the first service obtained, - the breakdown of the data relating to the first updated service into a second plurality of word groups, each word group being associated with at least one label, the same label allowing the word groups to be grouped by theme, - the transmission of the second plurality of word groups to the vectorization entity, - the memorization, in said identified entry, of at least one fourth representative vector of data relating to the first updated service, the fourth vector being obtained by applying the vectorization function to the second plurality of word groups.

[0026] In particular implementations of the management process, the updating of the vectors stored in the cache is implemented periodically.

[0027] In particular implementations of the management process, the updating of the vectors stored in the cache is implemented thematically.

[0028] Thus, the cache can be updated by theme rather than globally. This reduces the load on the UE, which can then free up resources to perform other actions.

[0029] In particular implementations of the management process, at least a second vector is removed from the cache following the memorization of at least a fourth vector.

[0030] In particular implementations of the management process, when a representative score of the comparison of the third representative vector of the second request with the first vector and the second vector is less than a predetermined threshold, the data relating to the second service obtained in response to the second request are obtained from a data server belonging to the telecommunications network.

[0031] In particular implementations of the management process, when a quality of attachment measure of the local communication network attached to the telecommunications network is greater than a predetermined value, the data relating to the second service obtained in response to the second request are obtained from a data server belonging to the telecommunications network.

[0032] In particular implementations of the management process, it includes: - obtaining, from at least one application, a third request for the provision of a third service, - the segmentation of the third query into a third plurality of word groups, at least one word group being associated with an identifying label a theme to which is associated a number of vectors stored in the cache exceeding a threshold, - the transmission, to the vectorization entity, of the third group of words and a request to modify the value of the weights assigned to at least a fifth vector obtained by applying the vectorization function to the third group of words, the modification of the value of the weights allowing to modify a semantic distance between the at least a fifth vector and the at least second vector and / or the at least a fourth vector.

[0033] By modifying the weights assigned to the vector, it is ensured that the data relating to said service obtained in response to the request is distinct from certain themes for which the cache already contains a substantial volume of data. Furthermore, the data obtained, while not necessarily less relevant, is sufficiently distinct from the data already stored in the cache to prevent the user of the UE from repeatedly encountering the same responses.

[0034] This helps to prevent the EU user from becoming trapped in an ideological bubble and developing a form of digital sedentarism.

[0035] The invention also relates to a gateway comprising an entity according to the invention, said gateway being intended to interface the local communication network with the telecommunications network.

[0036] The invention further relates to a mobile terminal comprising an entity according to the invention, said mobile terminal comprising at least one application adapted to issue a request for the provision of at least one service.

[0037] The invention also relates to a computer program on a recording medium, this program being capable of being implemented in a computer, a mobile terminal, a box conforming to the invention and comprising instructions adapted to the implementation of a communication method as described above.

[0038] This program may use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code, such as in a partially compiled form, or in any other desirable form.

[0039] The invention also relates to an information medium or a recording medium readable by a computer, and comprising instructions for a computer program as mentioned above.

[0040] The information or recording medium can be any entity or device capable of storing programs. For example, the medium may include a storage means, such as a ROM, for example a CD-ROM or a ROM of microelectronic circuit, or a magnetic recording device, for example a hard drive, or a flash memory.

[0041] On the other hand, the information or recording medium can be a transmissible medium such as an electrical or optical signal, which can be transmitted via an electrical or optical cable, by radio link, by wireless optical link or by other means.

[0042] The program according to the invention can in particular be downloaded onto an Internet-type network.

[0043] Alternatively, the information or recording medium may be an integrated circuit in which a program is incorporated, the circuit being adapted to execute or to be used in the execution of the processes according to the invention.

[0044] It can also be envisaged, in other embodiments, that the process according to the invention and the entity according to the invention have in combination all or part of the aforementioned characteristics. Brief description of the drawings

[0045] Other features and advantages of the present invention will become apparent from the description below, with reference to the accompanying drawings which illustrate an example of an embodiment without being limiting in any way. In the figures:

[0046] [Fig-1] [Fig.1] represents a communication system 1, according to the invention in a particular embodiment;

[0047] [Fig.2] [Fig.2] schematically represents the hardware architecture of a computer on which the different entities conforming to the invention, belonging to the system of [Fig.1] are based;

[0048] [Fig.3] [Fig.3] represents, in the form of a flowchart, the main steps of the process which is the subject of the invention, as they are implemented by the different entities according to the invention belonging to the system of [Fig.1]. Description of the invention

[0049] Fig. 1 represents a communication system 1, according to the invention in a particular embodiment.

[0050] In this embodiment, system 1 comprises: - at least one user equipment (UE), such as, for example, a gateway interfacing the NW telecommunications network and a local area network (LAN), such a UE implements a single temporary data storage or cache mechanism; the UE can also be any device connected to the LAN, including a smartphone or computer. In a particular case, the LAN may consist of only the device, for example a smartphone connected to a mobile network, for example a cellular network. - at least one HE entity implementing a vectorization function FV; and - at least one Serv server from which data relating to a service can be obtained.

[0051] In the remainder of the description and in [Fig. 1], by way of example, for the sake of simplicity, only one UE, one HE entity, and two Serv servers belonging to the NW telecommunications network are considered. Of course, a larger number of UEs, HE entities, and Serv servers can be considered.

[0052] The interactions between the different components of system 1 are described in more detail with reference to [Fig.3].

[0053] In the embodiment described herein, the UE presents the hardware architecture of a computer 2 as illustrated in [Fig. 2]. This hardware architecture includes, in particular, a processor (PROC), random access memory (MEM), read-only memory (ROM), non-volatile memory (NVM), and communication means (COM) enabling the various entities to communicate with each other and with one or more other devices (not shown in the figures) belonging to the network (NW). The non-volatile memory (NVM) constitutes a storage medium according to the invention, readable by the processor (PROC) and on which one or more program(s) according to the invention are stored. The non-volatile memory (NVM) also includes a storage space dedicated to storing cached data according to the invention.

[0054] A first program, denoted PROG1, is stored in the non-volatile NVM memory and comprises instructions defining the main steps of a management process according to the invention as implemented by the UE. More specifically, it defines the functional modules of the UE, which rely on and / or control all or part of the PROC, MEM, ROM, NVM, and COM elements of the computer 2 mentioned above.

[0055] In the embodiment described herein, this first program PROG1 defines in particular the following functional modules of the UE (represented in [Fig. 1]), which are activated during the implementation of the invention: - a 2A retrieval module configured to obtain, from at least one of said applications, data relating to a first service, said data being in natural language, and being obtained in response to the transmission, by at least one of said applications, of a first request for the provision of the first service, to at least one server belonging to the telecommunications network. - a module, 2B, configured to obtain at least one first vector representing said first request and at least one second vector representing said data relating to the first service, - a 2C transmission module configured to transmit, to another of said applications, data relating to a second service in response to the issuance, by said other application, of a second request for the provision of the second service, the data relating to the second service in response to the second request being obtained by means of a comparison of a third vector representing the second request with the first vector and the second vector.

[0056] The operation of modules 2A to 2C is detailed further later with reference to the steps of the management process according to the invention.

[0057] Figure 3 describes the main steps of the cache management process according to the invention, in a particular embodiment in which it is implemented by the EU.

[0058] In step E010, a cache common to all applications running within the UE is implemented. Such a cache comprises a plurality of entries in which various information is intended to be stored. This cache can be used by the different applications of the UE, and in particular different Internet browsers, but also by other devices, especially when these devices and this UE are connected to the same local network (home, business, vehicle, etc.) or to the same subnet (VLAN, slice, etc.).

[0059] Such information includes, among other things: at least one representative vector of data relating to at least one service required by one of the applications executed by the UE, possibly a validity period associated with this vector, and possibly an identifier of the vectorization function applied by the HE entity to the data relating to at least one required service and at least one label associated with a given theme. The information further includes representative vectors of the service provision requests transmitted by the different applications.

[0060] It should be noted that, according to one embodiment, the UE may include text, audio, and video data, and the vectors may be obtained from service provision requests and responses to these requests obtained from an entity external to the UE. Similarly, the storage of these vectors may be carried out by an entity external to the UE, for example in a database or a registry, for example in a RAG (Retrieval Augmented Generation).

[0061] In order to structure the data stored in the cache, themes can be defined. These can cover various areas such as cooking, mathematics, sports in general and / or a particular sport, etc. As explained As mentioned earlier in this document, these themes can be defined by default when the cache is created or by applications using the cache. These themes can also be defined by the user of the User Experience (UE) based on their interests or needs, or even based on the services they have accessed in the past.

[0062] These themes offer the possibility of searching for specific data in the cache, and of determining the habits and interests of the UE user in order to avoid, for example, being confined to a given theme, etc.

[0063] In a step E020, an application App executed by the UE, such as for example an Internet browser, issues a request for the provision of at least one service. Such a service provision request, expressed in natural language, is for example "give me an apple pie recipe".

[0064] One or more labels corresponding to at least one of the previously defined themes are associated (E030) with the query. In the example we are considering, a first label "cooking" and a second label "leisure" are associated with the query.

[0065] This query is then processed by the 2B segmentation module (E040). Such a segmentation module segments the query into a plurality of word groups.

[0066] In our example, a first group of words is "apple pie" and a second group of words is "recipe".

[0067] Once these word groups are obtained, they are then transmitted (E050) to the HE entity, which applies (E060) the vectorization function to them in order to generate vectors corresponding to each of the word groups. As indicated above, the vectorization function can be performed by a device external to the UE, such as the HE entity.

[0068] A vectorization function allows complex objects to be represented as numerical vectors while preserving the essential relationships between these objects. More specifically, this technique relies on transforming data into a vector space, where initial similarities or relationships, such as semantic proximities or logical correspondences, are maintained. For example, in natural language processing, algorithms such as Word2Vec or BERT allow words to be represented in such a way that their semantic relationships are reflected by vector operations.

[0069] A vectorization function is defined by a set of parameters. This set of parameters includes all the parameters that determine how the textual data is transformed into numerical vectors usable by the applications executed by the UE.

[0070] Such a set of parameters includes, among other things: - parameters representative of the preprocessing applied to the data to be vectorized such as cleaning the texts to remove special or unnecessary characters, converting to lowercase to standardize the data, removing stopwords (frequent but uninformative words, such as "the", "and", "of") and using techniques such as "stemming" which reduce words to their root or canonical form; - a parameter relating to the size of the vocabulary, which defines the number of words taken into account; it can be chosen, for example, to keep only the most frequent words or to exclude those appearing too rarely; - parameters relating to the representation of vectors: the generated vectors can be sparse, i.e., contain mainly zeros or dense, i.e., with continuous values; - parameters relating to the dimensionality of the vectors, i.e. the number of coefficients constituting the vectors, dimensionality is a function of the vectorization method chosen and the size of the vocabulary; - parameters representing the level of analysis to be applied to the data; the data can, in fact, be analyzed at the level of characters, words, or using n-grams (sequences of words or characters, such as bigrams or trigrams); and - parameters for generating missing values, for example by filling in vectors for words missing from the vocabulary or incomplete texts.

[0071] An example of a vectorization function is as follows: 1. Segmentation of word groups into tokens or "tokenization" the phrase "apple pie" is broken down into tokens in the following way ['pie', 'with', 'apples'] 1. The association of each token with a fixed-size vector or "embedding matrix." Such an embedding matrix is, for example, a lookup table where each token is associated with a fixed-size vector. Such a matrix can be obtained using a neural network that has been trained on a large word database. {

[0072] 'pie': [0.1, 0.2, 0.3, 0.4],

[0073] aux': [0.5, 0.6, 0.7, 0.8],

[0074] 'apples': [0.9, 1.0, 1.1, 1.2]

[0075] } 1. Replacing the tokens with the corresponding vector(s) or "embedding lookup" [0.1,0.2, 0.3, 0.4],#'pie'

[0076] [0.5, 0.6, 0.7, 0.8],#'aux'

[0077] [0.9, 1.0, 1.1, 1.2], # 'apples'

[0078] and finally 1. The grouping of vectors representing the different tokens into a single fixed-size vector representing the processed sentence, or "pooling." Such grouping conforms to a given pooling strategy. Common pooling strategies include "mean pooling," "max pooling," etc. Without this example, we will use "mean pooling." (0.1 + 0.5 + 0.9 + 1.3) / 4,

[0079] (0.2 + 0.6+1.0+1.4) / 4,

[0080] (0.3 + 0.7+1.1 + 1.5) / 4,

[0081] ] .

[0082] Thus, the fixed-size vector that represents the word group "apple pie" is: [0.7, 0.8, 0.9],

[0083] Once the vectorization function has been applied to all the received word groups, the HE entity transmits (E070) the corresponding vectors to the UE. These vectors are then stored in a cache entry with the labels "kitchen" and "leisure" associated with the request, as well as an expiration date for the validity of this data.

[0084] The vectors representing the word groups constituting the request are then compared, using a cosine similarity calculation function for example (E080), with other vectors previously stored in the cache. Such vectors previously stored in the cache may represent service provision requests previously generated by one of the applications running on the UE or by a device belonging to the same local network and / or data relating to said requested services obtained in response to said request. These aspects are discussed in more detail later in this document.

[0085] To this end, the UE then implements a comparison function. Such a semantic comparison function, such as the cosine similarity function, allows vectors to be compared with each other. This embodiment implies that the vectors are stored in the UE and that the UE can effectively perform the comparison. In the case where the vectors are stored in a device external to the UE, the UE can, for example, transmit the application's request to the entity responsible for vectorizing this request. This entity can then, either autonomously or in collaboration with a vector storage space, compare the request vector with representative vectors of requests and responses exchanged in the past. As an example, the vectors can be stored in an accessible storage space. by an entity in charge of the comparison, such as an LLM (Large Language Model) device not shown in [Fig.3], which will transmit the result of the comparison to the EU.

[0086] Such a semantic comparison consists of measuring the similarity between two concepts, words, phrases, or texts based on their meaning. It aims to determine the extent to which two expressions share a common meaning or how much their meanings differ. To this end, it is possible to compare words individually, for example by calculating the proximity between the terms "cat" and "feline," to analyze the semantic similarity between two phrases or text fragments, such as "The sky is blue" and "The sky is clear," or to measure the extent to which two documents (or long texts) discuss similar subjects or convey similar ideas.

[0087] To this end, the comparison function relies on the use of lexical databases in which hierarchical relationships (synonymy, antonymy, hypernymy, etc.) between words allow for measuring their proximity. The FC comparison function can also be based on the co-occurrence of words in large text corpora.

[0088] When dealing with vectors, as is the case in the present solution, the comparison function FC can be a function for determining a geometric proximity between two vectors reflecting the semantic similarity of the words or phrases that these vectors represent.

[0089] Such a comparison function calculates a semantic similarity score reflecting the similarity between two concepts, words, phrases, or texts represented by the object vectors of the comparison, based on their meanings. Thus, the higher the value of this similarity score, the closer the meanings of the phrases or words represented by the compared vectors.

[0090] Once the representative vectors of the word groups constituting the query are compared to the set of vectors previously stored in the cache, the UE determines whether at least one of the vectors previously stored in the cache has a high similarity score with at least one of the representative vectors of the word groups constituting the query.

[0091] If so, the vector(s) previously stored in the cache or in an external cache to the UE are transmitted (E100) to the HE entity, which decodes the vector(s) identified by the comparison function and transmits (E10) the word groups represented by the decoded vector to the requesting application. The UE, and more generally the comparison function, can choose the vectors previously stored in the cache with a similarity score greater than a given threshold, or the X vectors previously stored in the cache having The highest similarity scores among all the vectors previously stored in the cache. In an example implementation, X can take the value 3. Of course, X can take any other value.

[0092] When none of the vectors previously stored in the cache presents a If a similarity score is high with at least one of the representative vectors of the word groups constituting the request, then the service provision request is forwarded (E120) to at least the Serv server. This is the case, for example, when building the cache or when the service provision request concerns topics for which no request has yet been issued. This option is only available if the UE is connected to the communication network. If the UE is not connected, the comparison function can identify one or more vectors closest to the vector of the new request so that it can forward the request, even if it is quite far from a more relevant response, to the application that issued the request.The management process as described makes it possible to respond to a request from an application on a UE even if the UE or the local network to which the UE is connected does not have a connection allowing it to reach one of the Serv. servers.

[0093] If the Serv server can be contacted, in step E130, the Serv server transmits to the UE response data relating to the service request. In this case, this could consist of one or more apple pie recipes and the URLs identifying the servers on which this data is stored. The data representing the requested service may also be accompanied by a validity period.

[0094] Upon receipt of this data relating to the required service, one or more labels corresponding to at least one of the themes defined beforehand are associated (E140) with the received data. In the example we are considering, these are again the first label "cooking" and the second label "leisure".

[0095] The received data is then processed by the 2B segmentation module (E150). Then, once these word groups are obtained, they are then transmitted (E160) to the HE entity which applies (E170) the vectorization function to them in order to generate vectors corresponding to each of the word groups.

[0096] Once the vectorization function has been applied to all the received word groups, the HE entity transmits (E180) the corresponding vectors to the UE. These vectors are then stored in a cache entry with the labels "kitchen" and "leisure" associated with the previously issued request, as well as with an expiration date for the validity of this data.

[0097] In order to ensure that the data stored in the cache is always up to date, the contents of the cache are checked to identify the data for which the durations The validity periods have expired. In a first implementation of the management process that is the subject of the invention, this verification occurs periodically. In another implementation of the management process that is the subject of the invention, this verification is performed on a topic-by-topic basis.

[0098] Thus, regardless of the chosen management process implementation, the UE identifies (E190) at least one cache entry for which the validity period of said at least one vector has expired. To do this, the UE compares, for example, the validity period associated with the data stored in a cache entry with the current date.

[0099] When an entry for which the validity period of said at least one vector has expired is identified, the corresponding vector is transmitted (E200) to the HE entity, which decodes the vector and transmits (E210) the word groups represented by the decoded vector to the application that originated the request. The word groups are then transmitted, in an update request, (E220) to at least one of the Serv servers.

[0100] In an E230 step, the Serv server transmits to the UE an updated version of the word groups received in the update request.

[0101] Upon receipt of these updated data, one or more labels corresponding to at least one of the themes defined previously are associated (E240) with the data received.

[0102] The received data is then processed by the 2B segmentation module (E250). Then, once these word groups are obtained, they are then transmitted (E260) to the HE entity which applies (E270) the vectorization function to them in order to generate vectors corresponding to each of the word groups.

[0103] Once the vectorization function has been applied to all received word groups, the HE entity transmits (E280) the corresponding vectors to the UE or the database storing these vectors. These vectors are then stored in the cache entry identified in step E190 with a new data validity expiration date.

[0104] The creation and management of such a cache allows its use by all applications implemented by the UE or by all applications on devices belonging to the same local network as the UE. This vectorized information can be advantageously used in situations where the UE no longer has access to the resources of the NW telecommunications network, or as an alternative or complement to information received from the remote Srv server, in order to save network resources, accelerate response times, or even obtain a response in all cases, thus improving the user experience. Indeed, even in the absence of connectivity, it It is always possible to process service provision requests issued by applications run by the EU.

[0105] Such a cache can also serve as a supplementary database in processing service requests issued by applications running on the UE or by other devices on the same local network as the UE. Indeed, such requests can be both transmitted to external servers and processed using the data stored in the cache, thus providing more complete responses.

[0106] Finally, the use of such a cache helps to combat the digital sedentariness of the EU user because it offers the possibility of determining, through the different themes, whether an EU user is shutting himself in a bubble of knowledge and content.

[0107] For this purpose, once a request for the provision of a service has been processed by the slicing module 2B, the UE determines whether at least one theme of word groups identified by a label associated with the word groups obtained as a result of the processing of the request by the slicing module 2B includes a number of vectors stored in the cache greater than the threshold.

[0108] If this is the case, it may indicate a digital stagnation for the identified theme. In order to reduce this stagnation, the resulting word groups are transmitted to the HE entity with a request to modify certain parameters of the vectorization function. This request to modify the parameters of the vectorization function concerns the weights assigned to the vectors. This modification of the weight values ​​allows for adjustment of the semantic distance between the vectors thus obtained and vectors concerning the same theme obtained previously. By modifying the semantic distance, diversity is introduced into the data relating to the service requested.

[0109] The management process can also be used to improve the type of response sent to a request and, where appropriate, to exploit request-response exchanges for various purposes. For example, an avatar, representing a digital representation of a user, can replace a user in request-response message exchanges. The avatar can thus influence the comparison of vectors and select vectors that broaden the response domain for requests of the same type, and thus expand the response domain if, for example, several successive requests fall under a specific theme. The avatar therefore allows for adapting the context of the cache data as well as the data used in response to requests.

Claims

Demands

1. A method for managing temporary data storage, called a cache, of a user equipment (UE) of a local area network (LAN) attached to a telecommunications network (NW), said cache being shared by a plurality of applications run by the UE, the method being implemented by the UE and comprising: - obtaining, from at least one of said applications, data relating to a first service, said data being in natural language, and being obtained in response to the transmission (E020) to at least one server belonging to the telecommunications network, by at least one of said applications, of a first request for the provision of the first service, - obtaining (E070) at least a first vector representing said first request and at least a second vector representing said data relating to the first service, - transmitting to another of said applications,of data relating to a second service in response to the issuance, by said other application, of a second request for the provision of the second service, the data relating to the second service in response to the second request being obtained by means of a comparison of a third vector representing the second request with the first vector and the second vector.

2. A management method according to claim 1, comprising prior to obtaining the first vector: - the splitting (E050) of the data relating to the first request and the data relating to the first service into a first plurality of word groups, each word group being associated with at least one label, the same label allowing the word groups to be grouped by theme, - the transmission of the first plurality of word groups to a vectorization entity belonging to the telecommunications network, - the storage (E070) of a first and a second vector representing respectively the first request and the said data relating to the first service in an entry of the cache, the vectors being obtained by applying, to the first plurality of word groups, a vectorization function implemented by the vectorization entity.

3. A management method according to claim 1 or claim 2, wherein a cache entry comprises: - a validity period of said at least one second vector stored in said entry, - an identifier of the vectorization function applied.

4. A management method according to any one of the preceding claims, further comprising: - identifying (E190) at least one cache entry for which the validity period of said at least one second vector has expired, - obtaining the data relating to the first service represented by said at least one second vector stored in said identified entry, - obtaining (E230) an updated version of the data relating to the first service obtained, - the splitting (E250) of the data relating to the first updated service into a second plurality of word groups, each word group being associated with at least one label, the same label allowing the word groups to be grouped by theme, - the transmission (E260) of the second plurality of word groups to the vectorization entity, - the storage (E280), in said identified entry, of at least a fourth vector representing the data relating to the first updated service, the fourth vector being obtained by applying the vectorization function to the second plurality of word groups.

5. Management method according to claim 4, wherein the updating of vectors stored in the cache is implemented periodically.

6. Management method according to claim 4 or claim 5, wherein the updating of the vectors stored in the cache is implemented for each theme.

7. A management method according to any one of claims 4 to 6, wherein at least a second vector is removed from the cache following the memorization of at least a fourth vector.

8. A management method according to any one of the preceding claims, wherein, when a representative score of the comparison of the third representative vector of the second request with the first vector and the second vector is less than a predetermined threshold, the data relating to the second service obtained in response to the second request are obtained from a data server belonging to the telecommunications network.

9. A management method according to any one of the preceding claims, wherein, when a quality of attachment measure of the local communication network attached to the telecommunications network is greater than a predetermined value, the data relating to the second service obtained in response to the second request are obtained from a data server belonging to the telecommunications network.

10. A management method according to any one of the preceding claims, comprises:

11. - obtaining, from at least one application, a third request for the provision of a third service, - the segmentation of the third query into a third plurality of word groups, at least one word group being associated with a label identifying a theme to which is associated a number of vectors stored in the cache greater than the threshold, - the transmission, to the vectorization entity, of the third group of words and a request to modify the value of the weights assigned to at least a fifth vector obtained by applying the vectorization function to the third group of words, the modification of the value of the weights allowing to modify a semantic distance between the at least a fifth vector and the at least second vector and / or the at least a fourth vector. An entity of a primary local communication network attached to a telecommunications network, comprising temporary data storage called a cache, said cache being shared by a plurality of applications executed by said entity, said entity comprising: - a data acquisition module (2A) configured to obtain, from at least one of said applications, data relating to a first service, said data being in natural language, and being obtained in response to the transmission, by at least one of said applications, of a first request for the provision of the first service, to at least one server belonging to the telecommunications network. - a retrieval module (2B) configured to obtain at least one first representative vector of said first request and at least one second representative vector of said data relating to the first service, - a transmission module (2C) configured to transmit, to another of said applications, data relating to a second service in response to the emission, by said other application, of a second request for the provision of the second service, the data relating to the second service in response to the second request being obtained by means of a comparison of a third representative vector of the second request with the first vector and the second vector.

12. Gateway comprising an entity according to claim 11, said gateway being intended to interface the local communication network with the telecommunications network.

13. Mobile terminal comprising an entity according to claim 11, said mobile terminal comprising at least one application adapted to issue a request for the provision of at least one service.

14. A computer program comprising instructions for implementing a method for managing a temporary data storage, called a cache, of a user equipment UE according to any one of claims 1 to 10, when said program is executed by a computer.

15. Computer-readable recording medium on which a computer program according to claim 14 is recorded.