CN1113517C - 为网上客户提供访问的网络服务器和创建网页的方法 - Google Patents
为网上客户提供访问的网络服务器和创建网页的方法 Download PDFInfo
- Publication number
- CN1113517C CN1113517C CN98812627.3A CN98812627A CN1113517C CN 1113517 C CN1113517 C CN 1113517C CN 98812627 A CN98812627 A CN 98812627A CN 1113517 C CN1113517 C CN 1113517C
- Authority
- CN
- China
- Prior art keywords
- webpage
- server
- client computer
- request
- beat
- 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.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3438—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/875—Monitoring of systems including the internet
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/885—Monitoring specific for caches
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
公开了一种在如互联网络的网络上提供对话控制的方法。传统地,互联网络协议定义一个客户机和一个服务器之间的对话为一个网页请求和一个网页响应。这不允许服务器确定一个客户机访问一个网页多长时间或者是否一个包含数据库信息的网页被两个客户机同时观看。根据本发明,网页包含一个底稿,该底稿使得网页在特定的时间从客户机发送节拍信号到服务器以指示服务器,该客户机正在继续观看网页。当客户机释放该网页时,节拍将停止,服务器将知道客户机已经释放了网页。
Description
本发明领域
本发明涉及例如在互联网络上进行的网络通信,尤其涉及对互联网络上HTTP通信的对话控制。
本发明背景
互联网络是一种分布式网络,它包括与远程客户机通信的一批服务器。万维网(World Wide Web)是指在互联网络上可利用的这批服务器。这样,网(Web)形成互联网络上任何可利用的服务器与客户机之间的通信路径。
在万维网上的客户机通常是网上浏览器。它们是一些程序,向互联网络上的服务器发出请求并且随后处理和显示由服务器返回的网页。万维网服务器也是一个程序,处理来自浏览器的请求并且安排文件到发出请求的浏览器。这些文件通常是超文本标记语言(HTML)构成的,它是一种在万维网上被浏览器和服务器普遍认可的语言。为了读出由服务器返回的网页,浏览器可以执行一种底稿编制(scripting)语言来显示返回的网页。
通常的底稿编制语言是所谓的javascript和visual basicscript。超文本标记语言(HTML)是一种命令格式,用于通知浏览器如何显示一个返回的网页。它也可以规定幕后的信息,如另外的图形或底稿编制语言。在服务器和浏览器之间的网页通信中,使用的通信协议是所谓的超文本传输协议(HTTP)。这是由万维网使用的用于协调网上服务器和网上浏览器之间通信的通信协议。
通常,网上浏览器将请求和接收来自网上服务器的“静态的”万维网网页。静态的网页的特征在于网页数据是预先编写的并且是固定的。然而,偶尔一个网上服务器会运行程序来为一个浏览器提供动态的内容。例如,当服务器与一个信息数据库(该数据库可以由用户通过浏览器访问或修改)通信时,服务器可以发送包含当前状态下数据库信息的网页。即当一个用户通过浏览器连接到网上服务器以访问或修改数据库条目时,后面访问该服务器的另一个浏览器将检索到修改的数据库信息。允许网上服务器运行一个程序以便发送动态内容的机构称为公共网关接口。
当前,网上每个服务器包括一个访问日志。这个日志是一个文件,包含互联网络上的的浏览器对网上服务器的每次访问的详情。包括在这个日志上的详情包括访问日期、访问时间、请求者的计算机标识(地址)、请求的信息、多少信息被发送给用户,以及可能的话包括传送状态。另外,网上每个浏览器(客户机)包括一个超高速缓冲存储器,该存储器保存一定数量的检索的网页,使得这些网页不用经过互联网络从服务器上重新加载,以便用户快速地检索。
两个计算机(例如,一个服务器和一个浏览器)连接在一起的时间量称为一个“对话”。一般地,一个对话通常从一个客户机开始与服务器通信的时间延续到该客户机退出通信的时间。然而,在网上稍微不同地定义一个对话。在一些非互联网络的客户机/服务器数据传送中,客户机和服务器在它们之间建立一个连接,在此期间,客户机可以从服务器请求信息并且服务器提供信息给该客户机。在这些情况下,客户机和服务器之间的“对话”从客户机和服务器之间实现连接的时间开始直到客户机或服务器退出对话为止。在对话期间,任何数量的数据传送和数据请求能够在客户机和服务器之间发生。然而,在网上超文本传送协议和万维网结构的限制使得网上客户机和服务器遵守一种非标准的“对话”概念。在网上,一个对话仅仅包括一个网页(数据文件或者图形文件等等)被请求并且被下载给用户(浏览器)的时间。这样,网上客户机和网上服务器之间的每个对话相当于从客户机到服务器请求一个网页和从服务器到客户机传送一个网页。这样,记录在服务器日志中的对话信息将标识网页请求的日期、网页请求的时间、进行网页请求的计算机、识别被请求的网页的文件信息、发送到请求计算机以发送网页的字节数,以及有可能的话还有传送状态。
这样,互联网络不像一个客户计算机连接到另一个服务器计算机以访问例如一个数据库的典型情况。在典型的情况下,客户机用户将在保留对服务器的连接的同时检查一个数据库记录。在这样一种情况下,服务器可以记录客户机访问数据库的持续时间。这些记录可以用于统计分析关于用户观看记录花费多少时间,因为对话是由连接到数据库和退出数据库的持续时间定义的。也可以“锁定”数据库记录,防止其他客户机访问它,直到这个客户机完成为止。
对于互联网络连接来说是不同的,因为一个对话不是由一个客户机和一个服务器之间总的连接时间定义的,而是由一个单个网页请求和一个单个网页发送的时间定义的。在互联网络的情况下,服务器无法知道何时用户已经完成使用一个特定的记录,也不知道用户观看一个特定的记录多长时间。现有方法试图通过当用户完成一个记录时使用人工方法通知服务器来解决这个问题,但是这样的系统是依赖于客户机的,不能在服务器上单独实现。这样,当对于服务器来说重要的是准确地知道何时用户用完一个记录或准确地知道用户观看一个记录多长时间时,当前的网结构不能提供一种有效的解决方案。
在互联网络环境中暴露这个问题的一个例子在当两个用户试图经过网访问数据库信息时出现。例子中假定用户A对位于一个仓库的特定的产品X请求产品库存的信息。该仓库使用网上服务器将关于各种产品的库存数量的信息提供给用户。还假定当用户A请求库存信息时当前可以在仓库得到200个单位的产品X。根据用户A对标识产品X库存的网页的请求,仓库服务器将查看它的数据库,取出库存数量“200”并且将标识这个数量的网页提供给用户A。然后,假设另一个用户,用户B请求相同的产品X的库存信息。仓库服务器会接收来自用户B的网页请求,查看它的数据库,看到一个产品X数量200,并且发送一个标识产品X库存有“200”个可得到单位的网页。随后当用户A在另一个网页请求中告诉仓库服务器它要从可得到的200个单位中定购150个单位时问题出现了。仓库服务器会根据用户A的定单将减少150个单位写入它的数据库。然后,用户B通过发送一个定购请求到仓库服务器试图从仓库服务器请求100个单位。仓库服务器产生一个问题,在它仅有200个可得到的单位时却接收了250个单位的定单。
在上面的例子中,重要的是仓库服务器不根据用户B的网页请求向用户B提供网页,直到服务器知道用户A用完了相同的网页。如果用户A不能通过某些方法人工地向仓库服务器指示它已经完成对产品X库存网页的使用,则仓库服务器不可能知道是否将相同的产品库存网页发送给用户B是及时地和准确地。
在网上限定的对话定义产生问题的另一个例子是需要为统计目的进行对话控制的情况。例如,当在网上做广告的公司想知道某人已经观看它们的网页、或者带有它们广告的网页多长时间时,这个问题产生了。由于根据当前网上对话定义,其中一个对话仅是一个网页请求和一个网页发送,在没有某些人工方法的情况下服务器不知道用户观看一个网页或广告多长时间。这样,没有标识客户机使用一个特定网页结束的方法,服务器不知道用户已经观看一个网页多长时间。
图1表明互联网络对话的当前状态。在图1中,系统1包括一些数量的客户机,从客户机no.1到客户机no.n。客户机通过互联网连接10访问一些服务器,包括服务器12。如图1所示,服务器12在“A”和“B”指示的对话期间接收来自客户机的请求。
在对话A期间,客户机no.1经过互联网络10通知服务器12它希望接收一个特定标识的网页(“给我一个网页”)。服务器12通过组装网页并且通过互联网络10将它发射到客户机no.1来响应这个请求(“这是您的网页”)。这一对通信(“给我一个网页”和“这是您的网页”)是客户机no.1和服务器12之间对于整个对话“A”的全部通信。类似地,如对话“B”所示,客户机no.n也可以从服务器12请求网页。在对话B中,客户机n也从服务器12请求网页并且接收来自服务器12的网页。
如上面讨论的,当客户机no.1和客户机no.n基本上同时在对话A和对话B期间从服务器12请求相同的网页并且这样可能以一种重叠的方式修改服务器12中的记录时问题就出现了。在这样一种情况下,服务器12可能根据来自客户机的重叠的请求错误地修改数据库16。另外的问题是,服务器12不能识别对话A或对话B持续多长时间,即使它在它的访问日志14中记录了对话时间,因为对话分别以单独的一个网页请求和一个网页发送来开始和结束。
本发明概述
本发明的定义提供了互联网络上的对话控制,使得服务器能够识别何时和多长时间一个客户机访问由服务器发送的一个网页。本发明通过对发送给客户机的每个网页连接标识“心动节拍(heartbeat)”程序的信息来完成这一点,该程序使得在发送的网页被观看时网页以定义的间隔将一个节拍(beat)返回给服务器。在最简单的例子中,服务器会将一个网页返回到客户机,它每分钟发送一个节拍返回到服务器直到客户机完成观看网页为止。
通过记录网页返回的这些节拍,服务器随后可以通过察查在观看期间由网页返回的节拍次数来近似地识别一个客户机观看一个特定网页多长时间。例如,如果在上面的例子中返回5个节拍,服务器能够得出结论,该客户机观看网页多于5分钟,但少于6分钟。另外,客户机在6分钟结束时知道网页已经被释放并且随后可以被一个新的客户机访问而不会与原来的那个重叠。
虽然本发明没有提供互联网络上的纯对话控制,但它将很好的信息提供给服务器以识别何时和多长时间一个网页被访问,以避免重叠并产生统计信息。另外,可通过平衡节拍频率与统计抽样容差的比值使用本发明。即,每分钟产生节拍在互联网络容量和客户机处理器使用上较难以负担,但是比例如每5分钟产生的节拍提供了更准确的结果。
附图的简要说明
图1是一个根据现有技术在互联网络的客户机和服务器之间互联网络对话的简化示意图;
图2到图4是表示根据本发明的若干示范实施例在客户机和服务器之间发生的通信的示意时间图;
图5是一个根据本发明的示范实施例通信的服务器12示范实施例的示意方框图;
图6是一个根据本发明的示范实施例的图5服务器12的访问日志的条目。
图7是一个根据本发明另一个示范实施例的图5示范服务器12的示意图;
图8是一个在与一个客户机的示范通信对话期间服务器12的内部和外部通信的示意时间图;以及
图9是一个根据本发明的示范实施例说明在一个服务器和两个不同客户机之间通信对话的示意时间图。
优选实施例的详细说明
每当一个客户机,如图1的客户机no.1发送一个网页请求到服务器12,服务器12就在访问日志14中产生一个对于该请求的日志条目。典型的日志条目如下所示:
elara.planet.bt.co.uk--[12/may/1994:10:10:11-400]”GET/icons/blank.xbm
HTTP/1.0”200 509
在上面的日志条目中,“elara.planet.bt.co.uk”是客户计算机的地址。请求的日期和时间在括号中示出,以请求类型结束(在例子中是“400”)。括号信息后面是一个命令,检索一个指示的文件(“icons/blank.xbm”)。下面是协议(HTTP/1.0),接着是返回代码(200)和请求文件的字节数(509)。
在上面的例子中,插入到服务器12访问日志14的条目是一个由客户机“elara.planet.bt.co.uk”在1994年5月12日10:10:11的请求,该请求用于以HTTP格式从服务器12检索称为“icons/blank.xbm”的文件。每次客户机在与服务器12的对话(图1的A或B)中请求一个网页时,在服务器12的访问日志14中做出一个类似的条目。以上述方法形成访问日志14在现有技术中是公知的,并且将是客户机从服务器12请求网页的各种对话的数量和时间的准确的记录。然而,它不记录一个客户机访问一个特定网页的持续时间。
过去,一些完成网上报告的程序通过观看服务器提供的网页上特定客户机点击的历史,进行关于一个客户机停留在一个特定网页上多长时间的统计推测。然而,无法从现有技术访问日志方法知道是否该统计推测是客户机花费在特定网页上持续时间的有效指示。
本发明通过产生一系列可能结束对话的请求来绕过缺少网上对话信息的问题。在它最简单的实施例中,本发明仅仅要求将一个很小的底稿编制语言函数放在服务器12报告的每个网页上,以及将简单的CGI底稿放在服务器12上。放在服务器12提供的每个网页上的底稿编制语言函数将使得网页以定义的间隔产生一个节拍消息到服务器12。放在服务器12上的简单的CGI底稿随后接收这些节拍,记录它们,并且以下面更详细描述的方式应答它们。用非专业术语来说,由网页提供的节拍实质上告诉服务器,客户机正在继续利用网页,并且来自服务器的应答是一个“当前网页没有变化”的应答。以这种方式,当前的对话控制系统实质上对于用户是不可见的。
图2说明一个本发明的示范实施例,其中一个客户机和一个服务器交换本发明的对话控制信息。注意在图2中,从客户机到服务器的通信用右箭头示出,而从服务器到客户机的通信用左箭头示出。另外,在图2中,通信从图2的顶端到图2的底部按时间顺序安排。注意图3、4、5、6、8和9类似地从相应图的顶端到底部按时间顺序安排。
在图2中,客户机和服务器之间第一次两个通信与相对于图1描述的现有技术情况是相同的。即,客户机通过向服务器请求“给我网页X”开始一个对话(如图1的对话A)。服务器随后按照上述的示范日志条目将该请求登记到日志14上。服务器随后在响应“这里是您的网页”中用请求的网页来响应客户机。这个网页与现有技术网页不同,即该网页包括将产生以后的节拍的底稿编制语言函数。以后详细描述一个示范底稿编制语言函数。
一旦客户机接收到网页,底稿编制函数将等待一个预定的时间X0并且随后将产生一个对服务器的请求,实质上告诉服务器“我还在这里”,意味着在网页被客户机接收之后客户机仍然使用网页X一个时间X0。在接收网页之后对服务器的该第一个响应被称为第一个节拍。响应于第一个节拍,服务器将该节拍登记到访问日志中并且随后通过实质上发送给客户机一个空页来响应,它可以被解释为“OK一我明白您还在网页X上”。
在第一个节拍被发送到服务器的第一个时间间隔X0之后,网页等待另一个时间间隔(X1)并且发送第二个节拍到服务器。服务器登记这个节拍并且应答。该过程随后在间隔X2和X3期间继续。最后,在发送周期X3之后的节拍以后,服务器知道客户机已经留开网页X,因为来自客户机的节拍已经停止。
在任何情况下,图2示范实施例中的服务器已经在它的访问日志14中登记了足够的信息来指示客户机请求网页X以及停留在网页上的时间至少为(X0+X1+X2+X3)。另外,因为在图2的实施例中,节拍持续时间(X1,X2和X3)是统一的长度(如在以后实施例中描述的,它不是本发明必需的),服务器日志包含的信息足以知道客户机停留在网页X上的持续时间大于(X0+3X1),但小于(X0+4X1)。
图3和图4示出本发明的其它示范实施例,它们可以用于累加不同类型的数据。图3和图4是图2所示类型的简化图,为了简便起见服务器和服务器响应被省略。图2、3和4的实施例之间的差别是由网页提供到服务器的节拍的构成和持续时间。在图2中,节拍(X1,X2,X3)以一致的间隔安排。在图3中,第一个节拍在间隔X4发生,以后节拍No.2在X4持续时间的大约四倍内不发生。然后,节拍No.3和No.4等等如第一个节拍发生在相同的持续时间。即,在图3中,4X4=X5=4X6等等。图3的实施例可能与统计确定有关,这里广告商想知道是否用户停留在一个网页上的时间长到足以注意到广告(X4),但并不真正关心用户停留多少时间,除非该时间非常长(T=X5),这时广告商可能很想准确地知道用户停留在网页上多长时间,它可以通过增加节拍频率(T=X6)来示出。
图4示出本发明的另一个示范实施例,其中节拍频率随着时间增加。图4的例子可能相关于例如在两个用户可能访问相同的数据库并且服务器希望轮询第一个用户以确定何时该用户用完数据库以便允许第二个用户随后访问该数据库的情况。在这种情况下,服务器期望在请求第一个节拍之前给用户一个一定(更长)的时间量(T=X7)。以后,服务器会请求更频繁的节拍以确定何时用户离开该系统。当某人知道一个用户被期望在退出网页之前花费相当的时间量在网页上时这个图4实施例是适当的。例如,在上面背景部分描述的实施例中,两个用户访问仓库服务器上相同的产品X的库存数据库,如果仓库知道用户在数据库内花费大约3或4分钟以访问库存记录并且进行购买,仓库服务器可以以大约3分钟设置X7节拍,以1分钟设置X8节拍,以40秒钟设置X9节拍等等,精确地缩小范围到在大约3到4分钟内的用户实际上离开数据库的时间。
图5说明服务器12结构的示范实施例。同样,网页请求和节拍信号以时间顺序从顶端到底部在图5的左边示出。当接收到来自客户机的网页请求时,服务器12在处理器20中接收网页请求,该处理器20随后访问数据库16以找出或编辑网页。在这样做以后,处理器20在“网页返回”传输中将网页发送给客户机。如前面描述的,这个网页包括底稿编制语言函数,该函数将在预定的间隔上产生节拍信号。如图5所示,第一个节拍“节拍no.1”在第一个间隔之后返回。这个节拍由处理器20接收,该处理器将节拍信号记录在日志14中。接着,处理器20访问CGI过程21(如后面描述的,它在节拍no.1信号中被参照),该过程21通知处理器20发送“OK”信号返回给服务器。
以后,服务器12的用户可以经过远端计算机22访问处理器20以便访问日志14来消除网页请求和随后的节拍信息。由此,计算机22可以编辑用于统计目的的持续时间信息。
当服务器用户经过计算机22访问日志14时,根据本发明的示范实施例,它将可以看到类似于图6所示的访问日志14。图6的例子类似于图2所示的通信序列,其中节拍频率(X1,X2,X3等等)是一致的持续时间。如下面更详细描述的,图6的访问日志14中标识的信息告诉服务器的用户,一个特定的客户机访问一个特定的网页,随后观看它大于9分钟,但是少于10分钟。
这可以通过观看图6的访问日志14所示的每一行确定。在第一行,处理器20将来自一个标识为“pc59”的客户机对于一个题目为“index.html”的网页的网页请求记录在访问日志中。这个网页请求发生在1996年10月9日16:51:56。图6的访问日志14的第一行是如在命令“GET”中标识的网页请求。
在“GET”请求行之后,图6的下面五行分别是网页返回到服务器的五个节拍。如从这些行所看到的,在同一天(1996年10月9日)节拍从相同的PC“pc59”返回。在网页请求之后5分钟心动节拍开始(参照图2,X0等于5分钟),以后每分钟产生节拍(参照图2,X1=X2=X3=1分钟)。这样,对于这个网页(index.html),底稿被告知在发送第一个节拍之前等待5分钟。以后,底稿每分钟发送一个节拍返回到服务器。从图6所示的信息,我们可以确定pc59用户在16:51:56接收index.html网页并且呆在那里直到至少17:00:56,但不到17:01:56。我们知道这是因为被排定为在第一个以后每分钟发生的节拍在17:00:56结束。
当然,图6的访问日志例子只是可以使用的一种节拍序列类型的示范。如果某人想以比图6所示节拍提供的更细的量化度知道是否一个客户机用户已经停留在一个网页上,则可以容易地修改底稿来产生节拍,例如每10秒钟而不是每分钟产生节拍。同样,初始的节拍(它在图6例子的网页请求之后5分钟发生)也可以改变(例如改为1分钟)。本发明没有以任何方式限制节拍间隔构成或时间。
在本发明内也可以产生和设想其他类型的节拍底稿。例如,底稿可以基于时钟时间(例如,准点的每小时),或基于特别算法(例如,图4所示的Xn=2Xn+1)提供节拍。另一种类型的设想的底稿可以在一个特定的时间(例如,下午2:00)产生一个单个节拍以确定一个预定在下午2:00出现在网页上的用户在规定的时间是否实际上在那里。可以设想许多其他类型的节拍底稿,本发明不限制于任何特定类型的节拍序列。
图7说明了根据本发明可以使用的一种示范类型的底稿。当然,本发明不限制于图7描述的特定底稿,而是扩展到本说明书和权利要求书中描述的目的和功能内设想的任何其他类型的底稿。在图7的例子中,更详细地示出例如图5的服务器12。图5实施例和图7实施例之间的一个不同是数据存储器的不同。在图5中,服务器12访问数据库16,从该数据库获得数据来编辑一个网页。另一方面,在图7中,服务器12的处理器20从文件服务器和文件目录17访问网页。这些和其他的实施例是在本发明内设想的,提供的服务器12可以发现和准备网页以便传输到客户机。
在图7的例子中,一个客户机(未示出)从服务器12请求一个题目为“index.html”的网页。在index.html网页中,除了将提供显示给客户机用户的网页信息的网页数据以外,还包括在index.html网页的第1-10行中所示的底稿函数。如图7所示,在index.HTML网页上的示范底稿函数如下:
1.<SCRIPT LANGUAGE=“Java底稿”>
2.function beat(){
3.setTimeout(“beat()”,60000);
4.document.beatform.submit();
5.}
6.</SCRIPT>
7.<body onLoad=‘setTimeout(“beat()”,300000)’>
8.<form name=“beatform”method=POST action=“/cgi-bin/nph-beat”>
9.<input type=hidden name=whoami value=“index”>
10.</form>
如上所述,根据图2-6的示范实施例,底稿函数将从客户机提供节拍信号到服务器12。在底稿中,特定的行完成下面的功能:
第1行规定底稿以公知的javascript格式编写。当然,其他的底稿语言也是公知的并且可以使用,另一个例子将在下面描述。
第2行定义一个题目为“节拍(beat)”的函数。
第3行请求定义的节拍函数每60000毫秒(60秒)被调用一次。
第4行是一个指令,发送题目为“节拍表格(beatform)”的表格到服务器12。
第5行结束函数定义。
第6行结束javascript部分。
第7行在检索index.HTML网页之后运行题目为“节拍”的函数300000毫秒(5分钟)。这将建立第一次节拍(图2中的K0)。
第8行定义一个提交给服务器的表格。在表格被提交时,它将在服务器12上运行一个题目为“nph-节拍(nph-beat)”的程序。
第9行规定该表格应该至少具有一个字段。
第10行规定表格定义的结束。
一旦客户机接收到index.html网页,该网页在5分钟持续时间之后将运行节拍函数,该函数每60秒钟发送“节拍表格”到服务器。当节拍表格被服务器12接收时,它将读出表格中的动作(index.html底稿的第8行),向它指示应该运行“nph-节拍”底稿。处理器20调用CGI过程21(它可以是一个单独的软件部分或者可以集成在处理器20中),该过程运行如图7所示的服务器CGI底稿。这个底稿可以为UNIX格式,但如以后描述的可能为另一种格式。如图7所示,CGI服务器底稿是非常简单的。CGI服务器底稿的第1行指示底稿在一个UNIX外壳程序中。第2行发送一个HTTP标题到请求index.html网页的客户机的浏览器。这个标题规定“没有内容”意味着不需要浏览器采取任何动作。最后,CGI底稿的第3行在标题之后发送一个空白行。
在图7示出的示范底稿中,客户机请求index.html网页,网页采用所示底稿到达,在接收网页之后5分钟时,网页运行“节拍”函数。在运行“节拍”函数中,网页每分钟发送“节拍表格”文件到服务器12。这个文件告诉服务器寻找一个题目为“nph-节拍”的CGI过程。当服务器找到这个过程时,该过程将使得服务器12发出一个后面跟随空白行的HTTP标题返回到客户机。这个空白行实质上等效于图2示出的“OK”语句,而由index.html网页发送的“节拍表格”实质上等效于图2所示的“我还在这里”的语句。
一种等效于图7示出的CGI底稿的C语言如下所示:
1.#include<stdio.h>
2.main(){
3.printf(“HTTP/1.0 204 No Content/n/n”);
4.}
在上面的代码中,第1行是C语言要求的;
第2行定义了主程序;
第3行发送一个HTTP标题到浏览器,规定不需要浏览器采取任何动作;以及
第4行结束程序定义。
重要的是注意在许多当前的万维网服务器中,CGI底稿名字的名称必须以“nph”开始以便它返回内容标题。
上面的示范底稿对于图7的示范实施例是适当的,这里服务器12从例如文件目录17检索一个网页。对于服务器12从如图5所示的可以由客户机修改的数据库检索信息的情况,底稿稍微更复杂一些。如上面背景部分描述的,相对于数据库应用解决的问题不只是简单地获得统计信息,还包括确保两个客户机不同时访问相同的数据库条目。在数据库应用的优选实施例中,节拍将是稳定的(即一致的周期性的)。另外,在网页表格内从数据库返回的字段也具有某种自标识能力(即每个返回的网页应该具有一个唯一的标识字段),使得服务器12将知道客户机用户在哪里。
在数据库应用中,在CGI过程21中的服务器底稿必须设计用于特定的数据库应用。特别地,底稿必须1)知道数据库位于何处,以及2)知道如何控制特定数据库内的字段。另外,对于数据库应用,服务器返回的网页必须由服务器动态地产生,意味着来自数据库的字段被检索并且随后根据返回的数据库信息创建网页。理想地,网页包括节拍底稿函数,与包含一个适当标识字段的由节拍函数返回的一个表格(或文件)。
在优选实施例中,创建和接收网页的服务器CGI底稿应该完成下面的功能:
1.如果一个网页被某人使用,则拒绝发送该网页给另一个用户;
2.以一个适当的标识字段标记节拍表格;
3.如果需要,用数据库信息填满数据表格;以及
4.如果节拍是“断开的”,以及其他人也在其间参考该网页,则拒绝接收返回的表格。
图8示出一个访问服务器12上数据库信息的客户机用户no.4的例子。首先,客户机用户做出网页请求“给我网页X”。这个请求被访问数据库16的处理器20接收。在图8示出的例子中,网页X可以是一个库存记录,该记录请求一种特定产品的库存数量“M”。在这种情况下,处理器20在命令“给我记录‘M’使我能够做出网页X”中要求数据库16来检索记录M。
在数据库16内,每个记录包括一个日期/时间识别(DTI)记录,该DTI记录作为一个对于特定记录的目志。DTI信息作为另一个字段记录在数据库中。这样,当客户机用户no.4请求网页X要求数据记录M时,该用户no.4对于记录M的请求被记录在数据库16中用于记录M的DTI字段中。DTI字段可以类似于图6的访问日志14中示出的条目,尽管为了简便起见在图8中使用一种简写表格。在图8的例子中,初始的节拍和以后的每个节拍以一分钟的间隔发生并且初始的网页请求发生在时间15:36。因此,记录M具有一个相关的DTI字段,该字段带有第一个访问记录条目“user no.4 at 15:36”,指示客户机用户no.4在15:36请求一个要求记录M的网页。
在处理器20请求记录M以便做出网页X之后,数据库16将记录M返回给处理器20,该处理器制做网页X(一种表格),包括一个CGI底稿(在下面更详细地描述)和记录“M”信息。以后,网页底稿编制函数将使得客户机用户no.4每分钟发送节拍到服务器12,使它停留在该网页上。这些节拍如语句“还在网页X上”从图8的顶端到底部以时间顺序序列示出。如下面更详细描述的,来自客户机用户no.4的节拍将向服务器12标识网页信息。处理器20接收来自客户机no.4的节拍,它使得处理器20调用CGI过程21。这个过程21是另一种底稿编制函数,该函数使得服务器12以一个意思为“OK”的空白行来响应。另外,每个节拍被处理器20和CGI过程21接收时,通过登记节拍条目来修改数据库16中用于记录M的DTI字段。这样,例如,数据库16中的记录M具有一个(部分的)DTI字段,指示用户no.4从15:36(以后是每分钟)到至少15:39停留在网页X上(可能还取决于客户机用户no.4通过停留在网页上而继续发送节拍到服务器12多长时间)。
最后,客户机用户no.4可以发送一个请求到服务器12,实际上请求服务器12修改记录“M”。例如,如果客户机用户no.4做出一个请求购买产品库存“M”中某一数量的特定产品,这种情况可能发生。客户机用户no.4通过返回一个指示对记录M修改的表格来做到这一点。这个表格由处理器20接收,处理器20通知数据库16该记录M要被修改。因此数据库16修改记录M。以后,客户机用户no.4离开网页X,使得节拍停止。这通知服务器12现在记录M可以由另一个客户机用户得到。图9更详细地示出这种情况,这里客户机no.1请求网页4,接收网页4,然后发送1个(或多个)节拍到服务器12,指示它停留在网页上多长时间。在某一点,客户机no.1将离开网页4,结果是在客户机no.1和服务器12之间一片沉静,告诉服务器12该客户机no.1已经离开网页。然后,客户机no.2可以在请求“c”中请求网页no.4。如图9中示为通信“D”的来自服务器12的响应将取决于底稿函数和客户机no.1接收的最后节拍和客户机no.2请求网页4之间的时间Tc。下面更详细地描述对于从服务器12到客户机no.2的响应“D”的各种可能的例子。
首先,下面对于一个将显示来自表格“T”的数据的网页示出一个示范网页底稿。这个网页由服务器CGI底稿创建,该底稿得到从表格“T”读出的请求的记录数量“M”,允许用户修改该记录。当用户将该记录返回给底稿时,该记录被重新写入数据库并且在它的位置检索下一个记录(M+1)。这个例子仅是本发明的一种简单的实现方式但不是对本发明的限制:
1.<html>
2.<head>
3.<META HTTP-EQUIV=“Expires”CONTENT=“Thu,01 Dec 199416:00:00 GMT”>
4.<script language=“JavaScript”>
5.function beat(){
6.setTimeout(“beat()”,60000);
7.document.beatform.submit();
8.}
9.</script>
10.<title>Record m From Table T</title>
11.</head>
12.<body onLoad=“beat()”>
13.<form name=“beatform”method=POST action=“/cgi-bin/nph-dbbeat”>
14.<input type=hidden name=“whoAmI”value=“T/m”>
15.</form>
16.[introductory text would go here]
17.<form name=“dataform”method=POST action=“/cgi-bin/dbupdate”>
18.<input type=hidden name=“whoAmI”value=“T/m”>
19.[date fields,filled with information from table T recordm go here]
20.</form>
21.[“footer”text would go here]
22.</body>
23.</html>
如第4行说明的,这个示范底稿以javascript格式写出,但是其他的格式也是可能的。对于某些相关底稿行的解释如下:
第3行迫使网页从服务器重新加载。这对应于一个可能的问题,某人工作在一个网页,随后跳到另一个网页,然后返回到第一个网页。如果第一个网页是最近的,浏览器可能试图从一个超高速缓冲存储器提取网页,这里根据人们经常返回到相同网页的假设来保留最近的网页。如果从超高速缓冲存储器中获得网页,节拍函数将再次开始,即使其他人可能在其间检索该网页。称为“DBUPDATE”的CGI底稿将通过拒绝保存网页而不准许这种情况出现。代之以,将消息返回用户,告诉用户不再拥有它。作为额外的预防措施,每个产生的网页被给予一个期满长度,该长度使得在它可以被下载之前它已经期满。期满的网页不被高速缓存。可以使用其他的替代技术来防止网页被高速缓存以解决这个问题。
第5行是节拍函数,每60秒钟提交“节拍表格(beat form)”。
第10行是返回的表信息例如“来自工资表的关于Mike的信息”,或这类其他有用信息的题目。
第12行在加载网页时开始节拍。
第13行在每完成一个节拍时运行CGI底稿“nph-dbbeat”。随后通过一个具有规定了记录和表的值的称为“我是谁(whoAmI)”的字段。
第16行是一个文本,描述用户看什么,或者可能是一个公司标志。
第17行是另一个包含所有用于记录的相关数据的表格。如果记录是一个工资单记录,它可以包括姓名、雇员标识、工资、税信息等等。当完成时,该表格提交到“DBUPDATE”,该“DBUPDATE”保存信息并且返回一个具有记录M+1的数据的新的网页。借助于Javascript,可以创建一系列“提交”按钮,它将返回例如第一个记录、最后的记录、先前的记录、下一个记录或者一个特定的记录。当前的例子返回“下一个记录”。
第18行是包括在表格中的“whoAmI”字段。
第21行关闭文本,也许是链接组合的网页、帮助网页等等。
第22行结束网页主体。
第23行结束网页。
根据这个例子,需要两个CGI底稿与文件一起工作:一个CGI底稿控制节拍,一个更新和发送来自数据库的网页。如图8所示,节拍底稿必须将一个日期/时间/识别(DTI)标记放到规定的位置。DTI标记可以重写先前的DTI标记,或者可以登记它们。如果DTI标记被允许重写,允许重写条件的准则可以包括:
1.提交DTI的计算机是先前规定它的计算机;或者
2.当前的日期/时间是先前DTI标记的“超时”周期以外的。
下面参照在可读性上有帮助的标准C语言函数,以伪码示出用于节拍函数的一个示范CGI底稿:
1.识别经过getenv(“REMOTE_ADDR”)发送请求的计算机。将其保存作为“ipAddress”。
2.得到“whoAmI”参数的值。可以使用标准CGI实用工具来完成这一点。将其保存为“whoAmI”。
3.打开一个由“whoAmI”的值命名的文件用于读出。
4.如果这个文件存在:
5.读出内容。保存ip地址作为“lastIP”以及日期/时间作为“lastDT”。
6.如果lastIP与whoAmI相同,或者如果(现在时间)-lastDT大于超时周期,则:
7.重新打开文件用于写入。
8.插入whoAmI和当前的日期/时间。
9.否则,这个人正在试图偷取另外某人的“心动节拍”。不理睬他。
10.否则,文件不存在:
11.打开文件用于写入。
12.插入whoAmI和当前的日期/时间。
13.关闭文件。
14.写“HTTP/1.0 204 No Content\n\n”到stdout,通知客户机该底稿已经被处理。
15.结束底稿。
需用于上面例子的第二个底稿是更新和发送来自数据库的网页的那一个。在例子中,这被称为“DBUPDATE”底稿,下面参照在可读性上有帮助的标准C语言函数,以伪码示出它的一个例子:
1.识别经过getenv(“REMOTE_ADDR”)发送请求的计算机。将其保存为“ipAddress”。
2.得到“whoAmI”参数的值。可以使用标准CGI实用工具来完成这一点。将其保存为“whoAmI”。
3.打开一个由“whoAmI”的值命名的文件用于读出。
4.如果这个文件存在:
5.读出内容。保存ip地址作为“lastIP”以及日期/时间作为“lastDT”。
6.如果lastIP与whoAmI相同,或者如果(现在时间)-lastDT大于超时周期,则:
7.重新打开文件用于写入。
8.插入whoAmI和当前的日期/时间。
9.否则,这个人正在试图偷取另外某人的“心动节拍”。不理睬他。
10.否则,文件不存在:
11.更新当前的数据库记录。
12.制做一个具有标题“记录<m>已经被成功地更新”和用于下一个记录(如果有的话)数据的网页。
13.关闭文件。
14.结束底稿。
使用上面的示范底稿,在图9的实施例中,描述了从服务器12到客户机1和2的响应的例子,这里每个客户机希望从服务器12接收相同的信息。在这个例子中,假定客户机no.1已经请求工资单信息,使得whoAmI文件包含“payroll(工资单)/mike smith”。“
remote addr”变量(它包含请求计算机的IP地址)当前包含客户机no.1的IP地址。当客户机no.1做出对于网页的请求时,可能存在5种可能的响应条件。
可能性no.1。服务器12发现文件“payroll/mike smith”存在并且它包含客户机no.1的IP地址,DTI标记时间在大约1分钟以前。这是正常的情况并且指示服务器12,客户机no.1继续使用文件“payroll/mikesmith”以及节拍函数在网页上重新要求客户机no.1的控制。
可能性no.2。如果服务器12在接收来自客户机no.1的网页请求之后,发现文件“payroll/mike smith”存在并且包含客户机no.1的IP地址,但这个文件的DTI标记在大约1小时以前,服务器12将这一点视为非正常的情况。在这种情况下,客户机no.1过去观看网页然后离开(因此缺少更近似的DTI标记时间)并且现在又返回到网页。已经从超高速缓冲存储器恢复网页(它不应该是正常发生的,因为每个网页应该在这个情况能够产生之前期满)。从超高速缓冲存储器恢复文件后,作为网页以前的所有者的客户机no.1现在可以重新要求网页控制。
可能性no.3。如果服务器发现文件“payroll/mike smith”不存在,则错误条件已经产生。无法让文件不存在,因为发送网页的CGI创建了文件。然而,如果假设成立,底稿能够容易地从这个错误恢复。如果文件被以某种方式删除,它被重新创建,客户机no.1变为该网页的所有者。如果另一个客户机拥有该网页,它被重新分配使得其他的所有者失去网页的控制。注意这是一种非正常情况,要求文件在节拍时间周期内被另一个所有者以某种方式丢失和劫持,它很可能不会发生。然而,上面的重新创建和重新分配可能注意这种错误条件。
可能性no.4。如果根据来自客户机no.1的网页请求,服务器12发现文件“payroll/mike smith”存在并且包含客户机no.2的IP地址,DTI标记时间是大约1分钟之前,服务器12将通知客户机no.1,它不再是网页的所有者并且必须等待到客户机no.2完成该网页它才能够访问。这种可能性发生在客户机no.1访问网页,完成该网页,随后试图从超高速缓冲存储器恢复该网页时,此时客户机no.2已经获得该网页。因为客户机no.1的节拍结束,客户机no.2访问该网页,现在客户机no.1不能从超高速缓冲存储器恢复,直到客户机no.2完成为止。
可能性no.5。最后的可能性发生在服务器12识别出文件“payroll/mike smith”存在,并且它包含客户机no.2的IP地址以及时间在大约1小时以前时。这种情况也是非正常的,因为网页来自超高速缓冲存储器并且应该在以小时为单位的长间隔之前期满。很可能客户机no.2已经交出网页,使得客户机no.1现在能够重新要求对它的权利。这里有一个问题必须解决。客户机no.1可能在它的网页上有旧的数据并且客户机no.1可能结束重写客户机no.2的较新的数据。这是网页不应被高速缓存的主要原因。对于真正不利的锁定,服务器12应该警告用户no.1,它可能正在使用旧的数据并且应该以刷新数据重新进行工作。
以这种方式,当客户机正在使用网上数据时数据库中的数据可能被锁定。仅当服务器12上的CGI DBUPDATE底稿来自锁定网页的客户机时,可以使用它以将数据写入数据库。CGI底稿随后将发送下一个记录到相同的客户机。该底稿也处理提交网页的客户机与锁定它的客户机不相同的情况,然而,在理想的情况下,这种情况不应该发生。如果网页没有被高速缓存并且服务器12只发送锁定的网页,第二个客户机不能重叠第一个客户机来检索锁定的网页。然而,为了鲁棒性起见,上面使用的底稿例子包括5种可能性(假设高速缓冲可能发生)的每一种,使得服务器12不会挂起。
研究了上面的描述,能够看出本发明为HTTP通信提供对话控制,即使Web协议将对话定义为单独的一个网页请求和一个网页响应。通过本发明,服务器能够确定一个客户机观看网页多长时间并且当某些客户机已经访问相同的数据库条目时能够将其它客户机锁定在包含数据库信息的网页之外。
尽管结合当前最实际的和优选的实施例描述了本发明,应该理解本发明不限制于公开的实施例,而是相反,它包括了在附加权利要求书的精神和范围内的各种修改和等效的配置。
Claims (19)
1.一个为网络上客户机提供访问而连接的网络服务器,客户机根据将对话定义为一个对话请求和一个对话响应的对话协议访问网络服务器,网络服务器包括:
一个用于存储网页信息的存储器;以及
一个网页编辑器,用于接收来自请求客户机的网页请求,使用某些存储的网页信息根据请求来创建一个网页;将网页底稿函数连接到创建的网页,并且经过网络将具有网页底稿函数的创建的网页发送到请求的客户机,其中:
底稿函数以预分配的节拍创建从请求的客户机发送到服务器的至少一个附加网页请求,其中包括所创建网页的标识。
2.如权利要求1所述的网络服务器,其中只有当请求的客户机使用创建的网页时,底稿函数创建至少一个消息。
3.如权利要求1所述的网络服务器,其中只有当请求的客户机继续使用创建的网页时,底稿函数创建至少一个消息。
4.如权利要求1所述的网络服务器,其中网页编辑器还包括一个底稿过程用于产生从服务器发送到请求的客户机的应答消息,并且其中至少一个消息包括请求服务器运行底稿过程并且因此每次服务器接收到至少一个消息时就产生和发送应答消息。
5.如权利要求4所述的网络服务器,其中应答消息是一个空消息。
6.如权利要求1所述的网络服务器,还包括一个访问日志用于记录所有接收的网页请求及用于记录接收到该至少一个消息。
7.如权利要求6所述的网络服务器,其中访问日志保持一个何时所有的网页请求及该至少一个消息被接收的记录,并且网络服务器还包括一个分析访问日志的处理器,以根据记录确定是否一个请求的客户机正在继续使用一个请求的网页。
8.如权利要求1所述的网络服务器,其中存储器包括一个数据库。
9.如权利要求8所述的网络服务器,其中网页信息包括可以由请求的客户机在数据库中检索和改变的数据点。
10.如权利要求9所述的网络服务器,其中数据库包括所述数据点的日期和时间字段,每个所述日期和时间字段包括标识哪个请求的客户机最后访问一个相应的数据点和何时所述最后的访问发生的信息。
11.如权利要求9所述的网络服务器,其中数据库包括所述数据点的日期和时间字段,每个日期和时间字段包括标识最近访问一个相应的数据点的至少一个请求的客户机和何时所述至少一个请求的客户机的所述最后访问发生的信息。
12.如权利要求1的网络服务器,其中预分配节拍与由请求的客户在预定时间发送的单个消息有关。
13.如权利要求1所述的网络服务器,其中预分配节拍与周期性发送的多个消息有关。
14.如权利要求1所述的网络服务器,其中预分配节拍与基本上固定间隔发送的多个消息有关。
15.如权利要求1所述的网络服务器,其中预分配节拍是不规则的。
16.一种使用定义每个对话为一个对话请求和一个对话响应的对话协议在客户机和服务器的网络上创建一个用于传输的网页的方法,包括:
接收来自请求的客户机的网页请求;
检索网页信息以制做一个请求的网页;
将网页信息编辑到请求的网页中;
将一个网页底稿函数连接到请求的网页上,网页底稿函数使得至少一个消息以预分配的节拍从请求的客户机发送;以及
经过网络将具有网页底稿函数的网页发送到请求的客户机。
17.如权利要求16所述的方法,其中检索步骤包括对于至少某些网页信息访问一个文件目录的步骤。
18.如权利要求16所述的方法,其中检索步骤包括对于至少某些网页信息访问一个数据库的步骤。
19.如权利要求16所述的方法,还包括步骤:
将其他请求的客户机锁定在请求的网页以外直到网页底稿函数不再以预分配节拍中发送至少一个消息为止。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/996,884 | 1997-12-23 | ||
US08/996,884 US6178439B1 (en) | 1997-12-23 | 1997-12-23 | HTTP session control |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1283356A CN1283356A (zh) | 2001-02-07 |
CN1113517C true CN1113517C (zh) | 2003-07-02 |
Family
ID=25543395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN98812627.3A Expired - Lifetime CN1113517C (zh) | 1997-12-23 | 1998-12-23 | 为网上客户提供访问的网络服务器和创建网页的方法 |
Country Status (8)
Country | Link |
---|---|
US (1) | US6178439B1 (zh) |
EP (1) | EP1042894B1 (zh) |
JP (1) | JP4318854B2 (zh) |
CN (1) | CN1113517C (zh) |
CA (1) | CA2313406C (zh) |
DE (1) | DE69834579T2 (zh) |
ES (1) | ES2264222T3 (zh) |
WO (1) | WO1999034571A1 (zh) |
Families Citing this family (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9818872D0 (en) * | 1998-08-28 | 1998-10-21 | Green Cathedral Limited | Computer network information use monitoring |
NO308019B1 (no) * | 1998-11-27 | 2000-07-03 | Ericsson Telefon Ab L M | FremgangsmÕte for Õ utvide bruken av SIP (Session Initiation Protocol) |
US6834302B1 (en) * | 1998-12-31 | 2004-12-21 | Nortel Networks Limited | Dynamic topology notification extensions for the domain name system |
US6397256B1 (en) * | 1999-01-27 | 2002-05-28 | International Business Machines Corporation | Monitoring system for computers and internet browsers |
US6470349B1 (en) * | 1999-03-11 | 2002-10-22 | Browz, Inc. | Server-side scripting language and programming tool |
US6560607B1 (en) * | 1999-05-11 | 2003-05-06 | Microsoft Corporation | Client side bulk updates on the world wide web |
US6675216B1 (en) * | 1999-07-06 | 2004-01-06 | Cisco Technolgy, Inc. | Copy server for collaboration and electronic commerce |
US6954783B1 (en) * | 1999-11-12 | 2005-10-11 | Bmc Software, Inc. | System and method of mediating a web page |
EP1292871A4 (en) * | 2000-05-17 | 2007-10-17 | Interwoven Inc | METHOD AND APPARATUS FOR AUTOMATICALLY DEPLOYING DATA AND SIMULTANEOUSLY EXECUTING PROGRAM SEQUENCES IN A COMPUTER NETWORK |
US7657887B2 (en) * | 2000-05-17 | 2010-02-02 | Interwoven, Inc. | System for transactionally deploying content across multiple machines |
US7080321B2 (en) * | 2000-06-23 | 2006-07-18 | Aspect Software, Inc. | Dynamic help option for internet customers |
EP1191757B1 (de) * | 2000-09-22 | 2007-01-17 | Siemens Aktiengesellschaft | Anordnung zur Prüfung der Erreichtbarkeit eines Clients |
US7299403B1 (en) | 2000-10-11 | 2007-11-20 | Cisco Technology, Inc. | Methods and apparatus for obtaining a state of a browser |
US8122236B2 (en) | 2001-10-24 | 2012-02-21 | Aol Inc. | Method of disseminating advertisements using an embedded media player page |
KR100853409B1 (ko) * | 2000-10-24 | 2008-08-21 | 에이오엘 엘엘씨 | 내장형 미디어 플레이어 페이지를 이용한 광고의 산포 방법, 및 이러한 방법을 실행하도록 프로세서에게 지시하기 위해 컴퓨터 프로그램 코드로 인코딩된 컴퓨터-판독가능 매체 |
US7019741B2 (en) * | 2001-03-23 | 2006-03-28 | General Electric Company | Methods and systems for simulating animation of web-based data files |
US7447742B1 (en) * | 2001-03-30 | 2008-11-04 | Mirapoint Software, Inc. | Dual-frame user interface on generic client software |
US20020143958A1 (en) * | 2001-03-30 | 2002-10-03 | Montero Gabriel G. | Method and apparatus for asynchronous time-based updates of http sessions |
US20050160088A1 (en) * | 2001-05-17 | 2005-07-21 | Todd Scallan | System and method for metadata-based distribution of content |
JP2002342211A (ja) * | 2001-05-17 | 2002-11-29 | Accent:Kk | アクセス行動分析システム |
EP1274024A1 (en) * | 2001-07-05 | 2003-01-08 | Canon Europa N.V. | Method, computer programme, and device of handling data to be used for returning items |
US6973492B2 (en) * | 2001-09-07 | 2005-12-06 | International Business Machines Corporation | Method and apparatus for collecting page load abandons in click stream data |
US6892200B2 (en) | 2001-11-13 | 2005-05-10 | America Online, Incorporated | Javascript engine |
JP2003233585A (ja) * | 2002-02-07 | 2003-08-22 | Dainippon Printing Co Ltd | Webアプリケーションのセッション管理方法およびHTMLファイル |
US20050010651A1 (en) * | 2003-07-10 | 2005-01-13 | Jie Xu | Communication system supporting communication between executable applications |
US7380009B2 (en) * | 2003-08-07 | 2008-05-27 | Interantional Business Machines, Incorporated | Method, system and program product for delayed disconnection of a client from a server |
US7185238B2 (en) * | 2003-09-30 | 2007-02-27 | Sap Ag | Data loss prevention |
US20050204018A1 (en) * | 2004-03-10 | 2005-09-15 | General Electric Company | Networked system and method for managing computer memory in the networked system |
US7627166B2 (en) * | 2005-09-28 | 2009-12-01 | Yahoo! Inc. | Method and mechanism for processing image data |
US7831111B2 (en) * | 2005-10-31 | 2010-11-09 | Yahoo! Inc. | Method and mechanism for retrieving images |
US7583839B2 (en) * | 2005-10-31 | 2009-09-01 | Yahoo! Inc. | Method and mechanism for analyzing the texture of a digital image |
US20070098257A1 (en) * | 2005-10-31 | 2007-05-03 | Shesha Shah | Method and mechanism for analyzing the color of a digital image |
US20070112954A1 (en) * | 2005-11-15 | 2007-05-17 | Yahoo! Inc. | Efficiently detecting abnormal client termination |
JP4772483B2 (ja) * | 2005-12-05 | 2011-09-14 | 株式会社エヌ・ティ・ティ・データ | 情報処理システム、情報処理装置及びプログラム |
US7904759B2 (en) * | 2006-01-11 | 2011-03-08 | Amazon Technologies, Inc. | System and method for service availability management |
US8601112B1 (en) | 2006-03-14 | 2013-12-03 | Amazon Technologies, Inc. | Method and system for collecting and analyzing time-series data |
US9037698B1 (en) * | 2006-03-14 | 2015-05-19 | Amazon Technologies, Inc. | Method and system for collecting and analyzing time-series data |
US7979439B1 (en) | 2006-03-14 | 2011-07-12 | Amazon Technologies, Inc. | Method and system for collecting and analyzing time-series data |
US20080270510A1 (en) * | 2006-04-27 | 2008-10-30 | Larry D Kolinek | Process to allow an internet website to display dynamic, real-time, customized content to the visitor |
US9633356B2 (en) * | 2006-07-20 | 2017-04-25 | Aol Inc. | Targeted advertising for playlists based upon search queries |
JP4928990B2 (ja) * | 2007-03-09 | 2012-05-09 | 三菱重工業株式会社 | ファイアウォール装置 |
US8239420B1 (en) | 2007-07-19 | 2012-08-07 | Salesforce.Com, Inc. | System, method and computer program product for locking data in an on-demand database service |
WO2010004968A1 (ja) * | 2008-07-08 | 2010-01-14 | 株式会社ブロードテイル | コンテンツ提供サーバ装置 |
US9684736B2 (en) * | 2009-01-29 | 2017-06-20 | Oracle International Corporation | Communication handler for flex integration with a secure application |
US9063806B2 (en) * | 2009-01-29 | 2015-06-23 | Oracle International Corporation | Flex integration with a secure application |
US9659335B2 (en) * | 2009-01-29 | 2017-05-23 | Oracle International Corporation | Sample management for a sales call |
US9760381B2 (en) * | 2009-01-30 | 2017-09-12 | Oracle International Corporation | Configurable toolbar |
US20100195808A1 (en) * | 2009-01-30 | 2010-08-05 | Oracle International Corporation | Adding Contacts During Personalized Content Delivery and Analytics |
US10169599B2 (en) * | 2009-08-26 | 2019-01-01 | International Business Machines Corporation | Data access control with flexible data disclosure |
US9224007B2 (en) | 2009-09-15 | 2015-12-29 | International Business Machines Corporation | Search engine with privacy protection |
US9600134B2 (en) | 2009-12-29 | 2017-03-21 | International Business Machines Corporation | Selecting portions of computer-accessible documents for post-selection processing |
CN102479151B (zh) * | 2010-11-26 | 2014-10-22 | 腾讯科技(深圳)有限公司 | 一种网页访问速度的测试方法及装置 |
US8745157B2 (en) * | 2011-09-02 | 2014-06-03 | Trading Technologies International, Inc. | Order feed message stream integrity |
US9195853B2 (en) | 2012-01-15 | 2015-11-24 | International Business Machines Corporation | Automated document redaction |
US9892278B2 (en) | 2012-11-14 | 2018-02-13 | International Business Machines Corporation | Focused personal identifying information redaction |
JP5958490B2 (ja) * | 2014-03-31 | 2016-08-02 | コニカミノルタ株式会社 | ウェブシステム、ウェブサーバ、データ配信方法、およびコンピュータプログラム |
US20230216935A1 (en) * | 2021-12-30 | 2023-07-06 | The Nielsen Company (Us), Llc | Methods and apparatus to identify main page views |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5218695A (en) | 1990-02-05 | 1993-06-08 | Epoch Systems, Inc. | File server system having high-speed write execution |
US5768521A (en) * | 1994-05-16 | 1998-06-16 | Intel Corporation | General purpose metering mechanism for distribution of electronic information |
WO1996029663A1 (en) | 1995-03-17 | 1996-09-26 | Microsoft Corporation | Computer system and computer-implemented process for remote editing of computer files |
US5572643A (en) * | 1995-10-19 | 1996-11-05 | Judson; David H. | Web browser with dynamic display of information objects during linking |
US5862325A (en) * | 1996-02-29 | 1999-01-19 | Intermind Corporation | Computer-based communication system and method using metadata defining a control structure |
JP3526688B2 (ja) * | 1996-03-29 | 2004-05-17 | 富士通株式会社 | コネクションレスな通信における従量制課金システムおよび方法 |
US5901287A (en) * | 1996-04-01 | 1999-05-04 | The Sabre Group Inc. | Information aggregation and synthesization system |
US5715453A (en) * | 1996-05-31 | 1998-02-03 | International Business Machines Corporation | Web server mechanism for processing function calls for dynamic data queries in a web page |
US5832520A (en) * | 1996-07-03 | 1998-11-03 | Miller, Call, Plauck And Miller | Automatic file differencing and updating system |
US5897622A (en) * | 1996-10-16 | 1999-04-27 | Microsoft Corporation | Electronic shopping and merchandising system |
US5905492A (en) * | 1996-12-06 | 1999-05-18 | Microsoft Corporation | Dynamically updating themes for an operating system shell |
SE511342C2 (sv) | 1996-12-09 | 1999-09-13 | Telia Ab | Metod och anordning för telefoni via Internet |
US5796952A (en) * | 1997-03-21 | 1998-08-18 | Dot Com Development, Inc. | Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database |
US5951642A (en) * | 1997-08-06 | 1999-09-14 | Hypertak, Inc. | System for collecting detailed internet information on the basis of the condition of activities of information viewers viewing information of service providers |
-
1997
- 1997-12-23 US US08/996,884 patent/US6178439B1/en not_active Expired - Lifetime
-
1998
- 1998-12-23 WO PCT/GB1998/003900 patent/WO1999034571A1/en active IP Right Grant
- 1998-12-23 CA CA002313406A patent/CA2313406C/en not_active Expired - Fee Related
- 1998-12-23 CN CN98812627.3A patent/CN1113517C/zh not_active Expired - Lifetime
- 1998-12-23 EP EP98962625A patent/EP1042894B1/en not_active Expired - Lifetime
- 1998-12-23 JP JP2000527067A patent/JP4318854B2/ja not_active Expired - Lifetime
- 1998-12-23 DE DE69834579T patent/DE69834579T2/de not_active Expired - Lifetime
- 1998-12-23 ES ES98962625T patent/ES2264222T3/es not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE69834579T2 (de) | 2007-05-03 |
EP1042894A1 (en) | 2000-10-11 |
JP4318854B2 (ja) | 2009-08-26 |
CA2313406C (en) | 2009-01-20 |
US6178439B1 (en) | 2001-01-23 |
DE69834579D1 (de) | 2006-06-22 |
CN1283356A (zh) | 2001-02-07 |
EP1042894B1 (en) | 2006-05-17 |
ES2264222T3 (es) | 2006-12-16 |
CA2313406A1 (en) | 1999-07-08 |
WO1999034571A1 (en) | 1999-07-08 |
JP2002500404A (ja) | 2002-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1113517C (zh) | 为网上客户提供访问的网络服务器和创建网页的方法 | |
US7269633B2 (en) | Method and system for playback of dynamic HTTP transactions | |
US6539370B1 (en) | Dynamically generated HTML formatted reports | |
US8589388B2 (en) | Method, system, and software for transmission of information | |
US7730194B2 (en) | Enabling access to an application through a network portal | |
US8280984B2 (en) | Adding syndication feeds to calendar data exchange enabled programs | |
US20030081000A1 (en) | Method, program and computer system for sharing annotation information added to digital contents | |
US20050240620A1 (en) | Arrangement for controlling and logging voice enabled web applications using extensible markup language documents | |
JP2005526999A (ja) | ウエッブベースのヘルプ/トレーニング用コンテンツ | |
CN1283820A (zh) | 超文本标记语言文件捕获方法,信息终端支持装置和存储介质 | |
CN1337026A (zh) | 用于表达频道化数据的系统和方法 | |
US7952607B2 (en) | Method and apparatus for efficient presentation of content over a network to a visually impaired user | |
CN1319206A (zh) | 记录图像文件的计算机可读记录媒体、生成记录媒体的装置、记录图像文件生成程序的媒体,发送图像文件的装置处理图像文件的装置及记录图象文件处理程序的媒体 | |
CN1682183A (zh) | 在客户机-服务器通信中处理增量数据的方法和计算机系统 | |
JP2008027043A (ja) | ウェブサイト管理システム、ウェブサイト管理方法、ウェブサイト管理プログラムおよび該プログラムを記録した記録媒体 | |
WO2000057321A2 (en) | Story workflow management system and method | |
US6205474B1 (en) | Access mechanism for parallel status update for multiple servers | |
CN1926532A (zh) | 能用给定的访问方法进行数据发送的数据处理装置 | |
US6052716A (en) | Apparatus and method in hierarchy of internet web pages for fast return to a network page | |
CN1244057C (zh) | 内容服务器装置和内容提供方法 | |
US20020073166A1 (en) | Method, system, and apparatus for providing message data regarding events associated with websites | |
CN101311927A (zh) | 页面附加信息共享管理方法和设备 | |
US7673229B1 (en) | Apparatus and method for generating sub-codes to a turbo-encoder | |
US8838673B2 (en) | Method and apparatus to generate audio versions of web pages | |
US9959300B1 (en) | Systems and methods for article location and retrieval |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CX01 | Expiry of patent term | ||
CX01 | Expiry of patent term |
Granted publication date: 20030702 |