US-12619762-B1 - Group-based affinity scoring for affiliate websites
Abstract
A method, non-transitory computer readable medium, device and system that maintains aggregate visit data comprising group visit data for a plurality of groups and a plurality of affiliate websites based on processed request data for a plurality of requests. First request data corresponding to a first request from a client to a web server system is received. At least a first group from the plurality of groups is determined based on the first request data. First group visit data for the first group is obtained from the aggregate visit data. Affinity data comprising affinity scores for the affiliate websites is generated based on the first group visit data and is used to determine affiliate content served in association with web content served by the web server system.
Inventors
- Sumit Agarwal
- Yao Zhao
Assignees
- SHAPE SECURITY, INC.
Dates
- Publication Date
- 20260505
- Application Date
- 20200610
Claims (20)
- 1 . A method implemented by a network traffic management system comprising one or more group affinity server systems, server devices, or client devices, the method comprising: receiving group visit data for a plurality of groups and a plurality of affiliate websites; aggregating the group visit data based on predetermined group characteristics; receiving first request data corresponding to a first request from a client to a web server system; pseudonymizing the first request data; determining, based on analyzing the pseudonymized first request data and the aggregated visit data, at least a first group from the plurality of groups; obtaining, from the aggregate visit data, first group visit data for the first group including cookies associated with each affiliate website; generating, based on the first group visit data and pseudonymized version of the first request data, affinity data comprising affinity scores for the affiliate websites, wherein the affinity scores for the affiliate websites comprise affinity score levels, and wherein the affinity scores assigned to the affiliate websites each indicate a probabilistic value that the client will access each particular website; determining, based on the affinity data, affiliate content to be served by the web server system based on the affinity score levels in the affinity data in response to the first request by sending a request to the web server system using an identifier, an IP address, a user agent string, or combinations thereof from the cookies; monitoring requests from the client by analyzing received cookie data associated with the request, wherein analyzing the cookie data comprises determining whether the cookie data has partner affinity data correlated to the affiliate content; responsive to determining that the cookie data does not have the partner affinity data, obtaining the partner affinity data from an executed partner affinity service with the identifier, IP address, and the user agent string; responsive to receiving the partner affinity data from the executed partner affinity service within a predetermined period of time, providing the affiliate content based on the partner affinity data to the client by generating and transmitting, to the web server system affinity content code configured, when executed at the web server system to obtain and provide the affiliate content to the client; and responsive to not receiving the partner affinity data from the executed partner affinity service within the predetermined period of time, providing default affiliate content to the client.
- 2 . The method of claim 1 , further comprising: updating the aggregate visit data based on public data corresponding to at least one group of the plurality of groups and at least one website of the plurality of affiliate websites.
- 3 . The method of claim 1 , wherein the affinity content code is configured to obtain the affiliate content from two or more server systems.
- 4 . The method of claim 1 , further comprising: inserting instrumentation code into web code requested by the client, wherein the instrumentation code is configured to collect telemetry data when executed by the client; and receiving the telemetry data generated at the client, wherein the determining the at least first group from the plurality of groups is based on the telemetry data corresponding to the first request.
- 5 . The method of claim 1 , further comprising: providing security services to at least one affiliate web server system that hosts at least one website of the plurality of affiliate websites; wherein the security services comprise inserting instrumentation code into web code requested from the at least one affiliate web server system by the client, wherein the instrumentation code when executed is configured to: collect telemetry data comprising at least a portion of the request data; and receive the telemetry data including said at least a portion of the request data from the client.
- 6 . A non-transitory computer readable medium having stored thereon instructions for workload processing comprising executable code that, when executed by one or more processors, causes the one or more processors to: receive group visit data for a plurality of groups and a plurality of affiliate websites; aggregate the group visit data based on processed request data for a plurality of requests; receive first request data corresponding to a first request from a client to a web server system; pseudonymize the first request data; determine, based on analyzing the pseudonymized first request data and the aggregated visit data, at least a first group from the plurality of groups; obtain, from the aggregate visit data, first group visit data for the first group including cookies associated with each affiliate website; generate, based on the first group visit data and pseudonymized version of the first request data, affinity data comprising affinity scores for the affiliate websites, wherein the affinity scores for the affiliate websites comprise affinity score levels, and wherein the affinity scores assigned to the affiliate websites each indicate a probabilistic value that the client will access each particular website; determine, based on the affinity data, affiliate content to be served by the web server system based on the affinity score levels in the affinity data in response to the first request by sending a request to the web server system using an identifier, an IP address, a user agent string, or combinations thereof from the cookies; monitor requests from the client by analyzing received cookie data associated with the request, wherein analyzing the cookie data comprises determining whether the cookie data has partner affinity data correlated to the affiliate content; responsive to affinity data, obtain the partner affinity data from an executed partner affinity service with the identifier, IP address, and the user agent string; responsive to determining that the cookie data comprises the generated receiving the partner affinity data from the executed partner affinity service within a predetermined period of time, provide the affiliate content based on the partner affinity data to the client by generating and transmitting, to the web server system affinity content code configured when executed at the web server system to obtain and provide the affiliate content to the client; and responsive to not receiving the partner affinity data from the executed partner affinity service within the predetermined period of time, provide default affiliate content to the client.
- 7 . The medium of claim 6 , wherein the executable code, when executed by the one or more processors further causes the one or more processors to: update the aggregate visit data based on public data corresponding to at least one group of the plurality of groups and at least one website of the plurality of affiliate websites.
- 8 . The medium of claim 6 , wherein the affinity content code is configured to obtain the affiliate content from two or more server systems.
- 9 . The medium of claim 6 , wherein the executable code, when executed by the one or more processors further causes the one or more processors to: insert instrumentation code into web code requested by the client, wherein the instrumentation code is configured to collect telemetry data when executed by the client; and receive the telemetry data generated at the client, wherein the determining the at least first group from the plurality of groups is based on the telemetry data corresponding to the first request.
- 10 . The medium of claim 6 , wherein the executable code, when executed by the one or more processors further causes the one or more processors to: provide security services to at least one affiliate web server system that hosts at least one website of the plurality of affiliate websites; wherein the security services comprise inserting instrumentation code into web code requested from the at least one affiliate web server system by the client, wherein the instrumentation code when executed is configured to: collect telemetry data comprising at least a portion of the request data; and receive the telemetry data including said at least a portion of the request data from the client.
- 11 . A group affinity server device, comprising memory comprising programmed instructions stored thereon and one or more processors configured to be capable of executing the stored programmed instructions to: receive group visit data for a plurality of groups and a plurality of affiliate websites; aggregate the group visit data based on processed request data for a plurality of requests; receive first request data corresponding to a first request from a client to a web server system; pseudonymize the first request data; determine, based on analyzing the pseudonymized first request data and the aggregated visit data, at least a first group from the plurality of groups; obtain, from the aggregate visit data, first group visit data for the first group including cookies associated with each affiliate website; generate, based on the first group visit data and pseudonymized version of the first request data, affinity data comprising affinity scores for the affiliate websites, wherein the affinity scores for the affiliate websites comprise affinity score levels, and wherein the affinity scores assigned to the affiliate websites each indicate a probabilistic value that the client will access each particular website; determine, based on the affinity data, affiliate content to be served by the web server system based on the affinity score levels in the affinity data in response to the first request by sending a request to the web server system using an identifier, an IP address, a user agent string, or combinations thereof from the cookies; monitor requests from the client by analyzing received cookie data associated with the request, wherein analyzing the cookie data comprises determining whether the cookie data has partner affinity data correlated to the affiliate content; responsive to determining that the cookie data does not have the partner affinity data, obtaining the partner affinity data from an executed partner affinity service with the identifier, IP address, and the user agent string; responsive to receiving the partner affinity data from the executed partner affinity service within a predetermined period of time, provide the affiliate content based on the partner affinity data to the client by generating and transmitting, to the web server system affinity content code configured when executed at the web server system to obtain and provide the affiliate content to the client; and responsive to not receiving the partner affinity data from the executed partner affinity service within the predetermined period of time, providing default affiliate content to the client.
- 12 . The device of claim 11 , wherein the one or more processors are further configured to be capable of executing the stored programmed instructions to: update the aggregate visit data based on public data corresponding to at least one group of the plurality of groups and at least one website of the plurality of affiliate websites.
- 13 . The device of claim 11 , wherein the affinity content code is configured to obtain the affiliate content from two or more server systems.
- 14 . The device of claim 11 , wherein the one or more processors are further configured to be capable of executing the stored programmed instructions to: insert instrumentation code into web code requested by the client, wherein the instrumentation code is configured to collect telemetry data when executed by the client; and receive the telemetry data generated at the client, wherein the determining the at least first group from the plurality of groups is based on the telemetry data corresponding to the first request.
- 15 . The device of claim 11 , wherein the one or more processors are further configured to be capable of executing the stored programmed instructions to: provide security services to at least one affiliate web server system that hosts at least one website of the plurality of affiliate websites; wherein the security services comprise inserting instrumentation code into web code requested from the at least one affiliate web server system by the client, wherein the instrumentation code when executed is configured to: collect telemetry data comprising at least a portion of the request data; and receive the telemetry data including said at least a portion of the request data from the client.
- 16 . A network traffic management system, comprising one or more network security apparatuses, server devices, or client devices with memory comprising programmed instructions stored thereon and one or more processors configured to be capable of executing the stored programmed instructions to: receive group visit data for a plurality of groups and a plurality of affiliate websites; aggregate the group visit data based on processed request data for a plurality of requests; receive first request data corresponding to a first request from a client to a web server system; pseudonymize the first request data; determine, based on analyzing the pseudonymized first request data and the aggregated visit data, at least a first group from the plurality of groups; obtain, from the aggregate visit data, first group visit data for the first group including cookies associated with each affiliate website; generate, based on the first group visit data and pseudonymized version of the first request data, affinity data comprising affinity scores for the affiliate websites, wherein the affinity scores for the affiliate websites comprise affinity score levels, and wherein the affinity scores assigned to the affiliate websites each indicate a probabilistic value that the client will access each particular website; determine, based on the affinity data, affiliate content to be served by the web server system based on the affinity score levels in the affinity data in response to the first request by sending a request to the web server system using an identifier, an IP address, a user agent string, or combinations thereof from the cookies; monitor requests from the client by analyzing received cookie data associated with the request, wherein analyzing the cookie data comprises determining whether the cookie data has partner affinity data correlated to the affiliate content; responsive to determining that the cookie data does not have the partner affinity data, obtaining the partner affinity data from an executed partner affinity service with the identifier, IP address, and the user agent string; responsive to receiving the partner affinity data from the executed partner affinity service within a predetermined period of time, provide the affiliate content based on the partner affinity data to the client by generating and transmitting, to the web server system affinity content code configured when executed at the web server system to obtain and provide the affiliate content to the client; and responsive to not receiving the partner affinity data from the executed partner affinity service within the predetermined period of time, providing default affiliate content to the client.
- 17 . The system of claim 16 , wherein the one or more processors are further configured to be capable of executing the stored programmed instructions to: update the aggregate visit data based on public data corresponding to at least one group of the plurality of groups and at least one website of the plurality of affiliate websites.
- 18 . The system of claim 16 , wherein the affinity content code is configured, to obtain the affiliate content from two or more server systems.
- 19 . The system of claim 16 , wherein the one or more processors are further configured to be capable of executing the stored programmed instructions to: insert instrumentation code into web code requested by the client, wherein the instrumentation code is configured to collect telemetry data when executed by the client; and receive the telemetry data generated at the client, wherein the determining the at least first group from the plurality of groups is based on the telemetry data corresponding to the first request.
- 20 . The system of claim 16 , wherein the one or more processors are further configured to be capable of executing the stored programmed instructions to: provide security services to at least one affiliate web server system that hosts at least one website of the plurality of affiliate websites; wherein the security services comprise inserting instrumentation code into web code requested from the at least one affiliate web server system by the client, wherein the instrumentation code when executed is configured to: collect telemetry data comprising at least a portion of the request data; and receive the telemetry data including said at least a portion of the request data from the client.
Description
This application claims the benefit of U.S. Provisional Patent Application Ser. No. 62/859,332 filed Jun. 10, 2019, which is hereby incorporated by reference in its entirety. FIELD This technology generally relates to security techniques applicable to client and server systems, and relates more specifically to group-based affinity scoring for affiliate websites. BACKGROUND The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section. Security has three pillars: confidentiality, integrity, and availability. Security solutions often focus on the first two pillars and accept any loss of availability. However, security needs availability to be useful. Some companies attempt to provide availability by tracking users across domains or websites, which may require excessive user consent popups. Many users blindly accept these popups which incur a heavy cost with regard to their privacy. Accordingly, a new privacy-preserving security system that focuses on availability is desired. SUMMARY A method implemented by a network traffic management system comprising one or more group affinity server systems, server devices, or client devices includes maintaining aggregate visit data comprising group visit data for a plurality of groups and a plurality of affiliate websites based on processed request data for a plurality of requests. First request data corresponding to a first request from a client to a web server system is received. At least a first group from the plurality of groups is determined based on the first request data. First group visit data for the first group is obtained from the aggregate visit data. Affinity data comprising affinity scores for the affiliate websites is generated based on the first group visit data and is used to determine affiliate content that is served in association with web content served by the web server system. A non-transitory computer readable medium having stored thereon instructions for workload processing comprising executable code that, when executed by one or more processors, causes the one or more processors to maintain aggregate visit data comprising group visit data for a plurality of groups and a plurality of affiliate websites based on processed request data for a plurality of requests. First request data corresponding to a first request from a client to a web server system is received. At least a first group from the plurality of groups is determined based on the first request data. First group visit data for the first group is obtained from the aggregate visit data. Affinity data comprising affinity scores for the affiliate websites is generated based on the first group visit data and is used to determine affiliate content that is served in association with web content served by the web server system. A group affinity server device, comprising memory comprising programmed instructions stored thereon and one or more processors configured to be capable of executing the stored programmed instructions to that maintains aggregate visit data comprising group visit data for a plurality of groups and a plurality of affiliate websites based on processed request data for a plurality of requests. First request data corresponding to a first request from a client to a web server system is received. At least a first group from the plurality of groups is determined based on the first request data. First group visit data for the first group is obtained from the aggregate visit data. Affinity data comprising affinity scores for the affiliate websites is generated based on the first group visit data and is used to determine affiliate content that is served in association with web content served by the web server system. A network traffic management system, comprising one or more network security apparatuses, server devices, or client devices with memory comprising programmed instructions stored thereon and one or more processors configured to be capable of executing the stored programmed instructions to maintain aggregate visit data comprising group visit data for a plurality of groups and a plurality of affiliate websites based on processed request data for a plurality of requests. First request data corresponding to a first request from a client to a web server system is received. At least a first group from the plurality of groups is determined based on the first request data. First group visit data for the first group is obtained from the aggregate visit data. Affinity data comprising affinity scores for the affiliate websites is generated based on the first group visit data and is used to determine affiliate content that is served in association with web content served by the web server system. Example