跟踪客户端与网络资源交互并创建客户端配置和资源数据库的方法和设备的制作方法

文档序号:6415619阅读:201来源:国知局
专利名称:跟踪客户端与网络资源交互并创建客户端配置和资源数据库的方法和设备的制作方法
技术领域
本发明涉及的方法和设备用来监控客户端使用和交互从计算机网络服务器下载的资源,存储所监控的数据,创建包括按用户索引的配置和/或资源识别码的数据库,以及产生基于客户端配置的定制资源。
背景技术
设计成允许简化的基于图形用户界面来访问国际互联网和万维网上的电子信息资源的软件包开发,导致了目前在公共计算机网络上可获取的信息量的惊人的增长。然而,不象高度控制的私有计算机网络,监控用户与公共网络的网络资源交互是很困难的。结果,对公共网络上的个人服务器而言难以确定个人用户与他们的资源交互的时间长短,也难以确定已经下载的信息量的多少。对个人服务器而言,同样困难的是如何发送专门信息给特定的受众或查明公共网络上的个人用户的身份。
许多私有网络用来监控客户端使用和交互的技术无法借用到公共网络。比如,用户访问私有网络中的服务器通常通过使用由服务器提供的唯一的标识号。个人用户与网络交互的细节由驻留在服务器的进程严密监控,历史数据库被自动产生并不断更新来跟踪个人用户所访问的信息的特性和数量以及他们的接通时间。通常用这些信息来维护一个按用户索引的列表数据库。
但是,在公共计算机网络中,使用服务器驻留监控技术可能会受到严格地限制。在一些公共网络中,用户通过服务提供商,实际上可以无限制地访问无限的服务器,在这些服务器和客户机之间通常没有永久性的连接。监控个人用户的对每个客户机下载的信息的性质和数量并非易事,服务器一般只能捕获有限的涉及个人用户与网络交互的信息(如所谓的网络ID和客户机ID)。
主要是由于缺乏可用于公共网络上个人服务器的先进监控技术,通常在毫无目标的基础上同样的信息发送到所有的客户端。换言之,不管个人用户是否感兴趣,把同样的信息下载到向服务器访问特定资源的所有用户。因此有必要使公共网络上的服务器有能力自动监控用户下载的资源的使用和交互,以便有目标的分发信息。
尽管目前已有各种获取关于用户偏好的信息方法,但没有一种是自动的。比如,被称做“可定制主页”的应用程序允许用户通过请求服务器做出特定的选择。当这么作过的用户晚些时候再来访问该服务器时,服务器根据用户以前的选择列出供下载的信息。还有更专门化的,用户访问一个称作“网页”的特定服务器,他或她被要求通过选择不同的偏好来填写空白表格,比如所喜欢的网站的链接,对什么感兴趣(如娱乐,体育)等。然后用户发送该信息给服务器,即通过点击表格上的所谓“发送”按钮来使客户端传送信息给服务器。服务器返回一个带响应头的网页,它创建或“设置”位于客户机上的一个文件的ID域(该文件被称作“客户端ID”或“饼干(cookie)”)来包含关于该用户偏好的信息。当用户后来返回到同一服务器的指定的统一资源定位器或“URL”时,带有预先设置偏好信息的该“客户端ID”或“饼干(cookie)”在HTTP申请头中被传送到服务器,然后服务器根据用户指定信息返回所罗列的网页。比如,该应用程序可参见A.Gundavaram,万维网的CGI编程,O’ReillyPress,1996.
尽管“可定制主页”便于在有限目标的基础上分发信息,但它不能自动确定用户的兴趣,而且要求用户指定各种偏好也带来诸多不便。进而言之,使用可定制主页局限于个人网站,不能“扩展”到不同服务器的多种资源。换言之,尽管可定制主页可使用位于单一服务器上的特定资源,它不能满足公共网络上其它服务器的各种要求。一些服务器使用该技术的一个变种来下载可执行程序。比如,G.Cornell和C.S.Horstmann,在Sunsoft1996年出版的”核心Java”上描述的一个类似的应用包括如何生成客户机的“定单表格”的方法。在该应用中,客户机从服务器调用一个网页,该服务器的一个可执行程序的嵌入链接被下载到客户机并在客户机上执行。当该程序在客户机上执行时,它连接到服务器并获取货物及其价格的列表。该程序允许用户订购各种货物并要求用户填写表格,以便列表。用户“点击”填好的表格上的发送按钮来传送信息给服务器。与可定制主页类似,这种获取用户特定数据的方法需要用户的主动参与,而且不能自动确定用户的偏好和兴趣。
除了,从市场观点来看,不能在目标化的基础上分发信息外,个人服务器的有限的监控能力,使服务器和管理员难以确定用户浏览他们信息的时间长短和用户下载他们的信息量的多少,从而能够对用户使用和交互网络资源进行列表和分析这些资源的价值和有效性。结果是,公共网络的服务器给所有客户端提供的大多数信息是一样的。另外,尽管目前有可能在同一资源中跟踪用户连接,但是没有标准的方法来跟踪不同服务器上多种资源的用户连接。比如,用户浏览第一个资源并“点击”位于不同服务器上的第二个资源的连接是公共网络上常有的事。在这种情况下,第二个资源被下载而第一个资源要么被抛弃要么被保存在幕后。但是,通常没有统一的方法来监控该种事件。另外,尽管目前有可能跟踪某一特定资源被访问的次数,但是不可能跟踪某一特定用户访问某一特定资源的时间长度。关于用户与资源交互还有大量的对管理员、广告商、市场专家等有用的别的有价值的信息,但是使用现有的监控技术不能方便地收集这些信息。
例如,最大的公共网络之一,“国际互联网”,已经变成了一个极其受欢迎的广告工具。许多公司有他们自己的互联网“网站”,并且也在其它公司的比较有名的网站上购买广告空间。比如,许多广告商在有名的站点的网页上购买所谓的“广告标语”空间,从而允许消费者“击入”(即指定链接)广告商的网站。在许多情况下,使用广告标语会显著地增加广告商的费用。然而,互联网服务器使用可获得的有限的监控技术难以确定每个网站和广告标语的有效性。比如,已知的监控技术在确定网页被下载次数时有局限性。相似的技术也被用于确定广告标语(它被嵌入到网页中)被显示的次数以及该标语被“点击”而进入广告商网站的次数。
通常,广告标语通过使用已知的HTML<IMG>标记符被嵌入到位于第一个服务器的网页中。当客户机传送TCP/IP申请给第一个服务器来请求网页时,该网页被下载到客户端,包括用<IMG>标记符嵌入网页的广告标记。该<IMG>标记符用于核实存储于相同或不同服务器上的资源(如“广告标记”)的位置,该服务器捕获用户的ID(通过HTTP申请头)并动态地返回广告相关的图片供客户端在网页中显示。同时,代表特定广告被显示次数的计数器值增加。广告标记本身也可能有引用其它网络资源的嵌入地址。在该情况下,如果用户“点击”广告标记,客户端就调用第二个服务器上的资源,该第二个服务器再次捕获用户ID并转发该用户到适合所显示广告的网络资源(例如,广告商网站的一页)。同时,代表点击特定广告并进入广告商网站的次数的计数器值增加。
尽管在某些情况下,网站和广告标志是有价值的市场工具,但是在服务器和客户端之间没有永久性连接的网络上(如互联网)服务器有限的监控能力阻止了该市场工具充分发挥它的潜力。既然HTTP或万维网服务器不能自动确定某一特定用户交互资源的时间长短和频率高低,那么网站管理员和广告商就不能准确地确定他们资源的有效性。既然服务器不能自动监控用户交互,不能自动获得用户的偏好和兴趣,因而服务器也就不能按个人用户的兴趣有目标的罗列并分发资源。
发明的概述由于现有技术的上述缺陷,本发明的目的是提供一种方法来跟踪用户使用和交互从网络上的服务器下载的资源,该方法使用嵌入资源并可被客户端执行的跟踪程序。本发明的另一个目的是从客户端把跟踪信息传送到连入网络上的别的计算机来存储和分析。
本发明的又一个目的是创建一个服务器资源数据库,该数据库包括但又不限于如下信息资源被客户端显示的次数,显示的时间长短,被显示或传送的信息的类型和数量。该信息可被网络管理员或服务器用于分析网络服务器上可获得的资源的有效性。
本发明的另一个目的是提供创建用户配置数据库的方法,可以供广告商和/或市场商人来确定基于网络的广告和/或市场资源的有效性和价值。
本发明的再一个目的是提供创建包括用户与网络资源交互和使用的详细信息的用户配置数据库的方法,比方说吧,该数据库包括访问特定资源的网络ID(称作“IP地址”)和客户端ID(称作“饼干”),用户与特定资源交互和使用的时间长短,以及个人用户在特定资源中所作的选择的详情。
本发明的又一个目的是提供根据用户的历史配置来罗列资源的方法,比如网页或高度目的性的广告标志。
为了达到上述目的以及其它目的和优点,一个跟踪程序被嵌入到从服务器下载到客户端的文件中。该跟踪程序不需要位于发送文件的同一个服务器上,比如,它可以通过一个嵌入URL来指向不同的服务器。该跟踪程序可以是执行其它操作(如显示动画,播放声音等)的较大的程序的一部分。该跟踪程序从服务器下载并在客户端运行来监控各种标志,比如流逝的时间,鼠标事件,键盘事件,等等,目的在于跟踪用户与该文件的交互和使用或监控用户在该文件内所做的选择(比如选择或连接到其它资源或文件)。跟踪程序也可监控客户端下载的数据量。跟踪程序在被下载并完成各种所需的初始化之后开始操作。
监控用户与从服务器下载的文件交互和使用之后,跟踪程序从客户端自动发送所需的信息回到服务器来存储和分析。信息发送可以在客户端退出该文件时,或之前,也可以作为预先定义好的用户动作的响应。该信息还包括任何可获得的客户端或网络ID。
所需信息存储在服务器上被用于建立个人用户的历史配置,在用户配置的基础上分发高度目的性的信息,还提取有关信息如某个客户端下载的信息量的大小,指定文件被客户端显示或使用的时间长短或频率。
最好是,跟踪程序在基于客户/服务器模式的网络上执行,而且可以在诸如互联网或万维网这样的公用网络上执行。跟踪程序可监控从服务器下载的任何资源的使用和交互,比如可执行程序,数据库文件,交互式游戏,多媒体应用,等。比如,在互联网上,被跟踪的资源可以是网页或网页的一部分(如广告标记)。
在本发明的一个实施例中,跟踪程序嵌入到HTML文档(比如网站,网页,网页的一部分如广告标记)。客户端使用TCP/IP连接传送HTML文档请求。该HTML文档存储在运行HTTP服务的服务器,包括文本以及一个或多个第一个嵌入的URL指向一个或多个位于服务器的图片,使用HTML<IMG>标志指定图片的源URL将图片嵌入到HTML文档。该HTML文档还包括第二个嵌入URL指向运行在服务器上的第一个可执行程序,使用HTML<IMG>标志指定程序的源URL将第一个可执行程序嵌入到HTML文档。第二个可执行程序也被嵌入HTML文档通过使用第三个URL来指向第二个可执行程序。与第一个可执行程序不同,第二个可执行程序下载并运行在客户端。嵌入的第二个可执行程序使用合适的HTML标志来说明它是一个在客户端可执行的程序。
在HTML文档下载到客户端之后,获取图片的方法是使用TCP/IP连接到服务器上由一个或多个第一批URL指定的资源。为了获取第一个可执行程序相关的资源,客户端导致该程序在由第二个URL指定的服务器上运行。通过执行第一个可执行程序,服务器从客户端捕获识别标志,比如任何驻留在客户端发送的HTTP申请头中的网络或客户ID。服务器把信息存储在配置数据库中。
客户端还可以获取第二个可执行程序,即跟踪程序。跟踪程序下载到客户端,在执行任何所需的初始化后,确定当前时间。跟踪程序也可通过执行位于客户机的由用户预定义的操作(比如离开HTML文档)来确定当前时间。在计算出用户交互和显示HTML文档的时间,即通过比较时间值的差异,之后,跟踪程序上载所计算的值给服务器,存储在用户配置数据库。
附图的简要说明

图1是实施本发明的一个计算机网络图。
图2是与本发明的各种最佳实施例联用的客户机的方框图。
图3是本发明第一个实施例的流程图,它是监控网页显示在客户机上的时间量的一种方法。
图4是本发明第二个实施例的流程图,它是监控网页显示在客户机上的时间量的一种方法。
图5是本发明第三个实施例的流程图。
图6是本发明第四个实施例的流程图。
图7是本发明第五个实施例的流程图。
实现本发明的最佳方式本发明的技术可应用于许多种类的计算机网络,也可用于,比如,关联到直接在线数据库连接。正如本领域普通技术人员所赞同的,尽管下文的讨论从本发明的方法和系统的各种最佳实施例出发,这些实施例并无意限制附加的权利要求,也无意把要求保护的发明局限在某一种计算机网络中。出于此种考虑,本发明的方法同样适用于各类局域网,广域网,私有网络,在线订购服务,在线数据库服务,公共网络包括互联网和万维网。尽管互联网和万维网的原则在下面的有关本发明的各各个内容有较详细的阐述,但是这只是出于表达的需要,并非有意对本发明的适用面更广的方法和系统施加限制。
本发明,尽管可同样地适用于公共和私有计算机网络,但它对执行迄今为止在公共网络上难以执行的监控功能尤其有用。出于此种原因,本发明的实施例将详细讨论与互联网和万维网的连接。本讨论同样适用于任何基于客户/服务器模式的网络。
因此,正如本领技术人员所知道的,此处使用的术语“客户端”指网络上的一台客户计算机(或机器),或一个进程,比如万维网浏览器,该进程运行在客户机上以便网络连接和通信。因此,“客户机”可存储一个或多个“客户进程”。术语“用户”广泛的用于指使用特定客户机的一个或多个人。
图1描述了一个已知的基于客户端/服务器模式的计算机网络,如互联网。该网络包含一个或多个“服务器”10,“服务器”10可被“客户端”12(如个人计算机)访问,在互联网的情形下,它由私有访问提供商14(比如纽约市的Digital Telemedia)或在线服务提供商16(比如美国在线,Prodigy,CompuServe,微软网络,等)提供。每个客户端12都运行“万维网浏览器“,它是已知的软件工具用于通过从互联网访问提供商获得的连接访问万维网。服务器允许访问各种网络资源。比如,在互联网上,万维网服务器10允许访问包括各种不同格式的资源的所谓的“网站”。资源在网上的位置用所谓的统一资源定位符或URL标志。
“万维网”(Web)是互联网上利用超文本传送协议(HTTP)的服务器的集合。HTTP是供用户访问资源(可以是各种格式的信息,如文本,图形,图片,声音,视频,超文本标志语言-“HTML”,以及程序等)的著名的应用协议。HTML是标准网页描述语言,它提供基本的文档格式,并允许开发者指定“链接”到其它服务器和文件。链接由统一资源定位符,即“URL”指定。通过指定一个链接,客户端发送TCP/IP申请到服务器并接收返回的该URL指定的信息(比如按HTML格式编写的另一个“网页”)。返回的信息可能全部或部分产生于服务器上执行的程序。这些程序一般称作“CGI”(通用网关接口)脚本,可用服务器支持的已知的编程语言或方法如PERL或C++编写。典型的网页是HTML文档包括文本,用户可激活的“链接”(如“点击”),以及指向资源(如图片,视频或声音)的嵌入URL,客户端必需在浏览器中全部获得网页。资源可能不在发送HTML文档的同一个服务器上。另外,HTTP允许从客户端传送信息给服务器。该信息可被嵌入URL,包含在HTTP头域,或用已知的HTTP方法直接发给服务器。
图2是“客户机”代表的方框图。相同或相似的计算机也可用于每个服务器。系统单元21包括系统总线31,各种组件耦合在其上,各种组件的通信也由总线完成。微处理器32连接到系统总线31并由只读存储器(ROM)33和随机存储器(RAM)34支持。ROM33除了包括其它代码外,还包括基本输入输出系统(BIOS)来控制基本硬件操作比如交互,磁盘驱动,键盘。RAM34和缓存63是装载操作系统60和应用程序,如万维网浏览器62,的主要存储器。内存管理芯片35连接到系统总线31并控制直接内存访问操作,包括在RAM34和硬盘驱动器36和软盘驱动器37之间传送信息。CDROM42,也耦合到系统总线31,用于存放大容量数据,如多媒体程序或大数据库。
各种输入输出控制器也连接到系统总线31上键盘控制器38,鼠标控制器39,显示控制器40,声音控制器41。键盘控制器38提供键盘22的硬件接口,控制器39提供鼠标(或别的手动操作输入)23的硬件接口,显示控制器40提供显示器24的硬件接口,声音控制器41是多媒体扬声器25a和25b的硬件接口。调制解调器50(或网卡)通过网络56和计算机网络上的其它计算机通信。计算机的操作系统60可以是Macintosh OS,OS/2,AIX,BE OS或任何其它已知的操作系统,每个客户端计算机有时称做“客户机”,客户端“计算机”,或简单的称做“客户端”。
如上所述,互联网包括一个使用网际网协议(TCP/IP)的公共网络以及可被客户端12访问的服务器10。当万维网浏览器62用于访问服务器10的一个文件时,服务器10可发送包括图形,指令集,声音和视频文件以及HTML文档(网页)在内的信息给请求客户端。
根据本发明,跟踪程序被嵌入资源,比如基于TCP/IP申请从服务器发送到客户端的HTML文档。跟踪程序可能位于与资源不同的服务器上,此时,跟踪程序由客户端通过TCP/IP申请从另一个服务器获得。跟踪程序在客户端执行,并被存储于如RAM等地方。跟踪程序监控各种标志,如时间,鼠标事件,键盘事件,等,以便跟踪用户与网页的交互。因此,跟踪程序可以简单的只监控用户与网页交互的时间量,或监控个人用户在某一特定网页所作的选择的细节(比如链接)。
在某些情形下,客户端将“缓存”通过网络获得的资源(或暂时存储资源的拷贝到用户的计算机),当稍后需要该资源时(比如为了完全获取网页),它使用资源的缓存拷贝而不是通过互联网获取。此时,基本操作,跟踪程序的功能以及跟踪的信息传送到服务器,都不同于不使用缓存拷贝的时候。
本发明的一个实施例中,跟踪程序嵌入HTML网页中并被客户端下载。跟踪程序监控连接到客户机的周边输入设备如键盘或鼠标的操作,记录用户所作的选择,监控用户显示网页的时间长度以及交互网页上某一特定部分所花费的时间。尽管在最佳实施例中跟踪程序被嵌入HTML文档,本技术领域的技术专家会看出,使用别的机制可以把跟踪程序嵌入客户端硬件,本专利并不限于作为可执行程序嵌入HTML文档。比如,跟踪程序可被下载并安装在客户端进程,就象所谓的“插入程序”或“助手”应用程序那样。另外,跟踪程序可被装入客户端应用或客户端进程,这样它就不必分开下载并安装。另外,本发明的内容并不局限于互联网或万维网的应用。比如,本发明的跟踪程序可用于所谓的“企业网”。
如上所述,客户端进程,比如运行在客户机上的万维网浏览器,使用TCP/IP连接传送申请到运行在HTTP服务的万维网服务器上(或在UNIX操作系统下的“守护程序”)。HTTP服务响应申请,发送超文本标志语言(HTML)格式的网页给浏览器。浏览器使用本地资源(如字体和颜色)显示网页。除非跟踪程序已驻留在客户端,它被嵌入网页并与网页一起下载到客户端。所需的初始化发生后就执行跟踪程序。跟踪程序可监控用户留在网页或其上任意部分的时间长度,也可跟踪一些或全部鼠标和键盘事件来提供有意义的数据给关心用户与网页交互的服务器。
最简单的形式是,跟踪程序是一个链接到HTML文档的计时器程序,当该HTML文档响应客户端的TCP/IP申请时跟踪程序被客户端下载并执行。客户端格式化和显示HTML文档指定的网页其间或其后,跟踪程序启动一个软件计时器来监控网页在客户端计算机上显示的时间。
当用户离开网页(如退出网页或“点击“位于同一或其它服务器上的另一资源时),跟踪程序把监控到的时间发送到互联网上的另一计算机来存储和分析。
例如,如图3所示,客户端发送TCP/IP申请给服务器A的网页(S301)。握手时期之后,服务器A开始发送HTML格式的文档,其中包括一个指向跟踪程序的嵌入式URL。客户端又发送TCP/IP申请给嵌入URL指向的服务器B来获得跟踪程序(S302)。客户端也可使用任何其它TCP/IP申请(S303)来获得所需的任何其它资源(比如,图片,视频或声音)来完全获取该网页(S304)。每个资源一般都由嵌入HTML文档的单独的URL引用。这些申请的发生无须特定的顺序,而且可以引用任何服务器上的资源。另外,所申请的信息也可以任何顺序接收。当获取了跟踪程序后,客户端进程(即万维网浏览器)存储跟踪程序到RAM(S305)。经过所需的初始化,跟踪程序启动软件计时器来监控网页被显示的时间量(S306)。当客户端离开网页时(S307),跟踪程序计算用户交互和显示网页的时间量并发送该信息给服务器。别的可获得的客户端信息,比如网络ID和客户端ID,或所谓的客户端“饼干”也被发送到服务器(S308)。如果需要,别的有关客户机的信息可被自动获取并送给服务器,比如客户机硬件类型以及驻留在客户机上的各种资源。
由于互联网的技术限制,在1995年加里弗尼亚风景山的太阳微系统公司的程序员将JAVA编程语言应用于互联网。比如,网络程序员和工程师面临的一些根本技术问题有便携性,带宽和安全性。便携性允许同一可执行代码可运行于多种操作系统。带宽指定了网络在任何时候可传送的信息量。比如,分为T1到T3的高速链路每秒可传送1.544到45兆位数据,ISDN链路每秒可传送64到128千位数据,而大多数用户用于传送数据的标准电话线,目前使用大约28.8千位数据/每秒的调制解调器。在使用640×480象素点的显示器来显示256色的图象时(每个象素需要一个字节),为了显示窗口的内容需要307,200字节数据。为了创建动画,程序一般需要每秒显示15到30个不同的图象。给定640×480的窗口,每秒15到30帧需要4,608,000到9,216,000字节/每秒。因为许多用户目前使用28.8千位(或更慢)的调制解调器,所以没有足够的带宽来下载动画。结果,许多网站的图片绝大部分是静止的(不动)。然而,为了满足花费许多时间在动态的电视图象面前的受众,互联网程序员和工程师必须提供发法来使网站活动起来。一种方法是下载用JAVA编程语言编写的程序来实现动画。
动画仅是使用JAVA的一个例子。使用JAVA,程序员可以创建类似使用C++开发的独立程序,也可以创建所谓的“小应用程序”在万维网浏览器内运行。为了解决安全性问题,JAVA开发者确保程序员不能使用小应用程序开发计算机病毒,而且小应用程序不能任意传送有关用户的系统的信息(如用户系统的文件)回服务器。因此,JAVA小应用程序有操作局限性。比如,JAVA小应用程序通常不能当前读写用户系统的文件。用此方法,小应用程序就不能存储病毒到用户的磁盘或任意读取用户磁盘的信息。另外,出于其它安全性和稳定性原因,JAVA开发者消除或改变了C和C++编程语言的许多特性,比如指针,用这些特性高级程序员可以饶过JAVA的安全性机制。
JAVA小应用程序在“JAVA使能客户端”内运行,比如Netsacpe Navigator2.0(仅对Windows 95或Windows NT版本)或更高版本,或微软的InternetExplorer 3.0或更高版本。另外,由于绝大多数用户使用运行Windows,Macintosh,基于Unix的系统等的个人计算机浏览,JAVA开发者把JAVA设计成便携的,或“独立于平台的”。因此,同样的JAVA小应用程序可以被下载和运行在任何JAVA使能客户端进程,不管平台的类型。
JAVA小应用程序可被开发者用于创建能在任何JAVA使能客户端执行的复杂的,全交互的多媒体网页和网站。代表性的JAVA小应用程序参见O.Davis,T.McGinn,和A.Bhatani,快速JAVA小应用程序,Ziff-Davis Press,1996.
既然JAVA提供了下载小应用程序形式的复杂的程序指令的能力,运行在JAVA使能万维网浏览器,那么本发明的跟踪程序可以用JAVA编程语言实现。然而,正如本领域技术人员知道的那样,本发明的技术并不局限于JAVA小应用程序或JAVA编程语言。比如,为了链接互联网,本发明也可用所谓的“Active-X”环境实现,此时跟踪程序被写成Active-X组件。
本领域的技术人员也知道,出于安全性限制,在某些情形下,阻止人们直接访问存储在客户端硬盘的信息,比如客户端ID。这时,要采用别的方式获得该信息。比如,当万维网浏览器向服务器申请信息时,它一般包括关于客户端在“HTTP申请头”的特定信息。接收申请的服务器可以使用已知的实现手段来获得并存储该信息,比如,用可在服务器上执行的所谓的“CGI脚本”。因此,获取客户端识别标志的方法之一是在HTML文件中嵌入申请到获取和存储标志的服务器上的别的资源。该资源可以是捕获并存储相关信息的程序(比如CGI脚本)。该信息与跟踪程序监控的信息组合起来提供更详细的知识基础。该嵌入申请可以附加到嵌入的跟踪程序。能够捕获客户端识别标志的代表性的CGI脚本参见A.Gundavaram,万维网上的CGI编程,O’Reilly Press,1996.
为了存储客户端识别标志,比如用户的网络ID(IP)和客户端ID号(饼干)以及相关的跟踪程序,在服务器上建立了数据库。这可以用任何已知的方法,比如使用为高速处理大数据库设计的商用数据库程序。在上述跟踪程序的情形下,存储在服务器数据库上的信息包括网络ID,客户端ID,相关链接(网页的URL),用户花费在网页交互上的时间,用户在网页交互时做的选择。因此,上述跟踪程序允许网站管理员和互联网广告商不仅确定访问或点击特定网页的用户人数,而且可以精确的确定用户显示或交互网页的时间长度。这对互联网广告商以及其它人是极有价值的信息,允许广告商胸有成竹地确定有关网页或广告标志的有效性和价值。
图4描述了本发明的一个特殊的实施例。客户端从第一个服务器A请求网页(或HTML文档),使用TCP/IP和HTTP协议(S401)。该HTML文档包含文本,以及指向也位于第一服务器A的图象(如GIF格式图象文件)的嵌入URL。该图象,一般地,可以位于互联网的任何HTTP服务器。这些图象嵌入网页的方法是使用已知的HTML<IMG>标志,它允许人们为图象指定源URL以及附加的信息,比如大小和其它规划参数。客户端使用TCP/IP协议和HTTP协议从服务器A获取这些图象(S402)并显现在浏览器上(S405)。网页(或其网或HTML文档)还包括指向驻留在第二个服务器B上的两个资源的嵌入URL。其中之一是一个可执行程序,它在服务器B上执行,是CGI脚本。该资源也用<IMG>标志嵌入网页。因此,为了显示网页,客户端将自动获取该资源(S403),这将导致CGI脚本在第二个服务器B上执行并将输出信息从脚本返回给客户端。在该情形下,返回客户端的信息被格式化成GIF图象类型,它既完全透明又极其微小(S403B)。当CGI脚本执行时,它从HTTP申请头收集信息,比如浏览器类型,网络ID(IP地址),以及,如果设置了的话,客户端ID(饼干),还有任何附加信息比如执行时间,网页的URL,并将信息存储在数据库中——比如使用SQL(S403A,S404)。在步骤S403B,CGI脚本返回包括响应头的信息给客户端,响应头指出(除了其它信息)返回信息是图象,该资源不能由客户端缓存,如果没有设置客户端ID而该客户端支持它,那么就设置客户端ID为脚本产生的值。
另外,CGI脚本监控网页被访问的次数。另一方面,位于同一个或另一个服务器上的其它CGI脚本也可用于该目的。实现该进程只需每当资源被访问时简单的增加计数,或在任何其它时间计算存储记录中向该资源申请的条目数。
位于服务器B的另一个资源是一个JAVA小应用程序,跟踪程序。该资源也可位于任何其它服务器并使用已知的HTML<APPLET>标志嵌入网页,它允许人们指定资源URL(通过CODE和CODEBASE参数)以及附加的大小,规划和初始化参数。客户端为了显示网页,将自动获取小应用程序,使用TCP/IP和HTTP协议发请求给服务器B(S406)。一旦它接收到跟踪程序的JAVA代码之后,它将首先执行小应用程序的INIT(初始化)方法(S407),然后是START方法。START方法使用标准JAVA方法记录当前时间(S408)。当用户离开网页时小应用程序执行STOP方法(S409),将计算当前时间和执行START方法时记录的时间的差值。该差值,即执行STOP方法和执行START方法的时间差,被送到服务器B来存储和分析(S410)。该信息可用标准JAVA网络方法发送,比如打开URL连接到服务器B(或任何其它服务器)上的第二个CGI脚本,该脚本设计成捕获所跟踪的信息(S401A)。该第二个CGI脚本可获得小应用程序跟踪和传送的任何的信息以及在HTTP头中的任何可获得的信息。该信息可被存储在服务器B上的数据库中或别的地方。如果必要的话,两个脚本存储的信息可合并到一个或多个完全数据库。正如本领域普通技术人员所理解的那样,服务器获取信息不必使用CGI脚本。比如,该信息可用为此目的设计的任何其它的服务器驻留进程来获取,或由跟踪程序或别的客户端驻留进程上载,比如通过直接连接到位于服务器上的资源(即数据库),或通过使用任何其它已知的进程。
这样构筑的数据库可按资源识别码索引,而且可以包含关于访问了该网页的用户的信息,比如他们的网络ID和客户端ID,他们访问网页的频率,网页被显示的时间长度等。另外,如果上述跟踪机制在某一特定网站的各种网页上实现,这样构筑的数据库可包括网站上不同网页的相似信息。同样,跟踪程序获得的信息可合成到监控网页资源被访问次数的进程。在用户索引的基础上分析数据有利于确定个人用户的兴趣等。另一方面,根据资源索引来分析数据可以确定一般用户,或指定用户对那些网页查看时间最长和/或次数最多。因此,有可能确定不同类型的用户偏好不同区域的网站(因为,比如,他们各自在网站的不同区域花费较多浏览时间)。
另外,如果上述跟踪程序附加到嵌入不同网站的多网页的广告标志(正如广告标志的通常情形那样),这样构筑的数据库包含不同网页上的广告标志被显示的频率和时间长度信息,以及关于访问那些网页的用户的更多特定信息。根据这些信息,广告商就能准确地确定数据,网站管理员提供的有关广告标志被显示的次数,并且知道包含广告标志的网页被显示的时间长度——这些数字对于广告商确定其广告的效果有巨大作用。
在另一个实施例中,跟踪程序的软件计时器可当用户发生键盘或鼠标事件时初始化或终止,比如通过“点击”广告标志的指定区域。图5描述了其流程图。本实施例中系统的操作类似如图3所示。客户端首先发送TCP/IP请求(S501)。握手期过后,第一个服务器A开始发送HTML格式的文档,其中包含指向跟踪程序的嵌入URL。客户端还发送TCP/IP请求给嵌入URL指向的第二个服务器B以便获得跟踪程序(S502B)。客户端还可发送任何其它TCP/IP请求来获得任何所需的其它资源(比如图象,视频或声音)来完全显示网页(S502A)。一般地,每个资源都由嵌入HTML文档的单独的URL引用。这些申请不必以特定顺序发生,而且所申请的信息也可以任何顺序接收。当获得跟踪程序后,客户端进程(即万维网浏览器)存储跟踪程序到RAM(S503B)。此时,跟踪程序启动软件计时器通过检测预先定义的用户动作(S504)。当用户执行另一个预定义的动作时(S505),跟踪程序计算用户预定义动作之间的时间值,并发送该信息,以及其它可获得的客户端信息给服务器(S506)。
因此,跟踪程序的软件计时器被用于监控用户于网页的一部分交互的时间。比如,如果网页提供了交互式资源如游戏或可被点击某一特定按钮激活的信息资源,跟踪程序就可确定用户与该选择交互的时间长短。在网页中带有广告标志时,跟踪程序可以设计成可监控用户与广告标志的交互时间。
跟踪程序不只可以被用于监控用户在网页或广告标志上的时间消耗,而且也可用于创建更复杂的“历史”用户配置,来允许服务器根据个别用户的不同兴趣有目的地排列网页或广告标志。
例如,当用户看到满足他们特定兴趣的广告标志信息时,用户更愿意与广告标志作较长时间,较高频率的交互,因而增加了该广告标志的价值。根据本发明,为了了解个别用户的特定兴趣,广告标志可包括专门的信息允许用户以不同方式与广告标志交互。广告标志可以有下拉菜单选择,可点击的按钮或“热点”,键盘输入,或任何输入机制,用指定的方式所作的选择导致相应事件在广告标志发生,比如生成或合成声音,显示图象,视频或图形动画,或提供不同类型的信息给用户,或许带有附加选择。这些信息可以包括,比如,交互游戏的链接,娱乐信息的链接,体育活动或花絮,等,或者是关于特定产品和服务的信息,或预定和购买指定产品和服务的方式。提供的选择越多,获得关于用户特定兴趣的信息就越多。当然,依赖于应用程序,有无限数目的可能性,这里就不一一详述了。
如上所述,跟踪程序和HTML文档一起被下载以响应TCP/IP客户端请求。跟踪程序可监控用户显示网页和嵌入网页的广告标志的时间,而且可以监控用户与网页和广告标志的交互,比如监控用户在网页和广告标志中所作的每个选择。因此,如果网页中包含交互式体育游戏,跟踪程序将确定用户是否参加了该游戏,他或她得了多少分,玩了多长时间,以及别的信息。如果用户在同一个广告标志中选择了不同的游戏,每个说明不同的兴趣,通过游戏的选择将可能确定该用户对什么最感兴趣。另外,广告标志可由指向不同网站的多个链接提供,比如有关体育,娱乐,一般信息,技术,历史等的网站。跟踪程序监控那些被选择的链接,并提供该信息给服务器。如上所讨论的,别的可获得的客户端信息也可发送给服务器。该信息在服务器的数据库中被分类,人工的或自动的加以分析。
跟踪程序可用于按用户的兴趣排列资源。基于创建在服务器数据库的历史用户配置,在同一个客户端上访问同一个或不同的网页来下载信息可以在更智能化的基础上完成。比如,以前曾表示过对体育花絮感兴趣的用户(根据他们以前的跟踪记录的指示)可能被有目的地分发有关体育的信息。同样,以前曾表示过对技术感兴趣的用户可能被有目的地分发有关技术的信息。排列如网页这样的资源很容易完成。比如,网页的HTML文档可能包含多种嵌入的资源。用户在某一特定客户端以前作的被存储在用户配置数据库的选择,借助简单的逻辑处理指令可用于确定哪个资源该被下载到客户端。比如,指出用户对有关体育的信息的兴趣大于有关历史的信息的用户配置,可用于下载有关体育的资源如GIF类型的图象和广告。既然用户以前表示过对体育有更大的兴趣,有关体育的广告就该定位给该用户。
图六显示本机制的特别实施例。客户端从服务器A申请网页(S601)。该网页包括文本,以及必须从服务器A获取(S602)和显示(S605)的嵌入图片。另外,网页包括嵌入URL指向服务器B的两个资源。第一个资源是第一个CGI脚本1,它使用标准HTML<IMG>标志嵌入网页(S603)。为了显示网页,客户端自动获取与<IMG>标志相关的位于服务器B的资源,这将导致执行CGI脚本1。该CGI脚本1可捕获客户端信息比如网络ID或客户端ID(S604A)。CGI脚本还返回一个透明的图象(S603B)。
服务器B上的另一个资源是JAVA小应用程序,它是广告标志和跟踪程序的混合。它可存放在任何服务器。为了显示网页,客户端将自动获取JAVA代码(S604),下载,初始化,并启动小应用程序的操作(S607,S608)。小应用程序初始化之后,它从服务器B获得别的所需资源以便显示图象,播放声音,或控制它的外观和行为。事实上,小应用程序通过执行一个或多个CGI脚本或别的驻留在服务器B或别的地方的进程来获得这些资源(S607)。基于通过标准HTTP方法提供给这些脚本的信息,包括客户端信息(S607A),比如网络和客户端ID,任何别的信息,如网页的URL,CGI脚本1捕获的信息,以及以前建构的历史数据库配置(S607B),不同信息(图象,声音,文本,等)可返回给小应用程序。因此,脚本可以选择这些信息,根据网络和客户端ID,网页的URL,以前建构的客户端配置。这可以用上述方法完成。
当用户离开网页时,小应用程序的STOP方法被执行(S609),计算出当前时间和执行START方法时记录的时间之间的差值。该差值,即执行STOP方法和执行START方法之间的时间,被送往服务器B存储和分析(S610)。发送该信息可以用标准JAVA网络方法,比如打开URL链接到服务器B上的第二个CGI脚本,该脚本设计成专门捕获跟踪信息(S610A,S610B)。在步骤S610A,第二个CGI脚本可得到跟踪程序(即JAVA小应用程序)获取的任何信息,以及客户端传送的客户端识别标志,比如在HTTP申请头中。该信息存储在服务器B的数据库中。如果必要,两个脚本存储的信息可合并到一个更完全的数据库。
在本发明的这个实施例中,将创建两个不同的数据库。第一个数据库按资源标志符(如URL)索引,并包括如下信息诸如网页的URL,访问次数,访问网页的客户端的标志符,显示时间长度,显示数据量,平均显示时间,访问次数,等。如果出现象广告标志和别的嵌入资源这样用户在浏览其它资源时访问该资源的情况,数据库还包括附加信息如“击入比率”(点击广告标志进入广告商的网站的次数)等。
创建的第二个数据库按个别客户端索引,包括有关个别客户端的兴趣和偏好的信息。这些分离的数据库可被合并到按客户端或资源标志索引的单一数据库。
在另一个实施例中,如图7所示,跟踪程序用于创建包括网站信息(如果需要,可以是多个服务器上的多个网站)的数据库。此时,同一个跟踪程序嵌入同一个服务器A的多个网页。一般,跟踪程序位于服务器B(但是也可位于服务器A)。跟踪程序监控网页显示的时间,并捕获任何可获得的其它信息。比如,跟踪程序可以确定它嵌入的网页的URL,也可确定客户端下载的信息量。
具体地说,客户端从服务器A请求网页(S701)。该网页包括文本,以及必须从服务器A获取(S702)和显示(S705)的嵌入图片。另外,网页包括嵌入URL指向服务器B的两个资源。第一个资源是第一个CGI脚本,它使用标准HTML<IMG>标志嵌入网页(S703)。为了显示网页,客户端自动获取位于服务器B的资源,这将导致执行CGI脚本1。该CGI脚本1可捕获客户端信息比如网络ID或客户端ID(S703A)并返回一个透明的图象(S703B)。服务器B上的另一个资源是JAVA小应用程序。它可存放在任何服务器。为了显示网页,客户端将自动获取JAVA代码,存储于RAM,初始化,并启动小应用程序的操作(S707)。小应用程序的START方法被执行并记录当前时间(S708)。在此之后,小应用程序接触服务器A,如果安全性限制允许,它就询问服务器A其所嵌入的网页,确定它的大小,以及别的嵌入资源(如图象,视频)的URL,并请求有关资源的头信息以便确定其大小(S709)。此时,跟踪程序确定全显示的网页的大小(即为了完全显示网页需下载的位数)。如果跟踪程序是显示从服务器下载的信息的更大的嵌入应用程序的一部分(如实况新闻小应用程序),跟踪程序也可监控小应用程序下载和显示的信息量。在用户离开网页之前或之时(S710),跟踪程序传送该信息给服务器B存储和分析(S711,S711A,S711B)。用此种方法,有可能建立精确信息数据库,诸如网站的不同网页被请求的频率,他们被显示的时间长度,下载的信息量的多少。该信息对网站管理员有用,可判断不同网页的知名度,以及为嵌入广告设定广告比率。
在另一个实施例中,跟踪程序用于排列用户访问的帐单信息。比如,访问实况新闻或娱乐美食的用户可能按显示的信息量收费,根据数据比特数或时间,或两者兼有。想象有一个跟踪程序附加到美食小应用程序。该跟踪程序监控信息显示的时间和下载的信息量,并在用户离开时自动传送该信息回服务器。用户以前申请进入的帐单信息与用户的ID(客户端和网络)一起,有可能确定用户的正确费用。同样,除了按他或她下载的信息量之外,可按用户在网页上花费的时间收费和付帐。
本发明体现的方法可用于创建所谓的“永久”状态的万维网资源。这就是说,跟踪程序,以及客户端配置数据库,也可用于创建网络资源,即似乎自动的“记住”用户以前与网络资源的交互的情况。其作法如图6所示。考虑带有嵌入纵横字谜程序的网页,该网页也采用跟踪机制。当网页被显示且纵横字谜程序启动后,用户能够根据显示的线索用键盘和鼠标在网页上填写字母。同时,这些选择被跟踪,以及别的信息包括时间但又不仅限于时间。在用户离开网页之时或之前,被跟踪的信息被送到服务器存储(S610)。当用户后来又返回该网页时,网络或客户端ID被用于自动填入以前选择的纵横字谜的字母(见S607-607C)。
尽管以最佳实施例对本发明进行了描述,本领域的技术人员将认识到,在本权利要求的精神和范围内,可对本发明作各种修改。因此,用于传送数据的脚本不必是CGI脚本但可以是一个专用服务器或直接连接到数据库,比如使用JDBC(JAVA数据库连接)把数据放置到数据库。
另外,尽管最佳实施例是结合在客户端执行的JAVA小应用程序加以描述,跟踪用户交互可由用非JAVA语言编写的客户端可执行程序完成。比如,本发明的技术可用连接到互联网探索者浏览器的Active-X组件实现。另外,跟踪程序不必是在客户端执行的程序。比如,跟踪程序可以由位于服务器的CGI脚本组成。通过执行CGI脚本,网页被下载的时间就确定了。通过使用合适的指令修改万维网浏览器软件,浏览器可用于发送信号给下载网页的服务器,在预定义的用户操作发生时(比如退出网页或点击到别的网页或资源的链接)。以此方式,运行在服务器上的程序可用于确定用户交互并显示该网页的总时间。
还应认识到,尽管跟踪程序的最佳实施例使用一个数据库来存储信息,也可用多个数据库来存储和处理信息。
除此之外,尽管在跟踪程序的最佳实施例中,放置跟踪程序的服务器和数据库驻留在同一台机器,但这不是本发明所必须的。相反,数据库可驻留在与提供跟踪程序服务的机器分离的计算机上。同样,尽管在最佳实施例中,放置网络资源或网页的服务器(服务器A)和放置跟踪程序的服务器(服务器B)是不同的服务器,但这不是本发明所必须的。网络资源(网页)和跟踪程序可由同一台服务器分发。
还要认识到,尽管跟踪程序的最佳实施例使用HTTP和TCP/IP协议,别的网络数据传输协议也可用于实现同一功能。进而言之,使用HTML格式的网页也不是必须的。提供给用户的信息可以不是HTML文档如网页,而是其它形式的信息。另外,跟踪程序不必从客户端下载到客户端,而是增加模块给运行在客户端的客户端应用程序或万维网浏览器,或存储在客户端机器的其它地方。比如,在前一种情形下,所增加的模块可以是插入程序,在后一种情形下,可以作为缓存资源被引用。此时,客户端应用程序或万维网浏览器将包括合适的方法来激活跟踪程序,并上载客户端配置基于用户与网页或网络资源的交互。
再者,尽管我们看到在最佳实施例中网络资源或网页从远程服务器下载,但这不是对本发明的限制。目标文档或服务器的精确位置并不重要。比如,目标文档甚至可以位于客户端机器的硬盘。
尽管在上述实施例中,客户端配置使用跟踪程序和一个或多个CGI脚本获得的信息自动创建并存储在服务器数据库,客户端配置可用不同方式创建和/或用附加信息补充。比如,创建客户端配置的一个技术是使用HTML“填入”表格标志。此时,客户端配置不是由跟踪程序创建,而是由客户端创建。基于客户端配置,服务器可根据由填写的表格揭示的客户端的兴趣来分发信息。
尽管最佳实施例在万维网浏览器软件方面作了描述,本发明的技术同样应用于用户访问局域网,广域网,公共网络,私有网络,互联网,万维网等,也不管是使用直接连接还是间接连接访问网络。比如,就连接万维网而言,本发明的技术应用于各种网络连接,不管是采用直接互联网连接还是间接的通过一些在线服务提供商连接。因此,本发明实施的“计算机网络”应广泛的包括任何一个或多个客户端连接到一个或多个服务器的计算机网络,包括客户端连接到“远程”文档的基于客户端-服务器模式的网络(即使该文档在同一个机器,系统,或“企业内部网”可获得)。
还要认识到,尽管在最佳实施例中跟踪程序与网页一起从服务器下载,但这不是对本发明的限制。跟踪程序可以不必嵌入现存的网页,而是嵌入万维网浏览器或客户端本身别的可支持的地方。因此,无论何时请求网页或网络资源,跟踪程序都可以初始化,比如当特定URL的搜索被初始化时,或当退出以前存储的URL时。
权利要求
1.在一个或多个客户端可连接到一个或多个服务器的计算机网络中,监控用户交互并显示从服务器下载的文件时间的方法,它包括使用客户端指定位于第一个服务器的资源的地址;响应指定的地址,从第一个服务器下载相应于资源的文件;使用客户端指定位于第二个服务器的第一个可执行程序的地址,第一个可执行程序的地址被嵌入从第一个服务器下载的文件,第一个可执行程序包括软件计时器来监控客户端交互并显示从第一个服务器下载的文件的时间;从第二个服务器下载第一个可执行程序并在客户端运行,以便确定客户端与从第一个服务器下载的文件交互的时间量;使用服务器从客户端获得客户端识别标志;把第一个可执行程序确定的时间量上载给第三个服务器。
2.根据权利要求1所述的方法,其特征在于第一个可执行程序包括一个给客户端增加功能的软件组件,该第一个可执行程序从服务器下载并安装在客户端运行的应用上。
3.根据权利要求2所述的方法,其特征在于该软件组件包括插入或助手应用。
4.根据权利要求2所述的方法,其特征在于该软件组件包括Active-X组件。
5.根据权利要求2所述的方法,其特征在于第一个可执行程序由客户端缓存。
6.根据权利要求2所述的方法,其特征在于使用服务器从客户端获得客户端识别标志的步骤包括使用客户端指定位于个别服务器的第二个可执行程序的地址,第二个可执行程序的地址被嵌入从第一个服务器下载的文件,第二个可执行程序由响应地址激活的获得客户端识别标志的例程组成,以及使用个别服务器来运行第二个可执行程序从客户端获得客户端识别标志。
7.根据权利要求4所述的方法,其特征在于第二个可执行程序是CGI脚本。
8.根据权利要求4所述的方法,其特征在于第二个可执行程序是JAVA小应用程序,被客户端下载和运行。
9.根据权利要求1所述的监控方法,其特征在于第二个和第四个服务器包含一个单一服务器。
10.根据权利要求1所述的监控方法,其特征在于第二个到第四个服务器包含一个单一服务器。
11.根据权利要求1所述的监控方法,其特征在于位于第一个服务器的资源由万维网文档组成,并包括指向第二个服务器的另一资源的嵌入URL,该另一资源包括广告标志。
12.根据权利要求1所述的监控方法,其特征在于位于第一个服务器的资源由万维网文档组成,并包括指向第五个服务器的另一资源的嵌入URL,该另一资源包括广告标志。
13.根据权利要求1所述的监控方法,其特征在于指定位于第一个服务器的资源的地址的步骤包括使用URL获得资源的步骤。
14.根据权利要求1所述的监控方法,其特征在于从第一个服务器下载的文件是HTML文档。
15.根据权利要求1所述的监控方法,其特征在于位于第一个服务器的资源是HTML文档,指定资源地址的步骤包括如下步骤使用TCP/IP连接传送申请到第二个服务器,该申请有包含客户端识别标志的HTTP申请头。
16.根据权利要求1所述的方法,其特征在于指定资源地址的步骤包括如下步骤使用TCP/IP连接传送申请到第二个服务器,该申请有包含客户端识别标志的HTTP申请头。
17.根据权利要求16所述的监控方法,其特征在于获取客户端识别标志的步骤包括使用服务器来从HTTP申请头获得客户端标志的步骤。
18.根据权利要求1所述的监控方法,其特征在于它还包括存储客户端识别标志到服务器的第一个数据库的步骤。
19.根据权利要求1所述的监控方法,其特征在于它还包括存储计算出的时间值到服务器的第一个数据库的步骤。
20.根据权利要求1所述的监控方法,其特征在于它还包括存储第一个服务器上的资源地址到第一个数据库的步骤。
21.根据权利要求1所述的监控方法,其特征在于它还包括存储客户端识别标志到服务器的数据库,存储计算出的时间值到服务器的数据库,存储第一个服务器上的资源地址到第一个数据库的步骤。
22.根据权利要求1所述的监控方法,其特征在于它还包括响应下载相应于资源的文件,增加相应于第一个服务器资源的计算值的步骤。
23.根据权利要求22所述的监控方法,其特征在于它还包括存储计算值到数据库的步骤。
24.根据权利要求1所述的监控方法,其特征在于从客户端获得客户端识别标志的步骤包括嵌入指向第二个可执行程序的链接到从第一个服务器下载的文件的步骤,第二个可执行程序在第三个服务器上运行,使用客户端发送请求激活指向第二个可执行程序的链接,该请求包含客户端识别标志的请求头,试图获取第二个可执行程序;使用第三个服务器执行第二个可执行程序来响应激活的链接,使用服务器检查客户端发来的申请头,确定客户端是否设置了客户端ID,如果没有设置客户端ID,就为客户端设置一个ID,并存储客户端ID到第一个数据库。
25.根据权利要求24所述的方法,其特征在于客户端ID包括“饼干”。
26.根据权利要求1所述的方法,其特征在于使用客户端激活指向位于服务器的资源的链接的步骤包括使用TCP/IP连接从客户端到服务器端传送HTML文档请求。
27.根据权利要求26所述的监控方法,其特征在于HTML文档是具有HTML格式的网页,包含文本以及一个或多个指向位于服务器的图形图象类型的嵌入URL,图象类型嵌入HTML文档要使用HTML<IMG>标志指定图象的源URL和预定义的外观参数。
28.根据权利要求27所述的监控方法,其特征在于HTML文档还包括指向在服务器上运行的进程的URL,它以HTML<IMG>标志嵌入HTML文档;下载步骤包括如下步骤使用客户端发送带有申请头的HTTP申请来试图获取由HTML<IMG>标志指定的资源,执行进程来响应客户端的获取,从HTTP申请头捕获客户端识别标志,存储客户端识别标志到第一个数据库。
29.根据权利要求28所述的方法,其特征在于在服务器上执行的进程由CGI脚本组成。
30.根据权利要求27所述的监控方法,其特征在于HTML文档还包括指向在服务器上执行的程序的URL以及嵌入HTML文档的地址;下载的步骤包括如下步骤使用客户端发送带有申请头的HTTP申请来获取该程序,执行该程序来响应客户端的获取,从HTTP申请头捕获客户端识别标志,存储客户端识别标志到第一个数据库。
31.根据权利要求1所述的方法,其特征在于第一个可执行程序是一个用JAVA编写的小应用程序。
32.根据权利要求1所述的方法,其特征在于第一个可执行程序的软件计时器在预定义的用户操作之后开始工作。
33.根据权利要求1所述的方法,其特征在于第一个可执行程序下载以响应预定义用户操作。
34.根据权利要求1所述的方法,其特征在于它还包括如下步骤提供给用户带有一个或多个选择的文件,这些选择需要使用连接到客户端的输入周边设备手工输入,监控用户的选择,发送信息回服务器,存储所监控的选择到数据库。
35.在一个或多个客户端可连接到一个或多个服务器的计算机网络中,监控客户端使用和交互位于服务器上的资源的方法,它包括使用服务器监控资源请求;响应传送给服务器的资源申请,下载相应于资源的文件给客户端,下载第一个可执行程序到客户端,第一个可执行程序的地址被嵌入下载到客户端的文件,第一个可执行程序包括软件计时器以监控客户端交互和显示文件所花费的时间;计算文件被下载的次数;存储文件地址,客户端交互和显示文件的时间,以及文件被下载的次数到服务器的第一个数据库。
36.根据权利要求35所述的方法,其特征在于第一个可执行程序包括增强客户端应用功能的软件组件,它从服务器下载并安装在运行于客户端的应用中。
37.根据权利要求36所述的方法,其特征在于软件组件包括插入程序或助手程序。
38.根据权利要求36所述的方法,其特征在于软件组件包括Active-X组件。
39.根据权利要求35所述的方法,其特征在于还包括如下步骤提供给用户带有一个或多个选择的文件,这些选择需要使用连接到客户端的输入周边设备手工输入,监控用户的选择,存储所监控的选择到数据库。
40.根据权利要求35所述的方法,其特征在于第一个可执行程序包括从服务器下载的插入应用程序,并安装在运行于客户端的应用中。
41.根据权利要求35所述的方法,其特征在于第一个可执行程序缓存于客户端。
42.根据权利要求35所述的方法,其特征在于还包括如下步骤使用客户端指定位于个别服务器的第二个可执行程序的地址,第二个可执行程序的地址被嵌入从第一个服务器下载的文件,第二个可执行程序由响应地址激活的获得客户端识别标志的例程组成,使用个别服务器来运行第二个可执行程序从客户端获得客户端识别标志,存储客户端识别标志到数据库。
43.根据权利要求42所述的方法,其特征在于第二个可执行程序是CGI脚本。
44.根据权利要求42所述的方法,其特征在于第二个可执行程序是JAVA小应用程序,被客户端下载和运行。
45.根据权利要求35所述的监控方法,其特征在于位于服务器的资源由网页文档组成,包含显示在网页中的指向广告标志的嵌入URL。
46.根据权利要求35所述的监控方法,其特征在于位于服务器的资源由网页文档组成,包含指向另一个服务器的另一个资源的嵌入URL,另一个资源包含在网页中显示的广告标志。
47.根据权利要求35所述的监控方法,其特征在于请求位于服务器的资源的步骤即用URL获取资源的步骤。
48.根据权利要求35所述的监控方法,其特征在于从服务器下载的文件是HTML文档。
49.根据权利要求35所述的监控方法,其特征在于位于服务器的资源是HTML文档,请求资源的步骤即使用TCP/IP连接传送带有客户端识别标志的HTTP申请头的请求给服务器的步骤。
50.根据权利要求35所述的方法,其特征在于请求资源的步骤包括指定资源地址,使用TCP/IP连接传送带有客户端识别标志的HTTP申请头的请求给第二个服务器。
51.根据权利要求50所述的监控方法,其特征在于获得客户端识别标志的步骤包括使用服务器从HTTP申请头获得客户端标志的步骤。
52.根据权利要求35所述的监控方法,其特征在于还包括响应下载相应于资源的文件,增加相应于第一服务器资源的计算值的步骤。
53.根据权利要求52所述的监控方法,其特征在于还包括存储计算值到数据库的步骤。
54.根据权利要求35所述的监控方法,其特征在于还包括从客户端获得客户端识别标志的步骤嵌入指向第二个可执行程序的链接到从第一个服务器下载的文件,第二个可执行程序在个别服务器上运行,使用客户端发送请求激活指向第二个可执行程序的链接,该请求包含客户端识别标志的请求头,试图获取第二个可执行程序;使用该个别服务器执行第二个可执行程序来响应激活的链接,使用个别服务器检查客户端发来的申请头,确定客户端是否设置了客户端ID,如果没有设置客户端ID,就为客户端设置一个ID,并存储客户端ID到第一个数据库。
55.根据权利要求54所述的方法,其特征在于客户端ID包括“饼干”。
56.根据权利要求35所述的监控方法,其特征在于请求位于服务器的资源的步骤包括使用客户端激活指向位于服务器的资源的链接,使用TCP/IP连接从客户端到服务器端传送HTML文档请求。
57.根据权利要求56所述的监控方法,其特征在于HTML文档是具有HTML格式的网页,包含文本以及一个或多个指向位于服务器的图形图象类型的嵌入URL,图象类型嵌入HTML文档要使用HTML<IMG>标志指定图象的源URL和预定义的外观参数。
58.根据权利要求57所述的监控方法,其特征在于HTML文档还包括指向在服务器上运行的进程的URL,它以HTML<IMG>标志嵌入HTML文档;下载步骤包括如下步骤使用客户端发送带有申请头的HTTP申请来试图获取由HTML<IMG>标志指定的资源,执行进程来响应客户端的获取,从HTTP申请头捕获客户端识别标志,存储客户端识别标志到第一个数据库。
59.根据权利要求58所述的方法,其特征在于在服务器上执行的进程由CGI脚本组成。
60.根据权利要求58所述的监控方法,其特征在于HTML文档还包括指向在服务器上执行的程序的URL以及嵌入HTML文档的地址;下载的步骤包括如下步骤使用客户端发送带有申请头的HTTP申请来获取该程序,执行该程序来响应客户端的获取,从HTTP申请头捕获客户端识别标志,存储客户端识别标志到第一个数据库。
61.根据权利要求35所述的方法,其特征在于第一个可执行程序是一个用JAVA编写的小应用程序。
62.根据权利要求35所述的方法,其特征在于第一个可执行程序的软件计时器在预定义的用户操作之后开始工作。
63.根据权利要求35所述的方法,其特征在于第一个可执行程序下载以响应预定义用户操作。
64.根据权利要求35所述的方法,其特征在于还包括根据存储在第一个数据库的信息排列文件的步骤。
65.根据权利要求35所述的方法,其特征在于还包括从客户端获得客户端识别标志并存储该客户端识别标志到第二个数据库的步骤。
66.根据权利要求35所述的方法,其特征在于第一和第二数据库由单一数据库组成。
67.根据权利要求66所述的方法,其特征在于下载相应于资源的文件到客户端的步骤包括根据存储在单一数据库的信息排列文件的步骤。
68.根据权利要求35所述的方法,其特征在于还包括如下步骤确定下载到客户端的数据量,存储下载到客户端的数据量给第一个数据库。
69.在一个或多个客户端可连接到一个或多个服务器的计算机网络中,监控用户交互从服务器下载的文件的时间的方法,它包括使用TCP/IP连接和HTTP协议从客户端到第一个服务器传送HTML文档请求,该HTML文档包括文本和嵌入URL,一个或多个URL指向位于第二个服务器的图形图象,图象被嵌入HTML文档使用HTML<IMG>标志,指定图象的源URL和预定义外观参数,第二个URL指向运行在服务器的第一个可执行程序,第一个可执行程序使用HTML<IMG>标志嵌入HTML文档,指定该程序的源URL,它在服务器上运行以响应客户端TCP/IP请求,第三个URL指向运行在客户端的第二个可执行程序,第二个可执行程序使用HTML<APPLET>标志嵌入HTML文档,指定该程序的源URL,它在客户端上运行以响应TCP/IP请求;下载HTML文档到客户端;使用TCP/IP连接获取位于第二个服务器的图象,该图象由嵌入HTML文档的一个或多个第一批URL指定;根据在HTML文档中指定的格式和外观参数在客户端显示文本和图象;使用TCP/IP连接获得第一个可执行程序,在服务器上执行第一个可执行程序,返回第一个可执行程序的输出信息以透明GIF图象类型的形式给客户端,从HTTP申请头获得信息,诸如浏览器类型,以及网络ID,客户端ID,执行时间,HTML文档的URL中的至少一个,存储所说的信息到数据库,该数据库至少按下列信息的一项建立索引客户端的网络ID,客户机的客户端ID,HTML文档的URL;使用TCP/IP连接获得第二个可执行程序在客户端执行,第二个可执行程序包括一个软件计时器来确定客户端与HTML文档交互的时间;上载跟踪程序确定的时间给服务器。
70.根据权利要求69所述的方法,其特征在于从第一个可执行程序输出的给客户端的信息是透明的图象。
71.在一个或多个客户端可连接到一个或多个服务器的计算机网络中,监控用户交互从服务器下载的文件的时间的方法,它包括使用客户端指定位于第一个服务器的资源的地址;响应指定的地址,从第一个服务器下载相应于资源的文件;使用客户端监控用户交互并显示从第一个服务器下载的文件的时间;使用服务器从客户端获得客户端识别标志;上载由第一个可执行程序确定的时间量给服务器。
全文摘要
一种监控客户端与从计算机网络上的服务器下载资源交互情况的方法,其步骤为:客户端指定位于第一个服务器资源的地址,下载相应指定位置的该服务器相应资源的文件,客户端指定位于第二个服务器的第一个可执行程序的被嵌入到从第一个服务器下载的文件地址,该可执行程序的软件计时器监控客户端与从第一个服务器下载的文件交互并显示的耗时,从第二个服务器下载该可执行程序在客户端运行,确定客户端与从第一个服务器下载的文件交互的耗时。监控的信息和客户端识别标志存储于服务器数据库,分析和根据用户兴趣、偏好分发所列文件。
文档编号G06F15/177GK1251669SQ98803581
公开日2000年4月26日 申请日期1998年3月20日 优先权日1997年3月21日
发明者欧文·戴维斯, 维迪约特·哈因 申请人:思维媒体公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1