Internet browsing monitoring system

JP2024542140A5Pending Publication Date: 2025-10-14SCALEFAST INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024526891
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2021-11-02
Filing Date
2022-10-25
Publication Date
2025-10-14

AI Technical Summary

Technical Problem

Existing solutions for monitoring user interactions on web pages are data-intensive, leading to server overload and increased maintenance costs, and historical data becomes irrelevant when the page structure changes without specific tagging.

Method used

An Internet browsing monitoring system that codes elements in CSS, uses a web server to detect interactions, and sends data to an interaction logging server for analysis, encoding interactions into numbers for storage in a database without altering the web page code, utilizing a content distribution network server and extraction, transformation, and loading tools.

Benefits of technology

Enables real-time analysis of user interactions without additional costs, maintaining server performance and allowing easy identification of elements without special processing, while supporting large user connections and reducing server load.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Provides an internet browsing monitoring system. The Internet browsing monitoring system of the present invention comprises a web server 4 arranged to provide at least one web page in which at least some of the elements relevant for browsing monitoring are coded with CSS code. The web page has a mechanism for detecting interactions to be logged. The mechanism is arranged to transmit, when an interaction of a type to be logged is detected, a CSS code corresponding to the element of interest together with at least one indicator of the detected interaction to an interaction logging server 6. The interaction logging server 6 comprises an input storage means 10 arranged to receive the CSS code corresponding to the element of interest and the at least one indicator of the detected interaction, and an extraction means 12 arranged to analyze and break each CSS code corresponding to the element of interest and the at least one indicator of the detected interaction into chunks, to encode at least some of the chunks into a numeric form, and to store the resulting numeric strings encoding the chunks in a database.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to internet browsing monitoring, and more particularly to monitoring browsing and activity within a site or within the pages of a site. [Background technology]

[0002] Website designers have a limited amount of data available to them that allows them to quantify the quality of the sites they design. Historically, the primary source of information has been visitor measurements via page counts.

[0003] To enrich this data, several solutions have been developed that attempt to organize the collection of most user actions within a site, such as within a page. Summary of the Invention [Problem to be solved by the invention]

[0004] However, these solutions have several challenges: First, they must not overload the server side: indeed, monitoring all user interactions with a page is a data-intensive task that can be very problematic in terms of network and server load.

[0005] To solve this problem, it is known to reference the objects of a web page in the order in which they occur in the code. Then, based on this order, the browsing monitoring data is reported. The problem with such a solution is that, without specific tagging, as soon as the structure of the page is lost, all the historical data loses its relevance, which leads to costs being transferred to the maintenance and design of the web page. [Means for solving the problem]

[0006] The present invention aims to improve this situation. For this purpose, the invention proposes an Internet browsing monitoring system, comprising a web server arranged to provide at least one web page, at least some of whose elements relevant for browsing monitoring are coded with CSS code, said web page having a mechanism for detecting interactions to be logged, arranged to transmit, when an interaction of a type to be logged is detected, said CSS code corresponding to said element of interest together with an indicator of said detected interaction to an interaction logging server. Said interaction logging server comprises input storage means arranged to receive said CSS code corresponding to the element of interest and at least one indicator of said detected interaction, as well as extraction means arranged to analyse and break down each CSS code corresponding to the element of interest and said at least one indicator of the detected interaction into chunks, to code at least some of said chunks in the form of numbers and to store the resulting number strings encoding said chunks in a database.

[0007] This device does not require any changes to the code of the web page and systems up the monitoring of all viewing elements, and since the database is constructed from data from the code of the web page, i.e., the basis for the design of the web page, it is extremely advantageous in providing a system that allows for real-time analysis of data without incurring additional costs.

[0008] In various embodiments, the present invention may include at least one of the following features: - the logging server comprises a content delivery network server, and the input storage means is a logging memory of the content delivery network server; - said extraction means is an extraction, transformation and loading tool; the extraction means are further arranged to store the digit sequences encoding the chunks constituting the CSS code corresponding to the target element, such that indicators of the detected interactions are stored in rows of a table of the database and each digit is stored in a separate column; - the extraction means is further arranged to store chunk-number association pairs in a two-column table in the database; - the extraction means is arranged to search for a chunk in the two-column table of the database and to extract a corresponding number, and, if the chunk does not exist, to generate a number and to create a new row consisting of the chunk and the generated number; The detection mechanism is implemented in JavaScript code included in the web page; - the detection mechanism is to send a content query to the content delivery network server, the content weighing less than 1 kb, the query including as parameters at least the URL of the webpage on which the interaction was detected, the CSS code of the target element and an indicator of the detected interaction; the detection mechanism is arranged to detect an interaction from the group consisting of: display of a page, a simple click, a double click, a long press, a quick touch and a long touch; The mechanism has an augmentation function arranged to detect when two interactions of a given interaction type have been detected on the same web page with no page change as the interaction type of the detected interaction, calculate a duration from the time markers for these two interactions, and return this duration together with an indicator of the second detected interaction together with the CSS code corresponding to the target element.

[0009] Other characteristics and advantages of the invention will appear more clearly on reading the following description, derived from non-limiting illustrative examples derived from the drawings, in which: [Brief description of the drawings]

[0010] [Figure 1] 1 is an overall view of an Internet browsing monitoring system according to the present invention; [Diagram 2] FIG. 2 is a diagram showing an example of a function performed by an extraction unit in FIG. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0011] The following drawings and description essentially contain certain components, i.e., they are not only intended for a better understanding of the invention, but may also contribute to the definition of the invention, where appropriate.

[0012] 1 is a general view of an internet browsing monitoring system 2 according to the present invention. In the illustrated example, the unique internet browsing monitoring system 2 comprises a web server 4 and a logging server 6. The web server 4 is arranged to provide web content, in particular web pages, to one or more devices 8 connected to the internet.

[0013] The logging server 6 includes a storage means 10 and an extraction means 12. In the example shown in the figure, the storage means 10 consists of an input storage means and a logging database, which will be described later. In the example shown in the figure, the logging server 6 is furthermore a content delivery network server (i.e. a CDN server), and the extraction means 12 is an extraction, transformation and loading tool ("ETL tool"). As will be seen later, the role of the ETL tool is to process the browsing monitoring data received by the CDN server and record it in said logging database, which is a relational database. In the example shown in the figure, this database is stored in the same place as the input storage means. As a variant, the browsing data may be stored in a different place. In the example shown in the figure, the ETL tool is part of the CDN server. As a variant, the ETL tool may be realized in a separate server or computing resource.

[0014] The storage means 10 may consist of any type of data storage capable of receiving digital data, such as a hard disk, a flash memory hard disk, any form of flash memory, a random area memory, a magnetic disk, a local or cloud distributed storage, etc. The data calculated by the device may be stored in any type of storage means similar to the storage means 4 or in the storage means 4. These data may be deleted or may be kept after the device has performed its task.

[0015] The extraction means 12 have direct or indirect access to said input storage means. The extraction means 12 may be realized in the form of sufficient computer code to be executed by one or more processors. By processor it is understood that any processing means suitable for the calculations described below. Such a processor may be formed in any known manner and in any form capable of providing the necessary computing power for the tasks described below, such as a microprocessor for a personal computer, a dedicated chip of the FPGA or SoC type, a computing resource on a grid or cloud, a cluster of graphical processors (GPU), in the form of a microcontroller, etc. At least one of these may be realized in the form of a dedicated electronic circuit, such as an ASIC. A combination of a processor and an electronic circuit may also be conceivable.

[0016] The process of browsing monitoring is as follows: The device 8 sends a query to the web server 4 to browse a web page Page.html. The web page is composed of displayed elements coded with CSS code. Besides the CSS code, the web page Page.html contains Javascript code which implements a mechanism for detecting interactions to be logged. The mechanism is provided to detect when a user interacts with an element of the web page and to log this interaction. For example, the interaction can be displaying a page (a "page view" event), clicking on an element (simple click, long click, double click, long press, quick touch, long touch, etc.), scrolling over an event (a "mouse over" event), etc. The mechanism may be provided to detect all possible interactions on a web page or only a part of them, depending on the desired logging level.

[0017] When any of the above interactions are detected, the JavaScript code triggers a silent query Int_Dat to the CDN server. The term silent query is used because the query is aimed at content that is of little interest to the device 8 and the results of the query should preferably remain transparent to the device 8. In other words, in the illustrated example, the query is aimed at an image that contains a single pixel (i.e. an image with a size of 1 pixel by 1 pixel) and whose display is not visible. The query Int_Dat thus contains the address of this resource on the CDN server together with all the data to be logged. For this purpose, these data are considered as parameters of the query. Advantageously, the resource weighs less than 1 kb on the logging server side, thus conserving bandwidth and being a resource that is displayed without being noticed by the user.

[0018] Below is an example of an address that the query to the CDN server may target: https: / / 8vhgfgcwsnjp.air360tracker.net / i?a=8vhgfgcwsnjp&d=dc4912ea8f9b 966fa386081cbfe8e46e&s=648d8686-fa31-4d55-bd04-075294e3155c-1632908375& p=web&t=1632909753.266&et=pv&el=Pageview&wu=https%3A%2F%2Fbilletterie.fr%2F&wt=Billetterie&wr=https%3A%2F%2Fbilletterie.fr%2Fcontent%2F168-billetterie-europa-league-21-22&web_i=1

[0019] In this query, -Address of this resource on the CDN server: 8vhgfgcwsnjp.air360tracker.net / i?a=8vhgfgcwsnjp -User Identifier: dc4912ea8f9b966fa386081cbfe8e46e -CSS code for the target element: p=web -Session Identifier: 648d8686-fa31-4d55-bd04-075294e3155c-1632908375 -Interaction types and time markers: Pageview; 1632909753.266 -First webpage URL: https%3A%2F%2Fbilletterie.fr%2F&wt=Billetterie -URL of the webpage pointed to by the clicked link: https%3A%2F%2Fbilletterie.fr%2Fcontent%2F168-billetterie-europa-league-21-22 is obtained.

[0020] When this query is received by the CDN server, it is stored in a log constituting said input storage means. Here, the use of CDN servers is considered to be extremely interesting. In fact, it is possible to use the query logging functionality available in all CDN servers. Moreover, they are primarily intended to handle extremely large access loads, i.e. the system 2 can serve thousands of users simultaneously.

[0021] Furthermore, the use of transparent queries ensures that users are not affected by the logging of interactions, and the query URL is an ideal vector for carrying the logged data. Finally, the use of CSS code corresponding to the elements to be logged is highly advantageous, since the elements can be easily identified by their CSS properties, without any special processing on the part of the user viewing the web page or during the design of the page.

[0022] When this query is received by the input storage means 10, the extraction means 12 processes it and starts storing the data in the logging database. In the example shown in the figure, this is performed periodically. For example, the extraction means 12 accesses the input storage means every minute. Such desynchronization is interesting because it allows the system 2 to withstand large connection peaks without scaling and without risking service degradation, while still maintaining real-time properties in most situations. In other words, the applicant's experiments have confirmed that the extraction means 12 can process the stack of the input storage means in 30 minutes even with a peak of hundreds of thousands of connections per minute for 10 minutes on a typical CDN server.

[0023] FIG. 2 is a diagram showing an example of the processing of the extraction means 12 that processes the data of the input storage means 10. As shown in FIG.

[0024] In step 200, the extracting means 12 retrieves input from the input storage means 10 by executing the function Pop(). The function Pop() processes the stack of the input storage means 10 and stores the result in the local variable Dat.

[0025] So, going back to the example above, the local variable Dat contains the complete URL: https: / / 8vhgfgcwsnjp.air360tracker.net / i?a=8vhgfgcwsnjp&d=dc4912ea8f9b 966fa386081cbfe8e46e&s=648d8686-fa31-4d55-bd04-075294e3155c-1632908375& p=web&t=1632909753.266&et=pv&el=Pageview&wu=https%3A%2F%2Fbilletterie.fr%2F&wt=Billetterie&wr=https%3A%2F%2Fbilletterie.fr%2Fcontent%2F168-billetterie-europa-league-21-22&web_i=1

[0026] Then, in step 210, the extraction means 12 clears the variable Dat (specifically, deletes the URL of the resource on the CDN server and the data delimiter of the URL) using the function Clean(), and breaks the result down into each chunk in the table Dat2Conv[ ].

[0027] The table Dat2Conv[] obtained from the above URL is as follows:

[0028] [Table 1]

[0029] Next, the function Conv() converts a given input into a unique number by reading the table Dat2Conv[]. This conversion is done by accessing a conversion table that contains two columns: one column contains text strings and the other column contains numbers. The function Conv() searches the entries in the table Dat2Conv[] for text and returns the corresponding number if the text is present. If the text is not present, it uses a pseudorandom number generator to determine a number for the text and adds the two entries to the two-column table. Finally, each number corresponding to an entry in the table Dat2Conv[] is returned in the variable ConvDat, with each number separated by a delimiter such as ";" or "#".

[0030] In the first variant, all entries in the table Dat2Conv[] are transformed with the function Conv(). In the second variant, some unique elements, such as user identifiers, are stored as is in the relational database without transformation.

[0031] Finally, in step 230, the function Wrt( ) writes the variable ConvDat to a row in a table of the relational database.

[0032] Such processing by the extraction means 12 is very interesting because it is easy to realize in ETL tools and produces a kind of encoding of each silent query into a number string, but such a data type is very easy to extract and is computationally inexpensive to search.

[0033] This allows logging of all browsing events on an unlimited number of devices in an industrializable way, with real-time availability, and with a very agile decomposition into chunks of process 210, making data extraction even easier. In fact, by well-designing the CSS input of a web page, it is possible to perform analysis not only on a specific web page, but on the whole site. For this purpose, it is enough to give the elements that you want to analyze together the same name. The parts of the CSS code that correspond to the names of these elements will be encoded with the same number, and to retrieve all the events that correspond to them, it is enough to search for that number. Similarly, if you combine multiple numbers, you will query multiple elements.

[0034] Therefore, each of the above mentioned features, even when taken separately, is considered to have a significant advantage over the prior art, i.e. it is possible to use a different server type than the CDN server, a tool other than the ETL tool, or a medium other than a transparent query to send the data to be encoded. The most important one is the use of CSS code data and its decomposition into chunks and encoding into a numeric string, which allows to obtain the main technical effect. Each of the above mentioned details allows to improve the obtained effect even more.

[0035] Additionally, by combining several device side events, System 2 processing can be augmented even further.

[0036] Indeed, if two events occur one after the other without a page change (e.g., a page load followed by a click on a particular element may cause a page change or reveal a strong user interest in a particular element), the mechanism may directly calculate the elapsed time from the first interaction to the second and send this information in a transparent query, allowing the generation of composite indicators without heavy server load and at a transparent cost to the client side.

[0037] The logging server may also include routines to automatically calculate some composite indicators in the database, such as the average time for the above indicators, the average number of clicks per hour / day / other unit of time for each element or multiple elements.

[0038] Thus, the interface augmented by the Internet Browsing Monitoring System 2 provides designers with an augmented web page that can instantly display all relevant information about any element in a relational database.

Claims

1. An internet browsing monitoring system, a web server (4) arranged to provide at least one web page in which at least some of the elements relevant to the browsing monitoring are coded in CSS code; the web page comprises a mechanism for detecting interactions to be logged, the mechanism being arranged to, upon detection of an interaction of a type to be logged, transmit the CSS code corresponding to the element of interest together with at least one indicator of the detected interaction to an interaction logging server (6); The interaction logging server (6) includes an input storage means (10) configured to receive the CSS code corresponding to the element of interest and the at least one indicator of the detected interaction, and an extraction means (12) configured to analyze each CSS code corresponding to the element of interest and the at least one indicator of the detected interaction, break it down into chunks, encode at least some of the chunks into numbers, and store the resulting number strings encoding the chunks in a database.

2. 2. The Internet browsing monitoring system according to claim 1, wherein the logging server (6) comprises a content delivery network server, and the input storage means (10) is a logging memory of the content delivery network server.

3. 3. The internet browsing monitoring system according to claim 1, wherein the extracting means (12) is an extracting, processing and sending tool.

4. 3. An internet browsing monitoring system according to claim 1 or 2, wherein the extraction means (12) is further arranged to store the number sequences encoding the chunks constituting the CSS code corresponding to the element of interest, in such a way that indicators of the detected interactions are stored in rows of a table in the database and each number in a separate column.

5. 3. The internet browsing monitoring system according to claim 1 or 2, wherein the extraction means (12) is further configured to store pairs of chunks and numbers associated with each other in a two-column table in the database.

6. 6. The internet browsing monitoring system according to claim 5, wherein the extraction means (12) is configured to search for a chunk from the two-column table of the database and extract a corresponding number, and if the chunk does not exist, to generate a number and create a new row consisting of the chunk and the generated number.

7. 3. The internet browsing monitoring system according to claim 1, wherein the detecting mechanism is realized by JavaScript code included in the web page.

8. 8. The Internet browsing monitoring system of claim 7 when dependent on claim 2, wherein the detecting mechanism sends a content query to the content delivery network server, the content weighing less than 1 kb, and the content query includes as parameters at least the URL of the web page on which the interaction was detected, the CSS code of the target element, and an indicator of the detected interaction.

9. 3. The internet browsing monitoring system according to claim 1 or 2, wherein the detecting mechanism is configured to detect interactions from the group consisting of: page display, simple click, double click, long press, quick touch and long touch.

10. 3. The internet browsing monitoring system according to claim 1, wherein the mechanism has an enhancement function to detect when two interactions of a predetermined interaction type have been detected on the same web page without a page change as the interaction type of the detected interactions, calculate a duration from time markers related to these two interactions, and return this duration together with an indicator of the second detected interaction together with the CSS code corresponding to the target element.