downloading a web page optimized for event-driven traffic spikes
By dynamically adapting to traffic peaks and emitting a specific page linked to relevant audio-video content, the server workload is reduced, effectively managing traffic spikes and optimizing resource usage and costs for web TV applications.
Patent Information
- Application Number
- FR2023012251
- Authority / Receiving Office
- FR · FR
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-11-09
- Publication Date
- 2025-05-16
AI Technical Summary
Web TV applications face significant challenges in managing traffic spikes during events, leading to high computational loads on servers, which can result in poor performance and increased costs due to the need for oversized servers.
Implementing a process where the server dynamically adapts to traffic peaks by emitting a specific, less computationally demanding page linked to the relevant audio-video content, thereby reducing the server's load during peak traffic.
This approach effectively manages traffic spikes by reducing the computational workload on servers during peak events, preventing performance degradation, and avoiding the need for oversized servers, thus optimizing resource usage and costs.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Title of the invention: Downloading a web page optimized for event-related traffic peaks FIELD OF THE INVENTION
[0001] The present invention relates to the downloading from a server to a telecommunications client of a web page referencing a set of elements to be dynamically determined. It applies particularly to web pages of web applications that may face significant traffic peaks, such as "web TV" type applications.
[0002] A Web TV type application aims to offer the usual services of a connected television from a browser that can connect to a website. A user of a computer or any telecommunications device (such as a digital tablet, smartphone, etc.) can thus connect to the “web TV” application and view a chosen audio or audio-video program via their browser.
[0003] “Web TV” type applications thus aim to offer a bouquet of audio and / or video content to users, this content being able to be broadcast live (or “live streaming” in English) or delayed in the form of videos on demand.
[0004] Such an application can aggregate content from different sources.
[0005] The content offering may vary over time, particularly because audio-video content is inherently linked to current events, but also because content providers may regularly update their offering for marketing reasons.
[0006] Also, the content offering may vary depending on the users. They may be registered with the application and have access to content that may therefore depend on their profile, including channels or packages to which they have subscribed.
[0007] It therefore appears that the application cannot present a static web page, at least as a home page, but a page dynamically constructed according to the time at which the request is received and the user from whom this request comes.
[0008] The web page then typically consists of a minimal static frame and references to elements that are dynamically incorporated into the page, in order to construct this web page on demand so that it can be produced on the human-machine interface of the user's browser.
[0009] These elements can in particular be determined by computer code (typically in Javascript language) incorporated or referenced in the frame of the web page. This computer code is intended to retrieve the dynamic elements in databases based on, for example, contextual parameters (user ID, current time, etc.) and the logic implemented by the computer code.
[0010] When it receives a request from a user's client (telecommunications terminal, computer, etc. hosting a web browser), the server hosting the web application can return the web page frame, leaving it up to the client to execute the computer code and determine and then download the various constituent elements of the web page, in order to produce it on the terminal screen.
[0011] However, a "web TV" type application can have a commercial purpose and therefore obtain the greatest possible visibility on the Web. This visibility requires good referencing with the various search engines.
[0012] Therefore, the server hosting the web application cannot return only this web page frame and the computer code because they would not be correctly processed by search engines. In particular, these are not adapted to execute the computer code and therefore could not retrieve the different constituent elements of the web page. Therefore, search engines could not take into account the content of these pages and therefore could not reference them correctly.
[0013] The web page must therefore be constructed by the server and transmitted to the clients, once constructed, that is to say after integration of the different constituent elements, dynamically determined.
[0014] This type of operation is generally called SSR for “Server Side Rendering” in English.
[0015] This is a technique used in web development that involves using scripts on a web server that produce a customized response for each user (client) request on the website. Scripts can be written in any of the available server-side scripting languages (such as Javascript, PHP, Python, etc.). SSR is distinct from client-side rendering, in which embedded scripts are executed client-side in a web browser, but the two techniques are often used together. The alternative to either or both types of scripting is for the web server itself to provide a static web page.
[0016] This technique therefore places a significant load on the server, which must be able to construct web pages on the fly for each request received from a user. Conventionally, servers are sized to cope with the load induced by this operation. However, in the context of a Web TV type application, as previously explained, the server must cope with a high variability in the number of requests over time and extremely large peaks.
[0017] For example, before an important event (speech by the President of the Republic, start of a sports competition match, announcement of a catastrophe, etc.), the server may receive a number of requests several dozen times higher than the nominal rate (a few minutes before).
[0018] Sizing the server on the basis of these load peaks would be theoretically possible, but would require on the one hand to predict the maximum intensity of these peaks, and in addition to having resources that are far too large for the nominal regime. To the extent that these load peaks can be relatively exceptional or in any case infrequent, this oversizing would be non-optimal in terms of costs for the server operator and detrimental in ecological terms.
[0019] There is therefore a need to improve the current state-of-the-art proposals. Summary of the invention
[0020] The invention aims to efficiently manage traffic peaks on servers deploying web applications, particularly of the “web TV” type, having a referencing constraint, and by avoiding oversizing the servers.
[0021] For these purposes, according to a first aspect, the present invention can be implemented by a method of access by a client to a web service deployed on a server through a telecommunications network, said method comprising - receiving a request designating a requested page, said requested page referencing a set of so-called dynamic elements, requiring to be dynamically determined, at least some of said dynamic elements corresponding to audio-video content, - during a traffic peak associated with at least one audio-video content, - transmission to said client of a specific page linked to said at least one audio-video content, in response to said request.
[0022] Thus, the computational work that the server must deploy to transmit a requested page can be dynamically adapted to the traffic on the server, by offloading requests to a specific page that is less demanding in terms of computational load.
[0023] 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: - said specific page is adapted to reference said at least one audio-video content, and, possibly, said requested page. Thus, the user only needs one action to trigger the downloading of the content associated with the traffic peak, and in which he is statistically most interested. - the said specific page is a static page with no dynamic elements. Thus, the computational work required by the server is reduced to a minimum, allowing it to cope with peak traffic with controlled resources (CPU and memory). - said determination includes monitoring of traffic associated with a set of audio-video content, and detection of a traffic peak among said traffic. The server can thus adapt dynamically to fluctuations in the load and react as soon as a traffic peak appears. - said detection is based on a comparison of said traffic with a determined threshold. - processing operations corresponding to said determination of a traffic peak are triggered prior to said receipt of said request. It is thus possible to share the determination of the peak for several requests.
[0024] Another aspect of the invention relates to a server accessible to a client via a telecommunications network, comprising at least one processor adapted to implement: - a reception of a request designating a requested page, said requested page referencing a set of so-called dynamic elements, requiring to be dynamically determined, at least some of said dynamic elements corresponding to audio-video content, a determination of a traffic peak associated with at least one audio-video content,
[0025] a transmission to said client of a specific page linked to said at least one audio-video content, in response to said request.
[0026] Another aspect of the invention relates to a computer program capable of being implemented on a web server, the program comprising code instructions which, when executed by a processor, carry out the steps of the method as previously defined.
[0027] Another aspect of the invention relates to a data medium on which at least one series of program code instructions has been stored for the execution of a method as previously defined.
[0028] Other characteristics and advantages of the invention will appear on reading the following description of a preferred embodiment of the invention, given by way of example and with reference to the appended drawings. BRIEF DESCRIPTION OF THE FIGURES
[0029] [Fig.l] illustrates a context for implementing a method and a server, according to embodiments of the invention,
[0030] [Fig.2] illustrates an example of a graphical interface that can be displayed by a screen associated with a client, corresponding to a requested page, according to one embodiment of the invention,
[0031] [Fig.3] shows a diagram of a timing diagram according to one embodiment of the invention.
[0032] [Fig.4] illustrates an example of a graphical interface that can be displayed by a screen associated with a client, corresponding to a specific page, according to an embodiment of the invention,
[0033] DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION
[0034] [Fig. 1] illustrates an implementation context of a server S capable of hosting a web application A.
[0035] This server S is accessible to clients through a telecommunications network N.
[0036] This telecommunications network can typically be composed of several interconnected networks, in particular an access network allowing customers to connect to a main network (itself made up of an interconnection of subnetworks) or “backbone” in English.
[0037] The clients may be locally connected to a local area network, LN, for example a wireless local area network, allowing them to access a gateway P to the access network. This wireless local area network, commonly called WLAN for "Wireless Local Area Network" in English, may comply with the Wi-Fi protocols, or wifi, as specified in the IEEE 802.11 family (or ISO / IEC 8802-11) standards documents.
[0038] The customer can also directly access the access network, for example a third, fourth, fifth generation cellular network (3G / 4G / 5G) for example.
[0039] Clients can be of different types, their common feature being the availability of means enabling connection to the network. These are essentially radiocommunication components and electronic and computer components enabling the implementation of the protocol stacks necessary for managing the protocols associated with the network and for receiving and transmitting data packets.
[0040] In [Fig.l], three types of clients are represented: a computer ORD, a mobile communication terminal, MOB, and a connected television TV.
[0041] The mobile terminal MOB is typically a smartphone of the type "smartphone" or a digital tablet.... The computer can be a fixed computer (or "desktop" according to the English vocabulary) or portable (or "laptop").
[0042] The TV can be natively connected or connected via an associated device such as, for example, an HDMI key connected to the TV.
[0043] An example of an external device communicating with a TV is Chromecast. The 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 connection, with another device connected to the Internet (computer, smartphone, tablet, etc.), in order to display on the TV the multimedia content received from an application compatible with Google Cast technology, from the Google Chrome browser on a computer, or from certain Android devices.
[0044] In the illustrative example of [Fig.l], the ORD and TV clients can access the web application A via the local network LN and the gateway P. The MOB client accesses the web application A directly via the telecommunications network N. These two types of access are illustrative and essentially aim to show the diversity of possible connections between a client and the web application A.
[0045] Clients have software tools adapted to allow the user to connect to a web application and to view content transmitted from this web application. In particular, in the case of a web application of the “Web TV” type, the software tool (commonly called “browser” or “web browser” in English) is adapted to allow the production of audio or audio-video content on a human-machine interface associated with the client (client screen, external screen connected to the client, etc.)
[0046] Audio or audio-video content includes live broadcast content that may be linked to television channels, radio broadcasts, etc. It may also be on-demand content (podcast, video on demand, VoD (“video on demand”), etc.).
[0047] The web application A is intended to provide, upon request from clients, web pages referencing different elements.
[0048] These elements may correspond to areas of the web page, the content of which may be individually determined. For example, in the case of a “web TV” type application, the elements may correspond to channels, particular video content, menus, advertising spaces, etc.
[0049] The elements may be associated with both a visual or graphical representation, and a behavior, particularly when pointed at or selected by the user.
[0050] For example, video content may be highlighted or animated differently when the user points at it (e.g., using a mouse or remote control), and triggered to play full screen when selected.
[0051] Selecting other items may result in other actions, such as opening a new web page.
[0052] In particular, the first page, or home page, can thus be dynamically determined. The web application can also contain dynamically determined pages and static pages (pure HTML code). Some pages can also be a mix of the two, that is to say, include static elements and elements to be determined dynamically.
[0053] [Fig.2] illustrates an example of a graphical interface that can be displayed by a screen associated with a client. This example page can be a home page.
[0054] This graphical interface can display, concomitantly, video content, or stream, in a zone Cl, and a navigation zone NAV allowing interactions with the user of the terminal and in particular allowing the video stream to be displayed in the zone Cl to be changed.
[0055] The navigation zone NAV comprises a set of zones CS1, CS2, CS3, CS4, CS5 intended for the display of secondary video streams, or content. These secondary contents may, for example, correspond to other television channels.
[0056] Selecting a secondary zone can trigger the display of secondary video content in the main zone CL. The content previously displayed in this main zone Cl can then be displayed in a secondary zone. The user can thus zap from one video content to another video by means of this graphical interface.
[0057] The navigation area may also include menus M1, M2, M3, M4, M5, allowing other navigation options, for example changing the source of multimedia content: this may for example involve connecting to another content server SC, retrieving locally stored multimedia content, etc.
[0058] The graphical interface may include other elements not shown in the figure: menus, drop-down menus or others, accessible for example by means of the selection of a menu M1, M2, ML3, M4, M5, or a key on a remote control associated with the terminal 10, etc. These elements may allow access to still other options, for example to all the available television channels.
[0059] As previously stated, elements of this page can be dynamically determined in order to reflect the different contents, in particular audio-videos, available and accessible to the user depending on his profile and the current time. The web page therefore references these elements which must be determined dynamically, and which will subsequently be called “dynamic elements”.
[0060] The web page may also include static elements, i.e. elements that do not need to be dynamically determined. These static elements do not depend on current events or the user: they may be general information, graphic elements of the web page that are always present, the CSS style sheet, etc.
[0061] According to one embodiment, the web page may be a canvas, or a frame, comprising very few static elements and mainly consisting of elements that must be determined dynamically (dynamic elements).
[0062] Referencing elements in a web page can be done by any known means. These are typically tags or keywords in the HTML language (" HyperText Markup Language (HTML) in English.
[0063] In particular, the referencing of an element to be dynamically determined can be done by technical means allowing this determination to be automatically triggered. These technical means can be links to resources containing computer code.
[0064] This computer code can be scripts written in one of the available server-side scripting languages (such as Javascript, PHP, Python...).
[0065] It is intended to retrieve dynamic elements from databases based, for example, on contextual parameters (user ID, current time, etc.) and the logic implemented by the computer code. In particular, it may be intended to retrieve the visuals of a video broadcast, a television channel, a menu, as well as the associated actions (in particular allowing the triggering of the downloading of the associated multimedia content from a content server).
[0066] [Fig.3] shows a diagram of a timing diagram according to one embodiment of the invention.
[0067] In a step SI, the client C transmits a request ml to the server S. This request designates a requested page available on this server. This page can, for example, be the home page. This can be designated by the URL (for "Unified Resource Locator") of the server S, or any other address previously provisioned on the client.
[0068] The request may comply with the HTTP protocol (for “HyperText Transfer Protocol” in English).
[0069] This may in particular be a GET request of this HTTP protocol.
[0070] In a step S2, the server S can determine whether there is a traffic peak associated with one or more audio-video contents referenced in the requested page.
[0071] This determination may in particular comprise two sub-steps: - monitoring, S21, of traffic associated with a set of audio-video content, among those referenced in the requested page (by the ml query), and - a detection, S22, of a traffic peak among these traffics.
[0072] The server S can therefore set up a monitoring mechanism to count the number of clients requesting the content referenced in the requested page.
[0073] Traffic can thus be calculated or estimated, for example in number of requests per unit of time.
[0074] The traffic of the different referenced contents (or of a sub-part) can be compared to a determined threshold.
[0075] This threshold can be determined in order to allow the detection of traffic peaks likely to impact the server's capacity to be able to process ml requests from clients in order to determine the dynamic elements referenced in the requested pages.
[0076] Concretely, this threshold can be sized in order to discriminate between normal traffic on a content server and exceptional traffic for which the server is not normally sized (its sizing would be, as previously explained, an oversizing presenting numerous disadvantages in terms of costs and ecological impact).
[0077] For example, the period corresponding to the start of a major sporting competition, a speech by a President of the Republic, the announcement of a catastrophe, etc. may be events likely to generate a traffic peak for the corresponding audio-visual content.
[0078] Generally, only one audio-video content generates a traffic peak at a given time, but it may happen that several contents experience a traffic peak in the same time window. This can be the case, in particular, if the same event is broadcast by several television channels.
[0079] The traffic may be periodically monitored, S21, for example at regular intervals. When a request is received, the latest measurement or estimate is then taken into account. According to another embodiment, the traffic of the server S is measured or estimated upon receipt of a request ml (for example by analyzing a log file).
[0080] In other words, processing operations, corresponding to steps S21 and S22, can be deployed before receiving a request, ml. The processing operation deployed upon receiving this request consists of checking a state of the server, as previously determined, i.e. that there is currently a traffic peak.
[0081] In a step S3, in the case where a traffic peak is detected for at least one content, the server S transmits, m2, to the client C a specific page, in response to the request ml received from this client. This specific page is transmitted instead of the page requested by this client, and is linked to the content(s) associated with the detected traffic peak(s).
[0082] This specific page aims to avoid the server having to determine the different dynamic elements referenced in the requested page. It therefore aims to avoid a significant computational task for the server which, as we have seen, can cause problems during a traffic peak which generates a significant load for the content server.
[0083] Also, according to one embodiment, this specific page may be a static page, which therefore does not include any dynamic elements. This static page requires minimal processing for the server.
[0084] In such an embodiment, the static page can be constructed independently of the requests, for example when a traffic peak is detected. This page is then stored on the server S and transmitted to the clients that issue a request to a page referencing the content corresponding to this traffic peak.
[0085] The specific page can be adapted to reference the audio-video content(s) and possibly the page requested during the ml query.
[0086] This specific page can be quite minimalist and, for example, offer only these two options. The page is then designed to allow the user of client C to either access the content associated with the traffic peak, since, statistically, the probability that he is interested in this content is very high, or to access the requested page.
[0087] With a high probability (statistically a function of the importance of the traffic peak), client C will not select access to the initially requested page. Thus, the corresponding task of determining the dynamic elements referenced in this page will not be triggered. This results in a saving of resources, on the server side, which is all the more important as the traffic peak is high.
[0088] [Fig.4] illustrates a specific page as it can be produced on a human-machine interface of a client C.
[0089] This page contains a CS element corresponding to the content associated with the traffic peak. This element can be simple text, or an image representative of the content.
[0090] The page may also include an RP element corresponding to the requested page. This element may also be simple text, or an image representative of the requested page. If the requested page is the home page, it may be a static view of this home page, for example.
[0091] The elements also include links which, when activated by the user of client C, trigger access to the corresponding resource: audio-video content (CS element) or downloading of the requested page (RP element).
[0092] According to one embodiment, just like the request message ml, this response message m2 containing the specific page can comply with the HTTP protocol. According to the protocol, a set of m2 messages can be transmitted in order to transmit the different constituent elements of the web page.
[0093] Thus, outside of any traffic peak, the behavior of the server S is unchanged and remains the nominal operation.
[0094] When a traffic peak occurs, its behavior is modified and can enter into an operation that can be considered degraded in order to be able to cope with the traffic and the increase in load. This degradation of the quality of service is however balanced by the advantages in terms of server sizing, and therefore cost and ecological cost.
[0095] During a traffic peak, it is possible that a search engine retrieves a specific web page. In this case, it will not be able to correctly reference the web page. However, the probability that a search engine will send a request to the server during a peak in its activity is relatively low. In addition, search engines Search engines regularly send queries to the same page, so the impact of poor ranking on one query is minimized across a set of queries.
[0096] Of course, the present invention is not limited to the examples and the embodiment described and shown. It is in particular susceptible to numerous variants accessible to those skilled in the art.
Claims
Claims
1. Method for access by a client (C) to a web service deployed on a server (S) through a telecommunications network (N), said method comprising receiving (SI) a request designating a requested page, said requested page referencing a set of so-called dynamic elements, requiring to be dynamically determined, at least some of said dynamic elements corresponding to audio-video content, during (S2) a traffic peak associated with at least one audio-video content, transmission (S3) to said client of a specific page linked to said at least one audio-video content, in response to said request.
2. Method according to the preceding claim, in which said specific page is adapted to reference said at least one audio-video content, and, optionally, said requested page.
3. Method according to one of the preceding claims in which said specific page is a static page comprising no dynamic elements.
4. Method according to one of the preceding claims, in which said determination (S2) comprises monitoring (S21) of the traffic associated with a set of audio-video contents, and detecting (S22) a traffic peak among said traffic.
5. Method according to the preceding claim, in which said detection (S22) is based on a comparison of said traffic with a determined threshold.
6. Method according to one of the preceding claims, in which processing operations corresponding to said determination (S2) of a traffic peak are triggered prior to said reception (SI) of said request (ml).
7. Server (S) accessible to a client (C) through a telecommunications network, comprising at least one processor adapted to implement: a reception (SI) of a request designating a requested page, said requested page referencing a set of so-called dynamic elements, requiring to be dynamically determined, at least some of said dynamic elements corresponding to audio-video content, a determination (S2) of a traffic peak associated with at least one audio-video content, a transmission (S3) to said client of a specific page linked to said at least one audio-video content, in response to said request.
8. A computer program capable of being implemented on a server (S), the program comprising code instructions which, when executed by a processor, performs the steps of the method defined in claims 1 to 6.
9. 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
System and method for transferring a file in advance of its use
US20060106807A1
Autonomic Content Load Balancing
US20100218107A1