Method for managing a shared cache between a plurality of applications, and corresponding devices and computer program
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- ORANGE SA
- Filing Date
- 2025-12-17
- Publication Date
- 2026-06-25
Smart Images

Figure EP2025087541_25062026_PF_FP_ABST
Abstract
Description
A method for managing a shared cache between multiple applications, devices, and corresponding computer programs.
[0001] The invention belongs to the general field of communications, such as, for example, the field of telecommunications.
[0002] It falls more specifically within the context of managing temporary data storage mechanisms or "cache".
[0003] The invention more specifically aims at mechanisms to improve the processing of requests issued by user equipment and the data obtained in response to these requests.
[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-performing user experience. This browsing can be done using applications running on a user's device or UE (User Equipment). Some applications, called Internet browsers or "web browsers," are specifically designed for collecting data on the Internet.
[0005] These applications, whether or not they are dedicated to collecting data on the Internet, implement mechanisms to optimize 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, meaning it belongs to the User Experience (UE) running the application. It allows for the temporary storage of downloaded data or resources (such as images, CSS stylesheets, or JavaScript files) when accessed by a server that stores that data. This storage in the UE's cache, or caching, aims to reduce latency, limit bandwidth consumption, and improve data loading times for subsequent requests. It thus enables faster and more efficient data retrieval while reducing the load on servers.
[0007] However, while caching mechanisms offer significant advantages in terms of performance and reduced resource consumption, they also have several limitations, including excessive local storage consumption, issues related to the confidentiality of sensitive data, a limited lifespan for information stored in the cache, and the requirement for a separate cache for each application, particularly web browsers. These problems highlight 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 provide a solution to improve the management of cache mechanisms.
[0009] To this end, and according to a first aspect, the invention relates to a method for managing a temporary data storage, called a cache, of a user equipment (UE) belonging to a local communication network communicating with a telecommunications network, said cache being shared by at least two applications executed by the UE, the method being implemented by the UE and comprising: the storage, within the cache, of at least a first vector representing a first request for the provision of a first service issued by a first application to at least one server belonging to the telecommunications network and of at least a second vector representing data, in natural language, relating to a first service provided by said at least one server in response to the first request, obtaining at least a third vector representing a second request for the provision of a second service issued by a second application,obtaining data relating to the second service in response to the issuance of the second request, the data relating to the second service being obtained by means of a comparison (E080) of the third vector with the first vector and the second vector, the transmission of the data relating to the second service to the second application.
[0010] According to an example, the 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 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 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 at least a first vector representing said first request and at least a second vector representing said data relating to the first service, 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.
[0011] Correspondingly, the invention relates to an entity belonging to a first local communication network communicating with a telecommunications network, comprising a temporary data storage, called a cache, said cache being shared by at least two applications executed by said entity, said entity comprising at least one processor configured to: store, within the cache, at least a first vector representing a first request for the provision of a first service issued by a first application to at least one server belonging to the telecommunications network and at least a second vector representing data, in natural language, relating to a first service provided by said at least one server in response to the first request, obtain at least a third vector representing a second request for the provision of a second service issued by a second application,To obtain data relating to the second service in response to the issuance of the second request, the data relating to the second service being obtained by means of a comparison of the third vector with the first vector and the second vector, and to transmit data relating to the second service to the second application.
[0012] According to an example, a local area network entity attached to a telecommunications network includes temporary data storage, called a cache, said cache being shared by a plurality of applications executed by said entity, said entity comprising: a 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 retrieval module configured to obtain at least a first vector representing said first request and at least a second vector representing 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.
[0013] The invention relies on the sharing of a single cache among all applications running within the same UE, a local area network, or a subnet such as a VLAN (Virtual LAN Area Network) or a network slice. Each device on the local network or subnet can access the cache's data. This cache serves as a local database where data can be retrieved in response to a service request from at least one application 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 to the telecommunications network and / or to conserve telecommunications network resources while simultaneously providing responses 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 the UE's 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 any particular application.
[0014] Another advantage of this method is the ability to reuse data stored in a cache in a shared manner. Indeed, according to the state of the art, an application's cache, such as that of a web browser, is only available to that application, and furthermore, the reuse of the data it contains depends on its validity period 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, but also the data stored within the cache can be reused more widely by means of a comparison function, for example of a semantic type, of the requests 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.
[0015] 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.
[0016] As a reminder, a cache is a temporary data storage mechanism that can be implemented in hardware, software, or a combination of both.
[0017] 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 devices, etc.) and to meet a variety of needs.
[0018] Such applications can operate locally, online (via the Internet), or in a hybrid mode.
[0019] 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.
[0020] In particular implementations of the management process, prior to obtaining the first vector, minus a 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 storage 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.
[0021] 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 for a required service, the ability to search 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.
[0022] Such themes can cover a wide range of topics, including 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 applications using the cache. They can also be defined by the user of the learning environment (UE) based on their interests or needs.
[0023] 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 which originated the request in response to it, makes it possible to guarantee the confidentiality of the data exchanged between the different entities involved in the processing of said request.
[0024] A vectorization function allows complex objects to be represented as digital 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 like Word2Vec or BERT allow words to be represented in such a way that their semantic relationships are reflected by vector operations.
[0025] In particular implementations of the management process, an entry of said cache includes: a validity period of said at least one second vector stored in said entry, an identifier of the vectorization function applied.
[0026] Data related to these services, such as URLs or web pages, can change over time or cease to exist. By associating a data expiration date with a representative vector, it is possible to keep the cache up to date and thus improve the relevance of the data stored within it.
[0027] In specific implementations of the management process, it further includes: identifying 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; dividing the updated data relating to the first 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; transmitting the second plurality of word groups to the vectorization entity; and storing, in said identified entry, at least one fourth vector representing the updated data relating to the first service.the fourth vector being obtained by applying the vectorization function to the second plurality of word groups.
[0028] In specific implementations of the management process, the updating of vectors stored in the cache is implemented periodically.
[0029] In specific implementations of the management process, the updating of vectors stored in the cache is implemented thematically.
[0030] Therefore, the cache can be updated by topic rather than globally. This reduces the load on the EU, which can then free up resources to perform other actions.
[0031] 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.
[0032] 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 and second vectors 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.
[0033] 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.
[0034] In particular implementations of the management process, it includes: obtaining, from at least one application, a third request in provision of a third service, the splitting of the third request 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 threshold, the transmission, to the vectorization entity, of the third word group 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 word group, the modification of the weight values 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.
[0035] By modifying the weights assigned to the vector, we ensure that the data related to that service retrieved in response to the request is distinct from certain topics for which the cache already contains a significant amount of data. Furthermore, while not necessarily less relevant, the retrieved data is sufficiently differentiated from the data already stored in the cache to prevent the user of the user unit from repeatedly receiving the same responses.
[0036] This helps prevent EU users from becoming trapped in an ideological bubble and developing a form of digital sedentarism.
[0037] 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.
[0038] 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.
[0039] 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 process as described above.
[0040] This program can use any programming language, and be in the form of source code, object code, or code somewhere between source code and object code, such as in a partially compiled form, or in any other desirable form.
[0041] The invention also relates to an information carrier or a recording medium readable by a computer, and comprising instructions for a computer program as mentioned above.
[0042] 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 microelectronic circuit ROM, or a magnetic recording means, for example a hard drive, or a flash memory.
[0043] On the other hand, the information or recording medium can be a transmissible medium such as an electrical or optical signal, which can be carried via an electrical or optical cable, by radio link, by wireless optical link or by other means.
[0044] The program according to the invention can in particular be downloaded onto an Internet-type network.
[0045] 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.
[0046] 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.
[0047] 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:
[0048] lare represents a communication system 1, conforming to the invention in a particular embodiment;
[0049] larepresents schematically the hardware architecture of a computer on which the different entities conforming to the invention, belonging to the system of the, are based;
[0050] The diagram represents, in the form of a flowchart, the main steps of the process which is the subject of the invention, as implemented by the different entities conforming to the invention belonging to the system of the. Description of the invention
[0051] Lare represents a communication system 1, conforming to the invention in a particular embodiment.
[0052] In this embodiment, system 1 comprises: at least one user equipment (UE), such as, for example, a gateway interfacing the telecommunications network (NW) and a local area network (LAN), such as a home 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 a computer. In a particular case, the LAN may consist of a single device, for example, a smartphone connected to a mobile network, for example, a cellular network; at least one high-level entity (HE) implementing a vectorization function (FV); and at least one server (Serv) from which data relating to a service can be obtained.
[0053] In the following description and on the page, for the sake of simplicity, we consider only one UE, one HE entity, and two Serv servers belonging to the NW telecommunications network. Of course, a larger number of UEs, HE entities, and Serv servers can be considered.
[0054] The interactions between the different components of system 1 are described in more detail with reference to the.
[0055] In the embodiment described herein, the UE presents the hardware architecture of a computer 2 as illustrated in Figure 1. This hardware architecture includes, in particular, a processor (PROC), random access memory (MEM), read-only memory (ROM), non-volatile memory (NVM), and communication means 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.
[0056] A first program, denoted PROG1, is stored in the non-volatile NVM memory and contains 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 computer 2 mentioned previously.
[0057] In the embodiment described here, this first program PROG1 defines in particular the following functional modules of the UE (represented in the figure), which are activated during the implementation of the invention: a retrieval 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 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; a retrieval module 2B configured to obtain at least a first vector representing said first request and at least a second vector representing 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 transmission.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.
[0058] The operation of modules 2A to 2C is detailed further later with reference to the steps of the management process according to the invention.
[0059] The document 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.
[0060] In step E010, a cache common to all applications running within the UE is implemented. This cache comprises multiple entries in which various information is intended to be stored. This cache can be used by the different applications on the UE, including different web browsers, but also by other devices, particularly when these devices and the UE are connected to the same local network (home, business, vehicle, etc.) or the same subnet (VLAN, slice, etc.).
[0061] Such information includes, among other things: at least one representative data vector relating to at least one service required by one of the applications run by the EU, 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 also includes representative vectors of the service provision requests transmitted by the various applications.
[0062] 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 registry, such as a RAG (Retrieval Augmented Generation).
[0063] To structure the data stored in the cache, themes can be defined. These can cover a variety of areas such as cooking, mathematics, sports in general and / or a specific sport, etc. As explained earlier in this document, 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 (UE) based on their interests or needs, or even based on the services they have accessed in the past.
[0064] These themes offer the possibility of searching for specific data in the cache, and of determining the habits and interests of the EU user in order to avoid, for example, being confined to a given theme, etc.
[0065] In an E020 step, an application App executed by the UE, such as 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".
[0066] One or more labels corresponding to at least one of the previously defined themes are associated (E030) with the query. In our example, a first label "cooking" and a second label "leisure" are associated with the query.
[0067] This query is then processed by the 2B segmentation module (E040). Such a segmentation module breaks the query into a plurality of word groups.
[0068] In our example, the first group of words is "apple pie" and the second group of words is "recipe".
[0069] Once these word groups are obtained, they are then transmitted (E050) to the HE entity, which applies (E060) the vectorization function to generate vectors corresponding to each word group. As mentioned above, the vectorization function can be performed by a device external to the UE, such as the HE entity.
[0070] A vectorization function allows complex objects to be represented as digital 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 like Word2Vec or BERT allow words to be represented in such a way that their semantic relationships are reflected by vector operations.
[0071] A vectorization function is defined by a set of parameters. This parameter set includes all the parameters that determine how textual data is transformed into numerical vectors usable by applications running on the EU.
[0072] Such a set of parameters includes, among other things: parameters representing the preprocessing applied to the data to be vectorized, such as text cleaning to remove special or unnecessary characters, conversion to lowercase to standardize the data, removal of stopwords (frequent but uninformative words, such as "the", "and", "of") and the use of 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 the vectors: the generated vectors can be sparse, that is to say, contain mainly zeros, or dense, that is to say, 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 the vectors for words absent from the vocabulary or incomplete texts.
[0073] An example of a vectorization function is the following: tokenization of word groups. The word group "apple pie" is tokenized as follows: ['pie', 'aux', 'apples']. Each token is then associated 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 trained on a large word database.
[0074] 'pie': [0.1, 0.2, 0.3, 0.4],
[0075] aux': [0.5, 0.6, 0.7, 0.8],
[0076] 'apples': [0.9, 1.0, 1.1, 1.2]
[0077] }the replacement of the tokens by the corresponding vector(s) or "embedding lookup"[0.1, 0.2, 0.3, 0.4], # 'pie'
[0078] [0.5, 0.6, 0.7, 0.8], # 'aux'
[0079] [0.9, 1.0, 1.1, 1.2], # 'apples'
[0080] and finally the grouping of the 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.
[0081] (0.2 + 0.6 + 1.0 + 1.4) / 4,
[0082] (0.3 + 0.7 + 1.1 + 1.5) / 4,
[0083] ] .
[0084] Thus, the fixed-size vector that represents the phrase "apple pie" is: [0.7, 0.8, 0.9].
[0085] Once the vectorization function has been applied to all 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.
[0086] The vectors representing the word groups constituting the request are then compared, using a cosine similarity calculation function (E080), for example, with other vectors previously stored in the cache. Such previously cached vectors can 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.
[0087] To this end, the UE implements a comparison function. Such a semantic comparison function, like the cosine similarity function, allows vectors to be compared with each other. This implementation implies that the vectors are stored in the UE and that the UE can effectively perform the comparison. If 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 that request. This entity can then, either independently 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 a storage space accessible by an entity in charge of the comparison, such as an LLM (Large Language Model) device not represented on the, which will transmit the result of the comparison to the UE.
[0088] A semantic comparison involves measuring the similarity between two concepts, words, phrases, or texts based on their meanings. It aims to determine the extent to which two expressions share a common meaning or how different their meanings are. This can be done by comparing individual words, for example, by calculating the proximity between the terms "cat" and "feline," by analyzing the semantic similarity between two phrases or text fragments, such as "The sky is blue" and "The sky is clear," or by measuring the extent to which two documents (or longer texts) discuss similar topics or convey similar ideas.
[0089] To achieve this, 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.
[0090] 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.
[0091] Such a comparison function calculates a semantic similarity score reflecting the similarity between two concepts, words, phrases, or texts represented by the vectors being compared, 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.
[0092] 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.
[0093] If so, the vector(s) previously stored in the cache or in an external cache are transmitted (E100) to the HE entity, which decodes the vector(s) identified by the comparison function and transmits (E110) 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 above a given threshold, or the X vectors previously stored in the cache with the highest similarity scores among all the vectors previously stored in the cache. In an example implementation, X might be 3. Of course, X can take any other value.
[0094] When none of the vectors previously stored in the cache have a high similarity score with at least one of the representative vectors of the word groups constituting the request, then the service request is forwarded (E120) to at least the Serv server. This occurs, for example, during cache creation or when the service 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 it.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.
[0095] If the Serv server can be contacted, in step E130, the Serv server transmits response data related to the service request to the UE. In this case, this could be one or more apple pie recipes along with the URLs identifying the servers where this data is stored. The data representing the requested service may also include an expiration date.
[0096] Upon receipt of this data relating to the requested service, one or more labels corresponding to at least one of the previously defined themes are associated (E140) with the received data. In our example, these are still the first label "cooking" and the second label "leisure".
[0097] The received data is then processed by the 2B segmentation module (E150). 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.
[0098] Once the vectorization function has been applied to all 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 an expiration date for the validity of this data.
[0099] To ensure that the data stored in the cache is always up-to-date, the cache contents are checked to identify data whose validity periods have expired. In a first implementation of the object management method of the invention, this check is performed periodically. In another implementation of the object management method of the invention, this check is performed on a topic-by-topic basis.
[0100] 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.
[0101] When an entry for which the validity period of 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 requesting application. The word groups are then transmitted, in an update request, (E220) to at least one of the Serv servers.
[0102] In an E230 step, the Serv server transmits to the UE an updated version of the word groups received in the update request.
[0103] Upon receipt of this updated data, one or more labels corresponding to at least one of the themes defined previously are associated (E240) with the data received.
[0104] 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.
[0105] 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.
[0106] 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 NW telecommunications network resources, or as an alternative or complement to information received from the remote Srv server, in order to conserve network resources, accelerate response times, or ensure a response in all cases, thus improving the user experience. Indeed, even in the absence of connectivity, it is still possible to process service provision requests issued by applications running on the UE.
[0107] Such a cache can also serve as a supplementary database for 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 forwarded to external servers and processed using the data stored in the cache, thus providing more complete responses.
[0108] 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 different themes, whether an EU user is shutting themselves in a bubble of knowledge and content.
[0109] To do this, once a request for the provision of a service has been processed by the 2B segmentation module, 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 2B segmentation module includes a number of vectors stored in the cache greater than the threshold.
[0110] If this is the case, it may indicate a lack of consistency in the data for the identified topic. To reduce this consistency, the resulting word groups are sent to the HE entity with a request to modify certain parameters of the vectorization function. This request concerns the weights assigned to the vectors. Modifying these weights allows us to adjust the semantic distance between the resulting vectors and previously obtained vectors on the same topic. By changing the semantic distance, we introduce more diversity into the data related to the service requested.
[0111] The management process can also be used to improve the type of response sent to a request and, where appropriate, to leverage request-response interactions for various purposes. For example, an avatar, representing a digital representation of a user, can replace a real user in request-response message exchanges. The avatar can thus influence the comparison of data vectors and select vectors that broaden the response domain for requests of the same type, and thereby expand the response domain if, for example, several successive requests fall under a specific theme. The avatar thus allows for the adaptation of the cache data context as well as the data used in response to requests.
Claims
Method for managing a temporary data storage, called a cache, of a user equipment (UE) belonging to a local area network (LAN) communicating with a telecommunications network (NW), said cache being shared by at least two applications run by the UE, the method being implemented by the UE and comprising: storing (E070), within the cache, at least a first vector representing a first request for the provision of a first service issued by a first application to at least one server (Serv) belonging to the telecommunications network (NW) and at least a second vector representing data, in natural language, relating to a first service provided by said at least one server in response to the first request (E130), obtaining at least a third vector representing a second request for the provision of a second service issued by a second application,obtaining data relating to the second service in response to the issuance of the second request, the data relating to the second service being obtained by means of a comparison (E080) of the third vector with the first vector and the second vector, the transmission of the data relating to the second service to the second application. Management method according to claim 1, comprising prior to the storage (E070) of the first vector: the splitting (E040, E150) of data relating to the first request and of 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 (E050) of the first plurality of word groups to a vectorization entity (HE) belonging to the telecommunications network, the reception (E070) of the first and second vectors prior to their storage in a cache entry, the vectors being obtained by applying, to the first plurality of word groups, a vectorization function (E060, E170) implemented by the vectorization entity (HE). Management method according to claim 1 or claim 2, wherein a cache entry comprises: a validity period of said at least a second vector stored in said entry, an identifier of the vectorization function applied. 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 (E200) 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 obtained data relating to the first service, dividing (E250) the updated data relating to the first 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, transmitting (E260) the second plurality of word groups to a vectorization entity, storing (E280) them in said identified entry,of at least a fourth representative vector of data relating to the first updated service, the fourth vector being obtained by applying (E270) the vectorization function to the second plurality of word groups. Management method according to claim 4, wherein the updating of vectors stored in the cache is implemented periodically. Management method according to claim 4 or claim 5, wherein the updating of the vectors stored in the cache is implemented for each theme. 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. Management method according to any one of the preceding claims, wherein, when a representative comparison score (E080) 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 (NW). A management method according to any one of the preceding claims, wherein, when a quality of attachment measure of the local communication network (LAN) 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 (NW). A management method according to any one of the preceding claims comprises: obtaining, from a third application, a third request in provision of a third service, the splitting (E040) of the third request 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 threshold, the transmission (E050), to a vectorization entity (HE), of the third word group and a request to modify the weight value assigned to at least a fifth vector obtained by applying the vectorization function to the third word group, the modification of the weight values allowing to modify a semantic distance between the at least a fifth vector and the at least second vector and / or at least a fourth vector. An entity belonging to a first local area network (LAN) communicating with a telecommunications network (NV), comprising a temporary data storage, called a cache, said cache being shared by at least two applications executed by said entity, said entity comprising at least one processor (PROC) configured to: store, within the cache, at least a first vector representing a first request for the provision of a first service issued by a first application to at least one server belonging to the telecommunications network and at least a second vector representing data, in natural language, relating to a first service provided by said at least one server in response to the first request, obtain at least a third vector representing a second request for the provision of a second service issued by a second application,To obtain data relating to the second service in response to the issuance of the second request, the data relating to the second service being obtained by means of a comparison of the third vector with the first vector and the second vector, and to transmit data relating to the second service to the second application. Gateway comprising an entity according to claim 11, said gateway being intended to interface the local communication network (LAN) with the telecommunications network (NW). 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. 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. Computer-readable recording medium on which a computer program according to claim 14 is recorded.