WO2017012120A1 - Networked communication - Google Patents

Networked communication Download PDF

Info

Publication number
WO2017012120A1
WO2017012120A1 PCT/CN2015/084943 CN2015084943W WO2017012120A1 WO 2017012120 A1 WO2017012120 A1 WO 2017012120A1 CN 2015084943 W CN2015084943 W CN 2015084943W WO 2017012120 A1 WO2017012120 A1 WO 2017012120A1
Authority
WO
WIPO (PCT)
Prior art keywords
indications
website
browser
subset
cause
Prior art date
Application number
PCT/CN2015/084943
Other languages
French (fr)
Inventor
Tingting YANG
Wendong Wang
Original Assignee
Nokia Technologies Oy
Navteq (Shanghai) Trading Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nokia Technologies Oy, Navteq (Shanghai) Trading Co., Ltd. filed Critical Nokia Technologies Oy
Priority to PCT/CN2015/084943 priority Critical patent/WO2017012120A1/en
Publication of WO2017012120A1 publication Critical patent/WO2017012120A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation

Definitions

  • the present invention relates to networked computer-based communication.
  • a hypertext document may, in general, comprise a data structure with media and/or text content, as well as at least one link to another hypertext document or documents.
  • a network of hypertext documents and their interconnecting links may be referred to as a hypertext network.
  • Most known hypertext network is the World Wide Web, WWW, which is based on internet protocol, IP, addressing and comprises millions of hypertext documents.
  • Documents on the WWW are, in general, arranged in accordance with hypertext transfer protocol, http. Not all hypertext documents are http documents, however.
  • a browser is a computer program that enables a user to view hypertext documents and to follow links comprised in viewed hypertext documents that lead to other hypertext documents.
  • a browser may, responsive to a user interacting with a link, obtain a hypertext document the link refers to.
  • the browser may obtain this hypertext document by requesting it from a server, or by retrieving it from a memory the browser has access to, for example.
  • a hypertext network may be used by a plurality of users, and it may be seen as beneficial that hypertext documents be customized to individual users. For example, in case a user from a specific country requests a hypertext document, the requested hypertext document may be at least in part regenerated for the user so as to include therein information that is relevant to the country the user is in. An IP address in a hypertext document request may be used to guess the country where the requesting user may be in.
  • a browser may store information on hypertext documents or websites a user has visited.
  • cookies are files that browsers may store locally in a computer running the browser, such that when a user returns to a website in a subsequent browsing session using the same browser, the website may be enabled to obtain some information concerning a previous visit to the website. For example, a user may not need to log on to a web page or service again if a username and password have been stored in a cookie during a previous visit.
  • an apparatus comprising at least one processing core, at least one memory including computer program code, the at least one memory and the computer program code being configured to, with the at least one processing core, cause the apparatus at least to store, in a data structure, indications concerning user interactions with websites, wherein the indications relate at least to a first browser, a second browser, user identity and website identity, determine a subset of the indications to be provided to a first website in connection with accessing the first website and cause a request to access the first website to be transmitted from the apparatus, and cause the determined subset of indications to be provided to the first website.
  • Various embodiments of the first aspect may comprise at least one feature from the following bulleted list:
  • the indications concerning user interactions with websites comprise indications as to which of the first browser and the second browser was used in the interactions
  • ⁇ at least one of the indications concerning user interactions with websites comprises a write lock, the write lock informing that the indication is being modified by a web browser
  • the at least one memory and the computer program code are configured to, with the at least one processing core, cause the apparatus to determine the subset of indications based at least in part on a website type of the first website, wherein the indications stored in the data structure comprise indications relating to website type
  • the at least one memory and the computer program code are configured to, with the at least one processing core, cause the apparatus to determine the subset of indications based at least in part on time stamps of the indications
  • the at least one memory and the computer program code are configured to, with the at least one processing core, cause the apparatus to determine the subset of indications based at least in part on a voting algorithm
  • the at least one memory and the computer program code are configured to, with the at least one processing core, cause the apparatus to determine the subset of indications such that the subset comprises indications that relate to interactions with more than one web domain
  • the at least one memory and the computer program code are configured to, with the at least one processing core, cause the apparatus to determine the subset of indications based at least in part on an identity of a user triggering the request to access the first website.
  • a method comprising storing, in a data structure, indications concerning user interactions with websites, wherein the indications relate at least to a first browser, a second browser, user identity and website identity, determining, in an apparatus, a subset of the indications to be provided to a first website in connection with accessing the first website, causing a request to access the first website to be transmitted from the apparatus, and causing the determined subset of indications to be provided to the first website.
  • Various embodiments of the second aspect may comprise at least one feature from the following bulleted list:
  • the indications concerning user interactions with websites comprise indications as to which of the first browser and the second browser was used in the interactions
  • ⁇ at least one of the indications concerning user interactions with websites comprises a write lock, the write lock informing that the indication is being modified by a web browser
  • the subset of indications is determined based at least in part on a website type of the first website, wherein the indications stored in the data structure comprise indications relating to website type
  • ⁇ the subset of indications is determined based at least in part on time stamps of the indications
  • ⁇ the subset of indications is determined based at least in part on a voting algorithm
  • the subset of indications is determined such that the subset comprises indications that relate to interactions with more than one web domain
  • ⁇ the subset of indications is determined based at least in part on an identity of a user triggering the request to access the first website.
  • an apparatus comprising means for storing, in a data structure, indications concerning user interactions with websites, wherein the indications relate at least to a first browser, a second browser, user identity and website identity, means for determining a subset of the indications to be provided to a first website in connection with accessing the first website and means for causing a request to access the first website to be transmitted from the apparatus, and for causing the determined subset of indications to be provided to the first website.
  • a non-transitory computer readable medium having stored thereon a set of computer readable instructions that, when executed by at least one processor, cause an apparatus to at least store, in a data structure, indications concerning user interactions with websites, wherein the indications relate at least to a first browser, a second browser, user identity and website identity, determine a subset of the indications to be provided to a first website in connection with accessing the first website and cause a request to access the first website to be transmitted from the apparatus, and cause the determined subset of indications to be provided to the first website.
  • a computer program configured to cause a method in accordance with the second aspect to be performed.
  • FIGURE 1 illustrates a system in accordance with at least some embodiments of the present invention
  • FIGURE 2 illustrates a system in accordance with at least some embodiments of the present invention
  • FIGURE 3 illustrates an example apparatus capable of supporting at least some embodiments of the present invention
  • FIGURE 4 illustrated a process in accordance with at least some embodiments of the present invention.
  • FIGURE 5 is a flow graph of a method in accordance with at least some embodiments of the present invention.
  • a data structure such as a cookie, may contain information on user interactions with a website, optionally from more than one user and more than one browser.
  • the information in the cookie may be mined in connection with compiling a request to fetch a page from the website, or from another website, such that the website is enabled to optimize the page for the user using the browser program.
  • a subset of the cookie’s contents may be included in the request, or be provided to the website in another message.
  • the request may also be provided with information that relates to the prior user interaction with other websites of the same type, or a similar type.
  • FIGURE 1 illustrates a system in accordance with at least some embodiments of the present invention.
  • This system comprises user device 110, which may comprise, for example, a laptop, desktop or tablet computer, a smartphone, smart watch or other suitable device.
  • User device 110 is configured with at least one browser.
  • Browser 114 and browser 116 are illustrated in FIGURE 1, although in some embodiments there is a single browser, or there are more than two browsers. Examples of browser programs include Lynx and Mosaic, while multiple others exist as well.
  • Browser 114 may have web browsing session 100A with website 140, which is comprised in network 120.
  • Network 120 may correspond to the WWW, for example.
  • website 130 is also illustrated in network 120.
  • a website may be configured to provide, on request, a copy of a web page.
  • a single website may be configured to provide one or more web pages, each web page being addressable in a request in a suitable way.
  • Communication between user device 110 and website 140 may traverse nodes and/or networks that are not illustrated in FIGURE 1 for the sake of clarity. Such traversed nodes and/or networks may comprise, for example, a wireless local area network, WLAN, access point, an internet service provider, ISP, network and at least one gateway.
  • a web browsing session may comprise at least one access to a website.
  • a short web browsing session may simply consist of a user retrieving a single web page.
  • a more complex web browsing session may comprise several accesses to one or more websites to retrieve web pages and interact with them. Interacting with a web page may comprise filling in web forms and submitting them to the website, refreshing a web page and/or uploading media content to a website, for example.
  • browser 114 may record in data structure 118 indications concerning user interactions with at least one website. For example, browser 114 may record a user identity, website identity and/or a website type in data structure 118.
  • Data structure 118 may be stored in a memory internal to, or at least accessible by, user device 110.
  • Data structure 118 may be considered to be a cookie file, or a library of cookie files, for example.
  • a website type, or a web page type may be received in browser 114 from website 140 in connection with receiving a copy of the requested web page, for example.
  • a website type or web page type may be fetched by browser 114 from an online type depository, for example by transmitting to the online depository a website name of website 140 and receiving, responsively, the website type of website 140.
  • Data structure 118 may, in some embodiments, comprise an application or a process running on at least one processing core or context.
  • a complete browsing history is stored in data structure 118.
  • data structure 118 may be used by more than one browser, this creates a cross-browser browsing history in data structure 118.
  • indications concerning interaction with more than one website may be stored, such a browsing history is also cross-domain.
  • websites may be seen as web domains, or web domains may be seen as sets of websites.
  • indications concerning user interactions with websites in more than one domain may comprise indications concerning websites that are substantially independent of each other. For example, all websites of the airline Finnair may be seen as being in one web domain, while websites of Heilhansa may be seen as another web domain.
  • a subset of indications that comprises indications concerning interaction with both Finnair and Heilhansa websites thus comprises indications that relate to interactions with more than one web domain.
  • indications concerning user interactions with at least one website that browser 114 can record in data structure 118 include a user name of the user, a timestamp indicative of when a web page was accessed by the user, a browser type or browser name of browser 114, a write lock, a time when the data structure was created, a deadline when the data structure is to be deleted, keywords input by the user when interacting with a web page and a length of time the user spent on a web page, or on web pages of a specific web site.
  • browser 114 is configured to record in data structure 118 information relating to purchases the user makes in a web store.
  • data structure 118 may be furnished with a product code, make or model number of a product the user purchases.
  • a write lock may comprise an indicator that a browser is in the process of modifying data structure 118. For example, as browser 114 begins updating data structure 118 it may set the write lock, and after browser 114 has finished updating data structure 118 it may clear the write lock. This provides the advantage that two browsers don’t attempt to modify data structure 118 at the same time, as the browsers would be configured to check the write lock is not set before modifying data structure 118.
  • web browsing session 100B may commence. Web browsing session 100A need not have ended prior to web browsing session 100B starting. In the embodiment illustrated in FIGURE 1, web browsing session 100B uses browser 116 to access a web page of the same website as web browsing session 100A, namely website 140.
  • Browser 116 may provide to website 140 at least some of the indications stored in data structure 118 in connection with web browsing session 100A, or earlier web browsing sessions.
  • the subset of indications may be provided to website 140 comprised in a request for a web page from website 140.
  • the subset may be provided to website 140 responsive to a request, received in browser 116 from website 140.
  • the subset of indications may be provided to website 140 at the initiative of the browser, in a message other than the request for the web page.
  • a browser may provide to a website indications concerning user interaction with other websites, wherein the interactions with the other websites may have taken place using the browser providing the indications or with one or more other browsers.
  • Providing only a subset of the indications, and not all the indications, provides the benefit that all of the contents of data structure 118 need not be provided to each website. Furthermore, privacy of the user is protected by not providing all information in data structure 118 to each website.
  • the subset of indications to be provided to website 140 may be determined based, at least in part, on a user identity.
  • browser 116 may, when compiling the subset of indications to be provided to website 140, consider as candidate indications to be included in the subset only indications that relate to past user interactions with websites that have been performed by the current user who is accessing website 140.
  • indications relating to other users may be excluded from the subset based on a user identity information element comprised in the indications stored in data structure 118.
  • indications that have a guest user as user identity in a user identity information element may be excluded, and indications that have a known-user user identity may be considered for inclusion in the subset.
  • the subset of indications to be provided to website 140 may be determined based, at least in part, on a website type. For example, indications that have a same website type as website 140 may be considered as candidates for inclusion in the subset indications to be provided to website 140.
  • a website type may be stored in a website type information element comprised in the indications stored in data structure 118. Examples of website type include banking, internet commerce, advertising, public safety, voting, clothing, email, automobiles and healthcare. Another example way of using a website type is for website 140 to request indications relating to a certain website type, wherein the requested website type is not a website type of website 140.
  • a banking website may be configured to request automobile website type indications in case the banking website is used to disseminate a safety bulletin to owners of a certain make of car. This way, the safety bulletin may be delivered even if the user doesn’t navigate to a website of the automobile manufacturer.
  • website 140 may determine whether the automobile type website interaction indications imply the user has a car model that the safety bulletin applies to, and responsive to this being the case, the safety bulletin may be rendered to a web page provided by website 140 to browser 116.
  • browser 116 may obtain, from website 140, a website type of website 140 in connection with requesting and receiving the web page the user is interested in, and responsively using the thus obtained website type in selecting indications for the subset.
  • the subset of indications to be provided to website 140 may be determined based, at least in part, on a timestamp. For example, indications that relate to user interactions with websites that took place more than a threshold period of time ago may be excluded from consideration for inclusion in the subset. As another example, indications relating to user interactions with websites that took place less than a threshold period of time ago may be excluded from consideration for inclusion in the subset.
  • website 140 may request indications that relate to healthcare-type website interactions where the interactions took place more than six months ago.
  • a web page provided from website 140 to browser 116 may be furnished with an invitation to book an appointment at a dentist, for example.
  • the invitation may be furnished only in case interactions older than the threshold time period are present, and no interactions newer than the threshold time period are present.
  • the subset of indications to be provided to website 140 may be determined based, at least in part, on a voting algorithm.
  • a voting algorithm may be used to select from a set of indications a reduced set of indications, to reduce a volume of data provided from browser 116 to website 140.
  • voting algorithms include the Condorcet and Borda algorithms.
  • the subset of indications to be provided to website 140 is determined based on at least two of: user identity, website type, web page type and timestamp.
  • FIGURE 2 illustrates a system in accordance with at least some embodiments of the present invention. Like numbering in FIGURE 2 denotes like structure as in FIGURE 1.
  • FIGURE 2 there are three web browsing sessions, namely web browsing session 200A, web browsing session 200B and web browsing session 200C.
  • Web browsing session 200A and web browsing session 200B take place between browser 114 and website 130, while web browsing session 200C takes place between browser 116 and website 140.
  • Browser 114 may be configured to store in data structure 118 indications concerning user interaction with website 130, and browser 116 may be configured to store in data structure indications concerning user interaction with website 140.
  • browser 114 may include a browser type information element, which browser 114 populates with a type of browser 114.
  • browser 116 may include in each of the indications stored in data structure 118 by browser 116 a browser type information element, which browser 116 may populate with a type of browser 116.
  • Browsers 114 and 116 may access data structure 118 to retrieve indications regardless of whether these indications have been stored there by the same or another browser.
  • the storing browser type may be merely one information element stored in connection with an indication concerning user interaction with a website.
  • the browser type information element is not even used.
  • a browser may not even know whether an indication concerning user interaction with a website the browser retrieves from data structure 118 has been stored there by itself or by another browser.
  • Browser 116 may provide, during web browsing session 200C, to website 140, from data structure 118, at least one indication concerning user interaction with website 130, such that the at least one indication was stored into data structure 118 by browser 114 during web browsing session 200A and/or web browsing session 200B.
  • FIGURE 3 illustrates an example apparatus capable of supporting at least some embodiments of the present invention.
  • device 300 which may comprise, for example, a device 110 of FIGURE 1 or FIGURE 2.
  • processor 310 which may comprise, for example, a single-or multi-core processor wherein a single-core processor comprises one processing core and a multi-core processor comprises more than one processing core.
  • Processor 310 may comprise more than one processor.
  • a processing core may comprise, for example, a Cortex-A8 processing core manufactured by ARM Holdings or a Steamroller processing core produced by Advanced Micro Devices Corporation.
  • Processor 310 may comprise at least one Qualcomm Snapdragon and/or Intel Core processor.
  • Processor 310 may comprise at least one application-specific integrated circuit, ASIC.
  • Processor 310 may comprise at least one field-programmable gate array, FPGA.
  • Processor 310 may be means for performing method steps in device 300.
  • Processor 310 may be configured, at least in part by computer instructions, to perform actions.
  • Device 300 may comprise memory 320.
  • Memory 320 may comprise random-access memory and/or permanent memory.
  • Memory 320 may comprise at least one RAM chip.
  • Memory 320 may comprise solid-state, magnetic, optical and/or holographic memory, for example.
  • Memory 320 may be at least in part accessible to processor 310.
  • Memory 320 may be at least in part comprised in processor 310.
  • Memory 320 may be means for storing information.
  • Memory 320 may comprise computer instructions that processor 310 is configured to execute. When computer instructions configured to cause processor 310 to perform certain actions are stored in memory 320, and device 300 overall is configured to run under the direction of processor 310 using computer instructions from memory 320, processor 310 and/or its at least one processing core may be considered to be configured to perform said certain actions.
  • Memory 320 may be at least in part comprised in processor 310.
  • Memory 320 may be at least in part external to device 300 but accessible to device 300.
  • Device 300 may comprise a transmitter 330.
  • Device 300 may comprise a receiver 340.
  • Transmitter 330 and receiver 340 may be configured to transmit and receive, respectively, information in accordance with at least one cellular or non-cellular standard.
  • Transmitter 330 may comprise more than one transmitter.
  • Receiver 340 may comprise more than one receiver.
  • Transmitter 330 and/or receiver 340 may be configured to operate in accordance with global system for mobile communication, GSM, wideband code division multiple access, WCDMA, long term evolution, LTE, IS-95, wireless local area network, WLAN, Ethernet and/or worldwide interoperability for microwave access, WiMAX, standards, for example.
  • Device 300 may comprise a near-field communication, NFC, transceiver 350.
  • NFC transceiver 350 may support at least one NFC technology, such as NFC, Bluetooth, Wibree or similar technologies.
  • Device 300 may comprise user interface, UI, 360.
  • UI 360 may comprise at least one of a display, a keyboard, a touchscreen, a vibrator arranged to signal to a user by causing device 300 to vibrate, a speaker and a microphone.
  • a user may be able to operate device 300 via UI 360, for example to browse hypertext documents and/or to play games.
  • Device 300 may comprise or be arranged to accept a user identity module 370.
  • User identity module 370 may comprise, for example, a subscriber identity module, SIM, card installable in device 300.
  • a user identity module 370 may comprise information identifying a subscription of a user of device 300.
  • a user identity module 370 may comprise cryptographic information usable to verify the identity of a user of device 300 and/or to facilitate encryption of communicated information and billing of the user of device 300 for communication effected via device 300.
  • Processor 310 may be furnished with a transmitter arranged to output information from processor 310, via electrical leads internal to device 300, to other devices comprised in device 300.
  • a transmitter may comprise a serial bus transmitter arranged to, for example, output information via at least one electrical lead to memory 320 for storage therein.
  • the transmitter may comprise a parallel bus transmitter.
  • processor 310 may comprise a receiver arranged to receive information in processor 310, via electrical leads internal to device 300, from other devices comprised in device 300.
  • Such a receiver may comprise a serial bus receiver arranged to, for example, receive information via at least one electrical lead from receiver 340 for processing in processor 310.
  • the receiver may comprise a parallel bus receiver.
  • Device 300 may comprise further devices not illustrated in FIGURE 3.
  • device 300 may comprise at least one digital camera.
  • Some devices 300 may comprise a back-facing camera and a front-facing camera, wherein the back-facing camera may be intended for digital photography and the front-facing camera for video telephony.
  • Device 300 may comprise a fingerprint sensor arranged to authenticate, at least in part, a user of device 300.
  • device 300 lacks at least one device described above.
  • some devices 300 may lack a NFC transceiver 350 and/or user identity module 370. This may be the case, for example where device 300 comprises a desktop or laptop computer.
  • Processor 310, memory 320, transmitter 330, receiver 340, NFC transceiver 350, UI 360 and/or user identity module 370 may be interconnected by electrical leads internal to device 300 in a multitude of different ways.
  • each of the aforementioned devices may be separately connected to a master bus internal to device 300, to allow for the devices to exchange information.
  • this is only one example and depending on the embodiment various ways of interconnecting at least two of the aforementioned devices may be selected without departing from the scope of the present invention.
  • FIGURE 4 illustrated a process in accordance with at least some embodiments of the present invention.
  • data structure 118 On the vertical axes are disposed, from left to right, data structure 118, browser 114, browser 116, website 130 and, finally, website 140. These entities correspond to like entities present in FIGURE 1 and FIGURE 2.
  • Web browsing session 400A takes place between browser 114 and website 130. That is, messages comprised in web browsing session 400A are exchanged between browser 114 and website 130, such that browser 114 and website 130 are the endpoints of the protocol connection used to convey such messages.
  • browser 114 stores in data structure 118 indications concerning user interaction with website 130 and/or web pages provided by website 130. Examples of information that such indications may comprise have been provided above.
  • FIGURE 4 illustrated in FIGURE 4 as comprising interactions with web pages of a single website, website 130, web browsing sessions may be general comprise interactions with more than one website. Alternatively, a multi-website set of interactions may be seen as a group of web browsing sessions, such that one web browsing session corresponds to interactions with one website.
  • Web browsing session 400B takes place between browser 116 and website 130. That is, messages comprised in web browsing session 400B are exchanged between browser 116 and website 130, such that browser 116 and website 130 are the endpoints of the protocol connection used to convey such messages.
  • browser 116 stores in data structure 118 indications concerning user interaction with website 130 and/or web pages provided by website 130.
  • Web browsing session 400C takes place between browser 114 and website 140. That is, messages comprised in web browsing session 400C are exchanged between browser 114 and website 140, such that browser 114 and website 140 are the endpoints of the protocol connection used to convey such messages.
  • browser 114 stores in data structure 118 indications concerning user interaction with website 140 and/or web pages provided by website 140.
  • Web browsing session 400D takes place between browser 116 and website 140. That is, messages comprised in web browsing session 400B are exchanged between browser 116 and website 140, such that browser 116 and website 140 are the endpoints of the protocol connection used to convey such messages.
  • browser 116 stores in data structure 118 indications concerning user interaction with website 140 and/or web pages provided by website 140.
  • the browser involved in the web browsing session may determine a subset of indications present in data structure 118 that the browser then may provide to the website involved in the web browsing session.
  • Some web browsing sessions may overlap in time, in other words, for example, web browsing session 400A need not have ended before web browsing session 400B begins.
  • the write lock described above may be used to avoid conflicts in writing information into data structure 118.
  • browser 114 may, in connection with web browsing session 400C, provide to website 140 indications concerning user interactions with a website, the user interactions having taken place during web browsing session 400B, between browser 116 and website 130.
  • FIGURE 5 is a flow graph of a method in accordance with at least some embodiments of the present invention.
  • the phases of the illustrated method may take place in device 110, for example, or in a control device configured to control the functioning of device 110, when implanted therein.
  • Phase 510 comprises storing, in a data structure, indications concerning user interactions with websites, wherein the indications relate at least to user identity and website identity.
  • Phase 520 comprises determining, in an apparatus, a subset of the indications to be provided to a first website in connection with accessing the first website. The determining of the subset may be performed responsive to a request to access the first website, for example.
  • Phase 530 comprises causing a request to access the first website to be transmitted from the apparatus.
  • phase 540 comprises causing the determined subset of indications to be provided to the first website. The subset may be provided comprised in a request message to access the first website, for example.
  • At least some embodiments of the present invention find industrial application in facilitating networked communication.

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

According to an example aspect of the present invention, there is provided there is provided an apparatus comprising at least one processing core, at least one memory including computer program code, the at least one memory and the computer program code being configured to, with the at least one processing core, cause the apparatus at least to store, in a data structure, indications concerning user interactions with websites, wherein the indications relate at least to a first browser, a second browser, user identity and website identity, determine a subset of the indications to be provided to a first website in connection with accessing the first website and cause a request to access the first website to be transmitted from the apparatus, and cause the determined subset of indications to be provided to the first website.

Description

NETWORKED COMMUNICATION FIELD
The present invention relates to networked computer-based communication.
BACKGROUND
A hypertext document may, in general, comprise a data structure with media and/or text content, as well as at least one link to another hypertext document or documents. A network of hypertext documents and their interconnecting links may be referred to as a hypertext network. Perhaps the best known hypertext network is the World Wide Web, WWW, which is based on internet protocol, IP, addressing and comprises millions of hypertext documents. Documents on the WWW are, in general, arranged in accordance with hypertext transfer protocol, http. Not all hypertext documents are http documents, however.
A browser is a computer program that enables a user to view hypertext documents and to follow links comprised in viewed hypertext documents that lead to other hypertext documents. A browser may, responsive to a user interacting with a link, obtain a hypertext document the link refers to. The browser may obtain this hypertext document by requesting it from a server, or by retrieving it from a memory the browser has access to, for example.
A hypertext network may be used by a plurality of users, and it may be seen as beneficial that hypertext documents be customized to individual users. For example, in case a user from a specific country requests a hypertext document, the requested hypertext document may be at least in part regenerated for the user so as to include therein information that is relevant to the country the user is in. An IP address in a hypertext document request may be used to guess the country where the requesting user may be in.
A browser may store information on hypertext documents or websites a user has visited. For example, cookies are files that browsers may store locally in a computer running the browser, such that when a user returns to a website in a subsequent browsing session using the same browser, the website may be enabled to obtain some information concerning a previous visit to the website. For example, a user may not need to log on to a  web page or service again if a username and password have been stored in a cookie during a previous visit.
SUMMARY OF THE INVENTION
The invention is defined by the features of the independent claims. Some specific embodiments are defined in the dependent claims.
According to a first aspect of the present invention, there is provided an apparatus comprising at least one processing core, at least one memory including computer program code, the at least one memory and the computer program code being configured to, with the at least one processing core, cause the apparatus at least to store, in a data structure, indications concerning user interactions with websites, wherein the indications relate at least to a first browser, a second browser, user identity and website identity, determine a subset of the indications to be provided to a first website in connection with accessing the first website and cause a request to access the first website to be transmitted from the apparatus, and cause the determined subset of indications to be provided to the first website.
Various embodiments of the first aspect may comprise at least one feature from the following bulleted list:
● the indications concerning user interactions with websites comprise indications as to which of the first browser and the second browser was used in the interactions
● at least one of the indications concerning user interactions with websites comprises a write lock, the write lock informing that the indication is being modified by a web browser
● the at least one memory and the computer program code are configured to, with the at least one processing core, cause the apparatus to determine the subset of indications based at least in part on a website type of the first website, wherein the indications stored in the data structure comprise indications relating to website type
● the at least one memory and the computer program code are configured to, with the at least one processing core, cause the apparatus to determine the subset of indications based at least in part on time stamps of the indications
● the at least one memory and the computer program code are configured to, with the at least one processing core, cause the apparatus to determine the subset of indications based at least in part on a voting algorithm
● the at least one memory and the computer program code are configured to, with the at least one processing core, cause the apparatus to determine the subset of indications such that the subset comprises indications that relate to interactions with more than one web domain
● the at least one memory and the computer program code are configured to, with the at least one processing core, cause the apparatus to determine the subset of indications based at least in part on an identity of a user triggering the request to access the first website.
According to a second aspect of the present invention, there is provided a method comprising storing, in a data structure, indications concerning user interactions with websites, wherein the indications relate at least to a first browser, a second browser, user identity and website identity, determining, in an apparatus, a subset of the indications to be provided to a first website in connection with accessing the first website, causing a request to access the first website to be transmitted from the apparatus, and causing the determined subset of indications to be provided to the first website.
Various embodiments of the second aspect may comprise at least one feature from the following bulleted list:
● the indications concerning user interactions with websites comprise indications as to which of the first browser and the second browser was used in the interactions
● at least one of the indications concerning user interactions with websites comprises a write lock, the write lock informing that the indication is being modified by a web browser
● the subset of indications is determined based at least in part on a website type of the first website, wherein the indications stored in the data structure comprise indications relating to website type
● the subset of indications is determined based at least in part on time stamps of the indications
● the subset of indications is determined based at least in part on a voting algorithm
● the subset of indications is determined such that the subset comprises indications that relate to interactions with more than one web domain
● the subset of indications is determined based at least in part on an identity of a user triggering the request to access the first website.
According to a third aspect of the present invention, there is provided an apparatus comprising means for storing, in a data structure, indications concerning user interactions with websites, wherein the indications relate at least to a first browser, a second browser, user identity and website identity, means for determining a subset of the indications to be provided to a first website in connection with accessing the first website and means for causing a request to access the first website to be transmitted from the apparatus, and for causing the determined subset of indications to be provided to the first website.
According to a fourth aspect of the present invention, there is provided a non-transitory computer readable medium having stored thereon a set of computer readable instructions that, when executed by at least one processor, cause an apparatus to at least store, in a data structure, indications concerning user interactions with websites, wherein the indications relate at least to a first browser, a second browser, user identity and website identity, determine a subset of the indications to be provided to a first website in connection with accessing the first website and cause a request to access the first website to be transmitted from the apparatus, and cause the determined subset of indications to be provided to the first website.
According to a fifth aspect of the present invention, there is provided a computer program configured to cause a method in accordance with the second aspect to be performed.
BRIEF DESCRIPTION OF THE DRAWINGS
FIGURE 1 illustrates a system in accordance with at least some embodiments of the present invention;
FIGURE 2 illustrates a system in accordance with at least some embodiments of the present invention;
FIGURE 3 illustrates an example apparatus capable of supporting at least some embodiments of the present invention;
FIGURE 4 illustrated a process in accordance with at least some embodiments of the present invention, and
FIGURE 5 is a flow graph of a method in accordance with at least some embodiments of the present invention.
EMBODIMENTS
A data structure, such as a cookie, may contain information on user interactions with a website, optionally from more than one user and more than one browser. The information in the cookie may be mined in connection with compiling a request to fetch a page from the website, or from another website, such that the website is enabled to optimize the page for the user using the browser program. A subset of the cookie’s contents may be included in the request, or be provided to the website in another message. The request may also be provided with information that relates to the prior user interaction with other websites of the same type, or a similar type.
FIGURE 1 illustrates a system in accordance with at least some embodiments of the present invention. This system comprises user device 110, which may comprise, for example, a laptop, desktop or tablet computer, a smartphone, smart watch or other suitable device. User device 110 is configured with at least one browser. Browser 114 and browser 116 are illustrated in FIGURE 1, although in some embodiments there is a single browser, or there are more than two browsers. Examples of browser programs include Lynx and Mosaic, while multiple others exist as well.
Browser 114 may have web browsing session 100A with website 140, which is comprised in network 120. Network 120 may correspond to the WWW, for example. In addition to website 140, website 130 is also illustrated in network 120. A website may be configured to provide, on request, a copy of a web page. A single website may be configured to provide one or more web pages, each web page being addressable in a request in a suitable way. Communication between user device 110 and website 140 may traverse nodes and/or networks that are not illustrated in FIGURE 1 for the sake of clarity. Such traversed nodes and/or networks may comprise, for example, a wireless local area network, WLAN, access point, an internet service provider, ISP, network and at least one gateway. In general, a web browsing session may comprise at least one access to a website. A short web browsing session may simply consist of a user retrieving a single web page. A  more complex web browsing session may comprise several accesses to one or more websites to retrieve web pages and interact with them. Interacting with a web page may comprise filling in web forms and submitting them to the website, refreshing a web page and/or uploading media content to a website, for example.
In connection with web browsing session 110A, browser 114 may record in data structure 118 indications concerning user interactions with at least one website. For example, browser 114 may record a user identity, website identity and/or a website type in data structure 118. Data structure 118 may be stored in a memory internal to, or at least accessible by, user device 110. Data structure 118 may be considered to be a cookie file, or a library of cookie files, for example. A website type, or a web page type, may be received in browser 114 from website 140 in connection with receiving a copy of the requested web page, for example. Alternatively, a website type or web page type may be fetched by browser 114 from an online type depository, for example by transmitting to the online depository a website name of website 140 and receiving, responsively, the website type of website 140. Data structure 118 may, in some embodiments, comprise an application or a process running on at least one processing core or context.
At least in some embodiments, a complete browsing history is stored in data structure 118. As data structure 118 may be used by more than one browser, this creates a cross-browser browsing history in data structure 118. As indications concerning interaction with more than one website may be stored, such a browsing history is also cross-domain. In general, websites may be seen as web domains, or web domains may be seen as sets of websites. Thus, for example, indications concerning user interactions with websites in more than one domain may comprise indications concerning websites that are substantially independent of each other. For example, all websites of the airline Finnair may be seen as being in one web domain, while websites of Lufthansa may be seen as another web domain. A subset of indications that comprises indications concerning interaction with both Finnair and Lufthansa websites thus comprises indications that relate to interactions with more than one web domain.
Further examples of indications concerning user interactions with at least one website that browser 114 can record in data structure 118 include a user name of the user, a timestamp indicative of when a web page was accessed by the user, a browser type or browser name of browser 114, a write lock, a time when the data structure was created, a  deadline when the data structure is to be deleted, keywords input by the user when interacting with a web page and a length of time the user spent on a web page, or on web pages of a specific web site. In some embodiments, browser 114 is configured to record in data structure 118 information relating to purchases the user makes in a web store. For example, data structure 118 may be furnished with a product code, make or model number of a product the user purchases.
A write lock may comprise an indicator that a browser is in the process of modifying data structure 118. For example, as browser 114 begins updating data structure 118 it may set the write lock, and after browser 114 has finished updating data structure 118 it may clear the write lock. This provides the advantage that two browsers don’t attempt to modify data structure 118 at the same time, as the browsers would be configured to check the write lock is not set before modifying data structure 118.
Subsequent to the start of web browsing session 100A, web browsing session 100B may commence. Web browsing session 100A need not have ended prior to web browsing session 100B starting. In the embodiment illustrated in FIGURE 1, web browsing session 100B uses browser 116 to access a web page of the same website as web browsing session 100A, namely website 140.
Browser 116 may provide to website 140 at least some of the indications stored in data structure 118 in connection with web browsing session 100A, or earlier web browsing sessions. For example, the subset of indications may be provided to website 140 comprised in a request for a web page from website 140. Alternatively, the subset may be provided to website 140 responsive to a request, received in browser 116 from website 140. As a yet further alternative, the subset of indications may be provided to website 140 at the initiative of the browser, in a message other than the request for the web page.
In general, a browser may provide to a website indications concerning user interaction with other websites, wherein the interactions with the other websites may have taken place using the browser providing the indications or with one or more other browsers. Providing only a subset of the indications, and not all the indications, provides the benefit that all of the contents of data structure 118 need not be provided to each website. Furthermore, privacy of the user is protected by not providing all information in data structure 118 to each website.
The subset of indications to be provided to website 140 may be determined based, at least in part, on a user identity. For example, browser 116 may, when compiling the subset of indications to be provided to website 140, consider as candidate indications to be included in the subset only indications that relate to past user interactions with websites that have been performed by the current user who is accessing website 140. In other words, indications relating to other users may be excluded from the subset based on a user identity information element comprised in the indications stored in data structure 118. As another example, indications that have a guest user as user identity in a user identity information element may be excluded, and indications that have a known-user user identity may be considered for inclusion in the subset.
The subset of indications to be provided to website 140 may be determined based, at least in part, on a website type. For example, indications that have a same website type as website 140 may be considered as candidates for inclusion in the subset indications to be provided to website 140. A website type may be stored in a website type information element comprised in the indications stored in data structure 118. Examples of website type include banking, internet commerce, advertising, public safety, voting, clothing, email, automobiles and healthcare. Another example way of using a website type is for website 140 to request indications relating to a certain website type, wherein the requested website type is not a website type of website 140. For example, a banking website may be configured to request automobile website type indications in case the banking website is used to disseminate a safety bulletin to owners of a certain make of car. This way, the safety bulletin may be delivered even if the user doesn’t navigate to a website of the automobile manufacturer. In detail, website 140 may determine whether the automobile type website interaction indications imply the user has a car model that the safety bulletin applies to, and responsive to this being the case, the safety bulletin may be rendered to a web page provided by website 140 to browser 116. As a yet further example, browser 116 may obtain, from website 140, a website type of website 140 in connection with requesting and receiving the web page the user is interested in, and responsively using the thus obtained website type in selecting indications for the subset.
The subset of indications to be provided to website 140 may be determined based, at least in part, on a timestamp. For example, indications that relate to user interactions with websites that took place more than a threshold period of time ago may be excluded from consideration for inclusion in the subset. As another example, indications  relating to user interactions with websites that took place less than a threshold period of time ago may be excluded from consideration for inclusion in the subset. In detail, for example, website 140 may request indications that relate to healthcare-type website interactions where the interactions took place more than six months ago. In this case, a web page provided from website 140 to browser 116 may be furnished with an invitation to book an appointment at a dentist, for example. As a further refinement, the invitation may be furnished only in case interactions older than the threshold time period are present, and no interactions newer than the threshold time period are present.
The subset of indications to be provided to website 140 may be determined based, at least in part, on a voting algorithm. For example, a voting algorithm may be used to select from a set of indications a reduced set of indications, to reduce a volume of data provided from browser 116 to website 140. Examples of voting algorithms include the Condorcet and Borda algorithms.
In some embodiments, the subset of indications to be provided to website 140 is determined based on at least two of: user identity, website type, web page type and timestamp.
FIGURE 2 illustrates a system in accordance with at least some embodiments of the present invention. Like numbering in FIGURE 2 denotes like structure as in FIGURE 1.
In FIGURE 2, there are three web browsing sessions, namely web browsing session 200A, web browsing session 200B and web browsing session 200C. Web browsing session 200A and web browsing session 200B take place between browser 114 and website 130, while web browsing session 200C takes place between browser 116 and website 140.
Browser 114 may be configured to store in data structure 118 indications concerning user interaction with website 130, and browser 116 may be configured to store in data structure indications concerning user interaction with website 140. In each of the indications stored in data structure 118 by browser 114, browser 114 may include a browser type information element, which browser 114 populates with a type of browser 114. Likewise, browser 116 may include in each of the indications stored in data structure 118 by browser 116 a browser type information element, which browser 116 may populate with a type of browser 116.  Browsers  114 and 116 may access data structure 118 to  retrieve indications regardless of whether these indications have been stored there by the same or another browser. The storing browser type may be merely one information element stored in connection with an indication concerning user interaction with a website. In some embodiments of the invention, the browser type information element is not even used. In these embodiments, a browser may not even know whether an indication concerning user interaction with a website the browser retrieves from data structure 118 has been stored there by itself or by another browser.
Browser 116 may provide, during web browsing session 200C, to website 140, from data structure 118, at least one indication concerning user interaction with website 130, such that the at least one indication was stored into data structure 118 by browser 114 during web browsing session 200A and/or web browsing session 200B.
FIGURE 3 illustrates an example apparatus capable of supporting at least some embodiments of the present invention. Illustrated is device 300, which may comprise, for example, a device 110 of FIGURE 1 or FIGURE 2. Comprised in device 300 is processor 310, which may comprise, for example, a single-or multi-core processor wherein a single-core processor comprises one processing core and a multi-core processor comprises more than one processing core. Processor 310 may comprise more than one processor. A processing core may comprise, for example, a Cortex-A8 processing core manufactured by ARM Holdings or a Steamroller processing core produced by Advanced Micro Devices Corporation. Processor 310 may comprise at least one Qualcomm Snapdragon and/or Intel Core processor. Processor 310 may comprise at least one application-specific integrated circuit, ASIC. Processor 310 may comprise at least one field-programmable gate array, FPGA. Processor 310 may be means for performing method steps in device 300. Processor 310 may be configured, at least in part by computer instructions, to perform actions.
Device 300 may comprise memory 320. Memory 320 may comprise random-access memory and/or permanent memory. Memory 320 may comprise at least one RAM chip. Memory 320 may comprise solid-state, magnetic, optical and/or holographic memory, for example. Memory 320 may be at least in part accessible to processor 310. Memory 320 may be at least in part comprised in processor 310. Memory 320 may be means for storing information. Memory 320 may comprise computer instructions that processor 310 is configured to execute. When computer instructions configured to cause processor 310 to  perform certain actions are stored in memory 320, and device 300 overall is configured to run under the direction of processor 310 using computer instructions from memory 320, processor 310 and/or its at least one processing core may be considered to be configured to perform said certain actions. Memory 320 may be at least in part comprised in processor 310. Memory 320 may be at least in part external to device 300 but accessible to device 300.
Device 300 may comprise a transmitter 330. Device 300 may comprise a receiver 340. Transmitter 330 and receiver 340 may be configured to transmit and receive, respectively, information in accordance with at least one cellular or non-cellular standard. Transmitter 330 may comprise more than one transmitter. Receiver 340 may comprise more than one receiver. Transmitter 330 and/or receiver 340 may be configured to operate in accordance with global system for mobile communication, GSM, wideband code division multiple access, WCDMA, long term evolution, LTE, IS-95, wireless local area network, WLAN, Ethernet and/or worldwide interoperability for microwave access, WiMAX, standards, for example.
Device 300 may comprise a near-field communication, NFC, transceiver 350. NFC transceiver 350 may support at least one NFC technology, such as NFC, Bluetooth, Wibree or similar technologies.
Device 300 may comprise user interface, UI, 360. UI 360 may comprise at least one of a display, a keyboard, a touchscreen, a vibrator arranged to signal to a user by causing device 300 to vibrate, a speaker and a microphone. A user may be able to operate device 300 via UI 360, for example to browse hypertext documents and/or to play games.
Device 300 may comprise or be arranged to accept a user identity module 370. User identity module 370 may comprise, for example, a subscriber identity module, SIM, card installable in device 300. A user identity module 370 may comprise information identifying a subscription of a user of device 300. A user identity module 370 may comprise cryptographic information usable to verify the identity of a user of device 300 and/or to facilitate encryption of communicated information and billing of the user of device 300 for communication effected via device 300.
Processor 310 may be furnished with a transmitter arranged to output information from processor 310, via electrical leads internal to device 300, to other devices  comprised in device 300. Such a transmitter may comprise a serial bus transmitter arranged to, for example, output information via at least one electrical lead to memory 320 for storage therein. Alternatively to a serial bus, the transmitter may comprise a parallel bus transmitter. Likewise processor 310 may comprise a receiver arranged to receive information in processor 310, via electrical leads internal to device 300, from other devices comprised in device 300. Such a receiver may comprise a serial bus receiver arranged to, for example, receive information via at least one electrical lead from receiver 340 for processing in processor 310. Alternatively to a serial bus, the receiver may comprise a parallel bus receiver.
Device 300 may comprise further devices not illustrated in FIGURE 3. For example, where device 300 comprises a smartphone, it may comprise at least one digital camera. Some devices 300 may comprise a back-facing camera and a front-facing camera, wherein the back-facing camera may be intended for digital photography and the front-facing camera for video telephony. Device 300 may comprise a fingerprint sensor arranged to authenticate, at least in part, a user of device 300. In some embodiments, device 300 lacks at least one device described above. For example, some devices 300 may lack a NFC transceiver 350 and/or user identity module 370. This may be the case, for example where device 300 comprises a desktop or laptop computer.
Processor 310, memory 320, transmitter 330, receiver 340, NFC transceiver 350, UI 360 and/or user identity module 370 may be interconnected by electrical leads internal to device 300 in a multitude of different ways. For example, each of the aforementioned devices may be separately connected to a master bus internal to device 300, to allow for the devices to exchange information. However, as the skilled person will appreciate, this is only one example and depending on the embodiment various ways of interconnecting at least two of the aforementioned devices may be selected without departing from the scope of the present invention.
FIGURE 4 illustrated a process in accordance with at least some embodiments of the present invention. On the vertical axes are disposed, from left to right, data structure 118, browser 114, browser 116, website 130 and, finally, website 140. These entities correspond to like entities present in FIGURE 1 and FIGURE 2.
Web browsing session 400A takes place between browser 114 and website 130. That is, messages comprised in web browsing session 400A are exchanged between  browser 114 and website 130, such that browser 114 and website 130 are the endpoints of the protocol connection used to convey such messages. During web browsing session 400A, browser 114 stores in data structure 118 indications concerning user interaction with website 130 and/or web pages provided by website 130. Examples of information that such indications may comprise have been provided above. Although illustrated in FIGURE 4 as comprising interactions with web pages of a single website, website 130, web browsing sessions may be general comprise interactions with more than one website. Alternatively, a multi-website set of interactions may be seen as a group of web browsing sessions, such that one web browsing session corresponds to interactions with one website.
Web browsing session 400B takes place between browser 116 and website 130. That is, messages comprised in web browsing session 400B are exchanged between browser 116 and website 130, such that browser 116 and website 130 are the endpoints of the protocol connection used to convey such messages. During web browsing session 400B, browser 116 stores in data structure 118 indications concerning user interaction with website 130 and/or web pages provided by website 130.
Web browsing session 400C takes place between browser 114 and website 140. That is, messages comprised in web browsing session 400C are exchanged between browser 114 and website 140, such that browser 114 and website 140 are the endpoints of the protocol connection used to convey such messages. During web browsing session 400C, browser 114 stores in data structure 118 indications concerning user interaction with website 140 and/or web pages provided by website 140.
Web browsing session 400D takes place between browser 116 and website 140. That is, messages comprised in web browsing session 400B are exchanged between browser 116 and website 140, such that browser 116 and website 140 are the endpoints of the protocol connection used to convey such messages. During web browsing session 400D, browser 116 stores in data structure 118 indications concerning user interaction with website 140 and/or web pages provided by website 140.
During at least one of  web browsing sessions  400A, 400B, 400C and 400D, and optionally during two, three or all four of them, the browser involved in the web browsing session may determine a subset of indications present in data structure 118 that the browser then may provide to the website involved in the web browsing session. Some web browsing sessions may overlap in time, in other words, for example, web browsing  session 400A need not have ended before web browsing session 400B begins. The write lock described above may be used to avoid conflicts in writing information into data structure 118.
For example, browser 114 may, in connection with web browsing session 400C, provide to website 140 indications concerning user interactions with a website, the user interactions having taken place during web browsing session 400B, between browser 116 and website 130.
FIGURE 5 is a flow graph of a method in accordance with at least some embodiments of the present invention. The phases of the illustrated method may take place in device 110, for example, or in a control device configured to control the functioning of device 110, when implanted therein.
Phase 510 comprises storing, in a data structure, indications concerning user interactions with websites, wherein the indications relate at least to user identity and website identity. Phase 520 comprises determining, in an apparatus, a subset of the indications to be provided to a first website in connection with accessing the first website. The determining of the subset may be performed responsive to a request to access the first website, for example. Phase 530 comprises causing a request to access the first website to be transmitted from the apparatus. Finally, phase 540 comprises causing the determined subset of indications to be provided to the first website. The subset may be provided comprised in a request message to access the first website, for example.
It is to be understood that the embodiments of the invention disclosed are not limited to the particular structures, process steps, or materials disclosed herein, but are extended to equivalents thereof as would be recognized by those ordinarily skilled in the relevant arts. It should also be understood that terminology employed herein is used for the purpose of describing particular embodiments only and is not intended to be limiting.
Reference throughout this specification to one embodiment or an embodiment means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, appearances of the phrases “in one embodiment” or “in an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment. Where reference is made to a numerical value using a term such as, for  example, about or substantially, the exact numerical value is also disclosed.
As used herein, a plurality of items, structural elements, compositional elements, and/or materials may be presented in a common list for convenience. However, these lists should be construed as though each member of the list is individually identified as a separate and unique member. Thus, no individual member of such list should be construed as a de facto equivalent of any other member of the same list solely based on their presentation in a common group without indications to the contrary. In addition, various embodiments and example of the present invention may be referred to herein along with alternatives for the various components thereof. It is understood that such embodiments, examples, and alternatives are not to be construed as de facto equivalents of one another, but are to be considered as separate and autonomous representations of the present invention.
Furthermore, the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided, such as examples of lengths, widths, shapes, etc., to provide a thorough understanding of embodiments of the invention. One skilled in the relevant art will recognize, however, that the invention can be practiced without one or more of the specific details, or with other methods, components, materials, etc. In other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring aspects of the invention.
While the forgoing examples are illustrative of the principles of the present invention in one or more particular applications, it will be apparent to those of ordinary skill in the art that numerous modifications in form, usage and details of implementation can be made without the exercise of inventive faculty, and without departing from the principles and concepts of the invention. Accordingly, it is not intended that the invention be limited, except as by the claims set forth below.
The verbs “to comprise” and “to include” are used in this document as open limitations that neither exclude nor require the existence of also un-recited features. The features recited in depending claims are mutually freely combinable unless otherwise explicitly stated. Furthermore, it is to be understood that the use of ″a″ or ″an″ , that is, a singular form, throughout this document does not exclude a plurality.
INDUSTRIAL APPLICABILITY
At least some embodiments of the present invention find industrial application in facilitating networked communication.
ACRONYMS LIST
http       hypertext transfer protocol
ISP        Internet service provider
WLAN       wireless local area network
WWW        World Wide Web
REFERENCE SIGNS LIST
Figure PCTCN2015084943-appb-000001

Claims (19)

  1. An apparatus comprising at least one processing core, at least one memory including computer program code, the at least one memory and the computer program code being configured to, with the at least one processing core, cause the apparatus at least to:
    -store, in a data structure, indications concerning user interactions with websites, wherein the indications relate at least to a first browser, a second browser, user identity and website identity;
    -determine a subset of the indications to be provided to a first website in connection with accessing the first website and
    -cause a request to access the first website to be transmitted from the apparatus, and cause the determined subset of indications to be provided to the first website.
  2. The apparatus according to claim 1, wherein the indications concerning user interactions with websites comprise indications as to which of the first browser and the second browser was used in the interactions.
  3. The apparatus according to claim 1 or 2, wherein at least one of the indications concerning user interactions with websites comprises a write lock, the write lock informing that the indication is being modified by a web browser.
  4. The apparatus according to any of claims 1-3, wherein the at least one memory and the computer program code are configured to, with the at least one processing core, cause the apparatus to determine the subset of indications based at least in part on a website type of the first website, wherein the indications stored in the data structure comprise indications relating to website type.
  5. The apparatus according to any of claims 1-4, wherein the at least one memory and the computer program code are configured to, with the at least one processing core, cause the apparatus to determine the subset of indications based at least in part on time stamps of the indications.
  6. The apparatus according to any of claims 1-5, wherein the at least one memory and the computer program code are configured to, with the at least one processing core, cause the apparatus to determine the subset of indications based at least in part on a voting algorithm. 
  7. The apparatus according to any preceding claim, wherein the at least one memory and the computer program code are configured to, with the at least one processing core, cause the apparatus to determine the subset of indications such that the subset comprises indications that relate to interactions with more than one web domain.
  8. The apparatus according to any of claims 1-7, wherein the at least one memory and the computer program code are configured to, with the at least one processing core, cause the apparatus to determine the subset of indications based at least in part on an identity of a user triggering the request to access the first website.
  9. A method comprising:
    -storing, in a data structure, indications concerning user interactions with websites, wherein the indications relate at least to a first browser, a second browser, user identity and website identity;
    -determining, in an apparatus, a subset of the indications to be provided to a first website in connection with accessing the first website;
    -causing a request to access the first website to be transmitted from the apparatus, and
    -causing the determined subset of indications to be provided to the first website.
  10. The method according to claim 9, wherein the indications concerning user interactions with websites comprise indications as to which of the first browser and the second browser was used in the interactions.
  11. The method according to claim 9 or 10, wherein at least one of the indications concerning user interactions with websites comprises a write lock, the write lock informing that the indication is being modified by a web browser.
  12. The method according to any of claims 9-11, wherein the subset of indications is determined based at least in part on a website type of the first website, wherein the indications stored in the data structure comprise indications relating to website type.
  13. The method according to any of claims 9-12, wherein the subset of indications is determined based at least in part on time stamps of the indications.
  14. The method according to any of claims 9-13, wherein the subset of indications is determined based at least in part on a voting algorithm.
  15. The method according to any of claims 9-14, wherein the subset of indications is determined such that the subset comprises indications that relate to interactions with more than one web domain.
  16. The method according to any of claims 9-15, wherein the subset of indications is determined based at least in part on an identity of a user triggering the request to access the first website.
  17. An apparatus comprising:
    -means for storing, in a data structure, indications concerning user interactions with websites, wherein the indications relate at least to a first browser, a second browser, user identity and website identity;
    -means for determining a subset of the indications to be provided to a first website in connection with accessing the first website and
    -means for causing a request to access the first website to be transmitted from the apparatus, and for causing the determined subset of indications to be provided to the first website.
  18. A non-transitory computer readable medium having stored thereon a set of computer readable instructions that, when executed by at least one processor, cause an apparatus to at least:
    -store, in a data structure, indications concerning user interactions with websites, wherein the indications relate at least to a first browser, a second browser, user identity and website identity;
    -determine a subset of the indications to be provided to a first website in connection with accessing the first website and
    -cause a request to access the first website to be transmitted from the apparatus, and cause the determined subset of indications to be provided to the first website.
  19. A computer program configured to cause a method in accordance with at least one of claims 9-16 to be performed.
PCT/CN2015/084943 2015-07-23 2015-07-23 Networked communication WO2017012120A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2015/084943 WO2017012120A1 (en) 2015-07-23 2015-07-23 Networked communication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2015/084943 WO2017012120A1 (en) 2015-07-23 2015-07-23 Networked communication

Publications (1)

Publication Number Publication Date
WO2017012120A1 true WO2017012120A1 (en) 2017-01-26

Family

ID=57835050

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/084943 WO2017012120A1 (en) 2015-07-23 2015-07-23 Networked communication

Country Status (1)

Country Link
WO (1) WO2017012120A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1835507A (en) * 2005-03-17 2006-09-20 国际商业机器公司 Method for the server side processing of user interactions with a web-browser
US8365291B1 (en) * 2011-11-16 2013-01-29 Google Inc. Browser extension control flow graph based taint tracking
CN104137113A (en) * 2012-09-27 2014-11-05 英特尔公司 Security data aggregation and business intelligence for web applications
CN104737175A (en) * 2012-07-20 2015-06-24 谷歌公司 Method and system for browser identity

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1835507A (en) * 2005-03-17 2006-09-20 国际商业机器公司 Method for the server side processing of user interactions with a web-browser
US8365291B1 (en) * 2011-11-16 2013-01-29 Google Inc. Browser extension control flow graph based taint tracking
CN104737175A (en) * 2012-07-20 2015-06-24 谷歌公司 Method and system for browser identity
CN104137113A (en) * 2012-09-27 2014-11-05 英特尔公司 Security data aggregation and business intelligence for web applications

Similar Documents

Publication Publication Date Title
JP6435289B2 (en) Modify client-side search results based on social network data
US20150256415A1 (en) Browser notifications
US20130179773A1 (en) Method for online editing and publishing and device thereof
US10333868B2 (en) Techniques to automate bot creation for web pages
MX2013013870A (en) Social data overlay.
CN106170814B (en) System and method for matching users with social data
US20140108621A1 (en) System and method for internet services aggregation
US10198512B2 (en) Search relevance using past searchers' reputation
US20140101249A1 (en) Systems and Methods for Managing and Presenting Information
US20140025596A1 (en) Presenting job listings based on the viewer of a webpage
US20170046341A1 (en) Aggregating photos captured at an event
US10382914B2 (en) Techniques to leverage data from mobile headers
CN107430609B (en) Generation of new tab pages for browsers for enterprise environments
CN105337946B (en) The method and apparatus of webpage fake certification
JP6301936B2 (en) Location-based social networking system and method
US10469575B2 (en) Techniques for contact exporting
US11658926B2 (en) Generating smart replies involving image files
US10503763B2 (en) Methods and systems for executing functions in a text field
CN107463590B (en) Automatic session phase discovery
WO2017012120A1 (en) Networked communication
US9536015B1 (en) Using social networking information
WO2018045947A1 (en) Browser bookmark setting method and apparatus, and computing device
US10061851B1 (en) Encouraging inline person-to-person interaction
CN113515710B (en) Page information display method and device, electronic equipment and storage medium
US11902223B2 (en) Intelligent assistant content generation

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15898676

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15898676

Country of ref document: EP

Kind code of ref document: A1