CN104584000B - 用于增强的网页性能的标签延迟监视与控制系统 - Google Patents
用于增强的网页性能的标签延迟监视与控制系统 Download PDFInfo
- Publication number
- CN104584000B CN104584000B CN201380043389.1A CN201380043389A CN104584000B CN 104584000 B CN104584000 B CN 104584000B CN 201380043389 A CN201380043389 A CN 201380043389A CN 104584000 B CN104584000 B CN 104584000B
- Authority
- CN
- China
- Prior art keywords
- state
- tag
- pause
- code
- delay
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
-
- 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
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0888—Throughput
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
-
- 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/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/61—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
-
- 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/50—Network services
- H04L67/53—Network services using third party service providers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Hardware Design (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Information Transfer Between Computers (AREA)
- Debugging And Monitoring (AREA)
- Computer And Data Communications (AREA)
Abstract
实施例针对基于主动地监视标签性能、响应时间以及延迟的异步过程利用多个标签状态来控制标签暂停。标签可以处于多个状态之一。处于正常状态或标记状态的标签可以被启用用于部署,并且处于暂停_A状态或暂停_B状态的标签可以被阻止部署。标签的状态可以基于对标签延迟的监视确定是否发生延迟事件来改变。标签延迟可以独立于网页请求被异步地监视。如果发生延迟事件,则标签的状态可以从正常改变为标记、从标记改变为暂停_A、或从暂停_B改变为暂停_A。如果发生非延迟事件,则标签的状态可以从暂停_B改变为标记或者从标记改变为正常,同时,在预定的时间段之后,标签的状态可以从暂停_A改变为暂停_B。
Description
对相关申请的交叉引用
本申请要求于2012年7月20日提交的标题为“Tag Latency Monitoring AndControl System For Enhanced Web Page Performance”的美国专利申请序列No.13/554,500的优先权,其全部内容通过应用被结合于此。
技术领域
本发明一般而言涉及标签管理,并且更具体地但是不仅仅地,涉及基于设计成主动(proactively)监视标签延迟的异步过程,利用多个标签状态来控制标签的暂停(suspension)。
背景技术
当前,许多网站包含与网站本身相分离的第三方服务。例如,网站可以包含第三方广告、帮助聊天会话、监视服务,等等。通常,第三方可以将其服务出售给网站,使得当用户访问特定的网页时,该网页加载第三方服务。有时,加载第三方服务会包括执行来自远程位置的用于第三方服务的代码。但是,如果第三方服务很慢或者无响应,那么加载该网页就会减慢或者该网页根本就不能被完全地加载。因此,关于这些以及其它的考虑,产生了本发明。
附图说明
本发明的非限定性和非穷举实施例参考以下示图进行描述。在示图中,除非具体指出,否则相同的标号贯穿各个图指代相同的部分。
为了更好地理解本发明,将参考以下“具体实施方式”,该“具体实施方式”要关联附图进行阅读,其中:
图1是其中可以实现本发明实施例的环境的系统图;
图2示出了可以包括在诸如图1所示出的系统中的客户端设备的实施例;
图3示出了可以包括在诸如图1所示出的系统中的网络设备的实施例;
图4说明了逻辑流程图,该流程图一般性地示出用于基于标签延迟的异步监视改变标签状态以及基于标签状态使该标签能够用于部署的概述过程的一种实施例;
图5说明了逻辑流程图,该流程图一般性地示出用于基于标签的延迟事件和标签的当前状态改变标签状态的过程的一种实施例;
图6说明了逻辑流程图,该流程图一般性地示出用于基于标签的非延迟事件和标签的当前状态改变标签状态的过程的一种实施例;
图7说明了逻辑流程图,该流程图一般性地示出用于利用处于多个状态之一的标签并基于延迟或非延迟事件改变标签状态的过程的一种实施例;
图8示出了说明多个标签状态以及可以触发状态改变的事件的图形表示的用例的一种实施例。
图9A-9B说明了逻辑流程图,该流程图一般性地示出用于利用处于多个状态之一的标签并基于标签延迟改变标签状态的过程的备选实施例;
图10示出了说明多个标签状态以及可以触发状态改变的事件的图形表示的用例的可替换实施例;及
图11示出了说明可以用来监视标签延迟和控制标签状态改变和部署的系统的系统图的用例的一种实施例。
具体实施方式
贯穿本说明书和权利要求,除非上下文清楚地另外指出,否则以下术语采用与本文明确相关的含义。如在本文中所使用的短语“在一种实施例中”不一定指代指同一实施例,尽管可以是同一实施例。此外,如在本文中所使用的短语“在另一种实施例中”不一定指不同的实施例,尽管可以是不同的实施例。因此,如下所述,在不背离本发明范围或主旨的情况下,本发明的各种实施例可以很容易地进行组合。
此外,如在本文中所使用的,除非上下文清楚地另外指出,否则术语“或者”是包含性的“或者”操作符,并且等效于术语“和/或”。除非上下文清楚地另外指出,否则术语“基于”不是排它性的并且允许基于未描述的其它因素。此外,贯穿本说明书,“一”、“一个”和“该”的含义包括复数的引用。“在…中”的含义包括“在…中”和“在…上”。
如在本文中所使用的,术语“标签”一般地指可以在网页呈现期间的任何点利用第三方解决方案注入到网页中的代码。在一些实施例中,第三方解决方案可以指与网页的主机分离的代码提供商。在至少一种实施例中,将标签加载到网页中也可以称为部署标签。在一些实施例中,当访问者访问网站或执行页面上动作时,可以提供网页的呈现。
如在本文中所使用的,术语“标签延迟”一般指从标签被请求时到基于该标签请求接收到服务器响应时的时间。在至少一种实施例中,标签延迟可以基于从标签被请求时到完整的标签被部署时的时间。在一些实施例中,标签延迟可以基于该标签的每个组件的累积响应时间,包括由该标签组件所需的任何其它代码或资源。在其它实施例中,标签延迟可以基于标签的多个组件中的组件的最长响应时间。在另一种实施例中,标签延迟可以基于响应标签请求而接收到的错误消息,诸如,像带有400-500的错误代码的服务器响应。在一些实施例中,标签延迟可以是从标签被请求到接收到服务器响应错误消息的时间。
如在本文中所使用的,术语“延迟事件”指其中标签延迟大于最大时间延迟阈值的监视标签延迟的结果。相反,如在本文中所使用的,术语“非延迟事件”指其中标签延迟小于最大时间延迟阈值的监视标签延迟的结果。在至少一种实施例中,最大时间延迟阈值可以由用户(诸如用于部署标签的网站的主机)来确定和/或修改。在一些实施例中,最大时间延迟阈值可以基于所期望的网页加载时间、平均标签加载时间,等等。
以下简要地描述本发明的实施例,以便提供对本发明一些方面的基本理解。该简要描述并不是要作为广泛的概述。它不是要识别关键的或重要的元素,也不是描绘或以其它方式缩小范围。其目的只是以简化的形式呈现一些概念,作为后面所呈现的更详细描述的序言。
简单地说,各种实施例针对基于设计成主动监视标签性能并测量响应时间的异步过程利用多个标签状态来控制标签的暂停。在一些实施例中,可以监视和/或测量标签延迟,以确定标签的性能和/或响应时间。在至少一种实施例中,用户可以注册服务来选择用于在网页上部署的标签。在一些实施例中,用户可以指代网站、网站主机、网站管理员、网站顾问,等等,或其代理。标签可以处于多个状态之一,诸如像,正常(NORMAL)状态、标记(FLAGGED)状态、暂停_A(SUSPENSION_A)状态或暂停_B(SUSPENSION_B)状态。在至少一种实施例中,可以使得处于正常状态或标记状态的标签能够进行部署(即,可用于部署),并且可以阻止处于暂停_A状态或暂停_B状态的标签被部署(即,暂停部署)。
标签延迟可以独立于网页请求被异步地监视。在一些实施例中,监视标签的频率可以基于标签的状态。标签的状态可以基于标签延迟的异步监视而改变。
简单地说,在一些实施例中,如果发生延迟事件(即,标签延迟超过最大时间延迟阈值),则该标签的状态可以从正常改变成标记、从标记改变成暂停_A、或者从暂停_B改变成暂停_A。在其它实施例中,如果发生非延迟事件(即,标签延迟没有超过最大时间延迟阈值),则该标签的状态可以从暂停_B改变成标记或者从标记改变成正常。在至少一种实施例中,连续的延迟事件或连续的非延迟事件可以用来改变标签的状态。通过利用多个不同的状态并基于延迟/非延迟事件(和/或连续的延迟/非延迟事件)改变标签的状态,标签就不会由于标签延迟的突然增加而过早地被阻止部署,或者由于标签延迟的突然下降而在被阻止之后过早地被启用用于部署。
说明性操作环境
图1示出了其中可以实践本发明的实施例的环境的一种实施例的组件。不是所有的组件都需要以实践本发明,并且在不背离本发明的主旨或范围的情况下,可以对组件的布置和类型进行变化。如所示出的,图1的系统100包括局域网(LAN)/广域网(WAN)-(网络)110、无线网络108、客户端设备102-105、标签监视服务器设备(TMSD)112、标签控制服务器设备(TCSD)114和标签部署服务器设备(TDSD)116。
以下结合图2更详细地描述了客户端设备102-105的至少一种实施例。在一种实施例中,客户端设备102-105中的至少一些可以通过诸如网络110和/或108的有线和/或无线网络操作。一般来说,客户端设备102-105可以包括几乎任何能够通过网络发送和接收信息、执行各种在线活动、离线动作等的计算设备。在一种实施例中,客户端设备102-105中的一个或多个可以配置为在商业或其它实体内操作以执行各种用于商业或其它实体的服务。例如,客户端设备102-105可以配置为用作web服务器、计费(accounting)服务器、产品服务器、库存(inventory)服务器,等等。但是,客户端设备102-105并不局限于这些服务,并且也可以在其它实施例中用作例如终端用户的计算节点。应当认识到,在诸如本文所描述的系统内可以包括更多或更少的客户端设备,因此,实施例不受所采用的客户端设备的数量或类型限制。
可以用作客户端设备102的设备可以包括通常利用有线或无线通信介质连接的设备,诸如个人计算机、多处理器系统、基于微处理器的或可编程的电子设备、网络PC,等等。在一些实施例中,客户端设备102-105可以包括几乎任何能够连接到另一个计算设备并接收信息的便携式个人计算设备,诸如膝上型计算机103、智能移动电话104和平板计算机105,等等。但是,便携式计算设备并不限于此,并且也可以包括其它便携式设备,诸如蜂窝电话、显示寻呼机、射频(RF)设备、红外(IR)设备、个人数字助理(PDA)、手持式计算机、可穿戴计算机、合并以上一种或多种设备的集成设备,等等。因此,客户端设备102-105就功能与特征而言通常范围广泛。此外,客户端设备102-105可以访问各种计算应用,包括浏览器或其它基于web的应用。
启用web的客户端设备可以包括配置为接收和发送网页、基于web的消息等的浏览器应用。浏览器应用可以配置为接收和显示图形、文本、多媒体等,利用几乎任何基于web的语言,包括无线应用协议消息(WAP),等等。在一种实施例中,使得浏览器应用能够利用手持设备标记语言(HDML)、无线标记语言(WML)、WMLScript、JavaScript、标准通用标记语言(SGML)、超文本标记语言(HTML)、可扩展标记语言(XML)等来显示和发送消息。在一种实施例中,客户端设备的用户可以利用浏览器应用通过网络(在线)执行各种活动。但是,也可以使用其它应用来执行各种在线活动。
客户端设备102-105也可以包括配置为与另一个计算设备之间接收和/或发送内容的至少一个其它的客户端应用。客户端应用可以包括发送和/或接收内容等的能力。客户端应用还可以提供识别自身的信息,包括类型、能力、名称等。在一种实施例中,客户端设备102-105可以通过任何各种机制唯一地识别自身,包括因特网协议(IP)地址、电话号码、移动标识号(MIN)、电子序列号(ESN),或其它设备标识符。这种信息可以在网络报文等中提供、在其它客户端设备、TMSD 112、TCSD 114、TDSD 116或其它计算设备之间发送。
客户端设备102-105还可以配置为包括使终端用户能够登录到可以被诸如TMSD112、TCSD 114、TDSD 116等另一个计算设备管理的终端用户帐户的客户端应用。在一个非限制性例子中,这种终端用户帐户可以配置为使终端用户能够管理一个或多个在线活动,在一个非限制性例子中包括搜索活动、社交活动、浏览各种网站、与其它用户通信,等等。但是,参与这些在线活动也可以在不登录到终端用户帐户的情况下执行。
无线网络108配置为将客户端设备103-105及其组件与网络110相结合。无线网络108可以包括任何可以进一步覆盖独立的自组织网络等的各种无线子网络,从而为客户端设备103-105提供面向基础设施的连接。这种子网络可以包括网状网络、无线LAN(WLAN)网络、蜂窝网络,等等。在一种实施例中,系统可以包括多于一个的无线网络。
无线网络108还可以包括通过无线电链路等连接的终端、网关、路由器等的自治系统。这些连接器可以配置为自由地和随机地移动并且任意地自我组织,使得无线网络108的拓扑结构可以快速地改变。
无线网络108还可以采用多种接入技术,包括用于蜂窝系统的第二代(2G)、第三代(3G)、第四代(4G)和第五代(5G)无线电接入、WLAN、无线路由器(WR)网格,等等。诸如2G、3G、4G、5G和未来接入网的接入技术可以使得能够对无线设备进行广泛的覆盖,诸如具有各种移动性程度的客户端设备103-105。在一个非限制性例子中,无线网络108可以通过无线电网络接入启用无线电连接,诸如全球移动通信系统(GSM)、通用分组无线业务(GPRS)、增强数据GSM环境(EDGE)、码分多址(CDMA)、时分多址(TDMA)、宽带码分多址(WCDMA)、高速下行链路分组接入(HSDPA)、长期演进(LTE),等等。本质上,无线网络108可以包括信息可以通过其在客户端设备103-105与另一个计算设备、网络等之间传播的几乎任何无线通信机制。
网络110配置为通过无线网络108将网络设备与其它计算设备相结合,包括TMSD112、TCSD 114、TDSD 116、客户端设备102和客户端设备103-105。网络110已启用以利用用于将信息从一个电子设备传递到另一个的任何形式的计算机可读介质。同样,网络110除了可以包括局域网(LAN)、广域网(WAN)、诸如通过通用串行总线(USB)端口的直接连接、其它形式的计算机可读介质或其任意组合之外,还可以包括因特网。在包括那些基于不同体系结构和协议的一组互连的LAN中,路由器充当LAN之间的链接,使得消息能够从一个LAN发送到另一个LAN。此外,LAN内的通信链接通常包括双绞线对或同轴电缆,而网络之间的通信链接可以利用模拟电话线路、包括T1、T2、T3和T4的全部或部分专用的数字线路、和/或其它载波机制,包括,例如,E-载波、综合业务数字网(ISDN)、数字订户线路(DSL)、包括卫星链接的无线链接、或本领域技术人员已知的其它通信链接。而且,通信链接还可以采用任何各种数字信令技术,包括但不限于,例如,DS-0、DS-1、DS-2、DS-3、DS-4、OC-3、OC-12、OC-48,等等。此外,远程计算机和其它相关的电子设备可以经调制解调器和临时电话链接远程地连接到LAN或WAN。在一种实施例中,网络110可以配置为传输因特网协议(IP)的信息。本质上,网络110包括信息可以通过其在计算设备之间传播的任何通信方法。
此外,通信介质通常包含计算机可读指令、数据结构、程序模块或其它传输机制,并且包括任何信息传递介质。作为例子,通信介质包括有线介质,诸如双绞线、同轴电缆、光纤、波导和其它有线介质,以及无线介质,诸如声学、RF、红外线和其它无线介质。
以下结合图3更详细地描述了TMSD 112的一种实施例。但是,简单地说,TMSD 112包括几乎任何能够监视标签延迟的网络设备。在至少一种实施例中,TMSD 112可以异步地监视标签的性能和延迟。异步监视可以独立于加载网页的请求(例如,从访问者到网站)来执行。TMSD 112可以模拟浏览器来请求标签并确定标签延迟。在至少一种实施例中,TMSD112可以通过计算所请求的标签在模拟的浏览器中加载所花费的时间来确定标签延迟。在一些实施例中,TMSD112可以与TCSD 114通信,以确定哪些标签要监视和/或提供所确定的标签延迟。可以布置成用作TMSD 112的设备包括各种网络设备,包括但不限于,个人计算机、台式计算机、多处理器系统、基于微处理器的或可编程的消费电子产品、网络PC、服务器设备、网络电器,等等。
虽然图1示出TMSD 112作为单个的计算设备,但是本发明并不限于此。例如,TMSD112的一个或多个功能可以跨一个或多个不同的网络设备分布。而且,TMSD 112不限定于特定的配置。因此,在一种实施例中,TMSD 112可以包含多个网络设备来监视标签延迟。在另一种实施例中,TMSD 112可以包含利用主/从方法操作的多个网络设备,其中TMSD 112的多个网络设备中的一个操作来管理和/或以其它方式协调其它网络设备的操作。在其它实施例中,TMSD112可以作为集群体系结构、点对点体系结构,和/或甚至云体系结构内的多个网络设备。因此,本发明不应当解释为限定到单一的环境,而是,还可以构想了其它的配置和体系结构。在至少一种实施例中,多个TMSD 112中的每一个可以是地理上分布的。在另一种实施例中,TMSD 112可以包括不同的计算设备,用于监视处于多个不同标签状态的每个状态中的标签。
在至少一种实施例中,通过向系统添加或者从系统中去除诸如TMSD 112的网络设备,系统可以被放大或缩小。在一些实施例中,向系统添加额外的TMSD可以启用更高的标签监视处理能力。在至少一种实施例中,每个TMSD都可以设计成能够进行系统缩放,使得缩放时无需向每个TMSD添加附加的缩放功能就可以实现缩放。
以下结合图3更详细地描述了TCSD 114的至少一种实施例。但是,简单地说,TCSD114可以包括能够控制多个标签中的每一个的状态,并且基于标签状态使得可用标签能够被部署的几乎任何网络设备。在一些实施例中,TCSD 114可以与TMSD 112通信,以确定哪些标签要监视和/或会收到标签延迟信息。在一些实施例中,TCSD114可以向TDSD 116提供可用于部署的标签列表。在至少一种实施例中,TCSD 114可以与数据库(未示出)通信,其中数据库可以维护用于每个标签状态的表,其可以包括处于那种状态下的每个标签的列表。可以用作TCSD 114的设备包括各种网络设备,包括但不限于,个人计算机、台式计算机、多处理器系统、基于微处理器的或可编程的消费电子产品、网络PC、服务器设备、网络电器,等等。
虽然图1示出TCSD 114作为单个的计算设备,但是本发明并不限于此。例如,TCSD114的一个或多个功能可以跨一个或多个不同的网络设备分布。而且,TCSD 114不限定于特定的配置。因此,在一种实施例中,TCSD 114可以包含多个网络设备来控制标签监视和/或部署可用性。类似地,在另一种实施例中,TCSD 114可以包含利用主/从方法操作的多个网络设备,其中TCSD 114的多个网络设备中的一个操作来管理和/或以其它方式协调其它网络设备的操作。在其它实施例中,TCSD 114可以作为集群体系结构、点对点体系结构,和/或甚至云体系结构内的多个网络设备。因此,本发明不应当解释为限定到单一的环境,而是,还可以构想了其它的配置和体系结构。
以下结合图3更详细地描述了TDSD 116的至少一种实施例。但是,简单地说,TDSD116可以包括几乎任何能够部署标签的网络设备。在一些实施例中,TDSD 116可以被优化成当web请求时(例如,从访问者到网站的查看网页的请求)向网站提供标签。在至少一种实施例中,TDSD 116可以与TCSD 114通信,以接收可用于部署的标签列表。在一些实施例中,TDSD 116可以收集关于网页的数据并且可以记录关于部署的标签的信息。可以用作TDSD116的设备包括各种网络设备,包括但不限于,个人计算机、台式计算机、多处理器系统、基于微处理器的或可编程的消费电子产品、网络PC、服务器设备、网络电器,等等。
虽然图1示出TDSD 116作为单个的计算设备,但是本发明并不限于此。例如,TDSD116的一个或多个功能可以跨一个或多个不同的网络设备分布。而且,TDSD 116不限定于特定的配置。因此,在一种实施例中,TDSD 116可以包含多个网络设备来将标签部署到网页。类似地,在另一种实施例中,TDSD 116可以包含利用主/从方法操作的多个网络设备,其中TDSD 116的多个网络设备中的一个操作来管理和/或以其它方式协调其它网络设备的操作。在其它实施例中,TDSD 116可以作为集群体系结构、点对点体系结构,和/或甚至云体系结构内的多个网络设备。因此,本发明不应当解释为限定到单一的环境,而是,还可以构想了其它的配置和体系结构。
说明性客户端设备
图2示出了可以包括在实现本发明实施例的系统中的客户端设备200的一种实施例。客户端设备200可以包括比图2中所示出的那些组件多得多或少得多的组件。但是,所示出的组件足以公开用于实践本发明的说明性实施例。客户端设备200可以表示例如图1的客户端设备102-105中的至少一个的一种实施例。
如在该图中所示出的,客户端设备200包括经总线234与大容量存储器226通信的处理器202。在一些实施例中,处理器202可以包括一个或多个中央处理单元(CPU)。客户端设备200还包括电源228、一个或多个网络接口236、音频接口238、显示器240、键板242、发光器244、视频接口246、输入/输出接口248、触觉接口250以及全球定位系统(GPS)接收器232。
电源228向客户端设备200提供电力。可以使用可再充电或不可再充电的电池来提供电力。电力也可以通过外部电源提供,诸如交流电(AC)适配器或对电池进行补充和/或再充电的上电的底座(docking cradle)。
客户端设备200可以可选地与基站(未示出)或者直接与另一个计算设备通信。网络接口236包括用于将客户端设备200耦合到一个或多个网络的电路系统,并且构造成用于与以下一种或多种通信协议和技术一起使用,其中包括但不限于,GSM、CDMA、TDMA、GPRS、EDGE、WCDMA、HSDPA、LTE、用户数据报协议(UDP)、传输控制协议/因特网协议(TCP/IP)、短消息服务(SMS)、WAP、超宽带(UWB)、IEEE 802.16全球互通微波接入(WiMax)、会话发起协议/实时传输协议(SIP/RTP)或任何各种其它无线通信协议。网络接口236有时被称为收发器、收发设备或网络接口卡(NIC)。
音频接口238布置成产生和接收音频信号,诸如人类语音的声音。例如,音频接口238可以耦合到扬声器和麦克风(未示出),以启用与其它组件的通信和/或为某个动作产生音频确认。
显示器240可以是液晶显示器(LCD)、气体等离子、发光二极管(LED)、有机LED,或与计算设备使用的任何其它类型的显示器。显示器240也可以包括布置成接收来自诸如触笔或来自人手的手指的对象的输入的触敏屏幕。
键板242可以包括布置成接收来自用户的输入的任何输入设备。例如,键板242可以包括按钮数字拨盘或键盘。键板242还可以包括与选择和发送图像相关联的命令按钮。
发光器244可以提供状态指示和/或提供光。发光器244可以在特定时段或者响应于事件而保持活动状态。例如,当发光器244处于活动状态时,它可以背光键板242上的按钮并且在客户端设备被供电时保持如此。同样,发光器244可以在特定动作被执行时,诸如向另一个客户端设备拨号时,以各种模式背光这些按钮。发光器244也可以响应动作而使位于客户端设备的透明或半透明壳子中的光源发光。
视频接口246布置成捕获视频图像,诸如静态照片、视频片段、红外视频,等等。例如,视频接口246可以耦合到数字视频照相机、网络照相机,等等。视频接口246可以包括透镜、图像传感器和其它电子元件。图像传感器可以包括互补金属氧化物半导体(CMOS)集成电路、电荷耦合器件(CCD)或用于感测光的任何其它集成电路。
客户端设备200还包括用于与外部设备通信的输入/输出接口248,外表设备诸如耳机或其它在图2中没有示出的输入和输出设备。输入/输出接口248可以利用一种或多种通信技术,诸如USB、红外、蓝牙TM,等等。
触觉接口250布置成向客户端设备的用户提供触觉反馈。例如,当另一个计算设备的用户呼叫时,可以利用触觉接口250以特定的方式振动客户端设备200。在一些实施例中,触觉接口250可以是可选的。
客户端设备200还可以包括GPS收发器232,以确定客户端设备200在地球表面上的物理坐标。在一些实施例中,GPS收发器232可以是可选的。GPS收发器232通常将位置输出为纬度和经度值。但是,GPS收发器232也可以采用其它的地理定位机制,包括但不限于,三角测量、辅助GPS(AGPS)、增强型观测时间差(E-OTD)、信元标识符(CI)、服务区域标识符(SAL)、增强定时提前(Enhanced Timing Advance)(ETA)、基站子系统(BSS)等,来进一步确定客户端设备200在地球表面上的物理位置。应当理解,在不同的条件下,GPS收发器232可以为客户端设备200确定毫米级内的物理位置;而在其它情况下,所确定的物理位置可能不那么精确,例如在米级或明显更大的距离级别内。但是,在一种实施例中,移动设备200可以通过其它组件提供可用于确定该设备物理位置的其它信息,包括例如,媒体访问控制(MAC)地址、IP地址,等等。
大容量存储器226包括随机存取存储器(RAM)204、只读存储器(ROM)222以及其它存储装置。大容量存储器226说明了用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的计算机可读存储介质(设备)的例子。大容量存储器226存储用于控制客户端设备200的低层操作的基本输入/输出系统(BI0S)224。大容量存储器还存储用于控制客户端设备200的操作的操作系统206。将认识到,该组件可以包括诸如UNIX或LINUXTM的版本的通用操作系统或诸如微软公司的Windows MobileTM、苹果公司的iOSTM、谷歌公司的AndroidTM或操作系统的专用客户端通信操作系统。操作系统可以包括Java虚拟机模块或与Java虚拟机模块接ロ,其中Java虚拟机模块使得能够经Java应用程序控制硬件组件和/或操作系统操作。
大容量存储器226还包括一个或多个数据存储208,该数据存储可以被客户端设备200利用,以存储应用214和/或其它数据,等等。例如,数据存储208也可以用来存储描述客户端设备200的各种能力的信息。该信息然后可以基于任何各种事件提供给另一个设备,包括在通信过程中作为首部的一部分被发送、在请求时被发送,等等。数据存储208也可以用来存储社交网络信息,包括地址簿、好友列表、别名、用户配置信息,等等。此外,数据存储208也可以存储消息、网页内容或任何各种用户产生的内容。信息的至少一部分也可以存储在网络设备200的另一个组件上,包括但不限于,处理器可读存储介质230、盘驱动器或客户端设备200内的其它计算机可读存储设备(未示出)。
处理器可读存储介质230可以包括以任何方法或技术实现的、用于存储诸如计算机或处理器可读指令、数据结构、程序模块或其它数据的信息的易失性、非易失性、可拆卸和不可拆卸介质。计算机可读存储介质的例子包括RAM、ROM、电可擦除可编程只读存储器(EEPROM)、闪存存储器或其它存储器技术、压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)或其它光存储、磁带盒、磁带、磁盘存储或其它磁存储设备、或可用于存储所期望信息并能够被计算设备访问的任何其它物理介质。处理器可读存储介质230在本文中也可称为计算机可读存储介质和/或计算机可读存储设备。
应用214可以包括计算机可执行指令,其中当计算机可执行指令被客户端设备200执行时发送、接收和/或以其它方式处理网络数据。网络数据可以包括,但不限于,消息(例如,SMS、多媒体消息服务(MMS)、即时消息(IM)、电子邮件和/或其它消息)、音频、视频,并且使得能够与另一个客户端设备的另一个用户电信通信。应用214可以包括,例如,浏览器218和其它应用220。其它应用220可以包括,但不限于,日历、搜索程序、电子邮件客户端、IM应用、SMS应用、互联网语音协议(VOIP)应用、联系人管理器、任务管理器、代码转换器、数据库程序、文字处理程序、安全应用、电子表格程序、游戏、搜索程序,等等。
浏览器218可以包括配置为接收和显示图形、文本、多媒体、消息等、采用几乎任何基于web的语言的几乎任何应用程序。在一种实施例中,使得浏览器应用能够利用HDML、WML、WMLScript、JavaScript、SGML、HTML、XML等来显示和发送消息。但是,可以利用任何各种其它基于web的编程语言。在一种实施例中,浏览器218可以使客户端设备200的用户能够与诸如图1的TMSD 112、TCSD 114和/或TDSD 116的另一个网络设备进行通信。
说明性网络设备
图3根据本发明的一种实施例示出了网络设备300的一种实施例。网络设备300可以包括比所示出的那些组件多得多或少得多的组件。但是,所示出的组件足以公开用于实践本发明的说明性实施例。网络设备300可以配置为用作服务器、客户端、对等端(peer)、主机或任何其它设备。网络设备300可以表示例如图1的TMSD 112、TCSD 114、TDSD116和/或其它网络设备。
网络设备300包括处理器302、处理器可读存储介质328、网络接口单元330、输入/输出接口332、硬盘驱动器334、视频显示适配器336和存储器326,所有这些经由总线338彼此通信。在一些实施例中,处理器302可以包括一个或多个中央处理单元。
如在图3中所说明的,网络设备300也可以经网络接口单元330与因特网或一些其它通信网络进行通信,其中网络接口单元330构造成用于与包括TCP/IP协议的各种通信协议一起使用。网络接口单元330有时被称为收发器、收发设备或网络接口卡(NIC)。
网络设备300还包括输入/输出接口332,用于与诸如键盘或图3中未示出的其它输入或输出设备的外部设备进行通信。输入/输出接口332可以利用一种或多种通信技术,诸如USB、红外、蓝牙TM,等等。
存储器326一般包括RAM 304、ROM 322和一个或多个永久大容量存储设备,诸如硬盘驱动器334、磁带驱动器、光驱动器和/或软盘驱动器。存储器326存储用于控制网络设备300的操作的操作系统306。可以采用任何通用的操作系统。还提供基本输入/输出系统(BIOS)324以用于控制网络设备300的低层操作。
虽然被单独地示出,但是存储器326可以包括处理器可读存储介质328。处理器可读存储介质328可以指和/或包括计算机可读介质、计算机可读存储介质和/或处理器可读存储设备。处理器可读存储介质328可以包括以任何方法或技术实现的、用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的易失性、非易失性、可拆卸和不可拆卸介质。处理器可读存储介质的例子包括RAM、ROM、EEPROM、闪存存储器或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光存储、磁带盒、磁带、磁盘存储或其它磁存储设备、或可用于存储所期望信息并能够被计算设备访问的任何其它介质。
存储器326还包括一个或多个数据存储308,该数据存储可以被网络设备300利用,以存储应用314和/或其它数据,等等。例如,数据存储308也可以用来存储描述网络设备300的各种能力的信息。该信息然后可以基于任何各种事件提供给另一个设备,包括在通信过程中作为首部的一部分被发送、在请求时被发送,等等。数据存储308也可以用来存储消息、网页内容,等等。信息的至少一部分也可以存储在网络设备300的另一个组件上,包括但不限于,处理器可读存储介质328、硬盘驱动器334或客户端设备300内的其它计算机可读存储介质(未示出)。
数据存储308可以包括可配置为维护和存储用户帐户标识符、用户配置文件、电子邮件地址、IM地址和/或其它网络地址等的数据库、文本、电子表格、文件夹、文件,等等。数据存储308还可以包括程序代码、数据、算法,等等,用于被诸如处理器302的处理器使用来执行和完成动作。在至少一种实施例中,数据存储308可以包括至少一个状态表,以指示哪些标签处于特定的状态。在一种实施例中,至少一些数据存储308也可以存储在网络设备300的另一个组件上,包括但不限于,处理器可读存储介质328、硬盘驱动器334,等等。
应用314可以包括计算机可执行指令,计算机可执行指令可以被加载到大容量存储器中并且在操作系统306上运行。应用程序的例子可以包括代码转换器、调度器、日历、数据库程序、文字处理程序、超文本传输协议(HTTP)程序、可定制用户接口程序、IPSec应用、加密程序、安全程序、SMS消息服务器、IM消息服务器、电子邮件服务器、账户管理器,等等。应用314也可以包括网站服务器318、标签监视应用(TMA)319、标签部署应用(TDA)320和标签控制应用(TCA)321。
网站服务器318可以表示配置为通过网络向另一个计算设备提供包括消息的内容的任何各种信息与服务。因此,网站服务器318可以包括例如,web服务器、文件传输协议(FTP)服务器、数据库服务器、内容服务器,等等。网站服务器318可以利用任何各种格式通过网络提供包括消息的内容,其中格式包括但不限于WAP、HDML、WML、SGML、HTML、XML、压缩HTML(cHTML)、可扩展HTML(xHTML),等等。
TMA 319可以配置为异步地监视标签延迟。在至少一种实施例中,TMA 319可以独立于加载网页的请求(例如,从访问者到网站)异步地监视标签延迟。TMA 319可以模拟浏览器来请求标签并确定标签延迟。在至少一种实施例中,TMA 319可以通过计算所请求标签在模拟的浏览器中加载所花费的时间来确定标签延迟。在一些实施例中,TMA 319可以被图1的TMSD 112采用。在任何情况下,TMA 319可以利用类似于那些结合图4-7和9A-9B所描述的过程或过程的部分来执行至少一些它的动作。
TDA 320可以配置为部署标签。在一些实施例中,TDA 320可以当请求时(例如,从访问者到网站的查看网页的请求)向网站提供标签。在至少一种实施例中,TDA 320可以收集关于网页的数据并且可以记录关于部署的标签的信息。在一些实施例中,TDA 320可以被图1的TDSD 116采用。在任何情况下,TDA 319可以利用类似于那些结合图4-7和9A-9B所描述的过程或过程的部分来执行至少一些它的动作。
TCA 321可以配置为控制多个标签中的每一个的状态。在一些实施例中,TCA 321可以配置为向TMA 319通知和/或提供准备好可以被监视的每个标签。在一些实施例中,TCA321可以记录标签被检查的最后时间(即,当确定对标签的标签延迟时),其可用于确定下一次检查该标签的时间。在至少一种实施例中,TCA 321可以记录从TMA 319返回的标签测量(例如,标签延迟)。这些测量可以被TCA 321使用以确定标签的状态是否应该被改变,或者这些测量可以用于历史报告的目的。
在至少一种实施例中,TCA 321可以改变标签的状态。在一些实施例中,TCA 321可以修改状态表,以从给定的状态中添加或去除标签。在一些实施例中,TCA 321可以配置为基于标签的状态启用可用的标签用于部署或阻止标签部署(即,禁用标签)。在至少一种实施例中,TCA 321可以配置为向TDA 320提供和/或通知可用于部署的标签。在一些实施例中,TCA 321可以被图1的TCSD 114采用。在任何情况下,TCA 321可以利用类似于那些结合图4-7和9A-9B所描述的过程或过程的部分来执行至少一些它的动作。
一般操作
现在将结合图4-7描述本发明某些方面的操作。图4说明了逻辑流程图,该流程图一般地示出用于基于标签延迟的异步监视改变标签状态以及基于标签状态使该标签能够用于部署的概述过程的一种实施例。在一些实施例中,图4的过程400可以由单个网络设备实现和/或在单个网络设备上执行,诸如图3的网络设备300。在其它实施例中,图4的过程400或过程400的部分可以由多个网络设备实现和/或在多个网络设备上执行,诸如图3的网络设备300。在各种实施例的至少一种实施例中,可以为多个标签中的每一个执行过程400。
在开始框之后,过程400在方框402开始,其中可以确定用于监视的标签。在一些实施例中,可以监视多个标签中的每一个,其中每个标签都可以与至少一个网页相关联。在其它实施例中,可以监视多个标签的一部分并且多个标签的另一部分可以不被监视。在至少一种实施例中,要被监视的标签可以由用户预先确定、确定、修改,等等。
在一些实施例中,标签可以处于多个不同状态之一。每个状态都可以使标签能够被部署或者可以阻止标签被部署。标签的状态可以基于监视、标签处于某个状态的时间等或其组合而从一种状态改变成另一种状态。在一些实施例中,可以利用不同的触发器(即,多个连续的延迟事件)用于使标签从一种状态转移到另一种状态。以下结合图7和9A-9B更详细地描述了用于改变标签状态的过程的实施例。在至少一种实施例中,标签可以处于以下状态之一:正常(NORMAL)、标记(FLAGGED)、暂停_A(SUSPENSION_A)或暂停_B(SUSPENSION_B)。以下结合图8更详细地描述了这些不同状态的图形说明的一种实施例。
但是,实施例并不限于此,并且可以采用其它数量的状态、状态的类型、用于状态变化的算法/度量,等等。例如,在至少一种实施例中,标签可以处于以下状态之一:正常(NORMAL)、标记(FLAGGED)、暂停前(PRE-SUSPENDED)、暂停(SUSPENDED)或暂停后(POST-SUSPENDED)。以下结合图10更详细地描述了这些不同状态的图形说明的一种实施例。在另一种实施例中,测量(例如,标签延迟)的历史记录可以用来修改状态的数量和/或状态的类型、用来改变标签状态的度量,等等。例如,历史记录可能指示标签会在特定的状态卡住延长的时间段。在一种这样的例子中,可以添加附加的状态,其可用来更频繁地监视标签。在另一个例子中,如果历史记录可能指示标签通常地在给定时间导致延迟事件(例如,由于日常服务器维护),则该标签可以在给定时间提前转移到不同的状态。
在任何情况下,过程400在方框404继续,其中可以异步地监视标签延迟。在一些实施例中,如果监视独立于从访问者到网页的对该网页的请求,则监视可以是异步的。在至少一种实施例中,监视可以至少基于要被监视的标签的状态。在一些实施例中,标签状态可以确定监视标签所用的速率和/或频率。在一些实施例中,监视标签所用的速率对于每个单独的状态可以是可配置的和/或可修改的。在一种实施例中,每种状态可以对应于用于异步监视标签的不同的频率。例如,处于正常状态的标签可以每15分钟监视一次、处于标记状态的标签可以每五分钟监视一次、处于暂停_B状态的标签可以每分钟监视一次,而处于暂停_A状态的标签可以是空闲的并且在预定的时间量内不进行监视。但是,实施例并不限于此,并且可以利用其它周期性地监视标签延迟的频率。
在一些其它实施例中,可以确定监视标签的延迟。在至少一种实施例中,可以通过测量从标签请求到服务器响应接收的时间确定延迟。但是,实施例并不限于此,并且可以利用其它用于确定标签延迟的方法,这已在上面进行了更详细地描述。
过程400接下来前进到判定框406,其中作出标签延迟是否导致延迟事件的确定。在至少一种实施例中,可以将标签延迟与最大时间延迟阈值进行比较。如果标签延迟大于最大时间延迟阈值,则标签监视的结果可以指示发生了延迟事件。在至少一种实施例中,最大时间延迟阈值可以为每个用户和/或每种状态进行配置和/或修改。因此,最大时间延迟阈值可以对于每个用户和/或状态是相同的和/或不同的。如果标签延迟小于最大时间延迟阈值,则标签监视的结果可以指示发生了非延迟事件。如果发生了延迟事件,则处理可以流动到方框408;否则,可能已经发生了非延迟事件并且处理可以流动到方框410。
在方框408,标签状态可以基于延迟事件被改变,这在以下结合图5进行更详细地描述。但是,简单地说,如果标签的延迟(例如,连续的延迟事件)和状态的确定指示对该状态的修改,则标签的状态可以被修改成另一种状态。在一些实施例中,标签可以基于该标签的当前状态以及多个延迟事件是否超过延迟事件阈值来改变状态。例如,在一些实施例中,如果超过延迟事件的阈值数目,则标签可以从正常状态改变成标记状态。在其它实施例中,如果超过延迟事件的阈值数目,则标签可以从标记状态改变成暂停_A状态。在还有的其它实施例中,如果超过延迟事件的阈值数目,则标签可以从暂停_B状态改变成暂停_A状态。在一些实施例中,延迟事件阈值可以是任何合适数量的连续延迟事件,诸如像,1-3个连续的延迟事件。在其它实施例中,延迟事件阈值可以是在给定时间段内发生的任何合适数量的延迟事件(例如,五分钟内3个延迟事件)。但是,实施例并不限于此,并且延迟事件阈值可以基于其它度量/算法来确定标签是否从给定的状态移出以及该标签要转移到哪个状态。
例如,标签可以基于以下各项从一种状态改变成另一种状态:延迟事件的严重性(例如,高于严重性阈值的标签延迟值)、高于严重性阈值的多个连续的延迟事件、在预定时间段内高于严重性阈值的多个延迟事件、标签处于给定状态的持续时间等,或其任意组合。在一些实施例中,在每个状态采用的延迟事件阈值可以是单独可配置的和/或可修改的。在至少一种实施例中,每个这些延迟事件阈值都可以为每个用户单独地配置。处理然后前进到判定框412。
如果在判定框406确定发生了非延迟事件,则处理可以从判定框406流动到方框410。在方框410,标签的状态可以基于非延迟事件被改变,这在以下结合图6进行更详细地描述。但是,简单地说,如果标签的延迟(例如,连续的非延迟事件)和状态的确定指示对该状态的修改,则标签的状态可以被修改成另一种状态。在一些实施例中,标签可以基于该标签的当前状态以及多个延迟事件是否超过非延迟事件阈值来改变状态。
在一些实施例中,如果超过非延迟事件的阈值数目,则标签可以从标记状态改变成正常状态。在其它实施例中,如果超过非延迟事件的阈值数目,则标签可以从暂停_B状态改变成标记状态。在一些实施例中,非延迟事件阈值可以是任何合适数量的连续非延迟事件,诸如像,1-3个非延迟连续事件。在其它实施例中,非延迟事件阈值可以是在给定时间段内发生的任何合适数量的非延迟事件(例如,一分钟内3个非延迟事件)。但是,实施例并不限于此,并且非延迟事件阈值可以基于其它度量/算法来确定标签是否从给定的状态移出以及该标签要转移到哪个状态。
例如,标签可以基于以下各项从一种状态改变成另一种状态:一个或多个非延迟事件的柔和性(mildness)(例如,低于柔和性阈值的标签延迟值)、低于柔和性阈值的多个连续的非延迟事件、在预定时间段内低于柔和性阈值的多个非延迟事件、标签处于给定状态的持续时间等,或其任意组合。在一些实施例中,在每个状态采用的非延迟事件阈值可以是单独可配置的和/或可修改的。在至少一种实施例中,每个这些非延迟事件阈值都可以为每个用户单独地配置。
过程400接下来前进到判定框412,其中可以基于标签的当前状态作出是否阻止标签部署的确定。在一些实施例中,处于正常状态和/或标记状态的标签可以不被阻止并且可以被允许进行部署。在其它实施例中,处于暂停_A状态和/或暂停_B状态的标签可以被阻止并且不能允许被部署。如果标签被阻止部署,则处理可以循环到方框404,以继续异步地监视标签延迟;否则,处理可以流动到方框414。
在方框414,可以使得标签能够被部署。在一些实施例中,使标签能够被部署可以包括通知网页如果提供网页请求,则标签能够被请求并且能够在该网页中加载。在其它实施例中,使标签能够被部署可以包括通知标签部署设备,诸如图1的TDSD 116,如果提供对网页的请求则请求并加载标签。在至少一种实施例中,被启用用于部署的标签可以包括在可用于部署的标签表或列表中。在一些实施例中,如果标签当前状态的确定肯定地指示部署(如通过方框412所确定的)并且网页被请求,则该标签可以与相关联的网页进行部署。
在方框414之后,过程400可以循环到方框404来继续异步地监视标签延迟。
图5说明了逻辑流程图,该流程图一般地示出用于基于标签的延迟事件和标签的当前状态改变标签状态的过程的一种实施例。在一些实施例中,图5的过程500可以由单个网络设备实现和/或在单个网络设备上执行,诸如图3的网络设备300。在其它实施例中,图5的过程500或过程500的部分可以由多个网络设备实现和/或在多个网络设备上执行,诸如图3的网络设备300。
在开始框之后,过程500在判定框502开始,其中可以作出标签是否处于正常状态的确定。在至少一种实施例中,每个状态(即,正常状态、标记状态、暂停_A状态和/或暂停_B状态)都可以对应于识别标签处于那种特定状态的表。例如,正常标签表可以识别处于正常状态的标签;标记标签表可以识别处于标记状态的标签;暂停_A标签表可以识别处于暂停_A状态的标签;以及暂停_B标签表可以识别处于暂停_B状态的标签。在一些实施例中,如果标签被包括在正常标签表中,则可以确定标签为处于正常状态。如果标签处于正常状态,则处理可以流动到判定框504;否则,处理可以流动到判定框510。
在判定框504,可以作出是否超过延迟事件阈值的确定。在一些实施例中,延迟事件阈值可以是连续延迟事件的总数。在一个非限制性、非穷举的例子中,用于正常状态的延迟事件阈值可以是一个延迟事件。在至少一种这样的实施例中,确定是否超过延迟事件阈值可以包括将连续延迟事件数目与延迟事件阈值进行比较。在其它实施例中,延迟事件阈值可以是在给定时间段内发生的延迟事件的总数。但是,实施例并不限于此,并且可以采用其它延迟事件阈值。如果超过延迟事件阈值,则处理可以流动到方框506;否则,处理可以流动到方框508。
在方框506,标签可以被转移到标记状态。在至少一种实施例中,将标签转移到标记状态可以包括从正常标签表中去除该标签并将该标签添加到标记标签表。但是,实施例并不限于此,并且可以采用其它识别和改变标签状态的方法。在一些实施例中,处于标记状态的标签不能被阻止,并且可以被启用以进行部署。在至少一种实施例中,可以给用户发送电子邮件、文本消息或其它通知,以指示该标签被转移到标记状态。在一些其它实施例中,如果在标签的标签延迟被监视时标签返回错误(例如,HTTP 4xx|5xx响应),则该标签可以被转移到标记状态。在方框506之后,过程500可以返回到调用过程以执行其它动作。
如果在判定框504确定没有超过延迟事件阈值,则处理可以从判定框504流动到方框508。在方框508,标签可以保持在正常状态。在至少一种实施例中,处于正常状态的标签不能被阻止,并且可以被启用以进行部署。在方框506之后,过程500可以返回到调用过程以执行其它动作。
如果在判定框502确定标签不处于正常状态,则处理可以从判定框502流动到判定框510。在判定框510,可以作出标签是否处于标记状态的确定。在一些实施例中,如果标签包括在标记标签表中,则该标签可以被确定为处于标记状态。如果标签处于标记状态,则处理可以流动到判定框512;否则,处理可以流动到判定框516。
在判定框512,可以作出是否超过延迟事件阈值的确定。在至少一种实施例中,判定框512可以采用判定框504的实施例来确定是否超过延迟事件阈值。在一些实施例中,用于标记状态的延迟事件阈值可以与用于正常状态的延迟事件阈值相同或不同。在一个非限制性的、非穷举的例子中,用于标记状态的延迟事件的阈值数目可以是三个连续的延迟事件。但是,实施例并不限于此,并且可以采用其它的延迟事件阈值。如果超过延迟事件阈值,则处理可以流动到方框524;否则,处理可以流动到方框514。
在方框514,标签可以保持在标记状态。在至少一种实施例中,处于标记状态的标签不能被阻止,并且可以被启用以进行部署。在方框514之后,过程500可以返回到调用过程以执行其它动作。
如果在判定框510确定标签不处于标记记态,则处理可从判定框510流动到判定框516。在判定框516,可以作出标签是否处于暂停_B状态的确定。在一些实施例中,如果标签包括在暂停_B标签表中,则该标签可被确定为处于暂停_B状态。如果标签处于暂停_B状态,则处理可以流动到判定框518;否则,标签可能处于暂停_A状态并且处理可以流动到判定框520。
在方框520,标签可以保持在暂停_A状态。在至少一种实施例中,处于暂停_A状态的标签可以被阻止,并且不可以被启用来进行部署。在一些实施例中,标签可以独立于延迟和/或非延迟事件在暂停_A状态保持预定的时间段。在方框520之后,过程500可以返回到调用过程以执行其它动作。
如果在判定框516确定标签处于暂停_B状态,则处理可以从判定框516流动到判定框518。在判定框518,可以作出是否超过延迟事件阈值的确定。在至少一种实施例中,判定框518可以采用判定框504的实施例来确定是否超过延迟事件阈值。在一些实施例中,用于暂停_B状态的延迟事件阈值可以与用于正常状态和/或标记状态的延迟事件阈值相同或者不同。在一个非限制性的、非穷举的例子中,用于暂停_B状态的延迟事件的阈值数目可以是三个连续的延迟事件。但是,实施例并不限于此,并且可以采用其它的延迟事件阈值。如果超过延迟事件阈值,则处理可以流动到方框524;否则,处理可以流动到方框522。
在方框524,标签可以被转移到暂停_A状态。在至少一种实施例中,将标签转移到暂停_A状态可以包括将标签添加到暂停_A标签表并且从标记标签表或暂停_B标签表中去除该标签。在一些实施例中,处于暂停_A状态的标签可以被阻止,并且不能被启用来进行部署。方框524之后,过程500可以返回到调用过程以执行其它动作。
如果在判定框518确定没有超过延迟事件阈值,则处理可以从判定框518流动到方框522。在方框522,标签可以保持在暂停_B状态。在一些实施例中,处于暂停_B状态的标签可以被阻止,并且不能被启用来进行部署。在方框522之后,过程500可以返回到调用过程以执行其它动作。
图6说明了逻辑流程图,该流程图一般性地示出用于基于标签的非延迟事件和标签的当前状态改变标签状态的过程的一种实施例。在一些实施例中,图6的过程600可以由单个网络设备实现和/或在单个网络设备上执行,诸如图3的网络设备300。在其它实施例中,图6的过程600或过程600的部分可以由多个网络设备实现和/或在多个网络设备上执行,诸如图3的网络设备300。
在开始框之后,过程600在判定框602开始,其中作出标签是否处于正常状态的确定。在至少一种实施例中,判定框602可以采用图5的判定框502的实施例来确定标签是否处于正常状态。如果标签处于正常状态,则处理可以流动到方框604;否则,处理可以流动到判定框606。
在方框604,标签可以保持在正常状态,并且标签被允许进行部署。在至少一种实施例中,方框604可以采用图5的方框508的实施例。在方框604之后,过程600可以返回到调用过程以执行其它动作。
如果在判定框602确定标签不处于正常状态,则处理可以从判定框602流动到判定框606。在判定框606,作出标签是否处于标记状态的确定。在至少一种实施例中,判定框606可以采用图5的判定框510的实施例来确定标签是否处于标记状态。如果标签处于标记状态,则处理可以流动到判定框608;否则,处理可以流动到判定框610。
在判定框608,可以作出是否超过非延迟事件阈值的确定。在一些实施例中,非延迟事件阈值可以是连续非延迟事件的总数。在一个非限制性的、非穷举的例子中,用于标记状态的非延迟事件阈值可以是三个连续非延迟事件。在至少一种这样的实施例中,确定是否超过非延迟事件阈值可以包括将连续非延迟事件数目与非延迟事件阈值进行比较。在其它实施例中,非延迟事件阈值可以是在给定时间段内发生的非延迟事件的总数。但是,实施例并不限于此,并且可以采用其它的非延迟事件阈值。如果超过非延迟事件阈值,则处理可以流动到方框616;否则,处理可以流动到方框614。
在方框616,标签可以被转移到正常状态。在至少一种实施例中,将标签转移到正常状态可以包括将标签从标记标签表中去除并且将该标签添加到正常标签表。但是,实施例并不限于此,并且可以采用其它识别和改变标签状态的方法。在一些实施例中,处于正常状态的标签不能被阻止,并且可以被启用以进行部署。在一些其它实施例中,如果用户重置标签状态、标签的HTML字段被编辑、标签的监视被禁用和/或监视标签的地理区域被改变(即,用户可以选择服务器的地理位置来监视标签),则标签可以返回到正常状态。在方框616之后,过程600可以返回到调用过程以执行其它动作。
如果在判定框608确定没有超过非延迟事件阈值,则处理可以从判定框608流动到方框614。在方框614,标签可以保持在标记状态。在至少一种实施例中,方框614可以采用图5的方框514的实施例。在方框614之后,处理600可以返回到调用过程以执行其它动作。
如果在判定框606确定标签不处于标记状态,则处理可以从判定框606流动到判定框610。在判定框610,作出标签是否处于暂停_B状态的确定。在至少一种实施例中,判定框610可以采用图5的判定框516的实施例来确定该标签是否处于暂停_B状态。如果标签处于暂停_B状态,则处理可以流动到判定框618;否则,处理可以流动到判定框612。
在方框612,标签可以保留在暂停_A状态。在至少一种实施例中,方框612可以采用图5的方框520的实施例。在方框612之后,处理600可以返回到调用过程以执行其它动作。
如果在判定框610确定标签不处于暂停_B状态,则处理可以从判定框610流动到判定框618。在判定框618,可以作出是否超过非延迟事件阈值的确定。在至少一种实施例中,判定框618可以采用判定框608的实施例来确定是否超过非延迟事件阈值。在一些实施例中,用于暂停_A状态的非延迟事件阈值可以与用于标记状态的非延迟事件阈值相同或不同。在一个非限制性的、非穷举的例子中,用于暂停_A状态的非延迟事件的阈值数目可以是三个连续非延迟事件。但是,实施例并不限于此,并且可以采用其它的非延迟事件阈值。如果超过非延迟事件阈值,则处理可以流动到方框622;否则,处理可以流动到方框620。
在方框622,标签被转移到标记状态。在至少一种实施例中,方框622可以采用图5的方框506的实施例。在方框622之后,处理600可以返回到调用过程以执行其它动作。
如果在判定框618确定没有超过非延迟事件阈值,则处理可以从判定框618流动到方框620。在方框620,标签可以保持在暂停_B状态。在至少一种实施例中,方框620可以采用图5的方框522的实施例。在方框620之后,过程600可以返回到调用过程以执行其它动作。
图7说明了逻辑流程图,该流程图一般性地示出用于利用处于多个状态之一的标签并基于延迟或非延迟事件改变标签状态的过程的一种实施例。在一些实施例中,图7的过程700可以由单个网络设备实现和/或在单个网络设备上执行,诸如图3的网络设备300。在其它实施例中,图7的过程700或过程700的部分可以由多个网络设备实现和/或在多个网络设备上执行,诸如图3的网络设备300。
在开始框之后,过程700在方框702开始,其中可以利用处于正常状态中的标签。在至少一种实施例中,处于正常状态的标签不能被阻止,并且可以被启用以进行部署。如上所述(在方框404),标签的延迟可以被异步地监视。在至少一种实施例中,处于正常状态的标签的标签延迟可以被每15分钟监视一次。但是,可以采用其它用于监视处于标记状态的标签的频率。
过程700继续到判定框704,其中可以作出是否已经发生对该标签的延迟事件的确定。在至少一种实施例中,判定框704可以采用图4的判定框406的实施例来基于异步监视的标签延迟确定是否已发生延迟事件。如果已发生延迟事件,则处理可以流动到判定框705;否则,处理可以循环到方框702,其中标签可以保持在正常状态。
在判定框705,作出是否超过延迟事件阈值的确定。在至少一种实施例中,判定框705可以采用图5的判定框504的实施例来确定是否超过用于正常状态的标签的延迟事件阈值。如果超过延迟事件阈值,则标签可以被转移到标记状态并且处理可以流动到方框706;否则,处理可以循环到方框702,其中标签可以保持在正常状态。在一些实施例中,过程700可以采用图5的方框506的实施例将标签转移到标记状态。
在方框706,可以利用处于标记状态的标签。在至少一种实施例中,处于标记状态的标签不能被阻止,并且可以被启用以进行部署。在至少一种实施例中,处于标记状态的标签的标签延迟可以被每五分钟监视一次。但是,可以采用其它用于监视处于标记状态的标签的频率。
在一些实施例中,用户可以通过“重置”标签手动地将处于标记状态的标签转移到正常状态。在至少一种实施例中,用户可以通过点击“重置”按钮将标签转移到正常状态。但是,实施例并不限于此,并且可以采用其它用于重置标签和/或手动地将标签转移到正常状态的实施例。在至少一种实施例中,手动地转移标签可以独立于用于监视标签延迟的过程而发生。如果处于标记状态的标签被手动地“重置”成正常状态,则过程700可以循环(未示出)到方框702。在至少一种实施例中,处于任何状态(和/或预定状态)的标签可以被“重置”成正常状态。
在任何情况下,过程700继续到判定框710,其中作出是否已发生对该标签的延迟事件。在至少一种实施例中,判定框710可以采用判定框704的实施例来确定是否已发生延迟事件。如果已发生延迟事件,则处理可以流动到判定框712;否则,处理可以流动到判定框708。
在判定框708,可以作出是否超过非延迟事件阈值的确定。在至少一种实施例中,判定框708可以采用图6的判定框608的实施例来确定是否超过用于处于标记状态的标签的非延迟事件阈值。如果超过非延迟事件阈值,则标签可以转移到正常状态并且处理可以流动到方框702;否则,处理可以循环到方框706,其中标签可以保持在标记状态。在一些实施例中,过程700可以采用图6的方框616的实施例将标签转移到正常状态。
如果在判定框710已发生延迟事件,则处理可以从判定框710流动到判定框712。在判定框712,作出是否超过延迟事件阈值的确定。在至少一种实施例中,判定框712可以采用图5的判定框512的实施例来确定是否超过用于处于标记状态的标签的延迟事件阈值。如果超过延迟事件阈值,则标签可以被转移到暂停_A状态并且处理可以流动到方框714;否则,处理可以循环到方框706,其中标签可以保持在标记状态。在一些实施例中,过程700可以采用图5的方框524的实施例来将标签转移到暂停_A状态。
在方框714,可以利用处于暂停_A状态的标签。在一些实施例中,处于暂停_A状态的标签可以在暂停_A状态保持预定的时间段。在至少一种实施例中,当标签处于暂停_A状态时,可以不监视标签延迟。在一些实施例中,处于暂停_A状态的标签可以被阻止,并且不能被启用来进行部署。
在一些实施例中,用户可以通过“重置”标签而手动地将处于暂停_A状态的标签转移到正常状态。在至少一种实施例中,方框714可以采用方框706的实施例来“重置”标签。如果处于暂停_A状态的标签被手动地“重置”成正常状态,则过程700可以循环(未示出)到方框702。
过程700继续到判定框716,其中可以作出用于将标签保持在暂停_A状态的时间段是否已经过去的确定。在至少一种实施例中,时间段可以被用户来确定和/或修改。在一些实施例中,时间段可以是20分钟。但是,实施例并不限于此,并且可以采用其它的时间段。如果时间段已经过去,则标签可以被转移到暂停_B状态并且处理可以流动到方框718;否则,处理可以循环到方框714,其中标签可以保持在暂停_A状态。
在方框718,可以利用处于暂停_B状态的标签。在至少一种实施例中,处于暂停_B状态的标签可以被阻止,并且不能被启用来进行部署。在至少一种实施例中,处于暂停_B状态的标签的标签延迟可以是每一分钟被监视一次。但是,可以采用其它用于监视处于暂停_B状态的标签的频率。
在一些实施例中,用户可以通过“重置”标签手动地将处于暂停_B状态的标签转移到到正常状态。在至少一种实施例中,方框718可以采用方框706的实施例来“重置”标签。如果处于暂停_B状态的标签被手动地“重置”到正常状态,则过程700可以循环(未示出)到方框702。
过程700接下来前进到判定框720,其中可以作出是否已发生对该标签的延迟事件的确定。在至少一种实施例中,判定框720可以采用判定框704的实施例来确定是否已发生延迟事件。如果已发生延迟事件,则处理可以流动到判定框722;否则,处理可以流动到判定框724。
在判定框722,可以作出是否超过延迟事件阈值的确定。在至少一种实施例中,判定框722可以采用图5的判定框518的实施例来确定是否超过用于处于暂停_B状态的标签的延迟事件阈值。如果超过延迟事件阈值,则该标签可以被转移到暂停_A状态并且处理可以流动到方框714;否则,处理可以循环到框718,其中该标签可以保持在暂停_B状态。在一些实施例中,过程700可以采用图5的方框524的实施例将标签转移到暂停_A状态。
如果在判定框720没有发生延迟事件,则处理可以从判定框720流动到判定框724。在判定框724,可以作出是否超过非延迟事件阈值的确定。在至少一种实施例中,判定框724可以采用图6的判定框618的实施例来确定是否超过用于处于暂停_B状态的标签的非延迟事件阈值。如果超过非延迟事件阈值,则标签可以被转移到标记状态,并且处理可以循环到方框706;否则,处理可以循环到方框718,其中该标签可以保持在暂停_B状态。在一些实施例中,过程700可以采用图5的方框506的实施例将标签转移到标记状态。
应当理解,流程图说明的每一方框,以及流程图说明中的方框的组合,都可以由计算机程序指令来实现。这些计算机程序指令可以提供给处理器来产生机器,以便在处理器上执行的指令创建用于实现一个或多个流程图方框中指定的动作的装置。这些计算机程序指令可以被处理器执行,以引起要被处理器执行的一系列操作步骤,从而产生计算机实现的过程,使得在处理器上执行的指令提供用于实现在一个或多个流程图方框中指定的动作的步骤。这些计算机程序指令也可以使得流程图的方框中所示出的至少一些操作步骤被并行地执行。而且,这些步骤中的一些也可以跨多于一个处理器被执行,诸如在多处理器计算机系统中会出现的。此外,在不背离本发明的范围或主旨的情况下,流程图说明中的一个或多个方框或方框的组合也可以与其它方框或方框的组合并发地执行,或者甚至以与所示出的不同的顺序执行。
因此,流程图说明中的方框支持用于执行指定动作的装置的组合、用于执行指定动作的步骤的组合以及用于执行指定动作的程序指令装置。还应当理解,流程图说明中的每个方框以及流程图说明中的方框的组合可以通过专用的基于硬件的系统来实现,这些系统执行指定的动作或步骤,或者专用硬件和计算机指令的组合。上述例子不应当被解释为限制性的和/或穷尽的,而是相反,是作为显示本发明的各种实施例中至少一种实施例的实现的说明性用例。
图8示出了说明多个标签状态以及可以触发状态改变的事件的图形表示的用例的一种实施例。如所示出的,标签可以处于系统800的五种状态之一:正常状态802、标记状态804、暂停_A状态806或暂停_B状态808。在一些实施例中,可以分别类似于图7的方框702、方框706、方框714和/或方框718的实施例,利用处于正常状态802、标记状态806、暂停_A状态806和/或暂停_B状态808的标签。
可以允许处于正常状态802的标签被发出(fire)。在至少一种实施例中,允许标签发出可以包括确定该标签可用于部署并且使得该标签能够被部署。在一些实施例中,如果监视到对该标签的延迟事件,则处于正常状态802的标签可以被转移到标记状态804。但是,实施例并不限于此;而是相反,可以采用其它度量来确定标签是否从正常状态802转移,这在下面进行更详细的描述。
可以允许处于标记状态804的标签发出。在一些实施例中,如果监视到对该标签的三个连续的延迟事件,则处于标记状态804的标签可以被转移到暂停_A状态806。在其它实施例中,如果监视到对该标签的三个连续的非延迟事件,则处于标记状态804的标签可以被转移到正常状态802。但是,实施例并不限于此;而是相反,可以采用其它度量来确定标签是否从标记状态804转移,这在下面进行更详细的描述。
可以阻止处于暂停_A状态806的标签发出。在至少一种实施例中,阻止标签发出包括确定该标签不可用于部署并且不使该标签能够被部署。在一些实施例中,处于暂停_A状态806的标签可以在保持在暂停_A状态20分钟之后转移到暂停_B状态808。但是,实施例并不限于此;而是相反,可以采用其它度量来确定标签是否从暂停_A状态806转移,这在下面进行更详细的描述。
可以阻止处于暂停_B状态808的标签发出。在一些实施例中,如果监视到对该标签的三个连续的延迟事件,则处于暂停_B状态808的标签可以被转移到暂停_A状态806。在其它实施例中,如果监视到对该标签的三个连续的非延迟事件,则处于暂停_B状态808的标签可以被转移到标记状态804。但是,实施例并不限于此;而是相反,可以采用其它度量来确定标签是否从暂停_B状态808转移。
应当注意,图8示出了多个状态以及标签从一个状态转移到另一个状态的一种实施例。但是,实施例并不限于此。例如,在一些实施例中,可以采用不同数量的状态。在其它实施例中,标签可以从一个状态转移到可能没有在图8中示出的另一种状态,诸如像,标签可以从正常状态802改变为暂停_A状态806。在还有的其它实施例中,每个状态可以采用不同的度量来确定标签是否从给定的状态转移并且该标签要转移到哪个状态。在一些实施例中,这些度量可以是对于每个用户都可预定的、可配置的和/或可修改的。可以采用的度量的不同实施例可以包括,但不限于,连续的延迟事件数目、在预定时间段内的延迟事件数目、延迟事件的严重性(例如,高于严重性阈值的标签延迟值)、高于严重性阈值的连续延迟事件数目、在预定时间段内高于严重性阈值的多个延迟事件数目、连续的非延迟事件数目、在预定时间段内的非延迟事件数目、一个或多个非延迟事件的柔和性(例如,低于柔和性阈值的标签延时值)、低于柔和性阈值的连续非延迟事件数目、在预定时间段内低于柔和性阈值的非延迟事件数目、标签处于给定状态的持续时间等或其任意组合。
备选实施例
图9A-9B说明了逻辑流程图,该流程图一般性地示出用于利用处于多个状态之一的标签并基于标签延迟改变标签状态的过程的备选实施例。在一些实施例中,图9A-9B的过程900可以由单个网络设备实现和/或在单个网络设备上执行,诸如图3的网络设备300。在其它实施例中,图9A-9B的过程900或过程900的部分可以由多个网络设备实现和/或在多个网络设备上执行,诸如图3的网络设备300。
在开始框之后,过程900在方框902开始,其中可以利用处于正常状态的标签。在至少一种实施例中,方框902可以采用图7的方框702的实施例来利用处于正常状态的标签。在一些实施例中,处于正常状态的标签可以具有15分钟的监视频率。
过程900前进到判定框904,其中可以作出所监视的标签的标签延迟是否超过暂停阈值的确定。在至少一种实施例中,暂停阈值可以是预定的标签延迟(即,预定的时间量)。在至少一种实施例中,暂停阈值可以由用户确定和/或修改。如果标签延迟超过暂停阈值,则该标签可以被转移到暂停前状态并且处理可以流动到方框912;否则,处理可以流动到判定框906。
在判定框906,可以作出标签延迟是否超过警告阈值的确定。在至少一种实施例中,警告阈值可以是预定的标签延迟。在至少一种实施例中,警告阈值可以由用户确定和/或修改。在一些实施例中,警告阈值可以大于用户所期望的标签延迟,但是小于暂停阈值。如果标签延迟超过警告阈值(但没有超过暂停阈值),则该标签可以被转移到标记状态并且处理可以流动到方框908;否则,处理可以循环到方框902,其中该标签可以保持在正常状态。
在方框908,可以利用处于标记状态的标签。在至少一种实施例中,方框908可以采用图7的方框706的实施例来利用处于标记状态的标签。在一些实施例中,处于标记状态的标签可以具有五分钟的监视频率。在至少一种实施例中,处于标记状态的标签可以保持在标记状态,直到标签延迟超过暂停阈值(诸如在判定框910)或不超过警告阈值(诸如在判定框914)。在一些实施例中,可以向用户发送电子邮件、文本消息或其它通知,从而指示标签处于标记状态。
过程900继续到判定框910,其中可以作出标签的标签延迟是否超过暂停阈值的确定。在至少一种实施例中,判定框910可以采用判定框904的实施例来确定是否超过暂停阈值。如果标签延迟超过暂停阈值,则标签可以被转移到暂停前状态并且处理可以流动到方框912;否则,处理可以流动到判定框914。
在判定框914,可以作出标签的标签延迟是否超过警告阈值的确定。在至少一种实施例中,判定框910可以采用判定框904的实施例来确定是否超过警告阈值。如果标签延迟超过警告阈值(但没有超过暂停阈值),则该标签可以保持在标记状态并且处理可以循环到方框908;否则,该标签可以被转移到正常状态并且处理可以循环到方框902。
如果在判定框910标签延迟超过暂停阈值,则处理可以从判定框910流动到方框912。在方框912,可以利用处于暂停前状态的标签。在至少一种实施例中,该标签不能被阻止并且可以被启用以进行部署。在一些实施例中,处于暂停前状态的标签可以具有一分钟的监视频率。在至少一种实施例中,处于暂停前状态的标签可以在暂停前状态保持五分钟的时间段。
过程900接下来前进到判定框916,其中可以作出标签的标签延迟是否超过暂停阈值的确定。在至少一种实施例中,判定框916可以采用判定框904的实施例来确定是否超过暂停阈值。如果标签延迟超过暂停阈值,则处理可以流动到判定框918;否则,该标签可以被转移到标记状态并且处理可以循环到方框908。
在判定框918,可以作出是否超过连续数量的暂停阈值的确定。在至少一种实施例中,连续的暂停阈值可以是超过暂停阈值的两个连续监视到的标签延迟。如果超过连续暂停阈值,则该标签可以被转移到暂停状态并且处理可以流动到图9B的方框920;否则,处理可以循环到方框912,其中该标签可以保持在暂停前状态。
过程900继续到图9B的方框920,其中可以利用处于暂停状态的标签。在至少一种实施例中,标签可以被阻止并且不能被启用来进行部署。在一些实施例中,处于暂停状态的标签可以不被监视。在至少一种实施例中,处于暂停状态的标签可以在暂停状态保持30分钟的时间段。在一些实施例中,可以向用户发送电子邮件、文本消息或其它通知,从而指示标签处于标记状态。
过程900接下来前进到判定框922,其中可以作出是否超过暂停状态期限的确定。在至少一种实施例中,暂停状态期限可以是30分钟。如果超过暂停状态期限,则该标签可以被转移到暂停后状态并且处理可以流动到方框924;否则,处理可以循环到方框920,其中该标签可以保持在暂停状态。
在方框924,可以利用处于暂停后状态的标签。在至少一种实施例中,标签可以被阻止并且不能被启用来进行部署。在一些实施例中,处于暂停后状态的标签可以具有五分钟的监视频率。在至少一种实施例中,处于暂停后状态的标签可以在暂停后状态保持五分钟的时间段。
过程900继续到判定框926,其中可以作出标签的标签延迟是否超过暂停阈值的确定。在至少一种实施例中,判定框926可以采用判定框904的实施例来确定是否超过暂停阈值。如果标签延迟超过暂停阈值,则处理可以流动到判定框928;否则,处理可以流动到判定框930。
在判定框928,可以作出是否超过连续数量的暂停阈值的确定。在至少一种实施例中,判定框928可以采用图9A的判定框918的实施例来确定是否超过连续的暂停阈值。在至少一种实施例中,连续的暂停阈值可以是超过暂停阈值的两个连续监视到的标签延迟。如果超过连续的暂停阈值,则标签可以被转移到暂停状态并且处理可以循环到方框920;否则,处理可以循环到方框924,其中该标签可以保持在暂停后状态。
如果在判定框926标签延迟没有超过暂停阈值,则处理可以从判定框926流动到判定框930。在判定框930,可以作出标签的标签延迟是否超过警告阈值的确定。在至少一种实施例中,判定框930可以采用判定框904的实施例来确定是否超过警告阈值。如果标签延迟超过警告阈值(但没有超过暂停阈值),则处理可以流动到判定框932;否则,标签可以被转移到正常状态,并且处理可以循环到图9A的方框902。
在判定框932,可以作出是否超过连续数量的警告阈值的确定。在至少一种实施例中,连续的警告阈值可以是超过警告阈值的两个连续监视到的标签延迟。如果超过连续的警告阈值,则标签可以被转移到标记状态并且处理可以循环到图9A的方框922;否则,处理可以循环到方框924,其中该标签可以保持在暂停后状态。
图10示出了说明多个标签状态以及可以触发状态改变的事件的图形表示的用例的备选实施例。如所示出的,标签可以处于系统1000的五种状态之一:正常状态1002、标记状态1004、暂停前状态1006、暂停状态1008或暂停后状态1010。在一些实施例中,可以分别类似于图9的方框902、方框908、方框912、方框920和/或方框924的实施例,利用处于正常状态1002、标记状态1004、暂停前状态1006、暂停状态1008和/或暂停后状态1010的标签。
步骤1:超过规定的警告阈值的处于正常状态1002的标签可以被转移到标记状态1004。如果延迟数下降(即,监视到的标签延迟少于警告阈值),则处于标记状态1004的标签可以返回到正常状态1002。
步骤2:超过规定的暂停阈值的处于正常状态1002的标签可以被转移到暂停前状态1006。在至少一种实施例中,暂停阈值可以大于警告阈值。在一个非限制性的、非穷举的例子中,警告阈值可以是500毫秒并且暂停阈值可以是800毫秒。
步骤3:超出暂停阈值的处于标记状态1004的标签可以被转移到暂停前状态1006。如果延迟数下降(即,监视到的标签延迟少于暂停阈值),则处于暂停前状态1006的标签可以返回到标记状态1004。
步骤4:连续两次超过暂停阈值的处于暂停前状态1006的标签可以被转移到暂停状态1008。
步骤5:已达到其暂停状态期限(例如,30分钟)的处于暂停状态1008的标签可以被转移到暂停后状态1010。如果处于暂停后状态1010的标签连续两次超过暂停阈值,则它们可以返回到暂停状态1008。在一些实施例中,用来确定何时将标签从一个状态转移到另一个状态的暂停阈值可以是相同或不同的阈值。
步骤6:如果处于暂停后状态1010的标签连续两次超过警告阈值,则它们能够转移到标记状态1004。如果处于暂停后状态1010的标签连续两次没有超过超过警告阈值或者暂停阈值,则它们能够转移到正常状态1002。
用例操作环境
图11示出了说明可以用来监视标签延迟和控制标签状态改变和部署的系统的系统图的用例的一种实施例。如所示出的,系统1100可以包括多个监视服务器、控制服务器、数据库和标签服务器。在一些实施例中,该多个监视服务器可以类似于图1的TMSD 112的实施例。多个监视服务器可以包括多组监视服务器来监视处于不同状态的标签,包括:监视服务器暂停后标签、监视服务器暂停标签、监视服务器暂停前标签、监视服务器标记标签和监视服务器正常标签。监视服务器这些组中每一组都可以物理上位于不同的地理位置,诸如北美(NA)、欧洲(EU)、亚太(即,亚洲与太平洋地区(APAC))和南美洲(SA)。在一些实施例中,可以使用户能够选择哪个地理位置的监视服务器可以监视标签。
数据库可以包含所有标签的列表(即所有标签表)。数据库也可以包括用于多个标签状态中的每个状态的多个表,包括:暂停标签表、暂停前标签表、暂停后标签表、正常标签表和标记标签表。
控制服务器可以访问数据库来确定要监视哪些标签以及什么时间监视。在一些实施例中,控制服务器可以类似于图1的TCSD 114的实施例。当标签要被监视时,控制服务器可以通知(例如,发送标签标识符)处于所选地理位置的监视服务器该标签的当前状态。例如,如果用户选择欧洲监视服务器并且处于标记状态的标签要被监视,则控制服务器可以通知在欧洲的监视服务器标记标签。多个监视服务器中的每一个都可以向控制服务器提供所监视标签的标签延迟。基于该标签延迟,控制服务器可以确定是否要改变标签的状态。如果标签状态改变,则控制服务器可以修改数据库中适当的表,以反映改变的状态。在一些实施例中,如果标签改变到特定的状态(例如,标记、暂停的,等等),则控制服务器可以向用户发送电子邮件或其它通知。此外,控制服务器可以与推送服务通信,以识别可用于部署的标签(即,使标签能够用于部署)。
推送服务可以配置为向标签服务器提供标签。在至少一种实施例中,推送服务可以向标签服务器提供从控制服务器接收到的关于可用标签的最新信息。基于由推送服务提供的信息,标记服务器可以在客户端浏览器的网页中部署标签。在一些实施例中,标签服务器可以类似于图1的TDSD 116的实施例。在至少一种实施例中,控制服务器和监视服务器可以对网页的请求异步地执行(包括推送服务和标签服务器)。
在一些实施例中,如果标签被阻止部署(例如,处于图8的暂停_A状态806和/或暂停_B状态808或图10的暂停状态1008和/或暂停后状态1010),则控制服务器可以使得“惰性”标签能够用于部署,而不是被阻止的标签。在至少一种实施例中,惰性标签可以是被阻止的标签的非可执行版本。在一些实施例中,惰性标签可用来确定被阻止的标签本应该但并没有部署(因为它被阻止)的次数。在至少一种实施例中,控制服务器可以将惰性标签提供给推送服务并最终提供给标签服务器。在一些实施例中,标签服务器可以将惰性标签当作用于收集关于标签的统计信息的真实标签,但是可以不部署惰性标签。
以上说明书、示例以及数据提供了本发明的组成、制造和使用的完整描述。由于在不背离本发明的主旨和范围的情况下能够做出本发明的许多实施例,因此本发明存在于下文所附的权利要求中。
Claims (12)
1.一种用于通过网络管理网页的方法,包括:
监视将在网页的呈现期间注入的代码的延迟,其中所述监视对于对所述网页的请求是异步的,并且其中所述监视的频率至少部分基于将在所述网页的呈现期间注入的所述代码的当前状态;
至少部分基于延迟和所述当前状态更新所述代码的状态;及
响应于对所述网页的请求,使用所述代码的状态确定所述代码的可部署性。
2.如权利要求1所述的方法,其中所述代码对应于多个状态,所述多个状态至少包括正常状态、标记状态以及至少一个暂停状态。
3.如权利要求1所述的方法,其中确定所述代码的可部署性还包括:
如果所述代码处于正常状态或者标记状态,则启用部署;及
如果所述代码处于暂停状态,则阻止部署。
4.如权利要求1所述的方法,其中更新所述状态还包括:
如果延迟导致以下至少之一,则从第一状态转移到第二状态,包括:
超过连续延迟事件的阈值数目;
超过在给定时间段内的延迟事件的阈值数目,或者
延迟超过严重性阈值。
5.如权利要求1所述的方法,其中更新所述状态还包括:
如果延迟导致以下至少之一,则从第一状态转移到第二状态,包括:
超过连续非延迟事件的阈值数目,
超过在给定时间段内的非延迟事件的阈值数目,或者
延迟低于柔和度阈值。
6.如权利要求1所述的方法,其中更新所述状态还包括:
如果延迟导致延迟事件,则执行进一步的动作,包括:
如果超过延迟事件的阈值数目,则在所述代码处于正常状态的情况下,将所述代码转移到标记状态;
如果超过延迟事件的另一个阈值数目,则在所述代码处于标记状态的情况下,将所述代码转移到第一暂停状态;
在预定的时间段之后,在所述代码处于第一暂停状态的情况下,将所述代码转移到第二暂停状态;及
如果超过延迟事件的还有另一个阈值数目,则在所述代码处于第二暂停状态的情况下,将所述代码转移到第一暂停状态。
7.如权利要求1所述的方法,其中更新所述状态还包括:
如果延迟导致非延迟事件,则执行进一步的动作,包括:
如果超过非延迟事件的阈值数目,则在所述代码处于标记状态的情况下,将所述代码转移到正常状态;及
如果超过非延迟事件的另一个阈值数目,则在所述代码处于暂停状态的情况下,将所述代码转移到标记状态。
8.如权利要求1所述的方法,其中更新所述状态还包括:
如果延迟超过警告阈值,则在所述代码处于正常状态的情况下,将所述代码转移到标记状态;
如果延迟超过暂停阈值,则在所述代码处于正常状态的情况下,将所述代码转移到暂停前状态,其中暂停阈值大于警告阈值;
如果延迟超过暂停阈值,则在所述代码处于标记状态的情况下,将所述代码转移到暂停前状态;
如果对于多次连续的监视尝试延迟超过暂停阈值,则在所述代码处于暂停前状态的情况下,将所述代码转移到暂停状态;
在预定的时间段之后,在所述代码处于暂停状态的情况下,将所述代码转移到暂停后状态;及
如果对于多次连续的监视尝试延迟超过暂停阈值,则在所述代码处于暂停后状态的情况下,将所述代码转移到暂停状态。
9.如权利要求1所述的方法,其中更新所述状态还包括:
如果延迟小于警告阈值,则在所述代码处于标记状态的情况下,将所述代码转移到正常状态;
如果延迟小于暂停阈值,则在所述代码处于暂停前状态的情况下,将所述代码转移到标记状态,其中暂停阈值大于警告阈值;
如果对于多次连续的监视尝试延迟超过警告阈值并且小于暂停阈值,则在所述代码处于暂停后状态的情况下,将所述代码转移到标记状态;及
如果对于多次连续的监视尝试延迟小于警告阈值,则在所述代码处于暂停后状态的情况下,将所述代码转移到正常状态。
10.一种用于通过网络管理网页的系统,包括:
被配置为执行权利要求1-9中任一项所述的方法的至少一个监视服务器设备。
11.一种包括用于通过网络管理网页的指令的处理器可读非临时性存储介质,所述指令在被处理器执行时,使得所述处理器执行权利要求1-9中任一项所述的方法。
12.一种用于管理用于网页的标签的网络设备,包括:
用于至少存储指令的存储器;以及
执行所述指令以执行权利要求1-9中任一项所述的方法的处理器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/554,500 US8706871B2 (en) | 2012-07-20 | 2012-07-20 | Tag latency monitoring and control system for enhanced web page performance |
US13/554,500 | 2012-07-20 | ||
PCT/US2013/050867 WO2014015025A1 (en) | 2012-07-20 | 2013-07-17 | Tag latency monitoring and control system for enhanced web page performance |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104584000A CN104584000A (zh) | 2015-04-29 |
CN104584000B true CN104584000B (zh) | 2020-03-20 |
Family
ID=49947504
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380043389.1A Active CN104584000B (zh) | 2012-07-20 | 2013-07-17 | 用于增强的网页性能的标签延迟监视与控制系统 |
Country Status (6)
Country | Link |
---|---|
US (3) | US8706871B2 (zh) |
EP (1) | EP2875444B1 (zh) |
JP (1) | JP6262229B2 (zh) |
CN (1) | CN104584000B (zh) |
RU (1) | RU2015101336A (zh) |
WO (1) | WO2014015025A1 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10666533B2 (en) | 2012-07-20 | 2020-05-26 | Oracle International Corporation | Tag latency monitoring and control system for enhanced web page performance |
US8706871B2 (en) | 2012-07-20 | 2014-04-22 | Blue Kai, Inc. | Tag latency monitoring and control system for enhanced web page performance |
US20140075026A1 (en) * | 2012-09-13 | 2014-03-13 | Lung Cheng Technology Ltd. | Cloud database management method |
US20140280480A1 (en) * | 2013-03-15 | 2014-09-18 | Edgecast Networks, Inc. | Dynamic Tag Management for Optimizing Content Delivery |
US9037643B2 (en) | 2013-03-15 | 2015-05-19 | Edgecast Networks, Inc. | Dynamic tag management for optimizing content delivery |
US9552438B2 (en) * | 2013-05-17 | 2017-01-24 | Paypal, Inc. | Systems and methods for responsive web page delivery based on network bandwidth |
CN104133686B (zh) * | 2014-08-06 | 2017-06-27 | 浪潮通用软件有限公司 | 一种可快速模块化配置的web界面构建方法 |
US10580032B2 (en) | 2014-09-25 | 2020-03-03 | Oracle International Corporation | Evaluating page content to determine user interest |
US9723057B2 (en) | 2014-09-25 | 2017-08-01 | Oracle International Corporation | Reducing web page load latency by scheduling sets of successive outgoing HTTP calls |
US10977597B2 (en) * | 2015-07-27 | 2021-04-13 | Innovian Corporation | System and method for validating data |
US11379776B2 (en) * | 2015-07-27 | 2022-07-05 | Innovian Corporation | System and method for validating data |
US10315116B2 (en) * | 2015-10-08 | 2019-06-11 | Zynga Inc. | Dynamic virtual environment customization based on user behavior clustering |
US11037190B2 (en) * | 2017-11-09 | 2021-06-15 | Microsoft Technology Licensing, Llc | Web page performance improvement system |
US10579446B2 (en) | 2018-04-13 | 2020-03-03 | Microsoft Technology Licensing, Llc | Per-request event detection to improve request-response latency |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1745375A (zh) * | 2001-06-15 | 2006-03-08 | 美国索尼公司 | 内容管理系统及过程 |
CN101194247A (zh) * | 2001-04-20 | 2008-06-04 | 甲骨文国际公司 | 服务器控制的客户端性能测量技术 |
CN101359394A (zh) * | 2007-07-31 | 2009-02-04 | 北京清大世纪教育投资顾问有限公司 | 网络远程教育平台测评监控方法 |
CN102316536A (zh) * | 2011-09-16 | 2012-01-11 | 中兴通讯股份有限公司 | 一种调整网页内容的方法及网关 |
CN102347864A (zh) * | 2011-11-02 | 2012-02-08 | 网宿科技股份有限公司 | 基于内容分发网络的服务质量监控系统 |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5787254A (en) * | 1997-03-14 | 1998-07-28 | International Business Machines Corporation | Web browser method and system for display and management of server latency |
US6192382B1 (en) | 1997-09-24 | 2001-02-20 | Mediaone Group, Inc. | Method and system for web site construction using HTML fragment caching |
US6992983B1 (en) * | 2000-05-05 | 2006-01-31 | Macromedia, Inc. | Bandwidth detection in a heterogeneous network with parallel and proxy modes |
US7600014B2 (en) | 2000-11-16 | 2009-10-06 | Symantec Corporation | Method and system for monitoring the performance of a distributed application |
US7440953B2 (en) * | 2001-01-25 | 2008-10-21 | Content Directions, Inc. | Apparatus, method and system for directory quality assurance |
JP3780913B2 (ja) * | 2001-11-20 | 2006-05-31 | 日本電気株式会社 | レスポンス計測における計測モジュールを配布するアクセス管理システム、及びアクセス管理プログラム |
JP2004020663A (ja) | 2002-06-12 | 2004-01-22 | Ricoh Co Ltd | プリント装置 |
US6792460B2 (en) * | 2002-10-02 | 2004-09-14 | Mercury Interactive Corporation | System and methods for monitoring application server performance |
US7194531B2 (en) * | 2002-12-02 | 2007-03-20 | International Business Machines Corporation | System and method for determining the availability of a web page |
JP2004206634A (ja) * | 2002-12-26 | 2004-07-22 | Osaka Gas Co Ltd | 監視方法、稼動監視装置、監視システム及びコンピュータプログラム |
US20050197164A1 (en) * | 2004-03-08 | 2005-09-08 | Chan Brian K.K. | Method for providing services via advertisement terminals |
US20070271375A1 (en) * | 2004-09-27 | 2007-11-22 | Symphoniq Corporation | Method and apparatus for monitoring real users experience with a website capable of using service providers and network appliances |
EP1825388A4 (en) * | 2004-11-17 | 2010-07-28 | Univ California | SYSTEM AND METHOD FOR PROVIDING A WEBSITE |
JP2006195709A (ja) | 2005-01-13 | 2006-07-27 | Hitachi Ltd | Webサービスシステム |
US7627579B2 (en) | 2006-01-17 | 2009-12-01 | International Business Machines Corporation | Managing portal response times |
US7536417B2 (en) * | 2006-05-24 | 2009-05-19 | Microsoft Corporation | Real-time analysis of web browsing behavior |
US9231858B1 (en) * | 2006-08-11 | 2016-01-05 | Dynatrace Software Gmbh | Completeness detection of monitored globally distributed synchronous and asynchronous transactions |
US7634562B2 (en) * | 2006-10-27 | 2009-12-15 | Cyscape, Inc. | Method and apparatus for determining application responsiveness over a network |
US7644315B2 (en) * | 2006-10-30 | 2010-01-05 | Google Inc. | Diagnostics and error reporting for common tagging issues |
US8775603B2 (en) | 2007-05-04 | 2014-07-08 | Sitespect, Inc. | Method and system for testing variations of website content |
US20090106099A1 (en) * | 2007-10-23 | 2009-04-23 | Yahoo! Inc. | Personal targeted advertising |
US8356247B2 (en) * | 2008-12-16 | 2013-01-15 | Rich Media Worldwide, Llc | Content rendering control system and method |
US8078691B2 (en) * | 2009-08-26 | 2011-12-13 | Microsoft Corporation | Web page load time prediction and simulation |
US8856027B2 (en) * | 2009-10-07 | 2014-10-07 | Yahoo! Inc. | System and method for slow ad detection |
US20110197124A1 (en) | 2010-02-05 | 2011-08-11 | Bryan Eli Garaventa | Automatic Creation And Management Of Dynamic Content |
US9430581B2 (en) * | 2010-06-02 | 2016-08-30 | Paypal, Inc. | Method and system for detecting slow page load |
US20120143693A1 (en) * | 2010-12-02 | 2012-06-07 | Microsoft Corporation | Targeting Advertisements Based on Emotion |
US20120144288A1 (en) * | 2010-12-02 | 2012-06-07 | International Business Machines Corporation | Web page content display priority and bandwidth management |
US8706871B2 (en) | 2012-07-20 | 2014-04-22 | Blue Kai, Inc. | Tag latency monitoring and control system for enhanced web page performance |
US9015348B2 (en) | 2013-07-19 | 2015-04-21 | Limelight Networks, Inc. | Dynamically selecting between acceleration techniques based on content request attributes |
US9723057B2 (en) | 2014-09-25 | 2017-08-01 | Oracle International Corporation | Reducing web page load latency by scheduling sets of successive outgoing HTTP calls |
-
2012
- 2012-07-20 US US13/554,500 patent/US8706871B2/en active Active
-
2013
- 2013-07-17 RU RU2015101336A patent/RU2015101336A/ru unknown
- 2013-07-17 US US14/415,936 patent/US9906423B2/en active Active
- 2013-07-17 EP EP13819625.8A patent/EP2875444B1/en active Active
- 2013-07-17 CN CN201380043389.1A patent/CN104584000B/zh active Active
- 2013-07-17 JP JP2015523220A patent/JP6262229B2/ja active Active
- 2013-07-17 WO PCT/US2013/050867 patent/WO2014015025A1/en active Application Filing
-
2014
- 2014-03-07 US US14/201,626 patent/US8930533B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101194247A (zh) * | 2001-04-20 | 2008-06-04 | 甲骨文国际公司 | 服务器控制的客户端性能测量技术 |
CN1745375A (zh) * | 2001-06-15 | 2006-03-08 | 美国索尼公司 | 内容管理系统及过程 |
CN101359394A (zh) * | 2007-07-31 | 2009-02-04 | 北京清大世纪教育投资顾问有限公司 | 网络远程教育平台测评监控方法 |
CN102316536A (zh) * | 2011-09-16 | 2012-01-11 | 中兴通讯股份有限公司 | 一种调整网页内容的方法及网关 |
CN102347864A (zh) * | 2011-11-02 | 2012-02-08 | 网宿科技股份有限公司 | 基于内容分发网络的服务质量监控系统 |
Also Published As
Publication number | Publication date |
---|---|
US20140189113A1 (en) | 2014-07-03 |
JP6262229B2 (ja) | 2018-01-17 |
JP2015530639A (ja) | 2015-10-15 |
US8930533B2 (en) | 2015-01-06 |
WO2014015025A1 (en) | 2014-01-23 |
US20150229553A1 (en) | 2015-08-13 |
US9906423B2 (en) | 2018-02-27 |
EP2875444B1 (en) | 2018-09-19 |
EP2875444A1 (en) | 2015-05-27 |
RU2015101336A (ru) | 2016-09-10 |
US8706871B2 (en) | 2014-04-22 |
CN104584000A (zh) | 2015-04-29 |
US20140025807A1 (en) | 2014-01-23 |
US20170366432A9 (en) | 2017-12-21 |
EP2875444A4 (en) | 2016-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104584000B (zh) | 用于增强的网页性能的标签延迟监视与控制系统 | |
US10678671B2 (en) | Triggering the increased collection and distribution of monitoring information in a distributed processing system | |
US10621147B1 (en) | Replicating file system objects in distributed file systems | |
US11734147B2 (en) | Predictive performance analysis for file systems | |
US9952886B2 (en) | Elastic offload of prebuilt traffic management system component virtual machines | |
US11568447B2 (en) | Tunable statistical IDs | |
US9305666B2 (en) | Prioritized repair of data storage failures | |
US9417907B1 (en) | Impact management of system tasks | |
US7996000B1 (en) | Managing page sizes for a mobile device using estimation of content customizer techniques | |
US8612375B2 (en) | Dynamic playbook: experimentation platform for social networks | |
US9400607B1 (en) | Stateless processing of replicated state for distributed storage systems | |
US9053114B1 (en) | Extensible data path | |
US10666533B2 (en) | Tag latency monitoring and control system for enhanced web page performance | |
US9081611B1 (en) | System for iteratively identifying available next higher priority tracks when identified track matching the task's native track priority is unavailable | |
US11768720B2 (en) | Auto pause incident notification | |
RU2763000C2 (ru) | Мониторинг задержки тега и система управления для повышения производительности веб-страницы |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |