[go: up one dir, main page]

RU2763000C2 - Tag delay monitoring and controlling system for increasing web page performance - Google Patents

Tag delay monitoring and controlling system for increasing web page performance Download PDF

Info

Publication number
RU2763000C2
RU2763000C2 RU2018124846A RU2018124846A RU2763000C2 RU 2763000 C2 RU2763000 C2 RU 2763000C2 RU 2018124846 A RU2018124846 A RU 2018124846A RU 2018124846 A RU2018124846 A RU 2018124846A RU 2763000 C2 RU2763000 C2 RU 2763000C2
Authority
RU
Russia
Prior art keywords
tag
state
delay
threshold
moving
Prior art date
Application number
RU2018124846A
Other languages
Russian (ru)
Other versions
RU2018124846A3 (en
RU2018124846A (en
Inventor
Дэвид Абрахэм ВИНЕР
Доссел Обрайн РЕЙД
Дэвид Скотт ГАРДЕНЕР
Original Assignee
Блю Каи, Инк.
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Блю Каи, Инк. filed Critical Блю Каи, Инк.
Priority to RU2018124846A priority Critical patent/RU2763000C2/en
Publication of RU2018124846A publication Critical patent/RU2018124846A/en
Publication of RU2018124846A3 publication Critical patent/RU2018124846A3/ru
Application granted granted Critical
Publication of RU2763000C2 publication Critical patent/RU2763000C2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Signal Processing (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Operations Research (AREA)
  • Probability & Statistics with Applications (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Algebra (AREA)
  • Evolutionary Biology (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Between Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

FIELD: data transmission.
SUBSTANCE: blocking the loading of slow-running third-party code included in the requested web page is performed, a set of tag states is used to control the suspension of tags based on an asynchronous process that actively monitors tag performance, response time and delay.
EFFECT: increase in web page performance.
30 cl, 12 dwg

Description

Ссылки на родственные заявкиLinks to related claims

По настоящей заявке испрашивается приоритет в соответствии с предварительной заявкой на выдачу патента США с серийным номером №13/554500 5, поданной 20 июля 2012 г., озаглавленной «Мониторинг задержки тега и система управления для повышения производительности веб-страницы», полное содержание которой включено в настоящий документ посредством ссылки.This application claims priority under Provisional US Patent Application Serial No. 13/554500 5, filed July 20, 2012, entitled "Tag Latency Monitoring and Management System for Improving Web Page Performance," the entire contents of which are incorporated to this document by reference.

Область техники, к которой относится изобретениеThe technical field to which the invention relates

Настоящее изобретение относится в целом к управлению тегом, и, в частности, но не исключительно к использованию множества состояний тега для управления приостановления тега использующего асинхронный процесс, предназначенный для активного мониторинга задержки тега.The present invention relates generally to tag control, and in particular, but not exclusively, to the use of multiple tag states to control tag suspension using an asynchronous process for actively monitoring tag latency.

Уровень техникиState of the art

Сегодня многие веб-сайты включает в себя услуги стороннего производителя, которые отделены от самого сайта. Например, веб-сайт может содержать от стороннего производителя: рекламные объявления, чат поддержки, мониторинг услуг, или тому подобное. Как правило, сторонний производитель может продать свои услуги на вебсайт таким образом, что, когда пользователь посещает конкретную веб-страницу, веб-страница загружается с услугами стороннего производителя. Иногда загрузка услуг стороннего производителя может включать в себя выполнение кода для услуги стороннего производителя от удаленной точки размещения. Однако если служба стороннего производителя работает медленно или не отвечает, то загрузка веб-страницы может быть замедлена или загрузка веб-страницы может быть полностью прекращена. Таким образом, из внимания к этим и другим соображениям было сделано настоящее изобретение.Many websites today include third party services that are separate from the site itself. For example, a website may contain from a third party vendor: advertisements, chat support, monitoring services, or the like. Typically, a third party vendor can sell its services on a website in such a way that when a user visits a particular web page, the web page is loaded with the services of the third party. Occasionally, downloading a third-party service may involve executing code for a third-party service from a remote location. However, if a third-party service is slow or unresponsive, then the loading of the web page may be slowed down or the loading of the web page may stop altogether. Thus, in consideration of these and other considerations, the present invention has been accomplished.

Краткое описание чертежейBrief Description of Drawings

Не ограничивающие и не исчерпывающие варианты осуществления настоящего изобретения описаны со ссылкой на следующие схемы. На схемах, одинаковые ссылочные позиции относятся к одинаковым частям в различных фигурах, если не указано иное.Non-limiting and non-exhaustive embodiments of the present invention are described with reference to the following diagrams. In the diagrams, like reference numbers refer to like portions in different figures, unless otherwise indicated.

Для лучшего понимания настоящего изобретения, будет сделана ссылка на следующее подробное описание, которое следует рассматривать совместно с прилагаемыми схемами, причем:For a better understanding of the present invention, reference will be made to the following detailed description, which should be read in conjunction with the accompanying diagrams, wherein:

Фиг. 1 представляет собой диаграмму системы среды, в которой могут быть реализованы варианты осуществления настоящего изобретения;FIG. 1 is a system diagram of an environment in which embodiments of the present invention may be implemented;

На Фиг. 2 показан вариант осуществления клиентского устройства, которое может быть включено в такую систему, как показанная на Фиг. 1;FIG. 2 shows an embodiment of a client device that may be included in a system such as that shown in FIG. one;

На Фиг. 3 показан вариант осуществления сетевого устройства, которое может быть включено в такую систему, как показанная на Фиг. 1;FIG. 3 shows an embodiment of a network device that may be included in a system such as that shown in FIG. one;

На Фиг. 4 показана логическая блок-схема, главным образом, показывающая один вариант осуществления обзора процесса изменения состояния тега, основываясь на асинхронном мониторинге задержки тега и разрешающий развертывание тега основываясь на состоянии тега;FIG. 4 is a logic flow diagram mainly showing one embodiment of an overview of a process for changing a tag state based on asynchronous monitoring of tag latency and enabling tag deployment based on a tag state;

На Фиг. 5 показана логическая блок-схема, главным образом показывающая один вариант осуществления процесса изменения состояния тега основываясь на событии задержки тега и текущем состоянии тега;FIG. 5 is a logic flow diagram mainly showing one embodiment of a process for changing a tag state based on a tag delay event and a current tag state;

На Фиг. 6 показана логическая блок-схема, главным образом показывающая один вариант осуществления способа изменения состояния тега основываясь на событии отсутствия задержки тега и текущем состоянии тега;FIG. 6 is a flowchart mainly showing one embodiment of a method for changing the state of a tag based on a no tag delay event and the current state of the tag;

На Фиг. 7 показана логическая блок-схема, главным образом показывающая один вариант осуществления способа использования тега в одном из множества состояний и изменение состояния тега, основываясь на событии задержки или отсутствия задержки;FIG. 7 is a flowchart mainly showing one embodiment of a method for using a tag in one of a plurality of states and changing the state of the tag based on a delayed or non-delayed event;

На Фиг. 8 показан один вариант осуществления случая использования, иллюстрирующий графическое представление множества состояний тега и событий, которые могут вызвать изменение состояния;FIG. 8 illustrates one embodiment of a use case illustrating a graphical representation of a plurality of tag states and events that can cause a state change;

На Фиг. 9А-9Б показана логическая блок-схема, главным образом показывающая альтернативный вариант процесса использования тега в одном из множества состояний и изменение состояния тега, основываясь на задержке тега;FIG. 9A-9B are a flow diagram mainly showing an alternate process for using a tag in one of a plurality of states and changing the state of the tag based on the tag delay;

На Фиг. 10 показан альтернативный вариант осуществления случая использования, иллюстрирующий графическое представление множества состояний тега и событий, которые могут вызвать изменение состояния; иFIG. 10 is an alternate embodiment of a use case illustrating a graphical representation of a plurality of tag states and events that can cause a state change; and

На Фиг. 11 показан один вариант осуществления случая использования, иллюстрирующий схему системы, которая может быть использована для контроля задержки тега и управление изменением и развертыванием тега.FIG. 11 shows one embodiment of a use case illustrating a diagram of a system that can be used to control tag latency and control tag change and deployment.

Осуществление изобретенияImplementation of the invention

Во всем описании и формуле изобретения следующие термины принимают явно связанные в настоящем документе значения, если из контекста явно не следует иное. Используемая в настоящем документе фраза «согласно одному варианту осуществления» не обязательно относится к тому же варианту осуществления, хотя и может. Кроме того, используемая в настоящем документе фраза «в другом варианте осуществления», не обязательно относятся к иному варианту, хотя может. Таким образом, как описано ниже, различные варианты осуществления настоящего изобретения могут быть легко объединены, без отступления от объема или сущности настоящего изобретения.Throughout the specification and claims, the following terms assume their explicitly associated meanings herein, unless the context clearly indicates otherwise. As used herein, the phrase “according to one embodiment” does not necessarily refer to the same embodiment, although it may. In addition, as used herein, the phrase “in another embodiment” does not necessarily refer to another embodiment, although it may. Thus, as described below, various embodiments of the present invention can be easily combined without departing from the scope or spirit of the present invention.

Кроме того, используемый в настоящем документе термин «или» включает в себя оператор «или» и эквивалентен термину «и/или», если из контекста явно не следует иное. Термин «основываясь на» не представляет собой исключительный и позволяет быть основываться на дополнительных не описанных факторах, если из контекста явно не следует иное. Кроме того, во всем описании, значения неопределенных артиклей и определенного артикля включают в себя ссылки на множественное число. Значение «в» включает в себя «в» и «на».In addition, as used herein, the term “or” includes the operator “or” and is equivalent to the term “and / or” unless the context clearly indicates otherwise. The term "based on" is not intended to be exclusive and is intended to be based on additional factors not described unless the context clearly indicates otherwise. In addition, throughout the description, the meanings of the indefinite articles and the definite article include plural references. The meaning "in" includes "in" and "on".

Используемый в настоящем документе термин «тег» в целом относится к коду, который может быть введен в веб-страницу, используя решения стороннего производителя, в любой точке во время показа веб-страницы. Согласно некоторым вариантам осуществления решение стороннего производителя может ссылаться на код поставщика, который отделен от хоста веб-страницы. Согласно по меньшей мере одному варианту осуществления загрузка тега на веб-страницу может также упоминаться как развертывание тега. Согласно некоторым вариантам осуществления показы веб-страниц могут быть обеспечены, когда гость посещает веб-сайт или выполняет на странице действий.As used in this document, the term "tag" generally refers to code that can be entered into a web page, using third-party solutions, at any point during the display of the web page. In some embodiments, the third-party solution may reference vendor code that is separate from the host of the web page. In at least one embodiment, loading a tag onto a web page may also be referred to as deploying a tag. In some embodiments, web page displays may be provided when a guest visits a website or takes action on a page.

Используемый в настоящем документе термин «задержка тега» обычно относится к периоду времени между тем, когда тег запрошен и когда получен основывающийся на запросе тега ответ от сервера. Согласно по меньшей мере одному варианту осуществления задержка тега может быть основываться на периоде времени между тем, когда тег запрошен и тем когда полный тег развернут. Согласно некоторым вариантам осуществления задержка тега может основываться на совокупном времени отклика каждого компонента тега, включающего в себя любой дополнительный код или ресурсы, необходимые для компонента тега. Согласно другим вариантам осуществления задержка тега может основываться на долгом времени отклика компонента из множества компонентов тега. Согласно другому варианту осуществления задержка тега может быть основываться на сообщении об ошибке, полученном в ответ на запрос тега, таком как, например, ответ от сервера с кодом ошибки 400-500. Согласно некоторым вариантам осуществления задержка тега может быть периодом времени между тем, когда тег запрошен и когда получено сообщение об ошибке в ответ от сервера.As used herein, the term "tag delay" generally refers to the period of time between when a tag is requested and when a response based on the tag request is received from the server. In at least one embodiment, the tag delay may be based on the time period between when the tag is requested and when the complete tag is deployed. In some embodiments, the tag delay may be based on the cumulative response time of each tag component, including any additional code or resources needed for the tag component. In other embodiments, the tag delay may be based on long component response times from among the plurality of tag components. In another embodiment, the tag delay may be based on an error message received in response to a tag request, such as, for example, a response from a server with error codes 400-500. In some embodiments, the tag delay may be the period of time between when the tag is requested and when an error message is received in response from the server.

Используемый в настоящем документе термин «событие задержки» относится к результату мониторинга задержки тега, причем задержка тега больше чем максимальное пороговое значение времени задержки. Напротив, используемый в настоящем документе термин «событие отсутствия задержки» относится к результату мониторинга задержки тега, причем задержка тега меньше максимального порогового значения времени задержки. Согласно по меньшей мере одному варианту осуществления максимальное пороговое время задержки может быть определено и/или изменено пользователем (например, хостом веб-сайта для развертывания тега). Согласно некоторым вариантам осуществления максимальное пороговое значение времени задержки может основываться на заданном времени загрузки веб-страницы, среднем времени загрузки тега, или т.п.As used herein, the term "latency event" refers to the result of monitoring tag latency where the tag latency is greater than the maximum delay time threshold. In contrast, as used herein, the term “no latency event” refers to the result of monitoring tag latency, where the tag latency is less than the maximum delay time threshold. In at least one embodiment, the maximum threshold delay time may be determined and / or changed by a user (eg, a website host for deploying a tag). In some embodiments, the maximum latency threshold may be based on a target web page load time, average tag load time, or the like.

Ниже кратко описаны варианты осуществления настоящего изобретения, чтобы обеспечить базовое понимание некоторых аспектов изобретения. Это краткое описание не предназначено для обширного обзора. Оно не предназначено для идентификации ключевых или критических элементов, или чтобы определить или иным образом сузить область. Его цель состоит только в представлении некоторых концепций в упрощенной форме в качестве вводной части к более подробному описанию, которое представлено ниже.Embodiments of the present invention are briefly described below to provide a basic understanding of some aspects of the invention. This summary is not intended to be an extensive overview. It is not intended to identify key or critical elements, or to define or otherwise narrow the scope. Its purpose is only to present some concepts in a simplified form as a prelude to the more detailed description that follows.

Вкратце, различные варианты осуществления направлены на использование множества состояний тега для контроля приостановки тега, основываясь на асинхронном процессе, направленном на то, чтобы активно отслеживать производительность тега и измерение времени отклика. Согласно некоторым вариантам осуществления задержка тега может контролироваться и/или измеряться для того, чтобы определить производительность и/или время отклика тега. Согласно по меньшей мере одному варианту осуществления пользователь может зарегистрироваться в службе для того, чтобы выбрать теги для развертывания на веб-странице. Согласно некоторым вариантам осуществления пользователь может обратиться к веб-сайту, хосту веб-сайта, администратору веб-сайта, консультанту веб-сайта или т.п., или его агенту. Тэги могут находиться в одном из множества состояний, таких как, например, состояние НОРМАЛЬНОЕ, состояние ПОМЕЧЕННОЕ, состояние ПРИОСТАНОВКА_А или состояние ПРИОСТАНОВКА_В. Согласно по меньшей мере одному варианту осуществления теги в состоянии НОРМАЛЬНОЕ или состоянии ПОМЕЧЕННОЕ может быть разрешено развертывание (т.е., они доступны для развертывания), и теги в состоянии ПРИОСТАНОВКА_А или состоянии ПРИОСТАНОВКА_В могут быть блокированы от развертывания (т.е., приостановлены от развертывания).In short, various embodiments are directed to using multiple tag states to monitor tag suspension based on an asynchronous process to actively monitor tag performance and measure response times. In some embodiments, tag latency can be monitored and / or measured to determine the performance and / or response time of the tag. In at least one embodiment, a user can register with a service to select tags to deploy to a web page. In some embodiments, a user may refer to a website, website host, website administrator, website consultant, or the like, or an agent thereof. Tags can be in one of a variety of states, such as, for example, the NORMAL state, the MARKED state, the SUSPEND_A state, or the SUSPEND_B state. In at least one embodiment, tags in the NORMAL or TAGGED state may be enabled for deployment (i.e., they are available for deployment), and tags in the SUSPEND_A or SUSPEND_B state may be blocked from deployment (i.e., suspended from deployment).

Задержка тега может асинхронно контролироваться в зависимости от запросов веб-страницы. Согласно некоторым вариантам осуществления частота контролирования тегов может основываться на состоянии тега. Состояние тега может изменяться в зависимости от асинхронного мониторинга теговой задержки.Tag latency can be asynchronously controlled depending on web page requests. In some embodiments, the frequency of tag monitoring may be based on the status of the tag. The state of the tag can change based on the asynchronous monitoring of the tag delay.

Вкратце, согласно некоторым вариантам осуществления, если происходит событие задержки (т.е., задержка тега превышает максимальное пороговое значение времени задержки), то состояние тега может изменяться из НОРМАЛЬНОЕ на ПОМЕЧЕННОЕ, из ПОМЕЧЕННОЕ на ПРИОСТАНОВКА_А или из ПРИОСТАНОВКА_В на ПРИОСТАНОВКА_А. Согласно другим вариантам осуществления, если происходит событие отсутствия задержки (т.е., задержка тега не превышает максимальное пороговое значение времени задержки), то состояние тега может изменяться из ПРИОСТАНОВКА_В на ПОМЕЧЕННОЕ или из ПОМЕЧЕННОЕ на НОРМАЛЬНОЕ. Согласно по меньшей мере одному варианту осуществления последовательные события задержки или последовательные события отсутствия задержки могут быть использованы для изменения состояния тега. При использовании множества различных состояний и изменения состояний тега, основывающееся на событии задержки/отсутствия задержка (и/или последовательных событий задержки/отсутствия задержки), тег не может быть досрочно блокирован от развертывания из-за резкого нарастания задержки тега или преждевременно включен на развертывание после блокирования из-за резкого снижения задержки тега.Briefly, according to some embodiments, if a delay event occurs (i.e., the tag delay exceeds the maximum delay time threshold), then the state of the tag may change from NORMAL to LABELED, from MARKED to SUSPEND_A, or from SUSPEND_B to SUSPEND_A. In other embodiments, if a no-delay event occurs (i.e., the tag delay does not exceed the maximum delay time threshold), then the state of the tag may change from SUSPEND_W to MARKED or from MARKED to NORMAL. In at least one embodiment, sequential delay events or sequential non-latency events may be used to change the state of a tag. With many different states and tag state changes based on a delay / no-delay event (and / or sequential delay / no-delay events), the tag cannot be early blocked from deployment due to a sharp increase in tag delay, or prematurely enabled for deployment after blocking due to a sharp drop in tag latency.

Показательная операционная средаDemonstration operating environment

На Фиг. 1 показаны компоненты одного варианта осуществления среды, в которой может быть применено настоящее изобретение. Не все компоненты могут потребоваться для применения изобретения, и вариации в расположении и типе компонентов могут быть сделаны без отклонения от сущности или объема изобретения. Как показано, система на Фиг. 1 включает в себя локальные вычислительные сети (LAN)/глобальные компьютерные сети (WAN) - (сеть) 110, беспроводную сеть 108, клиентские устройства 102-105, серверное устройство 112 мониторинга тега (TMSD), серверное устройство 114 управления тегом (TCSD) и серверное устройство 116 развертывания тега (TDSD).FIG. 1 shows the components of one embodiment of an environment in which the present invention may be applied. Not all components may be required to practice the invention, and variations in arrangement and type of components may be made without departing from the spirit or scope of the invention. As shown, the system in FIG. 1 includes local area networks (LAN) / wide area computer networks (WAN) - (network) 110, wireless network 108, client devices 102-105, tag monitoring server device (TMSD) 112, tag management server device (TCSD) 114 and a tag deployment server device (TDSD) 116.

По меньшей мере один из вариантов осуществления клиентских устройств 102-105 описан более подробно ниже со ссылкой на Фиг. 2. Согласно одному варианту осуществления по меньшей мере некоторые из клиентских устройств 102-105 могут работать по проводной и/или беспроводной сети, такой как сеть 110 и/или 108. Как правило, клиентские устройства 102-105 могут включать в себя практически любое вычислительное устройство способное осуществлять связь по сети для передачи и приема информации, выполнять различные онлайн действия, оффлайн действия, или т.п. Согласно одному варианту осуществления одно или несколько клиентских устройств 102-105 может быть настроено для работы в бизнесе или других организациях, для выполнения различных услуг для бизнеса или других организаций. Например, клиентские устройства 102-105 могут быть настроены для работы в качестве веб-сервера, сервера учета, производственного сервера, сервера инвентаризации или т.п. Однако клиентские устройства 102-105 не ограничены этими услугами, и также могут быть использованы, например, в качестве вычислительного узла конечного пользователя согласно другим вариантам осуществления. Следует признать, что более или менее все клиентские устройства могут быть включены в такую систему, как описана в настоящем документе, и варианты осуществления, следовательно, не ограничиваются количеством или типом используемых клиентских устройств.At least one embodiment of client devices 102-105 is described in more detail below with reference to FIG. 2. In one embodiment, at least some of the client devices 102-105 may operate over a wired and / or wireless network, such as network 110 and / or 108. Typically, client devices 102-105 may include virtually any computing a device capable of communicating over a network to transmit and receive information, perform various online actions, offline actions, or the like. In one embodiment, one or more client devices 102-105 can be configured to operate in a business or other organization to provide various services to a business or other organization. For example, client devices 102-105 can be configured to act as a web server, accounting server, production server, inventory server, or the like. However, client devices 102-105 are not limited to these services, and can also be used, for example, as an end-user computing node according to other embodiments. It should be recognized that more or less all client devices can be included in such a system as described herein, and the embodiments are therefore not limited to the number or type of client devices used.

Устройства, которые могут работать как клиентское устройство 102 могут включать в себя устройства, обычно использующие для соединения проводные или беспроводные средства связи, такие как персональные компьютеры, многопроцессорные системы, микропроцессорные или программируемые электронные устройства, сетевые ПК, или т.п.. Согласно некоторым вариантам осуществления клиентские устройства 102-105 могут включать в себя практически любое портативное вычислительное устройство совместимое по соединению с другим вычислительным устройством и приему информации, такие как, портативный компьютер 103, мобильный смартфон 104, планшетные компьютеры 105 и т.п. Однако портативные вычислительные устройства не так ограничены и могут также включать в себя другие портативные устройства, такие как сотовые телефоны, пейджеры с отображением, радиочастотные (RF) устройства, инфракрасные (IR) устройства, персональные цифровые ассистенты (PDA), карманные компьютеры, нательные компьютеры, интегрированные устройства, скомбинированные из одного или нескольких предшествующих устройств и т.п. Таким образом, клиентские устройства 102-105 обычно колеблются в широких пределах в плане возможностей и функциональности. Кроме того, клиентские устройства 102-105 могут получить доступ к различным компьютерным приложениям, включающим в себя браузер или другое веб-приложение.Devices that can operate as client device 102 may include devices typically using wired or wireless communications for communication, such as personal computers, multiprocessor systems, microprocessor or programmable electronic devices, networked PCs, or the like. According to some In embodiments, client devices 102-105 may include virtually any portable computing device that is compatible in connection with and receiving information with another computing device, such as laptop 103, mobile smartphone 104, tablet computers 105, and the like. However, portable computing devices are not so limited and may also include other portable devices such as cell phones, display pagers, radio frequency (RF) devices, infrared (IR) devices, personal digital assistants (PDAs), handheld computers, laptop computers. , integrated devices combined from one or more prior devices, and the like. Thus, client devices 102-105 typically fluctuate widely in terms of capabilities and functionality. In addition, client devices 102-105 can access various computer applications, including a browser or other web application.

Веб-ориентированное клиентское устройство может включать в себя приложение браузера, настроенное на то, чтобы получать и отправлять веб-страницы, веб-сообщения и т.п. Приложение браузера может быть настроено на прием и отображение графики, текста, мультимедиа и т.п., использующее практически любой язык веб-программирования, включающий в себя сообщения беспроводного протокола передачи данных (WAP) и т.п. Согласно одному варианту осуществления приложение браузера позволяет использовать язык разметки для карманного устройства (HDML), язык разметки для беспроводной сети (WML), WMLScript, JavaScript, язык обобщенной разметки (SGML), язык гипертекстовой разметки (HTML), расширяемый язык разметки (XML) и т.п. для отображения и отправки сообщения. Согласно одному варианту осуществления пользователь клиентского устройства может использовать приложение браузера, чтобы выполнять различные действия в сети (онлайн). Однако и другое приложение может также быть использовано для выполнения различных онлайн действий.The web-based client device may include a browser application configured to receive and send web pages, web messages, and the like. The browser application can be configured to receive and display graphics, text, multimedia, and the like, using virtually any web programming language, including Wireless Data Protocol (WAP) messages, and the like. In one embodiment, the browser application enables the use of Handheld Markup Language (HDML), Wireless Markup Language (WML), WMLScript, JavaScript, Generalized Markup Language (SGML), Hypertext Markup Language (HTML), Extensible Markup Language (XML) etc. to display and send a message. In one embodiment, a user of a client device can use a browser application to perform various actions on a network (online). However, another application can also be used to perform various online activities.

Клиентские устройства 102-105 также могут включать в себя по меньшей мере одно клиентское приложение, которое настроено на то чтобы принимать и/или передавать контент на другое вычислительное устройство. Клиентское приложение может включать в себя возможность отправлять и/или принимать контент или т.п.Client devices 102-105 may also include at least one client application that is configured to receive and / or transmit content to another computing device. The client application may include the ability to send and / or receive content or the like.

Клиентское приложение может также предоставлять информацию, которая идентифицирует себя, включая тип, возможность, имя и т.п. Согласно одному варианту осуществления клиентские устройства 102-105 могут однозначно идентифицировать себя посредством любого из множества механизмов, включая в себя межсетевой протокол (IP), адрес, номер телефона, мобильный идентификационный номер (MIN), электронный серийный номер (ESN) или другой идентификатор устройства. Такая информация может быть предоставлена в сетевом пакете или т.п., передаваться между различными клиентскими устройствами TMSD 112, TCSD 114, TDSD 116 или другими вычислительными устройствами.The client application can also provide information that identifies itself, including type, capability, name, and the like. In one embodiment, client devices 102-105 can uniquely identify themselves through any of a variety of mechanisms, including Internet Protocol (IP), address, telephone number, mobile identification number (MIN), electronic serial number (ESN), or other device identifier. ... Such information may be provided in a network packet or the like, transferred between different client devices TMSD 112, TCSD 114, TDSD 116, or other computing devices.

Клиентские устройства 102-105 могут дополнительно быть настроены на то, чтобы содержать в себе клиентские приложения, которые позволяют конечному пользователю войти в учетную запись конечного пользователя, которая может управляться другим вычислительным устройством, таким как TMSD 112, TCSD 114, TDSD 116 или подобным. Такая учетная запись конечного пользователя в одном не ограничивающем примере может быть настроена на то, чтобы разрешать конечному пользователю управлять одним или несколькими действиями онлайн, включая в себя один не ограничивающий пример, поиск активности, активность в социальных сетях, просмотр различных сайтов, общение с другими пользователями или т.п. Однако участие в такой онлайн активности также может быть выполнено без входа в учетную запись конечного пользователя.Client devices 102-105 can further be configured to contain client applications that allow an end user to log into an end user account that can be controlled by another computing device such as TMSD 112, TCSD 114, TDSD 116, or the like. Such an end-user account, in one non-limiting example, may be configured to allow the end-user to control one or more online activities, including one non-limiting example, searching for activity, social media activity, browsing various sites, communicating with others. users or the like. However, engaging in such online activity can also be performed without logging into the end user account.

Беспроводная сеть 108 настраивается для пары клиентских устройств 103-105 и их компонентов с сетью 110. Беспроводная сеть 108 может содержать любые из множества беспроводных подсетей, которые могут дополнительно совмещать автономные специальные сети и т.п., чтобы обеспечить инфраструктуру ориентированную на подключение клиентских устройств 103-105. Такие подсети могут включать в себя ячеистые сети, беспроводные локальные сети (WLAN), сотовые сети и т.п. Согласно одному варианту осуществления система может содержать более чем одну беспроводную сеть.Wireless network 108 is configured for a pair of client devices 103-105 and their components with network 110. Wireless network 108 may comprise any of a variety of wireless subnets, which may additionally overlap autonomous ad hoc networks and the like to provide an infrastructure focused on connecting client devices. 103-105. Such subnets can include mesh networks, wireless local area networks (WLAN), cellular networks, and the like. In one embodiment, a system can comprise more than one wireless network.

Беспроводная сеть 108 может дополнительно включать в себя автономную систему терминалов, шлюзов, маршрутизаторов и связанные по беспроводной радиосвязи сети, и т.п. Эти соединители могут быть настроены так, чтобы свободно перемещаться и случайным образом, и организовать себя произвольно для того, чтобы топология беспроводной сети 108 могла быстро изменяться.Wireless network 108 may further include a stand-alone system of terminals, gateways, routers, and wireless radio related networks, and the like. These connectors can be configured to roam freely and randomly and organize themselves arbitrarily so that the topology of the wireless network 108 can change rapidly.

Беспроводная сеть 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 и другим вычислительным устройством, сетью и т.п.Wireless network 108 can further utilize a variety of access technologies, including second (2G), third (3G), fourth (4G), fifth (5G) generation cellular radio access, WLAN, wireless mesh router (WR), and the like. Access technologies such as 2G, 3G, 4G, 5G and future access networks may enable global coverage for mobile devices such as 103-105 client devices with varying degrees of mobility. In one non-limiting example, wireless network 108 may enable radio communications over a radio access network such as Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), Enhanced Media for GSM (EDGE), Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Wideband Code Division Multiple Access (WCDMA), High Speed Channel Packet Access (HSDPA), Long Term Evolution (LTE) and the like. As such, wireless network 108 can include virtually any wireless communication mechanism by which information can move between client devices 103-105 and another computing device, network, or the like.

Сеть 110 настраивается для пары сетевых устройств с другими вычислительными устройствами, включающими в себя TMSD 112, TCSD 114, TDSD 116, клиентское устройство 102 и клиентские устройства 103-105 посредством беспроводной сети 108. Сеть 110 разрешает использовать любую форму цифровой машиной среды для передачи информации от одного электронного устройства к другому. Также, сеть 110 может включать в себя Интернет в дополнение к локальным вычислительным сетям (LAN), глобальные компьютерные сети (WAN), прямые связи, например, через универсальную последовательную шину (USB-порт), другие формы цифровой машинной среды или любые их комбинации. Во взаимосвязанной группе LAN, включающие в себя основывающиеся на различной архитектуре и протоколах, маршрутизатор действует в качестве связующего звена между LAN, позволяющего отправлять сообщения от одного к другому. В дополнение, каналы связи в рамках LAN, как правило включают в себя витую пару или коаксиальный кабель, пока линия связи между сетями может использовать аналоговые телефонные линии, полностью или частично выделенные цифровые линии, включающие в себя T1, Т2, Т3 и Т4 и/или другие механизмы службы связи, в том числе, например, канал класса Е, интегрированную службу цифровых сетей (ISDN), цифровую абонентскую линию (DSL), беспроводные соединения, включающие в себя спутниковые каналы связи или другие линии связи известные специалистам в настоящей области техники. Кроме того, линии связи могут дополнительно использовать какую-либо из множества технологий передачи сигналов, в том числе, без ограничения, например, DS-0, DS-1, DS-2, DS-3, DS-4, OC-3, OC-12, OC-48 или т.п. Кроме того, удаленные компьютеры и другие связанные электронные устройства могут быть удаленно связанными либо с LAN или WAN через модем и временную телефонную линию. Согласно одному варианту осуществления сеть 110 может быть настроена на передачу информации, используя межсетевой протокол (IP). В сущности, сеть 110 включает в себя любой способ связи, с помощью которого информация может перемещаться между вычислительными устройствами.Network 110 is configured for a pair of network devices with other computing devices including TMSD 112, TCSD 114, TDSD 116, client device 102, and client devices 103-105 via wireless network 108. Network 110 allows any form of digital machine media to communicate from one electronic device to another. Also, network 110 may include the Internet in addition to local area networks (LANs), wide area computer networks (WANs), direct connections such as a universal serial bus (USB port), other forms of digital computing media, or any combination thereof. ... In an interconnected group of LANs, including those based on different architectures and protocols, the router acts as a link between LANs, allowing messages to be sent from one to the other. In addition, communication channels within a LAN typically include twisted pair or coaxial cable, while the communication line between networks can use analog telephone lines, fully or partially leased digital lines, including T1, T2, T3 and T4 and / or other communication service mechanisms, including, for example, a class E channel, an integrated digital network service (ISDN), digital subscriber line (DSL), wireless connections including satellite links or other communication links known to those of skill in the art ... In addition, the communications links may additionally use any of a variety of signaling technologies, including but not limited to, for example, DS-0, DS-1, DS-2, DS-3, DS-4, OC-3, OC-12, OC-48 or the like In addition, remote computers and other associated electronic devices can be remotely connected to either a LAN or WAN via a modem and a temporary telephone line. In one embodiment, network 110 can be configured to communicate using Internet Protocol (IP). As such, network 110 includes any communication method by which information can move between computing devices.

Кроме того, средства связи обычно содержат машиночитаемые команды, структуры данных, программные модули или другие механизмы передачи и включают в себя любое средство доставки информации. В качестве примера, средство связи включает в себя проводную связь, такую как витая пара, коаксиальный кабель, волоконно-оптические, волноводы и другие проводные связи и беспроводные связи, такие как акустические, радиочастотные, инфракрасные и другие беспроводные средства связи.In addition, communications media typically contain computer readable instructions, data structures, program modules, or other transmission mechanisms, and include any information delivery vehicle. By way of example, communication media includes wired communications such as twisted pair, coaxial cable, fiber optics, waveguides, and other wired communications and wireless communications such as acoustic, RF, infrared, and other wireless communications.

Один из вариантов осуществления TMSD 112 описан более подробно ниже со ссылкой на Фиг. 3. Вкратце, однако, TMSD 112 включает в себя практически любое сетевое устройство способное на мониторинг задержки тегов. Согласно по меньшей мере одному варианту осуществления TMSD 112 может осуществлять асинхронный мониторинг задержки тегов. Асинхронный мониторинг может быть выполнен независимо от запроса загрузить веб-страницу (например, от посетителя веб-сайта). TMSD 112 может эмулировать браузер, запрашивать тег и определять задержку тега. Согласно по меньшей мере одному варианту осуществления TMSD 112 может определить задержку тега путем расчета времени, необходимого запрашиваемому тегу загрузиться в эмулированном браузер. Согласно некоторым вариантам осуществления TMSD 112 может обмениваться данными с TCSD 114, чтобы определить какие теги контролировать и/или обеспечить определенную задержку тега. Устройства, которые могут быть выполнены с возможностью работы в качестве TMSD 112, включают в себя различные сетевые устройства, включающие в себя без ограничений персональные компьютеры, настольные компьютеры, многопроцессорные системы, микропроцессорную или программируемую бытовую электронику, сетевые ПК, серверные устройства, сетевые устройства и т.п.One embodiment of the TMSD 112 is described in more detail below with reference to FIG. 3. In short, however, the TMSD 112 includes virtually any network device capable of monitoring tag latency. In at least one embodiment, the TMSD 112 can monitor tag latency asynchronously. Asynchronous monitoring can be performed independently of a request to load a web page (for example, from a website visitor). The TMSD 112 can emulate a browser, request a tag, and detect a tag delay. In at least one embodiment, the TMSD 112 can determine the tag latency by calculating the time it takes for the requested tag to load into an emulated browser. In some embodiments, the TMSD 112 can communicate with the TCSD 114 to determine which tags to monitor and / or provide a specific tag delay. Devices that can be configured to operate as a TMSD 112 include various network devices including, but not limited to, personal computers, desktop computers, multiprocessor systems, microprocessor or programmable consumer electronics, networked PCs, server devices, networked devices, and etc.

Хотя на Фиг. 1 показан TMSD 112 в виде единого вычислительного устройства, настоящее изобретение не так ограничено. Например, одна или несколько функций TMSD 112 может быть распределены по одному или нескольким различным сетевым устройствам. Кроме того, TMSD 112 не ограничивается конкретной конфигурацией. Таким образом, согласно одному варианту осуществления TMSD 112 может содержать множество сетевых устройств для мониторинга задержки тега. Согласно другому варианту осуществления TMSD 112 может содержать множество сетевых устройств, которые работают с использованием подхода ведущий/ведомый, при котором одно из множества сетевых устройств TMSD 112 работает для управления и/или, иным образом, координирует операции с другими сетевыми устройствам. Согласно другим вариантам осуществления TMSD 112 может работать как множество сетевых устройств в кластерной архитектуре, архитектуре равный к равному, и/или даже в облачной архитектуре. Таким образом, настоящее изобретение не должно быть истолковано как ограниченное единой средой, а также предусмотрены другие конфигурации и архитектуры. Согласно по меньшей мере одному варианту осуществления каждый из множества TMSD 112 может быть географически распределен. Согласно другому варианту осуществления TMSD 112 может содержать различные вычислительные устройства для мониторинга тегов в каждом из множества различных состояний тега.While FIG. 1 shows the TMSD 112 as a single computing device, the present invention is not so limited. For example, one or more of the functions of the TMSD 112 may be distributed over one or more different network devices. In addition, the TMSD 112 is not limited to a specific configuration. Thus, in one embodiment, the TMSD 112 may comprise a plurality of network devices for monitoring tag latency. In another embodiment, the TMSD 112 may comprise a plurality of network devices that operate in a master / slave approach in which one of the plurality of TMSD 112 network devices operates to control and / or otherwise coordinate operations with other network devices. In other embodiments, the TMSD 112 can operate as multiple network devices in a clustered, peer-to-peer, and / or even cloud architecture. Thus, the present invention should not be construed as being limited to a single environment, and other configurations and architectures are contemplated. In at least one embodiment, each of the plurality of TMSD 112 may be geographically dispersed. In another embodiment, the TMSD 112 may include various computing devices for monitoring tags in each of a variety of different tag states.

Согласно по меньшей мере одному варианту осуществления система может быть расширена или сужена путем добавления или удаления сетевых устройств из системы, таких как TMSD 112. Согласно некоторым вариантам осуществления добавление дополнительных TMSD к системе может дать возможность увеличить пропускную способность для мониторинга тега. Согласно по меньшей мере одному варианту осуществления каждый TMSD может быть спроектирован для того, чтобы разрешать системе масштабироваться таким образом, чтобы масштабирование могло быть реализовано без добавления дополнительных масштабирующих функций к каждому TMSD во время масштабирования.In at least one embodiment, the system can be expanded or narrowed by adding or removing network devices from the system, such as the TMSD 112. In some embodiments, adding additional TMSDs to the system can increase the bandwidth for tag monitoring. In at least one embodiment, each TMSD may be designed to allow the system to scale such that scaling can be implemented without adding additional scaling functions to each TMSD during scaling.

По меньшей мере один из вариантов осуществления TCSD 114 описан более подробно ниже совместно с Фиг. 3. Вкратце, однако, TCSD 114 может включать в себя практически любое сетевое устройство способное управлять состоянием каждого из множества тегов и позволяющее доступным тегам быть развернутыми основываясь на состояния тега. Согласно некоторым вариантам осуществления TCSD 114 может осуществлять связь с TMSD 112, чтобы определить, какие теги контролировать и/или может принимать информацию о задержке тега. Согласно некоторым вариантам осуществления TCSD 114 может обеспечивать TDSD 116 списком тегов доступных для развертывания. Согласно по меньшей мере одному варианту осуществления TCSD 114 может осуществлять связь с базой данных (не показано), которая может содержать таблицы для каждого состояния тега, которые могут включать в себя список каждого тэга в каждом состоянии. Устройства, которые могут работать как TCSD 114 включают в себя различные сетевые устройства, включающие в себя без ограничения персональные компьютеры, настольные компьютеры, многопроцессорные системы или программируемую бытовую электронику, сетевые ПК, серверные устройства, сетевые устройства и т.п.At least one embodiment of TCSD 114 is described in more detail below in conjunction with FIG. 3. Briefly, however, TCSD 114 can include virtually any network device capable of managing the state of each of a plurality of tags and allowing available tags to be expanded based on the state of the tag. In some embodiments, TCSD 114 can communicate with TMSD 112 to determine which tags to monitor and / or can receive tag delay information. In some embodiments, TCSD 114 may provide TDSD 116 with a list of tags available for deployment. In at least one embodiment, TCSD 114 may communicate with a database (not shown) that may contain tables for each state of a tag, which may include a list of each tag in each state. Devices that can operate as TCSD 114 include various network devices including, but not limited to, personal computers, desktop computers, multiprocessor systems or programmable consumer electronics, networked PCs, server devices, network devices, and the like.

Хотя на Фиг. 1 показан TCSD 114 в виде единого вычислительного устройства, настоящее изобретение не так ограничено. Например, одна или несколько функции TCSD 114 могут быть распределены по одному или нескольким различным сетевым устройствам. Кроме того, TCSD 114 не ограничивается конкретной конфигурацией. Таким образом, согласно одному варианту осуществления TCSD 114 может содержать множество сетевых устройств для контроля мониторинга тегов и/или возможности их развертывания. Аналогичным образом согласно другому варианту осуществления TCSD 114 может содержать множество сетевых устройств, которые оперируют с использованием подхода ведущий/ведомый, при котором одно из множества сетевых устройств TCSD 114 работает для управления и/или иным образом координирует операции других сетевых устройств. Согласно другим вариантам осуществления TCSD 114 может оперировать как множество сетевых устройств в кластере архитектуры, архитектуры равный к равному и/или даже в облачной архитектуры. Таким образом, изобретение не должно быть истолковано как ограниченное единой средой, а также предусмотрены другие конфигурации и архитектуры.While FIG. 1 shows the TCSD 114 as a single computing device, the present invention is not so limited. For example, one or more TCSD 114 functions can be distributed over one or more different network devices. In addition, TCSD 114 is not limited to a specific configuration. Thus, in one embodiment, the TCSD 114 may comprise a plurality of network devices to control tag monitoring and / or tag deployment. Likewise, in another embodiment, TCSD 114 may comprise a plurality of network devices that operate in a master / slave approach in which one of the plurality of TCSD network devices 114 operates to control and / or otherwise coordinate the operations of other network devices. In other embodiments, TCSD 114 can operate as a plurality of network devices in a cluster of architecture, peer-to-peer architecture, and / or even in a cloud architecture. Thus, the invention should not be construed as being limited to a single environment, and other configurations and architectures are contemplated.

По меньшей мере один из вариантов осуществления TDSD 116 описан более подробно ниже совместно с Фиг. 3. Вкратце, однако, TDSD 116 может включать в себя практически любое сетевое устройство способное на развертывание тега. Согласно некоторым вариантам осуществления TDSD 116 может быть оптимизировано для предоставления тегов для веб-сайтов в ответ на веб-запрос (например, запрос от посетителя на веб-сайте на просмотр веб-страницы). Согласно по меньшей мере одному варианту осуществления TDSD 116 может осуществлять связь с TCSD 114, чтобы получить список доступных для развертывания тегов. Согласно некоторым вариантам осуществления TDSD 116 может собирать данные о веб-странице и может записывать информацию о развернутых тегах. Устройства, которые могут работать как TDSD 116 включают в себя различные сетевые устройства, включающие в себя без ограничения персональные компьютеры, настольные компьютеры, многопроцессорные системы, или программируемую бытовую электронику, сетевые ПК, серверные устройства, сетевые устройства и т.п.At least one embodiment of the TDSD 116 is described in more detail below in conjunction with FIG. 3. Briefly, however, the TDSD 116 can include virtually any network device capable of deploying a tag. In some embodiments, the TDSD 116 can be optimized to provide tags for websites in response to a web request (eg, a request from a visitor to a website to view a web page). In at least one embodiment, the TDSD 116 can communicate with the TCSD 114 to obtain a list of tags available for deployment. In some embodiments, the TDSD 116 can collect web page data and can record expanded tag information. Devices that can operate as a TDSD 116 include various network devices including, but not limited to, personal computers, desktop computers, multiprocessor systems, or programmable consumer electronics, networked PCs, server devices, network devices, and the like.

Хотя на Фиг. 1 показано TDSD 116 в виде единого вычислительного устройства, изобретение не так ограничено. Например, одна или несколько функций TDSD 116 могут быть распределены по одному или нескольким различным сетевым устройствам. Кроме того, TDSD 116 не ограничивается конкретной конфигурацией. Таким образом, согласно одному варианту осуществления TDSD 116 может содержать множество сетевых устройств для развертывания тегов на веб-страницах. Аналогичным образом согласно другому варианту осуществления TDSD 116 может содержать множество сетевых устройств, которые работают с использованием подхода ведущий/ведомый, при котором один из множества сетевых устройств TDSD 116 работает для управления и/или иным образом координирует операциями с другими сетевыми устройствами.While FIG. 1 shows the TDSD 116 as a single computing device, the invention is not so limited. For example, one or more TDSD 116 functions may be distributed across one or more different network devices. In addition, the TDSD 116 is not limited to a specific configuration. Thus, in one embodiment, the TDSD 116 may include multiple network devices for deploying tags to web pages. Similarly, in another embodiment, the TDSD 116 may comprise a plurality of network devices that operate in a master / slave approach in which one of the plurality of TDSD network devices 116 operates to control and / or otherwise coordinate operations with other network devices.

Согласно другим вариантам осуществления TCSD 116 может оперировать как множество сетевых устройств в кластере архитектуры, архитектуры равный к равному и/или даже в облачной архитектуре. Таким образом, изобретение не должно быть истолковано как ограниченное единой средой и также предусмотрены другие конфигурации и архитектуры.In other embodiments, TCSD 116 can operate as a plurality of network devices in a cluster of architecture, peer to peer architecture, and / or even in a cloud architecture. Thus, the invention should not be construed as being limited to a single environment and other configurations and architectures are also contemplated.

Показательное клиентское устройствоIllustrative client device

На Фиг. 2 показан один из вариантов осуществления клиентского устройства 200, которое может быть включено в систему реализующую варианты осуществления настоящего изобретения. Клиентское устройство 200 может содержать намного большее или меньшее количество компонентов, чем показано на Фиг. 2. Однако показанные компоненты достаточно наглядно раскрывают практическое осуществление варианта настоящего изобретения. Клиентское устройство 200 может представлять собой, например, один из вариантов осуществления по меньшей мере одного из клиентских устройств 102-105 на Фиг. 1.FIG. 2 illustrates one embodiment of a client device 200 that may be included in a system implementing embodiments of the present invention. Client device 200 may contain many more or fewer components than shown in FIG. 2. However, the components shown are sufficient to illustrate the practical implementation of an embodiment of the present invention. Client device 200 may be, for example, one of the embodiments of at least one of client devices 102-105 in FIG. one.

Как показано на схеме, клиентское устройство 200 включает в себя процессор 202, связанный с массовой памятью 226 через шину 234. Согласно некоторым вариантам осуществления процессор 202 может включать в себя один или несколько центральных процессоров (CPU). Клиентское устройство 200 также включает в себя источник 228 питания, один или несколько сетевых интерфейсов 236, аудио интерфейс 238, дисплей 240, клавиатуру 242, подсветку 244, видео интерфейс 246, интерфейс 248 ввода/вывода, тактильный интерфейс 250 и приемник 232 глобальной системы позиционирования (GPS).As shown in the diagram, client device 200 includes a processor 202 coupled to mass memory 226 via bus 234. In some embodiments, processor 202 may include one or more central processing units (CPUs). The client device 200 also includes a power supply 228, one or more network interfaces 236, an audio interface 238, a display 240, a keyboard 242, a backlight 244, a video interface 246, an I / O interface 248, a tactile interface 250, and a GPS receiver 232. (GPS).

Источник 228 питания обеспечивает питание клиентскому устройству 200. Для обеспечения питания может быть использована перезаряжаемая или не перезаряжаемая батарея. Питание может быть получено также от внешнего источника питания, такого как адаптер переменного тока (АС) или док станция, которая добавляет и/или заряжает аккумулятор.Power supply 228 provides power to client device 200. A rechargeable or non-rechargeable battery may be used to provide power. Power can also be obtained from an external power source such as an AC adapter or a docking station that adds and / or charges the battery.

Клиентское устройство 200 может дополнительно осуществлять связь с базовой станцией (не показана) или напрямую с другим вычислительным устройством. Сетевой интерфейс 236 включает в себя схему для соединения клиентского устройства 200 с одной или несколькими сетями и настраивается для использования с одним или несколькими протоколами и технологиями связи, включающими без ограничения GSM, CDMA, TDMA, GPRS, EDGE, WCDMA, HSDPA, LTE, протокол пользовательских дейтаграмм (UDP), протокол управления передачей/межсетевой протокол (ТСРЯР), службу коротких сообщений (SMS), WAP, сверхширокую полосу (UWB), IEEE 802.16 общемировую совместимость широкополосного беспроводного доступа (WiMAX), протокол установления сеанса/транспортный протокол в режиме реального времени (SIP/RTP) или любой из множества других протоколов беспроводной связи. Сетевой интерфейс 236 иногда называют трансивером, трансиверным устройством или сетевой интерфейсной платой (NIC).Client device 200 can additionally communicate with a base station (not shown) or directly with another computing device. Network interface 236 includes circuitry for connecting client device 200 to one or more networks and is configured for use with one or more communication protocols and technologies, including but not limited to GSM, CDMA, TDMA, GPRS, EDGE, WCDMA, HSDPA, LTE, protocol User Datagrams (UDP), Transmission Control Protocol / Internet Protocol (TSNPR), Short Message Service (SMS), WAP, Ultra Wideband (UWB), IEEE 802.16 Worldwide Wireless Broadband Access (WiMAX), Session Protocol / Transport Protocol mode real-time (SIP / RTP) or any of a variety of other wireless protocols. Network interface 236 is sometimes referred to as a transceiver, transceiver device, or network interface card (NIC).

Аудио интерфейс 238 выполнен с возможностью производить и получать аудио сигналы, такие как звук человеческого голоса. Например, аудио интерфейс 238 может быть соединен с динамиком и микрофоном (не показано), чтобы позволить осуществить телефонную связь с другим устройством и/или генерировать аудио подтверждение для какого-либо действия.Audio interface 238 is configured to produce and receive audio signals such as the sound of a human voice. For example, audio interface 238 may be coupled to a speaker and microphone (not shown) to allow telephone communication with another device and / or generate audio confirmation for an action.

Дисплей 240 может быть жидкокристаллическим (LCD), плазменным, светодиодным (LED), органическим LED дисплеем или любым другим типом дисплея используемым с вычислительным устройством. Дисплей 240 может также содержать чувствительный сенсорный экран, выполненный с возможностью ввода объектом, таким как стилус или палец человеческой руки.Display 240 may be a liquid crystal display (LCD), plasma, light-emitting diode (LED), organic LED display, or any other type of display used with a computing device. Display 240 may also include a responsive touch screen capable of being input by an object such as a stylus or human finger.

Клавишная панель 242 может охватывать любые устройства ввода выполненные с возможностью приема ввода от пользователя. Например, клавишная панель 242 может включать в себя кнопочный цифровой набор или клавиатуру.Keypad 242 may encompass any input device configured to receive input from a user. For example, keypad 242 may include a keypad or numeric keypad.

Клавишная панель 242 может также включать в себя командные кнопки, которые связаны с выбором и отправкой изображений.Keypad 242 may also include command buttons that are associated with selecting and submitting images.

Подсветка 244 может обеспечивать индикацию состояния и/или обеспечивать подсветку. Подсветка 244 может оставаться активной в течение определенных периодов времени или в ответ на события. Например, когда подсветка 244 активна, она может подсвечивать кнопки на клавиатуре 242 и оставаться, пока клиентское устройство работает. Кроме того, подсветка 244 может подсвечивать эти кнопки определенным образом, когда выполняются конкретные действия, например, при наборе другого клиентского устройства. Подсветка 244 может также вызывать источники света расположенные внутри прозрачного или полупрозрачного корпуса клиентского устройства для подсветки в ответ на действия.Backlight 244 can provide status indication and / or provide backlighting. Backlight 244 may remain active for certain periods of time or in response to events. For example, when backlight 244 is active, it can illuminate buttons on keyboard 242 and remain on while the client device is operating. In addition, backlight 244 can illuminate these buttons in a specific manner when specific actions are performed, such as dialing another client device. Backlight 244 can also cause light sources located within a transparent or semi-transparent body of the client device to backlight in response to actions.

Видео интерфейс 246 выполнен с возможностью захвата видеоизображений, таких как фото, сегмент видео, инфракрасное видео или т.п. Например, видео интерфейс 246 может быть соединен с цифровой видеокамерой, веб-камерой или т.п. Видео интерфейс 246 может содержать в себя линзы, датчик изображения и другую электронику. Датчики изображения могут включать в себя интегральную схему с комплементарной структурой металл-оксид-полупроводник (CMOS), прибор с зарядовой связью (CCD) или любую другую интегральную схему для восприятия света.Video interface 246 is configured to capture video images such as a photo, video segment, infrared video, or the like. For example, video interface 246 may be coupled to a digital video camera, webcam, or the like. Video interface 246 may include lenses, an image sensor, and other electronics. The image sensors can include a complementary metal oxide semiconductor (CMOS) integrated circuit, a charge-coupled device (CCD), or any other integrated circuit for sensing light.

Клиентское устройство 200 также содержит интерфейс 248 ввода/вывода для связи с внешними устройствами, такими как гарнитура или другие устройства ввода или вывода не показанные на Фиг. 2. Интерфейс 248 ввода/вывода может использовать одну или несколько коммуникационных технологий, таких как USB, инфракрасный, Bluetooth™ или т.п.Client device 200 also includes an I / O interface 248 for communicating with external devices such as a headset or other input or output devices not shown in FIG. 2. The I / O interface 248 may utilize one or more communication technologies such as USB, infrared, Bluetooth ™, or the like.

Тактильный интерфейс 250 выполнен с возможностью предоставления тактильной обратной связи для пользователя клиентским устройством. Например, тактильный интерфейс 250 может быть использован для вибрации клиентского устройства 200 особым образом, когда звонит другой пользователь вычислительного устройства. Согласно некоторым вариантам осуществления тактильный интерфейс 250 может быть необязательным.Tactile interface 250 is configured to provide tactile feedback to a user by a client device. For example, the haptic interface 250 can be used to vibrate the client device 200 in a specific manner when another user of the computing device calls. In some embodiments, the tactile interface 250 may be optional.

Клиентское устройство 200 также может включать в себя приемопередатчик GPS 232 для определения физических координат клиентского устройства 200 на поверхности Земли. GPS-трансивер 232 согласно некоторым вариантам осуществления может быть необязательным. GPS трансивер 232, как правило, выдает местоположение в виде значений широты и долготы. Однако GPS трансивер 232 может также использовать другие механизмы геопозиционирования, включающие в себя без ограничения триангуляцию, вспомогательный GPS (AGPS), улучшенную систему наблюдения разности времени (E-OTD), сотовый идентификатор (О), идентификатор зоны обслуживания (SAI), улучшенную синхронизацию прохождения сигнала (ЕТА), систему базовых станций (BSS) или т.п для дальнейшего определения физического местоположения клиентского устройства 200 на поверхности Земли. Понятно, что в различных условиях GPS трансивер 232 может определить физическое местоположение в миллиметрах от клиентского устройства 200; и в других случаях определяемое физическое местоположение может быть менее точным, таким как в пределах метра или значительно больших расстояний. Однако согласно одному варианту осуществления мобильное устройство 200 может через другие компоненты предоставить другую информацию, которая может быть использована для определения физического местоположения устройства, включая в себя, например, управление доступом к среде (МАС-адрес), IP-адрес или т.п.The client device 200 may also include a GPS transceiver 232 for determining the physical coordinates of the client device 200 on the surface of the earth. The GPS transceiver 232, according to some embodiments, may be optional. The GPS transceiver 232 typically provides a location in the form of latitude and longitude values. However, the GPS transceiver 232 may also use other geolocation mechanisms, including but not limited to triangulation, Assisted GPS (AGPS), Enhanced Time Differential Observation (E-OTD), Cellular Identifier (O), Service Area Identifier (SAI), Enhanced Synchronization signal path (ETA), base station system (BSS) or the like to further determine the physical location of the client device 200 on the surface of the Earth. It will be understood that under various conditions the GPS transceiver 232 can determine the physical location in millimeters from the client device 200; and in other cases, the determined physical location may be less accurate, such as within a meter or much greater distances. However, in one embodiment, the mobile device 200 can provide other information through other components that can be used to determine the physical location of the device, including, for example, media access control (MAC address), IP address, or the like.

Массовое запоминающее устройство 226 включает в себя оперативное запоминающее устройство (RAM) 204, устройство 222 памяти только для чтения (ROM) и другие средства хранения. Массовое запоминающее устройство 226 иллюстрирует пример машиночитаемого носителя (устройства) для хранения информации, такой как машиночитаемые инструкции, структуры данных, программные модули или другие данные. Массовое запоминающее устройство 226 хранит базовую систему 224 ввода/вывода (BIOS) для контроля низкоуровневых операций клиентского устройства 200. Массовое запоминающее устройство также хранит операционную систему 206 для управления работой клиентского устройства 200. Следует иметь в виду, что этот компонент может включать в себя операционную систему общего назначения, такую как версия UNIX или Linux™ или специализированные клиентские операционные системы связи, такие как Microsoft Corporation's Windows Mobile™, Apple Corporation's iOS™, Google Corporation's Android™ или операционная система Symbian®. Операционная система может включать в себя интерфейс с модулем виртуальной машины Java, что позволяет управлять аппаратными компонентами и/или действиями операционной системы через прикладные программы Java.Mass storage device 226 includes random access memory (RAM) 204, read-only memory (ROM) device 222, and other storage media. Mass storage device 226 illustrates an example of a computer-readable medium (device) for storing information such as computer-readable instructions, data structures, program modules, or other data. The mass storage device 226 stores a basic input / output system (BIOS) 224 for controlling low-level operations of the client device 200. The mass storage device also stores an operating system 206 for controlling the operation of the client device 200. It should be appreciated that this component may include an operating system. a general purpose system such as a UNIX or Linux ™ version or specialized communication client operating systems such as Microsoft Corporation's Windows Mobile ™, Apple Corporation's iOS ™, Google Corporation's Android ™, or the Symbian® operating system. The operating system may include an interface to a Java virtual machine module that allows hardware components and / or operating system actions to be controlled through Java applications.

Массовое запоминающее устройство 226 дополнительно включает в себя одно или несколько хранилищ 208 данных, которые могут быть использованы клиентским устройством 200 для хранения, в частности, приложений 214 и/или других данных. Например, хранилище 208 данных также может быть использовано для хранения информации, которая описывает различные возможности клиентского устройства 200. Эта информация затем может быть предоставлена другим устройствам основываясь на любом из множества событий, в том числе, может быть отправлена в качестве части заголовка во время связи, послана по запросу или т.п. Хранилище 208 данных может также использоваться для хранения информации социальных сетей, включая в себя адресные книги, списки приятелей, псевдонимы, информацию профиля пользователя или т.п. Кроме того, хранилище 208 данных может также хранить сообщение, содержимое веб-страницы или любой из множества созданных пользователем контентов. По меньшей мере часть информации может также храниться на другом компоненте сетевого устройства 200, включающем в себя без ограничения считываемый процессором носитель 230 данных, диск или другие машиночитаемые запоминающие устройств (не показано) в клиентском устройстве 200.The mass storage device 226 further includes one or more data stores 208 that can be used by the client device 200 to store applications 214 and / or other data in particular. For example, data store 208 can also be used to store information that describes the various capabilities of client device 200. This information can then be provided to other devices based on any of a variety of events, including may be sent as part of a header during communication. , sent on request, or the like. Data store 208 can also be used to store social networking information, including address books, buddy lists, pseudonyms, user profile information, or the like. In addition, the data store 208 may also store a message, web page content, or any of a variety of user-generated content. At least some of the information may also be stored on another component of the network device 200, including, but not limited to, processor-readable storage medium 230, disk, or other computer-readable storage devices (not shown) in the client device 200.

Считываемый процессором носитель 230 данных может включать в себя энергозависимые, энергонезависимые, съемные и несъемные носители реализованные любым способом или технологией для хранения информации, такой как машино- или процессорочитаемые команды, структуры данных, программные модули или другие данные. Примеры машиночитаемых носителей данных включают в себя RAM, ROM, электронностираемое программируемое запоминающее устройство (EEPROM), флэш-память или память другой технологии, компакт-диск с возможностью чтения (CD-ROM), цифровые универсальные диски (DVD) или другое оптическое хранилище, магнитные кассеты, магнитную ленту, хранилище на магнитных дисках или другие магнитные хранилища, или любой другой физический носитель, который может использоваться для хранения требуемой информации, и к которому можно получить доступ посредством вычислительного устройства. Считываемый процессором носитель 230 данных также может быть упомянут в настоящем документе как машиночитаемый носитель информации и/или машиночитаемое запоминающее устройство.Processor-readable media 230 may include volatile, nonvolatile, removable, and non-removable media implemented in any method or technology for storing information such as machine or processor readable instructions, data structures, program modules, or other data. Examples of computer-readable storage media include RAM, ROM, electronic programmable memory (EEPROM), flash memory or other technology memory, readable compact disc (CD-ROM), digital versatile discs (DVD), or other optical storage. magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage, or any other physical medium that can be used to store desired information and which can be accessed by a computing device. Processor-readable medium 230 may also be referred to herein as computer-readable media and / or computer-readable memory.

Приложения 214 могут включать в себя исполняемые инструкции компьютера, при выполнении которых клиентское устройство 200 передает, принимает и/или иным образом обрабатывает сетевые данные. Сетевые данные могут включать без ограничения сообщения (например, SMS, служба мультимедийных сообщений (MMS), мгновенное сообщение (IM), электронную почту и/или другие сообщения), аудио, видео и возможность телефонной связи с другим пользователем другого клиентского устройства.Applications 214 may include computer executable instructions that client device 200 transmits, receives, and / or otherwise processes network data. The network data may include, but is not limited to, messages (eg, SMS, Multimedia Messaging Service (MMS), Instant Message (IM), Email, and / or other messages), audio, video, and the ability to telephonize with another user on another client device.

Приложения 214 могут включать в себя, например, браузер 218 и другие приложения 220. Другие приложения 220 могут включать в себя без ограничения календари, программы поиска, почтовые клиенты, IM приложения, SMS приложения, приложения с межсетевым протоколом передачи голоса (VoIP), контактные менеджеры, менеджеры задач, транскодеры, программы базы данных, программы обработки текста, приложения безопасности, электронные таблицы, игры, программы поиска и т.д.Applications 214 may include, for example, browser 218 and other applications 220. Other applications 220 may include but are not limited to calendars, search programs, email clients, IM applications, SMS applications, Voice over Internet Protocol (VoIP) applications, contact managers, task managers, transcoders, database programs, word processing programs, security applications, spreadsheets, games, search programs, etc.

Браузер 218 может включать в себя практически любое приложение предназначенное для приема и отображения графики, текста, мультимедиа, сообщений и т.п., используя практически любой веб-язык. Согласно одному варианту осуществления приложению браузера разрешено использовать HDML, WML, WMLScript, JavaScript, SGML, HTML, XML и т.п. для отображения и отправки сообщения. Тем не менее, может быть использован любой другой из множества веб-языков программирования. Согласно одному варианту осуществления браузер 218 может разрешить пользователю клиентского устройства 200 связываться с другим сетевым устройством, таким как TMSD 112, TCSD 114 и/или TDSD 116, показанным на Фиг. 1.Browser 218 can include virtually any application for receiving and displaying graphics, text, multimedia, messages, and the like, using virtually any web language. In one embodiment, the browser application is allowed to use HDML, WML, WMLScript, JavaScript, SGML, HTML, XML, and the like. to display and send a message. However, any of a variety of web programming languages can be used. In one embodiment, browser 218 may allow a user of client device 200 to communicate with another network device, such as TMSD 112, TCSD 114, and / or TDSD 116 shown in FIG. one.

Показательное сетевое устройствоAn exemplary network device

На Фиг. 3 показан один вариант осуществления сетевого устройства 300 в соответствии с одним вариантом осуществления настоящего изобретения. Сетевое устройство 300 может включать в себя намного большее или меньшее количество компонентов, чем показано. Показанные компоненты, однако, достаточно точно иллюстрируют вариант практического осуществления изобретения. Сетевое устройство 300 может быть настроено работать в качестве сервера, клиента, узла, хоста или любого другого устройства.FIG. 3 shows one embodiment of a network device 300 in accordance with one embodiment of the present invention. Network device 300 may include many more or fewer components than shown. The components shown, however, illustrate quite accurately an embodiment of the invention. Network device 300 can be configured to act as a server, client, node, host, or any other device.

Сетевое устройство 300 может представлять собой, например, TMSD 112, TCSD 114, TDSD 116, показанные на Фиг. 1, и/или другие сетевые устройства.Network device 300 may be, for example, TMSD 112, TCSD 114, TDSD 116 shown in FIG. 1, and / or other network devices.

Сетевое устройство 300 включает в себя процессор 302, считываемый процессором носитель 328 данных, блок 330 сетевого интерфейса, интерфейс 332 ввода/вывода, жесткий диск 334, видеоадаптер 336 и память 326, все связанные друг с другом по шине 338. Согласно некоторым вариантам осуществления процессор 302 может включать в себя один или несколько центральных процессоров.Network device 300 includes a processor 302, a processor-readable medium 328, a network interface unit 330, an I / O interface 332, a hard disk 334, a video adapter 336, and memory 326, all connected to each other via a bus 338. In some embodiments, the processor 302 may include one or more central processing units.

Как показано на Фиг. 3, сетевое устройство 300 также может обмениваться данными через Интернет или какую-либо другую коммуникационную сеть с помощью блока 330 сетевого интерфейса, который настроен для работы с различными протоколами связи, включая TCP/IP протокол. Блок 330 сетевого интерфейса иногда известен как трансивер, трансиверное устройство или сетевая карта (NIC).As shown in FIG. 3, the network device 300 can also communicate over the Internet or some other communication network using a network interface unit 330 that is configured to work with various communication protocols, including the TCP / IP protocol. The network interface unit 330 is sometimes known as a transceiver, transceiver device, or network interface card (NIC).

Сетевое устройство 300 также содержит интерфейс 332 ввода/вывода для связи с внешними устройствами, такими как клавиатура или другие устройства ввода или вывода, не показанные на Фиг. 3. Интерфейс 332 ввода/вывода может использовать одну или несколько коммуникационных технологий, таких как USB, инфракрасное излучение, Bluetooth™ или т.п.Network device 300 also includes an I / O interface 332 for communicating with external devices such as a keyboard or other input or output devices not shown in FIG. 3. The I / O interface 332 may utilize one or more communication technologies such as USB, infrared, Bluetooth ™, or the like.

Память 326 обычно включает в себя RAM 304, ROM 322 и одно или несколько постоянных массовых запоминающих устройств, таких как жесткий диск 334, накопитель на магнитной ленте, оптический привод и/или флоппи-диск. Память 326 хранит операционную систему 306 для управления работой сетевого устройства 300. Может разрешаться любая операционная система общего назначения. Базовая система ввода/вывода (BIOS) 324 предусмотрена для контроля низкоуровневыми операциями сетевого устройства 300.Memory 326 typically includes RAM 304, ROM 322, and one or more read-only storage devices such as hard disk 334, tape drive, optical drive, and / or floppy disk. Memory 326 stores an operating system 306 for controlling the operation of the network device 300. Any general-purpose operating system may be enabled. A basic input / output system (BIOS) 324 is provided to control low-level operations of the network device 300.

Хотя память 326 показана отдельно, она может включать в себя считываемый процессором носитель 328 данных. Считываемый процессором носитель 328 данных может упоминаться как и/или включать в себя машиночитаемые носители, машиночитаемые хранилища данных и/или считываемые процессором запоминающие устройства. Считываемый процессором носитель 328 данных может включать в себя энергозависимые, энергонезависимые, съемные и несъемные носители, реализованные любым способом или технологией для хранения информации, такой как машиночитаемые команды, структуры данных, программные модули или другие данные. Примеры считываемых процессором носителей данных включают в себя RAM, ROM, EEPROM, флэш-память или другую технологию памяти, CD-ROM, цифровые универсальные диски (DVD) или другое оптическое запоминающее устройство, магнитные кассеты, магнитные ленты, накопители на магнитных дисках или другие магнитные устройства хранения, или любые другие носители, которые могут быть использованы для хранения необходимой информации, и к которым можно получить доступ посредством вычислительного устройства.Although shown separately, memory 326 may include processor-readable media 328. Processor-readable medium 328 may be referred to as and / or include computer-readable media, computer-readable storage media, and / or processor-readable memories. Processor-readable media 328 may include volatile, nonvolatile, removable, and non-removable media implemented in any method or technology for storing information such as computer readable instructions, data structures, program modules, or other data. Examples of processor-readable media include RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROMs, digital versatile disks (DVDs) or other optical storage media, magnetic cassettes, magnetic tapes, magnetic disk drives, or others. magnetic storage devices, or any other medium that can be used to store necessary information, and which can be accessed by a computing device.

Память 326 дополнительно включает в себя одно или несколько хранилищ 308 данных, которые могут быть использованы сетевым устройством 300 для хранения, в частности, приложения 314 и/или других данных. Например, хранилище 308 данных также может быть использовано для хранения информации, которая описывает различные возможности сетевого устройства 300. Эта информация может затем быть предоставлена другим устройствам, основываясь на любом из множества событий, включающем в себя передачу в качестве части заголовка во время связи, отправлена по запросу или т.п. Хранилище 308 данных может также использоваться для хранения сообщений, содержимого веб-страницы или т.п. По меньшей мере часть информации может также быть сохранена на другом компоненте сетевого устройства 300, включающем в себя без ограничения считываемый процессором носитель 328 данных, жесткий диск 334 или другие машиночитаемые хранилища данных (не показано) в клиентском устройстве 300.Memory 326 further includes one or more data stores 308 that can be used by the network device 300 to store, in particular, application 314 and / or other data. For example, data store 308 can also be used to store information that describes the various capabilities of the network device 300. This information can then be provided to other devices based on any of a variety of events, including being sent as part of a header during communication. upon request or the like. Data store 308 can also be used to store messages, web page content, or the like. At least some of the information may also be stored on another component of the network device 300, including, but not limited to, processor-readable medium 328, hard disk 334, or other machine-readable storage (not shown) in client device 300.

Хранилище 308 данных может включать в себя базу данных, текст, таблицы, папку, файл или т.п, которые могут быть настроены для поддержания и сохранения пользовательских идентификаторов учетных записей, профилей пользователя, адресов электронной почты, IM-адреса и/или других сетевых адресов или т.п. Хранилище 308 данных может дополнительно включать в себя программный код, данные, алгоритмы и т.п., для использования процессором, таким как процессор 302, исполнения и представления действий. Согласно по меньшей мере одному варианту осуществления хранилище данных 308 может включать в себя по меньшей мере одну таблицу состояний, чтобы обозначить какие теги находятся в определенном состоянии. Согласно одному варианту осуществления по меньшей мере некоторые из хранилищ 308 данных также могут быть сохранены на другом компоненте сетевого устройства 300, включающем в себя без ограничения считываемый процессором носитель 328 данных, жесткий диск 334 или т.п.The data store 308 may include a database, text, tables, folder, file, or the like, which can be configured to maintain and store user account IDs, user profiles, email addresses, IM addresses, and / or other network addresses or the like Data store 308 may further include program code, data, algorithms, and the like for use by a processor, such as processor 302, to execute and present actions. In at least one embodiment, data store 308 may include at least one state table to indicate which tags are in a particular state. In one embodiment, at least some of the data stores 308 may also be stored on another component of the network device 300 including, but not limited to, processor-readable storage medium 328, hard disk 334, or the like.

Приложения 314 могут включать в себя компьютерные исполнительные инструкции, которые могут быть загружены в массовую память и запускать операционную систему 306. Примеры прикладных программ могут включать в себя транскодеры, планировщики, календари, программы баз данных, программы обработки текста, протокол передачи гипертекстовых приложений (HTTP), настраиваемые программы пользовательского интерфейса, IPS приложения, программы шифрования, программы безопасности, серверы SMS сообщений, серверы сообщений IM, почтовые серверы, персональные менеджеры и т.д. Приложения 314 могут также включать в себя веб-сервер 318, приложение 319 мониторинга тега (ТМА), приложение 320 развертывания тега (TDA), а также приложение 321 управления тегом (ТСА).Applications 314 can include computer execution instructions that can be loaded into mass memory and run an operating system 306. Examples of application programs can include transcoders, schedulers, calendars, database programs, word processing programs, Hypertext Transfer Protocol (HTTP ), custom user interface programs, IPS applications, encryption programs, security programs, SMS message servers, IM message servers, mail servers, personal managers, etc. Applications 314 may also include a web server 318, a tag monitoring (TMA) application 319, a tag deployment (TDA) application 320, and a tag management (TCA) application 321.

Веб-сервер 318 может представлять любую из множества информации и услуг, которые настроены передавать контент, включающий в себя сообщения, по сети к другому вычислительному устройству. Таким образом, веб-сервер 318 может включать в себя, например, веб-сервер, серверный протокол передачи файлов (FTP), сервер базы данных, сервер содержимого или т.п. Веб-сервер 318 может передавать контент, включающий в себя сообщения, по сети с помощью любого из множества форматов, включающего в себя без ограничения WAP, WML HDML, SGML, HTML, XML, компактный HTML (cHTML), расширенный HTML (xHTML) или т.п.Web server 318 may represent any of a variety of information and services that are configured to transmit content, including messages, over a network to another computing device. Thus, the web server 318 may include, for example, a web server, a file transfer protocol (FTP) server, a database server, a content server, or the like. The web server 318 can transmit content including messages over the network using any of a variety of formats including but not limited to WAP, WML HDML, SGML, HTML, XML, Compact HTML (cHTML), Extended HTML (xHTML), or etc.

ТМА 319 может быть выполнено с возможностью асинхронного мониторинга задержки тега. Согласно по меньшей мере одному варианту осуществления ТМА 319 может асинхронно контролировать задержку тега независимо от запроса на загрузку веб-страницы (например, от посетителя сайта). ТМА 319 может эмулировать браузер, чтобы запросить тег и определить задержку тега. Согласно по меньшей мере одному варианту осуществления ТМА 319 может определить задержку тега путем расчета времени необходимого запрашиваемому тегу на загрузку в эмулированном браузере. Согласно некоторым вариантам осуществления ТМА 319 может быть использован TMSD 112 Фиг. 1. В любом случае, ТМА 319 может использовать процессы или части процессов, аналогичных тем, которые описаны со ссылкой на Фиг. 4-7 и 9А-9В для выполнения по меньшей мере некоторых из его действий.The TMA 319 can be configured to asynchronously monitor the tag delay. In at least one embodiment, the TMA 319 can asynchronously monitor tag latency independently of a request to load a web page (eg, from a site visitor). The TMA 319 can emulate the browser to request a tag and determine the tag delay. In at least one embodiment, the TMA 319 can determine the tag latency by calculating the time it takes for the requested tag to load in an emulated browser. In some embodiments of the TMA 319, the TMSD 112 of FIG. 1. In any event, the TMA 319 may use processes or portions of processes similar to those described with reference to FIG. 4-7 and 9A-9B to perform at least some of its actions.

TDA 320 может быть настроено для развертывания тег. Согласно некоторым вариантам осуществления TDA 320 может обеспечивать теги для веб-сайта по запросу (например, запросу от посетителя на сайте просмотреть веб-страницу). Согласно по меньшей мере одному варианту осуществления TDA 320 может собирать данные о веб-странице и может записывать информацию о развернутых тегах. Согласно некоторым вариантам осуществления TDA 320 может быть использован TDSD 116 Фиг. 1. В любом случае, TDA 319 может использовать процессы или части процессов, аналогичных тем, которые описаны со ссылкой на Фиг. 4-7 и 9А-9В, для выполнения по меньшей мере некоторых из его действий.TDA 320 can be configured for tag deployment. In some embodiments, the TDA 320 can provide tags to a website upon request (eg, a request from a visitor to a website to view a web page). In at least one embodiment, the TDA 320 can collect web page data and can record expanded tag information. According to some embodiments of the TDA 320, the TDSD 116 of FIG. 1. In any event, the TDA 319 may use processes or portions of processes similar to those described with reference to FIG. 4-7 and 9A-9B to perform at least some of its actions.

ТСА 321 может быть настроено управлять состоянием каждого из множества тегов. Согласно некоторым вариантам осуществления ТСА 321 может быть настроено уведомлять и/или обеспечивать ТСА 319 каждым тэгом, который может быть готов подвергнуться мониторингу. Согласно некоторым вариантам осуществления ТСА 321 может записывать последнее время, когда тег был проверен (то есть, когда задержка тега определялась для тега), которое может быть использовано, чтобы определить следующий раз проверки тега. По меньшей мере согласно одному варианту осуществления ТСА 321 может записывать измерения тегов (например, задержку тега), которые вернулись из ТМА 319. Эти измерения могут быть использованы ТСА 321, чтобы определить необходимость изменения состояния тега или могут быть использованы для создания отчетности.TCA 321 can be configured to control the status of each of the multiple tags. In some embodiments, the TCA 321 can be configured to notify and / or provide the TCA 319 with every tag that may be ready to be monitored. In some embodiments, TCA 321 can record the last time the tag was checked (ie, when the tag delay was determined for the tag), which can be used to determine the next time the tag was checked. In at least one embodiment, the TCA 321 can record tag measurements (eg, tag latency) that are returned from the TMA 319. These measurements can be used by the TCA 321 to determine if a tag state needs to be changed, or can be used to generate reports.

По меньшей мере согласно одному варианту осуществления ТСА 321 может изменить состояние тега. Согласно некоторым вариантам осуществления ТСА 321 может модифицировать таблицу состояний, добавив или удалив тег из данного состояния. Согласно некоторым вариантам осуществления ТСА 321 может быть настроено разрешать развертывание имеющимся тегам или блокировать теги от развертывания (например, отключить теги) основываясь на теговом состоянии. Согласно по меньшей мере одному варианту осуществления ТСА 321 может быть настроено обеспечивать и/или уведомлять ТСА 320 тегами, доступными для развертывания. Согласно некоторым вариантам осуществления ТСА 321 может быть использовано TCSD 114 Фиг. 1. В любом случае, ТСА 321 может использовать процессы или часть процессов, аналогичных тем, которые описаны со ссылкой на Фиг. 4-7 и 9А-9В, для выполнения по меньшей мере некоторых из его действий.In at least one embodiment, TCA 321 may change the state of a tag. In some embodiments, TCA 321 can modify the state table by adding or removing a tag from a given state. In some embodiments, TCA 321 may be configured to allow existing tags to be deployed, or to block tags from being deployed (eg, disable tags) based on the tagged state. In at least one embodiment, the TCA 321 can be configured to provide and / or notify the TCA 320 with tags available for deployment. According to some TCA 321 embodiments, TCSD 114 of FIG. 1. In any event, TCA 321 may employ processes or sub-processes similar to those described with reference to FIG. 4-7 and 9A-9B to perform at least some of its actions.

Общие указания по эксплуатацииGeneral operating instructions

Работа некоторых аспектов настоящего изобретения теперь будет описана совместно с Фиг. 4-7. На Фиг. 4 показана логическая блок-схема, как правило, показывающая один вариант осуществления обзора процесса изменения состояния тега, основанного на асинхронном мониторинге теговой задержки и позволяющего развертывание тега основываясь на состоянии тега. Согласно некоторым вариантам осуществления способ 400 на Фиг. 4 может быть реализован и/или выполнен на одном сетевом устройстве, таком как сетевое устройство 300 на Фиг. 3. Согласно другим вариантам осуществления способ 400 или части способа 400 на Фиг. 4 могут быть реализованы и/или выполнены на множестве сетевых устройств, таких как сетевое устройство 300 на Фиг. 3. Согласно по меньшей мере одному из различных вариантов осуществления способ 400 может выполняться для каждого из множества тегов.The operation of some aspects of the present invention will now be described in conjunction with FIG. 4-7. FIG. 4 is a logical flow diagram typically showing one embodiment of an overview of a tag state change process based on asynchronous monitoring of tag latency and allowing tag deployment based on tag state. In some embodiments, the method 400 of FIG. 4 may be implemented and / or executed on a single network device, such as the network device 300 of FIG. 3. In other embodiments, the method 400, or portions of the method 400 of FIG. 4 may be implemented and / or executed on a variety of network devices, such as the network device 300 of FIG. 3. In at least one of various embodiments, method 400 may be performed on each of a plurality of tags.

Выполнение способа 400 начинается после стартового блока согласно блоку 402, где тег может быть определен для мониторинга. Согласно некоторым вариантам осуществления каждый из множества тегов можно подвергнуть мониторингу, причем каждый тег может быть связан по меньшей мере с одной веб-страницей. Согласно другим вариантам осуществления часть из множества тегов можно подвергнуть мониторингу, а другую часть множества тегов нельзя подвергнуть мониторингу. Согласно по меньшей мере одному варианту осуществления подвергнутые мониторингу теги должны быть заранее предопределены, определены, изменены пользователем или т.п.Method 400 begins after a start block at block 402, where a tag may be determined to be monitored. In some embodiments, each of the plurality of tags can be monitored, each tag being associated with at least one web page. In other embodiments, a portion of the plurality of tags can be monitored and another portion of the plurality of tags cannot be monitored. In at least one embodiment, the monitored tags must be predefined, defined, changed by the user, or the like.

Согласно некоторым вариантам осуществления тег может находиться в одном из множества различных состояний. Каждое состояние может позволить тегу быть развернутым или может блокировать тег от развертывания. Состояние тега может меняться из одного состояния в другое, основываясь на мониторинге, времени нахождения тега в состоянии и т.п. или их комбинации. Согласно некоторым вариантам осуществления различные триггеры (то есть, число последовательных событий задержки) могут быть использованы для перемещения тега из одного состояния в другое состояние. Варианты осуществления процессов для изменения тегового состояния описаны ниже более подробно со ссылками на Фиг. 7 и 9А-9В. Согласно по меньшей мере одному варианту осуществления тег может находиться в одном из следующих состояний: НОРМАЛЬНОЕ, ПОМЕЧЕННОЕ, ПРИОСТАНОВКА_А или ПРИОСТАНОВКА_В. Один из вариантов графической иллюстрации данных различных состояний описывается ниже более подробно со ссылками на Фиг. 8.In some embodiments, a tag can be in one of a variety of different states. Each state can allow the tag to be expanded, or it can block the tag from being expanded. The state of a tag can change from one state to another based on monitoring, the time the tag has been in the state, and the like. or combinations thereof. In some embodiments, various triggers (i.e., the number of consecutive delay events) can be used to move the tag from one state to another state. Embodiments of processes for changing a tagged state are described in more detail below with reference to FIG. 7 and 9A-9B. In at least one embodiment, the tag may be in one of the following states: NORMAL, MARKED, SUSPEND_A, or SUSPEND_B. One form of graphical illustration of the various state data is described in more detail below with reference to FIG. eight.

Тем не менее, варианты осуществления не настолько ограничены, и может быть использовано другое число состояний, типов состояний, алгоритмов/показателей для изменения состояния. Например, согласно по меньшей мере одному варианту осуществления тег может находиться в одном из следующих состояний: НОРМАЛЬНОЕ, ПОМЕЧЕННОЕ, ПРЕДПРИОСТАНОВЛЕННОЕ, ПРИОСТАНОВЛЕННОЕ и ПОСТПРИОСТАНОВЛЕННОЕ. Один вариант осуществления графического изображения настоящих различных состояний описывается ниже более подробно со ссылками на Фиг. 10. Согласно другому варианту осуществления исторические записи измерений (например, задержка тега) могут быть использованы, чтобы изменить число состояний и/или типы состояний, используемые для изменения состояния тега параметры или т.п. Например, исторические записи могут указывать на то, что теги могут застрять в определенном состоянии в течение длительного периода времени. Согласно одному такому примеру может быть добавлено дополнительное состояние, которое может использоваться для мониторинга тега чаще. Согласно другому примеру если исторические записи могут указывать на то, что в настоящий момент времени тег приводит к получению плановых результатов состоянии задержки (например, из-за планового технического обслуживания сервера), то тег может быть превентивно перемещен в другое состояние на данный период времени.However, the embodiments are not so limited and a different number of states, types of states, algorithms / metrics may be used to change the state. For example, in at least one embodiment, a tag may be in one of the following states: NORMAL, MARKED, PUSHED, PUSHED, and POST-PUSHED. One embodiment of a graphical representation of the present various states is described in more detail below with reference to FIG. 10. In another embodiment, historical measurement records (eg, tag delay) can be used to change the number of states and / or types of states used to change the state of a tag, parameters or the like. For example, historical records can indicate that tags may be stuck in a particular state for an extended period of time. According to one such example, an additional state can be added that can be used to monitor the tag more frequently. As another example, if historical records can indicate that a tag is currently producing planned results in a delayed state (eg, due to scheduled server maintenance), then the tag can be proactively moved to a different state for that period of time.

В любом случае, выполнение способа 400 продолжается согласно блоку 404, где тег задержки может быть асинхронно подвергнут мониторингу. Согласно некоторым вариантам осуществления мониторинг может быть асинхронный, если это не зависит от запроса для веб-страницы от посетителя веб-страницы. Согласно по меньшей мере одному варианту осуществления мониторинг может основываться по меньшей мере на состоянии тега, подлежащего мониторингу. Согласно некоторым вариантам осуществления теговое состояние может определять скорость и/или частоту, на которой осуществлять мониторинг тега. Согласно некоторым вариантам осуществления скорость, с которой осуществляется мониторинг тега, может быть настраиваемой и/или изменяемой для каждого состояния. Согласно одному варианту осуществления каждое состояние может соответствовать различной частоте асинхронного мониторинга тега. Например, тег в состоянии НОРМАЛЬНОЕ может подвергаться мониторингу каждые 15 минут, тег в состоянии ПОМЕЧЕННОЕ может подвергаться мониторингу каждые пять минут, тег в состоянии ПРИОСТАНОВКА_В может подвергаться мониторингу каждую минуту, в то время как тег в состоянии ПРИОСТАНОВКА_А может быть бездействующим и не подвергаться мониторингу в течение заданного периода времени. Тем не менее, варианты осуществления не так ограничены, и могут быть использованы другие частоты для периодического мониторинга задержки тега.In any event, method 400 continues at block 404, where the delay tag may be monitored asynchronously. In some embodiments, monitoring may be asynchronous as long as it is independent of a request for a web page from a visitor to the web page. In at least one embodiment, monitoring can be based on at least the state of the tag to be monitored. In some embodiments, the tag state may determine the rate and / or frequency at which the tag is monitored. In some embodiments, the rate at which the tag is monitored may be configurable and / or variable for each state. In one embodiment, each state can correspond to a different frequency of asynchronous tag monitoring. For example, a tag in the NORMAL state can be monitored every 15 minutes, a tag in the MARK state can be monitored every five minutes, a tag in the SUSPEND_B state can be monitored every minute, while a tag in the SUSPEND_A state can be inactive and not monitored for for a given period of time. However, the embodiments are not so limited and other frequencies can be used to periodically monitor the tag delay.

Согласно некоторым другим вариантам осуществления может быть определена задержка мониторинга тега. Согласно по меньшей мере одному варианту осуществления задержка может быть определена путем измерения периода времени от запроса тега до получения ответа сервера. Тем не менее, вариант осуществления, который описан более подробно выше, не так ограничен, и могут быть использованы другие способы определения задержки тега.In some other embodiments, a tag monitoring delay may be determined. In at least one embodiment, the delay may be determined by measuring the period of time from the request for the tag to the receipt of the server response. However, the embodiment described in more detail above is not so limited, and other methods for determining the tag delay can be used.

Выполнение способа 400 переходит к логическому блоку 406, где может быть определено, что задержка тега привела к событию задержки. Согласно по меньшей мере одному варианту осуществления задержка тега может сравниваться с максимальным пороговым значением времени задержки. Если задержка тега больше, чем максимальное пороговое значение времени задержки, то результат мониторинга тега может указывать на то, что произошло событие задержки. Согласно по меньшей мере одному варианту осуществления максимальное пороговое время задержки может быть настроено и/или изменено для каждого пользователя и/или каждого состояния. Соответственно, максимальное пороговое значение времени задержки может быть одинаковым и/или различным для каждого пользователя и/или состояния. Если задержка тега меньше, чем максимальное пороговое значение времени задержки, то результат мониторинга тега может указывать на то, что произошло событие отсутствия задержки. Если произошло событие задержки, то обработка может перетекать к блоку 408; в противном случае, может иметь место событие отсутствия задержки и обработка может перетекать к блоку 410.Method 400 proceeds to logic block 406 where it may be determined that the tag delay has resulted in a delay event. In at least one embodiment, the tag delay may be compared to a maximum delay time threshold. If the tag lag is greater than the maximum lag time threshold, then the tag monitoring result may indicate that a lag event has occurred. In at least one embodiment, the maximum threshold delay time may be tuned and / or changed for each user and / or each state. Accordingly, the maximum lag time threshold may be the same and / or different for each user and / or state. If the tag latency is less than the maximum latency threshold, then the tag monitoring result may indicate that a no latency event has occurred. If a delay event has occurred, then processing may flow to block 408; otherwise, a no-delay event may occur and processing may flow to block 410.

Согласно блоку 408 состояние тега может быть изменено основываясь на случае задержки, что более подробно описано ниже со ссылкой на Фиг. 5. Тем не менее, вкратце, если определение задержки (например, последовательных событий задержки) и состояния тега указывает на модификацию состояния, тогда состояние тега может быть изменено на другое состояние. Согласно некоторым вариантам осуществления, если количество событий задержки превышает пороговое значение события задержки, тег может изменить состояние, основываясь на текущем состоянии тега. Например, согласно некоторым вариантам тег может изменяться из состояния НОРМАЛЬНОЕ в состояние ПОМЕЧЕННОЕ, если превышено пороговое значение количества событий задержки. Согласно другим вариантам осуществления тег может меняться из состояния ПОМЕЧЕННОЕ в состояние ПРИОСТАНОВКА_А, если пороговое значение количества событий задержки превышено. Согласно еще другим вариантам осуществления тег может меняться из состояния ПРИОСТАНОВКА_В в состояние ПРИОСТАНОВКА_А, если пороговое значение количества событий задержки превышено. Согласно некоторым вариантам осуществления пороговое значение события задержки может представлять собой любое подходящее количество последовательных событий задержки, таких как, например, 1-3 последовательных события задержки. Согласно другим вариантам осуществления пороговое значение события задержки может представлять собой любое подходящее количество событий задержки, которое происходит в пределах заданного периода времени (например, 3 события задержки за пять минут). Тем не менее, варианты осуществления не так ограничены, и пороговое значение события задержки может основываться на других показателях/алгоритмах, чтобы определить перемещается ли тег из данного состояния, и в какое состояние тег перешел.At block 408, the state of the tag may be changed based on the delay event, which will be described in more detail below with reference to FIG. 5. However, in a nutshell, if the definition of delay (eg, sequential delay events) and tag state indicate a state modification, then the tag state may be changed to a different state. In some embodiments, if the number of delay events exceeds a delay event threshold, the tag may change state based on the current state of the tag. For example, in some embodiments, a tag may change from a NORMAL state to a MARKED state if a threshold value for the number of delay events is exceeded. In other embodiments, a tag may change from a MARKED state to a SUSPEND_A state if a threshold for the number of delay events is exceeded. In still other embodiments, the tag may change from a SUSPEND_B state to a SUSPEND_A state if a threshold value for the number of delay events is exceeded. In some embodiments, the delay event threshold may be any suitable number of consecutive delay events, such as, for example, 1-3 consecutive delay events. In other embodiments, the delay event threshold may be any suitable number of delay events that occur within a predetermined time period (eg, 3 delay events in five minutes). However, the embodiments are not so limited, and the delay event threshold may be based on other metrics / algorithms to determine if the tag is moving out of a given state and into which state the tag has transitioned.

Например, тег может меняться из одного состояния в другое состояние основываясь на: серьезности состояния задержки (например, значении задержки тега выше порогового значения серьезности), числе последовательных событий задержки выше порогового значения серьезности, числе событий задержки выше порогового значения серьезности в течение заданного периода времени, длительности нахождения тега в данном состоянии и т.п. или любом их сочетании. Согласно некоторым вариантам осуществления используемое для каждого состояния пороговое значение событий задержки может быть настроено и/или изменено индивидуально. Согласно по меньшей мере одному варианту осуществления каждое из этих пороговых значений событий задержки может быть отдельно настроено для каждого пользователя. Затем обработка перетекает к логическому блоку 412.For example, a tag can change from one state to another based on: the severity of the delay condition (for example, the tag delay value is above a severity threshold), the number of consecutive delay events above the severity threshold, the number of delay events above the severity threshold for a given period of time , the duration of the tag's presence in this state, etc. or any combination of them. In some embodiments, the delay event threshold used for each state may be tuned and / or changed individually. In at least one embodiment, each of these delay event thresholds may be individually configured for each user. Processing then flows to logic block 412.

Если согласно логическому блоку 406 определено, что произошло событие отсутствия задержки, то обработка может перетекать от логического блока 406 к блоку 410. Согласно блоку 410 состояние тега может быть изменено, основываясь на отсутствии события задержки, которое описано более подробно ниже со ссылкой на Фиг. 6. Тем не менее, вкратце, если определение времени задержки (например, последовательные события отсутствия задержки) и состояние тега указывает на модификацию в состоянии, тогда состояние тега может быть изменено в другое состояние. Согласно некоторым вариантам осуществления тег может изменять состояние, основываясь на текущем состоянии тега и если количество событий задержки превышает пороговое значение событий отсутствия задержки.If, according to logic block 406, it is determined that a no delay event has occurred, then processing may flow from logic block 406 to block 410. According to block 410, the state of the tag may be changed based on the absence of a delay event, which is described in more detail below with reference to FIG. 6. However, in a nutshell, if the definition of the delay time (eg, consecutive no delay events) and the state of the tag indicates a modification in the state, then the state of the tag may be changed to a different state. In some embodiments, the tag may change state based on the current state of the tag and if the number of delay events exceeds a threshold of no delay events.

Согласно некоторым вариантам осуществления тег может меняться из состояния ПОМЕЧЕННОЕ в состояние НОРМАЛЬНОЕ, если превышено пороговое значение количества событий отсутствия задержки. Согласно другим вариантам осуществления тег может меняться из состояния ПРИОСТАНОВКА_В в состояние ПОМЕЧЕННОЕ, если превышено пороговое значение количества событий отсутствия задержки. Согласно некоторым вариантам осуществления пороговое значение состояний отсутствия задержки может представлять собой любое подходящее число последовательных событий отсутствия задержки, таких как, например, 1-3 последовательных события отсутствия задержки. Согласно другим вариантам осуществления пороговое значение события отсутствия задержки может представлять собой любое подходящее число событий отсутствия задержки, которое происходит в пределах заданного периода времени (например, 3 события отсутствия задержки в одну минуту). Тем не менее, настоящие варианты не так ограничены, и пороговое значение события отсутствия задержки может основываться на других показателях/алгоритмах, чтобы определить перемещается ли тег из данного состояния и в какое состояние тег перешел.In some embodiments, a tag may change from a TAGGED state to a NORMAL state if a threshold for the number of no-delay events is exceeded. In other embodiments, the tag may change from a SUSPENDED state to a MARKED state if a threshold value for the number of no-delay events is exceeded. In some embodiments, the no-lag threshold may be any suitable number of consecutive non-lag events, such as, for example, 1-3 consecutive non-lag events. In other embodiments, the no-lag event threshold may be any suitable number of no-lag events that occur within a predetermined time period (eg, 3 no-lag events per minute). However, the present options are not so limited and the no-lag event threshold can be based on other metrics / algorithms to determine if the tag is moving out of the given state and into which state the tag has entered.

Например, тег может меняться из одного состояния в другое, основываясь на: умеренности одного или нескольких событий отсутствия задержки (например, значении задержки тега ниже порогового значения умеренности), числе последовательных событий отсутствия задержки ниже порогового значения умеренности, числе событий отсутствия задержки ниже порогового значения умеренности в течение заданного периода времени, длительности нахождения тега в данном состоянии и т.п. или любом их сочетании. Согласно некоторым вариантам осуществления используемое для каждого состояния пороговое значение события отсутствия задержки может быть настроено и/или изменено индивидуально. Согласно по меньшей мере одному варианту осуществления каждое из этих пороговых значений событий отсутствия задержки могут быть отдельно настроены для каждого пользователя.For example, a tag may change from one state to another based on: the moderation of one or more no-lag events (for example, a tag's latency value is below the temperance threshold), the number of consecutive no-lag events below the temperance threshold, the number of no-lag events below the temperance threshold moderation for a given period of time, the length of time the tag has been in this state, and so on. or any combination of them. In some embodiments, the no-lag event threshold used for each state may be individually tuned and / or changed. In at least one embodiment, each of these no-latency event thresholds may be individually configured for each user.

Выполнение способа 400 переходит к логическому блоку 412, где может быть сделано определение о том, блокирован ли тег от развертывания, основываясь на текущем состоянии тега. Согласно некоторым вариантам осуществления тег в состоянии НОРМАЛЬНОЕ и/или в состоянии ПОМЕЧЕННОЕ может не быть блокирован, и ему может быть разрешено развертывание. Согласно другим вариантам осуществления тег в состоянии ПРИОСТАНОВКА_А и/или состоянии ПРИОСТАНОВКА_В может быть блокирован, и ему может быть не разрешено развертывание. Если тег блокирован от развертывания, то обработка может делать петлю к блоку 404, чтобы продолжать асинхронно осуществлять мониторинг задержки тега; в противном случае, обработка может перетекать к блоку 414.Method 400 proceeds to logic block 412 where a determination can be made as to whether the tag is blocked from deployment based on the current state of the tag. In some embodiments, a tag in a NORMAL state and / or in a TAGGED state may not be blocked and may be allowed to be deployed. In other embodiments, a tag in the SUSPEND_A state and / or the SUSPEND_B state may be disabled and not allowed to be deployed. If the tag is blocked from being deployed, then processing can loop to block 404 to continue to asynchronously monitor tag latency; otherwise, processing may flow to block 414.

Согласно блоку 414 тегу может быть разрешено быть развернутым. Согласно некоторым вариантам осуществления разрешение тегу быть развернутым может включать в себя уведомление веб-страницы о том, что тег может быть запрошен и загружен на веб-страницу, если запрос веб-страницы предоставлен. Согласно другим вариантам осуществления разрешение тегу быть развернутым может включать в себя уведомление устройства развертывания тегов, такого как TDSD 116, показанного на фигуре 1, о том, что тег может быть запрошен и загружен на веб-страницу, если запрос для веб-страницы предоставлен. Согласно по меньшей мере одному варианту осуществления разрешенные для развертывания теги могут быть включены в таблицы или списки доступных для развертывания тегов. Согласно некоторым вариантам осуществления, если определение текущего состояния тега утвердительно показывает развертывание (как определено блоком 412) и веб-страница запрашивается, тег может быть развернут с ассоциированной веб-страницей.At block 414, the tag may be allowed to be expanded. In some embodiments, allowing the tag to be expanded may include notifying the web page that the tag can be requested and loaded into the web page if a web page request is granted. In other embodiments, allowing a tag to be deployed may include notifying a tag deployer, such as the TDSD 116 shown in Figure 1, that a tag can be requested and loaded into a web page if a request for the web page is provided. In at least one embodiment, deployable tags may be included in tables or lists of deployable tags. According to some embodiments, if the determination of the current state of the tag indicates deployment affirmatively (as determined by block 412) and the web page is requested, the tag may be expanded with the associated web page.

После блока 414 способ 400 может делать петлю к блоку 404, чтобы продолжить асинхронно осуществлять мониторинг задержки тега.After block 414, method 400 can loop to block 404 to continue to asynchronously monitor tag latency.

На Фиг. 5 показана логическая блок-схема, показывающая, как правило, один вариант осуществления процесса изменения состояния тега, основываясь на событии задержки тега и текущем состояния тега. Согласно некоторым вариантам осуществления способ 500 на Фиг. 5 может осуществляться и/или выполняться на одном сетевом устройстве, таком как, сетевое устройство 300 на Фиг. 3. Согласно другим вариантам осуществления способ 500 или части способа 500 на Фиг. 5 могут осуществляться и/или выполняться множеством сетевых устройств, таких как сетевое устройство 300 на Фиг. 3.FIG. 5 is a flow chart showing generally one embodiment of a process for changing a tag state based on a tag delay event and a current tag state. In some embodiments, the method 500 of FIG. 5 may be implemented and / or executed on a single network device, such as the network device 300 of FIG. 3. In other embodiments, the method 500, or portions of the method 500 of FIG. 5 may be implemented and / or executed by a plurality of network devices, such as the network device 300 of FIG. 3.

Выполнение способа 500 начинается после стартового блока согласно логическому блоку 502, где может быть определено в нормальном ли состоянии тег. Согласно по меньшей мере одному варианту осуществления каждое состояние (то есть, состояние НОРМАЛЬНОЕ, состояние ПОМЕЧЕННОЕ, состояние ПРИОСТАНОВКА_А и/или состояние ПРИОСТАНОВКА_В) может соответствовать таблице, которая идентифицирует теги в этом конкретном состоянии. Например, таблица нормальных тегов может идентифицировать теги в состоянии НОРМАЛЬНОЕ; таблица помеченных тегов может идентифицировать теги в состоянии ПОМЕЧЕННОЕ; таблица тегов ПРИОСТАНОВКА_А может идентифицировать теги в состоянии ПРИОСТАНОВКА_А и таблица тегов ПРИОСТАНОВКА_В может идентифицировать теги в состоянии ПРИОСТАНОВКА_В. Согласно некоторым вариантам осуществления тег может быть определен как в состоянии НОРМАЛЬНОЕ, если тег включен в таблицу нормальных тегов. Если тэг находится в состоянии НОРМАЛЬНОЕ, то обработка может перетекать к логический блоку 504; в противном случае, обработка может перетекать к логическому блоку 510.Method 500 begins after the start block, according to logic block 502, where it can be determined whether the tag is in a normal state. In at least one embodiment, each state (i.e., NORMAL state, MARKED state, SUSPENDED_A and / or SUSPENDED_B state) may correspond to a table that identifies tags in that particular state. For example, a normal tag table might identify tags in a NORMAL state; the tagged tag table can identify tags in the tagged state; the SUSPEND_A tag table can identify tags in the SUSPEND_A state and the SUSPEND_B tag table can identify the tags in the SUSPEND_B state. In some embodiments, a tag may be determined to be in a NORMAL state if the tag is included in the normal tag table. If the tag is in the NORMAL state, then processing may flow to logic block 504; otherwise, processing may flow to logic block 510.

Согласно блоку 504 может быть определено, превышает ли событие задержки пороговое значение. Согласно некоторым вариантам осуществления пороговое значение события задержки может представлять собой общее количество последовательных событий задержки. В одном не ограничивающем, не исчерпывающем примере, пороговое значения события задержки для состояния НОРМАЛЬНОЕ может представлять собой одно событие задержки. Согласно по меньшей мере одному такому варианту осуществления определение превышения порогового значения события задержки может включать в себя сравнение ряда последовательных событий задержки с пороговым значением события задержки. Согласно другим вариантам осуществления пороговое значение события задержки может представлять собой общее число событий задержки, произошедших в течение определенного периода времени. Тем не менее, настоящие варианты осуществления не так ограничены, и могут быть использованы другие пороговые значения событий задержки. Если превышено пороговое значение события задержки, то обработка может перетекать к блоку 506; в противном случае, обработка может перетекать к блоку 508.At block 504, it may be determined if the delay event exceeds a threshold. In some embodiments, the delay event threshold may be the total number of consecutive delay events. In one non-limiting, non-exhaustive example, the delay event threshold for the NORMAL state may be a single delay event. In at least one such embodiment, determining if a delay event threshold has been exceeded may include comparing a number of successive delay events to a delay event threshold. In other embodiments, the delay event threshold may be the total number of delay events that have occurred over a period of time. However, the present embodiments are not so limited and other thresholds for delay events may be used. If the delay event threshold is exceeded, then processing may flow to block 506; otherwise, processing may flow to block 508.

Согласно блоку 506, тег может быть перемещен в состояние ПОМЕЧЕННОЕ. Согласно по меньшей мере одному варианту осуществления перемещение тега в состояние ПОМЕЧЕННОЕ может включать в себя удаление тега из таблицы тегов НОРМАЛЬНЫЕ и добавление тега в таблицу тегов ПОМЕЧЕННЫЕ. Тем не менее, настоящие варианты осуществления не так ограничены, и могут быть использованы другие способы идентификации и изменения состояния тега. Согласно некоторым вариантам осуществления тег в состоянии ПОМЕЧЕННОЕ может не быть блокирован, и ему может быть разрешено развертывание. Согласно по меньшей мере одному варианту осуществления e-mail, текстовое сообщение или другое уведомление может быть отправлено пользователю для указания, что тег был переведен в состояние ПОМЕЧЕННОЕ. Согласно некоторым другим вариантам осуществления, если тег возвращает ошибку (например, http-ответы 4хх|5хх), когда тег задержки тега контролируется, то тег может быть переведен в состояние ПОМЕЧЕННОЕ. После блока 506, способ 500 может вернуться к вызывающему процессу для выполнения других действий.At block 506, the tag may be moved to the MARKED state. In at least one embodiment, moving a tag to the MARKED state may include removing the tag from the NORMAL tag table and adding the tag to the TAGED tag table. However, the present embodiments are not so limited, and other methods for identifying and changing the state of a tag can be used. In some embodiments, a tag in the MARKED state may not be blocked and may be allowed to be deployed. In at least one embodiment, an e-mail, text message, or other notification may be sent to a user to indicate that a tag has been placed in a MARKED state. In some other embodiments, if the tag returns an error (eg, 4xx | 5xx http responses) when the tag delay tag is monitored, then the tag may be placed in the STAGED state. After block 506, method 500 may return to the calling process to perform other actions.

Если согласно логическому блоку 504 определено, что пороговое значение события задержки не превышено, то обработка может перетекать от логического блока 504 к блоку 508. Согласно блоку 508 тег может оставаться в состоянии НОРМАЛЬНОЕ. Согласно по меньшей мере одному варианту осуществления тег в состоянии НОРМАЛЬНОЕ может не быть блокирован, и ему может быть разрешено развертывание. После блока 506 способ 500 может вернуться к вызывающему процессу для выполнения других действий.If, according to logic block 504, it is determined that the delay event threshold has not been exceeded, then processing may flow from logic block 504 to block 508. According to block 508, the tag may remain in a NORMAL state. In at least one embodiment, a tag in the NORMAL state may not be locked and may be allowed to be deployed. After block 506, method 500 may return to the calling process to perform other actions.

Если согласно логическому блоку 502 определено, что тег не находится в состоянии НОРМАЛЬНОЕ, то обработка может перетекать из логического блока 502 в блок 510. Согласно логическому блоку 510 может быть выполнено определение находится ли тег в состоянии ПОМЕЧЕННОЕ. Согласно некоторым вариантам тег может быть определен находящимся в состоянии ПОМЕЧЕННОЕ, если тег включен в таблицу тегов ПОМЕЧЕННЫЕ. Если тег находится в состояние ПОМЕЧЕННОЕ, то обработка может перетекать к логический блоку 512; в противном случае, обработка может перетекать к логический блоку 516.If, according to logic block 502, it is determined that the tag is not in the NORMAL state, then processing may flow from logic block 502 to block 510. According to logic block 510, a determination can be made whether the tag is in the MARKED state. In some embodiments, a tag may be defined to be in the TAGGED state if the tag is included in the TAGGED tags table. If the tag is in the MARKED state, processing may flow to logic block 512; otherwise, processing may flow to logic block 516.

Согласно логическому блоку 512 может быть выполнено определение того, превышено ли пороговое значение событий задержки. Согласно по меньшей мере одному варианту осуществления логический блок 512 может использовать варианты осуществления логического блока 504, чтобы определить превышается ли пороговое значение события задержки. Согласно некоторым вариантам пороговое значение события задержки для состояния ПОМЕЧЕННОЕ может быть одинаковым или различным с пороговым значением события задержки для состояния НОРМАЛЬНОЕ. Согласно одному не ограничивающему, не исчерпывающему примеру пороговое число событий задержки для состояния ПОМЕЧЕННОЕ может представлять собой три последовательных события задержки. Тем не менее, настоящие варианты осуществления не так ограничены, и могут быть использованы другие пороговые значения событий задержки. Если пороговое значение события задержки превышено, то обработка может перетекать к блоку 524; в противном случае, обработка может перетекать к блоку 514.According to logic block 512, a determination can be made as to whether a threshold value for delay events has been exceeded. In at least one embodiment, logic block 512 may use embodiments of logic block 504 to determine if a delay event threshold is exceeded. In some embodiments, the delay event threshold for the MARKED state may be the same or different from the NORMAL delay event threshold. According to one non-limiting, non-exhaustive example, the threshold number of delay events for a state LABELED may be three consecutive delay events. However, the present embodiments are not so limited and other thresholds for delay events may be used. If the delay event threshold is exceeded, then processing may flow to block 524; otherwise, processing may flow to block 514.

Согласно блоку 514 тег может оставаться в состоянии ПОМЕЧЕННОЕ. Согласно по меньшей мере одному варианту осуществления тег в состоянии ПОМЕЧЕННОЕ может не быть блокирован и ему может быть разрешено развертывание. После блока 514 способ 500 может вернуться к вызывающему процессу для выполнения других действий.At block 514, the tag may remain in the MARKED state. In at least one embodiment, a tag in the TAGGED state may not be blocked and may be allowed to be deployed. After block 514, method 500 may return to the calling process to perform other actions.

Если согласно логическому блоку 510 определено, что тег не находится в состоянии ПОМЕЧЕННОЕ, то обработка может перетекать от логического блока 510 к логическому блоку 516. Согласно логическому блоку 516 может быть выполнено определение того, находится ли тег в состоянии ПРИОСТАНОВКА_В. Согласно некоторым вариантам осуществления тег может быть определен как находящийся в состоянии ПРИОСТАНОВКА_В, если тег включен в таблицу тегов ПРИОСТАНОВКА_В. Если тег находится в состоянии ПРИОСТАНОВКА_В, то обработка может перетекать к логическому блоку 518; в противном случае, тег может быть в состоянии ПРИОСТАНОВКА_А и обработка может перетекать к логическому блоку 520.If, according to logic block 510, it is determined that the tag is not in the MARKED state, then processing may flow from logic block 510 to logic block 516. According to logic block 516, a determination can be made whether the tag is in the SUSPEND_W state. In some embodiments, a tag may be determined to be in the SUSPEND_W state if the tag is included in the SUSPEND_W tag table. If the tag is in the SUSPEND_W state, processing may flow to logic block 518; otherwise, the tag may be in a SUSPEND_A state and processing may flow to logic block 520.

Согласно блоку 520 тег может оставаться в состоянии ПРИОСТАНОВКА_А. Согласно по меньшей мере одному варианту осуществления тег в состоянии ПРИОСТАНОВКА_А может быть блокирован и ему может быть не разрешено развертывание. Согласно некоторым вариантам осуществления тег может оставаться в состоянии ПРИОСТАНОВКА_А в течение заданного периода времени, независимо от событий задержки и/или отсутствия задержки. После блока 520 способ 500 может вернуться к вызывающему процессу для выполнения других действий.At block 520, the tag may remain in the SUSPEND_A state. In at least one embodiment, a tag in the SUSPEND_A state may be disabled and not allowed to be deployed. In some embodiments, the tag may remain in the SUSPEND_A state for a predetermined period of time, regardless of delay and / or no delay events. After block 520, method 500 may return to the calling process to perform other actions.

Если согласно логическому блоку 516 определено, что тег находится в состоянии ПРИОСТАНОВКА_В, то обработка может перетекать от логического блока 516 к логическому блоку 518. Согласно логическому блоку 518 может быть выполнено определение того, превышено ли пороговое значение события задержки. Согласно по меньшей мере одному варианту осуществления логический блок 518 может использовать варианты осуществления логического блока 504, чтобы определить превышение порогового значения события задержки. Согласно некоторым вариантам осуществления пороговое значение события задержки для состояния ПРИОСТАНОВКА_В может быть одинаковым или различным с пороговым значением события задержки для состояния НОРМАЛЬНОЕ и/или состояние ПОМЕЧЕННОЕ. В одном не ограничивающем, не исчерпывающем примере пороговое число событий задержки для состояния ПРИОСТАНОВКА_В может представлять собой три последовательных события задержки. Тем не менее, настоящие варианты осуществления не так ограничены, и могут быть использованы другие пороговые значения событий задержки. Если пороговое значение события задержки превышено, то обработка может перетекать к блоку 524; в противном случае, обработка может перетекать к блоку 522.If logic block 516 determines that the tag is in the SUSPEND_B state, then processing may flow from logic block 516 to logic block 518. Based on logic block 518, a determination can be made as to whether a delay event threshold has been exceeded. In at least one embodiment, logic block 518 may use embodiments of logic block 504 to determine if a delay event threshold has been exceeded. In some embodiments, the delay event threshold for the SUSPEND_B state may be the same or different with the delay event threshold for the NORMAL and / or TAGGED state. In one non-limiting, non-exhaustive example, the threshold number of delay events for the SUSPEND_B state may be three consecutive delay events. However, the present embodiments are not so limited and other thresholds for delay events may be used. If the delay event threshold is exceeded, then processing may flow to block 524; otherwise, processing may flow to block 522.

Согласно блоку 524 тег может быть перемещен в состояние ПРИОСТАНОВКА_А. Согласно по меньшей мере одному варианту осуществления перевод тега в состояние ПРИОСТАНОВКА_А может включать в себя добавление тега в таблицу тегов ПРИОСТАНОВКА_А и удаление тега из таблицы тегов ПОМЕЧЕННЫЕ или таблицы тегов ПРИОСТАНОВКА_В. Согласно некоторым вариантам осуществления тег в состоянии ПРИОСТАНОВКА_А может быть блокирован и ему может быть не разрешено развертывание. После блока 524 способ 500 может вернуться к вызывающему процессу для выполнения других действий.At block 524, the tag may be moved to a SUSPEND_A state. In at least one embodiment, placing a tag in the SUSPEND_A state may include adding the tag to the SUSPEND_A tag table and removing the tag from the TAGED tag table or the SUSPEND_B tag table. In some embodiments, a tag in the SUSPEND_A state may be disabled and not allowed to be deployed. After block 524, method 500 may return to the calling process to perform other actions.

Если согласно логическому блоку 518 определено, что пороговое значение события задержки не превышается, то обработка может перетекать от логического блока 518 к блоку 522. Согласно блоку 522 тег может оставаться в состоянии ПРИОСТАНОВКА_В. Согласно некоторым вариантам тег в состоянии ПРИОСТАНОВКА_В может быть блокирован и ему может быть не разрешено развертывание. После блока 522 способ 500 может вернуться к вызывающему процессу для выполнения других действий.If, according to logic block 518, it is determined that the delay event threshold is not exceeded, then processing may flow from logic block 518 to block 522. According to block 522, the tag may remain in the SUSPEND_B state. In some embodiments, a tag in the SUSPEND_B state may be blocked and not allowed to be deployed. After block 522, method 500 may return to the calling process to perform other actions.

На Фиг. 6 изображена логическая блок-схема, показывающая как правило один вариант осуществления процесса для изменения состояния тега основываясь на событии отсутствия задержки тега и текущем состоянии тега. Согласно некоторым вариантам осуществления способ 600 на Фиг. 6 может быть осуществлен и/или выполнен одним сетевым устройством, таким как, сетевое устройство 300 на Фиг. 3. Согласно другим вариантам осуществления способ 600 или части способ 600 на Фиг. 6 могут быть осуществлены и/или выполнены множеством сетевых устройств, таких как сетевое устройство 300 на Фиг. 3.FIG. 6 is a flow diagram showing generally one embodiment of a process for changing the state of a tag based on a no tag delay event and the current state of the tag. In some embodiments, the method 600 of FIG. 6 may be implemented and / or performed by a single network device, such as the network device 300 of FIG. 3. In other embodiments, the method 600, or portions of the method 600 of FIG. 6 may be implemented and / or performed by a plurality of network devices, such as the network device 300 of FIG. 3.

Выполнение способа 600 начинается после стартового блока согласно логическому блоку 602, где может быть определено, находится ли тег в состоянии НОРМАЛЬНОЕ. Согласно по меньшей мере одному варианту осуществления логический блок 602 может использовать варианты осуществления логического блока 502 на Фиг. 5, чтобы определить находится ли тег в состоянии НОРМАЛЬНОЕ. Если тег находится в состоянии НОРМАЛЬНОЕ, то обработка может перетекать к блоку 604; в противном случае, обработка может перетекать к логическому блоку 606.The method 600 begins after the start block according to logic block 602, where it can be determined if the tag is in a NORMAL state. In at least one embodiment, logic block 602 may use embodiments of logic block 502 in FIG. 5 to determine if the tag is in NORMAL state. If the tag is in the NORMAL state, then processing may flow to block 604; otherwise, processing may flow to logic block 606.

Согласно блоку 604 тег может оставаться в состоянии НОРМАЛЬНОЕ и тегу разрешено развертывание. Согласно по меньшей мере одному варианту осуществления блок 604 может использовать варианты осуществления блока 508 на Фиг. 5. После блока 604 способ 600 может вернуться к вызывающему процессу для выполнения других действий.At block 604, the tag can remain in the NORMAL state and the tag is allowed to be deployed. In at least one embodiment, block 604 may use embodiments of block 508 in FIG. 5. After block 604, method 600 may return to the calling process to perform other actions.

Если согласно логическому блоку 602 определено, что тег не находится в состоянии НОРМАЛЬНОЕ, то обработка может перетекать из логического блока 602 к логическому блоку 606. Согласно логическому блоку 606 может быть выполнено определение того, находится ли тег в состоянии ПОМЕЧЕННОЕ. Согласно по меньшей мере одному варианту осуществления логический блок 606 может использовать варианты осуществления логического блока 510 на Фиг. 5, чтобы определить, находится ли тег в состоянии ПОМЕЧЕННОЕ. Если тег находится в состоянии ПОМЕЧЕННОЕ, то обработка может перетекать к логическому блоку 608; в противном случае, обработка может перетекать к логическому блоку 610.If, according to logic block 602, it is determined that the tag is not in the NORMAL state, then processing may flow from logic block 602 to logic block 606. According to logic block 606, a determination can be made whether the tag is in the MARKED state. In at least one embodiment, logic block 606 may use embodiments of logic block 510 in FIG. 5 to determine if the tag is in the MARKED state. If the tag is in the MARKED state, then processing may flow to logic block 608; otherwise, processing may flow to logic 610.

Согласно логическому блоку 608 может быть выполнено определение того, не превышено ли пороговое значение события отсутствия задержки. Согласно некоторым вариантам осуществления пороговое значение события отсутствия задержки может представлять собой общее количество последовательных событий отсутствия задержки. В одном не ограничивающем, не исчерпывающем примере пороговое значение события отсутствия задержки для состояния ПОМЕЧЕННОЕ может представлять собой три последовательных события отсутствия задержки. Согласно по меньшей мере одному такому варианту осуществления определение превышения порогового значения события отсутствия задержки может включать в себя сравнение ряда последовательных событий отсутствия задержки с пороговым значением события отсутствия задержки. Согласно другим вариантам осуществления пороговое значение события отсутствия задержки может представлять собой общее число событий отсутствия задержки произошедших в течение определенного периода времени. Тем не менее, настоящие варианты осуществления не так ограничены, и могут быть использованы другие пороговые значения событий отсутствия задержки. Если пороговое значение события отсутствия задержки превышено, то обработка может перетекать к блоку 616; в противном случае обработка может перетекать к блоку 614.According to logic block 608, a determination may be made as to whether a no-delay event threshold has been exceeded. In some embodiments, the no-lag event threshold may be the total number of consecutive no-lag events. In one non-limiting, non-exhaustive example, the no-delay event threshold for the LABEL state may be three consecutive no-delay events. According to at least one such embodiment, determining that a no-lag event threshold has been exceeded may include comparing a series of consecutive non-lag events with a no-lag event threshold. In other embodiments, the no-lag event threshold may be the total number of no-lag events occurring over a period of time. However, the present embodiments are not so limited and other thresholds for no-delay events may be used. If the no-delay event threshold is exceeded, then processing may flow to block 616; otherwise, processing may flow to block 614.

Согласно блоку 616 тег может быть переведен в состояние НОРМАЛЬНОЕ. Согласно по меньшей мере одному варианту осуществления перевод тега в состояние НОРМАЛЬНОЕ может включать в себя удаление тега из таблицы тегов ПОМЕЧЕННОЕ и добавление тега в таблицу тегов НОРМАЛЬНОЕ. Тем не менее, варианты осуществления не так ограничены, и могут быть использованы другие способы идентификации и изменения состояния тега. Согласно некоторым вариантам осуществления тег в состоянии НОРМАЛЬНОЕ может не быть блокирован и ему может быть разрешено развертывание. Согласно некоторым другим вариантам осуществления тег может вернуться в состояние НОРМАЛЬНОЕ, если пользователь сбрасывает состояние тега, поле HTML тега редактируется, мониторинг тега отключен и/или географическая область мониторинга тега изменилась (т.е. пользователь может выбрать географическое местоположение серверов для мониторинга тегов). После блока 616, способ 600 может вернуться к вызывающему процессу для выполнения других действий.At block 616, the tag may be set to NORMAL. In at least one embodiment, making a tag NORMAL may include removing the tag from the TAGGED tag table and adding the tag to the NORMAL tag table. However, the options for implementation are not so limited, and can be used in other ways to identify and change the state of the tag. In some embodiments, a tag in the NORMAL state may not be locked and may be allowed to be deployed. In some other embodiments, the tag may return to NORMAL if the user resets the tag state, the HTML field of the tag is edited, tag monitoring is disabled, and / or the geographic scope of tag monitoring has changed (i.e., the user can select the geographic location of the servers to monitor tags). After block 616, method 600 may return to the calling process to perform other actions.

Если согласно логическому блоку 608 определено, что пороговое значение события отсутствия задержки не превышено, то обработка может перетекать от логического блока 608 к блоку 614. Согласно блоку 614 тег может оставаться в состоянии ПОМЕЧЕННОЕ. Согласно по меньшей мере одному варианту осуществления блок 614 может использовать варианты осуществления блока 514 на Фиг. 5. После блока 614 способ 600 может вернуться к вызывающему процессу для выполнения других действий.If, according to logic block 608, it is determined that the no-delay event threshold has not been exceeded, then processing may flow from logic block 608 to block 614. According to block 614, the tag may remain in the MARKED state. In at least one embodiment, block 614 may use embodiments of block 514 in FIG. 5. After block 614, method 600 may return to the calling process to perform other actions.

Если согласно логическому блоку 606 определено, что тег не находится в состоянии ПОМЕЧЕННОЕ, то обработка может перетекать из логического блока 606 к блоку 610. Согласно логическому блоку 610 может быть выполнено определение того, находится ли тег в состоянии ПРИОСТАНОВКА_В. Согласно по меньшей мере одному варианту осуществления логический блок 610 может использовать варианты осуществления логического блока 516 на Фиг. 5, чтобы определить, находится ли тег в состоянии ПРИОСТАНОВКА_В. Если тег находится в состоянии ПРИОСТАНОВКА_В, то обработка может перетекать к логическому блоку 618; в противном случае, обработка может перетекать к логическому блоку 612.If, according to logic block 606, it is determined that the tag is not in the MARKED state, then processing may flow from logic block 606 to block 610. According to logic block 610, a determination can be made whether the tag is in the SUSPEND_W state. In at least one embodiment, logic block 610 may use embodiments of logic block 516 in FIG. 5 to determine if the tag is in the SUSPEND_W state. If the tag is in the SUSPEND_B state, then processing may flow to logic block 618; otherwise, processing may flow to logic 612.

Согласно блоку 612 тег может оставаться в состоянии ПРИОСТАНОВКА_А. Согласно по меньшей мере одному варианту осуществления блок 612 может использовать варианты осуществления блока 520 на Фиг. 5. После блока 612 способ 600 может вернуться к вызывающему процессу для выполнения других действий.At block 612, the tag may remain in the SUSPEND_A state. In at least one embodiment, block 612 may use embodiments of block 520 in FIG. 5. After block 612, method 600 may return to the calling process to perform other actions.

Если согласно логическому блоку 610 определено, что тег не находится в состоянии ПРИОСТАНОВКА_В, то обработка может перетекать от логического блока 610 к блоку 618. Согласно логическому блоку 618 может быть выполнено определение того, не превышено ли пороговое значение события отсутствия задержки. Согласно по меньшей мере одному варианту осуществления логический блок 618 может использовать варианты осуществления логического блока 608, чтобы определить превышение порогового значение события отсутствия задержки. Согласно некоторым вариантам осуществления пороговое значение события отсутствия задержки для состояния ПРИОСТАНОВКА_А может быть таким же или отличаться от порогового значение события отсутствия задержки для состояния ПОМЕЧЕННОЕ. В одном не ограничивающем, не исчерпывающем примере пороговое число событий отсутствия задержки для состояния ПРИОСТАНОВКА_А может представлять собой три последовательных события отсутствия задержки. Тем не менее, варианты осуществления не так ограничены, и могут быть использованы другие пороговые значения событий отсутствия задержки. Если пороговое значение события отсутствия задержки превышено, то обработка может перетекать к блоку 622; в противном случае, обработка может перетекать к блоку 620.If, according to logic block 610, it is determined that the tag is not in the SUSPEND_B state, then processing may flow from logic block 610 to block 618. According to logic block 618, a determination may be made as to whether a no-delay event threshold has been exceeded. In at least one embodiment, logic block 618 may use embodiments of logic block 608 to determine if a no-delay event threshold has been exceeded. In some embodiments, the no-lag event threshold for the SUSPEND_A state may be the same or different from the no-lag event threshold for the MARKED state. In one non-limiting, non-exhaustive example, the threshold number of no-delay events for the SUSPEND_A state may be three consecutive no-delay events. However, the embodiments are not so limited and other thresholds for no-delay events may be used. If the no-delay event threshold is exceeded, then processing may flow to block 622; otherwise, processing may flow to block 620.

Согласно блоку 622 тег может быть перемещен в состояние ПОМЕЧЕННОЕ. Согласно по меньшей мере одному варианту осуществления блок 622 может использовать варианты осуществления блока 506 на Фиг. 5. После блока 622 способ 600 может вернуться к вызывающему процессу для выполнения других действий.At block 622, the tag may be moved to the MARKED state. In at least one embodiment, block 622 may use embodiments of block 506 in FIG. 5. After block 622, method 600 may return to the calling process to perform other actions.

Если согласно логическому блоку 618 определено, что пороговое значение события отсутствия задержки не превышено, то обработка может перетекать от логического блока 618 к блоку 620. Согласно блоку 620 тег может оставаться в состоянии ПРИОСТАНОВКА_В. Согласно по меньшей мере одному варианту осуществления блок 620 может использовать варианты осуществления блока 522 на Фиг. 5. После блока 620 способ 600 может вернуться к вызывающему процессу для выполнения других действий.If, according to logic block 618, it is determined that the no-delay event threshold has not been exceeded, then processing may flow from logic block 618 to block 620. According to block 620, the tag may remain in the SUSPEND_B state. In at least one embodiment, block 620 may use embodiments of block 522 in FIG. 5. After block 620, method 600 may return to the calling process to perform other actions.

На Фиг. 7 показана логическая блок-схема, показывающая, как правило, один вариант осуществления процесса использования тега в одном из множества состояний и изменения состояния тега основываясь на событиях задержки или отсутствия задержки. Согласно некоторым вариантам осуществления способ 700 на Фиг. 7 может быть осуществлен и/или выполнен одним сетевым устройством, таким как сетевое устройство 300 на Фиг. 3. Согласно другим вариантам осуществления способ 700 или части способа 700 на Фиг. 7 могут быть осуществлены и/или выполнены на множестве сетевых устройств, таких как сетевое устройство 300 на Фиг. 3.FIG. 7 is a flow diagram showing generally one embodiment of a process for using a tag in one of a plurality of states and changing the state of a tag based on delayed or non-delayed events. In some embodiments, the method 700 of FIG. 7 may be implemented and / or performed by a single network device, such as the network device 300 of FIG. 3. In other embodiments, the method 700, or a portion of the method 700 of FIG. 7 may be implemented and / or executed on a variety of network devices, such as the network device 300 of FIG. 3.

Выполнение способа 700 начинается после стартового блока, согласно блоку 702, где может быть использован тег в состоянии НОРМАЛЬНОЕ. Согласно по меньшей мере одному варианту осуществления тег в состоянии НОРМАЛЬНОЕ может не быть блокирован и ему может быть разрешено развертывание. Как описано выше (согласно блоку 404), может осуществляться асинхронный мониторинг задержки тега. Согласно по меньшей мере одному варианту осуществления задержка тега в нормальном состоянии может контролироваться через каждые 15 минут. Тем не менее, могут быть использованы и другие частоты для мониторинга тега в состоянии ПОМЕЧЕННОЕ.Method 700 begins after a start block, at block 702, where a tag in a NORMAL state may be used. In at least one embodiment, a tag in the NORMAL state may not be locked and may be allowed to be deployed. As described above (at block 404), tag latency can be asynchronously monitored. In at least one embodiment, the delay of the tag in the normal state can be monitored every 15 minutes. However, other frequencies can be used to monitor a tag in the MARKED state.

Выполнение способа 700 продолжается согласно логическому блоку 704, где для тега может быть определено, произошло ли событие задержки. Согласно по меньшей мере одному варианту осуществления логический блок 704 может использовать варианты осуществления логического блока 406 на Фиг. 4, для определения того, произошло ли событие задержки основываясь на асинхронном мониторинге задержки тега. Если событие задержки произошло, то обработка может перетекать к логическому блоку 705; в противном случае, обработка может делать петлю к блоку 702, где тег может оставаться в нормальном состоянии.Method 700 continues at logic block 704 where it may be determined for a tag if a delay event has occurred. In at least one embodiment, logic block 704 may employ embodiments of logic block 406 in FIG. 4 to determine if a delay event has occurred based on asynchronous monitoring of the tag delay. If a delay event has occurred, then processing may flow to logic block 705; otherwise, processing may loop to block 702 where the tag may remain in its normal state.

Согласно логическому блоку 705 может быть определено, превышает ли пороговое значение событие задержки. Согласно по меньшей мере одному варианту осуществления логический блок 705 может использовать варианты осуществления логического блока 504 на Фиг. 5, для определения того, превышено ли пороговое значение события задержки тега в состоянии НОРМАЛЬНОЕ. Если пороговое значение события задержки превышено, то тег может быть переведен в состояние ПОМЕЧЕННОЕ и обработка может перетекать к блоку 706; в противном случае, обработка может делать петлю к блоку 702, где тег может оставаться в состоянии НОРМАЛЬНОЕ. Согласно некоторым вариантам осуществления способ 700 может использовать варианты осуществления блока 506 на Фиг. 5, чтобы перевести тег в состоянии ПОМЕЧЕННОЕ.According to logic block 705, it may be determined whether the delay event exceeds a threshold. In at least one embodiment, logic block 705 may employ embodiments of logic block 504 in FIG. 5 to determine if a tag delay event threshold is exceeded in the NORMAL state. If the delay event threshold is exceeded, then the tag may be placed in the MARKED state and processing may flow to block 706; otherwise, processing may loop to block 702 where the tag may remain in a NORMAL state. In some embodiments, method 700 may employ embodiments of block 506 in FIG. 5 to put the tag in the MARKED state.

Согласно блоку 706 тег может быть использован в состоянии ПОМЕЧЕННОЕ. По меньшей мере в одном варианте осуществления тег в состоянии ПОМЕЧЕННОЕ может не быть блокирован и ему может быть разрешено развертывание. Согласно по меньшей мере одному варианту осуществления задержку тега в состоянии ПОМЕЧЕННОЕ можно подвергать мониторингу через каждые пять минут. Тем не менее, могут быть использованы и другие частоты для мониторинга тега в состоянии ПОМЕЧЕННОЕ.At block 706, the tag may be used in the MARKED state. In at least one embodiment, a tag in the MARKED state may not be blocked and may be allowed to be deployed. In at least one embodiment, the tag delay in the MARKED state may be monitored every five minutes. However, other frequencies can be used to monitor a tag in the MARKED state.

Согласно некоторым вариантам осуществления пользователь может вручную перевести тег из состояния ПОМЕЧЕННОЕ в НОРМАЛЬНОЕ, используя «сброс» тега. Согласно по меньшей мере одному варианту осуществления пользователь может перевести тег в состояние НОРМАЛЬНОЕ, нажав на кнопку «сброс». Тем не менее, варианты осуществления не так ограничены, и могут использоваться другие варианты осуществления для сброса тега и/или ручного перевода тега в состояние НОРМАЛЬНОЕ. Согласно по меньшей мере одному варианту осуществления ручной перевод тега может произойти независимо от процесса мониторинга задержки тега. Если тег в состоянии ПОМЕЧЕННОЕ вручную «сбросить» в состояние НОРМАЛЬНОЕ, то способ 700 может делать петлю (не показано) к блоку 702.In some embodiments, a user can manually transition a tag from a MARKED to NORMAL state using a "reset" tag. In at least one embodiment, the user can put the tag in the NORMAL state by pressing the "reset" button. However, the embodiments are not so limited and other embodiments can be used to reset the tag and / or manually return the tag to NORMAL. In at least one embodiment, manual tag translation may occur independently of the tag delay monitoring process. If the tag is in the MARKED state by manually “resetting” to NORMAL, then method 700 can loop (not shown) to block 702.

Согласно по меньшей мере одному варианту осуществления тег в любом состоянии (и/или заданном состоянии), может быть «сброшен» в состояние НОРМАЛЬНОЕ.In at least one embodiment, a tag in any state (and / or specified state) may be "reset" to a NORMAL state.

В любом случае способ 700 продолжается согласно логическому блоку 710, где может быть определено, произошло ли событие задержки тега. По меньшей мере в одном варианте осуществления логический блок 710 может использовать варианты осуществления логического блока 704, для определения того, произошло ли событие задержки. Если событие задержки произошло, то обработка может перетекать к логическому блоку 712; в противном случае, обработка может перетекать к логическому блоку 708.In any event, method 700 continues at logic block 710, where it can be determined if a tag delay event has occurred. In at least one embodiment, logic block 710 may use embodiments of logic block 704 to determine if a delay event has occurred. If a delay event has occurred, then processing may flow to logic block 712; otherwise, processing may flow to logic block 708.

Согласно логическому блоку 708 может быть выполнено определение того, превышается ли пороговое значение событие отсутствия задержки. Согласно по меньшей мере одному варианту осуществления логический блок 708 может использовать варианты осуществления логического блока 608 на Фиг. 6, чтобы определить превышение порогового значения события отсутствия задержки для тега в состоянии ПОМЕЧЕННОЕ. Если пороговое значение события отсутствия задержки превышено, то тег может быть перемещен в состояние НОРМАЛЬНОЕ и обработка может перетекать к блоку 702; в противном случае, обработка может делать петлю к блоку 706, где тег может оставаться в состояние ПОМЕЧЕННОЕ. Согласно некоторым вариантам осуществления способ 700 может использовать варианты осуществления блока 616 на Фиг. 6, чтобы переместить тег в состояние НОРМАЛЬНОЕ.According to logic block 708, a determination may be made as to whether the no-delay event is exceeded by a threshold. In at least one embodiment, logic block 708 may use embodiments of logic block 608 in FIG. 6 to determine that the no-delay event threshold has been exceeded for a tag in the MARKED state. If the no-delay event threshold is exceeded, then the tag may be moved to NORMAL and processing may flow to block 702; otherwise, processing may loop to block 706 where the tag may remain in the MARKED state. In some embodiments, method 700 may use embodiments of block 616 in FIG. 6 to move the tag to NORMAL state.

Если согласно логическому блоку 710 произошло событие задержки, то обработка может перетекать от логического блока 710 к логическому блоку 712. Согласно логическому блоку 712 может быть определено превышение порогового значения события задержки. Согласно по меньшей мере одному варианту осуществления логический блок 712 может использовать варианты осуществления логического блока 512 на Фиг. 5, для определения того, не превышено ли пороговое значение события задержки тега в состоянии ПОМЕЧЕННОЕ. Если пороговое значение события задержки превышено, то тег может быть переведен в состояние ПРИОСТАНОВКА_А и обработка может перетекать к блоку 714; в противном случае, обработка может делать петлю к блоку 706, где тег может оставаться в состоянии ПОМЕЧЕННОЕ. Согласно некоторым вариантам осуществления способ 700 может использовать варианты осуществления блока 524 на Фиг. 5, чтобы переместить тег в состояние ПРИОСТАНОВКА_А.If, according to logic block 710, a delay event has occurred, then processing may flow from logic block 710 to logic block 712. According to logic block 712, a delay event threshold may be determined. In at least one embodiment, logic block 712 may use embodiments of logic block 512 in FIG. 5 to determine if the tag delay event threshold has been exceeded in the MARKED state. If the threshold value of the delay event is exceeded, then the tag may be placed in the SUSPEND_A state and processing may flow to block 714; otherwise, processing may loop to block 706 where the tag may remain in the MARKED state. In some embodiments, method 700 may employ embodiments of block 524 in FIG. 5 to move the tag to the PAUSE_A state.

Согласно блоку 714 тег может быть использован в состоянии ПРИОСТАНОВКА_А. Согласно некоторым вариантам осуществления тег в состоянии ПРИОСТАНОВКА_А может оставаться в состоянии ПРИОСТАНОВКА_А в течение заданного периода времени. Согласно по меньшей мере одному варианту осуществления не может осуществляться мониторинг задержки тега в то время как тег находится в состоянии ПРИОСТАНОВКА_А. Согласно некоторым вариантам осуществления тег в состоянии ПРИОСТАНОВКА_А может быть блокирован и ему не может быть разрешено развертывание.At block 714, the tag may be used in the PAUSE_A state. In some embodiments, a tag in the SUSPEND_A state may remain in the SUSPEND_A state for a predetermined period of time. In at least one embodiment, the tag delay cannot be monitored while the tag is in the SUSPEND_A state. In some embodiments, a tag in the SUSPEND_A state may be disabled and not allowed to be deployed.

Согласно некоторым вариантам осуществления пользователь может вручную переместить тег из состояния ПРИОСТАНОВКА_А в НОРМАЛЬНОЕ путем «сброса» тега. Согласно по меньшей мере одному варианту осуществления блок 714 может использовать варианты осуществления блока 706 для «сброса» тега. Если тег в состоянии ПРИОСТАНОВКА_А вручную «сбросить» в состояние НОРМАЛЬНОЕ, то способ 700 может сделать петлю (не показано) к блоку 702.In some embodiments, the user can manually move the tag from the SUSPEND_A state to NORMAL by "clearing" the tag. In at least one embodiment, block 714 may use embodiments of block 706 to "reset" the tag. If the tag is in the SUSPEND_A state and is manually "reset" to NORMAL, then method 700 may loop (not shown) to block 702.

Выполнение способа 700 продолжается согласно логическому блоку 716, где может быть определено, истек ли период времени для тега, чтобы оставаться в состоянии ПРИОСТАНОВКА_А. Согласно по меньшей мере одному варианту осуществления период времени может быть определен и/или изменен пользователем. Согласно некоторым вариантам осуществления период времени может быть равный 20 минутам. Тем не менее, варианты осуществления не так ограничены, и могут быть использованы другие периоды времени. Если период времени истек, то тег может быть переведен в состояние ПРИОСТАНОВКА_В и обработка может перетекать к блоку 718; в противном случае, обработка может делать петлю к блоку 714, где тег может оставаться в состоянии ПРИОСТАНОВКА_А.Method 700 continues at logic block 716, where it may be determined if a period of time has elapsed for the tag to remain in the SUSPEND_A state. In at least one embodiment, the time period can be determined and / or changed by the user. In some embodiments, the time period may be 20 minutes. However, the options for implementation are not so limited, and can be used for other periods of time. If the time period has elapsed, then the tag may be placed in a SUSPENDED_B state and processing may flow to block 718; otherwise, processing may loop to block 714, where the tag may remain in the SUSPEND_A state.

Согласно блоку 718 тег может быть использован в состоянии ПРИОСТАНОВКА_В. Согласно по меньшей мере одному варианту осуществления тег в состоянии ПРИОСТАНОВКА_В может быть блокирован и ему не может быть разрешено развертывание. Согласно по меньшей мере одному варианту осуществления мониторинг задержки тега в состоянии ПРИОСТАНОВКА_В может осуществляться каждую минуту. Тем не менее, могут быть использованы другие частоты для мониторинга тега в состоянии ПРИОСТАНОВКА_В.At block 718, the tag may be used in the SUSPEND_W state. In at least one embodiment, a tag in the SUSPEND_B state may be disabled and not allowed to be deployed. In at least one embodiment, the tag delay in the SUSPEND_B state may be monitored every minute. However, other frequencies can be used to monitor the tag in the SUSPEND_W state.

Согласно некоторым вариантам осуществления пользователь может вручную перевести тег из состояния ПРИОСТАНОВКА_В в НОРМАЛЬНОЕ путем «сброса» тега. Согласно по меньшей мере одному варианту осуществления блок 718 может использовать варианты осуществления блока 706, чтобы «сбросить» тег. Если тег в состоянии ПРИОСТАНОВКА_В вручную «сбросить» в состояние НОРМАЛЬНОЕ, то способ 700 может делать петлю (не показано) к блоку 702.In some embodiments, a user can manually transition a tag from SUSPEND_B to NORMAL by "resetting" the tag. In at least one embodiment, block 718 may use embodiments of block 706 to "clear" a tag. If the tag is in the SUSPEND_B state and is manually "reset" to NORMAL, then method 700 may loop (not shown) to block 702.

Дальше способ 700 переходит к логическому блоку 720, где для тега может быть определено, произошло ли событие задержки. Согласно по меньшей мере одному варианту осуществления логический блок 720 может использовать варианты осуществления логического блока 704, чтобы определить, произошло ли событие задержки. Если событие задержки произошло, то обработка может перетекать к логическому блоку 722; в противном случае, обработка может перетекать к логическому блоку 724.Method 700 then proceeds to logic block 720 where it may be determined for a tag whether a delay event has occurred. In at least one embodiment, logic block 720 may use embodiments of logic block 704 to determine if a delay event has occurred. If a delay event has occurred, then processing may flow to logic block 722; otherwise, processing may flow to logic block 724.

Согласно логическому блоку 722 может быть определено, превышается ли пороговое значение события задержки. Согласно по меньшей мере одному варианту осуществления логический блок 722 может использовать варианты осуществления логического блока 518 на Фиг. 5, чтобы определить превышение порогового значения события задержки для тега в состоянии ПРИОСТАНОВКА_В. Если пороговое значение события задержки превышено, то тег может быть перемещен в состояние ПРИОСТАНОВКА_А и обработка может перетекать к блоку 714; в противном случае, обработка может делать петлю к блоку 718, в котором тег может оставаться в состоянии ПРИОСТАНОВКА_В. Согласно некоторым вариантам осуществления способ 700 может использовать варианты осуществления блока 524 на Фиг. 5, чтобы переместить тег в состояние ПРИОСТАНОВКА_А.According to logic block 722, it may be determined if a delay event threshold is exceeded. In at least one embodiment, logic block 722 may use embodiments of logic block 518 in FIG. 5 to determine if the delay event threshold has been exceeded for a tag in the SUSPEND_W state. If the threshold value of the delay event is exceeded, then the tag may be moved to the SUSPEND_A state and processing may flow to block 714; otherwise, processing may loop to block 718 in which the tag may remain in the SUSPEND_B state. In some embodiments, method 700 may employ embodiments of block 524 in FIG. 5 to move the tag to the PAUSE_A state.

Если согласно логическому блоку 720 событие задержки не произошло, то обработка может перетекать от логического блока 720 к логическому блоку 724. Согласно логическому блоку 724 может быть определено, превышается ли пороговое значение события отсутствия задержки. Согласно по меньшей мере одному варианту осуществления логический блок 724 может использовать варианты осуществления логического блока 618 на Фиг. 6, чтобы определить превышение порогового значения события отсутствия задержки тега в состоянии ПРИОСТАНОВКА_В. Если пороговое значение события задержки превышено, то тег может быть перемещен в состояние ПОМЕЧЕННОЕ и обработка может делать петлю к блоку 706; в противном случае, обработка может делать петлю к блоку 718, где тег может оставаться в состоянии ПРИОСТАНОВКА_В. Согласно некоторым вариантам осуществления способ 700 может использовать варианты осуществления блока 506 на Фиг. 5, чтобы переместить тег в состояние ПОМЕЧЕННОЕ.If, according to logic block 720, no delay event has occurred, then processing may flow from logic block 720 to logic block 724. According to logic block 724, it can be determined whether a threshold value for a no delay event has been exceeded. In at least one embodiment, logic block 724 may use embodiments of logic block 618 in FIG. 6 to determine that the no tag delay event has been exceeded in the SUSPEND_B state. If the delay event threshold is exceeded, then the tag may be moved to the MARKED state and processing may loop to block 706; otherwise, processing may loop to block 718 where the tag may remain in the SUSPEND_B state. In some embodiments, method 700 may employ embodiments of block 506 in FIG. 5 to move the tag to the MARKED state.

Следует понимать, что каждый блок блок-схемы, и комбинации блоков в блок-схеме могут быть реализованы командами компьютерной программы. Эти программные инструкции могут быть предоставлены в процессор для выполнения машиной, таким образом, что инструкции, которые выполняются в процессоре, создают средства для осуществления действий, указанных на блок-схеме или блоках. Команды компьютерной программы могут быть выполнены процессором для вызова серии оперативных этапов, выполняемых процессором для получения процесса, реализуемого с помощью компьютера, такого, что инструкции, которые выполняются в процессоре, обеспечивают этапы для реализации указанных действий в блок-схеме или блоках. Команды компьютерной программы могут также вызывать по меньшей мере некоторые из оперативных этапов, показанных на блоках блок-схемы, которые должны выполняться параллельно. Кроме того, некоторые из этапов могут также быть выполнены на более чем одном процессоре, такие которые могут возникнуть в системе мультипроцессорного компьютера. В дополнение, один или несколько блоков или комбинаций блоков в блок-схеме могут также быть выполнены одновременно с другими блоками или комбинациями блоков или даже в другой последовательности, чем показано, без отхождения от объема или сущности настоящего изобретения.It should be understood that each block of the block diagram, and combinations of blocks in the block diagram, may be implemented by instructions of a computer program. These program instructions can be provided to the processor for execution by the machine, such that the instructions that execute on the processor provide the means to perform the actions indicated in the flowchart or blocks. Computer program instructions may be executed by the processor to invoke a series of operational steps performed by the processor to produce a computer-assisted process such that instructions that execute on the processor provide steps for performing the specified actions in a flowchart or blocks. Computer program instructions can also call at least some of the operational steps shown in the flowchart blocks to be executed in parallel. In addition, some of the steps may also be performed on more than one processor, such as may occur in a multiprocessor computer system. In addition, one or more blocks or block combinations in the block diagram may also be executed concurrently with other blocks or block combinations, or even in a different sequence than shown, without departing from the scope or spirit of the present invention.

Соответственно, блоки блок-схемы поддерживают комбинации средств для выполнения указанных действий, комбинаций этапов для выполнения указанных действий и средства команд программы для выполнения указанных действий. Кроме того, следует понимать, что каждый блок блок-схемы и комбинации блоков блок-схемы могут быть реализованы с помощью аппаратных систем специального назначения, которые выполняют определенные действия или этапы, или комбинации аппаратных средств специального назначения и компьютерные инструкции. Вышеизложенный пример не следует рассматривать как ограничивающий и/или исчерпывающий, а скорее как показательный вариант использования по меньшей мере одного из различных вариантов осуществления изобретения.Accordingly, the blocks of the flowchart support combinations of means for performing specified actions, combinations of steps for performing specified actions, and means of program commands for performing specified actions. In addition, it should be understood that each block of the block diagram and combinations of blocks of the block diagram may be implemented with special purpose hardware systems that perform specific actions or steps, or a combination of special purpose hardware and computer instructions. The above example is not to be construed as limiting and / or exhaustive, but rather as an indicative use of at least one of the various embodiments of the invention.

На Фиг. 8 показан один вариант осуществления сценария использования, графически иллюстрирующий представление множества состояний тегов и событий, которые могут вызвать изменение состояния. Как показано, теги могут находиться в одном из состояний системы 800: состояние НОРМАЛЬНОЕ 802, состояние ПОМЕЧЕННОЕ 804, состояние ПРИОСТАНОВКА_А 806 или состояние ПРИОСТАНОВКА_В 808. Согласно некоторым вариантам осуществления тег в состоянии НОРМАЛЬНОЕ 802, состоянии ПОМЕЧЕННОЕ 806, состоянии ПРИОСТАНОВКА_А 806 и/или состоянии ПРИОСТАНОВКА_В 808 может быть использован аналогично блоку 702, блоку 706, блоку 714 и/или блоку 718, показанных на Фиг. 7, соответственно.FIG. 8 illustrates one embodiment of a use case graphically illustrating a representation of a plurality of tag states and events that can cause a state change. As shown, tags can be in one of the system 800 states: NORMAL 802 state, STAGED 804 state, SUSPEND_A 806 state, or SUSPEND_B state 808. In some embodiments, a tag is in NORMAL 802 state, STAGED 806 state, STAFF_A 806 state, and / or state SUSPEND 808 may be used similar to block 702, block 706, block 714, and / or block 718 shown in FIG. 7, respectively.

Тегу в состоянии НОРМАЛЬНОЕ 802 может быть разрешено запускание. Согласно по меньшей мере одному варианту осуществления разрешение тега на запускание может включать в себя определение доступности тега для развертывания и разрешение тега на развертывание. Согласно некоторым вариантам осуществления тег в состоянии НОРМАЛЬНОЕ 802 может быть переведен в состояние ПОМЕЧЕННОЕ 804, если для тега контролируется одно событие задержки. Тем не менее, варианты осуществления не так ограничены; но скорее могут быть использованы показатели для определения перемещения тега из состояния НОРМАЛЬНОЕ 802, которые описаны более подробно ниже.A tag in the NORMAL 802 state may be allowed to run. In at least one embodiment, allowing the tag to fire may include determining whether the tag is available for deployment and allowing the tag to be deployed. In some embodiments, a tag in the NORMAL 802 state may be placed in a MARKED 804 state if one delay event is monitored for the tag. However, the options for implementation are not so limited; rather, metrics can be used to determine the movement of a tag from NORMAL 802, which is described in more detail below.

Тегу в состоянии ПОМЕЧЕННОЕ 804 может быть разрешено запускание. Согласно некоторым вариантам осуществления тег в ПОМЕЧЕННОМ состоянии 804 может быть перемещен в состояние ПРИОСТАНОВКА_А 806, если для тега наблюдаются три последовательных события задержки. Согласно другим вариантам осуществления тег в состоянии ПОМЕЧЕННОЕ 804 может быть перемещен в состояние НОРМАЛЬНОЕ 802, если наблюдаются для тега три последовательных события отсутствия задержки. Тем не менее, варианты осуществления не так ограничены; но скорее могут быть использованы показатели для определения перевода тега из состояния ПОМЕЧЕННОГО 804, которые описаны более подробно ниже.A tag in the STAGED 804 state may be allowed to run. In some embodiments, a tag in the LABELED state 804 may be moved to the SUSPEND_A 806 state if three consecutive delay events are observed for the tag. In other embodiments, a tag in the STAGED 804 state may be moved to the NORMAL 802 state if three consecutive no-delay events are observed for the tag. However, the options for implementation are not so limited; rather, metrics can be used to determine the transition of a tag from the LABELED 804 state, which are described in more detail below.

Тег в состоянии ПРИОСТАНОВКА_А 806 может быть блокирован от запускания. По меньшей мере в одном варианте осуществления блокирование тега от запускания включает в себя определение недоступности тега для развертывания и не позволяет тегу быть развернутым. Согласно некоторым вариантам осуществления тег в состоянии ПРИОСТАНОВКА_А 806 может быть перемещен в состояние ПРИОСТАНОВКА_В после пребывания в состоянии ПРИОСТАНОВКА_А в течение 20 минут. Тем не менее, варианты осуществления не так ограничены; но скорее могут быть использованы показатели для определения перемещения тега из состояния ПРИОСТАНОВКА_А 806, которые описаны более подробно ниже.A tag in the SUSPEND_A state 806 may be blocked from starting. In at least one embodiment, blocking a tag from firing includes determining that the tag is not available for deployment and prevents the tag from being deployed. In some embodiments, a tag in the SUSPEND_A state 806 may be moved to the SUSPEND_B state after being in the SUSPEND_A state for 20 minutes. However, the options for implementation are not so limited; rather, metrics can be used to determine the movement of a tag out of the STOP_A 806 state, which is described in more detail below.

Тег состоянии ПРИОСТАНОВКА_В 808 может быть блокирован от запуска. Согласно некоторым вариантам осуществления тег в состоянии ПРИОСТАНОВКА_В 808 может быть перемещен в состояние ПРИОСТАНОВКА_А 806, если для тега наблюдаются три последовательных события задержки. Согласно другим вариантам осуществления тег в состоянии ПРИОСТАНОВКА_В 808 может быть перемещен в состояние ПОМЕЧЕННОЕ 804, если наблюдаются для тега три последовательных события отсутствия задержки. Тем не менее, варианты осуществления не так ограничены; но скорее могут быть использованы другие показатели для определения перемещения тега из состояния ПРИОСТАНОВКА_В 808.The status tag SUSPENDED_B 808 may be blocked from starting. In some embodiments, a tag in the SUSPEND_B 808 state may be moved to the SUSPEND_A 806 state if three consecutive delay events are observed for the tag. In other embodiments, a tag in the SUSPEND_B state 808 may be moved to the STAGED 804 state if three consecutive no-delay events are observed for the tag. However, the options for implementation are not so limited; but rather, other metrics can be used to determine the movement of a tag from the SUSPENDED state to 808.

Следует отметить, что на фигуре 8 показан один вариант осуществления множества состояний и перемещение тега из одного состояния в другое. Тем не менее, варианты осуществления не так ограничены. Например, согласно некоторым вариантам осуществления может быть использовано другое число состояний. Согласно другим вариантам осуществления тег может перемещаться из одного состояния в другое состояние, которое не может быть показано на Фиг. 8, такое как, например, тег может меняться из состояния НОРМАЛЬНОЕ 802 в состояние ПРИОСТАНОВКА_А 806. Согласно еще другим вариантам осуществления каждое состояние может использовать различные параметры для определения того, перемещается ли тег из данного состояния и в какое состояние тег перемещается. Согласно некоторым вариантам осуществления эти показатели могут быть заранее определены, настроены, и/или модифицированы для каждого пользователя. Различные варианты осуществления показателей, которые могут быть использованы, могут включать в себя без ограничений число последовательных событий задержки, число событий задержки в течение заданного периода времени, серьезность события задержки (например, значение задержки тега выше порогового значения серьезности), число последовательных событий задержки выше порогового значения серьезности, число событий задержки выше порогового значения серьезности в течение заданного периода времени, число последовательных событий отсутствия задержки, количество событий отсутствия задержки в заданный период времени, умеренность одного или нескольких событий задержки (например, значение задержки тега ниже порогового значения умеренности), число последовательных событий отсутствия задержки ниже порогового значения умеренности, число событий отсутствия задержки ниже порогового значения умеренности в течение заданного периода времени, длительность времени пребывания тега в настоящем состоянии или т.п., или любое их сочетание.It should be noted that Figure 8 shows one embodiment of a plurality of states and movement of a tag from one state to another. However, the options for implementation are not so limited. For example, in some embodiments, a different number of states may be used. In other embodiments, the tag may move from one state to another state that cannot be shown in FIG. 8, such as, for example, the tag may change from the NORMAL 802 state to the SUSPEND_A 806 state. In yet other embodiments, each state may use different parameters to determine whether the tag moves from a given state and to which state the tag moves. In some embodiments, these metrics can be predefined, customized, and / or modified for each user. Various embodiments of metrics that may be used may include, without limitation, the number of consecutive delay events, the number of delay events within a given time period, the severity of the delay event (e.g., the tag delay value is above a severity threshold), the number of consecutive delay events above severity threshold, the number of delay events above the severity threshold within a given time period, the number of consecutive no-delay events, the number of no-delay events in a given time period, the moderation of one or more delay events (for example, the tag latency value is below the moderation threshold), the number of consecutive no-lag events below the temperance threshold, the number of no-latency events below the temperance threshold for a given period of time, the length of time the tag has been in its present state, or the like ., or any combination of them.

Альтернативный вариант осуществления изобретенияAlternative embodiment of the invention

На Фиг. 9А-9Б изображена логическая блок-схема, как правило, показывающая альтернативный вариант осуществления процесса использования тега в одном из множества состояний и изменение состояния тега, основываясь на задержке тега. Согласно некоторым вариантам осуществления способ 900 на Фиг. 9А-9Б может быть осуществлен и/или выполнен на одном сетевом устройстве, таком как, сетевое устройство 300 на Фиг. 3. Согласно другим вариантам осуществления способ 900 или части способа 900 показанного на Фиг. 9А-9Б, могут быть реализованы и/или выполнены на множестве сетевых устройств, таких как сетевое устройство 300 на Фиг. 3.FIG. 9A-9B are logic flow diagrams generally showing an alternate embodiment of a process for using a tag in one of a plurality of states and changing the state of the tag based on tag delay. In some embodiments, the method 900 of FIG. 9A-9B may be implemented and / or executed on a single network device, such as the network device 300 of FIG. 3. In other embodiments, method 900, or a portion of method 900 shown in FIG. 9A-9B may be implemented and / or executed on a variety of network devices, such as the network device 300 of FIG. 3.

Выполнение способа 900 начинается после стартового блока согласно блоку 902, где тег может быть использован в состоянии НОРМАЛЬНОЕ. Согласно по меньшей мере одному варианту осуществления блок 902 может использовать варианты осуществления блока 702, показанного на Фиг. 7, для использования тега в состоянии НОРМАЛЬНОЕ. Согласно некоторым вариантам осуществления тег в состоянии НОРМАЛЬНОЕ может характеризоваться частотой мониторинга в 15 минут.Method 900 begins after the start block at block 902, where the tag may be used in a NORMAL state. In at least one embodiment, block 902 may use embodiments of block 702 shown in FIG. 7 to use the tag in a NORMAL state. In some embodiments, a tag in the NORMAL state may have a monitoring rate of 15 minutes.

Способ 900 переходит к логическому блоку 904, где может быть выполнено определение того, превысил ли контролируемый тег задержки тега пороговое значение ожидания. Согласно по меньшей мере одному варианту осуществления пороговое значение ожидания может представлять собой определенную задержку (т.е. заранее определенное количество времени). Согласно по меньшей мере одному варианту осуществления пороговое значение ожидания может быть определено и/или модифицировано пользователем. Если задержка тега превышает пороговое значение ожидания, то тег может быть перемещен в состояние ПРЕДПРИОСТАНОВЛЕННОЕ, и обработка может перетекать к блоку 912; в противном случае, обработка может перетекать к логическому блоку 906.Method 900 proceeds to logic block 904 where a determination can be made as to whether a monitored tag delay tag has exceeded a wait threshold. In at least one embodiment, the latency threshold may be a specified delay (i.e., a predetermined amount of time). In at least one embodiment, the sleep threshold may be determined and / or modified by a user. If the tag latency exceeds the wait threshold, then the tag may be moved to a PRE-POSTED state and processing may flow to block 912; otherwise, processing may flow to logic block 906.

Согласно логическому блоку 906 может быть определено превышает ли задержка тега пороговое значение предупреждения. Согласно по меньшей мере одному варианту осуществления пороговое значение предупреждения может представлять собой заранее определенное время задержки тега. Согласно по меньшей мере одному варианту осуществления пороговое значение предупреждения может быть определено и/или изменено пользователем. Согласно некоторым вариантам осуществления пороговое значение предупреждения может быть больше, чем желаемая пользователем задержка тега, но меньше, чем пороговое значение ожидания. Если задержка тега превышает пороговое значение предупреждения (но не превышает пороговое значение ожидания), то тег может быть перемещен в состоянии ПОМЕЧЕННОЕ, и обработка может перетекать к блоку 908; в противном случае, обработка может делать петлю к блоку 902, где тег может оставаться в состоянии НОРМАЛЬНОЕ.According to logic block 906, it may be determined if the tag delay exceeds a warning threshold. In at least one embodiment, the alert threshold may be a predetermined tag delay time. In at least one embodiment, the warning threshold can be determined and / or changed by a user. In some embodiments, the alert threshold may be greater than the user's desired tag delay, but less than the latency threshold. If the tag latency exceeds the warning threshold (but does not exceed the wait threshold), then the tag may be moved in the MARKED state and processing may flow to block 908; otherwise, processing may loop to block 902 where the tag may remain in a NORMAL state.

Согласно блоку 908 тег может быть использован в состоянии ПОМЕЧЕННОЕ. Согласно по меньшей мере одному варианту осуществления блок 908 может использовать варианты осуществления блока 706, показанного на Фиг. 7, для использования тега в состоянии ПОМЕЧЕННОЕ. Согласно некоторым вариантам тег в состоянии ПОМЕЧЕННОЕ может характеризоваться частотой мониторинга в пять минут. Согласно по меньшей мере одному варианту осуществления тег в состоянии ПОМЕЧЕННОЕ может оставаться в состоянии ПОМЕЧЕННОЕ до тех пор, пока задержка тега не превышает пороговое значение ожидания (также как согласно логическому блоку 910) или не превышает пороговое значение предупреждения (также как согласно логическому блоку 914). Согласно некоторым вариантам осуществления пользователю могут быть отправлены e-mail, текстовое сообщение или другое уведомление, указывающее на то, что тег находится в состоянии ПОМЕЧЕННОЕ.At block 908, the tag may be used in the MARKED state. In at least one embodiment, block 908 may use embodiments of block 706 shown in FIG. 7 to use the tag in the MARKED state. In some embodiments, a tag in the MARKED state may have a monitoring rate of five minutes. In at least one embodiment, a tag in the TAGGED state may remain in the TAGGED state as long as the tag delay does not exceed the wait threshold (same as logic block 910) or does not exceed the alert threshold (as well as logic block 914) ... In some embodiments, an e-mail, text message, or other notification may be sent to the user indicating that the tag is in the STAGED state.

Выполнение способа 900 продолжается согласно логическому блоку 910, где может быть определено, превышает ли задержка тега пороговое значение ожидания тега. Согласно по меньшей мере одному варианту осуществления логический блок 910 может использовать варианты осуществления логического блока 904, чтобы определить превышение порогового значения ожидания. Если задержка тега превышает пороговое значение ожидания, то тег может быть перемещен в состояние ПРЕДПРИОСТАНОВЛЕННОЕ, и обработка может перетекать к блоку 912; в противном случае, обработка может перетекать к логическому блоку 914.Method 900 continues at logic 910, where it may be determined if the tag delay is greater than a tag wait threshold. In at least one embodiment, logic block 910 may use embodiments of logic block 904 to determine if a sleep threshold has been exceeded. If the tag latency exceeds the wait threshold, then the tag may be moved to a PRE-POSTED state and processing may flow to block 912; otherwise, processing may flow to logic block 914.

Согласно логическому блоку 914 может быть определено, превышает ли задержка тега пороговое значение предупреждения. Согласно по меньшей мере одному варианту осуществления логический блок 910 может использовать варианты осуществления логического блока 904, чтобы определить превышение порогового значения предупреждения. Если задержка тега превышает пороговое значение предупреждения (но не превышает пороговое значение ожидания), то тег может оставаться в состоянии ПОМЕЧЕННОЕ и обработка может делать петлю к блоку 908; в противном случае, тег может быть перемещен в состояние НОРМАЛЬНОЕ и обработка может делать петлю к блоку 902.According to logic block 914, it may be determined if the tag delay exceeds a warning threshold. In at least one embodiment, logic block 910 may use embodiments of logic block 904 to determine if a warning threshold has been exceeded. If the tag delay exceeds the warning threshold (but does not exceed the wait threshold), then the tag may remain in the MARKED state and processing may loop to block 908; otherwise, the tag may be moved to NORMAL and processing may loop to block 902.

Если согласно логическому блоку 910 задержка тега превышает пороговое значение ожидания, то обработка может перетекать от логического блока 910 к блоку 912. Согласно блоку 912 тег может быть использован в состоянии ПРЕДПРИОСТАНОВЛЕННОЕ. Согласно по меньшей мере одному варианту осуществления тег может не быть блокирован и ему может быть разрешено развертывание. Согласно некоторым вариантам осуществления тег в состоянии ПРЕДПРИОСТАНОВЛЕННОЕ может характеризоваться частотой мониторинга в одну минуту. Согласно по меньшей мере одному варианту теги в состоянии ПРЕДПРИОСТАНОВЛЕННОЕ могут оставаться в состоянии ПРЕДПРИОСТАНОВЛЕННОЕ в течение пяти минут.If, according to logic block 910, the tag latency exceeds the wait threshold, then processing may flow from logic block 910 to block 912. According to block 912, the tag may be used in the PRE-POSTED state. In at least one embodiment, the tag may not be blocked and may be allowed to be deployed. In some embodiments, a tag in the PUSHED state may have a monitoring rate of one minute. In at least one embodiment, tags in the PRE-PUSHED state may remain in the PRE-PUSHED state for five minutes.

Выполнение способа 900 переходит к логическому блоку 916, где может быть определено, превышает ли задержка тега пороговое значение ожидания. Согласно по меньшей мере одному варианту осуществления логический блок 916 может использовать варианты осуществления логического блока 904, чтобы определить превышение порогового значения ожидания. Если задержка тега превышает пороговое значение ожидания, то обработка может перетекать к логическому блоку 918; в противном случае, тег может быть перемещен в состояние ПОМЕЧЕННОЕ, и обработка может делать петлю к блоку 908.Method 900 proceeds to logic block 916 where it may be determined if the tag delay is greater than a wait threshold. In at least one embodiment, logic block 916 may use embodiments of logic block 904 to determine if a sleep threshold has been exceeded. If the tag delay exceeds the wait threshold, then processing may flow to logic block 918; otherwise, the tag may be moved to the MARKED state and processing may loop to block 908.

Согласно логическому блоку 918 может быть определено, превышено ли последовательное число пороговых значений ожидания. Согласно по меньшей мере одному варианту осуществления пороговое значение последовательного приостановления может представлять собой два последовательных подвергнутых мониторингу тегов задержки, которые превышают пороговое значение ожидания. Если пороговое значение последовательного ожидания превышено, то тег может быть перемещен в состоянии ПРИОСТАНОВЛЕННОЕ, и обработка может перетекать к блоку 920 на Фиг. 9Б; в противном случае, обработка может делать петлю к блоку 912, где тег может оставаться в состоянии ПРИОСТАНОВЛЕННОЕ.According to logic block 918, it may be determined if a sequential number of sleep thresholds have been exceeded. In at least one embodiment, the sequential suspend threshold may be two consecutive monitored delay tags that exceed the latency threshold. If the sequential wait threshold is exceeded, then the tag may be moved in a SUSPENDED state and processing may flow to block 920 in FIG. 9B; otherwise, processing may loop to block 912, where the tag may remain in a SUSPENDED state.

Выполнение способа 900 продолжается согласно блоку 920 на Фиг. 9Б, где тег может быть использован в состоянии ПРИОСТАНОВЛЕННОЕ. Согласно по меньшей мере одному варианту осуществления тег может быть блокирован и ему может не быть разрешено развертывание. Согласно некоторым вариантам осуществления тег в состоянии ПРИОСТАНОВЛЕННОЕ не может подвергаться мониторингу. Согласно по меньшей мере одному варианту осуществления тег в состоянии ПРИОСТАНОВЛЕННОЕ может оставаться в состоянии ПРИОСТАНОВЛЕННОЕ в течение 30 минут. Согласно некоторым вариантам осуществления к пользователям могут быть посланы e-mail, текстовое сообщение или другое уведомление, указывающее, что тэг находится в состоянии ПОМЕЧЕННОЕ.Method 900 continues at block 920 of FIG. 9B, where the tag can be used in the SUSPENDED state. In at least one embodiment, the tag may be blocked and not allowed to be deployed. In some embodiments, a tag in a SUSPENDED state cannot be monitored. In at least one embodiment, a tag in the SUSPENDED state may remain in the SUSPENDED state for 30 minutes. In some embodiments, an e-mail, text message, or other notification may be sent to users indicating that the tag is in the STAGED state.

Выполнение способа 900 переходит к логическому блоку 922, где может быть определено, превышен ли предел состояния ПРИОСТАНОВЛЕННОЕ. Согласно по меньшей мере одному варианту предел состояния ПРИОСТАНОВЛЕННОЕ может составлять 30 минут. Если предел состояния ПРИОСТАНОВЛЕННОЕ превышен, то тег может быть перемещен в состояние ПОСТПРИОСТАНОВЛЕННОЕ и обработка может перетекать к блоку 924; в противном случае, обработка может делать петлю к блоку 920, в котором тег может оставаться в состоянии ПРИОСТАНОВЛЕННОЕ.Method 900 proceeds to logic block 922 where a determination may be made as to whether a SUSPENDED state limit has been exceeded. In at least one embodiment, the SUSPENDED state limit may be 30 minutes. If the PUSHED state limit is exceeded, then the tag may be moved to the POST-PUSHED state and processing may flow to block 924; otherwise, processing may loop to block 920, in which the tag may remain in a SUSPENDED state.

Согласно блоку 924 тег может быть использован в состоянии ПОСТПРИОСТАНОВЛЕННОЕ. Согласно по меньшей мере одному варианту осуществления тег может быть блокирован и ему может не быть разрешено развертывание. Согласно некоторым вариантам осуществления тег в состоянии ПОСТПРИОСТАНОВЛЕННОЕ может характеризоваться частотой мониторинга, составляющей пять минут. Согласно по меньшей мере одному варианту осуществления теги в состоянии ПОСТПРИОСТАНОВЛЕННОЕ могут оставаться в состоянии ПОСТПРИОСТАНОВЛЕННОЕ в течение пяти минут.At block 924, the tag may be used in the POST-POSTED state. In at least one embodiment, the tag may be blocked and not allowed to be deployed. In some embodiments, a tag in the POST-STOP state may have a monitoring rate of five minutes. In at least one embodiment, tags in the POST-POST state may remain in the POST-POST state for five minutes.

Выполнение способа 900 продолжается согласно логическому блоку 926, где может быть определено, превышает ли задержка тега пороговое значение ожидания. Согласно по меньшей мере одному варианту осуществления логический блок 926 может использовать варианты осуществления логического блока 904, чтобы определить превышение порогового значения ожидания. Если пороговое значения задержки тега превышено, то обработка может перетекать к логическому блоку 928; в противном случае, обработка может перетекать к логическому блоку 930.Method 900 continues at logic block 926, where it may be determined if the tag delay exceeds a wait threshold. In at least one embodiment, logic block 926 may use embodiments of logic block 904 to determine if a sleep threshold has been exceeded. If the tag delay threshold is exceeded, then processing may flow to logic block 928; otherwise, processing may flow to logic block 930.

Согласно логическому блоку 928 может быть определено, превышено ли последовательное число пороговых значений ожидания. Согласно по меньшей мере одному варианту осуществления логический блок 928 может использовать варианты осуществления логического блока 918 на Фиг. 9А, чтобы определить превышение порогового значения последовательных ожиданий. Согласно по меньшей мере одному варианту осуществления пороговое значение ожидания может представлять собой две последовательные, подвергнутые мониторингу задержки тега, которые превышают пороговое значение ожидания. Если пороговое значение последовательных ожиданий превышено, то тег может быть перемещен в состояние ПРИОСТАНОВЛЕННОЕ, и обработка может делать петлю к блоку 920; в противном случае, обработка может делать петлю к блоку 924, где тег может остаться в состоянии ПОСТПРИОСТАНОВЛЕННОЕ.According to logic block 928, it may be determined if a sequential number of sleep thresholds have been exceeded. In at least one embodiment, logic block 928 may use embodiments of logic block 918 in FIG. 9A to determine if the consecutive waits threshold has been exceeded. In at least one embodiment, the sleep threshold may be two consecutive monitored tag delays that exceed the sleep threshold. If the consecutive waits threshold is exceeded, then the tag may be moved to a PUSHED state and processing may loop to block 920; otherwise, processing may loop to block 924 where the tag may remain in the POST-POSTED state.

Если согласно логическому блоку 926 задержка тега не превышает пороговое значение ожидания, то обработка может перетекать от логического блока 926 к логическому блоку 930. Согласно логическому блоку 930, может быть определено, превышает ли задержка тега пороговое значение предупреждения. Согласно по меньшей мере одному варианту осуществления логический блок 930 может использовать варианты осуществления логического блока 904, чтобы определить превышение порогового значения предупреждения. Если задержка тега превышает пороговое значение предупреждения (но не превышает пороговое значение ожидания), то обработка может перетекать к логическому блоку 932; в противном случае, тег может быть перемещен в нормальное состояние, и обработка может делать петлю к блоку 902 на Фиг. 9А.If, according to logic block 926, the tag delay does not exceed the wait threshold, then processing may flow from logic block 926 to logic block 930. According to logic block 930, it can be determined if the tag delay exceeds the warning threshold. In at least one embodiment, logic block 930 may use embodiments of logic block 904 to determine if a warning threshold has been exceeded. If the tag delay exceeds the warning threshold (but does not exceed the wait threshold), then processing may flow to logic block 932; otherwise, the tag may be moved to a normal state and processing may loop to block 902 in FIG. 9A.

Согласно логическому блоку 932 может быть определено, превышается ли число последовательных пороговых значений предупреждения. Согласно по меньшей мере одному варианту осуществления пороговое значение последовательных предупреждений может представлять собой две последовательных, подвергнутых мониторингу задержи тега, которые превышают пороговое значение предупреждения. Если пороговое значение последовательных предупреждений превышено, то тег может быть перемещен в состояние ПОМЕЧЕННОЕ, и обработка может делать петлю к блоку 922 на Фиг. 9А; в противном случае, обработка может делать петлю к блоку 924, в котором тег может оставаться в состоянии ПОСТПРИОСТАНОВЛЕННОЕ.According to logic block 932, it can be determined if the number of consecutive warning thresholds has been exceeded. In at least one embodiment, the sequential alert threshold may be two sequential monitored tag delays that exceed the alert threshold. If the consecutive alert threshold is exceeded, then the tag may be moved to the MARKED state and processing may loop to block 922 in FIG. 9A; otherwise, processing may loop to block 924 in which the tag may remain in the POST-POSTED state.

На Фиг. 10 показан альтернативный вариант графического представления использования тега в одном из множества состояний и события, которые могут запустить изменение состояния. Как показано, теги могут находиться в одном из пяти состояний системы 1000: состояние НОРМАЛЬНОЕ 1002, состояние ПОМЕЧЕННОЕ 1004, состояние ПРЕДПРИОСТАНОВЛЕННОЕ 1006, состояние ПРИОСТАНОВЛЕННОЕ 1008 или состояние ПОСТПРИОСТАНОВЛЕННОЕ 1010. Согласно некоторым вариантам осуществления тег в состоянии НОРМАЛЬНОЕ 1002, состоянии ОТМЕЧЕННОЕ 1004, состоянии ПРЕДПРИОСТАНОВЛЕННОЕ 1006, состоянии ПРИОСТАНОВЛЕННОЕ 1008 и/или состоянии ПОСТПРИОСТАНОВЛЕННОЕ 1010 может быть использован аналогично варианту осуществления блока 902, блока 908, блока 912, блока 920 и/или блока 924 на Фиг. 9, соответственно.FIG. 10 shows an alternative graphical representation of the use of a tag in one of a variety of states and events that can trigger a state change. As shown, tags can be in one of five states of system 1000: state NORMAL 1002, state LABELED 1004, state PUSHED 1006, state PUSHED 1008, or POSTPONED state 1010. In some embodiments, the tag is in NORMAL state 1002, DECLARED state 1004, POST-STOPPED state 1006, PUSHED state 1008, and / or POST-PUSHED state 1010 may be used in a similar manner to the embodiment of block 902, block 908, block 912, block 920, and / or block 924 of FIG. 9, respectively.

Этап 1: теги в состоянии НОРМАЛЬНОЕ 1002, которые превышают указанное пороговое значение предупреждения, могут быть перемещены в состояние ПОМЕЧЕННОЕ 1004. Теги в состоянии ПОМЕЧЕННОЕ 1004 могут вернуться в состояние НОРМАЛЬНОЕ 1002, если снизится число задержек (т.е. подвергнутая мониторингу задержка тега меньше, чем пороговое значение предупреждения).Phase 1: Tags in state NORMAL 1002 that exceed the specified alert threshold can be moved to state TAGGED 1004. Tags in state MARKED 1004 can return to state NORMAL 1002 if the number of delays decreases (i.e., the monitored tag latency is less than the warning threshold).

Этап 2: теги в состоянии НОРМАЛЬНОЕ 1002, которые превышают указанное пороговое значение, могут быть перемещены в состояние ПРЕДПРИОСТАНОВЛЕННОЕ 1006. По меньшей мере в одном варианте осуществления пороговое значение ожидания может быть больше, чем пороговое значение предупреждения. В одном не ограничивающем, не исчерпывающие примере пороговое значение предупреждения может составлять 500 миллисекунд, а пороговое значение ожидания может составлять 800 миллисекунд.Step 2: Tags in the NORMAL state 1002 that exceed the specified threshold may be moved to the PRE-POST 1006 state. In at least one embodiment, the sleep threshold may be greater than the alert threshold. In one non-limiting, non-exhaustive example, the alert threshold may be 500 milliseconds and the latency threshold may be 800 milliseconds.

Этап 3: теги в состоянии ПОМЕЧЕННОЕ1002, которые превышают указанное пороговое значение могут быть перемещены в состояние ПРЕДПРИОСТАНОВЛЕННОЕ 1006. Теги в состоянии ПРЕДПРИОСТАНОВЛЕННОЕ 1006 могут вернуться в состояние ПОМЕЧЕННОЕ 1004, если снизится число задержек (т.е. контролируемая задержка тега меньше, чем пороговое значение ожидания).Phase 3: Tags in STATE 1002 that exceed the specified threshold can be moved to STATE 1006. Tags in STATE 1006 may return to STATE 1004 if the number of delays decreases (i.e., the monitored tag delay is less than the threshold expectations).

Этап 4: Теги в состоянии ПРЕДПРИОСТАНОВЛЕННОЕ 1006, которые превышают пороговое значение ожидания на протяжении двух последовательных подходов могут быть перемещены в состояние ПРИОСТАНОВЛЕННОЕ 1008.Step 4: Tags in the PUSHED state 1006 that exceed the wait threshold for two consecutive approaches can be moved to the PUSHED state 1008.

Этап 5: теги в состоянии ПРИОСТАНОВЛЕННОЕ 1008, которые достигли своего предела приостановленного состояния (например, 30 минут) могут быть перемещены в состояние ПОСТПРИОСТАНОВЛЕННОЕ 1010. Теги в состоянии ПОСТПРИОСТАНОВЛЕННОЕ 1010 могут вернуться в состояние ПРИОСТАНОВЛЕННОЕ 1008, если они превышают пороговое значение ожидания на протяжении двух последовательных подходов. Согласно некоторым вариантам осуществления пороговое значение ожидания, используемое для определения того, когда перемещать теги из одного состояния в другое, может представлять собой такое же или другое пороговое значение.Step 5: Tags in the PUSHED state 1008 that have reached their suspended state limit (for example, 30 minutes) may be moved to the POST-PUSHED state 1010. Tags in the POST-PUSHED state 1010 may return to the PUSHED state 1008 if they exceed the sleep threshold for two consistent approaches. In some embodiments, the wait threshold used to determine when to move tags from one state to another may be the same or a different threshold.

Этап 6: теги в состоянии ПОСТПРИОСТАНОВЛЕННОЕ 1010 могут перейти в состояние ПОМЕЧЕННОЕ 1004, если они превышают пороговое значение предупреждения на протяжении двух последовательных подходов. Теги в состоянии ПОСТПРИОСТАНОВЛЕННОЕ 1010 можно перемещать в состояние НОРМАЛЬНОЕ 1002, если они не превышают пороговое значение предупреждения или пороговое значение ожидания в течение двух последовательных подходов.Step 6: Tags in POST-PUSHED state 1010 can transition to STAGED 1004 state if they exceed the alert threshold for two consecutive hits. Tags in the POST-PUSHED state 1010 can be moved to the NORMAL state 1002 as long as they do not exceed the warning threshold or wait threshold for two consecutive hits.

Пример использования операционной средыAn example of using the operating environment

На Фиг. 11 показан один из вариантов осуществления примера использования, иллюстрирующий системную схему системы, которая может использоваться для мониторинга задержки тегов и управления изменениями состояния тега, и развертывания. Как показано, система 1100 может включать в себя множество серверов мониторинга, сервер управления, базу данных и серверов тега. Согласно некоторым вариантам осуществления множество серверов мониторинга могут быть аналогичны вариантам осуществления TMSD 112 на Фиг. 1. Множество серверов мониторинга может включать в себя несколько групп серверов мониторинга для мониторинга тегов в различных состояниях, в том числе: серверы мониторинга постприостановленных тегов, серверы мониторинга приостановленных тегов, серверы мониторинга предприостановленных тегов, серверы мониторинга отмеченных тегов, серверы мониторинга нормальных тегов. Каждая из групп серверов мониторинга может быть физически расположена в разных географических местоположениях, таких как Северная Америка (NA), Европа (ЕС), Азия (т.е., Азия и страны Тихого океана (АРАС)) и Южная Америка (SA). Согласно некоторым вариантам осуществления пользователю может быть разрешено выбирать, с каким географическим местоположением сервера мониторинга будет осуществляться мониторинг тега.FIG. 11 illustrates one embodiment of a use case illustrating a system diagram of a system that can be used to monitor tag latency and manage tag state changes and deployment. As shown, system 1100 can include a plurality of monitoring servers, a management server, a database, and tag servers. In some embodiments, the plurality of monitoring servers may be similar to the TMSD 112 embodiments of FIG. 1. Multiple monitoring servers can include multiple monitoring server groups to monitor tags in various states, including: post-paused tag monitoring servers, paused tag monitoring servers, preemptive tag monitoring servers, tagged tag monitoring servers, normal tag monitoring servers. Each of the monitoring server groups can be physically located in different geographic locations such as North America (NA), Europe (EU), Asia (i.e., Asia and the Pacific (APAC)), and South America (SA). In some embodiments, the user may be allowed to select with which geographic location of the monitoring server the tag will be monitored.

База данных может также включать в себя список всех тегов (т.е. все таблицы тегов). База данных также может включать в себя множество таблиц для каждого из множества состояний, в том числе: таблицу приостановленных тегов, таблицу предприостановленных тегов, таблицу постприостановленных тегов, таблицу нормальных тегов и таблицу отмеченных тегов.The database can also include a list of all tags (i.e., all tag tables). The database may also include a plurality of tables for each of a variety of states, including a paused tags table, a paused tags table, a post-paused tags table, a normal tag table, and a tagged tag table.

Сервер управления может получить доступ к базе данных, чтобы определить, какие теги контролировать и когда. Согласно некоторым вариантам осуществления сервер управления может быть аналогичен вариантам осуществления TCSD 114 на Фиг. 1. Когда тег контролирует, сервер управления может уведомить (например, послать идентификатор тега) серверу мониторинга в выбранное географическое местоположение для текущего состояния тега. Например, если пользователь выбирает серверы мониторинга Европы и должен контролироваться тег в состоянии ПОМЕЧЕННОЕ, то сервер управления может уведомить серверы мониторинга помеченных тегов в Европе. Каждый из множества серверов мониторинга может предоставлять подвергнутые мониторингу задержки тегов на сервер управления. Основываясь на задержке тега, сервер управления может определить необходимо или нет менять состояние тега. Если тег изменил состояние, сервер управления может изменять соответствующие таблицы в базе данных, чтобы отразить изменение состояния. Согласно некоторым вариантам осуществления сервер управления может отправить пользователю e-mail или другое уведомление, если тег изменяется на определенное состояние (например, ПОМЕЧЕННОЕ, ПРИОСТАНОВЛЕННОЕ или т.п.). Кроме того, сервер управления может осуществлять связь с сервисом push-уведомлений для идентификации тега, которые доступны для развертывания (т.е. включать тег для развертывания).The management server can access the database to determine which tags to monitor and when. In some embodiments, the management server may be similar to the TCSD 114 embodiments of FIG. 1. When a tag is monitoring, the management server can notify (eg, send a tag ID) to the monitoring server at the selected geographic location for the current state of the tag. For example, if a user selects European monitoring servers and is to monitor a tag in the MARKED state, then the management server can notify the tagged tag monitoring servers in Europe. Each of the many monitoring servers can provide monitored tag latency to the management server. Based on the tag latency, the management server can determine whether or not the state of the tag needs to be changed. If a tag has changed state, the management server can update the corresponding tables in the database to reflect the change in state. In some embodiments, the management server may send an e-mail or other notification to the user if a tag changes to a specific state (eg, MARKED, PUSHED, or the like). In addition, the management server can communicate with the push notification service to identify a tag that is available for deployment (i.e., include a tag for deployment).

Сервис Push-уведомлений может быть настроен на предоставление тегов в серверы тега. Согласно по меньшей мере одному варианту осуществления сервис push-уведомлений может предоставлять серверам тега самую актуальную информацию о доступных тегах, полученных от сервера управления. Основываясь на информации, предоставленной сервисом push-уведомлений, серверы тега могут развернуть теги на веб-странице клиентского браузера. Согласно некоторым вариантам осуществления серверы тегов могут представлять собой аналогичные варианты осуществления TDSD 116, показанные на Фиг. 1. Согласно по меньшей мере одному варианту осуществления сервер управления и серверы мониторинга могут асинхронно выполнять запросы на веб-страницу (включая в себя сервис push-уведомлений и серверы тегов).The push notification service can be configured to provide tags to tag servers. In at least one embodiment, a push notification service can provide tag servers with the most up-to-date information about available tags received from a management server. Based on information provided by the push notification service, tag servers can deploy tags to a client browser web page. In some embodiments, the tag servers may be similar to the TDSD 116 embodiments shown in FIG. 1. In at least one embodiment, the management server and monitoring servers may asynchronously execute requests to a web page (including a push notification service and tag servers).

Согласно некоторым вариантам осуществления, если тег блокирован от развертывания (например, в состоянии ПРИОСТАНОВКА_А 806 и/или состоянии ПРИОСТАНОВКА_В 808 на Фиг. 8, или в состоянии ПРИОСТАНОВЛЕННОЕ и/или состоянии ПРЕДПРИОСТАНОВЛЕННОЕ 1010 на Фиг. 10) сервер управления может разрешить развертывание «неактивного» тега вместо блокированного тега. Согласно по меньшей мере одному варианту осуществления неактивный тег может представлять собой неисполняемый вариант блокированного тега.In some embodiments, if the tag is blocked from deployment (eg, in the SUSPEND_A 806 state and / or the SUSPEND_B state 808 in FIG. 8, or in the SUSPENDED state and / or POST-POST 1010 state in FIG. 10), the management server may allow the deployment of "inactive »Tag instead of a locked tag. In at least one embodiment, an inactive tag may be a non-executable version of a locked tag.

Согласно некоторым вариантам осуществления неактивный тег может быть использован для определения, сколько раз блокированный тег мог быть развернутым, но не был (потому что был блокирован). Согласно по меньшей мере одному варианту осуществления сервер управления может предоставить неактивный тег в сервис push-уведомлений и в конечном счете на серверы тегов. Согласно некоторым вариантам осуществления серверы тегов могут обращаться к неактивным тега как к реальным тегам для сбора статистической информации о тегам, но не могут развернуть неактивный тег.In some embodiments, an inactive tag can be used to determine how many times a blocked tag might have been expanded but not (because it was blocked). In at least one embodiment, the management server can provide the inactive tag to the push notification service and ultimately to the tag servers. In some embodiments, tag servers may refer to inactive tags as real tags to collect statistical information about tags, but cannot expand the inactive tag.

Вышеприведенное описание, примеры и данные предоставляют полное описание композиции, производства и применения настоящего изобретения. Поскольку многие варианты осуществления настоящего изобретения могут быть выполнены без отступления от сущности и объема изобретения, настоящее изобретение охватывается объемом прилагаемой формулы изобретения.The above description, examples and data provide a complete description of the composition, manufacture and use of the present invention. Since many embodiments of the present invention can be carried out without departing from the spirit and scope of the invention, the present invention is encompassed by the scope of the appended claims.

Claims (142)

1. Способ управления тегами для веб-страниц через сеть, при котором по меньшей мере одно сетевое устройство разрешает действиям быть выполненными, чтобы реализовать способ, предусматривающий:1. A method for managing tags for web pages over a network, wherein at least one network device permits actions to be performed to implement a method comprising: определение по меньшей мере одного тега для мониторинга, который связан по меньшей мере с одной веб-страницей, причем по меньшей мере один тег характеризуется одним из множества состояний;defining at least one tag for monitoring, which is associated with at least one web page, and at least one tag is characterized by one of a plurality of states; мониторинг по меньшей мере одного тега, основываясь по меньшей мере на одном состоянии по меньшей мере одного тега, причем мониторинг асинхронен для каждого запроса по меньшей мере одной веб-страницы;monitoring at least one tag based on at least one state of at least one tag, the monitoring being asynchronous for each request for at least one web page; определение задержки для мониторинга по меньшей мере одного тега;determining a delay for monitoring at least one tag; если определение задержки и состояния по меньшей мере одного тега указывает на модификацию состояния, изменение состояния по меньшей мере одного тега в другое состояние и,if the determination of the delay and state of at least one tag indicates a state modification, the state change of at least one tag to another state, and, если определение текущего состояния по меньшей мере одного тега утвердительно показывает развертывание и запрашивается по меньшей мере одна веб-страница, развертывание по меньшей мере одного тега с ассоциированной по меньшей мере одной веб-страницей.if the determination of the current state of at least one tag affirmatively indicates deployment and at least one web page is requested, deploying the at least one tag with the associated at least one web page. 2. Способ по п. 1, в котором множество состояний включает в себя по меньшей мере нормальное состояние, помеченное состояние и по меньшей мере одно состояние приостановки.2. The method of claim 1, wherein the plurality of states include at least a normal state, a flagged state, and at least one suspended state. 3. Способ по п. 1, в котором развертывание по меньшей мере одного тега дополнительно предусматривает:3. The method of claim 1, wherein deploying the at least one tag further comprises: разрешение развертывания по меньшей мере одного тега, если по меньшей мере один тег находится в нормальном состоянии;allowing the expansion of at least one tag if at least one tag is in a normal state; разрешение развертывания по меньшей мере одного тега, если по меньшей мере один тег находится в помеченном состоянии; иallowing expansion of at least one tag if at least one tag is in a flagged state; and блокирование развертывания по меньшей мере одного тега, если по меньшей мере один тег находится в состоянии приостановки.blocking the deployment of at least one tag if at least one tag is in a suspended state. 4. Способ по п. 1, в котором изменение состояния по меньшей мере одного тега дополнительно предусматривает:4. The method according to claim 1, wherein changing the state of at least one tag further comprises: перемещение по меньшей мере одного тега в первом состоянии во второе состояние, если результаты задержки по меньшей мере одни из следующих, включающих в себя:moving at least one tag in the first state to the second state if the delay results are at least one of the following, including: результаты задержки превышают пороговое значение числа последовательных событий задержки;the delay results exceed the threshold for the number of consecutive delay events; результаты задержки превышают пороговое значение числа событий задержки в пределах заданного периода времени иthe delay results exceed the threshold for the number of delay events within the specified time period, and результаты задержки превышают пороговое значение величины серьезности.latency results exceed the severity threshold. 5. Способ по п. 1, в котором изменение состояния по меньшей мере одного тега дополнительно предусматривает:5. The method according to claim 1, wherein changing the state of at least one tag further comprises: перемещение по меньшей мере одного тега в первом состоянии во второе состояние, если результаты задержки по меньшей мере одни из следующих, включающих в себя:moving at least one tag in the first state to the second state if the delay results are at least one of the following, including: результаты задержки превышают пороговое значение числа последовательных событий отсутствия задержки,the delay results exceed the threshold for the number of consecutive no-delay events, результаты задержки превышают пороговое значение числа событий отсутствия задержки в пределах заданного периода времени иthe delay results exceed the threshold for the number of no-delay events within the specified time period, and результаты задержки ниже порогового значения величины легкости.the delay results are below the lightness threshold. 6. Способ по п. 1, в котором изменение состояния по меньшей мере одного тега дополнительно предусматривает:6. The method according to claim 1, wherein changing the state of at least one tag further comprises: если результаты задержки в событии задержки по меньшей мере для одного тега, выполнение дальнейших действий, включающих в себя:if the delay results in a delay event for at least one tag, take further actions, including: перемещение по меньшей мере одного тега в нормальном состоянии в помеченное состояние, если результаты задержки превышают пороговое значение числа событий задержки;moving at least one tag in the normal state to the tagged state if the delay results exceed a threshold value for the number of delay events; перемещение по меньшей мере одного тега в помеченном состоянии в первое состояние приостановки, если результаты задержки превышают другое пороговое значение числа событий задержки;moving at least one tag in the marked state to the first suspended state if the delay results exceed another threshold value for the number of delay events; перемещение по меньшей мере одного тега в первом состоянии приостановки во второе состояние приостановки по истечении заданного периода времени иmoving at least one tag in the first suspended state to the second suspended state after a predetermined period of time, and перемещение по меньшей мере одного тега во втором состоянии приостановки в первое состояние приостановки, если результаты задержки превышают еще другое пороговое значение числа событий задержки.moving at least one tag in the second suspended state to the first suspended state if the delay results exceed yet another threshold for the number of delay events. 7. Способ по п. 1, в котором изменение состояния по меньшей мере одного тега дополнительно предусматривает:7. The method according to claim 1, wherein changing the state of at least one tag further comprises: если результаты задержки в событии отсутствия задержки для по меньшей мере одного тега, выполнение дальнейших действий, включающих в себя:if the delay results in a no-delay event for at least one tag, take further actions, including: перемещение по меньшей мере одного тега в помеченном состоянии в нормальное состояние, если событие отсутствия задержки превышает пороговое значение числа событий отсутствия задержки; иmoving at least one tag in the marked state to the normal state if the no-delay event exceeds a threshold value for the number of no-delay events; and перемещение по меньшей мере одного тега в состоянии приостановки в помеченное состояние, если событие отсутствия задержки превышает другое пороговое значение числа события отсутствия задержки.moving at least one tag in the suspended state to the flagged state if the no-delay event exceeds another threshold value of the number of no-delay events. 8. Способ по п. 1, в котором изменение состояния по меньшей мере одного тега дополнительно предусматривает:8. The method according to claim 1, wherein changing the state of at least one tag further comprises: перемещение по меньшей мере одного тега в нормальном состоянии в помеченное состояние, если задержка превышает пороговое значение предупреждения;moving at least one tag in a normal state to a flagged state if the delay exceeds a warning threshold; перемещение по меньшей мере одного тега в нормальном состоянии в предприостановленное состояние, если задержка превышает пороговое значение ожидания, причем пороговое значение ожидания превышает пороговое значение предупреждения;moving at least one tag in a normal state to a pre-terminated state if the delay exceeds the sleep threshold, the sleep threshold exceeding the warning threshold; перемещение по меньшей мере одного тега в помеченном состоянии в предприостановленное состояние, если задержка превышает пороговое значение ожидания;moving at least one tag in the flagged state to a pre-suspended state if the delay exceeds the wait threshold; перемещение по меньшей мере одного тега в предприостановленном состоянии в приостановленное состояние, если задержка превышает пороговое значение для нескольких последовательных попыток мониторинга;moving at least one tag in a pre-suspended state to a suspended state if the delay exceeds a threshold for multiple consecutive monitoring attempts; перемещение по меньшей мере одного тега в приостановленном состоянии в постприостановленное состояние по истечении заданного периода времени иmoving at least one tag in a suspended state to a post-suspended state after a specified period of time, and перемещение по меньшей мере одного тега в постприостановленном состоянии в приостановленное состояние, если задержка превышает пороговое значение ожидания для нескольких последовательных попыток мониторинга.moving at least one tag in a post-suspended state to a suspended state if the delay exceeds the wait threshold for multiple consecutive monitoring attempts. 9. Способ по п. 1, в котором изменение состояния по меньшей мере одного тега дополнительно предусматривает:9. The method according to claim 1, wherein changing the state of at least one tag further comprises: перемещение по меньшей мере одного тега в помеченном состоянии в нормальное состояние, если задержка меньше, чем пороговое значение предупреждения;moving at least one tag in a tagged state to a normal state if the delay is less than a warning threshold; перемещение по меньшей мере одного тега в предприостановленном состоянии в помеченное состояние, если задержка меньше, чем пороговое значение ожидания, причем пороговое значение ожидания превышает пороговое значение предупреждения;moving at least one tag in a pre-terminated state to a flagged state if the delay is less than the sleep threshold, the sleep threshold being greater than the warning threshold; перемещение по меньшей мере одного тега в постприостановленном состоянии в помеченное состояние, если задержка превышает пороговое значение предупреждения и меньше порогового значения ожидания для нескольких последовательных попыток мониторинга, иmoving at least one tag in a post-paused state to a flagged state if the latency is greater than the alert threshold and less than the latency threshold for multiple consecutive monitoring attempts, and перемещение по меньшей мере одного тега в постприостановленном состоянии в нормальное состояние, если задержка меньше, чем пороговое значение предупреждения для нескольких последовательных попыток мониторинга.moving at least one tag in a post-paused state to a normal state if the delay is less than the warning threshold for multiple consecutive monitoring attempts. 10. Способ по п. 1, в котором изменение состояния по меньшей мере одного тега дополнительно предусматривает:10. The method of claim 1, wherein changing the state of at least one tag further comprises: предоставление уведомления по меньшей мере одному пользователю для указания на то, что по меньшей мере один тег изменил состояние.providing a notification to at least one user to indicate that at least one tag has changed state. 11. Система для управления тегами для веб-страниц через сеть, содержащая:11. A system for managing tags for web pages over a network, containing: клиентское устройство, которое настроено для выполнения действий, включающих в себя:a client device that is configured to perform actions that include: запрашивание веб-страницы из серверного устройства; серверное устройство управления, которое настроено для выполнения действий, включающих в себя:requesting a web page from a server device; a server control device that is configured to perform actions that include: определение по меньшей мере одного тега для мониторинга, который связан по меньшей мере с одной веб-страницей, причем по меньшей мере один тег находится в одном из множества состояний;defining at least one tag for monitoring that is associated with at least one web page, and at least one tag is in one of a plurality of states; определение по меньшей мере одного тега задержки для мониторинга и,defining at least one delay tag for monitoring, and, если определение задержки и состояния по меньшей мере одного тега указывает на модификацию в состояние, модификацию состояния по меньшей мере одного тега в другое состояние;if the determination of the delay and state of at least one tag indicates a modification to a state, a modification of the state of at least one tag to a different state; по меньшей мере одно серверное устройство мониторинга, которое настроено для выполнения действий, включающих в себя:at least one server monitoring device that is configured to perform actions including: мониторинг по меньшей мере одного тега, основываясь на состоянии по меньшей мере одного тега, причем мониторинг асинхронен для каждого запроса по меньшей мере для одной веб-страницы, иmonitoring at least one tag based on the status of at least one tag, the monitoring being asynchronous for each request for at least one web page, and по меньшей мере одно серверное устройство развертывания, которое настроено для выполнения действий, включающих в себя:at least one server deployment device that is configured to perform actions including: если определение текущего состояния по меньшей мере одного тега утвердительно указывает на развертывание и запрошена по меньшей мере одна веб-страница, развертывание по меньшей мере одного тега со связанной по меньшей мере одной веб-страницей на клиентском устройстве.if the determination of the current state of at least one tag affirmatively indicates deployment and at least one web page is requested, deploying the at least one tag with an associated at least one web page on the client device. 12. Система по п. 11, в которой множество состояний включает в себя по меньшей мере нормальное состояние, помеченное состояние и по меньшей мере одно состояние приостановки.12. The system of claim 11, wherein the plurality of states include at least a normal state, a flagged state, and at least one suspended state. 13. Система по п. 11, в которой развертывание по меньшей мере одного тега дополнительно предусматривает:13. The system of claim 11, wherein deploying at least one tag further comprises: разрешение развертывания по меньшей мере одного тега, если по меньшей мере один тег находится в нормальном состоянии;allowing the expansion of at least one tag if at least one tag is in a normal state; разрешение развертывания по меньшей мере одного тега, если по меньшей мере один тег находится в отмеченном состоянии, иallowing at least one tag to expand if at least one tag is in a checked state, and блокирование развертывания по меньшей мере одного тега, если по меньшей мере один тег находится в состоянии приостановки.blocking the deployment of at least one tag if at least one tag is in a suspended state. 14. Система по п. 11, в которой изменение состояния по меньшей мере одного тега дополнительно предусматривает:14. The system of claim 11, wherein changing the state of at least one tag further provides: перемещение по меньшей мере одного тега в первом состоянии во второе состояние, если результаты задержки по меньшей мере одни из следующих, включающих в себя:moving at least one tag in the first state to the second state if the delay results are at least one of the following, including: результаты задержки превышают пороговое значение числа последовательных событий задержки;the delay results exceed the threshold for the number of consecutive delay events; результаты задержки превышают пороговое значение числа событий задержки в пределах заданного периода времени иthe delay results exceed the threshold for the number of delay events within the specified time period, and результаты задержки превышают пороговое значение величины серьезности.latency results exceed the severity threshold. 15. Система по п. 11, в которой изменение состояния по меньшей мере одного тега дополнительно предусматривает:15. The system according to claim 11, in which changing the state of at least one tag further provides: перемещение по меньшей мере одного тега в первом состоянии во второе состояние, если результаты задержки по меньшей мере одни из следующих, включающих в себя:moving at least one tag in the first state to the second state if the delay results are at least one of the following, including: результаты задержки превышают пороговое значение числа последовательных событий отсутствия задержки,the delay results exceed the threshold for the number of consecutive no-delay events, результаты задержки превышают пороговое значение числа событий отсутствия задержки в пределах заданного периода времени иthe delay results exceed the threshold for the number of no-delay events within the specified time period, and результаты задержки ниже порогового значения величины умеренности.the delay results are below the threshold value of the magnitude of moderation. 16. Система по п. 11, в которой изменение состояния по меньшей мере одного тега дополнительно предусматривает:16. The system of claim 11, wherein changing the state of at least one tag further provides: если результаты задержки события задержки по меньшей мере для одного тега, выполнение дальнейших действий, включающих в себя:if the delayed event results in a delayed event for at least one tag, take further actions, including: перемещение по меньшей мере одного тега в нормальном состоянии в помеченное состояние, если результаты задержки превышают пороговое значение числа событий задержки;moving at least one tag in the normal state to the tagged state if the delay results exceed a threshold value for the number of delay events; перемещение по меньшей мере одного тега в помеченном состоянии в первое состояние приостановки, если результаты задержки превышают другое пороговое значение числа событий задержки;moving at least one tag in the marked state to the first suspended state if the delay results exceed another threshold value for the number of delay events; перемещение по меньшей мере одного тега в первом состоянии приостановки во второе состояние приостановки по истечении заданного периода времени иmoving at least one tag in the first suspended state to the second suspended state after a predetermined period of time, and перемещение по меньшей мере одного тега во втором состоянии приостановки в первое состояние приостановки, если результаты задержки превышают еще одно пороговое значение числа событий задержки.moving at least one tag in the second suspended state to the first suspended state if the delay results exceed another threshold for the number of delay events. 17. Система по п. 11, в которой изменение состояния по меньшей мере одного тега дополнительно предусматривает:17. The system of claim 11, wherein changing the state of at least one tag further provides: если результаты задержки события отсутствия задержки по меньшей мере для одного тега, выполнение дальнейших действий, включающих в себя:If the delay results from a no delay event for at least one tag, take further actions, including: перемещение по меньшей мере одного тега в помеченном состоянии в нормальное состояние, если событие отсутствия задержки превышает пороговое значение числа событий отсутствия задержки, иmoving at least one tag in the tagged state to the normal state if the No Delay Event exceeds the No Delay Event Threshold, and перемещение по меньшей мере одного тега в состоянии приостановки в помеченное состояние, если событие отсутствия задержки превышает другое пороговое значение числа событий отсутствия задержки.moving at least one tag in the suspended state to the flagged state if the no-delay event exceeds another threshold value for the number of no-delay events. 18. Система по п. 11, в которой изменение состояния по меньшей мере одного тега дополнительно предусматривает:18. The system of claim 11, wherein changing the state of at least one tag further comprises: перемещение по меньшей мере одного тега в нормальном состоянии в помеченное состояние, если задержка превышает пороговое значение предупреждения;moving at least one tag in a normal state to a flagged state if the delay exceeds a warning threshold; перемещение по меньшей мере одного тега в нормальном состоянии в предприостановленное состояние, если задержка превышает пороговое значение ожидания, при котором пороговое значение ожидания превышает пороговое значение предупреждения;moving at least one tag in the normal state to a pre-terminated state if the delay exceeds the sleep threshold at which the sleep threshold exceeds the warning threshold; перемещение по меньшей мере одного тега в помеченном состоянии в предприостановленное состояние, если задержка превышает пороговое значение ожидания;moving at least one tag in the flagged state to a pre-suspended state if the delay exceeds the wait threshold; перемещение по меньшей мере одного тега в предприостановленном состоянии в приостановленное состояние, если задержка превышает пороговое значение для нескольких последовательных попыток мониторинга;moving at least one tag in a pre-suspended state to a suspended state if the delay exceeds a threshold for multiple consecutive monitoring attempts; перемещение по меньшей мере одного тега в приостановленном состоянии в постприостановленное состояние по истечении заданного периода времени иmoving at least one tag in a suspended state to a post-suspended state after a specified period of time, and перемещение по меньшей мере одного тега в постприостановленном состоянии в приостановленное состояние, если задержка превышает пороговое значение ожидания для нескольких последовательных попыток мониторинга.moving at least one tag in a post-suspended state to a suspended state if the delay exceeds the wait threshold for multiple consecutive monitoring attempts. 19. Система по п. 11, в которой изменение состояния по меньшей мере одного тега дополнительно предусматривает:19. The system of claim 11, wherein changing the state of at least one tag further comprises: перемещение по меньшей мере одного тега в помеченном состоянии в нормальное состояние, если задержка меньше, чем пороговое значение предупреждения;moving at least one tag in a tagged state to a normal state if the delay is less than a warning threshold; перемещение по меньшей мере одного тега в предприостановленном состоянии в помеченное состояние, если задержка меньше, чем пороговое значение ожидания, причем пороговое значение ожидания больше, чем пороговое значение предупреждения;moving at least one tag in a pre-terminated state to a flagged state if the delay is less than the sleep threshold, wherein the sleep threshold is greater than the alert threshold; перемещение по меньшей мере одного тега в постприостановленном состоянии в помеченное состояние, если задержка превышает пороговое значение предупреждения и меньше порогового значения ожидания для нескольких последовательных попыток мониторинга, иmoving at least one tag in a post-paused state to a flagged state if the latency is greater than the alert threshold and less than the latency threshold for multiple consecutive monitoring attempts, and перемещение по меньшей мере одного тега в постприостановленном состоянии в нормальное состояние, если задержка меньше, чем пороговое значение предупреждения для нескольких последовательных попыток мониторинга.moving at least one tag in a post-paused state to a normal state if the delay is less than the warning threshold for multiple consecutive monitoring attempts. 20. Система по п. 11, в которой серверное устройство управления настроено для выполнения дальнейших действий, предусматривающих:20. The system of claim 11, wherein the server control unit is configured to perform further actions, including: если по меньшей мере один тег блокирован от развертывания, выполнение дальнейших действий, включающих в себя:if at least one tag is blocked from being deployed, take further actions, including: генерацию неактивного тега, который представляет собой неисполняемую копию блокированного тега, иgenerating an inactive tag, which is a non-executable copy of the locked tag, and предоставление неактивного тега по меньшей мере одному серверу развертывания для сбора статистической информации о блокированном теге.providing an inactive tag to at least one deployment server to collect statistics about the locked tag. 21. Система по п. 11, в которой изменение состояния по меньшей мере одного тега дополнительно предусматривает:21. The system of claim 11, wherein changing the state of at least one tag further provides: предоставление уведомления по меньшей мере одному пользователю для указания о том, что по меньшей мере один тег изменил состояние.providing a notification to at least one user to indicate that at least one tag has changed state. 22. Считываемый процессором носитель данных, который включают в себя инструкции для управления тегами для веб-страниц в сети, причем выполнение инструкций процессором разрешает действия, предусматривающие:22. A processor-readable storage medium that includes instructions for managing tags for web pages on a network, where the execution of the instructions by the processor permits actions that include: определение по меньшей мере одного тега для мониторинга, который связан по меньшей мере с одной веб-страницей, причем по меньшей мере один тег в одном из множества состояний;defining at least one tag for monitoring that is associated with at least one web page, with at least one tag in one of a plurality of states; мониторинг по меньшей мере одного тега, основываясь по меньшей мере на одном состоянии по меньшей мере одного тега, причем мониторинг представляется асинхронным для каждого запроса по меньшей мере одной веб-страницы;monitoring at least one tag based on at least one state of at least one tag, the monitoring being asynchronous for each request for at least one web page; определение для мониторинга задержки по меньшей мере одного тега;determining for monitoring the latency of at least one tag; если определение задержки и состояния по меньшей мере одного тега указывает на модификацию в состоянии, модификацию состояния по меньшей мере одного тега в другое состояние и,if the determination of the delay and state of at least one tag indicates a modification in a state, a modification of the state of at least one tag to a different state, and, если определение текущего состояния по меньшей мере одного тега утвердительно указывает развертывание и запрошена по меньшей мере одна веб-страница, развертывание по меньшей мере одного тега, связанного по меньшей мере с одной веб-страницей.if the determination of the current state of the at least one tag affirmatively indicates deployment and at least one web page is requested, deployment of at least one tag associated with the at least one web page. 23. Носитель по п. 22, в котором развертывание по меньшей мере одного тега дополнительно предусматривает:23. The medium of claim 22, wherein deploying the at least one tag further comprises: разрешение развертывания по меньшей мере одного тега, если по меньшей мере один тег находится в нормальном состоянии;allowing the expansion of at least one tag if at least one tag is in a normal state; разрешение развертывания по меньшей мере одного тега, если по меньшей мере один тег находится в отмеченном состоянии, иallowing at least one tag to expand if at least one tag is in a checked state, and блокирование развертывания по меньшей мере одного тега, если по меньшей мере один тег находится в состоянии приостановки.blocking the deployment of at least one tag if at least one tag is in a suspended state. 24. Носитель по п. 22, в котором изменение состояния по меньшей мере одного тега дополнительно предусматривает:24. The medium of claim 22, wherein changing the state of at least one tag further comprises: перемещение по меньшей мере одного тега в первом состоянии во второе состояние, если результаты задержки по меньшей мере одни из следующих, включающих в себя:moving at least one tag in the first state to the second state if the delay results are at least one of the following, including: результаты задержки превышают пороговое значение числа последовательных событий задержки;the delay results exceed the threshold for the number of consecutive delay events; результаты задержки превышают пороговое значение числа событий задержки в пределах заданного периода времени иthe delay results exceed the threshold for the number of delay events within the specified time period, and результаты задержки превышают пороговое значение величины серьезности.latency results exceed the severity threshold. 25. Носитель по п. 22, в котором изменение состояния по меньшей мере одного тега дополнительно предусматривает:25. The medium of claim 22, wherein changing the state of at least one tag further comprises: перемещение по меньшей мере одного тега в первом состоянии во второе состояние, если результаты задержки по меньшей мере одни из следующих, включающих в себя:moving at least one tag in the first state to the second state if the delay results are at least one of the following, including: результаты задержки превышают пороговое значение числа последовательных событий отсутствия задержки,the delay results exceed the threshold for the number of consecutive no-delay events, результаты задержки превышают пороговое значение числа событий отсутствия задержки в пределах заданного периода времени иthe delay results exceed the threshold for the number of no-delay events within the specified time period, and результаты задержки ниже порогового значения величины умеренности.the delay results are below the threshold value of the magnitude of moderation. 26. Носитель по п. 22, в котором изменение состояния по меньшей мере одного тега дополнительно предусматривает:26. The medium of claim 22, wherein changing the state of at least one tag further comprises: если результаты задержки состояния задержки по меньшей мере для одного тега, выполнение дальнейших действий, включающих в себя:If the delay results in a delayed state for at least one tag, take further actions, including: перемещение по меньшей мере одного тега в нормальном состоянии в помеченное состояние, если результаты задержки превышают пороговое значение числа событий задержки;moving at least one tag in the normal state to the tagged state if the delay results exceed a threshold value for the number of delay events; перемещение по меньшей мере одного тега в помеченном состоянии в первое состояние приостановки, если результаты задержки превышают другое пороговое значение числа событий задержки;moving at least one tag in the marked state to the first suspended state if the delay results exceed another threshold value for the number of delay events; перемещение по меньшей мере одного тега в первом состоянии приостановки во второе состояние приостановки по истечению заданного периода времени иmoving at least one tag in the first suspended state to the second suspended state after a predetermined period of time, and перемещение по меньшей мере одного тега во втором состоянии приостановки в первое состояние приостановки, если результаты задержки превышают еще другое пороговое значение числа событий задержки.moving at least one tag in the second suspended state to the first suspended state if the delay results exceed yet another threshold for the number of delay events. 27. Носитель по п. 22, в котором изменение состояния по меньшей мере одного тега дополнительно предусматривает:27. The medium of claim 22, wherein changing the state of at least one tag further comprises: если результаты задержки события отсутствия задержки по меньшей мере для одного тега, выполнение дальнейших действий, включающих в себя:If the delay results from a no delay event for at least one tag, take further actions, including: перемещение по меньшей мере одного тега в помеченном состоянии в нормальное состояние, если событие отсутствия задержки превышает пороговое значение числа событий отсутствия задержки, иmoving at least one tag in the tagged state to the normal state if the No Delay Event exceeds the No Delay Event Threshold, and перемещение по меньшей мере одного тега в состоянии приостановки в помеченное состояние, если событие отсутствия задержки превышает другое пороговое значение числа событий задержки.moving at least one tag in the suspended state to the flagged state if the no-delay event exceeds another threshold value for the number of delay events. 28. Носитель по п. 22, в котором изменение состояния по меньшей мере одного тега дополнительно предусматривает:28. The medium of claim 22, wherein changing the state of at least one tag further comprises: перемещение по меньшей мере одного тега в нормальном состоянии в помеченное состояние, если задержка превышает пороговое значение предупреждения;moving at least one tag in a normal state to a flagged state if the delay exceeds a warning threshold; перемещение по меньшей мере одного тега в нормальном состоянии в предприостановленное состояние, если пороговое значение ожидания больше, чем пороговое значение предупреждения;moving at least one tag in the normal state to a pre-terminated state if the wait threshold is greater than the warning threshold; перемещение по меньшей мере одного тега в помеченном состоянии в предприостановленное состояние, если задержка превышает пороговое значение ожидания;moving at least one tag in the flagged state to a pre-suspended state if the delay exceeds the wait threshold; перемещение по меньшей мере одного тега в предприостановленном состоянии в приостановленное состояние, если задержка превышает пороговое значение ожидания для нескольких последовательных попыток мониторинга;moving at least one tag in a pre-suspended state to a suspended state if the delay exceeds a wait threshold for multiple consecutive monitoring attempts; перемещение по меньшей мере одного тега в приостановленном состоянии в постприостановленное состояние по истечении заданного периода времени иmoving at least one tag in a suspended state to a post-suspended state after a specified period of time, and перемещение по меньшей мере одного тега в постприостановленном состоянии в приостановленное состояние, если задержка превышает пороговое значение ожидания для нескольких последовательных попыток мониторинга.moving at least one tag in a post-suspended state to a suspended state if the delay exceeds the wait threshold for multiple consecutive monitoring attempts. 29. Носитель по п. 22, в котором изменение состояния по меньшей мере одного тега дополнительно предусматривает:29. The medium of claim 22, wherein changing the state of at least one tag further comprises: перемещение по меньшей мере одного тега в помеченном состоянии в нормальное состояние, если задержка меньше, чем пороговое значение предупреждения;moving at least one tag in a tagged state to a normal state if the delay is less than a warning threshold; перемещение по меньшей мере одного тега в предприостановленном состоянии в помеченное состояние, если задержка меньше, чем пороговое значение ожидания, причем пороговое значение ожидания превышает пороговое значение предупреждения;moving at least one tag in a pre-terminated state to a flagged state if the delay is less than the sleep threshold, wherein the sleep threshold is greater than the warning threshold; перемещение по меньшей мере одного тега в постприостановленном состоянии в помеченное состояние, если задержка превышает пороговое значение предупреждения и меньше порогового значения ожидания для нескольких последовательных попыток мониторинга, иmoving at least one tag in a post-paused state to a flagged state if the latency is greater than the alert threshold and less than the latency threshold for multiple consecutive monitoring attempts, and перемещение по меньшей мере одного тега в постприостановленном состоянии в нормальное состояние, если задержка меньше, чем пороговое значение предупреждения для нескольких последовательных попыток мониторинга.moving at least one tag in a post-paused state to a normal state if the delay is less than the warning threshold for multiple consecutive monitoring attempts. 30. Носитель по п. 22, в котором изменение состояния по меньшей мере одного тега дополнительно предусматривает:30. The medium of claim 22, wherein changing the state of at least one tag further comprises: предоставление уведомления по меньшей мере одному пользователю для указания на то, что по меньшей мере один тег изменил состояние.providing a notification to at least one user to indicate that at least one tag has changed state.
RU2018124846A 2013-07-17 2013-07-17 Tag delay monitoring and controlling system for increasing web page performance RU2763000C2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2018124846A RU2763000C2 (en) 2013-07-17 2013-07-17 Tag delay monitoring and controlling system for increasing web page performance

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2018124846A RU2763000C2 (en) 2013-07-17 2013-07-17 Tag delay monitoring and controlling system for increasing web page performance

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
RU2015101336A Division RU2015101336A (en) 2012-07-20 2013-07-17 TAG DELAY MONITORING AND WEB PERFORMANCE MANAGEMENT SYSTEM

Publications (3)

Publication Number Publication Date
RU2018124846A RU2018124846A (en) 2019-03-07
RU2018124846A3 RU2018124846A3 (en) 2021-10-25
RU2763000C2 true RU2763000C2 (en) 2021-12-24

Family

ID=65632512

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2018124846A RU2763000C2 (en) 2013-07-17 2013-07-17 Tag delay monitoring and controlling system for increasing web page performance

Country Status (1)

Country Link
RU (1) RU2763000C2 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030084048A1 (en) * 2001-10-30 2003-05-01 Dweck Jay S. Systems and methods for facilitating access to documents via associated tags
US20040255006A1 (en) * 2003-04-29 2004-12-16 International Business Machines Corporation System and method of handling a web service call
US20090164884A1 (en) * 2007-12-19 2009-06-25 Yahoo! Inc. Tag aggregator
US20130073401A1 (en) * 2011-09-20 2013-03-21 TagMan Inc. System and method for loading of web page assets
RU2516232C2 (en) * 2008-12-04 2014-05-20 Блэкберри Лимитед Mobile tag tracking system, information display device and method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030084048A1 (en) * 2001-10-30 2003-05-01 Dweck Jay S. Systems and methods for facilitating access to documents via associated tags
US20040255006A1 (en) * 2003-04-29 2004-12-16 International Business Machines Corporation System and method of handling a web service call
US20090164884A1 (en) * 2007-12-19 2009-06-25 Yahoo! Inc. Tag aggregator
RU2516232C2 (en) * 2008-12-04 2014-05-20 Блэкберри Лимитед Mobile tag tracking system, information display device and method
US20130073401A1 (en) * 2011-09-20 2013-03-21 TagMan Inc. System and method for loading of web page assets

Also Published As

Publication number Publication date
RU2018124846A3 (en) 2021-10-25
RU2018124846A (en) 2019-03-07

Similar Documents

Publication Publication Date Title
EP2875444B1 (en) Tag latency monitoring and control system for enhanced web page performance
US9952886B2 (en) Elastic offload of prebuilt traffic management system component virtual machines
US11568447B2 (en) Tunable statistical IDs
US9813870B2 (en) Using location-based request data for identifying beacon locations
US9417907B1 (en) Impact management of system tasks
US7996000B1 (en) Managing page sizes for a mobile device using estimation of content customizer techniques
US20130311427A1 (en) Clustering for high availability and disaster recovery
CA2901042C (en) Non-precise garbage collection in non-cooperative systems
US20240403147A1 (en) Auto Pause Incident Notification
US9674109B2 (en) Configuration management for a resource with prerequisites
US20180159754A1 (en) Tag latency monitoring and control system for enhanced web page performance
Elias et al. A ubiquitous model for wireless sensor networks monitoring
US9081611B1 (en) System for iteratively identifying available next higher priority tracks when identified track matching the task's native track priority is unavailable
RU2763000C2 (en) Tag delay monitoring and controlling system for increasing web page performance
US11888595B2 (en) Alert resolution based on identifying information technology components and recommended actions including user selected actions
HK1222246B (en) Non-precise garbage collection in non-cooperative systems
HK1214437B (en) Elastic offload of prebuilt traffic management system component virtual machines