用于基于使用对计算机间接地分类的系统和方法
【专利摘要】服务器计算机接收对应于用户发布的web请求的web请求事件。每个web请求事件包括:cookie,识别发起对应web请求的用户计算机;IP地址,对应于用户计算机;以及日期/时间戳,指示在web服务器处何时接收到对应web请求。服务器存储web请求事件。服务器选择web请求事件的子集,其所有都与相同cookie相关联。然后,服务器计算对应于用户计算机的地理位置,其中,计算使用与web请求事件相关联的IP地址。服务器确定对应于web请求的本地时间和周内日期。然后,服务器至少部分地基于对应于子集中的web请求事件的使用模式,对用户计算机分类。
【专利说明】用于基于使用对计算机间接地分类的系统和方法
【技术领域】
[0001]所公开的实施例一般地涉及web浏览活动,并且更特别地涉及基于web浏览活动对用户计算机分类。
【背景技术】
[0002]用户通过互联网访问大量的各种网站。通常,接收请求的web服务器对用户知之甚少或者完全不知,从而必须一般性地作出响应。在一些情况下,用户明确地提供诸如对在线问题响应的信息。使用用户提供的信息易发生错误,并且对于用户来说是很麻烦的。在其他情况下,基于先前活动,随着时间推移而收集关于用户的信息。
[0003]然而,即使具有关于用户的一些信息,web服务器通常具有很少的关于用户的计算机的信息。
【发明内容】
[0004]所公开的实施例提供对用户的计算机分类的方法,并且由此使web服务器能够向计算机的用户提供更好的信息。在一些实施例中,每个计算机被分类为“家用”计算机、“工作”计算机、“移动”计算机、或智能手机。一旦进行该分类,对请求进行响应的web服务器就可以提供更相关或更好的定向信息。例如,知晓计算机在工作时被使用可以使能对用于网页的广告的更好选择或响应于用户查询的搜索结果的更好选择。该信息还使得可以向用户给出关于其他感兴趣的内容的建议。用户的计算机的分类还使能向广告主提供有价值信息,诸如,不同电视观众段的观看和互联网行为。
[0005]在一些实施例中,在具有一个或多个处理器和存储器的服务器上实现用户的计算机的分类。存储器存储由处理器执行的程序。服务器计算机系统接收对应于由用户发布的web请求的多个web请求事件。每个web请求事件包括:(i) cookie,其识别发起对应web请求的用户计算机;(ii)对应于在发布web请求时的用户计算机的IP地址;以及(iii)日期/时间戳,其指示在web服务器处何时接收到对应web请求。服务器计算机系统存储web请求事件。服务器系统选择多个web请求事件的子集。子集中的所有web请求事件都与单个第一 cookie相关联。然后,对于子集中的每个web请求事件,服务器系统计算对应于用户计算机的地理位置,其中,计算使用与web请求事件相关联的IP地址。服务器系统使用所存储的web请求事件的日期/时间戳和所计算的地理位置来确定对应于web请求的本地时间和本地周内日期。然后,服务器系统至少部分地基于对应于子集中的web请求事件的本地时间和本地周内日期数据的使用模式来对用户计算机分类。
【专利附图】
【附图说明】
[0006]图1是根据一些实施例的对用户计算机分类的系统的框图。
[0007]图2是根据一些实施例的客户端计算机的功能框图。
[0008]图3是根据一些实施例的日志服务器的功能框图。[0009]图4是根据一些实施例的web服务器的功能框图。
[0010]图5是根据一些实施例的由参与研究小组的小组成员查看的示例性截屏。
[0011]图6至图7是根据一些实施例的用于管理研究小组的程序的示例性截屏。
[0012]图8图示根据一些实施例的用于生成并且关联来自研究小组的调查信息的过程。
[0013]图9A至图9B图示根据一些实施例的示例性过程流。
[0014]类似参考数字贯穿附图的多个图指代相应部件。
【具体实施方式】
[0015]现在详细参考实施例,其示例在附图中图示。在以下详细描述中,阐述了大量特定详情,以提供对本发明的彻底理解。然而,可以在没有这些特定详情的情况下实践本发明,这对于本领域普通技术人员来说是显而易见的。在其他情况下,众所周知的方法、过程、组件和电路未被详细地描述,以不不必要地模糊实施例的多个方面。
[0016]图1中所示的实施例可以用于对用户计算机200分类。如在此使用的,用户计算机200可以是运行web浏览器和访问互联网的任何电子设备。例如,桌上型计算机、膝上型计算机、平板计算机、以及诸如智能手机的许多手持设备。在一些实施例中,用户计算机的分类是“家用计算机”、“工作计算机”、“移动计算机”和“智能手机”。在一些实施例中,存在更多或更少的计算机的分类,诸如组合“移动计算机”(例如膝上型计算机)和“智能手机”的单个分类。如所示,各种用户计算机200、web服务器400、以及日志服务器300提供诸如互联网、局域网、广域网、无线网络等的通信网络100通信。web服务器400提供对用户请求的响应,如以下关于图4更完全描述的。日志服务器300保持用户web请求322的日志320。在一些实施例中,日志服务器300包括基于日志320中的信息来执行计算的模块。这在以下的图3中更完全地描述。
[0017]图2图示典型的客户端计算机200。客户端计算机200通常包括一个或多个处理单元(CPU) 202、一个或多个网络或其他通信接口 204、存储器214、以及用于互连这些组件的一个或多个通信总线212。通信总线212可以包括互连和控制系统组件之间的通信的电路(有时称为芯片集)。客户端计算机200包括例如显示器208的用户接口 206以及诸如键盘和鼠标的一个或多个输入设备210。存储器214可以包括高速随机存取存储器,诸如DRAM,SRAM,DDR RAM或其他随机存取固态存储器设备;并且可以包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备、或其他非易失性固态存储设备。存储器214可以包括从中央处理单元202远程定位的大容量存储。存储器214或替选地存储器214内的非易失性存储器设备包括计算机可读存储介质。在一些实施例中,存储器214或存储器214的计算机可读存储介质存储以下程序、模块和数据结构、或其子集。
[0018]?操作系统216 (例如WINDOWS或MAC OS X),通常包括用于处理各种基本系统服务和用于执行依赖硬件任务的过程;
[0019]?网络通信模块218,被用于经由一个或多个通信网络将客户端计算机200连接至服务器或其他计算设备,所述通信网络诸如互联网、其他广域网、局域网、城域网等;
[0020].web浏览器220,其允许客户端计算机200的用户通过通信网络访问网站和其他资源。在一些实施例中,每个浏览器与唯一浏览器代理330相关联;以及
[0021]?—个或多个cookie222,其在客户端计算机200处提供用于由家庭成员118访问的网站的持久性数据。在一些实施例中,存在特殊分类cookie,其唯一地识别存储cookie的计算机。在一些实施例中,单个分类cookie由多个网页使用。
[0022]参考图3,日志服务器300通常包括一个或多个处理单元(CPU) 302、一个或多个网络或其他通信接口 304、存储器314、以及用于互连这些组件的一个或多个通信总线312。通信总线312可以包括互连和控制系统组件之间的通信的电路(有时被称为芯片集)。日志处理器300可以可选地包括用户接口 306,例如显示器308和键盘310。存储器314可以包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其他随机存取固态存储器设备;并且可以包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备、或其他非易失性固态存储设备。存储器314可以包括远离中央处理单元302定位的大容量存储。存储器314或替选地存储器314内的非易失性存储设备包括计算机可读存储介质。在一些实施例中,存储器314或存储器314的计算机可读存储介质存储以下程序、模块和数据结构、或其子集。
[0023]操作系统316 (例如Linux或Unix),通常包括用于处理各种基本系统服务和用于执行依赖硬件任务的过程。
[0024]?网络通信模块318,被用于经由一个或多个通信网络将日志服务器300连接至服务器或其他计算设备,所述通信网络诸如互联网、其他广域网、局域网、城域网等。
[0025].—个或多个web访问日志320,其存储关于在线web浏览活动的信息。日志320包括web请求记录322的集合。在一些实施例中,每个web请求记录包括:cookie数据324,其识别发布web请求的计算机(例如MAC地址);发布请求的用户计算机的IP地址326 (通常为由用户计算机使用的调制解调器或路由器的IP地址);日期/时间戳328,其指定用户请求何时被发布(通常为在web服务器400处接收web请求时的日期/时间,或者如果从web服务器快速地转发web请求信息,则为在日志服务器处接收web请求信息时的日期/时间);以及浏览器代理330,其识别web浏览器和版本。在一些实施例中,web请求记录322包括替选的日期/时间戳332,其来自发起web请求的用户计算机200。在一些实施例中,更多或更少的数据与每条记录一起被存储在web请求记录322中。
[0026].日期/时间转换模块340,其响应于日志服务器的web请求或位置,基于用户计算机的位置和web服务器的位置,在时区之间转换。
[0027]?位置模块342,其基于分配给计算机的IP地址326,计算用户计算机的地理位置。IP地址326和位置之间的关联可以使用将IP地址范围关联至特定地理位置的数据库。在一些实施例中,当新的IP地址范围被分配或IP地址范围被重新配置到不同地理位置时,关联数据库周期性地被更新。
[0028].分类模块344,其基于用于计算机的使用模式,识别对应于计算机的分类。在一些实施例中,如果主要在非营业时间期间(例如,仅早上、晚上或周末)被使用,则计算机被分类为“家用计算机”。相反地,如果主要在营业时间(例如,周一到周五,8:00-5:00)被使用,一些实施例将计算机分类为“工作计算机”。在一些实施例中,基于浏览器代理,计算机被分类为“智能手机”。例如,web浏览器可以是仅在电话上使用的浏览器。在一些实施例中,当没有其他分类应用时,计算机被分类为“移动计算机”。在不同地理区域中,可以应用不同使用模式。例如,旧金山的标准营业时间可能不同于西班牙的标准营业时间。
[0029]虽然图3示出了日志服务器,但是图3更多地旨在可以存在于一组服务器中的各种特征的功能描述,而不是在此描述的实施例的结构示意图。实际上,并且如本领域普通技术人员认识到的,单独示出的项可以被组合,并且一些项可以被分离。例如,图3中单独示出的一些项可以在单个服务器上被实现,并且单个项可以由一个或多个服务器实现。用于实现日志服务器的服务器的实际数量和特征在它们之间如何被分配将随实现而改变,并且可以部分地依赖于系统在峰值使用段内以及在平均使用段内必须处理的数据业务量。
[0030]参考图4,web服务器400通常包括一个或多个处理单元(CPU) 402、一个或多个网络或其他通信接口 404、存储器414、以及用于互连这些组件的一个或多个通信总线412。通信总线412可以包括互连和控制系统组件之间的通信的电路(有时称为芯片集)。web服务器400可以可选地包括用户接口 406,例如显示器408和键盘410。存储器414可以包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其他随机存取固态存储器设备;并且可以包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备、或其他非易失性固态存储设备。存储器414可以包括远离中央处理单元402定位的大容量存储。存储器414或替选地存储器414内的非易失性存储设备包括计算机可读存储介质。在一些实施例中,存储器414或存储器414的计算机可读存储介质存储以下程序、模块和数据结构、或其子集。
[0031].操作系统416 (例如Linux或Unix),通常包括用于处理各种基本系统服务和用于执行依赖硬件任务的过程。
[0032] ?网络通信模块418,被用于经由一个或多个通信网络100将web服务器400连接至服务器或其他计算设备,所述通信网络诸如互联网、其他广域网、局域网、城域网等。
[0033].HTTP服务器模块420 (例如Apache Tomcat),其接收来自用户的web请求并且通过提供网页进行响应。虽然多个网页请求使用HTTP,但是实施例还可以使用其他网络协议,诸如HTTPS或FTP。
[0034]?网页储存库422,其包括可以由用户请求的网页。依照请求,网页可以被静态或动态地构造。在很多情况下,网页包括某些固定内容和在响应用户请求时被填充的某些动态内容。
[0035].web请求存储424,其保持关于web请求的信息,直到请求被转发到日志服务器300为止。在一些实施例中,web请求存储是易失性存储器,这是因为web请求被立即转发到日志服务器300。在一些实施例中,web请求存储424是数据库,并且在被发送到日志服务器300之前,web请求记录322在某个时间段内被累积。在一些实施例中,存储在各web服务器处的web请求记录322在发送到日志服务器300之后被移除。在其他实施例中,web请求记录322被保持在web服务器处。
[0036]?日期/时间模块426,其在请求被接收时将日期/时间戳分配给web请求。在一些实施例中,利用高度稳定的时钟系统来保证所生成的日期/时间戳的准确度。
[0037]虽然图4示出web服务器,但是图4更多地旨在可以在一组服务器中存在的各种特征的功能描述,而不是在此描述的实施例的结构示意图。实际上,并且如由本领域普通技术人员认识到的,单独所示的项可以被组合,并且一些项可以被分离。例如,图4中单独示出的一些项可以在单个服务器上被实现,并且单个项可以由一个或多个服务器实现。用于实现web服务器的服务器的实际数量、以及特征在它们之间如何被分配可以随实现而改变,并且可以部分地取决于系统在峰值使用段内以及在平均使用段内必须处理的数据业务量。
[0038]在此描述的每种方法可以由存储在计算机可读存储介质中并且由一个或多个服务器或客户端的一个或多个处理器执行的指令执行。图1至图4中所示的每个操作可以对应于存储在计算机存储器或计算机可读存储介质中的指令。
[0039]虽然一些实施例使用图1中所图示的web服务器400和日志服务器300,但是功能可以以各种方式分布到一个或多个服务器。在一些实施例中,日志服务器300和web服务器400的所有功能都在单个服务器上被实现。在其他实施例中,被图示用于日志服务器300和web服务器400的功能在三个或更多计算机之间被分配。在一个这样的实施例中,日志服务器包括仅具有一个数据库引擎,并且日期/时间模块340、位置模块342和分类模块344的分析操作在第三服务器上实现。在一些实施例中,日期/时间模块426在日志服务器上实现,使得不在每个单独web服务器上要求日期/时间模块。当关于web请求的信息被快速地转发至日志服务器300时,用于日期/时间模块426的该结构工作。
[0040]计算机的分类对于同意参加评级小组的用户来说是有价值的。“单个源小组”是一体化(all-1n-one)评级系统,其测量跨越电视和互联网的电视观众。
[0041]调查是获得评级信息的一种方式。例如,图5中示出示例性调查的样页。在典型调查工具500中,存在实际显示在计算机上的三个广告504、以及未被显示的另外三个广告(用作控制组)。消费者在2到3分钟内完成调查,并且指示记住哪些广告。工具500询问(502)小组成员问题,并且指示(502)小组成员如何使用该工具。小组成员对每个问题506回答(508)是或否。小组成员可以返回(510)到先前广告,或者在回答所有问题之后提交(512)调查。
[0042]另外,为了这样的调查对于广告主有用,所选择的小组成员必须在目标人口内(例如,在正确人口统计段中并且具有合适观看历史和/或感兴趣的集合),并且他们必须愿意完成调查工具。按照惯例,识别合适小组成员要求使用长的筛选过程,包括编写的和/或在线调查表、以及小组成员完成调查的动机。虽然这些方法可能对于小的小组有效,但是如果被用于大的小组(例如,生成用于那些大的小组的调查),它们是很麻烦的。来自大的小组的信息特别有用,这是因为其可以被聚集并且使用以发现大组用户的倾向。该信息还可以提供用于定向广告的有用信息和用于大量个人的内容。
[0043]例如,在日志服务器300处实现的方法可以对用于个人的web请求记录322进行搜索,以生成用于各小组成员的调查工具500并且识别可能的小组成员。例如,可能的小组成员可以基于对web广告的点进历史的记录、以及所观看的媒体内容的日志被识别。一旦被识别,调查员就可以通过附加状态和批准屏幕(诸如,在图6和图7中所图示的屏幕),与小组成员和预期小组成员交互。小组成员反馈还可以与IP地址326相关联,并且被用于定制随后的调查工具。在一些实施例中,该过程还可以用于识别并且将小组成员或计算机放在白名单上,指不清除和加入调查的意愿。
[0044]图6图示为交互web表格的调查小组广告批准工具600。表格600指示(602)小组成员如何使用该表格。表格显示一个或多个媒体摘要604,其可以是电影剪辑、来自电影剪辑的各个帧、或单个图像(例如,来自基于web的广告)。每个媒体摘要广告604具有对应广告ID606、以及对应状态608。在一些实施例中,状态指示小组成员考虑广告对于其将被批准的观众(例如,什么年龄,诸如“所有”、“18+”、或“21+”)。在一些实施例中,表格600包括最后(最新)状态改变的指示符610。在一些实施例中,关于最新状态改变的信息包括作出改变的小组成员的名称612、以及作出改变的日期/时间614。一些实施例还包括改变注释616,其提供用于小组成员编写附加注释的自由表格空间618。
[0045]图7图示问题历史和广告批准工具700,其在一些实施例中用于跟踪批准以及由小组成员识别的问题。在所图示的实施例中,表格700与对应广告ID704 —起显示广告702,广告ID704唯一地识别广告。在一些实施例中,广告702与询问小组成员是否已经看到广告702的问题706 —起被显示。在这些实施例中,存在回答问题的空间708,其可以被实现为一对是/否单选按钮。在一些实施例中,表格包括在该组问题中向前或向后移动的控制(未示出)。
[0046]表格700包括问题历史部分710,其使小组成员能够报告具有调查问题的问题。在所图示的实施例中,小组成员可以指定问题分类716和附加评论720。在一些实施例中,还存在用于每个问题的日期域712。在优选实施例中,表格在输入期间或当被保存时自动地填充日期714。小组成员指定问题分类718 (例如,在所示实施例中的“其他”)和评论722。
[0047]表格700中的广告批准部分724类似于图6。因为图7图示组合问题历史/广告批准表格700,存在可用于广告批准的较少空间。在所图示的实施例中,批准信息对应于表格700上示出的一个广告702。在该实施例中,广告ID726被重复(复制广告ID704)。一些实施例省略该重复。广告批准部分724还包括批准状态728。批准状态728可以指示小组成员认为广告合适的年龄范围。类似于图6的实施例,广告批准部分724包括最后批准状态改变730,其通常包括日期732、改变后的状态736、改变的原因740、以及作出改变的小组成员的名称744。用于这些域(日期734、状态738、原因742、以及小组成员746)的值可以被显示在域标记下面。在优选实施例中,日期和小组成员名称由表格自动地填充。在一些实施例中,原因740是可选地,并且从而原因域742可以是如表格700中所图示的空白。
[0048]使用由日志服务器300保持的日志信息,一些实施例被配置为自动地生成新的调查并且另外监视调查的进展。例如,图8示出用于自动生成调查工具的过程的示例性过程流。该流程采用日志文件,其在本示例中是XML文件。日志文件表示用于一个或多个家庭的电视观看和web使用数据,以生成用于小组成员的广告观看信息并且从白名单信息识别用于特定调查的小组成员。使用该信息,流程然后可以生成用于白名单小组成员的新调查。换句话说,使用相关联的电视和web数据以及小组成员信息,诸如白名单信息,流程自动地生成用于调查每个家庭成员的合适广告(包括已观看广告并且控制广告)。
[0049]当图8中所图示的处理流800开始(802)时,两个独立操作发生。在处理流800的一个分支中,生成来自市场研究系统的现有调查的状态(804)。在一些实施例中,生成(804)包括创建小组成员和调查结果的XML文件。另外,过程流800生成(806)用于现有调查的调查结果文件。调查结果文件可以包括部分完成的调查,或者可以限于完全完成的调查。
[0050]在生成调查状态(804)之后,一些实施例处理(810)所创建的小组XML文件。虽然处理(810)小组XML文件,但是过程流800生成(812)用于小组成员的广告观看信息,并且处理(814)来自市场研究系统的小组成员白名单。在一些实施例中,小组成员白名单识别满足合格要求(例如,具有合适硬件和软件)的电视订户。使用广告观看信息和小组成员白名单,过程800生成(816)用于小组成员的新调查。另外,过程流800处理来自市场研究系统的调查状态更新。当调查状态更新被处理(808),生成用于小组成员的新调查(816),和生成用于现有调查的调查结果(806)时,过程流800结束(818)。
[0051]图9A和图9B图示根据一些实施例的示例性过程流。方法900在没有来自用户的明确输入的情况下对用户计算机分类(902)。不同于直接要求用户对计算机分类,方法900在此基于对用户的web活动的评估间接地对计算机分类。该间接方法具有多个有益方面。首先,在不给用户增加负担或者打扰用户的正常任务的情况下,进行确定。第二,因为分类基于实际使用,很少经受用户的不正确分类。如以下更详细地说明的,一些实施例基于用户何时访问计算机对计算机分类。日期时间和周几提供关于计算机正被使用的信息。在其他实施例中,分类基于其他信息,诸如用户访问的网站。
[0052]当用户发布web请求时,web请求被记录在处理请求的web服务器处、或者单独日志服务器300处、或者两者处。在图9A和图9B中所图示的实施例中,日志服务器300接收(904)对应于由用户发布的web请求的多个web请求事件。web请求是由用户发布的实际请求,诸如,用于网页或搜索查询的HTTP请求。web请求事件包括关于web请求的信息。每个web请求事件322包括(906)识别发起对应web请求的用户计算机的cookie324。cookie324在此被称为分类cookie,这是因为其在分类过程900中被使用。分类COOkie324使用诸如MAC地址的唯一标识符来唯一地识别发起请求的计算机。在一些实施例中,唯一计算机标识符由日志服务器300(或其他中央服务器)生成。分类COOkie324被重新用于多个web请求,允许日志服务器关联来自相同用户计算机的多个请求。
[0053]每个web请求事件322还包括(908)在发布web请求时对应于用户计算机的IP地址326。注意,IP地址326通常不是分配给用户计算机的IP地址,这是因为在通过互联网被路由之前web请求通常通过内部网络被发送。来自内部网络的IP地址不提供关于计算机的地理位置的信息,这是因为相同内部IP地址可以在任何地方被使用。例如,遍及世界的多个计算机可以被分配IP地址192.168.1.5。因此,相关IP地址326是处理来自用户计算机的web业务的路由器的外部IP地址。因为IP地址326是通常与连接至互联网的路由器或调制解调器相关联的IP地址,所以相同IP地址通常应用至来自多个用户计算机的web请求事件322。这在此是可以的,因为IP地址326将被用于建立地理位置,而不是唯一地识别用户计算机200。分类cookie324唯一地识别用户计算机200。
[0054]对应于用户计算机的IP地址326经受改变,并且从而IP地址与每次事务相关联。如上所述,相关IP地址326是将用户计算机连接至互联网的路由器或调制解调器的IP地址,并且不频繁地改变。然而,当调制解调器或路由器被重新启动时,可能分配用于调制解调器或路由器的新IP地址。
[0055]每个web请求事件322包括(910)指示在web服务器处何时接收到对应web请求事件的日期/时间戳328。在该实施例中,web服务器400处的日期/时间有效地是用于在用户计算机处发布请求的日期/时间的代理。因为在web服务器400处发送请求和接收请求之间存在很小延迟,两个日期/时间戳是有效的。虽然一些实施例使用来自用户计算机的日期/时间,但是用户计算机上的时钟是不可靠的并且与实际时间可能不一致。例如,最初被配置成处于太平洋时间的用户计算机可以物理上位于不同时区,诸如东部时间。在其他实施例中,日期/时间戳328是在日志服务器300处接收web请求事件的日期/时间。这些实施例具有仅要求日志服务器300上的时钟是准确的而不要求可能大量web服务器400上的时钟的优点。只要web请求事件322被直接转发到日志服务器,日志服务器300处的时间就反映web请求何时被发布。
[0056]在一些实施例中,每个web请求事件322包括(912)识别对应于用户计算机200的浏览器代理330的信息。浏览器代理330识别发布web请求的web浏览器,并且通常还包括web浏览器的版本号。
[0057]日志服务器300将web请求事件322存储(914)在web访问日志320中。在收集并且存储web请求事件322之后,日志服务器300开始一系列操作,以对对应于web请求事件的用户计算机分类。web服务器300选择(916)所存储的web请求事件322中的所有均与单个分类cookie324相关联的子集。因为分类C00kie唯一地识别用户计算机,子集中的所有web请求事件都与单个用户计算机200相关联。
[0058]对于子集中的每个(918) web请求事件322,日志服务器300使用IP地址326计算(920)对应于用户计算机200的地理位置。在一些实施例中,计算使用使IP地址的范围与地理位置相关联的查找表或字典。一个目标在于建立可应用至用户计算机的位置的时区,并且从而不要求准确位置。例如,对于美国的位置,通常足以知晓IP地址被分配的城市和状态。
[0059]对于子集中的每个(918)web请求事件322,日志服务器300使用所存储的日期/时间328和所计算的用户计算机200的地理位置来确定(922)对应于web请求的本地时间和周内日期。因为web服务器400 (或日志服务器300)的时区被知晓,并且用户计算机200的时区从所计算的地理位置被知晓,两个时区之间的偏移量被确定。该偏移量(其可以是负的)被加至日期/时间戳328,以确定web请求被发布的本地日期和时间。使用日历,本地日期对应于唯一周内日期。
[0060]在一些实施例中,还收集和存储(914)附加发起日期/时间戳332。该替选日期/时间戳332识别web请求被发布时的用户计算机200的日期/时间。虽然该替选日期/时间戳332与上述确定(922)相比可能不太可靠,但是当IP地址326不足以确定用户计算机200的地理位置时,其可以被使用。
[0061]然后,日志服务器300至少部分地基于对应于子集中的web请求事件322的本地时间和本地周内日期数据的使用模式,对用户计算机200分类(924)。在一些实施例中,对计算机分类包括将计算机分类分配(926)给用户计算机200。例如,用户计算机200可以被分类(928)为家用计算机、工作计算机、或移动计算机。在一些实施例中,当web请求事件基本发生在正常营业时间内时,用户计算机200被分类(934)为工作计算机。例如,正常营业时间可以是(936)周一到周五的上午9:00到下午5:00。在一些实施例中,当web请求基本发生在除了正常营业时间之外的时间时,用户计算机200被分类(938)为家用计算机。如上所述,在一些实施例中,正常营业时间是(940)是周一到周五的上午9:00至下午5:00。在一些实施例中,正常营业时间被区域性地定义。正常营业时间对于不同国家不同,并且正常营业时间甚至在国家内改变。例如,在加利福尼亚,正常工作周是40个小时,然而在美国东海岸的很多地方,标准工作周是37.5小时。在一些实施例中,当web请求的主要部分发生在正常营业时间内和在除了正常营业时间之外的时间内时,用户计算机200被分类(942)为移动计算机。例如,用户可以具有在办公室和家庭中使用的膝上型计算机。在一些实施例中,除了“移动计算机”之外的分类标记被用于对在家庭和工作时使用的计算机分类。例如,在家庭工作的人可以具有用于工作和用于个人活动的单个计算机。因为这样的“混合使用”计算机不需要是移动的,一些实施例将这些计算机称为“混合使用”。
[0062]在一些实施例中,日志服务器300至少部分地基于与用户计算机200相关联的浏览器代理330,对用户计算机200分类(932)。因为许多智能手机设备具有桌上型或膝上型计算机的多个功能,所以这样的手机包括在被认为是“用户计算机”200的设备集中。实际上,具有web浏览器和连接至互联网的能力的任何电子设备都被认为是用户计算机200。浏览器代理330识别在设备200上运行的web浏览器,并且通常还识别浏览器版本。在一些实施例中,日志服务器300将用户计算机200分类(930)为移动手机。在一些实施例中,用户计算机200被分类为移动手机使用浏览器代理信息330。
[0063]在一些实施例中,web服务器400从用户计算机200接收对网页的随后请求。web服务器200选择(946)用于网页的信息项,其中,选择至少部分地基于用户计算机200的分类。信息项可以是广告、搜索结果、按压释放或其他新闻公告、或用于在运行时间动态生成的网页的任何其他内容。然后,web服务器200返回(948)具有所选择的信息项的网页。在一些实施例中,信息项的选择由日志服务器400或另一个服务器(在图1中未示出)执行。
[0064]为了说明的目的,以上说明参考特定实施例被描述。然而,以上说明性论述不是穷尽的或者将本发明限于所公开的准确形式。考虑以上教导,多个修改和改变是可以的。实施例被选择和描述,以最好地解释本发明的原理及其实际应用,由此当适于所预期的特定使用时,使本领域技术人员能够最好地利用具有多种修改的本发明和多种实施例。
【权利要求】
1.一种对用户计算机间接地分类的方法,包括: 在服务器计算机系统处接收与用户发布的Web请求相对应的多个web请求事件,其中每个web请求事件包括: i)cookie,所述cookie识别发起对应web请求的用户计算机; ii)IP地址,所述IP地址与在发布所述web请求时的所述用户计算机相对应;以及 iii)日期/时间戳,所述日期/时间戳指示在web服务器处何时接收到对应web请求; 存储所述web请求事件; 选择所述多个web请求事件的子集,其中所述子集中的每个web请求事件与单个第一cookie相关联; 对于所述子集中的每个web请求事件: 使用与所述web请求事件相关联的所述IP地址,计算与所述用户计算机相对应的地理位置;以及 使用所存储的所述web请求事件的日期/时间戳和所计算的地理位置,确定与所述web请求相对应的本地时间和本地周内日期;以及 至少部分地基于与所述子集中的所述web请求事件相对应的所述本地时间和本地周内日期数据的使用模式,对所述用户计算机分类。
2.根据权利要求1所述的方法,其中,对所述用户计算机分类包括将计算机分类分配给所述用户计算机。
3.根据权利要求1所述的方法,其中,所述用户计算机被分类为家用计算机、工作计算机、或移动计算机。
4.根据权利要求1所述的方法,其中,所述用户计算机被分类为移动电话。
5.根据权利要求1所述的方法,其中,每个web请求事件进一步包括识别与所述用户计算机相对应的浏览器代理的信息。
6.根据权利要求5所述的方法,其中,对所述用户计算机分类进一步至少部分地基于所述浏览器代理。
7.根据权利要求1所述的方法,其中,当所述web请求事件基本发生在正常营业时间期间时,所述用户计算机被分类为工作计算机。
8.根据权利要求6所述的方法,其中,正常营业时间是星期一至星期五的上午9:00到下午5:00。
9.根据权利要求1所述的方法,其中,当所述web请求基本发生在除了正常营业时间之外的时间时,所述用户计算机被分类为家用计算机。
10.根据权利要求8所述的方法,其中,正常营业时间是星期一至星期五的上午9:00到下午5:00。
11.根据权利要求1所述的方法,其中,当所述web请求的主要部分发生在正常营业时间期间以及所述web请求的主要部分发生在除了正常营业时间之外的时间期间时,所述用户计算机被分类为移动计算机。
12.根据权利要求1所述的方法,进一步包括: 从所述用户计算机接收对网页的随后请求; 选择用于所述网页的信息项,其中,所述选择至少部分地基于所述用户计算机的分类;以及 返回具有所选择的信息项的所请求的网页。
13.一种用于对用户计算机间接地分类的服务器计算机系统,包括: 存储器; 一个或多个处理器;以及 一个或多个程序,所述一个或多个程序存储在所述存储器中并且被配置用于由所述一个或多个处理器执行,所述一个或多个程序包括: 用于在所述服务器计算机系统处接收与用户发布的web请求相对应的多个web请求事件的指令,其中,每个web请求事件包括: i)cookie,所述cookie识别发起对应web请求的用户计算机; ii)IP地址,所述IP地址与在发布所述web请求时的所述用户计算机相对应;以及 iii)日期/时间戳,所述日期/时间戳指示在web服务器处 何时接收到对应web请求; 用于存储所述web请求事件的指令; 用于选择所述多个web请求事件的子集的指令,其中,所述子集中的每个web请求事件与单个第一 cookie相关联; 用于处理所述子集中的每个web请求事件的指令,包括: 用于使用与所述web请求事件相关联的所述IP地址,计算与所述用户计算机相对应的地理位置的指令;以及 用于使用所存储的所述web请求事件的日期/时间戳和所计算的地理位置,确定与所述web请求相对应的本地时间和本地周内日期的指令;以及用于至少部分地基于与所述子集中的所述web请求事件相对应的所述本地时间和本地周内日期数据的使用模式,对所述用户计算机分类的指令。
14.根据权利要求13所述的服务器计算机系统,其中,用于对所述用户计算机分类的指令包括用于将计算机分类分配给所述用户计算机的指令。
15.根据权利要求13所述的服务器计算机系统,其中,所述用户计算机被分类为家用计算机、工作计算机、或移动计算机。
16.根据权利要求13所述的服务器计算机系统,其中,所述用户计算机被分类为移动电话。
17.根据权利要求13所述的服务器计算机系统,其中,每个web请求事件进一步包括识别与所述用户计算机相对应的浏览器代理的信息。
18.根据权利要求17所述的服务器计算机系统,其中,用于对所述用户计算机分类的指令进一步包括用于至少部分地基于所述浏览器代理执行所述分类的指令。
19.根据权利要求13所述的服务器计算机系统,其中,用于对用户计算机分类的指令包括:用于当所述web请求事件基本发生在正常营业时间期间时,将所述用户计算机分类为工作计算机的指令。
20.根据权利要求19所述的方法,其中,正常营业时间是星期一至星期五的上午9:00到下午5:00。
21.根据权利要求13所述的服务器计算机系统,其中,用于对用户计算机分类的指令包括:用于当所述web请求基本发生在除了正常营业时间之外的时间时,将所述用户计算机分类为家用计算机的指令。
22.根据权利要求21所述的服务器计算机系统,其中,正常营业时间是星期一至星期五的上午9:00到下午5:00。
23.根据权利要求13所述的服务器计算机系统,其中,用于对用户计算机分类的指令包括:用于当所述web请求的主要部分发生在正常营业时间期间并且所述web请求的主要部分发生在除了正常营业时间之外的时间期间时,将所述用户计算机分类为移动计算机的指令。
24.根据权利要求13所述的服务器计算机系统,进一步包括: 用于从所述用户计算机接收对网页的随后请求的指令; 用于选择用于所述网页的信息项的指令,其中,所述选择至少部分地基于所述用户计算机的分类;以及 用于返回具有所选择的信息项的所请求的web的指令。
25.一种非暂时性计算机可读存储介质,存储将由服务器计算机系统执行的一个或多个程序,所述一个或多个程序包括: 用于在所述服务器计算机系统处接收与用户发布的web请求相对应的多个web请求事件的指令,其中,每个web请求事件包括: i)cookie,所述cookie识别发起对应web请求的用户计算机; ii)IP地址,所述IP地址与在发布所述web请求时的所述用户计算机相对应;以及 iii)日期/时间戳,所述日期/时间戳指示在web服务器处何时接收到对应web请求; 用于存储所述web请求事件的指令; 用于选择所述多个web请求事件的子集的指令,其中,所述子集中的每个web请求事件与单个第一 cookie相关联; 用于处理所述子集中的每个web请求事件的指令,包括: 用于使用与所述web请求事件相关联的所述IP地址,计算与所述用户计算机相对应的地理位置的指令;以及 用于使用所存储的所述web请求事件的日期/时间戳和 所计算的地理位置,确定与所述web请求相对应的本地时间 和本地周内日期的指令;以及 用于至少部分地基于与所述子集中的所述web请求事件相对应的所述本地时间和本地周内日期数据的使用模式,对所述用户计算机分类的指令。
【文档编号】G06F17/00GK103917969SQ201280054521
【公开日】2014年7月9日 申请日期:2012年9月7日 优先权日:2011年9月13日
【发明者】西蒙·麦克尔·罗韦 申请人:谷歌公司