CN112166590B - 用于在联网环境中消息生成的受限环境 - Google Patents

用于在联网环境中消息生成的受限环境 Download PDF

Info

Publication number
CN112166590B
CN112166590B CN201980026394.9A CN201980026394A CN112166590B CN 112166590 B CN112166590 B CN 112166590B CN 201980026394 A CN201980026394 A CN 201980026394A CN 112166590 B CN112166590 B CN 112166590B
Authority
CN
China
Prior art keywords
content
parameters
client device
server
list
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201980026394.9A
Other languages
English (en)
Other versions
CN112166590A (zh
Inventor
乔纳森·克拉夫奇克
王刚
高易安
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of CN112166590A publication Critical patent/CN112166590A/zh
Application granted granted Critical
Publication of CN112166590B publication Critical patent/CN112166590B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6263Protecting personal data, e.g. for financial or medical purposes during internet communication, e.g. revealing personal data from cookies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/561Adding application-functional data or data for application control, e.g. adding metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/564Enhancement of application control based on intercepted application data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • Library & Information Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本文描述的系统和方法能够为服务器提供的处理器可执行指令的本地执行提供受限环境。所述受限环境能够通过web浏览器来维护以使得能够在网页的渲染期间通过所述web浏览器来以沙盒方式生成内容请求。所述受限环境可以使得所述web浏览器能够控制所述内容请求的生成和传输。

Description

用于在联网环境中消息生成的受限环境
背景技术
当客户端设备访问网站时,网站能够向所述客户端设备传送小数据包。所述小数据包能够包括首选项、会话信息,或者用于对在所述客户端设备与托管所述网站的设备之间的会话进行认证和维护。由得到网站存储的数据能够被无限地存储或者能够被以规则的间隔清除。当所述客户端设备不在与域的活动会话中时,web浏览器能够防止所述域访问其他域的数据或者将数据存储在所述客户端设备上。防止所述web浏览器存储并访问数据能够防止由所述web浏览器渲染的内容去选择定制内容以插入到所述内容中。
发明内容
本文描述的系统和方法能够通过控制通过所述web浏览器所生成的内容请求来允许定制内容的递送而不损害用户的隐私。所述系统能够包括安全库(Secure Vault)或受限环境,其中所述浏览器执行处理器可执行指令,以生成用于填充内容槽的内容项。所述系统能够控制所述受限环境接收的输入(例如,所述受限环境能够接收哪些设备能力或标识符)。在一些实施方式中,所述受限环境也能够控制所述内容请求的允许目的地。例如,所述受限环境能够使得所述内容槽能够生成仅能够被传送到代理的请求,这从内容服务器使所述web浏览器和客户端设备模糊。所述代理能够从内容服务器屏蔽web浏览器的网际协议(IP)地址。所述代理也能够实施聚合要求以从所述内容服务器进一步使所述web浏览器模糊。例如,对所述代理的请求能够包括用于请求定制内容的参数列表。所述代理能够通过不允许在给定参数列表已被请求预定次数之前履行请求来实施所述聚合要求。这能够确保高度地特定于web浏览器或客户端设备(并且因此可以使得能够由第三方标识)的参数不能够被用于内容项的提取或选择。
根据本公开的至少一个方面,一种用于在联网系统中交换数据的方法可以包括:通过由客户端设备执行的web浏览器来存储客户端设备简档,所述客户端设备简档可以包括用于在所述客户端设备的受限环境中生成内容请求的多个客户端设备参数和处理器可执行指令。所述受限环境可以与内容服务器相关联。所述方法可以包括基于所述web浏览器接收到网页来通过web浏览器向所述受限环境传送内容项参数。所述方法能够包括通过web浏览器执行存储在受限环境中的处理器可执行指令来基于所述客户端设备简档和内容项参数生成参数列表。所述方法能够包括通过所述web浏览器来将所述参数列表传送到代理服务器。所述方法能够包括基于所述代理服务器确定在所述参数列表中的至少一个参数的聚合值满足预定阈值来通过所述web浏览器接收要在所述网页的内容槽中渲染的内容项。
根据本公开的至少一个方面,一种用于在联网系统中交换数据的系统可以包括由客户端设备的一个或多个处理器执行的web浏览器。所述Web浏览器可以维护一个或多个受限环境。所述Web浏览器能够在受限环境中存储客户端设备简档,所述客户端设备简档能够包括用于生成内容请求的多个客户端设备参数和处理器可执行指令。所述受限环境能够与内容服务器相关联。所述Web浏览器能够基于所述web浏览器接收到网页而向受限环境传送内容项参数。所述Web浏览器能够基于存储在受限环境中的处理器可执行指令的执行来基于所述客户端设备简档和内容项参数生成参数列表。所述Web浏览器能够将所述参数列表传送到代理服务器。Web浏览器能够基于代理服务器确定在所述参数列表中的至少一个参数的聚合值满足预定阈值来接收要在所述网页的内容槽中渲染的内容项。
前面的一般描述以及下面的对附图的简述和详细描述是示例性和说明性的,并且旨在提供对所要求保护的本发明的进一步解释。从以下附图的简要描述和详细描述,其他目的、优点和新颖特征对于本领域技术人员将是显而易见的。
附图说明
附图并非旨在按比例绘制。在各个附图中,相似的附图标记和名称指示相似的元素。为了清楚起见,并非在每个附图中都标记了每个组件。在附图中:
图1图示根据一些实施方式的用于数据交换的示例网络和设备环境的框图;
图2图示根据一些实施方式的用于在图1中图示的示例网络和设备环境中使用的示例计算设备的框图;
图3图示根据一些实施方式的用于在图1中图示的示例网络和设备环境中配置受限环境的流程图;
图4图示根据一些实施方式的用于在图1中图示的示例网络设备环境中交换数据的流程图;以及
图5图示根据一些实施方式的用于在图1中图示的示例网络设备环境中交换数据的示例方法的框图。
具体实施方式
可以以许多方式中的任一种来实施在上面介绍并在下面更详细地讨论的各种构思,因为所描述的构思不限于所述实施方式的任何特定方式。具体实施方式和应用的示例是主要为了说明性目的而提供的。
诸如网页的内容能够包括内容槽,这些内容槽包括处理器可执行指令,这些处理器可执行指令当由web浏览器执行时,能够使所述web浏览器请求要渲染到所述内容槽中的定制内容。所述内容能够基于例如设备能力(例如,屏幕分辨率或定向、颜色深度、带宽等)或任何其他此类信息而定制。本文描述的系统和方法能够通过控制由所述web浏览器生成的内容请求来允许在不损害用户的隐私的情况下提供定制内容。所述系统能够包括安全库或受限环境,其中所述浏览器执行处理器可执行指令以生成内容项来填充内容槽。所述系统能够控制所述受限环境接收的输入(例如,受限环境能够接收哪些设备能力或标识符)。在一些实施方式中,所述受限环境也能够控制所述内容请求的允许目的地。例如,所述受限环境可以使得所述内容槽能够生成只能被传送到代理的请求,这从内容服务器使所述web浏览器和客户端设备变得模糊。所述代理能够从内容服务器屏蔽所述web浏览器的网际协议(IP)地址。所述代理也能够实施聚合要求以从内容服务器进一步使所述web浏览器模糊。例如,对所述代理的请求能够包括用于请求所述定制内容的参数列表。所述代理能够通过在给定参数列表已被请求预定次数之前不允许履行请求来实施所述聚合要求。这能够确保高度特定于web浏览器或客户端设备(并且因此可以使得能够由第三方标识)的参数不能够被用于内容项的提取或选择。
图1图示用于数据交换的示例网络和设备环境100的框图。如图所示,一个或多个客户端设备102能够经由网络106与一个或多个内容服务器110(1)-110(N)进行通信,这些内容服务器能够被通常称为内容服务器110。客户端设备102能够经由一个或多个中间服务器108与内容服务器110进行通信。客户端设备102能够包括任何类型和形式的计算设备,包括台式计算机、膝上型计算机、便携式计算机、平板计算机、可穿戴计算机、嵌入式计算机、智能电视、控制台、物联网(IoT)设备或智能装置、或任何其他类型和形式的计算设备。客户端设备102能够从内容服务器110请求内容。例如,内容服务器110能够提供内容,客户端设备102将所述内容渲染到应用或网页的一个或多个内容槽中。所述内容槽能够包括能够使客户端设备102(经由中间服务器108)从内容服务器110请求内容以填充所述内容槽的JavaScript或其他处理器可执行指令。所述处理器可执行指令能够由内容服务器110提供。
系统100能够包括一个或多个网络106。网络106能够包括向任何类型和形式的网络,包括局域网(LAN)、诸如因特网的广域网(WAN)、卫星网络、电缆网络、宽带网络、光纤网络、微波网络、蜂窝网络、无线网络、或这些或其他此类网络的任何组合。系统100能够包括相同或不同类型的网络106。例如,在客户端设备102与中间服务器108之间的网络106可以是第一类型,而在中间服务器108与内容服务器110之间的网络106可以是第二类型。在客户端设备102与中间服务器108之间的网络106和在中间服务器108与内容服务器110之间的网络106可以是同一网络或同一网络的组件。
网络106能够包括多个附加设备,包括例如网关、调制解调器、防火墙、路由器、交换机等。网络106能够包括被配置成在网络106内接收和/或传送数据的任何数目的计算设备(例如,计算机、服务器、路由器、网络交换机等)。网络106能够包括任何数目的硬连线连接和/或无线连接。客户端设备102能够以无线方式(例如,经由WiFi、蜂窝、无线电等)与被硬连线(例如,经由光纤缆线、CAT5缆线等)到在网络106内的其他计算设备的收发器进行通信。网络106能够包括或者可以是虚拟网络,诸如在由单个物理机器执行的多个虚拟机之间的虚拟网络,或诸如经由物理可移动介质离线转移数据的抽象网络(例如,Sneakernet,经由磁带介质、CD-ROM、闪存介质、外部硬盘驱动器、软盘等转移数据)。
系统100能够包括一个或多个中间服务器108。中间服务器108可以是在客户端设备102与内容服务器110之间的代理。客户端设备102能够将请求传送到中间服务器108,所述中间服务器108能够将所述请求转发到内容服务器110以进行履行。所述请求能够包括指示所述请求的转发目的地或最终目的地的报头。中间服务器108能够防止内容服务器110从客户端设备102接收一个或多个标识符(例如,IP地址)。中间服务器108能够在确定要将所述请求转发到内容服务器110中的一个或多个之前对所接收到的请求应用一种或多种转发策略。例如,这些转发策略中的一种可以是聚合策略,该聚合策略为在中间服务器108将请求转发到一个或多个内容服务器110之前的给定时间段内中间服务器108必须接收的类似请求的数目设置阈值。所述转发策略能够包括域或内容服务器特定的聚合策略。例如,所述聚合策略能够保持所述请求直到或除非接收到对于特定域(例如,www.example.com)的预定数目的请求为止。所述转发策略能够包括针对多个聚合域的聚合策略或阈值。多维策略能够为域(例如,www.example.com)和预定内容服务器设置阈值。
在一些实施方式中,所述请求不指示目标内容服务器110,且中间服务器108能够选择要将请求发送到哪些内容服务器110。所述选择能够经由负载均衡算法、拍卖算法(例如,其中内容服务器110对提供内容的机会进行出价)等。中间服务器108因此能够被称为交换服务器、负载均衡器、或者通过任何其他这种装置。在一些实施方式中,中间服务器108能够将所述请求转发到能够从内容服务器110的池中选择内容服务器110的另外的交换服务器或负载均衡器。
中间服务器108能够管理从内容服务器110到客户端设备102的返回响应。例如,响应于从中间服务器108转发到内容服务器110的请求,内容服务器110能够选择内容项。内容服务器110能够将所述内容项传送到中间服务器108,中间服务器108能够将所述内容项转发到生成了对所述内容的原始请求的客户端设备102。
系统100能够包括一个或多个内容服务器110。内容服务器110能够包括内容储存库。内容服务器110能够响应于从中间服务器108或客户端设备102接收到内容请求而从内容储存库中选择内容。在一些实施方式中,来自客户端设备102的内容请求能够包括由内容服务器110在较早的数据交换或参数列表中提供给客户端设备102的标识符,诸如cookie。内容服务器110能够基于所述标识符从内容储存库中选择内容。例如,内容服务器110能够使所述标识符与诸如但不限于客户端设备102的首选项和计算资源(例如,屏幕大小和分辨率)等相关联。内容服务器110能够基于与所述标识符相关联的数据从数据储存库中选择所述内容。内容服务器110能够基于在所述请求中所包括的参数列表来选择所述内容项。所述参数列表可以包括内容服务器110能够在选择所述内容项时所使用的参数(例如,屏幕大小、分辨率、内容槽大小、主题)。
客户端设备102、中间服务器108和内容服务器110能够包括任何类型和形式的计算设备,包括台式计算机、服务器、工作站、膝上型计算机、便携式计算机、嵌入式计算机、或任何其他类型和形式的计算设备。中间服务器108和内容服务器110能够包括由一个或多个物理计算设备执行的虚拟机,并且能够被配置成服务器场、集群或设备的云。
图2图示用于在图1中图示的示例网络和设备环境中使用的示例计算设备的框图。所述示例网络和设备环境能够包括能够经由一个或多个中间服务器108与一个或多个内容服务器110进行通信的一个或多个客户端设备102。
如以上所讨论的,客户端设备102可以称为客户端、设备、客户端设备、计算设备、用户设备或任何其他这种术语。客户端设备102能够包括台式计算机、膝上型计算机、平板计算机、智能电话、视频游戏机、智能电视或机顶盒、服务器、工作站或能够通过网络106进行通信的任何其他类型和形式的计算设备或者可以是上述各项的组件。在一些实施方式中,客户端设备102能够执行用于通过网络106进行通信的应用208。应用208可以是用于通过网络106进行通信的服务、服务器、守护程序、例程或其他可执行逻辑。应用208可以是web浏览器、邮件客户端、视频播放器、音乐播放器、视频游戏或任何其他这种应用。这种应用能够包括命令行接口、图形用户接口或这些或其他接口的任何组合。
客户端设备102能够包括一个或多个处理器200、网络接口202和I/O接口204。客户端设备102能够包括存储器206。存储器206能够存储机器指令,这些机器指令当由处理器200执行时,使处理器200执行本文描述的操作中的一个或多个。处理器200能够包括微处理器、ASIC、FPGA等或它们的组合。处理器200可以是多核心处理器或处理器的阵列。存储器206能够包括但不限于能够向处理器200提供程序指令的电子、光学、磁性或任何其他存储设备。存储器206能够包括软盘、CD-ROM、DVD、磁盘、存储器芯片、ROM、RAM、EEPROM、EPROM、闪速存储器、光学介质、或处理器200能够从其中读取指令的任何其他合适的存储器。所述指令能够包括来自诸如但不限于C、C++、C#、Java、JavaScript、Perl、HTML、XML、Python和Visual Basic的任何合适的计算机编程语言的代码。
客户端设备102能够包括一个或多个网络接口202。网络接口202能够包括任何类型和形式的接口,包括包含10Base T、100Base T或1000Base T的以太网;各种802.11无线中的任一种,诸如802.11a、802.11b、802.11g、802.11n或802.11ac;蜂窝,包括CDMA、LTE、3G或4G蜂窝;蓝牙或其他短距离无线连接;或用于与网络106进行通信的这些或其他接口的任何组合。客户端设备102能够包括不同类型的多个网络接口202,从而允许经由不同的子网络连接到各种网络106或诸如因特网的网络106。
客户端设备102能够包括一个或多个I/O接口204。I/O接口204可以是基于硬件的或基于软件的。I/O接口204可以是任何电子设备(例如,键盘、鼠标、指点设备、触摸屏显示器、麦克风等),所述电子设备通过生成感官信息(例如,显示器上的可视化、一个或多个声音、触觉反馈等)将数据传达给用户和/或将从用户接收到的感官信息转换成电子信号。根据各种实施方式,一个或多个用户接口设备可以在客户端设备102的外壳内部,诸如内置显示器、触摸屏、麦克风等,或者在客户端设备102的外壳外部,诸如连接到客户端设备102的监视器、连接到客户端设备102的扬声器等。
客户端设备102能够将数据和处理器可执行指令存储在存储器206中。例如,客户端设备102能够将应用208作为处理器可执行指令存储在存储器206中。应用208可以是用于经由客户端设备的I/O接口204(例如,显示器、扬声器等)接收内容并且显示或以其他方式输出内容的应用、小应用程序、脚本、服务、守护程序、例程或其他可执行逻辑。例如,应用208可以是接收并渲染网页或其他内容的web浏览器。应用208能够包括用于显示经由网络接口202接收的和/或由处理器200在本地生成的内容的功能性。
客户端设备102能够包括设备ID 210。客户端设备102能够利用设备ID 210向中间服务器108或内容服务器110标识它自己。设备ID210可以是字母数字字符串、数据字符串、序列号、媒体访问控制(MAC)地址、IP地址、用户名或账户名、全局唯一标识符(GUID)、cookie、随机或伪随机数或任何其他类型和形式的标识符,包括这些或其他标识符的组合。例如,设备ID 210可以是客户端设备的用户代理或MAC地址的散列。设备标识符210能够被固定到客户端设备102。例如,设备ID 210能够由制造商预先配置在所述设备中。例如,设备ID 210可以是制造商序列号或MAC地址。设备ID 210能够由客户端设备102、中间服务器108或内容服务器110动态地设置。设备ID 210可以是静态的。设备ID 210能够在预定接口处更新。例如,能够为与中间服务器108的每次通信设置唯一或新的设备标识符210。能够周期性地(例如,每小时、每天、每周等)或以其他间隔(例如,在重新启动客户端设备、登录到互联网服务等时)改变或更新所述设备ID 210。设备ID 210能够与一个或多个其他设备标识符210(例如,用于移动设备的设备标识符、用于家庭计算机的设备标识符等)相关联。
客户端设备102能够包括一个或多个受限环境212。受限环境212可以是应用208的组件或者能够由应用208维护。例如,应用208可以是web浏览器并且web浏览器能够从客户端设备102的存储器206创建、维护和移除所述受限环境212。受限环境212可以是用于接收内容项参数并且基于内容项参数和客户端设备简档214生成参数列表的应用、小应用程序、脚本、服务、守护程序、例程或其他可执行逻辑。受限环境212可以是存储器206内的安全存储位置。受限环境212可以是或者能够包括“沙盒”,所述沙盒使在受限环境212内执行的处理器可执行指令与存储在受限环境212外部的数据或其他处理器可执行指令隔离。客户端设备102能够针对客户端设备102与之交互的内容服务器110中的每一个包括不同的受限环境212。例如,在较早的数据交换(例如,认证程序)期间,内容服务器110能够向客户端设备102提供处理器可执行指令以存储在用于所述内容服务器110的受限环境212内。
在一些实施方式中,受限环境212可以是由应用208执行或渲染的文档、资源或网页的组件。例如,应用208可以是接收并渲染网页的web浏览器。所述受限环境212可以在所述网页的框架(例如,iframe)内定义。所述框架能够包括处理器可执行指令(例如,JavaScript)并且所述受限环境212能够限制所述处理器可执行指令与未包含在所述受限环境212内(或者未提供给所述受限环境212)的其他处理器可执行指令或数据进行交互。受限环境212能够限制在受限环境212内执行的处理器可执行指令的资源和网络传输。受限环境212能够限制来自处理器可执行指令的内容或其他请求。例如,受限环境212能够将在受限环境212内通过处理器可执行指令生成的内容请求限于仅中间服务器108。所述中间服务器108能够将所述消息转发到内容服务器110以进行履行。
受限环境212能够包括客户端设备简档214。客户端设备简档214能够由简档生成器216生成、更新和维护。客户端设备简档214可以是用于存储数据的数据结构,内容服务器110能够使用所述数据来为客户端设备102标识内容项228。如上所述,客户端设备102能够针对内容服务器110中的每一个包括不同的受限环境212。在给定受限环境212内的客户端设备简档214所包括的数据能够由相应的内容服务器110使用来为客户端设备102标识内容项228。客户端设备简档214可以是或能够包括字母数字字符串、数据字符串、序列号、MAC地址、IP地址、用户名或账户名、GUID、随机或伪随机数或任何其他类型和形式的标识符,包括这些或其他标识符的组合。例如,客户端设备简档214可以是客户端设备的用户代理、MAC地址、人口统计、兴趣、意图、浏览历史或与所述客户端设备有关的其他数据的散列。客户端设备简档214能够包括客户端设备102的用户的首选项。客户端设备102的用户能够设置存储在客户端设备简档214中的所述首选项。例如,在与内容服务器110的认证过程期间,用户能够选择一种或多种优选内容类型或优选主题。所述首选项能够由简档生成器216自动地设置。例如,当浏览器渲染网页时,简档生成器216能够从web浏览器接收统一资源定位符(URL)。简档生成器216能够确定所述网页的主题。简档生成器216能够将所述主题的标识添加到客户端设备简档214。客户端设备102的用户能够指示应用208以规则间隔(例如,每天、每周、每月等)删除客户端设备简档214,或者应用208能够在由用户指定的时间删除客户端设备简档214。
受限环境212能够包括简档生成器216。简档生成器216可以是用于生成并维护客户端设备简档214的应用、小应用程序、脚本、服务、守护程序、例程或其他可执行逻辑。客户端设备102能够接收用于内容服务器110的简档生成器216的逻辑(例如,简档生成器216的处理器可执行指令)。例如,如关于图3进一步描述的,所述逻辑可以被包括在所述网页中。例如,所述逻辑可以是iframe内的JavaScript。内容服务器110能够将所述逻辑提供给网页的发布者,该发布者能够将所述逻辑包括在内容槽或iframe中。
应用208能够向简档生成器216提供或传送数据。简档生成器216能够使用所述数据来生成或更新客户端设备简档214。客户端设备102的用户能够控制所述应用208能够向简档生成器216提供什么数据。例如,应用208能够具有用户设置页面,其中用户能够将应用208提供给简档生成器216的数据或数据类列入白名单或黑名单。例如,用户能够将与预定域相关联的所有URL列入黑名单。在被授权的情况下,应用208能够提供给简档生成器216的数据可以包括由应用208查看的网页的URL、与URL相关联的主题的指示、在URL内或与URL关联地显示的内容的标识、用户首选项、IP地址、客户端设备102能力(例如,屏幕大小和分辨率信息)或它们的任何组合。当从应用208接收到附加数据时,简档生成器216能够更新客户端设备简档214。
受限环境212能够包括参数选择器220。参数选择器220可以是用于生成或更新参数列表218的应用、小应用程序、脚本、服务、守护程序、例程或其他可执行逻辑。如下所述,参数列表218可以是包括由内容服务器110能够使用来选择内容的设置、要求或其他参数的数据结构。参数选择器220能够响应于接收到内容请求而生成参数列表218。例如,应用208能够渲染网页,该网页能够包括内容槽,并且该内容槽能够包括用于从内容服务器110中的一个中提取内容的处理器可执行指令。应用208能够将所述内容槽的内容请求传送或提供给与内容服务器110相关联的受限环境212。所述请求能够包括用于要响应于所述请求而返回的内容项的一个或多个参数。例如,所述请求能够包括应该被返回的内容项的维度。参数选择器220能够将来自所述内容项的一个或多个参数添加到参数列表218。例如,所述一个或多个参数可以被级联到在参数列表218中的参数数组中。参数选择器220能够选择或生成要添加到参数列表218的参数(添加到在所述内容请求中的参数上或代替在所述内容请求中的参数)。参数选择器220能够基于客户端设备简档214将所述参数添加到参数列表218。例如,如上所述,客户端设备简档214能够包括用于客户端设备102的首选项和配置信息。参数选择器220能够基于存储在客户端设备简档214中的首选项或配置信息来选择参数。例如,客户端设备简档214能够指示用户的主题首选项,诸如对汽车的兴趣。在此示例中,参数选择器220能将“汽车”或其标识符附加到参数列表218以向内容服务器110指示所述用户对汽车感兴趣并且内容服务器110应该选择与汽车有关的内容项228。
受限环境212能够包括参数列表218。参数列表218可以是字符串、数组、格式化列表或由参数选择器220生成的其他数据结构。参数选择器220能够响应于受限环境212接收到内容请求而生成参数列表218。例如,应用208可以是网页,用于渲染包括内容槽的网页。所述内容槽能够包括被配置成与存储在客户端设备102上的受限环境212对接的处理器可执行指令。例如,能够将内容槽的处理器可执行指令和受限环境212内的处理器可执行指令从相同来源(例如,内容服务器110)提供给客户端设备102。受限环境212能够限制在受限环境212内的处理器可执行指令(例如,简档生成器216或参数选择器220的实例)与在网页中的处理器可执行指令不进行交互,除非在该网页和受限环境212内的处理器可执行指令来自同一内容服务器110。例如,受限环境212能够包括内容服务器标识符并且应用208能够防止受限环境212执行来自网页内容槽的处理器可执行指令,例如,除非所述处理器可执行指令与同一内容服务器标识符相关联。参数选择器220能够将所述参数添加到参数列表218,该参数列表218能够包括或涉及用户首选项、客户端设备102配置或能力(例如,由客户端设备102执行的用户代理)、语言首选项、客户端设备102位置、浏览历史、主题首选项或它们的任何组合。例如,参数列表218能够包括位置的指示,使得内容服务器110能够选择与客户端设备102的当前位置相关的内容项228。
另外如图2中所图示的,系统100能够包括中间服务器108。与客户端设备102一样,中间服务器108能够包括一个或多个处理器200、存储器206、网络接口202和I/O接口204。中间服务器108能够经由网络106与客户端设备102和内容服务器110进行通信。中间服务器108的存储器206能够存储一个或多个应用以供由中间服务器108的处理器200执行。例如,中间服务器108能够包括使得中间服务器108能够充当客户端设备102与内容服务器110之间的代理的应用。
中间服务器108能够包括聚合器224。聚合器224可以是用于聚合从客户端设备102接收到的请求的应用、小应用程序、脚本、服务、守护程序、例程或其他可执行逻辑。中间服务器108能够接收来自客户端设备102的用于转发到内容服务器110上的内容请求。这些内容请求中的每一个能够包括参数列表218。聚合器224和中间服务器108能够保护客户端设备102的隐私免受内容服务器110的影响。例如,中间服务器108和聚合器224能够屏蔽、隐藏或以其他方式防止接收内容服务器110知道内容请求所源自于的客户端设备102的IP地址。在一些实施方式中,内容服务器110可以能够基于在所述内容请求中传送的参数列表218内的参数来标识客户端设备102。例如,参数的具体组合(例如,{zipCode:12345,interest:automobiles,agent:chrome})能由一组客户端设备102或由一小组客户端设备102共享。在所述参数列表仅由一小组客户端设备102共享的实例中,内容服务器110能使用参数列表218来标识客户端设备102。
聚合器224能够通过在将参数列表218传送或转发到内容服务器110之前确保参数列表218满足聚合阈值,来防止由内容服务器110经由具体参数列表标识客户端设备102。聚合阈值能够防止参数列表太特定于客户端设备102。例如,如果仅单个客户端设备102在预定时间帧内对内容做出请求,则有可能能够根据所述请求来标识客户端设备102。然而,通过要求聚合阈值,聚合器224能够防止根据请求来标识客户端设备102,因为至少聚合阈值的客户端设备102的数目也做出了所述请求。例如,聚合器224能够将参数列表218的指示保存到聚合表226。在一些实施方式中,聚合器224能够生成被存储到聚合表226的参数列表218的散列(例如,密码散列或SHA-256散列)。聚合器224能够将参数列表218的指示与时间戳关联地保存到聚合表226。聚合器224能够将参数列表218的指示作为完整列表保存到聚合表226。在存储为完整列表之前,所述完整列表能够用密码散列进行散列处理或者被加密。聚合器224能够解析参数列表218以标识参数列表218内的各个参数并且将各个参数的指示保存到聚合表226。例如,示例的参数列表能作为hash({zipCode:12345,interest:automobiles,agent:chrome})散列或作为三个单独的条目hash({zipCode:12345}),、hash({interest:automobiles})和hash({agent:chrome})被保存到聚合表226。
基于与保存到聚合表226的参数相关联的时间戳,聚合器224能够确定在参数列表218中接收到各个参数或各参数的组合的计数或频率。聚合器224能够确定预定时间窗口(例如,过去小时、天、周或月)的计数。当中间服务器108接收到内容请求时,聚合器224能够将参数列表218的参数添加到聚合表226并且确定所述参数是否满足聚合阈值。聚合器224能够确定所述参数是否在预定时间窗内被接收大于预定次数。作为一个示例,聚集阈值可以是50次/天。聚合器224能够确定参数列表218中的参数的组合是否在最后一天被接收超过或少于50次。在一些实施方式中,如果参数列表218满足聚合阈值(例如,在以上示例中在最后一天被接收超过50次),则中间服务器108能够将所述请求和参数列表218转发到内容服务器110。在一些实施方式中,如果参数列表218不满足聚合阈值,则聚合器224能够将参数列表218传递给中间服务器108的参数选择器220。在一些实施方式中,如果参数列表218不满足聚合阈值,则中间服务器108能够从所述内容请求中移除参数列表218并且将经修改的内容请求转发到内容服务器110。在此示例中,内容服务器110可以选择通用内容项,因为内容服务器110将不会接收能够由内容服务器的内容选择器230使用以选择内容项228以便履行内容请求的参数列表。
中间服务器108能够包括参数选择器220。中间服务器的参数选择器220能够执行关于客户端设备的参数选择器220描述的所有功能,而客户端设备的参数选择器220能够执行关于中间服务器的参数选择器220描述的所有功能。在一些实施方式中,参数选择器220能够从自客户端设备102接收到的参数列表218中细化、更新、改变或移除参数。例如,当聚合器224确定参数列表时218不满足聚合阈值时,聚合器224能够将参数列表218转发到参数选择器220以进行更新。参数选择器220能够从参数列表218中移除参数以使参数列表218变得更通用。参数选择器220能够更新来自参数列表218的参数以使参数列表218变得更通用或不太下位。例如,如果参数是{zipCode:90001},则参数选择器220能够将参数更新为诸如{location:California}的更通用参数。
中间服务器108能够包括聚集表226。如上所述,聚集器224能够将参数或参数列表218的指示存储到聚集表226。聚集表226可以是数据的表、散列表、数据库或其他合集。每个参数或参数列表218可以与时间戳一起存储在聚合表226中。聚合器224能够清除或删除在聚合表226中的比预定阈值(例如,1天、1周、1个月或3个月)更旧的条目。每个参数或参数列表218可以作为条目存储在聚合表226中,并且聚合器224能够通过聚合表226处理以对参数或参数列表218的出现次数进行计数。在一些实施方式中,聚合表226能够仅存储用于唯一参数或参数列表的条目。例如,当将参数或参数列表218键入到聚合表226中时,如果聚合器224确定所述参数或参数列表218不是唯一的(例如,所述参数或参数列表218已经在所述列表中),则聚合器224能够与所述唯一参数或参数列表218关联地递增存储在聚合表226中的计数值。
中间服务器108能够包括内容提供者选择器222。所述内容提供者选择器222能够包括应用、服务器、服务、守护程序、例程或其他可执行逻辑。内容提供者选择器222能够被配置成从内容服务器110的列表中选择内容服务器110。例如,内容提供者选择器222能够使用轮询或其他负载均衡系统或经由基于拍卖的系统来从内容服务器110的列表中选择内容服务器110。内容提供者选择器222能够被配置成向内容服务器110传送请求并从内容服务器110接收响应,诸如对要向客户端设备102提供内容的机会进行出价。内容服务器110能够被配置成生成内容请求或者将内容请求从客户端设备102转发到选择的内容服务器110。所述内容请求能够包括参数列表218(或其更新版本)。在一些实施方式中,内容提供者选择器222可以是第二中间服务器108的组件。例如,客户端设备102能够将所述请求传送到能够包括聚合器224的第一中间服务器108。第一中间服务器108能够在需要时更新所述参数列表,并且将经更新的参数列表转发到第二中间服务器108。第二中间服务器108能够经由内容提供者选择器222标识一个或多个内容服务器110并且将所述请求转发到所选择的内容服务器110。
另外如图2中所图示的,系统100能够包括一个或多个内容服务器110。这些内容服务器110中的每一个能够包括一个或多个计算设备,所述一个或多个计算设备连接到网络106并且被配置用于经由中间服务器108向客户端设备102提供内容项228。由内容服务器110提供的内容项228能够被称为次要内容,因为内容项228能够被渲染到诸如网页的主要内容的内容槽中。在一些实施方式中,内容项228可以是或能够包括主要内容。内容服务器110能够被不同地称为内容提供者、服务器、web服务器、数据服务器、发布者、服务提供商,或者通过其他类似术语来表示。内容服务器110能够包括被配置为服务器场或云的多个计算设备,并且可以包括路由器、负载均衡器、网络地址转换器、防火墙或其他此类设备。内容服务器110可以是计算机服务器(例如,FTP服务器、文件共享服务器、web服务器等)或服务器的组合(例如,数据中心、云计算平台等)。内容服务器110能够提供任何类型和形式的内容,包括文本、图像、视频、音频、多媒体或其他数据或它们的任何组合。内容项228能够包括实况媒体内容、预记录媒体内容、渲染内容、电影、电视节目、播客、视频博客、视频游戏或其他交互式内容、任何格式的广告、社交媒体或任何其他类型和形式的内容。
内容服务器110能够包括一个或多个处理器200、网络接口202、I/O接口204和/或存储器206。内容服务器110能够包括内容选择器230。内容选择器230能够包括用于选择内容项228以递送给客户端设备102的应用、服务、服务器、守护程序、例程或其他可执行逻辑。内容选择器230能够从中间服务器108接收在所述内容请求中的参数列表218。内容选择器230能够解析参数列表218以标识参数列表218内的参数。例如,参数列表218可以被编码成从中间服务器108传送到内容服务器110的URL。所述参数可以根据在中间服务器108与内容选择器230之间共享的模式(schema)而被编码成URL,该模式使得内容选择器230能够解析来自参数列表218的参数。
内容选择器230可以基于从内容请求中接收的参数列表218解析的所述参数来选择用于递送给客户端设备102的内容项228。例如,所述参数可以包括关于设备能力的信息(例如,屏幕分辨率或取向、颜色深度、带宽等)或用于选择定制内容的任何其他这种信息。能够通过这些参数中的一个或多个来在数据库中为所述信息编索引。响应于选择所述内容项228,内容选择器230能够将内容项228推送、串流或以其他方式传递到客户端设备102。内容服务器110能够将内容项228直接传送到客户端设备102或经由中间服务器108间接传送到客户端设备102。内容项228可以是任何类型和形式的数据,包括音频、视频、动画、文本、多媒体、静止或动画图形、可执行脚本或任何其他类型和形式的内容。内容项228中的每个项能够与标签、标识符、ULR或处理器可执行指令相关联。例如,每个内容项228能够包括处理器可执行指令,使得当应用208渲染并显示所述内容项228时,对所渲染的内容项228的选择(例如,用户选择或点击)能够将应用208重定向到由内容项228标识的URL。例如,内容项228能够包括HTML标签,所述HTML标签将内容项228标识为包含到第二网页的web链接(例如,URL)。
图3图示用于在联网环境中配置受限环境的流程图300。流程图300图示由客户端设备102、中间服务器108和内容服务器110上的应用208和受限环境212执行的步骤。在一个示例中,应用208可以是由客户端设备102执行的web浏览器。流程图300从渲染网页开始(步骤302)。所述网页能够包括一个或多个内容槽。所述内容槽能够包括处理器可执行指令(例如,JavaScript)。包含在所述网页内的处理器可执行指令能够包括处理器可执行指令,所述处理器可执行指令使应用208在客户端设备102处为内容服务器110生成受限环境212,所述内容服务器110提供了包含在所述网页内的所述处理器可执行指令。当首次生成时,所述受限环境212可能不包括参数选择器220能够从中生成参数列表218的客户端设备简档214。在这种情况下,下述内容请求可能不包括参数列表218,并且内容服务器110能够返回通用内容项228。内容项228可以是通用的原因在于它不是基于来自客户端设备102的一个或多个参数而选择的。
应用208能够在所述内容槽内执行处理器可执行指令。当渲染网页时,应用208能够生成被传递给受限环境212的内容请求(步骤304)。受限环境212能够基于所述内容请求而生成参数列表218。受限环境212能够将所述内容请求编码为取出请求。受限环境212能够将参数列表218编码为被包括在所述取出请求中的URL。
受限环境212能够将所述取出请求传送到中间服务器108(步骤306)。在一些实施方式中,受限环境212能够将所述取出请求提供给应用208,该应用208能够将所述请求传送到中间服务器108。受限环境212能够通过任何合适的协议例如通过HTTPs请求或RESTful请求来将所述请求传送到中间服务器108。
中间服务器108能够接收所述请求并且将所述请求转发到内容服务器110(步骤308)。如关于图2和图5进一步描述的,尤其是,中间服务器108可以仅在中间服务器108确定参数列表218满足聚合阈值的情况下才将所述请求转发到内容服务器110。在一些实施方式中,如果中间服务器108确定参数列表218不满足聚合阈值,则中间服务器108能够从参数列表218中移除、更新或改变一个或多个参数,使得经更新的参数列表218满足聚合阈值。在一些实施方式中,中间服务器108能够从所述请求中移除参数列表218,使得内容服务器110响应于所述请求而不是基于参数并为客户端设备102定制的内容项来选择通用内容项。
内容服务器110能够选择内容项并且将该内容项转发到中间服务器108(步骤310)。内容服务器110能够将内容项传送到中间服务器108以转发到客户端设备102。在一些实施方式中,所述内容项可以是标识内容的位置的URL。例如,所述内容项可以是到资源的URL,该资源当由应用208渲染时,从由URL标识的位置中提取内容。
中间服务器108能够将所述内容项转发到应用208(步骤312)。在一些实施方式中,由受限环境212传送到中间服务器108的请求能够包括请求标识符。当接收到所述请求时,中间服务器108能够将所述请求标识符与提供了所述请求的客户端设备102的IP地址相关联地存储在数据库中。中间服务器108能够将所述请求标识符包括在转发到内容服务器110的所述请求中,但是能够从所述请求中移除关于客户端设备102的标识信息,诸如客户端设备的IP地址。内容服务器110能够在步骤310处将所述请求标识符包括在所述响应中。所述请求标识符能够向中间服务器108指示应该将来自内容服务器110的返回响应转发到哪一个客户端设备102(及其IP地址)。例如,中间服务器108能够创建所述请求标识符的散列作为查找表的关键字以标识与所述请求标识符关联地存储的IP地址。中间服务器108能够添加例如所述IP地址作为形成所述返回响应的数据分组的目的地。
在步骤314处,应用208能够渲染所返回的资源。应用208能够将所返回的资源(例如,内容项)渲染到为其生成了所述请求的网页的内容槽中。在步骤316处,受限环境212能够请求简档。在一些实施方式中,步骤316-322能够与步骤304-314并行地或在步骤304-314之后发生。另外参考图2,所述简档可以是客户端设备简档214。受限环境212能够请求所述简档以基于在步骤302处渲染的网页、由内容服务器110返回的内容项或它们的组合来更新简档。受限环境212的简档生成器216能够从应用208请求客户端设备简档214。例如,应用208能够管理受限环境212到客户端设备102的本地存储。在一些实施方式中,所述客户端设备简档214可以被存储在受限环境212中,并且所述简档生成器216能够从受限环境212中提取客户端设备简档214。受限环境212能够通过对应用208做出的应用编程接口(API)调用或者通过由应用208提供的一个或多个钩子(hook)来请求所述客户端设备简档214。在步骤316处,应用208能够返回所请求的简档。应用208能够从客户端设备102的存储器读取客户端设备简档214并且将客户端设备简档214提供给受限环境212。
在步骤320处,受限环境212能够更新所述简档。简档生成器216能够更新客户端设备简档214。简档生成器216能够基于以下各项来更新客户端设备简档214:在步骤302处渲染的网页(例如,网页的URL、网页的主题、网页的标题或包含在其中的其他内容);由内容服务器110返回的内容项(例如,内容项的URL、内容项的主题、内容项的标识符或内容项是否被用户查看或点击了的指示);在一天中请求了所述网页或内容项的时间、包括在网页或内容项中但是未通过渲染显示的参数或内容(例如,元数据和标签);或它们的组合。在一些实施方式中,所述网页或内容项中的一种能够包括给简档生成器216的标签或其他标识符,所述标签或其他标识符表示所述客户端设备简档214不应该基于包含所述标签的网页或内容项来更新。例如,包括诸如金融或健康信息的敏感信息的网页能够包括这种标签,所述标签指示不应该基于相应网页的内容来更新客户端设备简档214。在一些实施方式中,简档生成器216能够在基于所述网页更新客户端设备简档214之前确定所述网页是否被列入白名单或黑名单。在步骤322处,受限环境212能够保存经更新的简档。受限环境212能够将经更新的客户端设备简档214保存到受限环境212,或者受限环境212能够将经更新的客户端设备简档214传递给应用208,该应用208能够将经更新的客户端设备简档214保存到由应用208为受限环境212所维护的存储器的一部分。
图4图示响应于请求而选择定制内容的流程图400。在步骤404处,客户端设备102能够渲染网页。另外参考图2,尤其是,应用208能够渲染所述网页。例如,能够将网页的URL键入到应用208中并且应用208能够在所述URL处取出所述网页,然后渲染该网页。渲染所述网页能够经由应用显示所述网页。所述网页能够包括一个或多个内容槽402。内容槽402能够包括用于请求或提取内容以让应用208渲染到内容槽402中的处理器可执行指令。在一些实施方式中,内容槽402能够包括处理器可执行指令,所述处理器可执行指令被提供给正如JavaScript一样的处理器可执行指令以与受限环境212交互。例如,内容槽402能够从受限环境212请求客户端设备简档214。
在步骤406处,内容槽402能够请求简档。内容槽402能够从受限环境212请求客户端设备简档214。应用208能够授权内容槽402接收内容或以其他方式与受限环境212交互。例如,应用208能够授权内容槽402仅与具有与内容槽402相同的来源(例如,内容服务器110)的受限环境212交互。例如,内容槽402能够被配置成从预定内容服务器110请求内容项。如上所述,当应用208渲染包括来自相应内容服务器110的处理器可执行指令的内容槽402时,应用208能够为内容服务器110中的每一个生成不同的受限环境212。应用208能够将内容槽402限制为与和同一内容服务器110相关联的受限环境212交互,所述同一内容服务器110与内容服务器110相关联。在一些实施方式中,内容槽402能够请求受限环境212能够代表内容槽402将所述内容请求传送到内容提供者。
在步骤408处,客户端设备102能够将所述简档返回给内容槽402。受限环境212能够从存储器读取客户端设备简档214并且将所述客户端设备简档214返回给内容槽402。在一些实施方式中,受限环境212能够基于客户端设备简档214将参数列表218返回给内容槽402。在步骤410处,内容槽402能够对所述简档进行编码。例如,内容槽402能够将所述简档级联为在URL中的参数值字符串。内容槽402能够包括所述简档(或参数列表218)作为URL。例如,所述URL能够包括内容服务器110的基本URL。内容槽402能够将一个或多个参数级联到所述基本URL作为URL参数以形成资源URL。在步骤412处,内容槽402能够请求将所述资源URL取出。内容槽402能够请求应用208取出位于所述资源URL处的资源(例如,内容项)。
在步骤414处,客户端设备102能够取出资源URL。所述客户端设备102经由应用208能够通过将所述URL传送到中间服务器108来请求资源。应用208能够通过使用任何合适的协议例如HTTPs请求或RESTful请求(资源表现层状态转移请求)来将所述请求传送到中间服务器108。在步骤416处,中间服务器108能够将所述请求转发到内容服务器110。如上所述,并且如关于图5进一步描述的,中间服务器108能够根据在资源URL中所编码的参数满足聚合阈值的情况下将所述请求转发到内容服务器110。
在步骤418处,内容服务器110能够从中间服务器108接收所述取出的请求并且能够解析URL。在步骤410处,内容服务器110能够解析所述资源URL以标识内容槽402在步骤410处编码到所述资源URL中的一个或多个参数。在步骤420处,内容服务器110能够选择内容。另外参考图2,尤其是,内容选择器230能够使用一个或多个解析的参数来选择内容项228。内容选择器230能够基于所述参数选择内容项228。例如,所述参数能够标识要选择的内容项228的大小、类型和主题。除了所述参数之外,内容服务器110还能够使用负载均衡系统(例如,轮巡系统)或基于拍卖的系统来选择内容项228。在步骤422处,内容服务器110能够将所选择的内容项传送到中间服务器108。在步骤424处,中间服务器108能够将所选择的内容项转发到客户端设备102。如上所述,在步骤414处传送到中间服务器108的所述请求能够包括请求标识符。内容服务器110能够在步骤422处将所述请求标识符与所返回的内容包括在一起。在步骤424处,中间服务器108能够使用所述请求标识符来确定应该将所述内容项转发到哪一个客户端设备102。中间服务器108能够将所述内容项转发到由所述请求标识符标识的客户端设备102。在步骤426处,客户端设备102能够接收所述内容项并且能够渲染所述内容项。例如,应用208能够将所述内容项渲染到生成了所述请求的内容槽402中,其中所述内容项是为所述请求而选择的。
图5图示用于在联网环境中交换数据的示例方法500的框图。图5图示由客户端设备102、中间服务器108和内容服务器110执行的步骤或动作。方法500能够包括渲染内容槽(步骤502)。另外参考图2,尤其是,客户端设备102能够执行应用208。应用208可以是web浏览器。该web浏览器能够接收或请求网页并且能够渲染所述网页以将这些网页显示给用户。所述网页能够包括一个或多个内容槽。所述内容槽能够包括用于从内容服务器110请求内容以由应用208渲染到内容槽中的处理器可执行指令。
基于渲染所述内容槽,方法500能够包括传送内容项参数(步骤504)。应用208能够执行包含在内容槽内的处理器可执行指令,并且所述处理器可执行指令的执行能够包括应用208将内容项参数传送或提供给受限环境212。所述内容项参数能够包括所述内容槽的标识符、请求标识符、基本资源URL(例如,用于请求内容的URL)、网页的URL或它们的组合。
方法500能够包括标识简档(步骤506)。所述简档可以是客户端设备简档214。客户端设备简档214能够被存储在受限环境212内或经由受限环境212访问。在一些实施方式中,所述内容槽能够与内容服务器110相关联。例如,在所述内容槽内用于为所述内容槽请求内容的处理器可执行指令能够由内容服务器110提供。为了标识客户端设备简档214,应用208能够标识与所述内容槽相关联的内容服务器110,然后选择或标识与内容服务器110相关联的受限环境212。
方法500能够包括选择参数(步骤508)。在所标识的受限环境212内的参数选择器220能够选择所述参数。在一些实施方式中,参数选择器220能够选择与客户端设备简档214相关联的所述参数中的每一个。在一些实施方式中,参数选择器220能够选择与客户端设备简档214相关联的所述参数的一部分。参数选择器220能够基于所述内容项参数选择所述参数。例如,所述内容项参数能够指示网页的主题或内容槽的大小。参数选择器220能够例如选择用于指示与所指示的网页的主题相关联的首选项的参数。在一些实施方式中,参数选择器220能够选择参数以满足中间服务器108的聚合阈值。例如,参数选择器220可能不选择具体参数的组合,因为所述组合不会通过中间服务器108的聚合阈值。相反,参数选择器220可以包括一个或多个通用参数,使得所述参数的组合满足中间服务器108的聚合阈值。
方法500能够包括生成参数列表(步骤510)。参数选择器220能够生成包括在步骤508处选择的参数的参数列表218。受限环境212能够将参数列表218编码为URL或URL参数。编码参数列表218能够附加到基本资源URL(例如,用于请求内容的URL)。例如,基本资源URL可以是内容服务器110的URL(例如,www.example.com)。在所选参数为位置和兴趣的示例中,参数列表218能够被编码为“zipCode:12345?interest:automobiles”。在以上示例中,受限环境212能够组合所述基本URL和编码参数列表218以形成用于从内容服务器110请求内容的URL“www.example.com/?zipcode=12345&interest=automobiles”。
方法500能够包括传送所述参数列表(步骤512)。受限环境212能够将所述参数列表作为编码值包括在URL中。受限环境212能够将所述URL传递给应用208,该应用208能够将所述URL传送到中间服务器108。应用208能够将所述URL作为HTTPs请求或RESTful请求传送到中间服务器108。
方法500能够包括确定所述参数列表的参数是否满足聚合阈值(步骤514)。所述聚集阈值能够指示在每时间窗口内必须由中间服务器108在内容请求中接收参数或参数的组合的次数。例如,用于参数的组合的聚合阈值可以是50/天,其指示当在请求中接收到所述参数的组合时,所述参数的组合必须被包括在最近24小时内(来自不同的web浏览器)的50个请求中以使中间服务器108确定所述参数的组合通过聚合阈值。如果由中间服务器108接收到的参数或参数的组合通过所述聚合阈值,则方法500能够继续到步骤520。如果由中间服务器108接收到的参数或参数的组合未通过所述聚合阈值,则方法500能够继续到步骤516。所述聚合阈值能够包括多个维度。例如,所述聚合阈值能够包括针对不同参数的多个不同的阈值。在一些实施方式中,对于所述参数列表的参数,必须满足所述不同维度的阈值中的每一个,以满足所述聚集阈值。
方法500能够包括确定要细化所述参数列表(步骤516)。响应于所述参数未通过聚集阈值,中间服务器108能够确定是否应该细化所述参数列表。在一些实施方式中,中间服务器108能够包括与内容服务器110相关联的URL的黑名单或白名单,其限制或允许更新在由中间服务器108发送到相应内容服务器110的请求中的参数列表。在一些实施方式中,由客户端设备102传送到中间服务器108的URL能够包括用于指示中间服务器108是否被授权更新所述参数或参数列表的URL值。如果中间服务器108被授权更新所述参数列表,则方法500继续到步骤518,而如果中间服务器108未被授权更新所述参数列表,则方法500继续到步骤524。
方法500能够包括生成更新的参数列表(步骤518)。中间服务器108能够通过使所述参数中的一个或多个变得更通用来更新所述参数列表。例如,位置参数能够从邮政编码改变为包含该邮政编码的州。通过改变所述参数以指示对汽车感兴趣,用于指示对具体品牌的汽车感兴趣的参数可以变得更通用。方法500能够包括通过从参数列表中移除一个或多个参数来更新所述参数列表。例如,中间服务器108能够确定中间服务器108接收所述参数列表中的每一个参数的频率。中间服务器108能够基于所述频率对所述参数进行排名。在一些实施方式中,中间服务器108能移除具有低于预定阈值的频率的参数。例如,中间服务器108能从所述参数列表中移除很少出现的参数,从而使所述参数或参数的组合变得更唯一且可归属于具体客户端设备102。在一些实施方式中,中间服务器108能够仅保持具有高于预定阈值的频率的参数。例如,中间服务器108仅能将最常出现的参数保持在所述参数列表中。以这种方式基于频率修改所述参数能够改进选择参数的效率。
返回到步骤516,如果中间服务器108确定所述参数不满足聚合阈值并且中间服务器108未被授权更新所述参数列表,则中间服务器108能从请求URL中移除或剥离所述参数列表。例如,中间服务器108能剥离所述编码参数以将“www.example.com:12345?interest:automobiles”转换为“www.example.com”。如关于步骤524进一步描述的,在没有所述参数列表的情况下,内容服务器110选择通用内容项以返回给客户端设备102。
方法500能够包括解析所述参数列表(步骤520)。响应于中间服务器108将所述请求和参数列表(或更新的参数列表)转发到内容服务器110,内容服务器110能够从所述参数列表中接收并解析所述参数。能够根据在中间服务器108与内容服务器110之间共享的模式将所述参数编码到参数列表中,该模式使得内容服务器110能够从所述参数列表中解析所述参数。
方法500能够包括基于所述参数来选择内容(步骤522)。另外参考图2,尤其是,内容选择器230能够使用一个或多个解析的参数来选择内容项228。内容选择器230能够基于所述参数选择内容项228。例如,所述参数能够标识要选择的内容项228的大小、类型和主题。在一些实施方式中,内容服务器110能够使用所述参数作为关键字来查找与相应参数相关联的内容项。在一些实施方式中,内容服务器110能够选择与经解析的参数中的每一个相对应(例如,内容服务器110搜索与参数1和参数2和参数3相关联的内容项)或者与经解析的参数中的一个或多个相对应(例如,内容服务器110搜索与参数1或参数2或参数3相关联的内容项)的内容项。
方法500能够包括选择通用内容项(步骤524)。如上所述,如果所述参数列表不满足聚集阈值,则中间服务器108可以在没有参数列表的情况下将所述请求传递给内容服务器110。因为所述请求不包括参数列表,所以内容服务器110不能够选择为客户端设备102定制的内容项。内容服务器110能够选择由轮巡系统或由拍卖系统随机选择的通用内容项。
方法500能够包括传送内容(步骤526)。所述能够在步骤522处基于参数列表选择的或在步骤524处通用选择的内容项能够被传送回到中间服务器108。中间服务器108能够将所述内容项转发到客户端设备102。在一些实施方式中,内容服务器110能够将所述内容项直接(例如,不通过中间服务器108)传送到客户端设备102。
方法500能够包括渲染所述内容(步骤528)。响应于客户端设备102(从内容服务器110或中间服务器108)接收到所述内容,客户端设备102能够将所述内容项渲染到在步骤502处渲染的内容槽中。
因此,一种用于在联网系统中交换数据的方法能够包括通过由客户端设备执行的web浏览器来存储客户端设备简档,所述客户端设备简档能够包括用于在客户端设备的受限环境中生成内容请求的多个客户端设备参数和处理器可执行指令。所述受限环境能够与内容服务器相关联。所述方法能够包括通过web浏览器来基于所述web浏览器接收到网页来向所述受限环境传送内容项参数。所述方法能够包括通过所述web浏览器来执行存储在所述受限环境中的处理器可执行指令来基于所述客户端设备简档和内容项参数生成参数列表。所述方法能够包括通过web浏览器来将所述参数列表传送到代理服务器。所述方法能够包括通过所述web浏览器来基于所述代理服务器确定所述参数列表中的至少一个参数的聚合值满足预定阈值而接收要在所述网页的内容槽中渲染的内容项。
在一些实施方式中,该方法能够包括通过web浏览器来生成多个受限环境。所述多个受限环境中的每一个能够包括用于生成所述内容请求的相应的客户端设备简档和相应的处理器可执行指令集。所述多个受限环境中的每一个能够与不同的内容服务器相关联。在一些实施方式中,所述方法能够包括通过web浏览器来标识与所述网页的内容槽相关联的内容服务器。所述方法能够包括通过web浏览器来基于与所述网页的内容槽相关联的内容服务器的标识从多个受限环境中选择所述受限环境。
所述内容项参数能够包括所述内容槽的标识符、请求标识符、基本资源URL或网页的URL中的至少一个。该方法能够包括通过所述web浏览器来接收第二网页,该第二网页能够包括用于生成所述内容请求的第二处理器可执行指令集。第二处理器可执行指令集能够由所述内容服务器提供。该方法能够包括通过所述web浏览器来基于第二处理器可执行指令集更新存储在所述受限环境中的处理器可执行指令。
该方法能够包括通过web浏览器来基于web浏览器接收到第二网页而向所述受限环境传送第二内容项参数。该方法能够包括通过web浏览器执行存储在所述受限环境中的处理器可执行指令来基于客户端设备简档和第二内容项参数生成第二参数列表。该方法能够包括通过web浏览器来将第二参数列表传送到代理服务器。该方法能够包括通过web浏览器来基于代理服务器确定第二参数列表中的至少一个参数的第二聚合值不满足预定阈值而接收要在第二网页的内容槽中渲染的通用内容项。
在一些实施方式中,该方法能够包括选择要包括在所述参数列表中以满足所述预定阈值的客户端设备参数的一部分。能够基于所述参数列表中的参数中的至少一个来选择所述内容项。该方法能够包括响应于所述代理服务器从所述内容服务器接收到所述内容项而从所述代理服务器接收所述内容项。该方法能够包括:将所述参数列表编码为URL参数;通过将所述URL参数级联到在所述内容项参数中所包括的基本URL来生成请求URL;以及将所述请求URL传送到代理服务器。
根据本公开的至少一个方面,一种用于在联网环境中交换数据的系统能够包括由客户端设备的一个或多个处理器执行的web浏览器。所述Web浏览器能够维护一个或多个受限环境。所述Web浏览器能够在受限环境中存储客户端设备简档,所述客户端设备简档能够包括用于生成内容请求的多个客户端设备参数和处理器可执行指令。所述受限环境能够与内容服务器相关联。Web浏览器可以基于所述web浏览器接收到网页来将内容项参数传送到所述受限环境。Web浏览器能够基于存储在受限环境中的处理器可执行指令的执行来基于所述客户端设备简档和内容项参数生成参数列表。Web浏览器能够将所述参数列表传送到代理服务器。Web浏览器能够基于所述代理服务器确定所述参数列表中的至少一个参数的聚合值满足预定阈值来接收要在网页的内容槽中渲染的内容项。
在一些实施方式中,web浏览器能够生成多个受限环境。所述多个受限环境中的每一个能够包括用于生成所述内容请求的相应的客户端设备简档和相应的处理器可执行指令集。所述多个受限环境中的每一个能够与不同的内容服务器相关联。Web浏览器能够标识与所述网页的内容槽相关联的内容服务器。Web浏览器能够基于与所述网页的内容槽相关联的内容服务器的标识而从多个受限环境中选择所述受限环境。
在一些实施方式中,所述内容项参数能够包括所述内容槽的标识符、请求标识符、基本资源URL或网页的URL中的至少一个。Web浏览器能够接收第二网页,该第二网页能够包括用于生成所述内容请求的第二处理器可执行指令集。第二处理器可执行指令集能够由所述内容服务器提供。Web浏览器能够基于所述第二处理器可执行指令集而更新存储在所述受限环境中的处理器可执行指令。
在一些实施方式中,所述web浏览器能够基于所述web浏览器接收到第二网页而向所述受限环境传送第二内容项参数。Web浏览器能够通过执行存储在所述受限环境中的处理器可执行指令来基于所述客户端设备简档和第二内容项参数生成第二参数列表。Web浏览器能够将第二参数列表传送到代理服务器。Web浏览器能够基于所述代理服务器确定第二参数列表中的至少一个参数的第二聚合值不满足预定阈值而接收要在第二网页的内容槽中渲染的通用内容项。
在一些实施方式中,所述web浏览器能够选择要包括在所述参数列表中以满足所述预定阈值的客户端设备参数的一部分。能够基于所述参数列表中的至少一个参数来选择所述内容项。Web浏览器能够响应于所述代理服务器从内容服务器接收到所述内容项而从所述代理服务器接收内容项。Web浏览器能够将所述参数列表编码为URL参数,通过将URL参数级联到在所述内容项参数中所包括的基本URL来生成请求URL,并且将所述请求URL传送到代理服务器。
本说明书中描述的主题和操作的实施方式可以以数字电子电路或计算机软件、固件或硬件实施,包括在本说明书中公开的结构及其结构等同物,或其一个或多个的组合。本说明书中描述的主题的实施方式可以被实施为一个或多个计算机程序(例如,计算机程序指令的一个或多个模块),其被编码在一个或多个计算机存储介质上以由数据处理装置执行或控制数据处理装置的操作。可替代地或另外地,所述程序指令可以被编码在人工生成的传播信号上(例如,机器生成的电、光或电磁信号),其被生成以对信息进行编码以传输到合适的接收器装置以通过数据处理装置来执行。计算机存储介质可以是或包括在计算机可读存储设备、计算机可读存储基质、随机或串行访问存储器阵列或设备、或它们中的一个或多个的组合中。而且,尽管计算机存储介质不是传播信号,但是计算机存储介质可以是以人工生成的传播信号编码的计算机程序指令的源或目的地。计算机存储介质还可以是一个或多个分开的组件或介质(例如,多个CD、磁盘或其他存储设备)或包含在其中。因此,计算机存储介质可以是有形的。
本说明书中描述的操作可以被实施为由数据处理装置对存储在一个或多个计算机可读存储设备上或从其他源接收的数据执行的操作。
术语“客户端”或“服务器”包括用于处理数据的所有种类的装置、设备和机器,诸如可编程处理器、计算机、片上系统或多个装置或前述的组合。所述装置可以包括专用逻辑电路,例如,现场可编程门阵列(FPGA)或专用集成电路(ASIC)。除了硬件之外,所述装置还可以包括为所讨论的计算机程序创建执行环境的代码(例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行环境、虚拟机或其中一个或多个的组合的代码)。所述装置和执行环境可以实现各种不同的计算模型基础设施,诸如,web服务、分布式计算和网格计算基础设施。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言(包括编译或解释语言,声明性或过程语言)编写,并且其可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程、对象或其他适合在计算环境中使用的单元。计算机程序可以,但不是必需,对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个或多个脚本)、专用于所讨论程序的单个文件中、或多个协调文件中(例如,存储一个或多个模块、子程序或部分代码的文件)。所述计算机程序可以被部署为在一台计算机上执行,或在位于一个站点或分布在多个站点并通过通信网络互连的多台计算机上执行。
可以通过应用执行一个或多个计算机程序的一个或多个可编程处理器来执行本说明书中描述的过程和逻辑流程,以通过对输入数据进行操作并生成输出来执行动作。所述过程和逻辑流程也可以由专用逻辑电路执行,并且所述装置也可以实施为专用逻辑电路,(例如,FPGA或ASIC)。
适合于执行计算机程序的处理器包括但不限于通用和专用微处理器,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于根据指令执行动作的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备(例如磁盘、磁光盘或光盘),或者可操作地耦合以从所述大容量存储设备接收数据或向其传送数据,或者两者皆有。然而,计算机不是必需具有这样的设备。此外,计算机可以嵌入在另一设备中,例如,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储设备(例如,通用串行总线(USB)闪存驱动器),这里仅举几个例子。适合于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,包括半导体存储器设备(例如EPROM、EEPROM和闪存设备);磁盘(例如,内部硬盘或可移动盘);磁光盘;和CD ROM和DVD-ROM盘。所述处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
为了提供与用户的交互,本说明书中描述的主题的实施方式可以在计算机上实施,所述计算机具有显示设备,例如,阴极射线管(CRT)、液晶显示器(LCD)、有机发光二极管(OLED)、薄膜晶体管(TFT)、等离子体、其他柔性配置,或用于向用户显示信息的任何其他监视器以及键盘、指点设备(例如,鼠标,轨迹球等、或触摸屏,触摸板等),用户可以通过它们向所述计算机提供输入。其他类型的设备也同样可以用于提供与用户的交互;提供给用户的反馈可以是任何形式的感觉反馈(例如视觉反馈、听觉反馈或触觉反馈);并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。另外,计算机可以通过向用户使用的设备发送文档或从用户使用的设备接收文档、通过响应从web浏览器收到的请求而将网页发送到在用户的客户端设备上的web浏览器来与用户进行交互。
在本说明书中描述的主题的实施方式可以实施在计算系统中,该计算系统包括(例如作为数据服务器的)后端组件、(例如,应用服务器的)中间件组件、或者前端组件(例如,具有图形用户界面或web浏览器的客户端计算机,用户可以通过该Web浏览器与本说明书中描述的主题的实施方式交互),或者包括一个或多个这样的后端、中间件或前端组件的任何组合。所述系统的组件可以通过任何形式或介质的数字数据通信(例如通信网络)互连。通信网络可以包括局域网(LAN)和广域网(WAN)、互连网络(例如,因特网)和对等网络(例如,自组织对等网络)。
在这里讨论的系统和方法收集关于用户的个人信息或者可以利用个人信息的情况下,可以向所述用户提供下述机会:控制程序或特征是否收集用户信息(例如,关于用户的社交网络、社交行为、职业、用户的偏好或用户的位置的信息),或者控制是否和/或如何从内容服务器或其他数据处理系统接收可能与用户更有关的内容。另外,某些数据在存储或使用之前可能会以一种或多种方式被匿名化,以便在生成参数时,删除个人身份信息。例如,可以对用户的身份进行匿名化,使得不能为用户确定个人可识别信息,或者可以在获得位置信息(例如,城市、邮政编码或州级)的情况下将用户的地理位置概括化,使得不能确定用户的具体位置。因此,所述用户可以控制如何收集和由所述内容服务器使用关于他或她的信息。
虽然本说明书包含许多具体的实施方式细节,但这些细节不应被解释为对任何发明或可能要求保护的内容的范围的限制,而是作为特定于特定发明的特定实施方式的特征的描述。在分开的实施方式的上下文中在本说明书中描述的某些特征也可以在单个实施方式中组合地实施。相反,在单个实施方式的上下文中描述的各种特征也可以在多个实施方式中分开地或以任何合适的子组合来实施。此外,尽管上文可以将特征描述为以某些组合起作用并且甚至最初要求如此,但是可以在一些情况下从所述组合中删除来自所要求保护的组合的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变形。
类似地,尽管在附图中以特定顺序描绘了操作,但是这不应该被理解为要求以所示的特定顺序或依序执行这样的操作,或者要执行所有示出的操作,以实施期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施方式中的各种系统组件的分离不应该被理解为在所有实施方式中都需要这种分离,并且应该理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中或者封装到多个软件产品内。
因此,已经描述了所述主题的特定实施方式。其他实施方式在所附权利要求的范围内。在一些情况下,在权利要求中所述的动作可以以不同的顺序执行并且仍然实施期望的结果。另外,附图中描绘的过程不一定需要所示的特定顺序或依序的顺序来实施方式期望的结果。在一些实施方式中,可以利用多任务或并行处理。

Claims (22)

1.一种用于在联网系统中交换数据的方法,包括:
通过由客户端设备执行的web浏览器来存储客户端设备简档,所述客户端设备简档包括多个客户端设备参数和用于在所述客户端设备内的受限环境中生成内容请求的处理器可执行指令,所述受限环境被生成为限制所述客户端设备对特定内容服务器的访问;
在所述客户端设备渲染的网页内检测内容槽,所述内容槽具有可执行指令以创建从所述特定内容服务器获得内容的内容请求;
在所述客户端设备从所述特定内容服务器请求内容之前,通过所述web浏览器并且响应于检测到所述内容槽向所述客户端设备内的所述受限环境传送内容项参数;
在所述受限环境内并且在所述客户端设备从所述特定内容服务器请求内容之前基于所述客户端设备简档和所述内容项参数生成参数列表;
通过所述受限环境将所述参数列表传送到代理服务器代替传送到所述特定内容服务器;以及
基于所述代理服务器确定所述参数列表中的至少一个参数的聚合值满足预定阈值,通过所述客户端设备并且响应于向代理服务器传送所述参数列表而从所述特定内容服务器接收要在所述网页的内容槽中渲染的内容项。
2.根据权利要求1所述的方法,进一步包括:通过所述web浏览器来生成多个受限环境,所述多个受限环境中的每一个包括相应的客户端设备简档和用于生成所述内容请求的相应的处理器可执行指令集,其中,所述多个受限环境中的每一个与不同的内容服务器相关联。
3.根据权利要求1所述的方法,进一步包括:
通过所述web浏览器来标识与所述网页的内容槽相关联的内容服务器;以及
基于与所述网页的内容槽相关联的所述内容服务器的标识,通过所述web浏览器从多个受限环境中选择所述受限环境。
4.根据权利要求1所述的方法,其中,所述内容项参数包括所述内容槽的标识符、请求标识符、基本资源统一资源定位符(URL)或所述网页的URL中的至少一个。
5.根据权利要求1所述的方法,进一步包括:
通过所述web浏览器来接收第二网页,所述第二网页包括用于生成所述内容请求的第二处理器可执行指令集,其中,所述第二处理器可执行指令集由所述内容服务器提供;以及
基于所述第二处理器可执行指令集,通过所述web浏览器更新存储在所述受限环境中的所述处理器可执行指令。
6.根据权利要求1所述的方法,进一步包括:
基于所述web浏览器接收到第二网页,通过所述web浏览器向所述受限环境传送第二内容项参数;
基于所述客户端设备简档和所述第二内容项参数,通过所述web浏览器执行存储在所述受限环境中的所述处理器可执行指令来生成第二参数列表;
通过所述web浏览器来将所述第二参数列表传送到所述代理服务器;以及
基于所述代理服务器确定所述第二参数列表中的至少一个参数的第二聚合值不满足所述预定阈值,通过所述web浏览器接收要在所述第二网页的内容槽中渲染的通用内容项。
7.根据权利要求1所述的方法,进一步包括选择要包括在所述参数列表中以满足所述预定阈值的客户端设备参数的一部分。
8.根据权利要求1所述的方法,其中,基于在所述参数列表中的所述参数中的至少一个来选择所述内容项。
9.根据权利要求1所述的方法,其中,基于所述参数的出现的频率来配置所述参数列表的参数。
10.根据权利要求1所述的方法,其中,接收所述内容项包括响应于所述代理服务器从所述内容服务器接收到所述内容项而从所述代理服务器接收所述内容项。
11.根据权利要求1所述的方法,其中,将所述参数列表传送到所述代理服务器进一步包括:
将所述参数列表编码为URL参数;
通过将所述URL参数级联到在所述内容项参数中所包括的基本URL来生成请求URL;以及
将所述请求URL传送到所述代理服务器。
12.一种用于在联网系统中交换数据的系统,包括:
一个或多个计算设备;以及
与所述一个或多个计算设备耦合并且存储指令的一个或多个存储设备,所述指令在由所述一个或多个计算设备执行时使得所述一个或多个计算设备执行操作,所述操作包括:
在受限环境中存储客户端设备简档,所述客户端设备简档包括多个客户端设备参数和用于在客户端设备内的受限环境中生成内容请求的处理器可执行指令,所述受限环境被生成为限制所述客户端设备对特定内容服务器的访问;
在所述客户端设备渲染的网页内检测内容槽,所述内容槽具有可执行指令以创建从所述特定内容服务器获得内容的内容请求;
在所述客户端设备从所述特定内容服务器请求内容之前,响应于检测到所述内容槽而向所述客户端设备内的所述受限环境传送内容项参数;
在所述受限环境内并且在所述客户端设备从所述特定内容服务器请求内容之前基于所述客户端设备简档和所述内容项参数生成参数列表;
将所述参数列表从所述受限环境传送到代理服务器代替传送到所述特定内容服务器;以及
基于所述代理服务器确定所述参数列表中的至少一个参数的聚合值满足预定阈值,响应于向所述代理服务器传送所述参数列表而从所述特定内容服务器接收要在所述网页的内容槽中渲染的内容项。
13.根据权利要求12所述的系统,其中,所述操作进一步包括生成多个受限环境,所述多个受限环境中的每一个包括相应的客户端设备简档和用于生成所述内容请求的相应的处理器可执行指令集,其中,所述多个受限环境中的每一个与不同的内容服务器相关联。
14.根据权利要求12所述的系统,其中,所述操作进一步包括:
标识与所述网页的内容槽相关联的内容服务器;并且
基于与所述网页的内容槽相关联的所述内容服务器的标识,从多个受限环境中选择所述受限环境。
15.根据权利要求12所述的系统,其中,所述内容项参数包括所述内容槽的标识符、请求标识符、基本资源URL或所述网页的URL中的至少一个。
16.根据权利要求12所述的系统,其中,所述操作进一步包括:
接收第二网页,所述第二网页包括用于生成所述内容请求的第二处理器可执行指令集,其中,所述第二处理器可执行指令集由所述内容服务器提供;并且
基于所述第二处理器可执行指令集,更新存储在所述受限环境中的所述处理器可执行指令。
17.根据权利要求12所述的系统,其中,所述操作进一步包括web浏览器用于:
基于所述web浏览器接收到第二网页,向所述受限环境传送第二内容项参数;
通过执行存储在所述受限环境中的所述处理器可执行指令来基于所述客户端设备简档和所述第二内容项参数生成第二参数列表;
将所述第二参数列表传送到所述代理服务器;并且
基于所述代理服务器确定在所述第二参数列表中的至少一个参数的第二聚合值不满足所述预定阈值,接收要在所述第二网页的内容槽中渲染的通用内容项。
18.根据权利要求12所述的系统,其中,所述操作进一步包括选择要包括在所述参数列表中以满足所述预定阈值的客户端设备参数的一部分。
19.根据权利要求12所述的系统,其中,基于在所述参数列表中的所述参数中的至少一个来选择所述内容项。
20.根据权利要求12所述的系统,其中,基于所述参数的出现频率来配置所述参数列表的参数。
21.根据权利要求12所述的系统,其中,所述操作进一步包括响应于所述代理服务器从所述内容服务器接收到所述内容项而从所述代理服务器接收所述内容项。
22.根据权利要求12所述的系统,其中,所述操作进一步包括:
将所述参数列表编码为URL参数;
通过将所述URL参数级联到在所述内容项参数中所包括的基本URL来生成请求URL;并且
将所述请求URL传送到所述代理服务器。
CN201980026394.9A 2019-04-16 2019-04-16 用于在联网环境中消息生成的受限环境 Active CN112166590B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2019/027736 WO2020214156A1 (en) 2019-04-16 2019-04-16 Restricted environments for message generation in networked environments

Publications (2)

Publication Number Publication Date
CN112166590A CN112166590A (zh) 2021-01-01
CN112166590B true CN112166590B (zh) 2023-08-18

Family

ID=66380187

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980026394.9A Active CN112166590B (zh) 2019-04-16 2019-04-16 用于在联网环境中消息生成的受限环境

Country Status (4)

Country Link
US (1) US20210240854A1 (zh)
EP (1) EP3763108B1 (zh)
CN (1) CN112166590B (zh)
WO (1) WO2020214156A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11074369B2 (en) * 2019-07-29 2021-07-27 Google Llc Privacy preserving remarketing
US11281794B2 (en) * 2019-09-26 2022-03-22 Microsoft Technology Licensing, Llc Fine grained access control on procedural language for databases based on accessed resources
US11947499B2 (en) * 2020-07-31 2024-04-02 EMC IP Holding Company LLC Peer-to-peer global namespace for storage system metadata federations
US20220343018A1 (en) * 2021-04-21 2022-10-27 SafePorter LLC Method for providing a privacy-enabled service to users
US20230054501A1 (en) * 2021-08-19 2023-02-23 Twilio Inc. Using ad-hoc stored procedures for online transaction processing

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1233333A1 (en) * 2001-02-19 2002-08-21 Hewlett-Packard Company Process for executing a downloadable service receiving restrictive access rights to al least one profile file

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6941512B2 (en) * 2001-09-10 2005-09-06 Hewlett-Packard Development Company, L.P. Dynamic web content unfolding in wireless information gateways
US9537885B2 (en) * 2013-12-02 2017-01-03 At&T Intellectual Property I, L.P. Secure browsing via a transparent network proxy
US10027700B2 (en) * 2015-02-20 2018-07-17 Authentic8, Inc. Secure analysis application for accessing web resources via URL forwarding
US10083322B2 (en) * 2015-07-30 2018-09-25 International Business Machines Corporation Obscuring user web usage patterns
US10248782B2 (en) * 2017-01-27 2019-04-02 Duo Security, Inc. Systems and methods for access control to web applications and identification of web browsers

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1233333A1 (en) * 2001-02-19 2002-08-21 Hewlett-Packard Company Process for executing a downloadable service receiving restrictive access rights to al least one profile file

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Web日志挖掘技术应用研究;吕佳;;重庆师范大学学报(自然科学版)(第04期);全文 *

Also Published As

Publication number Publication date
CN112166590A (zh) 2021-01-01
EP3763108B1 (en) 2022-01-05
EP3763108A1 (en) 2021-01-13
WO2020214156A1 (en) 2020-10-22
US20210240854A1 (en) 2021-08-05

Similar Documents

Publication Publication Date Title
CN112166590B (zh) 用于在联网环境中消息生成的受限环境
US20230188507A1 (en) Domain specific browser identifiers as replacement of browser cookies
JP7015400B2 (ja) 自己認証ドメイン固有のブラウザ識別子
US11711436B2 (en) Aggregated conversion measurement
JP7301223B2 (ja) プライバシーを保護するデータ収集および分析
CN118313001A (zh) 作为浏览器Cookie的替代的域特定浏览器标识符

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant