Abstract: A method for monitoring browsers (B) for a communications network (N) wherein a monitoring server contains a set of monitoring elements and implements: • a step (E1) of receiving a monitoring element request from a browser (B) • a step (E2) of determining whether the request is a first request from the browser • if so a step (E3) of calculating an identifier for the browser then a step (E4) of determining a cache duration value associated with each monitoring element of the set and a step (E5) of transmitting the set of monitoring elements and associated values to the browser; • if not a step (E6) of determining the browser s identifier based on the monitoring elements requested in the request.
A METHOD AND SERVER FOR MONITORING USERS DURING THEIR BROWSING WITHIN
COMMUNICATIONS NETWORK
The present invention relates to monitoring users during their browsing within a
communications network.
On the Internet, and more specifically on the network of content known as the Web,
attempts are made to monitor users during their browsing in order to provide them with
custom services.
For example, on an e-commerce site, the user may select multiple products at
separate times while browsing, and place them in a virtual "shopping cart." He or she may
pay for them later. The site must therefore be capable of identifying the user in order to
assign him or her a personal shopping cart.
Another conventional application is presenting messages (particularly
advertisements) adapted to the user's profile. To do so, it is therefore important to monitor
the user's browsing and therefore to have means of monitoring the browser that he or she
is using.
A first solution to this problem was provided through the use of identification data
known as "cookies." This data is transmitted by the server to the browser, which stores
them in the form of a file in the memory of the communication terminal on which it is
deployed. In each new request to the server, the application attaches this data and is
therefore easily and uniquely identified by the server.
Figure 1 illustrates this mechanism for monitoring by a third-party server. This thirdparty
"monitoring" server ST is functionally different from the content server SC. It may, for
example, be an advertising server.
The browser B transmits a content request M 1 to a content server SC using the
HTTP (HyperText Transfer Protocol) protocol as defined by the IETF (Internet Engineering
Task Force). This request M 1 identifies a particular resource (generally a Web page or
multimedia file) via its URL (Unified Resource Locator).
Upon being received, the content server SC transmits a response M2 containing the
requested Web page. This Web page contains a link to the monitoring server ST. This link
may be in the form of an inset (e.g., a banner) whose content is provided by that
monitoring server.
In order to retrieve this additional content, the browser B transmits a new request
M3, this time intended for the monitoring server ST. This request contains not only the
resource identifier that was contained within the response M2, but also identification data
(a "cookie") for that monitoring server and an identifier of the previously visited content
server SC.
Upon receipt, the monitoring server ST may use the identification data in order not
only to provide additional content adapted to the user (an advertising element, for
example) in a message M4, but also to save the received information so as to build a
profile of the user. This profile may particularly keep track of the visited content servers SC
in order to determine the user's areas of interest.
However, this mechanism is problematic.
The use of cookies has been heavily criticized with respect to privacy. This
mechanism might be dropped due to pressure, but, most importantly, browsers can be
configured to not transmit this identification data.
Some applications, such as Safari, are even configured by default to not send
identification data to third parties (for example, sites that were not directly visited but which
had provided advertising).
Furthermore, users themselves can delete cookies stored on their hard drive to
protect their privacy by limiting the transmission of personal data, by mistake, to free up
space on the hard drive, or for another reason.
Alternatives are therefore beginning to appear in order to address the shortcomings
of the cookie mechanism.
The main alternative is based on the fingerprint of the browser type and on the IP
address of the communication terminal on which it is deployed. This fingerprint is made up
of information elements transmitted in an HTTP request. They particularly include an
identifier of the browser type (Safari, Internet Explorer, Firefox, Mozilla, Chrome, etc.), a
version number, and the communication terminal's platform or operating system
(Windows, Linux, iOS, Android, etc.).
This solution is not satisfactory either.
There are situations in which the IP address/fingerprint combination is the same for
two different browser instances.
This happens when the user opens two sessions on the same machine.
It also happens when a company defines a policy for the software installed on its
communications network in such a way that all communication terminals use the same
version of the same browser type. The fingerprint will therefore be the same for all of the
company's equipment. Furthermore, a conventional network infrastructure choice is to
have the company's communications network be linked to the public network via a NAT
(Network Address Translator), in such a way that multiple pieces of the company's
equipment may be seen by an outside server as having the same IP address.
The same sort of situation occurs within a private home where more than one of the
communication terminals (computers) in the house is configured in the same way. The
outside server will not be able to distinguish between the different family members.
The result is a large number of cases in which the IP address/fingerprint
combination does not form a unique identifier for one browser instance.
The purpose of the present invention is to improve the situation by proposing a new
mechanism.
A first object of the present invention is a method for monitoring browsers for a
communications network, wherein a monitoring server contains a set of monitoring
elements, and implements
a step of receiving a monitoring element request from a browser
a step of determining whether the request is a first request from the browser,
if so, a step of calculating an identifier for the browser, then a step of
determining a cache duration value associated with each monitoring element of
the set, and a step of transmitting the set of monitoring elements and
associated values to the browser;
if not, a step of determining the browser's identifier based on the monitoring
elements requested in the request,
In different embodiments of the invention, whether a request is a first request may
be determined based on the number of monitoring elements requested in said request.
The method may also comprise a prior first step of the browser transmitting a
content request to a content server, and of that content server transmitting both the
requested content and an inset containing links leading to the monitoring elements.
The identifier may be made up of a first part containing identification information
transmitted within said request, and a second part made up of a counter.
The number of monitoring elements in the set of monitoring elements may be equal
to the length of that counter, expressed in bits.
The value of a bit b(i) with significance i and the cache duration value associated
with the monitoring element at position i may follow the following relationship:
if b(i)=1 , v(i)=max
if b(i)=0, v(i)=0
wherein 'max' is the maximum possible value for a given cache duration.
The identifier may also be preceded by a first part indicating chained redirects.
These chained redirects may be indicated by the bit with matching significance in
that first part.
Each redirect among those chained redirects may be associated with a cache value
of zero or a maximum possible value for a cache value.
Alternatively, each redirect among those chained redirects may be associated with a
301 or 302 redirect code.
A second object of the present invention is a monitoring server containing a set of
monitoring elements and means for implementing the previously defined method as well
as the indicated embodiments.
A third object of the present invention is a server comprising a monitoring server as
defined above and a content server.
Thus, thanks to the invention, it becomes possible to identify the user without using
cookies, or more broadly, without it being necessary to install files or information on the
user's terminal.
It is also possible to tell the difference between browsers deployed on a single
machine or on the same network, and thereby to identify each one of them.
The browser's identifier does not explicitly travel on the communications network,
including on the link between the communication terminal and the monitoring server. As a
result, the invention is robust with respect to identity theft attempts and other malicious
attacks.
The invention, its characteristics and its advantages will appear more clearly in the
description of embodiments which follows, together with the attached figures.
Figure 1, described above, depicts a mechanism of the state of the art.
Figures 2 and 3 diagram two architectural embodiments of the invention.
Figure 4 is a flowchart of the various steps implemented by a monitoring server
according to the invention.
Figure 5 is an illustration of one embodiment of the invention using a redirect
mechanism with two redirect code values.
Multiple embodiments of the inventive monitoring server are possible.
It should be noted that the monitoring server ST may be a software application that
may be deployed on a dedicated physical server or shared with other applications. It may
also be deployed on a set of physical machines (a "cluster") based on a distributed or
peer-to-peer operating mode.
Furthermore, this monitoring server ST may be located with the content server SC
on the same physical machine, or in the same "cluster" of physical machines, as depicted
by Figure 2.
In Figure 3, the monitoring server ST is located separate from the content server
SC. The monitoring server ST may be a machine dedicated to that monitoring activity, or it
may be a machine (or group of machines) hosting multiple software applications.
These two technical architectures may be the reflection of commercial choices.
In the first case, the two servers are administered by a single organization. The
company in charge of the content may also deploy the monitoring server. If the company
in question employs a host to deploy the content server, that host may also offer to deploy
a monitoring server. It may be a service that is billable or included in a flat rate.
The second situation may correspond to a third-party company that specializes in
Web services and particularly offers a monitoring service. The content company or its host
may establish a service contract in order for it to monitor its visitors. It may then transmit
reports on those visitors based on the collected information and on the terms of the
contract.
The first situation may correspond to an e-commerce site and to the management of
the virtual shopping cart by the company in charge of the content.
The invention does not depend on the chosen architecture and commercial model.
First, a browser (or browser) B transmits a content request M 1 to a content server
SC containing a URL.
The content server SC responds with one or more messages M2 containing the
requested content. This content is typically a Web page, for example in HTML format
(HyperText Markup Language).
It may be statically stored on the content server SC or be built dynamically on-the-fly
based on the content of a database (mySQL, etc.) and PHP language scripts.
This content contains a portion related to the monitoring server ST. This portion may
be transmitted beforehand by the monitoring server ST to the content server SC or be
manually configured by an administrator.
The configuration of such a portion is known per se, as the majority of websites that
include portions of third-party content (advertising insets) operate on this principle.
The content of this inset is specific to the invention.
According to the invention, this inset contains a set of links to monitoring elements.
These monitoring elements are stored on the monitoring server ST. These are files of any
type (image, text, etc.). It is desirable for them to be of minimum size in order to avoid
degrading communications performance and taking up too much space on the monitoring
server.
This inset may be written in HTML language as a
| # | Name | Date |
|---|---|---|
| 1 | spec for filing.pdf | 2014-02-21 |
| 2 | FORM 5.pdf | 2014-02-21 |
| 3 | FORM 3.pdf | 2014-02-21 |
| 4 | ALCATEL-LUCENT_GPOA - FOR USE.pdf | 2014-02-21 |
| 5 | 1187-DELNP-2014.pdf | 2014-02-21 |
| 6 | 1187-DELNP-2014-Correspondence-Others-(26-06-2014).pdf | 2014-06-26 |
| 7 | PD011915IN-NP Form 13.pdf | 2014-06-27 |
| 8 | amended form 1 & form 5.pdf | 2014-06-27 |
| 9 | 1187-delnp-2014-Form-3-(31-07-2014).pdf | 2014-07-31 |
| 10 | 1187-delnp-2014-Correspondence-Others-(31-07-2014).pdf | 2014-07-31 |
| 11 | 1187-DELNP-2014-Form 3-251114.pdf | 2014-12-06 |
| 12 | 1187-DELNP-2014-Correspondence-251114.pdf | 2014-12-06 |
| 13 | 1187-delnp-2014-Form-3-(25-03-2015).pdf | 2015-03-25 |
| 14 | 1187-delnp-2014-Correspondence Others-(25-03-2015).pdf | 2015-03-25 |
| 15 | 1187-delnp-2014-Form-3-(11-06-2015).pdf | 2015-06-11 |
| 16 | 1187-delnp-2014-Correspondence Others-(11-06-2015).pdf | 2015-06-11 |
| 17 | 1187-delnp-2014-Form-3-(26-10-2015).pdf | 2015-10-26 |
| 18 | 1187-delnp-2014-Correspondence Others-(26-10-2015).pdf | 2015-10-26 |
| 19 | Form 3 [01-06-2016(online)].pdf | 2016-06-01 |
| 20 | Form 3 [15-05-2017(online)].pdf | 2017-05-15 |
| 21 | 1187-DELNP-2014-FORM 3 [23-03-2018(online)].pdf | 2018-03-23 |
| 22 | 1187-DELNP-2014-FER.pdf | 2018-12-11 |
| 23 | 1187-DELNP-2014-OTHERS [10-06-2019(online)].pdf | 2019-06-10 |
| 24 | 1187-DELNP-2014-FORM 3 [10-06-2019(online)].pdf | 2019-06-10 |
| 25 | 1187-DELNP-2014-FER_SER_REPLY [10-06-2019(online)].pdf | 2019-06-10 |
| 26 | 1187-DELNP-2014-DRAWING [10-06-2019(online)].pdf | 2019-06-10 |
| 27 | 1187-DELNP-2014-CLAIMS [10-06-2019(online)].pdf | 2019-06-10 |
| 28 | 1187-DELNP-2014-US(14)-HearingNotice-(HearingDate-13-02-2023).pdf | 2023-01-11 |
| 29 | 1187-DELNP-2014-Correspondence to notify the Controller [30-01-2023(online)].pdf | 2023-01-30 |
| 1 | googlepatents_07-12-2018.pdf |