CN111699487A - 用于快速且安全的内容提供的系统 - Google Patents
用于快速且安全的内容提供的系统 Download PDFInfo
- Publication number
- CN111699487A CN111699487A CN201880088631.XA CN201880088631A CN111699487A CN 111699487 A CN111699487 A CN 111699487A CN 201880088631 A CN201880088631 A CN 201880088631A CN 111699487 A CN111699487 A CN 111699487A
- Authority
- CN
- China
- Prior art keywords
- user
- code
- user device
- data
- content
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 61
- 230000004044 response Effects 0.000 claims abstract description 61
- 230000009471 action Effects 0.000 claims abstract description 35
- 230000000977 initiatory effect Effects 0.000 claims abstract description 9
- 239000012634 fragment Substances 0.000 claims description 4
- 238000012545 processing Methods 0.000 description 39
- 230000008569 process Effects 0.000 description 25
- 238000006243 chemical reaction Methods 0.000 description 15
- 230000008901 benefit Effects 0.000 description 14
- 238000003860 storage Methods 0.000 description 13
- 239000008186 active pharmaceutical agent Substances 0.000 description 10
- 230000006399 behavior Effects 0.000 description 10
- 230000011218 segmentation Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 238000003058 natural language processing Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 239000000047 product Substances 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 235000014510 cooky Nutrition 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000008685 targeting Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000013341 scale-up Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/906—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6245—Protecting personal data, e.g. for financial or medical purposes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Information Transfer Between Computers (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种用于在用户设备处向用户显示内容的方法,该方法包括:在用户设备处发起指示web元素的web元素请求;在web元素服务器处,响应于web元素请求而将web元素发送到用户设备;在代码提供服务器处,响应于web元素请求而接收代码部分请求;在代码提供服务器处,响应于代码部分请求而将代码部分发送到用户设备;在用户设备处,响应于web元素请求而执行代码部分,其中,执行代码部分使在用户设备处的处理器执行以下操作:核对在用户设备处的用户数据;以及基于已核对的用户数据来生成用于执行动作的指令。
Description
技术领域
本公开涉及用于以快速且安全的方式向用户提供特定内容的系统、服务器、用户设备、方法及计算机程序。
背景技术
在现代环境中,识别数据和数字内容和向用户提供数据和数字内容非常重要。特别是,对特定内容的准确识别以及可以将内容提供给用户的速度是大量技术研究和开发的焦点。
数据和数字内容可以采用多种形式,例如医学数据、统计数据、科学研究数据和基于用户数据的个性化内容等。本发明总体上致力于对可以向用户提供数据的速度和准确性进行提高。然而,个性化内容的提供在本文中被描述为本发明的特定应用,其示出所提供的技术优点。
在传统的计算环境中,当用户首次访问具有特定于用户的嵌入式内容的网站时,通常所显示的内容已被不正确地识别(或与用户无关)。这可能是因为内容选择过程不具有支持其选择的任何用户信息,或者系统需要用于通过在“云”中发送和收集用户信息来建立可以与内容相匹配的用户简档的时间。
在现有系统中,用于在云中发送、处理和分析用户数据的时间花费12-24小时的量级,并且在用户对该网站的后续访问之前可能并不完整。这么长的时间段(time-frame)是有问题的。
另外,在传统系统中,创建用于放置特定用户的新类别(也被称为广告目标“细分(segment)”)涉及在云中处理大量用户数据。这花费大量时间,并且可能是快速、高效的细分更新的“瓶颈”。作为在对细分进行定义和对其进行实现之间的时间延迟的结果,这可以导致失去确定目标的机会。
目前,大多数内容个性化平台都使用基于批处理的模型。这涉及采集与用户行为有关的数据、存储简档信息数据、然后运行分析软件以基于模式匹配和将规则应用于给定类别中的用户来确定给定用户可能感兴趣的产品。
这种方法存在许多局限性。首先,其局限性在于,当需要基于新的分类度量进行处理时,已捕获的数据可能不足以应用这些规则,只有在将来收集的数据上针对这些规则运行用户分类才是可能的。其次,本质上是细分的更复杂的形式的新查询通常仅针对新数据运行,而理想的解决方案将能够分析过去的数据以立即使这些查询变得有用。第三,这个分析引擎通常将在服务器侧实现,因此将无法捕获任何离线活动,这对于用户设备移动时的使用情况至关重要,因为用户设备可能会在会话期间移入或移出连接。
典型地,web定制平台将采集关于用户的大量数据,然后将在服务器处对这些数据进行批处理,以便运行查询并且深入了解细分和统计信息。这些典型地每24小时运行一次,导致可以将客户配置信息用于例如广告之前的相当大的滞后。这在例如在用户行为高度易变并且速度集中时、在用户很可能会在短的时间段内非常快速地进行浏览且具有很低的重新访问的概率时会导致效率损失。虽然存在一些实时分析平台,但是它们通常会简化所使用的数据以提供实时组件(例如,仅使用当前位置)或是服务专属的(例如,Gmail和其他Google产品)。
令人担忧的是,因为手机、平板计算机、膝上型计算机和其他个人经互联网连接的设备的数量的增加,以及所预期的未来几年中的IoT设备的急剧增长,预计所收集的数据量要发展到要将所捕获的数据及时发送到基于云的集中式服务器并在其中进行处理将提出重大的技术挑战的程度。有限的可用传输带宽可能是进一步减慢数据处理过程的一种限制。
鉴于以上内容,需要提供可以减轻本文中确定的至少一些技术问题的系统。
发明内容
提供了本发明内容以便以简化的形式介绍一些概念,这些概念将在下面的具体实施方式中进一步描述。本发明内容不意在标识所请求保护的主题的关键特征或基本特征,也不意在用作帮助确定所请求保护的主题的范围。
根据一个方面,存在一种用于在用户设备处向用户显示内容的方法,该方法包括:在用户设备处发起指示web元素的web元素请求;在web元素服务器处,响应于web元素请求而将web元素发送到用户设备;在代码提供服务器处,响应于web元素请求而接收代码部分请求;在代码提供服务器处,响应于代码部分请求而将代码部分发送到用户设备;在用户设备处,响应于web元素请求而执行代码部分,其中,执行代码部分使在用户设备处的处理器执行以下操作:核对在用户设备处的用户数据;以及基于已核对的用户数据来生成用于执行动作的指令。
在该方法中,可以通过核对在设备处的用户数据而无需将数据发送到外部设备来执行基于用户数据的(或特定于用户的)动作(例如,识别用户并向其显示内容)。这提供了更高的安全性,因为用户数据不可以被用于潜在的不安全设备。另外,由于用户数据是在用户设备处进行处理的,因此这分布了核对用户数据所涉及的处理负担。这对于多个用户可能是特别有利的,其中的用户的数量很大,例如在数万、数十万甚或是数百万的用户的量级。
尽管将基于已核对的用户数据来显示内容提供为基于用户数据执行的动作的示例,但是可以设想,可以执行代替对该内容进行显示或除了它之外的其他动作。例如,当与特定用户相关联的细分或查询响应于事件而改变时,所执行的动作可以是可由在用户设备处的代码部分在该设备上采取的任何动作,对内容进行显示仅仅是其中的一个示例。在一个示例中,响应于细分的改变,可以执行用于做出API调用的动作,以(例如,在诸如Facebook之类的社交网络的受众API之中)将用户标记为对感兴趣的特定主题具有特定的倾向。在这个示例中,可能会没有内容被显示给用户,而是替代地设置用于在以后经由社交网络确定用户的标志。在另一示例中,所执行的动作可以与电子邮件有关,例如,该动作可以导致基于已核对的用户数据来发送电子邮件。
该方法还可以包括:在web元素服务器处,响应于web元素请求而将代码片段发送到用户设备;在用户设备处执行代码段以发起代码部分请求。以这种方式,与需要web元素服务器发起该请求相反,可以使用户设备发布代码部分请求。然而,在一些实施例中,web元素服务器非常可行的是,不经由用户设备地将代码部分请求发布到代码提供服务器。在另一实施例中,web元素服务器和代码提供服务器可以被包括在同一服务器之中。
执行代码部分可以使在用户设备处的处理器将用户与多个类别中的至少一个类别相关联。可以基于与用户相关联的至少一个类别来选择内容。以这种方式,可以将用户数据与单个类别相关联,而不是将已核对的用户数据作为整体进行存储。例如,一旦为用户建立了类别,就有可能丢弃已核对的用户数据,但保留与该类别相关联的用户。因此,可以减少该方法所需的数据存储量。
将用户与多个类别中的至少一个类别相关联可以包括:检测已核对的用户是否已经从与多个类别中的至少一个类别的标准不相匹配的否定状态转变为与该类别相匹配的肯定状态。将用户与多个类别中的至少一个类别相关联可以包括:检测已核对的用户是否已经从与多个类别中的至少一个类别的标准相匹配的肯定状态转变为与类别不相匹配的否定状态。将用户与多个类别中的至少一个类别相关联可以包括:检测已核对的用户是否与多个类别中的至少一个类别的标准相匹配。
生成内容指令可以包括:将包括指示已核对的用户数据的至少一部分的数据项在内的内容指令从用户设备发送到内容服务器。以这种方式,内容服务器可以准确地识别打算提供给用户设备的内容。
用于执行动作的指令可以包括用于在用户设备处显示内容的内容指令,其中,内容基于已核对的用户数据;并且其中,执行代码部分使在用户设备处的处理器响应于内容指令而显示内容。生成内容指令可以包括:将包括指示至少一个类别的数据项在内的内容指令从用户设备发送到内容服务器。发送类别(例如,没有总的已核对的用户数据)是有益的,因为它减少了被发送的数据量,从而减少了带宽使用和存储负担。另外,发送类别避免了将潜在敏感的用户数据发送到其他设备和第三方,其增强了安全性和隐私性。
内容指令可以经由数据充实服务器从用户设备发送到内容服务器。数据充实服务器可以将另外的用户提供给已核对的用户数据。已核对的用户数据可以与从web元素提取的数据组合。来自web元素的数据可以被数据充实服务器提取。已核对的用户数据可以与指示用户位置的估计的地理位置数据组合。地理位置数据可以由数据充实服务器生成。因此,可以对可以基于用户数据的数据进行更准确地识别。
内容服务器可以被布置为:响应于内容指令,基于已核对的用户数据的部分或至少一个类别将内容发送到用户设备。以这种方式,与由用户设备提供内容相反,内容服务器能够提供内容。因此,可以从更大范围的可能的内容项中选择内容。
该方法还可以包括:在代码提供服务器处定义多个类别;以及响应于代码部分请求,至少将多个类别的子集发送到用户设备。多个类别中的至少一个或全部可以是用户定义的。
定义类别可以包括:为该类别选择至少一个标准;并且其中,将用户与类别相关联包括:将已核对的用户数据的至少一部分与该类别的至少一个标准进行匹配。
响应于内容指令而显示内容可以包括:将内容嵌入web元素中。
该附加的方法还可以包括:在用户设备处发起指示web元素的web元素请求;确定在用户设备处的代码部分的版本与在代码提供服务器处的代码部分的版本一致。以这种方式,可以确保执行代码部分的最近的版本。这可以避免执行过时的代码部分的不必要的处理负担。
该方法还可以包括:响应于确定在用户设备处的代码部分的版本与在代码提供服务器处的版本不一致,接收在代码提供服务器处的代码部分的版本。代码部分的版本可以是最近的版本或最新版本。
该附加的方法还可以包括:在用户设备处发起指示web元素的web元素请求;在用户设备处,响应于附加的web元素请求而执行代码部分,其中,执行代码部分使在用户设备处的处理器执行以下操作:核对在用户设备处的用户数据;生成用于在用户设备处显示内容的内容指令,其中,内容基于已核对的用户数据;以及响应于内容指令而显示内容。以这种方式,可以避免重新下载被执行的代码部分的处理、带宽和存储负担。
web元素可以包括网页。web元素可以包括视频内容。web元素包括在线游戏。可以从用户附近的启用互联网的设备接收已核对的用户数据的至少一部分。
根据另一方面,存在一种用于在用户设备处向用户显示内容的方法,该方法包括:在代码提供服务器处,响应于在用户设备处发起的web元素请求而接收代码部分请求;以及响应于代码部分请求,将代码部分发送到用户设备;其中,代码部分被布置为在用户设备处执行,并且使在用户设备处的处理器执行以下操作:核对在用户设备处的用户数据;以及基于已核对的用户数据来生成用于执行动作的指令。
根据另一方面,存在一种用于在用户设备处向用户显示内容的方法,该方法包括:在用户设备处发起指示web元素的web元素请求;在用户设备处,响应于来自web元素请求而从代码提供服务器接收代码部分;在用户设备处,响应于web元素请求而执行代码部分,其中,执行代码部分核对在用户设备处的用户数据;在用户设备处,响应于web元素请求而从web元素服务器接收与web元素请求相对应的web元素;以及基于已核对的用户数据来生成用于执行动作的指令。
根据另一方面,存在一种用于在用户设备处向用户显示内容的方法,该方法包括:在web元素服务器处,从用户设备接收指示web元素的web元素请求;在web元素服务器处,响应于web元素请求而将web元素和代码片段发送到用户设备;其中,代码片段被布置为在用户设备处执行,并且使在用户设备处的处理器执行以下操作:核对在用户设备处的用户数据;以及基于已核对的用户数据来生成用于执行动作的指令。
根据另一方面,存在一种用于向用户显示内容的系统,系统包括用户设备、web元素服务器和代码提供服务器:其中,用户设备被布置为:发起指示web元素的web元素请求;web元素服务器被布置为:响应于web元素请求而将web元素发送到用户设备;代码提供服务器被布置为:响应于web元素请求而接收代码部分请求;代码提供服务器被布置为:响应于代码部分请求而将代码部分发送到用户设备;用户设备被布置为:响应于web元素请求而执行代码部分,其中,执行代码部分使在用户设备处的处理器执行以下操作:核对在用户设备处的用户数据;基于已核对的用户数据来生成指令。
根据另一方面,存在一种用于在用户设备处向用户显示内容的服务器,服务器包括被配置为执行以下步骤的处理器:响应于在用户设备处发起的web元素请求而接收代码部分请求;以及响应于代码部分请求,将代码部分发送到用户设备;其中,代码部分被布置为在用户设备处执行,并且使在用户设备处的处理器执行以下操作:核对在用户设备处的用户数据;以及基于已核对的用户数据来生成用于执行动作的指令。
根据另一方面,存在一种用于向用户显示内容的用户设备,用户设备包括被配置为执行以下步骤的处理器:发起指示web元素的web元素请求;响应于web元素请求而从代码提供服务器接收的代码部分;响应于web元素请求而执行代码部分,其中,执行代码部分核对在用户设备处的用户数据;响应于web元素请求而从web元素服务器接收与web元素请求相对应的web元素;基于已核对的用户数据来生成用于执行动作的指令。
根据另一方面,存在一种用于在用户设备处向用户显示内容的服务器,服务器包括被配置为执行以下步骤的处理器:从用户设备接收指示web元素的web元素请求;响应于web元素请求,将web元素和代码片段发送到用户设备;其中,代码片段被布置为在用户设备处执行,并且使在用户设备处的处理器执行以下操作:核对在用户设备处的用户数据;以及基于已核对的用户数据来生成用于执行动作的指令。
根据另一方面,存在一种用于在用户设备处向用户显示内容的服务器,服务器包括被配置为执行以下步骤的处理器:响应于web元素请求而从用户设备接收通过在用户设备上执行的代码部分所核对的用户数据;基于已核对的用户数据识别内容;以及将已识别的内容发送给用户以在用户设备处进行显示。
根据另一方面,存在一种包括指令的计算机程序,当程序由计算机执行时,该指令使计算机执行本文的方法。
根据另一方面,存在一种包括指令的计算机可读介质,该指令在由计算机执行时使计算机执行本文的方法。
一种承载本文的计算机程序的数据载体信号。
附图说明
将仅通过示例的方式并参照以下附图描述本发明的各个实施例,其中:
图1示出用于快速且安全的内容提供的系统的示意图;
图2示出由系统执行的方法的流程图;
图3示出基于web元素服务器的角度的流程图;
图4示出系统中的设备之间所发送的数据的示意图;
图5更详细地示出附图中的方法的流程图;
图6示出由代码提供服务器执行的方法的流程图;
图7示出将JavaScript注入到软件开发工具包中;以及
图8示出系统中的示例设备的示意图。
具体实施方式
本文所述的示例通过利用所谓的“边缘计算”——即通过将处理任务远离中心点进行分布,在每个用户的自身设备上处理其的信息,来解决上述所有问题。另外,代替在用户每一次触发事件(例如,通过访问网页)时都处理整个数据库,系统对将随着每个新事件而反复进行更新的状态进行存储。
本发明的系统架构和边缘处理允许在请求加载网页的最初的几百毫秒之内收集用户信息、对用户进行细分以及获得被确定为目标的广告,因此将在加载网页所花费的时间内完成。
在边缘上对新的或经更新的细分进行处理更快,因为没有数据传输延迟,并且没有与可用传输带宽相关联的问题。只要历史用户数据“状态”包含用于计算细分的必要信息,也就无需处理所有的历史用户数据,从而节省了大量时间,因为状态中的信息已经是最新的。
本发明包括能够检测和处理用户或设备输入的经互联网连接的设备、基于集中式服务器的数据库、以及将用户设备与数据库进行连接的基于互联网的网络的系统。本发明的一个关键的优点是能够通过利用本地的设备上的处理按照用户或设备输入划分来接近实时地处理海量数据(例如,每分钟处理数百万个事件,其中每个事件涉及处理超过1KB的数据)。
本发明可以提供一种平台,该平台解决了现有技术中的上述问题,从而实现了基于历史数据和将来的数据的用户或设备行为的接近实时的处理。边缘处理解决方案也是可扩展的,因此它可以处理来自大量经互联网连接的设备(例如,数亿个设备)的海量数据,同时解决传输带宽和可以获得的有限的基于云的处理能力的问题。
本发明是用于显示针对专门确定的目标用户类型的相关内容(例如,广告)的系统,包括:多个经互联网连接的用户设备;以及,基于集中式服务器的数据库,该数据库可以经由互联网向用户设备发送数据或从用户设备接收数据。
在本文描述了一种混合计算系统,用于传递面向用户的内容,由此使得大部分的用户数据或设备输入数据的计算处理是在分布式设备上本地完成的;所谓的“边缘计算”。已捕获的数据的子集被存储在设备上,并且完整的数据集被存储在基于云的集中式数据库中。整个数据集的分析可以在云中的服务器上执行。细分的可用性和可以在进行构造之后将细分直接分布给设备的简便性是特别有利的。
利用分布式设备的处理方式来处理每个用户的数据,同时了解边缘的当前细分,无需在云中进行过程密集的联合,再加上不可变的分类账数据存储结构,导致毫秒级或实际上实时的处理速度。因此,可以在目标内容完成加载之前将其嵌入网页中。这允许内容制作方从对网站的第一次访问开始就可以吸引其目标受众;在将来执行完数据处理和传输时,制作方也不必再依赖于用户对其网站的重复访问来传递个性化内容。由于用户所属的细分即是在设备上也是实时地可知的,因此所有事件都由事件发生时用户所在的细分进行充实,因为事件的属性包含细分ID的列表。包括用户的当前细分意味着可以避免一些计算量大的联合操作。例如,可以形成“执行过事件‘X’并且当时处在细分‘S’中”的形式的细分,而不必重新计算用户此时是否处于细分“S”中。
该平台可以针对每个用户处理大量数据,因此可能会提高该平台针对用户来确定内容的准确性。在用户的设备上利用边缘计算还意味着,有可能随着用户和设备数量的增加而收集和处理如此大量的数据(例如,对于每月数亿的用户,每天数十亿个事件);这是可扩展的解决方案。
该系统还可以被用于利用头部竞价(header bidding)。基于用户的细分在平台中创建的键值对被输入到广告交易中。这个附加的信息使有兴趣将其内容显示到给定的用户的细分的广告公司能够针对该用户进行竞价。该系统能够增加可以被用于进行竞价的时间。
本发明的另一有利特征是用户细分的高度个性化。在所公开的发明中,可以基于许多的用户及网页属性以及数据来创建细分。可以捕获任意复杂度的任何通用数据。另外,以查询的形式应用的逻辑可以很复杂。这导致了相对于现有技术的优势,因为用户可以远远更好地控制他们创建的细分。
该系统还具有更低的复杂度和运行成本的优点。混合处理的使用意味着不需要与基于云的系统所需的规模相同的大型计算机处理设施。
由于使用了本地处理和存储,该系统提高了连接问题的鲁棒性。
本文提出的本发明可以提供一种能够处理按照用户划分的由用户生成的大量数据的系统,并且使用该系统向用户实时传递高度个性化的相关动作或反应。本发明的目的是通过基于用户对网页的第一次访问的针对用户的用户数据处理和细分来提供目标内容。
本发明的另一优点是实现新的或经更新的用户细分的接近实时的(例如,毫秒或秒的量级的)执行。新的或经更新的细分的执行时间取决于之前针对特定设备/用户所记录的事件的数量。
通过使用边缘计算来使用设备的本地处理能力,本发明的另一目的是与IoT设备一同起作用,并且提供可以随着经互联网连接的设备或IoT设备的数量预期会显著增长和由设备所收集的数据预期会快速增长而扩大的平台。
本发明的另一优点是提供一种平台,该平台跨多个设备(例如,智能手机、台式计算机、平板计算机)和云服务器数据库同步用户的数据,从而使被传递给用户的内容的个性化基于所有已采集的可用的用户数据。
本发明的另一优点是从第三方获得附加的用户简档信息并且对输入数据进行充实,从而扩大已采集的用户数据量并且为细分用户提供更广泛的属性。
本发明的另一优点是提供一种用于定义和提供高度个性化的(例如,基于平均购物篮价值的)细分的复杂的查询语言,因此以使用该平台的用户为目标。
本发明包括用于广告、内容推荐和个性化的web分析平台,其在IoT中具有将来的潜在应用。本发明的目的是为客户提供可扩展的、实时相关的内容传递解决方案。
尽管此处详细描述的实施例描述了一种用于呈现相关的目标广告的方法,但是应当了解,它可以被用于以许多不同的形式提供动作或做出反应,包括显示相关的任何种类的数字内容。尽管本文描述的特定实施例涉及一种用于呈现相关的目标广告的方法,但是应当了解,这些实施例可以被用于以许多不同的形式提供动作或做出反应,包括显示任何种类的相关数字内容或向第三方服务发送目标数据。
本发明的关键方面是通过使用分布式用户设备的本地处理能力来实时处理按照用户或设备输入划分的极大量的数据的能力。
事件可以包括来自设备或用户的任何形式的交互。例如,这可以是用户对网页的访问或在设备处产生温度读数。
系统架构
图1示出用于快速且安全的内容提供的系统1的总体架构。系统1包括:计算/电子设备,包括用户设备3(例如,设备200)、web元素服务器5(例如,web托管系统206)、内容服务器9(例如,分布系统222)、代码提供服务器7(例如,云服务器系统209)和数据充实服务器11(例如,数据充实源215)。
计算设备3、5、7、9、11被布置为经由通信网络13彼此通信。在该示例中,通信网络13是互联网13。然而,应当了解,可以使用任何适当形式的通信网络13。
通过包括嵌入式浏览器或“app”或类似物,计算设备3、5、7、9、11是启用web的。另外,每个设备3、5、7、9、11可以包括显示器、UI、处理器和存储器。
设备3、5、7、9、11可以被布置为经由任何合适的通信协议或连接在彼此之间传递数据。例如,设备3、5、7、9、11可以经由有线和/或无线连接而彼此通信。
所述方法的概述
图2示出由系统1执行的方法的流程图。在步骤21中,用户设备3的用户发起对诸如网页之类的web元素的请求,该请求被发送到web元素服务器5。在步骤23中,web元素服务器5通过将网页提供给用户设备3来对该网页请求进行响应。在步骤25中,web元素服务器5还可以响应于该网页请求而可选地将一部分代码或“代码片段”发送到用户设备3。在步骤27中,在用户设备3处执行代码片段,其将针对代码部分的请求发送到代码提供服务器7。在备选实施例中,web元素服务器5可以将该代码部分请求发送到代码提供服务器7,而没有首先将代码片段发送到用户设备3。在另一示例中,web元素服务器5和代码提供服务器7可以是同一服务器,因此不需要将针对代码部分的请求发送到外部,而是将代码部分请求从服务器的web元素部分传递到同一服务器之中的代码提供部分。
在步骤29中,可以向用户设备3提供代码部分。在步骤31中,在用户设备3处执行所述代码部分以核对用户数据。可以使用被存储在用户设备3处的数据来核对用户数据,和/或可以在用户设备3处基于外部源对数据进行核对。在可选步骤31a-31c中,可以通过数据充实服务器11补充用户数据,数据充实服务器11可以对在步骤31a中的针对附加用户数据的请求做出响应。附加用户数据可以包括从web元素提取的数据、与用户相关联的地理位置数据和/或与用户相关联的另外的数据。这数据可以被发送到web元素服务器5,而无需对在步骤31a中的请求做出响应。这些数据可以由数据充实服务器11例行地发送。在步骤31c中,可以将用户数据转发到用户设备3。
在可选步骤33中,例如,如果用户数据与与类别相关联的至少一个标准相匹配,则使用用户数据对用户进行分类。在步骤35中,在用户设备3处生成执行动作的指令(例如,内容指令)。内容指令可以包括用于将早已被存储在用户设备3处的数据呈现给用户的指令。例如,该内容指令可以使网页数据例如经由“弹出”窗口被显示给用户。在步骤41中,执行例如可以将内容显示给用户的动作。可选地,内容指令可以包括将指令发送到内容服务器9的步骤37以及步骤39。这个指令可以包括指示已核对的用户数据和/或用户的类别的数据项。在步骤39中,内容服务器9将数据项与内容项进行匹配,并将内容发送到用户设备3。在步骤41中,在用户设备3处显示已识别的内容。
尽管将基于已核对的用户数据来显示内容提供为基于用户数据执行的动作的示例,但是可以设想,可以执行代替对该内容进行显示或除了它之外的其他动作。例如,当与特定用户相关联的细分或查询响应于事件而改变时,所执行的动作可以是可由在用户设备处的代码部分在该设备上采取的任何动作,对内容进行显示仅仅是其中的一个示例。在一个示例中,响应于细分的改变,可以执行用于做出API调用的动作,以(例如,在诸如Facebook之类的社交网络的受众API之中)将用户标记为对感兴趣的特定主题具有特定倾向。在这个示例中,可能会没有内容被显示给用户,而是替代地设置用于在以后经由社交网络确定用户的标志。在另一示例中,所执行的动作与电子邮件有关,例如,该动作可以使电子邮件基于已核对的用户数据进行发送。
网页服务器角度
网站提供方可以在其网页中嵌入内容(例如,广告)。之后的小节从该角度描述了所执行的用于在其网页中生成和传递目标广告的过程。
图3中示出基于所公开的发明的网页服务器的角度的高层流程图。一旦平台被嵌入其网站中(100),系统就能够自动采集可以在仪表盘式界面(dashboard)上定义的默认事件和细分、查询和反应(101)。
该网站可以在其网页上包含显示目标广告的广告元素(102)。广告元素是可以在网页上放置广告的空间或区域。它可以是但不限于矩形框、方形框、大标题、弹出式浏览器窗口或赞助内容。合作方创建的广告元素越多,平台必须针对网页访问者对广告进行定制的机会就越多。尽管流程图并行显示了(101)和(102),但是可以在将广告元素嵌入到合作方的网页上之前、与创建所述网页并行地或在发布这些网页之后对细分、查询和反应进行定义。
一旦建立了细分、查询和反应,如果用户访问具有一个或多个嵌入式广告的网页(103),则根据用户以前的事件和正在进行的事件对用户进行细分(104)。该用户细分过程有助于通知所发生的广告元素的自动拍卖(105)。该拍卖的结果是将面向用户的广告放置在网页上的广告元素中(106)。
细分
细分对用户的事件历史记录进行处理,并且针对给定的用户返回布尔值“真”或“假”。
为了定义平台何时做出反应,平台的用户必须在基于浏览器的仪表盘式界面中创建一个或多个细分。用户需要通过针对用户的事件定义标准来指定典型的广告目标用户的典型的行为和属性、简档。
可能需要与细分相关联的元数据,包括细分的名称、与细分相关联的标签(这些标签有助于更容易地过滤和搜索细分)、以及细分的描述。在这些输入之后,定义符合细分标准的用户的上述行为或简档。
作为需要在其中创建细分的情况的示例,假设用户是使用该系统的具有在线显示的报纸,其具有其希望出售的具有广告空间的网页。该报纸希望为正在寻找工作的业务分析师创建一个细分。在这个示例中,报纸将创建一个细分。在这个示例中,如果用户与针对访问具有广告空间的网页的细分条件相匹配,则该细分将通过改变该用户的状态来标记该实例,例如,从“假”到“真”。然后,平台将按照指示对这个事件做出反应。例如,拥有工作列表的咨询公司可能会对这个用户细分感兴趣,那么该咨询公司可以针对正在该用户面前加载的网页上的广告元素进行竞价。
查询
查询和细分一样,响应于用户的行为或简档而对用户的事件历史记录进行处理。然而,查询具有需要对数据进行分组或聚合的更复杂的逻辑。在优选实施例中,在查询中支持包括但不限于平均、求和、计数、最大值和最小值的数学函数。细分产生可以反馈的“真”和“假”的值,而查询产生任何特定类型的值。例如,查询可以针对用户的购买事件计算平均购物篮值。那么这意味着可以基于任何类型的值而不是仅由细分提供的“真”或“假”值来确定对查询的反馈。
经由用户界面使用查询语言来写入查询。使用仪表盘式界面中的细分构建器界面来建立细分。
反应
反应是可以将细分传递到其他平台的过程。
细分被用于对反应进行触发。在优选实施例中,存在三种类型的触发器:
i.关于进入:在用户进入细分时触发反应。
ii.关于退出:在用户退出细分时触发反应。
iii.每次:当用户在处于该细分的同时每次访问页面时触发反应。
平台对触发器的响应可以是用户定义的,例如经由用户界面。
在优选实施例中,用户在其一个或多个网页上采用本文所述的发明,以选择性地确定浏览其网站的用户,其网站针对该用户的行为定制了广告。
对网页的首次访问
在所公开的发明的优选实施例中,存在五组组件,如图4所示。首先,存在对嵌入了目标广告的网站进行访问的用户的设备(200)。与用户设备(200)通信的是云服务器系统(209)、数据充实源(215)、广告销售和分发系统(222)、以及web托管系统(206)。
对于以前未访问过网站的用户而言,该过程的第一步是用户在其设备(200)上请求网页(201)。网页(201)包含广告元素(202)。URL通过将消息(204)发送到web主机的服务器(205)来指示浏览器获得网页。作为响应,web主机服务器(205)将HTML形式的网页内容以及已经被添加到网站的每个网页的JavaScript片段发送到(204)设备(200)上的浏览器。然后执行该片段,该片段对服务器执行ping操作(208),并且下载和初始化软件开发工具包(SDK)(218)。
在优选实施例中,从将数据连续地发送到(213)服务器(208)的API的专门从事用户数据聚合的公司——例如“美国的尼耳森有限责任公司(The Nielsen Company(US),LLC)”的数据库(214)获得用户概貌信息。用户信息可以包括但不限于:用户的性别、年龄和个人兴趣。
服务器(208)将网页信息中继到(210)自然语言处理(NLP)提供方(211)——例如IBM Watson,其提取概念、标签或其他进行充实的网页数据。在优选实施例中,服务器(208)在其数据库中包含URL和NLP提供方分类之间的关联。如果需要NLP分类,并且如果事件和数据库(208)中存在的URL被发送到(218)API,则API使用数据库,利用数据库(208)中存储的NLP提供方分类对该事件进行充实。如果数据库(208)中不存在针对该URL的分类,则将请求(210)连同URL的文本主体发送到NLP提供方(211)。将响应(212)从NLP提供方(211)发送到服务器(208),将该响应存储在数据库中以用于将来的分类请求。
在备选实施例中,NLP提供方的输出被直接发送到(212)用户设备(200),在其中将该数据与其他用户数据组合以用于用户细分。然后将信息与服务器(208)同步(218)。
在另一备选实施例中,也被称为客户端侧充实,网页信息直接从设备(200)发送到(223)用户简档数据库(214)或数据充实提供方。
进行充实的另一种形式——地理位置,取决于用户的IP地址的提供。将针对这种经充实的数据的请求从API(208)推送到(210)地理位置提供方(217)。诸如GeoIP之类的地理位置提供方(217)发回(216)关于用户的经充实的位置数据。然后,该数据被中继到(218)用户设备(200)中的SDK。
在备选实施例中,到达地理位置提供方(217)的数据请求和来自地理位置提供方(217)的数据传输绕过服务器(208)而直接来自和到达用户设备(200)。
在备选实施例中,其他数据源可以被用于提供附加的经充实的内容,例如但不限于:来自诸如APIHub公司(“Clearbit”)之类的公司的分类法,例如,IAB广告分类法和互联网服务提供方的详细信息及商业信息。
服务器将SDK发送到(218)用户设备(200),该SDK被存储在用户设备(200)上的浏览器的本地储存器中。
在对用户进行细分之后,将关于广告元素和用户的类别的信息从浏览器发送到(223)广告服务器(221)。然后,广告服务器(221)将该信息转发到(220)广告交易方(219),用于拍卖广告元素。在广告的拍卖完成之后,将消息发送到(220)对赢得竞价的广告进行请求的服务器(222)。然后将广告发送到(223)用户的设备(200)中的浏览器,在该浏览器中将其嵌入到网页(201),在广告元素(202)中。
在优选实施例中,对如图4所示的一个或多个通信信道进行加密以保护在系统中的设备之间传输的用户数据。
上述内容(例如,广告)选择过程已经在图5中示出的流程图中被可视化。
从用户针对网页的请求到用户细分的过程(400)-(410)在针对图4的说明中进行了描述。在图5中省略了备选实施例,例如,附加类型的经充实的内容,以及在第三方充实源、服务器和用户的设备之间的备选的数据传输,但仍在本发明的范围内。
图5中的要素(411)-(414)示出基于用户细分而产生键值对时的事件的序列。然后,在头部竞价过程中使用所述键值对。头部竞价是很重要的新编程技术,发布方通过其在每次页面加载时在广告布置加载到该页面上之前进行拍卖。拍卖发生在发布方的广告服务器的外部——在用户的浏览器中的网页的头部中——以便发布方控制拍卖。当页面开始加载时,用户的浏览器同时调用发布方所需要的所有合作方,并且每个合作方都针对用户页面上的位置做出竞价。与传统的广告交易底价的顺序瀑布不同,广告方能够查看每一个效果(impression),而发布方能够在直接订购之前选择更有价值的广告。
该系统的实时地基于设备的能力允许发布方利用头部竞价。通过设置发布方的页面以将头部竞价转变为事件(例如,将竞价作为事件的属性),可以创建查询以实时地计算用户的平均、最低和最高竞价、以及可以将信息实时地添加到拍卖中的实时反应设置,以影响其效率。例如,通过获得最低的中标价格,可以将拍卖的底价设置为该最低价,这意味着竞价去除了更高价,因此在拍卖进行的有限的时间段上有更多的时间使竞价的价格上升。
相反,如果用户的信息不符合细分的标准,则遵循默认的广告服务器过程,因此针对用户的特定量的广告个性化仍然是可能的,但是达不到相同的程度,如图5所示的备选路径所示。
在优选实施例中,在用户请求网页(400)和从广告服务器发送广告(414)或(417)之间所经过的时间为200毫秒的量级;广告在网页完成加载之前被发送到设备。
对网页的再次访问
在此处描述在对网页的后续访问时所显示的目标广告的传递进行控制的过程。
与用户对网页的首次访问相比,在这个实例中,用户设备已经在浏览器的缓存中包含了SDK。如果有更近的SDK版本可用,或者有新的或经更新的细分可用,则可以从服务器下载它们。从以前对网站的访问中收集的用户数据的最近的子集被存储在缓存中。在SDK中存储和执行的状态是最新的,以反映以前已经获得的数据。该再次访问生成提示状态要再次更新的事件。如果已经设置并且通过状态的改变触发反应,则将执行反应。前一部分中所描述以及图5所示的广告拍卖的过程是相同的,尽管在再次访问时,因为现在存在用户数据的历史数据库来对基于这次访问所生成的数据进行补充,所以数量更多的用户数据可用于对广告传递进行定制。例如,用户已经访问和正在访问的网页的概念标签的累积更好地将用户的兴趣告知系统。这些被用于生成更多的键值对、或更精确的键值对,这很可能导致在拍卖中的更好的用户广告匹配。
细分实施方式
为了捕获用户在其设备上的行为,这些细分被分发给访问了运行平台的网页的任何用户。在优选实施例中,细分以JavaScript SDK的形式进行分发。图6中的流程图详细说明了对细分进行更新所需的平台的后端中所涉及的步骤。
在对网页的这次访问中所捕获的信息将添加到在设备(200)的浏览器的本地储存器(也被称为缓存)中的以前捕获的用户已经访问过的网站的历史数据。
可以在仪表盘式界面细分构建器(500)中创建细分并定义其逻辑。在优选实施例中,这可以在任何经互联网连接的设备上执行。其一旦完成,集中式服务器就生成细分SQL(501)。在优选实施例中,然后,在被编译以创建细分JavaScript、C或其他解释(503)之前,将SQL(501)解析为查询语法树(502)。图7示出将JavaScript注入SDK的下一步骤(504)。
被分发给客户的用户终端设备(505)并且被存储在他们各自的浏览器缓存中的SDK(600)具有两个组件:通用SDK(602)和被注入的JavaScript细分(601)。
通用SDK(602)执行若干关键角色。这些是:
i.摄取:将用户行为捕获为用户事件并将其ping到服务器API。
ii.细分处理:负责将事件输入到更新功能,该更新功能获得事件和当前状态并且产生新状态。
iii.反应:根据新状态确定是否触发反应。
iv.本地储存器管理:管理被存储在缓存中的细分。
v.与云同步:将本地生成的事件推送到服务器作为集中式的副本,并且在必要时从集中式副本中提取事件(例如,如果用户被登录到另一设备并在那里生成事件)。
通用SDK很少更新,通常仅在代码性能得到改善或错误修复时才会发生。SDK被存储在设备(200)上,在浏览器的缓存中。
每当用户对其细分或查询做出改变时,已注入的细分都会在下一次其访问该用户的网页中的一个网页时被更新和下载到该用户的设备上。
状态
状态是表示所需要的最少信息的数据或数据结构,其封装了来自事件的用于细分结果的所有必需的信息。这些状态以增量方式进行更新,并且可以响应于与特定用户相关联的过去的事件而进行更新。另外,这些状态可以响应于一旦将SDK下载到用户的设备上就发生的新事件而进行更新。
在一个示例实施例中,如果结果是平均值,那么需要在该状态下捕获两个数据。即,在这种情况下是总和和计数。然后,可以通过简单地将总和除以计数来计算细分结果。
关于用户、网页和广告元素的信息被发送到针对广告交易中的广告元素的拍卖。利用用户的细分,可以创建键值对。键值对提供了关于用户的更多的信息,因此,如果基于程序化交易的广告方希望将该受众确定为其进行消息收发的目标,则使其更愿意支付更多的费用。
用户数据存储
每个用户的简档数据都与唯一的用户ID相关联,在优选实施例中,用户ID采用唯一的字符串的形式。用户的多个设备可以通过电子邮件地址、贝宝(PayPal)编号或另一形式的ID被链接到数据库中。这可以通过在网站的登录页面处的用户输入与系统中的唯一用户ID之间形成链接来完成。
每次用户访问网站时,来自该访问或事件的数据都作为事件被附加到其用户数据中。一些用户定义的细分受益于大量数据的累积,例如基于平均函数的细分,因为更多数据意味着更准确的平均值。用户对这些站点的大量访问生成更多的数据。这些数据用于生成更准确的细分,因此生成更准确的键值对,这很可能会导致拍卖中的用户广告的更好的匹配。
在数据库中,在服务器的API接收到用户的数据之后,将在用户对数据进行分区之前使用流式数据管道。流式数据管道允许处理大规模的数据分析,而经分区的数据存储促进用于实现边缘计算的分发和数据与用户设备的同步。
本发明的另外的方面是在不使用cookie的情况下实现的。可以实现本发明,从而使用用户设备的本地存储装置,而无需存储第三方的cookie;这是一种无cookie的解决方案。出于对隐私的考虑,第三方cookie越来越受到限制。因此,此解决方案不受这些限制。
同步
当用户的设备(200)访问网页时,用户简档数据将在用户设备(200)和基于云的集中式服务器之间进行同步。在优选实施例中,由于本地设备(200)上的存储限制,只有与最新事件有关的数据的子集被存储在设备(200)中的浏览器的本地储存器中,而集中式服务器存储完整的数据集。在优选实施例中,数据以压缩格式被存储在设备(200)中的本地储存器中,从而增加了本地存储的用户数据的比例。
如果给定用户的新设备访问网页,则已经被存储在服务器中的与用户有关的数据被下载到该设备上,达到了缓存可以支持的程度,这在以前是被回避的。
如果创建了需要来自历史数据的信息的新的细分或查询,那么一旦将细分注入到通用SDK中并且将其发送到用户的浏览器后,则所有的历史数据就将依次从服务器中进行提取。因为下载了事件,所以采用边缘计算来在用户的设备上处理细分或查询;设备上的SDK会随着下载所有事件而在其上运行。尽管下载了所有事件,但还是像以前一样,只有最新的事件才被存储在本地设备的浏览器的缓存中。来自边缘处理的结果是已遍历所有的用户数据的最终状态。在备选实施例中,新的细分或查询的处理是针对云中的用户的数据执行的。
其他的附加用例
IPTV对于所公开的发明是潜在的用例,由此在广告休息期间经由互联网在大标题上或以另一种画中画格式将个性化广告提供给观看节目的用户。至关重要的是,从用户第一次接入频道开始就提供特定于该用户的经定制的广告,并且由于将关于他们观看的节目的信息添加到用户信息数据库中,所以持续地对用户数据进行更新。
与智能海报的交互适用于本发明,因为需要基于首次访问或与海报的交互的经定制的广告。其他非实时解决方案可能会受到典型地很短的访问持续时间和很低的甚至是零的再次访问的频率的挑战。
本文描述的解决方案使用混合计算实时分析大量数据的能力适用于“物联网”(“IoT”)设备。不是监视用户的活动和行为,而是基于IoT设备跟踪传感器数据,例如,冰箱的内部温度或智能房屋的能源使用。数据可以通过IoT设备进行细分。可以基于从IoT设备所有者收集的数据向他们提供内容、产品或服务。在另一潜在用例中,可以将该解决方案与用于监视、跟踪和管理IoT设备的整体在线工具相结合。
营销,例如在零售商的站点上通过用户喜好提供经定制的产品推荐或产品或服务的订购列表,是所公开发明的另一可行用例。
本发明的另一潜在用途是在电子商务中。除了在购物空间中的营销中使用本发明之外,本发明还可以在金融交易过程的后端系统中找到用途。通过聚合来自多个源的数据为客户建立简档和监视用户的消费习惯以授权交易可能会变得更加普遍。本发明的边缘计算方面在具有自己的处理装置的电子钱包或智能卡的情况中可能特别有用。
异常检测是该平台的另一用例。异常检测的示例包括:检测欺诈性流量和识别安装有广告拦截软件的用户。在如此短的时间段内处理如此大量的数据并对数据做出反应的能力非常适合这些应用程序。为了检测欺诈性流量,可以针对系统可以捕获的用户的网页浏览时间、数据进行分析。该系统还能够在监视用户已经浏览了多少网页的同时确定用户已经浏览了多少广告。这些信息可以被用于确定用户是否在其设备的浏览器上运行了广告拦截器。
游戏是本发明的另一个潜在用例。既可以提供游戏内的目标广告,也可以实时分析用户的游戏操作或对其做出反应。备选地,它可能是游戏本身不可或缺的方面,其中游戏的元素依赖于实时处理的某些元素的属性。
“实时”用户交互的其他实例存在可实时提供用户特定的内容的优点。
示例电子设备
图8示出根据本公开的任一电子设备(例如,用户设备3、web元素服务器5、内容服务器9、代码提供服务器7或数据充实服务器11)的示例性电子设备801。电子设备包括处理电路810(例如,微处理器)和存储器812。电子设备801还可以包括以下子系统中的一项或多项:电源814、显示器816、短距离无线收发器818、长距离无线收发器820、扬声器822和输入装置826。
处理电路810可以控制电子设备801和子系统812-822的操作。处理器810与子系统812-828可通信地耦合。存储器812可以包括随机存取存储器(RAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、闪存、其他易失性存储器、以及其他非易失性存储器中的一项或多项。
显示器816可以与处理电路810可通信地耦合,处理电路810可以被配置为使显示器816输出图像。显示器816可以包括触敏界面,例如触摸屏显示器。显示器816可以被用于与在电子设备801的处理器810上运行的软件进行交互。触敏界面允许用户经由谨慎的一次触摸、多次触摸或一个或多个手势来向处理电路810提供输入,以控制处理电路的操作和本文描述的功能。将了解的是,可以出于相同目的另外或备选地采用其他形式的输入接口,例如输入装置826,其可以包括在输入设备处的键盘或鼠标。
短距离无线收发器818可以是短距离无线电,其被配置为根据短距离无线协议进行操作。短距离无线收发器818可以被配置为经由短距离无线协议进行通信。短距离无线协议可以是蓝牙、或低功耗蓝牙或智能蓝牙,并且短距离无线收发器可以被配置为根据这样的协议与诸如无线信标站之类的其他设备进行通信。在这个方面,并且出于本文中关于短距离无线协议的所有实施例的目的,短距离无线协议可以是能够和被设计用于针对小于1m、5m、10m、20m、30m、40m、50m或100m的通信的协议。
长距离无线收发器820可以是一个或多个长距离RF收发器,其被配置为根据诸如LTE、UMTS、3G、EDGE、GPRS、GSM和Wi-Fi之类的通信标准进行操作。例如,电子设备801可以包括:第一长距离无线收发器821,例如蜂窝收发器,其被配置为经由诸如LTE、UMTS、3G、EDGE、GPRS或GSM之类的蜂窝数据协议与蜂窝塔803进行通信;以及,第二长距离无线收发器828,例如Wi-Fi收发器,其被配置为经由诸如802.11ac/n/g/b/a之类的Wi-Fi标准与无线接入点804进行通信。在这个方面,并且出于本文中关于长距离无线协议的所有实施例的目的,长距离无线协议可以是能够和被设计用于针对5m、10m、20m、30m、40m、50m或100m的通信的协议。这与上述短距离无线协议形成对比。远距离无线协议可以使用比近距离无线协议更高的功率进行通信。用于长距离无线协议的长距离终端节点(电子设备和路由器或基站)之间的距离(例如,视线距离)可以大于短距离终端节点(例如,电子设备和无线信标站)之间的距离(例如,视线距离)。
电子设备801可以被配置为经由长距离无线收发器820与网络840进行通信。网络840可以是诸如互联网之类的广域网或局域网。电子设备801还可以被配置为经由长距离无线收发器820和网络840与一个或多个服务器或用户设备进行通信。这些服务器或用户设备可以是本文所述的服务器中的任意一个。
术语“包括”涵盖“包括”以及“由...组成”,例如,文字“包括”X可以仅由X组成,或者可以包括附加的东西,例如X+Y。
词语“实质上”不排除例如“完全地”,例如,“实质上不含”Y的文字可以完全不含Y。在必要时,可以从本发明的定义中省略词语“实质上”。
与数值x有关的术语“约”是可选的,并且表示例如x+10%。
除非另外指出,否则本文描述的每个实施例可以与本文描述的另一实施例组合。
本文描述的方法可以由在有形存储介质上的机器可读形式(例如,包括适于在程序在计算机上运行时执行本文描述的方法中的任意方法的所有步骤的计算机程序代码装置并且该计算机程序可以被包括在计算机可读介质上的计算机程序的形式)的软件执行。有形(或非暂时性)存储介质的示例包括磁盘、拇指驱动器、存储卡等,并且不包括传播的信号。所述软件可以适合于在并行处理器或串行处理器上执行,使得可以以任何合适的顺序或同时执行方法步骤。这承认固件和软件可能是有价值的可单独交易的商品。旨在涵盖用于执行所需的功能的在“低级的”或标准硬件上运行或控制它们的软件。还旨在涵盖“描述”或定义硬件的配置的软件,例如HDL(硬件描述语言)软件,将其用于设计硅芯片或配置通用可编程芯片,以执行所需的功能。
要了解的是,本文描述的模块可以在硬件或软件中实现。此外,所述模块可以在整个系统的各个位置处实现。
本领域技术人员将认识到,用于存储程序指令的存储设备可以跨网络分布。例如,远程计算机可以将所描述的过程的示例存储为软件。本地或终端计算机可以访问远程计算机并下载部分或全部软件以运行程序。备选地,本地计算机可以根据需要下载软件,或者在本地终端处执行一些软件指令,并且在远程计算机(或计算机网络)处执行一些软件指令。本领域技术人员还将认识到,通过利用本领域技术人员已知的常规技术,全部或部分软件指令可以由诸如DSP、可编程逻辑阵列等之类的专用电路执行。
对技术人员将显而易见的是,可以在不失去所寻求的效果的情况下扩展或改变本文给出的任何范围或设备值。
要理解的是,上述益处和优点可以涉及一个实施例或可以涉及若干实施例。实施例不限于解决任何或所有已描述的问题的实施例或具有任何或所有已描述的益处和优点的实施例。
对“一个”项的任何引用指的是这些项中的一个或多个。术语“包括”在本文中被用于表示包括所标识的方法框或要素,但是这样的框或要素不包括排他性的列表,并且方法或装置可以包含附加的框或要素。
本文描述的方法的步骤可以以任何合适的顺序执行,或者在适当的地方同时执行。另外,在不脱离本文描述的主题的精神和范围的情况下,可以从所述方法中的任一方法中删除个别的框。可以将上述示例中的任意示例的方面与所描述的其他示例中的任意示例的方面进行组合以形成另外的示例,而不会失去所寻求的效果。可以以硬件或软件来实现上述模块中的任意模块。
要理解的是,优选实施例的以上描述仅通过示例的方式给出,并且本领域技术人员可以做出各种修改。尽管上面已经以某种程度的特殊性或者参考一个或多个单独的实施例描述了各个实施例,但是本领域技术人员可以在不脱离本发明范围的情况下对所公开的实施例做出许多修改。
Claims (20)
1.一种用于向用户显示内容的系统,所述系统包括用户设备、web元素服务器和代码提供服务器:
其中,所述用户设备被布置为:发起指示web元素的web元素请求;
所述web元素服务器被布置为:响应于所述web元素请求,将所述web元素发送到所述用户设备;
所述代码提供服务器被布置为:响应于所述web元素请求而接收代码部分请求;
所述代码提供服务器被布置为:响应于所述代码部分请求而将代码部分发送到所述用户设备;
所述用户设备被布置为:响应于所述web元素请求而执行所述代码部分,其中,执行所述代码部分使在所述用户设备处的处理器执行以下操作:
核对在所述用户设备处的用户数据;以及
基于已核对的用户数据来生成用于执行动作的指令。
2.根据权利要求1所述的系统,其中,所述用于执行动作的指令包括用于在所述用户设备处显示内容的内容指令,其中,所述内容基于已核对的用户数据;并且其中,执行所述代码部分使在所述用户设备处的处理器响应于所述内容指令而显示所述内容。
3.根据权利要求1所述的系统,其中,所述用于执行动作的指令包括生成用于将标志与所述用户设备的用户相关联的标志指令,其中,所述标志基于已核对的用户数据。
4.根据权利要求1所述的系统,其中,执行所述代码部分使在所述用户设备处的处理器执行以下操作:
将用户与多个类别中的至少一个类别相关联。
5.根据权利要求4所述的系统,其中,所述动作是基于与用户相关联的至少一个预定义类别而选择的。
6.根据权利要求1所述的系统,其中,生成所述指令包括:将包括指示已核对的用户数据的至少一部分的数据项在内的指令从所述用户设备发送到内容服务器。
7.根据权利要求6所述的系统,其中,所述内容服务器被布置为:响应于内容指令,基于已核对的用户数据的部分来发送内容。
8.根据权利要求4所述的系统,其中,生成所述指令包括:将包括指示所述至少一个类别的数据项在内的指令从所述用户设备发送到内容服务器。
9.根据权利要求8所述的系统,其中,所述内容服务器被布置为:响应于内容指令,将基于所述至少一个类别的内容发送到所述用户设备。
10.根据权利要求1所述的系统,其中,所述代码提供服务器被布置为:定义多个类别;以及,响应于所述代码部分请求而将所述多个类别的至少一个子集发送到所述用户设备。
11.根据权利要求4和10所述的系统,其中,定义类别包括:为该类别选择至少一个标准;并且其中,将用户与类别相关联包括:将已核对的用户数据的至少一部分与该类别的至少一个标准进行匹配。
12.根据权利要求2所述的系统,其中,响应于所述内容指令而显示所述内容包括:将所述内容嵌入所述web元素中。
13.根据权利要求1所述的系统,其中,所述用户设备被布置为:发起指示web元素的附加web元素请求,并且确定在所述用户设备处的代码部分的版本与在所述代码提供服务器处的代码部分的版本一致。
14.根据权利要求13所述的系统,其中,所述用户设备被布置为:响应于确定在所述用户设备处的代码部分的版本与在所述代码提供服务器处的版本不一致,接收在所述代码提供服务器处的代码部分的版本。
15.根据权利要求13所述的系统,其中,在所述代码提供服务器处的代码部分的版本是最新版本。
16.根据权利要求1所述的系统,其中,所述web元素包括网页、视频内容和在线游戏中的至少一项。
17.根据权利要求4所述的系统,其中,将用户与多个类别中的至少一个类别相关联包括以下项中的至少一项:
检测已核对的用户是否已经从与多个类别中的至少一个类别的标准不相匹配的否定状态转变为与所述类别相匹配的肯定状态;
检测已核对的用户是否已经从与多个类别中的至少一个类别的标准相匹配的肯定状态转变为与所述类别不相匹配的否定状态;
检测已核对的用户是否与多个类别中的至少一个类别的标准相匹配;以及
检测已核对的用户是否已经从一个查询值转变为新的查询值。
18.根据权利要求1所述的系统,其中,所述web元素服务器被布置为:响应于所述web元素请求而将代码片段发送到所述用户设备;并且
所述用户设备被布置为执行所述代码片段以发起所述代码部分请求。
19.一种用于在用户设备处向用户显示内容的服务器,所述服务器包括被配置为执行以下步骤的处理器:
响应于在所述用户设备处发起的web元素请求而接收代码部分请求;以及
响应于所述代码部分请求而将代码部分发送到所述用户设备;
其中,所述代码部分被布置为在所述用户设备处执行,并使在所述用户设备处的处理器执行以下操作:
核对在所述用户设备处的用户数据;以及
基于已核对的用户数据来生成用于执行动作的指令。
20.一种用于在用户设备处向用户显示内容的方法,所述方法包括:
在所述用户设备处发起指示web元素的web元素请求;
在web元素服务器处,响应于所述web元素请求而将所述web元素发送到所述用户设备;
在代码提供服务器处,响应于所述web元素请求而接收代码部分请求;
在所述代码提供服务器处,响应于所述代码部分请求而将代码部分发送到所述用户设备;
在所述用户设备处,响应于所述web元素请求而执行所述代码部分,其中,执行所述代码部分使在所述用户设备处的处理器执行以下操作:
核对在所述用户设备处的用户数据;以及
基于已核对的用户数据来生成用于执行动作的指令。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/852,220 | 2017-12-22 | ||
US15/852,220 US11030221B2 (en) | 2017-12-22 | 2017-12-22 | System for fast and secure content provision |
PCT/GB2018/053740 WO2019122917A1 (en) | 2017-12-22 | 2018-12-21 | System for fast and secure content provision |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111699487A true CN111699487A (zh) | 2020-09-22 |
Family
ID=64949336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880088631.XA Pending CN111699487A (zh) | 2017-12-22 | 2018-12-21 | 用于快速且安全的内容提供的系统 |
Country Status (8)
Country | Link |
---|---|
US (2) | US11030221B2 (zh) |
EP (1) | EP3729295A1 (zh) |
JP (1) | JP7463286B2 (zh) |
KR (1) | KR20200131809A (zh) |
CN (1) | CN111699487A (zh) |
AU (1) | AU2018387423B2 (zh) |
CA (1) | CA3086635A1 (zh) |
WO (1) | WO2019122917A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200167355A1 (en) * | 2018-11-23 | 2020-05-28 | Amazon Technologies, Inc. | Edge processing in a distributed time-series database |
US11934409B2 (en) | 2018-11-23 | 2024-03-19 | Amazon Technologies, Inc. | Continuous functions in a time-series database |
US11989186B2 (en) * | 2018-11-23 | 2024-05-21 | Amazon Technologies, Inc. | Scalable architecture for a distributed time-series database |
US11409725B1 (en) | 2019-02-04 | 2022-08-09 | Amazon Technologies, Inc. | Multi-tenant partitioning in a time-series database |
US20220187847A1 (en) * | 2019-11-05 | 2022-06-16 | Strong Force Vcn Portfolio 2019, Llc | Robot Fleet Management for Value Chain Networks |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020169971A1 (en) * | 2000-01-21 | 2002-11-14 | Tomoyuki Asano | Data authentication system |
CN101499100A (zh) * | 2008-01-18 | 2009-08-05 | 捷讯研究有限公司 | 电子商务应用中校验转换的方法和设备 |
US20110283355A1 (en) * | 2010-05-12 | 2011-11-17 | Microsoft Corporation | Edge computing platform for delivery of rich internet applications |
CN102629932A (zh) * | 2012-02-22 | 2012-08-08 | 张洋 | 通过web应用程序控制嵌入式设备的方法 |
EP2800332A1 (en) * | 2013-05-02 | 2014-11-05 | Alcatel Lucent | Seamlessly enabling privacy in online recommendation services |
US20150051986A1 (en) * | 2013-08-16 | 2015-02-19 | OpenX Technologies, Inc. | System Architecture and Methods for Facilitating Client-Side Real-Time Auctions of Advertising Inventory |
US9280749B1 (en) * | 2013-10-08 | 2016-03-08 | Google Inc. | Determining an attribute of an online user using user device data |
US20160098265A1 (en) * | 2009-09-30 | 2016-04-07 | Zynga Inc. | Apparatuses, Methods and Systems for A Social Networking Application Updater |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI278782B (en) * | 2001-08-24 | 2007-04-11 | Toshiba Corp | Personal recognition apparatus |
US8806187B1 (en) | 2009-12-03 | 2014-08-12 | Google Inc. | Protecting browser-viewed content from piracy |
US20060100857A1 (en) * | 2004-11-05 | 2006-05-11 | Microsoft Corporation | Custom collation tool |
US20090172014A1 (en) | 2005-08-23 | 2009-07-02 | Raymond John Huetter | Stream-Oriented Database Machine and Method |
US7769764B2 (en) | 2005-09-14 | 2010-08-03 | Jumptap, Inc. | Mobile advertisement syndication |
KR100910517B1 (ko) | 2007-03-21 | 2009-07-31 | 엔에이치엔비즈니스플랫폼 주식회사 | 브라우저-로그인 맵핑을 통한 타겟 인벤토리 확장 방법 및시스템 |
US9063979B2 (en) | 2007-11-01 | 2015-06-23 | Ebay, Inc. | Analyzing event streams of user sessions |
US9224151B2 (en) | 2008-06-18 | 2015-12-29 | Microsoft Technology Licensing, L.L.C. | Presenting advertisements based on web-page interaction |
US8769397B2 (en) | 2008-06-26 | 2014-07-01 | Google Inc. | Embedding macros in web pages with advertisements |
US8326630B2 (en) | 2008-08-18 | 2012-12-04 | Microsoft Corporation | Context based online advertising |
CA2762967A1 (en) | 2009-05-21 | 2010-11-25 | Intertrust Technologies Corporation | Content delivery systems and methods |
US8442863B2 (en) | 2010-06-17 | 2013-05-14 | Microsoft Corporation | Real-time-ready behavioral targeting in a large-scale advertisement system |
JP2015222458A (ja) | 2014-05-01 | 2015-12-10 | 株式会社Mobile360 | 広告買付装置及び広告買付方法 |
JP5905551B1 (ja) | 2014-09-19 | 2016-04-20 | ヤフー株式会社 | 情報処理装置、端末装置、情報処理方法及び情報処理プログラム |
US10003499B2 (en) * | 2015-09-09 | 2018-06-19 | International Business Machines Corporation | Client-configured server class tracing to a configurable threshold |
-
2017
- 2017-12-22 US US15/852,220 patent/US11030221B2/en active Active
-
2018
- 2018-12-21 CN CN201880088631.XA patent/CN111699487A/zh active Pending
- 2018-12-21 EP EP18829954.9A patent/EP3729295A1/en active Pending
- 2018-12-21 CA CA3086635A patent/CA3086635A1/en active Pending
- 2018-12-21 WO PCT/GB2018/053740 patent/WO2019122917A1/en unknown
- 2018-12-21 JP JP2020554949A patent/JP7463286B2/ja active Active
- 2018-12-21 AU AU2018387423A patent/AU2018387423B2/en active Active
- 2018-12-21 KR KR1020207021432A patent/KR20200131809A/ko unknown
-
2021
- 2021-05-10 US US17/316,527 patent/US11416525B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020169971A1 (en) * | 2000-01-21 | 2002-11-14 | Tomoyuki Asano | Data authentication system |
CN101499100A (zh) * | 2008-01-18 | 2009-08-05 | 捷讯研究有限公司 | 电子商务应用中校验转换的方法和设备 |
US20160098265A1 (en) * | 2009-09-30 | 2016-04-07 | Zynga Inc. | Apparatuses, Methods and Systems for A Social Networking Application Updater |
US20110283355A1 (en) * | 2010-05-12 | 2011-11-17 | Microsoft Corporation | Edge computing platform for delivery of rich internet applications |
CN102629932A (zh) * | 2012-02-22 | 2012-08-08 | 张洋 | 通过web应用程序控制嵌入式设备的方法 |
EP2800332A1 (en) * | 2013-05-02 | 2014-11-05 | Alcatel Lucent | Seamlessly enabling privacy in online recommendation services |
US20150051986A1 (en) * | 2013-08-16 | 2015-02-19 | OpenX Technologies, Inc. | System Architecture and Methods for Facilitating Client-Side Real-Time Auctions of Advertising Inventory |
US9280749B1 (en) * | 2013-10-08 | 2016-03-08 | Google Inc. | Determining an attribute of an online user using user device data |
Also Published As
Publication number | Publication date |
---|---|
CA3086635A1 (en) | 2019-06-27 |
JP7463286B2 (ja) | 2024-04-08 |
AU2018387423B2 (en) | 2024-05-02 |
US20190197179A1 (en) | 2019-06-27 |
EP3729295A1 (en) | 2020-10-28 |
US20210263955A1 (en) | 2021-08-26 |
US11416525B2 (en) | 2022-08-16 |
WO2019122917A1 (en) | 2019-06-27 |
KR20200131809A (ko) | 2020-11-24 |
US11030221B2 (en) | 2021-06-08 |
JP2021508400A (ja) | 2021-03-04 |
AU2018387423A1 (en) | 2020-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11290413B2 (en) | Trend detection for content targeting using an information distribution system | |
US10445774B2 (en) | Geotargeting of content by dynamically detecting geographically dense collections of mobile computing devices | |
KR102219344B1 (ko) | 자동 광고 대행 서버, 자동으로 광고 매체를 위한 캠페인 정보를 생성하여 광고의 집행을 대행하는 방법 및 상기 방법을 실행하기 위한 컴퓨터 프로그램 | |
US10395257B2 (en) | System and method for interacting with a social network | |
JP7463286B2 (ja) | 高速かつ安全なコンテンツ提供のためのシステム | |
US10664484B2 (en) | Computerized system and method for optimizing the display of electronic content card information when providing users digital content | |
KR102191486B1 (ko) | 자동 광고 대행 서버, 자동으로 광고 매체를 위한 캠페인 정보를 생성하여 광고의 집행을 대행하는 방법 및 상기 방법을 실행하기 위한 컴퓨터 프로그램 | |
US20140032306A1 (en) | System and method for real-time search re-targeting | |
WO2016049170A1 (en) | Providing data and analysis for advertising on networked devices | |
US20160189207A1 (en) | Enhanced online content delivery system using action rate lift | |
US9734519B2 (en) | Native advertisement smart injection | |
US20140229289A1 (en) | Enhanced shared screen experiences for concurrent users | |
US10922722B2 (en) | System and method for contextual video advertisement serving in guaranteed display advertising | |
US12079262B2 (en) | Computerized system and method for interest profile generation and digital content dissemination based therefrom | |
US20200273079A1 (en) | Automatic electronic message data analysis method and apparatus | |
US20160117727A1 (en) | Adaptive retargeting | |
US10713683B2 (en) | Outlier data detection | |
CN106796695A (zh) | 应用安装的转化和识别 | |
US9805392B2 (en) | Simulating online user activity to generate an advertising campaign target audience list | |
US20180336598A1 (en) | Iterative content targeting | |
US20150242886A1 (en) | Ad impression availability and associated adjustment values | |
US20240143698A1 (en) | Electronic information extraction using a machine-learned model architecture method and apparatus | |
US12020281B2 (en) | Systems and methods for dynamic link redirection | |
US20240005362A1 (en) | Systems and methods for dynamic link redirection |
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 |