CN101073071A - 推断无状态通信协议中的服务器状态 - Google Patents
推断无状态通信协议中的服务器状态 Download PDFInfo
- Publication number
- CN101073071A CN101073071A CNA2005800284905A CN200580028490A CN101073071A CN 101073071 A CN101073071 A CN 101073071A CN A2005800284905 A CNA2005800284905 A CN A2005800284905A CN 200580028490 A CN200580028490 A CN 200580028490A CN 101073071 A CN101073071 A CN 101073071A
- Authority
- CN
- China
- Prior art keywords
- server
- value
- title
- data object
- client devices
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- 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/14—Session management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- 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/14—Session management
- H04L67/142—Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
Abstract
由中间服务器通过监控并分析应用服务器和客户机设备之间传送的分组,在基于无状态通信协议的网络上的应用服务器与客户机设备之间传送的分组中识别服务器状态对象。将这些分组剖析成多个名称-值对。计算具有相同名称字段的名称-值对的熵,并基于计算的熵选择可能是服务器状态对象的候选数据对象。将在应用服务器和客户机设备之间双向传送的候选数据对象识别为服务器状态对象。
Description
技术领域
本发明一般涉及无状态通信协议,更具体地说涉及识别依据无状态通信协议、例如XML(扩充标记语言)或SOAP(简单对象访问协议)在服务器和客户机设备之间传送的分组中的服务器状态对象。
背景技术
诸如HTTP(超文本传输协议)、XML或SOAP的无状态通信协议独立地执行每个命令,而不保留先前命令的任何状态信息。同样地,在严格的无状态协议中,服务器将不存储先前与服务器通信的客户机装置的身份,因此,将不会按照先前事务来处理该客户机的当前事务。
因此通常使用诸如cookie或隐藏字段的服务器状态对象来标识使用无状态通信协议与服务器通信的客户机设备。例如,cookie是一种服务器状态对象,它使服务器Web网站能够将有关客户机设备自己的信息存储在客户机设备上,以便服务器Web网站能够在后来确定该客户机设备的身份。因此,服务器可以通过检查服务器状态对象以确定客户机设备先前与服务器通信过,并使客户机设备能够基于已建立的身份与服务器执行事务,而无需另外的工作来识别该客户机设备。
因为服务器状态对象为服务器标识客户机设备,并使客户机设备能够基于确定的身份与服务器通信,服务器应该具有一种自我保护方式以防止假冒某个身份的客户设备的欺诈尝试。因此,依据无状态通信协议,服务器状态对象通常不可变的,以便防止服务器受到此类欺诈尝试。即,当服务器将服务器状态对象发送到客户机设备时,服务器预期相同的服务器状态对象在客户机设备上未被更改或篡改地返回。
依据如HTTP的结构良好定义的通信协议,如防火墙、网关或应用代理的中间服务器可以容易地识别应用服务器和客户机设备之间传送的分组中的服务器状态对象,因为包含服务器状态对象的分组配置为包含标识此类服务器状态对象的某些字段。例如,cookie包含如<set-cookie:>的字符串,以及隐藏字段包含如<input type=hidden...>的字符串,它们可以被中间服务器容易地识别出。
但是,在如XML或SOAP的欠结构化的无状态通信协议中,中间服务器无法容易地识别服务器状态对象,因为这些协议设计为允许应用设计人员随意定义他们自己的对象。如防火墙的中间服务器通常无权访问应用设计人员在应用服务器中提供的协议定义,因此,应用设计人员随意定义的服务器状态对象无法容易地被中间服务器识别。例如,在一个应用服务器中,服务器状态可能保存在“ACCOUNTNUMBER”对象中,而在另一个应用中,相同的服务器状态可能保存在“CLIENT ID”对象中。应用服务器应该有权访问这些协议定义,因此可识别这些服务器状态对象。但是,中间服务器(防火墙或其他过滤器)将没有在中间服务器之后的所有应用的协议/应用定义。
因此,需要由中间服务器识别依据欠结构化的无状态通信协议(例如XML或SOAP)在服务器与客户机设备之间传送的服务器状态对象,这些协议没有标识服务器状态对象的预定义方式。
发明内容
本发明支持识别基于无状态通信协议的网络上的应用服务器与客户机设备之间传送的分组中的服务器状态对象,其中这些分组由无权访问客户机设备和应用服务器使用的协议定义的中间服务器接收。由中间服务器监控在应用服务器和客户机设备之间传送的分组,并将其剖析成多个名称-值对(数据对象)。计算具有相同名称字段的数据对象的熵,并基于计算的熵选择可能是服务器状态对象的候选数据对象。在一个实施例中,选择熵高于阈值的数据对象作为候选数据对象。最后,将确定为已在应用服务器和客户机设备之间双向传送过的候选数据对象标识为服务器状态对象。
在一个实施例中,通过将具有相同名称字段的已剖析数据对象的值字段合并、使用基于熵的压缩算法压缩合并的值字段、并将压缩的合并值字段的总大小除以具有相同名称字段的数据对象的总数来计算数据对象的熵。
本发明的实施例可以识别甚至在使用欠结构化的无状态通信协议(例如XML或SOAP)时在应用服务器与客户机设备之间传送的服务器状态对象。因此,中间服务器通过检查所识别的服务器状态对象来识别先前与应用服务器通信过的客户机设备,而无需对应用服务器和客户机使用的底层应用协议有任何访问权。这使底层应用协议能够被修改,或是新应用能够驻留在网络上,而无需持续更新中间服务器保存的信息。这还便于实现使用此类欠结构化的无状态通信协议的因特网事务。
附图说明
图1是说明根据本发明一个实施例的用于识别服务器状态对象的系统的体系结构的框图。
图2是说明根据本发明一个实施例的用于识别服务器状态对象的方法的流程图。
图3是说明名称-值对的示意图。
图4是说明识别服务器与客户机设备之间双向传送的名称-值对的步骤的示意图。
具体实施方式
图1是说明根据本发明一个实施例的用于识别服务器状态对象的系统100的体系结构的框图。系统100耦合在应用服务器102与客户机设备104之间以监控在服务器102与客户机设备104之间传送的分组118。分组118可以在应用服务器102与客户机设备104之间双向传送,或仅单向地从应用服务器102传送到客户机设备104或反之亦然。使用无状态数据通信协议(例如XML、SOAP或HTTP)在应用服务器102和客户机设备之间传送分组118。但是,系统100通常没有由应用服务器106提供的据以剖析分组来识别服务器状态对象的的协议定义。虽然图1中示出一个客户机设备104,但是应该注意在实际中将有大量客户机设备104与应用服务器102通信。而且虽然仅示出一个应用服务器102,但是可以在系统100之后部署任何数量的应用服务器102,以服务客户机设备104。
在一个实施例中,系统100包括应用防火墙106、学习引擎108和数据存储模块110。应用防火墙106监控从服务器102传送到客户机设备104以及从客户机设备104传送到服务器102的分组118。应用防火墙106剖析所监控的分组118,并根据学习引擎108提供的过滤规则来过滤恶意或非期望的分组118。过滤规则116向应用防火墙106提供用于放行或阻止服务器102和客户机设备104之间传送的某些分组118的准则。
应用防火墙106还剖析所监控的分组118并向学习引擎108提供根据学习引擎108提供的数据收集参数112收集的数据114。数据收集参数112向应用防火墙106提供有关应用防火墙106应该从监控的分组118收集的数据类型的准则。这些数据收集参数112包括例如如何根据通信协议剖析分组118以收集对应于分组118的名称-值(名称-属性)对。但是,在典型实施例中,应用防火墙106将无权像应用服务器104使用那样访问底层协议定义(例如文档类型定义(DTD))。
在一个实施例中,应用防火墙106本身可以是运行专用于应用防火墙功能的软件的计算机系统。在另一个实施例中,应用防火墙106可以是作为运行在计算机系统100上的大软件系统的一部分的软件模块。
学习引擎108将过滤规则116和数据收集参数112提供到应用防火墙106,并接收由应用防火墙106根据数据收集参数112收集的数据114。分组118是根据所采用的通信协议在服务器102与客户机设备104之间传送的那些分组。例如,分组118还可以是XML分组或SOAP分组。应用防火墙106将分组118剖析成名称-值(名称-属性)对象114,以及学习引擎108接收这些名称-值对114用于进一步处理来识别分组118中的服务器状态对象。名称-值(名称-属性)对在本文中也称为“数据对象”。
学习引擎108通过分析从应用防火墙106接收到的数据对象114或名称-值对114来识别服务器102与客户机设备104之间传送的分组118中的服务器状态对象。就此而言,学习引擎108识别名称-值对114,并对每个识别的名称字段,合并该名称的值。在累计最小数量的每个名称的值之后,学习引擎108然后使用压缩算法压缩该名称的合并的值。压缩算法可以是基于熵的压缩算法,例如Lempel-Ziv型压缩算法。然后,学习引擎108通过将压缩的值的总大小除以具有相同名称的值的总数来计算每个压缩的值的熵。
学习引擎108根据它们计算的熵从数据对象中选择可能是服务器状态对象的候选数据对象。因为服务器状态对象通常在它们的值字段中包含相对不同的字符串,以便维护每个客户机的状态,所以服务器状态对象的熵可能高。因此,在一个实施例中,学习引擎108选择具有比阈值高的熵值的数据对象。熵的阈值根据用于传送分组118的底层通信协议而有所不同。典型的服务器状态对象具有对应于32位或更多的熵值,因为它常常是服务器实现中的对象引用或数据库表中的关键字。因此,在一个实施例中,阈值设在对应于24位的熵级。
如果一个或多个候选数据对象从应用服务器102传送到客户机设备104并且从客户机设备104传送到应用服务器102,则学习引擎108将一个或多个候选数据对象识别为服务器状态对象。这是因为服务器状态对象应已由应用服务器102传送到客户机设备104并存储在客户机设备104中,以便应用服务器102可以稍后识别客户机设备104,并且服务器状态对象后来还从客户机设备104发送到应用服务器102,以便可以由应用服务器102识别客户机设备104。
在一个实施例中,学习引擎108通过将依据通信协议的相关分组划分成从服务器传送到客户机设备的第一组分组和从客户机设备传送到服务器的第二组分组,来识别在服务器102与客户机设备104之间双向传送的候选数据对象。相关分组是对应于依据该通信协议的“相关消息”的分组。例如,形成HTTP会话的请求/响应通信的一部分的分组是依据HTTP协议的相关分组。在SOAP中,可以在分开的连接中执行请求和响应。因此,在外部提供了依据SOAP的相关分组的概念。在一个实施例中,可以将相同源与目的地点之间的消息(基于源IP地址/端口和目的地IP地址/端口)视为依据SOAP的相关分组。在其他实施例中,将两个相同服务(URL(统一资源定位器)标识的)之间的消息视为依据SOAP的相关分组。学习引擎108将第一组分组和第二组分组中包含的候选数据对象识别为服务器状态对象。
在一个实施例中,数据存储模块110可以临时地存储收集的数据114和其他中间数据,而当从应用防火墙106接收数据对象114时,学习引擎108实时地分析收集的数据114以识别分组118中的服务器状态对象。在另一个实施例中,存储模块110将接收到的数据对象在收集的数据114中存储预定的时间期间或直到存储的数据对象的数量达到某个阈值为止,并且学习引擎108成批地处理存储的数据对象以确定这些数据对象是否是服务器状态对象。
图2是说明根据本发明一个实施例用于识别基于无状态通信协议的网络上的服务器102与客户机设备104之间传送的分组118中的服务器状态对象的方法的流程图。图2所描述的方法可以在图1的系统100中执行。
当方法开始时202,应用防火墙106将从服务器102传送到客户机设备104或从客户机设备104传送到服务器102的分组118剖析204成多个名称-值对(数据对象)。图3描述名称-值对303的示例。参考图3,剖析分组118并将其划分成名称302和对应于名称302的值(属性)304。例如,名称“Order ID(序号)”305可以是对应于在服务器Web网站102与客户机设备104之间执行的因特网销售事务的名称。这些名称字段“Order ID”305具有对应值字段“ABCDEFABCDEF”、“111BBCCCDDD”和“DDDCCC1112233”。名称字段“Author(作者)”306、“Account No.(帐号)”307和“Title(标题)”308分别具有对应的值字段“John”、“123456789”和“InternetSales”。虽然图3仅示出三个名称-值对303,但是在实际中可以有由应用防火墙106在任何给定时间维护的数百或甚至数千名称-值对303。
再次参考图2,学习引擎108将具有相同名称字段的所剖析的数据对象的值字段合并206。例如,图3中一些名称-值对具有相同的名称“OrderID”305。因此,将对应于名称“Order ID”的值字段304合并,得到对应于名称字段“Order ID”305的合并的值“ABCDEFABCDEF111BBCCCDDDDDDCCC1112233”。
在识别了任何给定名称-值对的最小数量的名称-值对之后,学习引擎使用压缩算法将该名称的合并的值压缩208。在一个实施例中,该压缩算法可以是基于熵的压缩算法,例如Lempel-Ziv型压缩算法。然后,学习引擎108通过将压缩的合并值列表的总大小除以该名称的名称-值对的总数来计算压缩的合并值的熵。然后,在图3所示的示例中,使用压缩算法压缩208合并的值列表“ABCDEFABCDEF111BBCCCDDDDDDCCC1112233”,将压缩的合并值的总大小除以具有相同名称字段(“Order ID”)的名称-值对的数量(图3的示例中为3)。
如所见到的,将有大量数据对象作为服务器状态对象的潜在候选项,对于这些候选项的每一个,将有一个计算的熵测量值。从此潜在候选项集合中,学习引擎108根据计算的熵来选择212可能是服务器状态对象的候选名称-值对象。如前文描述的,在一个实施例中,学习引擎108选择具有比预定阈值高的熵测量值的名称-值对作为候选名称-值对。熵的阈值根据用于传送分组118的底层通信协议而有所不同。典型的服务器状态对象具有对应于32位或更多的熵值,因为它常常是服务器实现中的对象引用或数据库表中的关键字。因此,在一个实施例中,阈值设在对应于24位的熵级。因此,在前文中,因为具有足够高的熵,所以可以选择“Order ID”和“Account No.”,而不会选择“Author”和“Title”。
这样,学习引擎108确定214已在应用服务器102与客户机设备104之间双向发送这些候选名称-值对的哪一些。如果已双向发送候选名称-值对,则学习引擎108将候选名称-值对标记218为服务器状态对象。如果未双向发送名称-值对,则学习引擎108确定216该名称-值对不是服务器状态对象。
图4说明识别图2所描述的服务器与客户机设备之间双向传送的名称-值对的过程。如前文描述的,如果一个或多个候选名称-值对在应用服务器102与客户机设备104之间双向传送过,则学习引擎108将一个或多个候选名称-值对识别为服务器状态对象。这是因为服务器状态对象应已由应用服务器102传送到客户机设备104并存储在客户机设备104中,以便应用服务器102可以稍后识别客户机设备104,并且服务器状态对象后来还从客户机设备104发送到应用服务器102,以便可以由应用服务器102识别客户机设备104。
参考图4,在一个实施例中,学习引擎108按相关分组的相关联的时间戳的顺序将依据该通信协议的相关分组划分成从应用服务器102传送到客户机设备104的第一组分组402和从客户机设备104传送到服务器102的第二组分组404,其中它们相关联的时间戳指示应用防火墙106接收对应的分组118。相关分组是对应于依据该通信协议的相关消息的分组。例如,形成HTTP会话的请求/响应的一部分的分组是依据HTTP协议的相关分组。在SOAP中,可以在分开的连接中执行请求和响应。因此,在外部提供了依据SOAP的相关分组的概念。在一个实施例中,可以将相同源与目的地点之间的消息(基于源IP地址/端口和目的地IP地址/端口)视为依据SOAP的相关分组。在其他实施例中,将两个相同服务(URL(统一资源定位器)标识的)之间的消息视为依据SOAP的相关分组。在图4所示的示例中,名称-值对406、408、410和412是在应用服务器102和客户机设备104之间双向传送的候选名称-值对。应该注意,还可能有除了候选名称-值对406、408、410、412之外的其他候选名称-值对,虽然它们未在图4中示出。
学习引擎108将分组的第一组分组402和第二组分组404中包含的名称-值对识别为服务器状态对象。例如,在分组的第一组402和分组的第二组404中都包含候选名称-值对406、408、410、412、420、422,由学习引擎108将它们确定为服务器状态对象。但是,候选名称-值对416和418仅在分组的第二组404中包含,因此不是服务器状态对象。
本发明具有如下优点:即使是使用欠结构化的无状态通信协议(例如XML或SOAP),而其中中间服务器无权访问底层应用协议的情况下,如过滤器或网关的中间服务器仍可以识别应用服务器与客户机设备之间传送的服务器状态对象。这便于实现使用此类欠结构化的无状态数据通信协议的因特网事务,因为服务器可以通过检查服务器状态对象来识别先前与服务器通信过的客户机设备。
虽然本发明是参考多个实施例来描述的,但是可以在本发明范围内进行多种修改。例如,本发明不限于任何通信协议,并可以与任何无状态协议一起使用。图1的系统100的体系结构仅仅是示范性的,并能以达到系统100能够监控在应用服务器102与客户机设备104之间双向传送的分组的程度的任何方式修改该体系结构。可以使用任何类型的压缩算法来实现数据对象的值字段的压缩,计算合并的压缩数据对象的熵的方法不限于本文描述的内容。识别双向分组的方法不限于图4中本文描述的内容,还可以使用不同的方法,只要它们适于识别在应用服务器102与客户机设备之间双向传送的分组即可。本发明还可以在多个客户机设备104与应用服务器102通信或客户机设备104与多个应用服务器102通信时识别服务器状态对象。
因此,本发明的公开旨在说明,而非限制本发明的范围,本发明的范围由所附权利要求提出。
Claims (48)
1.一种用于识别在基于通信协议的网络上的服务器与客户机设备之间传送的分组中的服务器状态对象的方法,所述方法包括:
计算所述分组中的多个数据对象的熵测量值;
根据它们的熵测量值从所述多个数据对象中选择候选数据对象;以及
响应所述候选数据对象的至少一个候选数据对象在所述服务器与所述客户机设备之间双向传送,将所述至少一个候选数据对象识别为服务器状态对象。
2.如权利要求1所述的方法,其特征在于,计算熵测量值包括:
压缩所述数据对象;以及
计算所压缩的数据对象的熵测量值。
3.如权利要求2所述的方法,其特征在于,压缩所述数据对象包括:
将具有相同名称字段的数据对象合并;以及
使用压缩算法压缩所合并的数据对象。
4.如权利要求3所述的方法,其特征在于,所述压缩算法是基于熵的压缩算法。
5.如权利要求3所述的方法,其特征在于,计算所压缩的数据对象的熵测量值包括将压缩的合并数据对象的值字段的总大小除以具有相同名称字段的数据对象的总数。
6.如权利要求1所述的方法,其特征在于,通过如下操作确定所述至少一个候选数据对象已在所述服务器和所述客户机设备之间双向传送过:
将依据所述通信协议的相关分组划分成从所述服务器传送到所述客户机设备的第一组分组和从所述客户机设备传送到所述服务器的第二组分组;以及
确定所述至少一个候选数据对象是否包括在所述第一组分组和所述第二组分组中。
7.如权利要求6所述的方法,其特征在于,所述相关分组是对应于依据所述通信协议的相关消息的分组。
8.一种用于识别在基于通信协议的网络上的服务器与客户机设备之间传送的分组中的服务器状态对象的方法,所述方法包括:
将所述分组剖析成多个名称-值对;
计算具有相同名称的名称-值对的熵;
选择具有高于阈值的熵的名称-值对作为所述服务器状态对象的候选项;
确定所述候选项是否在所述服务器和所述客户机设备之间双向传送过;以及
响应确定所述候选项的至少一个候选项在所述服务器与所述客户机设备之间双向传送过,确定所述至少一个候选项为服务器状态对象。
9.如权利要求8所述的方法,其特征在于,计算具有相同名称的名称-值对的熵包括:
压缩具有相同名称的名称-值对;以及
计算所压缩的名称-值对的熵。
10 .如权利要求9所述的方法,其特征在于,压缩具有相同名称的名称-值对包括:
将具有相同名称的名称-值对的值字段合并;以及
使用压缩算法压缩所述名称-值对的合并的值字段。
11.如权利要求10所述的方法,其特征在于,所述压缩算法是基于熵的压缩算法。
12.如权利要求10所述的方法,其特征在于,计算所压缩的名称-值对的熵包括将所述名称-值对的压缩的合并值字段的总大小除以具有相同名称的名称-值对的总数。
13.如权利要求8所述的方法,其特征在于,确定所述候选项是否在所述服务器和所述客户机设备之间双向传送过包括:
将依据所述通信协议的相关分组划分成从所述服务器传送到所述客户机设备的第一组分组和从所述客户机设备传送到所述服务器的第二组分组;以及
确定所述候选项是否包括在所述第一组分组和所述第二组分组中。
14.如权利要求13所述的方法,其特征在于,所述相关分组是对应于依据所述通信协议的相关消息的分组。
15.一种用于识别在基于通信协议的网络上的服务器与客户机设备之间传送的分组中的服务器状态对象的系统,所述系统包括:
耦合在所述服务器和所述客户机设备之间的剖析模块,用于将两者之间传送的分组剖析成多个数据对象;以及
耦合到所述剖析模块的分析模块,用于接收所述数据对象并通过如下操作确定名称-值对是否是服务器状态对象:
计算所述数据对象的熵测量值;
根据它们的熵测量值从所述数据对象中选择候选数据对象;以及
响应所述候选数据对象的至少一个候选数据对象在所述服务器与所述客户机设备之间双向传送,将所述至少一个候选数据对象识别为服务器状态对象。
16.如权利要求15所述的系统,所述剖析模块作为防火墙工作,根据所述分析模块提供的规则过滤在所述服务器和所述客户机设备之间传送的分组。
17.如权利要求15所述的系统,所述剖析模块根据所述分析模块提供的数据收集参数收集有关在所述服务器和所述客户机设备之间传送的分组的数据。
18.如权利要求15所述的系统,当从所述剖析模块接收到所述数据对象时,所述分析模块实时地处理所述数据对象以确定所述数据对象是否是服务器状态对象。
19.如权利要求15所述的系统,还包括耦合到所述分析模块的存储模块,所述分析模块将接收到的数据对象存储在所述存储模块中并成批地处理所存储的数据对象以确定所述数据对象是否是服务器状态对象。
20.如权利要求15所述的系统,其特征在于,所述分析模块通过如下操作计算所述数据对象的熵测量值:
压缩所述数据对象;以及
计算所压缩的数据对象的熵测量值。
21.如权利要求20所述的系统,其特征在于,所述分析模块通过如下操作压缩所述数据对象:
将具有相同名称字段的数据对象合并;以及
使用压缩算法压缩所合并的数据对象。
22.如权利要求21所述的系统,其特征在于,所述压缩算法是基于熵的压缩算法。
23.如权利要求21所述的系统,其特征在于,所述分析模块通过将所压缩的合并数据对象的值字段的总大小除以具有相同名称字段的数据对象的总数来计算所压缩的数据对象的熵测量值。
24.如权利要求15所述的系统,其特征在于,所述分析模块通过如下操作确定至少一个候选数据对象在所述服务器和所述客户机设备之间双向传送过:
将依据所述通信协议的相关分组划分成从所述服务器传送到所述客户机设备的第一组分组和从所述客户机设备传送到所述服务器的第二组分组;以及
确定所述至少一个候选数据对象是否包括在所述第一组分组和所述第二组分组中。
25.如权利要求24所述的系统,其特征在于,所述相关分组是对应于依据所述通信协议的相关消息的分组。
26.一种用于识别在基于通信协议的网络上的服务器与客户机设备之间传送的分组中的服务器状态对象的系统,所述系统包括:
耦合在所述服务器和所述客户机设备之间的剖析模块,用于将两者之间传送的分组剖析成多个名称-值对;以及
耦合到所述剖析模块的分析模块,用于接收所述名称-值对并通过如下操作确定所述名称-值对是否是服务器状态对象:
计算具有相同名称的名称-值对的熵;
选择具有高于阈值的熵的名称-值对作为所述服务器状态对象的候选项;
确定所述候选项是否在所述服务器和所述客户机设备之间双向传送过;以及
响应确定所述候选项的至少一个候选项在所述服务器与所述客户机设备之间双向传送过,确定所述至少一个候选项为服务器状态对象。
27.如权利要求26所述的系统,其特征在于,所述剖析模块作为防火墙工作,根据所述分析模块提供的规则过滤所述服务器和所述客户机设备之间传送的分组。
28.如权利要求26所述的系统,其特征在于,所述剖析模块根据所述分析模块提供的数据收集参数收集有关在所述服务器和所述客户机设备之间传送的分组的数据。
29.如权利要求26所述的系统,其特征在于,当从所述剖析模块接收到所述名称-值对时,所述分析模块实时地处理所述名称-值对以确定所述名称-值对是否是服务器状态对象。
30.如权利要求26所述的系统,还包括耦合到所述分析模块的存储模块,所述分析模块将接收到的名称-值对存储在所述存储模块中并成批地处理所存储的名称-值对以确定所述名称-值对是否是服务器状态对象。
31.如权利要求26所述的系统,其特征在于,所述分析模块通过如下操作计算具有相同名称的名称-值对的熵:
压缩具有相同名称的名称-值对;以及
计算所压缩的名称-值对的熵。
32.如权利要求31所述的系统,其特征在于,所述分析模块通过如下操作压缩具有相同名称的名称-值对:
将具有相同名称的名称-值对的值字段合并;以及
使用压缩算法将所述名称-值对的合并的值字段压缩。
33.如权利要求32所述的系统,其特征在于,所述压缩算法是基于熵的压缩算法。
34.如权利要求32所述的系统,其特征在于,所述分析模块通过将所述名称-值对的压缩的合并值字段的总大小除以具有相同名称的名称-值对的总数来计算所述压缩的名称-值对的熵。
35.如权利要求26所述的系统,其特征在于,所述分析模块通过如下操作确定所述候选项是否在所述服务器和所述客户机设备之间双向传送过:
将依据所述通信协议的相关分组划分成从所述服务器传送到所述客户机设备的第一组分组和从所述客户机设备传送到所述服务器的第二组分组;以及
确定所述候选项是否包括在所述第一组分组和所述第二组分组中。
36.如权利要求35所述的系统,其特征在于,所述相关分组是对应于依据所述通信协议的相关消息的分组。
37.一种存储在计算机可读媒体上的计算机程序产品,所述计算机程序产品适于执行一种识别在基于通信协议的网络上的服务器与客户机设备之间传送的分组中的服务器状态对象的方法,所述方法包括:
计算所述分组中的多个数据对象的熵测量值;
根据它们的熵测量值从所述多个数据对象中选择候选数据对象;以及
响应所述候选数据对象的至少一个候选数据对象在所述服务器与所述客户机设备之间双向传送,将所述至少一个候选数据对象识别为服务器状态对象。
38.如权利要求37所述的计算机程序产品,其特征在于,计算熵测量值包括:
压缩所述数据对象;以及
计算所压缩的数据对象的熵测量值。
39.如权利要求38所述的计算机程序产品,其特征在于,压缩所述数据对象包括:
将具有相同名称字段的数据对象合并;以及
使用压缩算法压缩所合并的数据对象。
40.如权利要求39所述的计算机程序产品,其特征在于,计算所压缩的数据对象的熵测量值包括将所压缩的合并数据对象的值字段的总大小除以具有相同名称字段的数据对象的总数。
41.如权利要求37所述的计算机程序产品,其特征在于,通过如下操作确定所述至少一个候选数据对象已在所述服务器和所述客户机设备之间双向传送过:
将依据所述通信协议的相关分组划分成从所述服务器传送到所述客户机设备的第一组分组和从所述客户机设备传送到所述服务器的第二组分组;以及
确定所述至少一个候选数据对象是否包括在所述第一组分组和所述第二组分组中。
42.一种存储在计算机可读媒体上的计算机程序产品,所述计算机程序产品适于执行一种识别在基于通信协议的网络上的服务器与客户机设备之间传送的分组中的服务器状态对象的方法,所述方法包括:
将所述分组剖析成多个名称-值对;
计算具有相同名称的名称-值对的熵;
选择具有高于阈值的熵的名称-值对作为所述服务器状态对象的候选项;
确定所述候选项是否在所述服务器和所述客户机设备之间双向传送过;以及
响应确定所述候选项的至少一个候选项在所述服务器与所述客户机设备之间双向传送过,确定所述至少一个候选项为服务器状态对象。
43.如权利要求42所述的计算机程序产品,其特征在于,计算具有相同名称的名称-值对的熵包括:
压缩具有相同名称的名称-值对;以及
计算所压缩的名称-值对的熵。
44.如权利要求43所述的计算机程序产品,其特征在于,压缩具有相同名称的名称-值对包括:
将具有相同名称的名称-值对的值字段合并;以及
使用压缩算法将所述名称-值对的合并的值字段压缩。
45.如权利要求44所述的计算机程序产品,其特征在于,计算所压缩的名称-值对的熵包括将所述名称-值对的压缩的合并值字段的总大小除以具有相同名称的名称-值对的总数。
46.如权利要求42所述的计算机程序产品,其特征在于,确定所述候选项是否是在所述服务器和所述客户机设备之间双向传送过包括:
将依据所述通信协议的相关分组划分成从所述服务器传送到所述客户机设备的第一组分组和从所述客户机设备传送到所述服务器的第二组分组;以及
确定所述候选项是否包括在所述第一组分组和所述第二组分组中。
47.一种用于识别在基于通信协议的网络上的服务器与客户机设备之间传送的分组中的服务器状态对象的系统,所述系统包括:
耦合在所述服务器和所述客户机设备之间的剖析部件,用于将两者之间传送的分组剖析成多个数据对象;以及
耦合到所述剖析部件的分析部件,用于接收所述数据对象并通过如下操作确定名称-值对是否是服务器状态对象:
计算所述数据对象的熵测量值;
根据它们的熵测量值从所述数据对象中选择候选数据对象;以及
响应所述候选数据对象的至少一个候选数据对象在所述服务器与所述客户机设备之间双向传送,将所述至少一个候选数据对象识别为服务器状态对象。
48.一种用于识别在基于通信协议的网络上的服务器与客户机设备之间传送的分组中的服务器状态对象的系统,所述系统包括:
耦合在所述服务器和所述客户机设备之间的剖析部件,用于将两者之间传送的分组剖析成多个名称-值对;以及
耦合到所述剖析部件的分析部件,用于接收所述名称-值对并通过如下操作确定所述名称-值对是否是服务器状态对象:
计算具有相同名称的名称-值对的熵;
选择具有高于预定阈值的熵的名称-值对作为所述服务器状态对象的候选项;
确定所述候选项是否是在所述服务器和所述客户机设备之间双向传送过;以及
响应确定所述候选项的至少一个候选项在所述服务器与所述客户机设备之间双向传送过,将所述至少一个候选项确定为服务器状态对象。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/877,362 US8051207B2 (en) | 2004-06-25 | 2004-06-25 | Inferring server state in s stateless communication protocol |
US10/877,362 | 2004-06-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101073071A true CN101073071A (zh) | 2007-11-14 |
CN100524279C CN100524279C (zh) | 2009-08-05 |
Family
ID=35786616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005800284905A Active CN100524279C (zh) | 2004-06-25 | 2005-06-13 | 推断无状态通信协议中的服务器状态方法、系统及装置 |
Country Status (7)
Country | Link |
---|---|
US (2) | US8051207B2 (zh) |
EP (1) | EP1769379B1 (zh) |
JP (1) | JP2008507010A (zh) |
KR (1) | KR20070083389A (zh) |
CN (1) | CN100524279C (zh) |
CA (1) | CA2571075A1 (zh) |
WO (1) | WO2006011987A2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111984559A (zh) * | 2019-05-22 | 2020-11-24 | 旺宏电子股份有限公司 | 用于数据传送的系统及存储器装置 |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7594259B1 (en) * | 2004-09-15 | 2009-09-22 | Nortel Networks Limited | Method and system for enabling firewall traversal |
US7672971B2 (en) * | 2006-02-17 | 2010-03-02 | Google Inc. | Modular architecture for entity normalization |
US7769579B2 (en) * | 2005-05-31 | 2010-08-03 | Google Inc. | Learning facts from semi-structured text |
US8244689B2 (en) * | 2006-02-17 | 2012-08-14 | Google Inc. | Attribute entropy as a signal in object normalization |
US9208229B2 (en) * | 2005-03-31 | 2015-12-08 | Google Inc. | Anchor text summarization for corroboration |
US7953720B1 (en) | 2005-03-31 | 2011-05-31 | Google Inc. | Selecting the best answer to a fact query from among a set of potential answers |
US8682913B1 (en) | 2005-03-31 | 2014-03-25 | Google Inc. | Corroborating facts extracted from multiple sources |
US8239394B1 (en) | 2005-03-31 | 2012-08-07 | Google Inc. | Bloom filters for query simulation |
US7587387B2 (en) | 2005-03-31 | 2009-09-08 | Google Inc. | User interface for facts query engine with snippets from information sources that include query terms and answer terms |
US7831545B1 (en) * | 2005-05-31 | 2010-11-09 | Google Inc. | Identifying the unifying subject of a set of facts |
US8996470B1 (en) | 2005-05-31 | 2015-03-31 | Google Inc. | System for ensuring the internal consistency of a fact repository |
US7925676B2 (en) * | 2006-01-27 | 2011-04-12 | Google Inc. | Data object visualization using maps |
US7991797B2 (en) * | 2006-02-17 | 2011-08-02 | Google Inc. | ID persistence through normalization |
US8954426B2 (en) * | 2006-02-17 | 2015-02-10 | Google Inc. | Query language |
US20070185870A1 (en) | 2006-01-27 | 2007-08-09 | Hogue Andrew W | Data object visualization using graphs |
US8260785B2 (en) | 2006-02-17 | 2012-09-04 | Google Inc. | Automatic object reference identification and linking in a browseable fact repository |
US8055674B2 (en) * | 2006-02-17 | 2011-11-08 | Google Inc. | Annotation framework |
US8700568B2 (en) * | 2006-02-17 | 2014-04-15 | Google Inc. | Entity normalization via name normalization |
US8954412B1 (en) | 2006-09-28 | 2015-02-10 | Google Inc. | Corroborating facts in electronic documents |
US8122026B1 (en) | 2006-10-20 | 2012-02-21 | Google Inc. | Finding and disambiguating references to entities on web pages |
US20080249994A1 (en) * | 2006-11-28 | 2008-10-09 | Calder Group, Inc. | System and process for server side stateless data interchange |
US8347202B1 (en) | 2007-03-14 | 2013-01-01 | Google Inc. | Determining geographic locations for place names in a fact repository |
US8239350B1 (en) | 2007-05-08 | 2012-08-07 | Google Inc. | Date ambiguity resolution |
US8239751B1 (en) | 2007-05-16 | 2012-08-07 | Google Inc. | Data from web documents in a spreadsheet |
US7966291B1 (en) | 2007-06-26 | 2011-06-21 | Google Inc. | Fact-based object merging |
US7970766B1 (en) | 2007-07-23 | 2011-06-28 | Google Inc. | Entity type assignment |
US8738643B1 (en) | 2007-08-02 | 2014-05-27 | Google Inc. | Learning synonymous object names from anchor texts |
US8812435B1 (en) | 2007-11-16 | 2014-08-19 | Google Inc. | Learning objects and facts from documents |
US9087059B2 (en) * | 2009-08-07 | 2015-07-21 | Google Inc. | User interface for presenting search results for multiple regions of a visual query |
US9135277B2 (en) | 2009-08-07 | 2015-09-15 | Google Inc. | Architecture for responding to a visual query |
US9203684B1 (en) | 2010-07-14 | 2015-12-01 | Google Inc. | Reduction of web page load time using HTTP header compression |
US10019457B1 (en) | 2013-01-22 | 2018-07-10 | Amazon Technologies, Inc. | Multi-level compression for storing data in a data store |
US9384204B2 (en) | 2013-05-22 | 2016-07-05 | Amazon Technologies, Inc. | Efficient data compression and analysis as a service |
WO2023233580A1 (ja) * | 2022-06-01 | 2023-12-07 | 日本電信電話株式会社 | 検知対処制御システム、検知対処制御方法、ハードウェアアクセラレータ、コントローラ、および、プログラム |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5081678A (en) | 1989-06-28 | 1992-01-14 | Digital Equipment Corporation | Method for utilizing an encrypted key as a key identifier in a data packet in a computer network |
US6850252B1 (en) * | 1999-10-05 | 2005-02-01 | Steven M. Hoffberg | Intelligent electronic appliance system and method |
JP3349196B2 (ja) * | 1992-06-20 | 2002-11-20 | テキサス インスツルメンツ インコーポレイテツド | 対象識別システムおよび方法 |
US5491750A (en) | 1993-12-30 | 1996-02-13 | International Business Machines Corporation | Method and apparatus for three-party entity authentication and key distribution using message authentication codes |
EP0851628A1 (en) | 1996-12-23 | 1998-07-01 | ICO Services Ltd. | Key distribution for mobile network |
US5974151A (en) | 1996-11-01 | 1999-10-26 | Slavin; Keith R. | Public key cryptographic system having differential security levels |
US6154775A (en) * | 1997-09-12 | 2000-11-28 | Lucent Technologies Inc. | Methods and apparatus for a computer network firewall with dynamic rule processing with the ability to dynamically alter the operations of rules |
US6300947B1 (en) * | 1998-07-06 | 2001-10-09 | International Business Machines Corporation | Display screen and window size related web page adaptation system |
US6496824B1 (en) | 1999-02-19 | 2002-12-17 | Saar Wilf | Session management over a stateless protocol |
US6345307B1 (en) * | 1999-04-30 | 2002-02-05 | General Instrument Corporation | Method and apparatus for compressing hypertext transfer protocol (HTTP) messages |
US7228350B2 (en) * | 2000-08-04 | 2007-06-05 | Avaya Technology Corp. | Intelligent demand driven recognition of URL objects in connection oriented transactions |
US7185082B1 (en) * | 2000-08-09 | 2007-02-27 | Microsoft Corporation | Fast dynamic measurement of connection bandwidth using at least a pair of non-compressible packets having measurable characteristics |
US20030177187A1 (en) * | 2000-11-27 | 2003-09-18 | Butterfly.Net. Inc. | Computing grid for massively multi-player online games and other multi-user immersive persistent-state and session-based applications |
US7024451B2 (en) * | 2001-11-05 | 2006-04-04 | Hewlett-Packard Development Company, L.P. | System and method for maintaining consistent independent server-side state among collaborating servers |
US6906719B2 (en) * | 2002-10-12 | 2005-06-14 | International Business Machines Corporation | System and method for content-based querying using video compression format |
US7647585B2 (en) * | 2003-04-28 | 2010-01-12 | Intel Corporation | Methods and apparatus to detect patterns in programs |
US20040249793A1 (en) * | 2003-06-03 | 2004-12-09 | Hans-Joachim Both | Efficient document storage and retrieval for content servers |
-
2004
- 2004-06-25 US US10/877,362 patent/US8051207B2/en active Active
-
2005
- 2005-06-13 EP EP05762116.1A patent/EP1769379B1/en active Active
- 2005-06-13 JP JP2007518111A patent/JP2008507010A/ja active Pending
- 2005-06-13 KR KR1020067027115A patent/KR20070083389A/ko not_active Application Discontinuation
- 2005-06-13 CN CNB2005800284905A patent/CN100524279C/zh active Active
- 2005-06-13 CA CA002571075A patent/CA2571075A1/en not_active Abandoned
- 2005-06-13 WO PCT/US2005/020919 patent/WO2006011987A2/en active Application Filing
-
2011
- 2011-09-22 US US13/240,998 patent/US8521909B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111984559A (zh) * | 2019-05-22 | 2020-11-24 | 旺宏电子股份有限公司 | 用于数据传送的系统及存储器装置 |
Also Published As
Publication number | Publication date |
---|---|
US8521909B2 (en) | 2013-08-27 |
EP1769379B1 (en) | 2018-10-17 |
KR20070083389A (ko) | 2007-08-24 |
EP1769379A2 (en) | 2007-04-04 |
US20060047838A1 (en) | 2006-03-02 |
CN100524279C (zh) | 2009-08-05 |
US20120017010A1 (en) | 2012-01-19 |
WO2006011987A3 (en) | 2007-08-02 |
CA2571075A1 (en) | 2006-02-02 |
US8051207B2 (en) | 2011-11-01 |
WO2006011987A2 (en) | 2006-02-02 |
JP2008507010A (ja) | 2008-03-06 |
EP1769379A4 (en) | 2013-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100524279C (zh) | 推断无状态通信协议中的服务器状态方法、系统及装置 | |
US7680672B2 (en) | Event collection architecture | |
US7003564B2 (en) | Method and apparatus for customizably calculating and displaying health of a computer network | |
CN100384180C (zh) | 用于监控网络流量的方法和设备 | |
US8751601B2 (en) | User interface that provides relevant alternative links | |
CN101651707B (zh) | 一种网络用户行为日志自动获取方法 | |
US8095622B1 (en) | Methods and systems for collecting information transmitted over a network | |
US6757678B2 (en) | Generalized method and system of merging and pruning of data trees | |
CN106603734B (zh) | Cdn服务ip检测方法和系统 | |
CN103067214B (zh) | 用于测试网站性能的方法、客户端、服务器和系统 | |
CN105359487B (zh) | 通过网络浏览器中的uri去引用监控nat行为的方法 | |
US8438276B1 (en) | Method of monitoring network and application performance by analyzing web clients and web servers | |
WO2003067430A1 (en) | Method and system for computer resource utilization analysis in a communications network | |
Lakshmi et al. | An overview of preprocessing on web log data for web usage analysis | |
CN100550015C (zh) | 改进的用户界面 | |
Reddy et al. | Preprocessing the web server logs: an illustrative approach for effective usage mining | |
CN108964967A (zh) | 一种对cdn加速服务进行智能监控与分析的方法和系统 | |
CN104202418B (zh) | 为内容提供商推荐商业的内容分发网络的方法和系统 | |
CN110245314A (zh) | 一种网页指纹生成方法 | |
Santhanakumar et al. | Web usage based analysis of web pages using rapidminer | |
CN111209325A (zh) | 业务系统接口识别方法、装置及存储介质 | |
Geyer-Schulz et al. | Behavior-based recommender systems as value-added services for scientific libraries | |
CN111859867B (zh) | 基于XML和XPath的Web数据提取系统以及其使用方法 | |
WO2004051513A2 (en) | Method and computer program product for analyzing user sessions | |
KR20050117760A (ko) | 웹 스크래핑 엔진 ini 시스템 |
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 | ||
ASS | Succession or assignment of patent right |
Owner name: CITRIX SYSTEMS INC Free format text: FORMER OWNER: TEROS INC. Effective date: 20131105 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20131105 Address after: American Florida Patentee after: Citrix Systems Inc Address before: American California Patentee before: Teros Inc. |