Accelerated execution of a web application by an audio-visual content playback terminal, via a gateway
Patent Information
- Application Number
- FR2023009007
- Authority / Receiving Office
- FR · FR
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-08-28
- Publication Date
- 2025-03-07
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Title of the invention: Accelerated execution of a web application by an audio-visual content playback terminal, through a gateway FIELD OF INVENTION
[0001] The present invention relates to the field of applications for terminals for playing audio-video (or audio-visual) content streams. It is particularly applicable to terminals such as televisions or TV sticks.
[0002] Many applications deployed on terminals are web applications, that is to say, they are hosted on web servers and accessible through a browser or other native tool installed on the terminal.
[0003] Web servers are typically remote and accessible through a telecommunications network such as the Internet.
[0004] This architecture allows application owners to easily modify them, to change their content, without having to download a new version onto the terminals.
[0005] These web applications allow terminal users to access various services related to audio-video content: for example, each of these different applications allows access to content broadcast by distinct providers. For instance, there may be applications linked to television channels, radio stations, and on-demand content services (such as Netflix™, Amazon Prime™, Spotify™, YouTube™...).
[0006] When the user turns on their terminal, embedded software managing the human-machine interface will trigger requests to the servers where the applications are hosted for each application configured on the terminal.
[0007] These first requests aim to at least allow the display of some initial content linked to each application: this initial content may only be an icon, but in some cases, the interface is configured to display dynamic content linked to the application.
[0008] It follows that when the terminal is switched on, it will request the various servers to download the content related to the configured web applications.
[0009] However, the switching on of content streaming devices is a response to social behaviors. These can be based on general habits, such as switching on the television when one arrives home at the end of the day. They can also be based on major events, such as the broadcast of a sporting competition, for example.
[0010] Turning on a large number of terminals in a short time window generates a large number of requests received by the servers, and their congestion.
[0011] In addition, web technology implies that several successive requests may be necessary in order to retrieve all the elements required to produce the content required for an application: for example, a first request to a domain name system or DNS (for "Domain Name System" in English), a request to retrieve the main HTML page, then requests to retrieve the different elements referenced in this HTML page (images, Javascript code, etc.).
[0012] Terminals connected to the telecommunications network via an ADSL-type access network are further penalized by the low uplink bandwidth. The large number of requests (upstream, therefore) to congested servers generates significant latency for launching the web application.
[0013] One solution to this problem could be to oversize the servers so that they can handle the request points. Outside of these peak periods, the servers are therefore necessarily underutilized.
[0014] Such a solution suffers from at least two major drawbacks.
[0015] First, as the number of terminals deployed and the number of applications configured on these terminals increase, it is difficult to maintain a server sizing that is in line with the growth of needs.
[0016] Above all, oversizing servers is detrimental in terms of overall energy management. Such a solution therefore clearly runs counter to the environmental and energy efficiency policies that are increasingly being implemented worldwide.
[0017] It is therefore necessary to find other solutions to improve the user experience of terminals when they are switched on, while minimizing the energy impact. Summary of the invention
[0018] To this end, it is proposed to intervene at the level of the gateways which allow terminals to connect via a telecommunications network to the remote servers where the web applications are hosted.
[0019] More specifically, according to a first aspect, the present invention can be implemented by a method for executing by a terminal a web application whose associated resources are stored on a remote web server, said method comprising the steps of: - detection by a gateway of a presence within said terminal of a call to said web application and identification of said remote web server; - determination of a time period corresponding to low associated traffic remote web server audit; - downloading at least part of said resource set during said period via said gateway; - interception by said gateway of a request from said terminal to a resource among said at least a part of said set of resources, and transmission of said resource corresponding to said request to said terminal.
[0020] This transmission of the resource to the terminal occurs without requesting it from the remote web server. Thus, as will be seen later, the cost of downloading the resources is shifted to periods when the server load is both lower and less impactful on the execution of the web application. This access is therefore accelerated, without requiring oversizing of the server or other equipment.
[0021] According to preferred embodiments, the invention comprises one or more of the following features which can be used separately or in partial combination with each other or in total combination with each other: - at least part of said resource set is stored on an internal web server of said gateway. This allows for better resource management within the gateway, by enabling the resources to be managed in a protocol-similar manner depending on whether they are available on a remote web server or on a local web server (HTTP protocol...). - at least a part of said resource set consists of static resources. As will be seen later, it is therefore possible to download only the resources unlikely to change in the short term, while continuing to download the more dynamic resources in order to allow a good compromise between accelerating execution and taking into account the dynamic nature of web applications. - said traffic corresponds to a load on said remote web server. - This interception works in conjunction with an application container deployed on the gateway to isolate the processing of these steps within the gateway. This provides better isolation of the proposed mechanism from the other functionalities of the gateway. - said detection includes an analysis of previous requests from said terminal to a domain name system based on an application database. - Interception (S4) includes an analysis of a first request from said terminal intended for said domain name system, to determine if said first request corresponds to said web application (A) and, if so, a recording of an IP address corresponding to said first request, and detection of said request from said terminal to said resource from said IP address. These mechanisms allow the gateway to learn on its own the web applications that terminals wish to access without depending on the functionalities of the terminals, such as self-learning mechanisms.
[0022] Another aspect of the invention relates to a gateway for the execution by a terminal of a web application whose associated resources are stored on a remote web server, said gateway comprising processing means adapted for: - to detect the presence within said terminal of a call to said web application and to identify said remote web server; - determine a time period corresponding to low traffic associated with said remote web server; - download at least part of said resource set during said period via said gateway; - intercept a request from said terminal to a resource from said at least a part of said set of resources, and transmit said resource corresponding to said request to said terminal.
[0023] Another aspect of the invention relates to a computer program comprising code instructions which, when executed by a gateway processor, carries out the steps of the process as previously described.
[0024] Another aspect of the invention relates to a data carrier on which at least one series of program code instructions for the execution of a process as previously described has been stored.
[0025] Other features and advantages of the invention will become apparent from the following description of a preferred embodiment of the invention, given by way of example and with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE FIGURES
[0026] The attached drawings illustrate the invention: - Figure 1 illustrates a telecommunications network enabling the implementation of work of a process according to embodiments of the invention; - Figure [Fig. 2] schematically represents a functional architecture of a gateway according to embodiments of the invention; - Fig. 3 illustrates a chronogram showing a process according to a method of implementation work of the invention; - Figure 4 illustrates a simplified example of resource recovery by the terminal according to an embodiment; - [Fig.5] represents a chronogram illustrating a particular way of carrying out a step in the process; - Fig. 6 illustrates a functional software architecture of a gateway according to one embodiment. DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION
[0027] The [Fig.1] illustrates a telecommunications network, NET, allowing a plurality of terminals or audio-visual content reading devices T1, T2, T3 to access and thus execute a web application A hosted on a remote server S.
[0028] These terminals or reading devices can be of different types, such as, in particular, a mobile terminal, a connected television, a computer, a TV key, etc.
[0029] The mobile terminal can typically be a "smartphone" type smart phone or a digital tablet, adapted to receive multimedia streams and to produce them on an interface of the terminal or connected to said terminal.
[0030] A television can be natively connected or connected via an associated device such as, for example, an HDMI dongle connected to the television.
[0031] A connected television or smart TV is a television connected, directly or indirectly, to the Internet in order to provide a range of services to viewers, including access to web applications.
[0032] As mentioned previously, these web applications allow users to access different services related to audio-video content: for example, these different applications allow access to content broadcast by different providers: for example, there may be applications related to television channels, radio stations, on-demand content services (such as Netflix™, Amazon Prime™, Spotify™, YouTube™...).
[0033] External devices, or "TV keys", can connect to non-connected televisions to enable them to obtain functionalities identical or similar to connected televisions.
[0034] An example of an external device, or TV dongle, communicating with a TV is Chromecast™. Chromecast is a real-time media streaming device (media gateway) developed and marketed by Google. The device plugs into the HDMI port of a TV and communicates, via Wi-Fi, with another device connected to the Internet (computer, smartphone, tablet, etc.) in order to display on the TV the media content received from an application compatible with Google Cast technology, from the Google Chrome browser on a computer, or from certain Android devices.
[0035] Connected televisions and TV sticks share the characteristic of being statistically switched on in similar time slots for a large number of people.
[0036] These time slots may, for example, correspond to the majority of the population's working schedules. Thus, statistically and depending on location (country, region, city, etc.), people arrive home at the end of the day within a relatively short time window, and turn on their television within an even shorter time window.
[0037] Also, special events can cause televisions and TV keys to switch on in similarly reduced time windows: for example before the start of a major sporting event (important football match, popular Olympic competition, etc.), or other.
[0038] However, the described process is also likely to be applicable to other types of terminals, including telephones or "smartphone" type communication terminals, digital tablets, computers, etc.
[0039] The terminals are adapted to receive data streams corresponding to content selected by users. This content can be associated with web applications: for example, a terminal will receive a data stream of selected content through a web application corresponding to a given on-demand content channel or service.
[0040] These data streams can typically be multimedia streams. These typically include video or audio-video streams (or content). They can also include audio streams (music, radio broadcasts, etc.) or interactive content (including games). They can be on-demand content or live content. This transmission method can be an IPTV (Internet Protocol Television) type transmission method, but other transmission methods are obviously possible.
[0041] Typically, terminals can connect to the public network (Internet...) via a gateway P.
[0042] This gateway is typically a home gateway, which is a computer device serving as an interface between the Internet (via an access network) and the home network. This type of gateway is also called an "internet box".
[0043] It is designed to ensure data transmission between the two networks, notably by performing the appropriate protocol conversions. It typically offers additional features such as those of a router allowing the various terminals to form a home local area network (generally Wi-Fi), a firewall, etc.
[0044] The relevant Wikipedia pages, for example, provide additional information on these gateways:
[0045] http s: / / fr. Wikipedia. org / wiki / Box_Intemet
[0046] https: / / en.wikipedia.org / wiki / Residential_gateway
[0047] An example of a gateway P is the Livebox™ from the company Orange.
[0048] Figure [Fig.2] schematically represents a high-level functional architecture of a gateway according to embodiments.
[0049] This gateway P includes processing means, TRT, adapted to implement the process described below, according to its various embodiments and possible options. These processing means typically include at least one microprocessor and memory designed to store a computer program containing instructions that implement this process when executed by at least one microprocessor. The processing means TRT may also include electronic circuits and other memory adapted to operate in conjunction with at least one microprocessor.
[0050] The gateway may also include a local web server, SL, a database DB, depending on different implementation options.
[0051] The gateway may also include various equipment and functionalities not directly related to the proposed process and which will therefore not be described.
[0052] Fig. 3 illustrates, in the form of a chronogram, one embodiment of a proposed process.
[0053] This method aims at the execution by a terminal (content reading) T of a web application A located on a remote server.
[0054] This web application is associated with a set of resources stored on a remote web server, typically the one hosting the web application. In the illustrated embodiment, it is assumed that the resources are co-located with application A on server S, without restricting the generality of the method.
[0055] The method will be described for a terminal that triggers the execution of a web application. However, the method can be generalized to a plurality of terminals and to access to a plurality of web applications. Indeed, the same steps can be implemented for each execution by a terminal (among, possibly, a plurality) of a web application (among, possibly, a plurality).
[0056] The method includes a first step of detection, SI, by the gateway P, of the presence, within the terminal T, of a call to the web application A and of identification of the remote web server hosting the web application A.
[0057] This detection can be implemented according to different mechanisms.
[0058] According to one embodiment, the detection includes an analysis of previous requests from terminal T to a domain name system based on an application database.
[0059] A domain name system, or DNS (for "Domain Name System"), is a distributed computer service that associates Internet domain names with their IP addresses or other types of records.
[0060] More specifically, the domain name system can associate part of a web application identifier with an IP address.
[0061] For example, a web application may have for identifier www.myserver.fr / myapplication, in which "www.myserver.fr" forms a domain name and "myapplication" identifies the web application hosted on a server corresponding to this domain name.
[0062] The domain name system associates the domain name "www.myserver.fr" with an IP address that corresponds to a given server.
[0063] This indirection makes it possible to make usable public addresses (domain names) independent of the network infrastructure. It is thus possible to move the web application from one machine to another without its "public address" changing.
[0064] Web application identifiers can, for example, be URLs for "Unified Resource Locator" in English.
[0065] The application database contains a set of identifiers for web applications that can be used by a terminal. According to this embodiment, the detection step SI includes identifying a subset of these applications that are actually used by the terminal T.
[0066] This application database can be populated in different ways.
[0067] In one embodiment, the gateway and the web applications are managed by the same operator. For example, Orange can provide a Livebox™ gateway and web applications for accessing content channel packages. Other operators follow this same business model.
[0068] In such a situation, the gateway P can be easily configured by the operator himself with the identifiers of the web applications that he makes available to the terminals.
[0069] A public server could also be considered, in which the various operators and providers of web applications would supply the identifiers of their web applications (for example, in the form of a URL). The gateways P would then be adapted to download this database in order to know all the web applications that could be installed by a terminal.
[0070] Gateway P can then analyze previous requests by consulting a history, or log, stored in the gateway's memory, of type "Log".
[0071] According to another embodiment, the SI detection step may not be based on a database of web applications that could be used, but directly on the provision of applications installed on the terminal. In this case, there is no need to analyze previous requests.
[0072] For example, an interface may be provided to allow users to provide identifiers of the web applications it uses so that these identifiers are stored within the gateway P.
[0073] Automatic discovery mechanisms can also be put in place, for example by means of a dedicated application installed on the terminal and designed to analyze the terminal configuration and provide a list of web applications configured on the terminal interface to the gateway P.
[0074] Such an automatic discovery mechanism can be based on the SSDP protocol (acronym for "Simple Service Discovery Protocol" in English) developed by the UPnP forum (for "Universal Plug and Play") intended to allow network terminals to communicate and discover each other.
[0075] Previous queries from the terminal to the Domain Name System (DNS) can be analyzed to verify whether they relate to an identifier of a web application contained in an application database (DB). This database is contained within the gateway P or is external and functionally connected to it.
[0076] If a request concerns an identifier of a web application stored in the database, then it can be deduced that a call to the web application is configured, or present, on terminal T. The remote web server, which hosts the web application, is also directly deduced: its URL is deduced from the content of the application database and its IP address is deduced from the response of the domain name system.
[0077] If gateway P detects the presence of a call to a web application A, then a step S2 provides for the determination of a time period corresponding to low traffic associated with the remote server S hosting this web application A.
[0078] In one embodiment, this traffic corresponds to a load on the remote web server. Indeed, the server load can be considered to be directly impacted by the traffic generated by the various terminals sending it requests. The server load is an indicator of its ability to respond quickly to each request and therefore directly impacts the Quality of Service (QoS) it provides, and thus the execution speed of web applications and the latency involved in these executions.
[0079] This load can be an estimated load. This estimated load can be determined by the gateway without the need to query the remote web server (such a query would contribute to the server load and harm the latency of the web application execution).
[0080] This estimated load can be determined statistically.
[0081] For example, it can be established that, statistically, during a day, the load is low during certain time slots (at night, for example) and high during certain other time slots. Such a statistic may correspond to an average of the lifestyles of users of the web applications in question.
[0082] It is thus possible to determine a time period corresponding to low traffic for the remote web server, the term "low" referring to a lower relative value compared to the values taken during a cycle, for example daily.
[0083] In an S3 step, at least a portion of the set of resources associated with the web application is downloaded during such a time period. In a particular case, all of the resources may be downloaded.
[0084] If the time period is determined according to a rule common to a set of gateways, then they can all trigger downloads simultaneously. Since this period corresponds to a period of inactivity of the web application, the resulting latencies do not pose any particular problems.
[0085] It may also be provided for to introduce a random element so that each gateway triggers the download at a distinct time within the time period, in order to avoid these congestions of the remote web server S.
[0086] As illustrated in the example in [Fig.3], the download can be triggered by an ml request transmitted by the gateway to the remote web server A, associated with the web application A.
[0087] In response, the remote web server S transmits part (which may be the entirety in a particular case) of the set of resources associated with the web application A, in one or more m2 messages.
[0088] According to one embodiment (illustrated by this [Fig.3]), the downloaded part is stored on an internal, or local, web server, SL, associated with the gateway P. The downloaded resources can retain an identifier similar to that on the remote web server S.
[0089] According to one embodiment, the downloaded portion constitutes the entirety of the resources associated with the web application A.
[0090] According to another embodiment, the downloaded part constitutes a proper subset of the set of resources associated with the web application A.
[0091] In particular, this part may correspond to the static resources associated with the web application. These static resources are those that are unlikely to be modified in the short term. "Short term" may refer to the frequency of resource downloads. For example, if the gateway is expected to download the resources daily (within a time period determined in step S2), then if a resource is unlikely to be modified during the day, it can be considered a static resource. Examples of static resources may include logos, illustrative images, JavaScript code, and code for CSS-type formatting (for "Cascading Style Sheet" in English), etc.
[0092] According to one embodiment, the retrieval can be performed resource by resource. For example, the gateway transmits an ml request for each resource and the server transmits said resource in response in as many m2 messages.
[0093] According to another embodiment, the resources are transmitted, for example in compressed form, as a single file. This file, or archive, can be built by the remote web server and made available to the gateways. A single ml request to this file triggers its retrieval by means of a single m2 message.
[0094] This embodiment seems more interesting because it involves fewer requests on the network and also allows, when constructing the file, for specifying which resources are considered static.
[0095] The format of the ml request can be that of a classic web request. It can therefore be, for example, a "GET" request from the HTTP protocol to the desired resource. This resource is identified by an address comprising a domain name (corresponding to the remote web server) and a resource name. This resource name may include the name of web application A, according to various implementation details accessible to a person skilled in the art.
[0096] For example, an image resource may have the following address:
[0097] www.monserveur.fr / monapplication / ressource.jpeg
[0098] In the case of a file containing a set of resources, the address can be of the type
[0099] www.monserveur.fr / monapplication / archive.tgz
[0100] or even
[0101] www.monserveur.fr / archive.tgz
[0102] “tgz” is here an example of a compressed file extension (archive file created with tar and then compressed with gzip, usually on a Unix-type operating system).
[0103] Step S4 can take place when a terminal T is switched on or activated, or in any other situation that triggers access to the web application A. This step S4 is likely to be triggered concurrently on many gateways P. It is therefore a potentially significant traffic moment for the remote web server S, but one that is strongly limited by the process described.
[0104] In this step S4, the gateway P receives and intercepts a request m6 from the terminal T to a resource from the part of the resource set that has been previously downloaded, and transmits, via one or more messages m8, the resource corresponding to the request (and which has been previously downloaded) to the terminal, without soliciting the remote web server S.
[0105] In one embodiment (illustrated by [Fig.3]), the gateway P actually transmits the request to the internal (or local) web server SL, message m7, and it is the latter that transmits the resource(s) to the terminal T, in accordance with the HTTP protocol.
[0106] When the downloaded portion of the resources forms a proper (or strict) subset of the set of resources, the gateway P can receive m3 messages and forward them, conventionally, to the remote web server S, message m4, when they concern resources that have not been downloaded (i.e., belonging to the complementary set of the downloaded portion). In which case, the remote web server S transmits the requested resources, in one or more m5 messages, to the terminal T, in accordance with the HTTP protocol.
[0107] Typically, an initial m3 request relates to a resource which itself may reference other resources. An exchange between a terminal and a web server therefore generally comprises a set of requests and responses (which normally contain the requested resource corresponding to a request).
[0108] For example, a first m3 request may relate to a resource "index.html".
[0109] The html file (for "HyperText Markup Language" in English) contains re references to other resources: Java scripts (“framework.js”, “polyfill.js”, “main.js”), CSS stylesheets (“style.css”), JSON data (for “JavaScript Object Notation” in English, “config.json”, images (“desk.jpeg”, “play.png”, “ads.jpg”).
[0110] Upon receiving the main file "index.html", the terminal T parses its contents to determine the referenced resources and, if it does not already have them in its own cache, transmits new m3, m6 requests to the gateway. These referenced resources may themselves contain other references to resources which, in turn, will follow the same process to be downloaded.
[0111] Gateway P can determine whether the requested resource corresponds to a resource that it has available (i.e., that it previously downloaded in step S3) or not.
[0112] Fig. 4 illustrates a concrete, but simplified, case of resource retrieval by terminal T from both gateway P and remote web server S. In this illustration, only downloads are represented, but each download is triggered by a request from terminal T.
[0113] In this example, we note that a substantial part of the resources associated with application A are downloaded from gateway P, and not from remote server P. The latter is thus relieved of a significant load.
[0114] In general, the method prevents concurrent downloads of too many resources by multiple terminals. This avoids overloading the web servers hosting the web applications. For the terminals, this results in a better quality of service during the execution of the applications. Web applications benefit from improved latency and faster execution speeds. Web server load is also better distributed, even during periods of low usage. This allows for optimal sizing of web servers while maintaining sound energy management.
[0115] Fig. 5 represents a timing diagram illustrating a particular embodiment of step S3 of the proposed process, based on an interaction with a domain name server, DNS (for "Domain Name Server").
[0116] Terminal T knows a logical address of the remote web server S, hosting the web application A, but not its physical address. In order to request a resource, it must therefore query a DNS domain name server, message m31.
[0117] The gateway redirects this request to a DNS server, then forwards its m33 response to terminal T, message m34. This message is standard in itself, but in addition it allows the gateway to learn an association between the logical address and the physical address of the remote web server.
[0118] The gateway can thus determine the identifier of a resource from a request containing its physical address. Thus, from a physical address (IP address), it can determine an identifier based on the identification of web application A.
[0119] In particular, in one embodiment, the S4 interception includes analyzing a first m31 request from the terminal T destined for the domain name system to determine whether this first request corresponds to the web application A and, if so, storing an IP address corresponding to this first request (i.e., generally, the address of the "destination" field of the m31 message). Then, the detection of m6 requests from said terminal to said resource to be intercepted is performed using the IP address.
[0120] Taking up the example cited above, such a resource identifier can take the form: www.myserver.fr / myapplication / resource.jpeg (in the case of an image resource in JPEG format).
[0121] Thus, upon receiving a request m3, addressed to the physical address of web server A, gateway A is able to determine the identifier of the requested resource and, in this case, that it does not have this resource. The request is retransmitted, m4, to the remote server S, thereby triggering its download m5.
[0122] Upon receiving the request m6, the gateway can determine the identifier of the requested resource and that it has this resource (previously downloaded). It forwards the request, m7, to the local web server, which can then forward the resource (previously downloaded), m8, to the terminal T. In this case, the remote web server is not involved.
[0123] Figure 6 illustrates a functional software architecture of a gateway P according to a particular embodiment implementing an application container.
[0124] Unlike virtual machines, containers do not emulate hardware, but the operating system. Several isolated containers can be used within an operating system installation.
[0125] As illustrated in [Fig.6], a C container engine can be deployed on top of the operating system, OS, implemented by the TRT processing means of the P platform.
[0126] Several Cl, C2 containers can thus be deployed on top of the C container engine.
[0127] Each container can contain a Lib library allowing access to the functionalities of the container engine and ensuring the interface between the MT application, FW so that the container-based software architecture is transparent to it.
[0128] The FW application is for example the firewall (or “Firewall”) classically embedded on the gateway P.
[0129] The MT application represents the software means adapted to the implementation of the described process (that is to say, schematically, the software means of the TRT processing means, previously mentioned).
[0130] The use of containers provides a great deal of flexibility, such as: isolation between applications, the ability to easily add a new web application caching service, control over the resources used by containers,...
[0131] According to one embodiment, virtual machines can be used instead of containers.
[0132] Of course, the present invention is not limited to the examples and embodiment described and illustrated, but is defined by the claims. In particular, it is susceptible of numerous variations accessible to those skilled in the art.
Claims
Claims
1. Method for the execution by a terminal (T) of a web application (A) of which a set of associated resources is stored on a remote web server (S), said method comprising steps of: - detection (SI) by a gateway (P) of a presence within said terminal of a call to said web application and identification of said remote web server; - determination (S2) of a time period corresponding to low traffic associated with said remote web server; - downloading (S3) of at least a part of said set of resources during said period by said gateway; - interception (S4) by said gateway of a request (m6) from said terminal to a resource among said at least a part of said set of resources, and transmission (m8) of said resource corresponding to said request to said terminal.
2. Method according to the preceding claim, wherein said at least part of said set of resources is stored on an internal web server (SL) of said gateway.
3. Method according to one of the preceding claims in which said at least part of said set of resources consists of static resources.
4. Method according to one of the preceding claims, wherein said traffic corresponds to a load of said remote web server.
5. Method according to one of the preceding claims, in which said interception operates in collaboration with an application container (Cl) deployed on said gateway (P) in order to isolate the processing (T) of said steps within said gateway.
6. Method according to one of the preceding claims in which said detection (SI) comprises an analysis of previous requests from said terminal to a domain name system based on an application database (DB)
7. Method according to the preceding claim, in which said interception (S4) comprises an analysis of a first request from said terminal intended for said domain name system, to determine whether said first request corresponds to said web application (A) and, in this case, a storage of an IP address corresponding to said first request, and detection of said request from said terminal to said resource from said IP address.
8. Gateway for the execution by a terminal (T) of a web application (A) of which a set of associated resources is stored on a remote web server (S), said gateway comprising processing means (TRT) adapted to: - detect a presence within said terminal of a call to said web application and to identify said remote web server; - determine a time period corresponding to low traffic associated with said remote web server; - download at least a part of said set of resources during said period by said gateway; - intercept a request (m6) from said terminal to a resource among said at least a part of said set of resources, and transmit (m8) said resource corresponding to said request to said terminal.
9. A computer program capable of being implemented on a gateway, the program comprising code instructions which, when executed by a processor, performs the steps of the method defined in claims 1 to 6.
10. Data carrier on which at least one series of program code instructions has been stored for executing a method according to one of claims 1 to 6.
Citation Information
Patent Citations
Method and System for Facilitating Remote Downloading
US20120066347A1