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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
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
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,
По меньшей мере один из вариантов осуществления клиентских устройств 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
Устройства, которые могут работать как клиентское устройство 102 могут включать в себя устройства, обычно использующие для соединения проводные или беспроводные средства связи, такие как персональные компьютеры, многопроцессорные системы, микропроцессорные или программируемые электронные устройства, сетевые ПК, или т.п.. Согласно некоторым вариантам осуществления клиентские устройства 102-105 могут включать в себя практически любое портативное вычислительное устройство совместимое по соединению с другим вычислительным устройством и приему информации, такие как, портативный компьютер 103, мобильный смартфон 104, планшетные компьютеры 105 и т.п. Однако портативные вычислительные устройства не так ограничены и могут также включать в себя другие портативные устройства, такие как сотовые телефоны, пейджеры с отображением, радиочастотные (RF) устройства, инфракрасные (IR) устройства, персональные цифровые ассистенты (PDA), карманные компьютеры, нательные компьютеры, интегрированные устройства, скомбинированные из одного или нескольких предшествующих устройств и т.п. Таким образом, клиентские устройства 102-105 обычно колеблются в широких пределах в плане возможностей и функциональности. Кроме того, клиентские устройства 102-105 могут получить доступ к различным компьютерным приложениям, включающим в себя браузер или другое веб-приложение.Devices that can operate as
Веб-ориентированное клиентское устройство может включать в себя приложение браузера, настроенное на то, чтобы получать и отправлять веб-страницы, веб-сообщения и т.п. Приложение браузера может быть настроено на прием и отображение графики, текста, мультимедиа и т.п., использующее практически любой язык веб-программирования, включающий в себя сообщения беспроводного протокола передачи данных (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,
Клиентские устройства 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
Беспроводная сеть 108 настраивается для пары клиентских устройств 103-105 и их компонентов с сетью 110. Беспроводная сеть 108 может содержать любые из множества беспроводных подсетей, которые могут дополнительно совмещать автономные специальные сети и т.п., чтобы обеспечить инфраструктуру ориентированную на подключение клиентских устройств 103-105. Такие подсети могут включать в себя ячеистые сети, беспроводные локальные сети (WLAN), сотовые сети и т.п. Согласно одному варианту осуществления система может содержать более чем одну беспроводную сеть.
Беспроводная сеть 108 может дополнительно включать в себя автономную систему терминалов, шлюзов, маршрутизаторов и связанные по беспроводной радиосвязи сети, и т.п. Эти соединители могут быть настроены так, чтобы свободно перемещаться и случайным образом, и организовать себя произвольно для того, чтобы топология беспроводной сети 108 могла быстро изменяться.
Беспроводная сеть 108 может дополнительно использовать множество технологий доступа, включая второе (2G), третье (3G), четвертое (4G) пятое (5G) поколение радио доступа сотовых систем, WLAN, беспроводной маршрутизатор (WR) ячеистой сетки и т.п.. Технологии доступа, такие как 2G, 3G, 4G, 5G и будущие сети доступа могут сделать возможной глобальную зону покрытия для мобильных устройств, таких как клиентские устройства 103-105 с различными степенями мобильности. В одном не ограничивающем примере беспроводная сеть 108 может сделать возможной радиосвязь через сеть радиодоступа, такую как глобальная система мобильной связи (GSM), пакетная радиосвязь общего пользования (GPRS), улучшенная среда передачи данных для GSM (EDGE), множественный доступ с кодовым разделением каналов (CDMA), множественный доступ с временным разделением каналов (TDMA), широкополосный множественный доступ с кодовым разделением каналов (WCDMA), высокоскоростной пакетный доступ в канале к абоненту (HSDPA), технология долговременного развития (LTE) и т.п. В сущности, беспроводная сеть 108 может включать в себя практически любой механизм беспроводной связи, посредством которого информация может перемещаться между клиентскими устройствами 103-105 и другим вычислительным устройством, сетью и т.п.
Сеть 110 настраивается для пары сетевых устройств с другими вычислительными устройствами, включающими в себя 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 включает в себя любой способ связи, с помощью которого информация может перемещаться между вычислительными устройствами.
Кроме того, средства связи обычно содержат машиночитаемые команды, структуры данных, программные модули или другие механизмы передачи и включают в себя любое средство доставки информации. В качестве примера, средство связи включает в себя проводную связь, такую как витая пара, коаксиальный кабель, волоконно-оптические, волноводы и другие проводные связи и беспроводные связи, такие как акустические, радиочастотные, инфракрасные и другие беспроводные средства связи.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
Хотя на Фиг. 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. Согласно некоторым вариантам осуществления добавление дополнительных 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
По меньшей мере один из вариантов осуществления TCSD 114 описан более подробно ниже совместно с Фиг. 3. Вкратце, однако, TCSD 114 может включать в себя практически любое сетевое устройство способное управлять состоянием каждого из множества тегов и позволяющее доступным тегам быть развернутыми основываясь на состояния тега. Согласно некоторым вариантам осуществления TCSD 114 может осуществлять связь с TMSD 112, чтобы определить, какие теги контролировать и/или может принимать информацию о задержке тега. Согласно некоторым вариантам осуществления TCSD 114 может обеспечивать TDSD 116 списком тегов доступных для развертывания. Согласно по меньшей мере одному варианту осуществления TCSD 114 может осуществлять связь с базой данных (не показано), которая может содержать таблицы для каждого состояния тега, которые могут включать в себя список каждого тэга в каждом состоянии. Устройства, которые могут работать как TCSD 114 включают в себя различные сетевые устройства, включающие в себя без ограничения персональные компьютеры, настольные компьютеры, многопроцессорные системы или программируемую бытовую электронику, сетевые ПК, серверные устройства, сетевые устройства и т.п.At least one embodiment of
Хотя на Фиг. 1 показан TCSD 114 в виде единого вычислительного устройства, настоящее изобретение не так ограничено. Например, одна или несколько функции TCSD 114 могут быть распределены по одному или нескольким различным сетевым устройствам. Кроме того, TCSD 114 не ограничивается конкретной конфигурацией. Таким образом, согласно одному варианту осуществления TCSD 114 может содержать множество сетевых устройств для контроля мониторинга тегов и/или возможности их развертывания. Аналогичным образом согласно другому варианту осуществления TCSD 114 может содержать множество сетевых устройств, которые оперируют с использованием подхода ведущий/ведомый, при котором одно из множества сетевых устройств TCSD 114 работает для управления и/или иным образом координирует операции других сетевых устройств. Согласно другим вариантам осуществления TCSD 114 может оперировать как множество сетевых устройств в кластере архитектуры, архитектуры равный к равному и/или даже в облачной архитектуры. Таким образом, изобретение не должно быть истолковано как ограниченное единой средой, а также предусмотрены другие конфигурации и архитектуры.While FIG. 1 shows the
По меньшей мере один из вариантов осуществления TDSD 116 описан более подробно ниже совместно с Фиг. 3. Вкратце, однако, TDSD 116 может включать в себя практически любое сетевое устройство способное на развертывание тега. Согласно некоторым вариантам осуществления TDSD 116 может быть оптимизировано для предоставления тегов для веб-сайтов в ответ на веб-запрос (например, запрос от посетителя на веб-сайте на просмотр веб-страницы). Согласно по меньшей мере одному варианту осуществления TDSD 116 может осуществлять связь с TCSD 114, чтобы получить список доступных для развертывания тегов. Согласно некоторым вариантам осуществления TDSD 116 может собирать данные о веб-странице и может записывать информацию о развернутых тегах. Устройства, которые могут работать как TDSD 116 включают в себя различные сетевые устройства, включающие в себя без ограничения персональные компьютеры, настольные компьютеры, многопроцессорные системы, или программируемую бытовую электронику, сетевые ПК, серверные устройства, сетевые устройства и т.п.At least one embodiment of the
Хотя на Фиг. 1 показано TDSD 116 в виде единого вычислительного устройства, изобретение не так ограничено. Например, одна или несколько функций TDSD 116 могут быть распределены по одному или нескольким различным сетевым устройствам. Кроме того, TDSD 116 не ограничивается конкретной конфигурацией. Таким образом, согласно одному варианту осуществления TDSD 116 может содержать множество сетевых устройств для развертывания тегов на веб-страницах. Аналогичным образом согласно другому варианту осуществления TDSD 116 может содержать множество сетевых устройств, которые работают с использованием подхода ведущий/ведомый, при котором один из множества сетевых устройств TDSD 116 работает для управления и/или иным образом координирует операциями с другими сетевыми устройствами.While FIG. 1 shows the
Согласно другим вариантам осуществления TCSD 116 может оперировать как множество сетевых устройств в кластере архитектуры, архитектуры равный к равному и/или даже в облачной архитектуре. Таким образом, изобретение не должно быть истолковано как ограниченное единой средой и также предусмотрены другие конфигурации и архитектуры.In other embodiments,
Показательное клиентское устройствоIllustrative client device
На Фиг. 2 показан один из вариантов осуществления клиентского устройства 200, которое может быть включено в систему реализующую варианты осуществления настоящего изобретения. Клиентское устройство 200 может содержать намного большее или меньшее количество компонентов, чем показано на Фиг. 2. Однако показанные компоненты достаточно наглядно раскрывают практическое осуществление варианта настоящего изобретения. Клиентское устройство 200 может представлять собой, например, один из вариантов осуществления по меньшей мере одного из клиентских устройств 102-105 на Фиг. 1.FIG. 2 illustrates one embodiment of a
Как показано на схеме, клиентское устройство 200 включает в себя процессор 202, связанный с массовой памятью 226 через шину 234. Согласно некоторым вариантам осуществления процессор 202 может включать в себя один или несколько центральных процессоров (CPU). Клиентское устройство 200 также включает в себя источник 228 питания, один или несколько сетевых интерфейсов 236, аудио интерфейс 238, дисплей 240, клавиатуру 242, подсветку 244, видео интерфейс 246, интерфейс 248 ввода/вывода, тактильный интерфейс 250 и приемник 232 глобальной системы позиционирования (GPS).As shown in the diagram,
Источник 228 питания обеспечивает питание клиентскому устройству 200. Для обеспечения питания может быть использована перезаряжаемая или не перезаряжаемая батарея. Питание может быть получено также от внешнего источника питания, такого как адаптер переменного тока (АС) или док станция, которая добавляет и/или заряжает аккумулятор.
Клиентское устройство 200 может дополнительно осуществлять связь с базовой станцией (не показана) или напрямую с другим вычислительным устройством. Сетевой интерфейс 236 включает в себя схему для соединения клиентского устройства 200 с одной или несколькими сетями и настраивается для использования с одним или несколькими протоколами и технологиями связи, включающими без ограничения GSM, CDMA, TDMA, GPRS, EDGE, WCDMA, HSDPA, LTE, протокол пользовательских дейтаграмм (UDP), протокол управления передачей/межсетевой протокол (ТСРЯР), службу коротких сообщений (SMS), WAP, сверхширокую полосу (UWB), IEEE 802.16 общемировую совместимость широкополосного беспроводного доступа (WiMAX), протокол установления сеанса/транспортный протокол в режиме реального времени (SIP/RTP) или любой из множества других протоколов беспроводной связи. Сетевой интерфейс 236 иногда называют трансивером, трансиверным устройством или сетевой интерфейсной платой (NIC).
Аудио интерфейс 238 выполнен с возможностью производить и получать аудио сигналы, такие как звук человеческого голоса. Например, аудио интерфейс 238 может быть соединен с динамиком и микрофоном (не показано), чтобы позволить осуществить телефонную связь с другим устройством и/или генерировать аудио подтверждение для какого-либо действия.
Дисплей 240 может быть жидкокристаллическим (LCD), плазменным, светодиодным (LED), органическим LED дисплеем или любым другим типом дисплея используемым с вычислительным устройством. Дисплей 240 может также содержать чувствительный сенсорный экран, выполненный с возможностью ввода объектом, таким как стилус или палец человеческой руки.
Клавишная панель 242 может охватывать любые устройства ввода выполненные с возможностью приема ввода от пользователя. Например, клавишная панель 242 может включать в себя кнопочный цифровой набор или клавиатуру.
Клавишная панель 242 может также включать в себя командные кнопки, которые связаны с выбором и отправкой изображений.
Подсветка 244 может обеспечивать индикацию состояния и/или обеспечивать подсветку. Подсветка 244 может оставаться активной в течение определенных периодов времени или в ответ на события. Например, когда подсветка 244 активна, она может подсвечивать кнопки на клавиатуре 242 и оставаться, пока клиентское устройство работает. Кроме того, подсветка 244 может подсвечивать эти кнопки определенным образом, когда выполняются конкретные действия, например, при наборе другого клиентского устройства. Подсветка 244 может также вызывать источники света расположенные внутри прозрачного или полупрозрачного корпуса клиентского устройства для подсветки в ответ на действия.
Видео интерфейс 246 выполнен с возможностью захвата видеоизображений, таких как фото, сегмент видео, инфракрасное видео или т.п. Например, видео интерфейс 246 может быть соединен с цифровой видеокамерой, веб-камерой или т.п. Видео интерфейс 246 может содержать в себя линзы, датчик изображения и другую электронику. Датчики изображения могут включать в себя интегральную схему с комплементарной структурой металл-оксид-полупроводник (CMOS), прибор с зарядовой связью (CCD) или любую другую интегральную схему для восприятия света.
Клиентское устройство 200 также содержит интерфейс 248 ввода/вывода для связи с внешними устройствами, такими как гарнитура или другие устройства ввода или вывода не показанные на Фиг. 2. Интерфейс 248 ввода/вывода может использовать одну или несколько коммуникационных технологий, таких как USB, инфракрасный, Bluetooth™ или т.п.
Тактильный интерфейс 250 выполнен с возможностью предоставления тактильной обратной связи для пользователя клиентским устройством. Например, тактильный интерфейс 250 может быть использован для вибрации клиентского устройства 200 особым образом, когда звонит другой пользователь вычислительного устройства. Согласно некоторым вариантам осуществления тактильный интерфейс 250 может быть необязательным.
Клиентское устройство 200 также может включать в себя приемопередатчик GPS 232 для определения физических координат клиентского устройства 200 на поверхности Земли. GPS-трансивер 232 согласно некоторым вариантам осуществления может быть необязательным. GPS трансивер 232, как правило, выдает местоположение в виде значений широты и долготы. Однако GPS трансивер 232 может также использовать другие механизмы геопозиционирования, включающие в себя без ограничения триангуляцию, вспомогательный GPS (AGPS), улучшенную систему наблюдения разности времени (E-OTD), сотовый идентификатор (О), идентификатор зоны обслуживания (SAI), улучшенную синхронизацию прохождения сигнала (ЕТА), систему базовых станций (BSS) или т.п для дальнейшего определения физического местоположения клиентского устройства 200 на поверхности Земли. Понятно, что в различных условиях GPS трансивер 232 может определить физическое местоположение в миллиметрах от клиентского устройства 200; и в других случаях определяемое физическое местоположение может быть менее точным, таким как в пределах метра или значительно больших расстояний. Однако согласно одному варианту осуществления мобильное устройство 200 может через другие компоненты предоставить другую информацию, которая может быть использована для определения физического местоположения устройства, включая в себя, например, управление доступом к среде (МАС-адрес), IP-адрес или т.п.The
Массовое запоминающее устройство 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.
Массовое запоминающее устройство 226 дополнительно включает в себя одно или несколько хранилищ 208 данных, которые могут быть использованы клиентским устройством 200 для хранения, в частности, приложений 214 и/или других данных. Например, хранилище 208 данных также может быть использовано для хранения информации, которая описывает различные возможности клиентского устройства 200. Эта информация затем может быть предоставлена другим устройствам основываясь на любом из множества событий, в том числе, может быть отправлена в качестве части заголовка во время связи, послана по запросу или т.п. Хранилище 208 данных может также использоваться для хранения информации социальных сетей, включая в себя адресные книги, списки приятелей, псевдонимы, информацию профиля пользователя или т.п. Кроме того, хранилище 208 данных может также хранить сообщение, содержимое веб-страницы или любой из множества созданных пользователем контентов. По меньшей мере часть информации может также храниться на другом компоненте сетевого устройства 200, включающем в себя без ограничения считываемый процессором носитель 230 данных, диск или другие машиночитаемые запоминающие устройств (не показано) в клиентском устройстве 200.The
Считываемый процессором носитель 230 данных может включать в себя энергозависимые, энергонезависимые, съемные и несъемные носители реализованные любым способом или технологией для хранения информации, такой как машино- или процессорочитаемые команды, структуры данных, программные модули или другие данные. Примеры машиночитаемых носителей данных включают в себя RAM, ROM, электронностираемое программируемое запоминающее устройство (EEPROM), флэш-память или память другой технологии, компакт-диск с возможностью чтения (CD-ROM), цифровые универсальные диски (DVD) или другое оптическое хранилище, магнитные кассеты, магнитную ленту, хранилище на магнитных дисках или другие магнитные хранилища, или любой другой физический носитель, который может использоваться для хранения требуемой информации, и к которому можно получить доступ посредством вычислительного устройства. Считываемый процессором носитель 230 данных также может быть упомянут в настоящем документе как машиночитаемый носитель информации и/или машиночитаемое запоминающее устройство.Processor-
Приложения 214 могут включать в себя исполняемые инструкции компьютера, при выполнении которых клиентское устройство 200 передает, принимает и/или иным образом обрабатывает сетевые данные. Сетевые данные могут включать без ограничения сообщения (например, SMS, служба мультимедийных сообщений (MMS), мгновенное сообщение (IM), электронную почту и/или другие сообщения), аудио, видео и возможность телефонной связи с другим пользователем другого клиентского устройства.
Приложения 214 могут включать в себя, например, браузер 218 и другие приложения 220. Другие приложения 220 могут включать в себя без ограничения календари, программы поиска, почтовые клиенты, IM приложения, SMS приложения, приложения с межсетевым протоколом передачи голоса (VoIP), контактные менеджеры, менеджеры задач, транскодеры, программы базы данных, программы обработки текста, приложения безопасности, электронные таблицы, игры, программы поиска и т.д.
Браузер 218 может включать в себя практически любое приложение предназначенное для приема и отображения графики, текста, мультимедиа, сообщений и т.п., используя практически любой веб-язык. Согласно одному варианту осуществления приложению браузера разрешено использовать HDML, WML, WMLScript, JavaScript, SGML, HTML, XML и т.п. для отображения и отправки сообщения. Тем не менее, может быть использован любой другой из множества веб-языков программирования. Согласно одному варианту осуществления браузер 218 может разрешить пользователю клиентского устройства 200 связываться с другим сетевым устройством, таким как TMSD 112, TCSD 114 и/или TDSD 116, показанным на Фиг. 1.
Показательное сетевое устройствоAn exemplary network device
На Фиг. 3 показан один вариант осуществления сетевого устройства 300 в соответствии с одним вариантом осуществления настоящего изобретения. Сетевое устройство 300 может включать в себя намного большее или меньшее количество компонентов, чем показано. Показанные компоненты, однако, достаточно точно иллюстрируют вариант практического осуществления изобретения. Сетевое устройство 300 может быть настроено работать в качестве сервера, клиента, узла, хоста или любого другого устройства.FIG. 3 shows one embodiment of a
Сетевое устройство 300 может представлять собой, например, TMSD 112, TCSD 114, TDSD 116, показанные на Фиг. 1, и/или другие сетевые устройства.
Сетевое устройство 300 включает в себя процессор 302, считываемый процессором носитель 328 данных, блок 330 сетевого интерфейса, интерфейс 332 ввода/вывода, жесткий диск 334, видеоадаптер 336 и память 326, все связанные друг с другом по шине 338. Согласно некоторым вариантам осуществления процессор 302 может включать в себя один или несколько центральных процессоров.
Как показано на Фиг. 3, сетевое устройство 300 также может обмениваться данными через Интернет или какую-либо другую коммуникационную сеть с помощью блока 330 сетевого интерфейса, который настроен для работы с различными протоколами связи, включая TCP/IP протокол. Блок 330 сетевого интерфейса иногда известен как трансивер, трансиверное устройство или сетевая карта (NIC).As shown in FIG. 3, the
Сетевое устройство 300 также содержит интерфейс 332 ввода/вывода для связи с внешними устройствами, такими как клавиатура или другие устройства ввода или вывода, не показанные на Фиг. 3. Интерфейс 332 ввода/вывода может использовать одну или несколько коммуникационных технологий, таких как USB, инфракрасное излучение, Bluetooth™ или т.п.
Память 326 обычно включает в себя RAM 304, ROM 322 и одно или несколько постоянных массовых запоминающих устройств, таких как жесткий диск 334, накопитель на магнитной ленте, оптический привод и/или флоппи-диск. Память 326 хранит операционную систему 306 для управления работой сетевого устройства 300. Может разрешаться любая операционная система общего назначения. Базовая система ввода/вывода (BIOS) 324 предусмотрена для контроля низкоуровневыми операциями сетевого устройства 300.
Хотя память 326 показана отдельно, она может включать в себя считываемый процессором носитель 328 данных. Считываемый процессором носитель 328 данных может упоминаться как и/или включать в себя машиночитаемые носители, машиночитаемые хранилища данных и/или считываемые процессором запоминающие устройства. Считываемый процессором носитель 328 данных может включать в себя энергозависимые, энергонезависимые, съемные и несъемные носители, реализованные любым способом или технологией для хранения информации, такой как машиночитаемые команды, структуры данных, программные модули или другие данные. Примеры считываемых процессором носителей данных включают в себя RAM, ROM, EEPROM, флэш-память или другую технологию памяти, CD-ROM, цифровые универсальные диски (DVD) или другое оптическое запоминающее устройство, магнитные кассеты, магнитные ленты, накопители на магнитных дисках или другие магнитные устройства хранения, или любые другие носители, которые могут быть использованы для хранения необходимой информации, и к которым можно получить доступ посредством вычислительного устройства.Although shown separately,
Память 326 дополнительно включает в себя одно или несколько хранилищ 308 данных, которые могут быть использованы сетевым устройством 300 для хранения, в частности, приложения 314 и/или других данных. Например, хранилище 308 данных также может быть использовано для хранения информации, которая описывает различные возможности сетевого устройства 300. Эта информация может затем быть предоставлена другим устройствам, основываясь на любом из множества событий, включающем в себя передачу в качестве части заголовка во время связи, отправлена по запросу или т.п. Хранилище 308 данных может также использоваться для хранения сообщений, содержимого веб-страницы или т.п. По меньшей мере часть информации может также быть сохранена на другом компоненте сетевого устройства 300, включающем в себя без ограничения считываемый процессором носитель 328 данных, жесткий диск 334 или другие машиночитаемые хранилища данных (не показано) в клиентском устройстве 300.
Хранилище 308 данных может включать в себя базу данных, текст, таблицы, папку, файл или т.п, которые могут быть настроены для поддержания и сохранения пользовательских идентификаторов учетных записей, профилей пользователя, адресов электронной почты, IM-адреса и/или других сетевых адресов или т.п. Хранилище 308 данных может дополнительно включать в себя программный код, данные, алгоритмы и т.п., для использования процессором, таким как процессор 302, исполнения и представления действий. Согласно по меньшей мере одному варианту осуществления хранилище данных 308 может включать в себя по меньшей мере одну таблицу состояний, чтобы обозначить какие теги находятся в определенном состоянии. Согласно одному варианту осуществления по меньшей мере некоторые из хранилищ 308 данных также могут быть сохранены на другом компоненте сетевого устройства 300, включающем в себя без ограничения считываемый процессором носитель 328 данных, жесткий диск 334 или т.п.The
Приложения 314 могут включать в себя компьютерные исполнительные инструкции, которые могут быть загружены в массовую память и запускать операционную систему 306. Примеры прикладных программ могут включать в себя транскодеры, планировщики, календари, программы баз данных, программы обработки текста, протокол передачи гипертекстовых приложений (HTTP), настраиваемые программы пользовательского интерфейса, IPS приложения, программы шифрования, программы безопасности, серверы SMS сообщений, серверы сообщений IM, почтовые серверы, персональные менеджеры и т.д. Приложения 314 могут также включать в себя веб-сервер 318, приложение 319 мониторинга тега (ТМА), приложение 320 развертывания тега (TDA), а также приложение 321 управления тегом (ТСА).
Веб-сервер 318 может представлять любую из множества информации и услуг, которые настроены передавать контент, включающий в себя сообщения, по сети к другому вычислительному устройству. Таким образом, веб-сервер 318 может включать в себя, например, веб-сервер, серверный протокол передачи файлов (FTP), сервер базы данных, сервер содержимого или т.п. Веб-сервер 318 может передавать контент, включающий в себя сообщения, по сети с помощью любого из множества форматов, включающего в себя без ограничения WAP, WML HDML, SGML, HTML, XML, компактный HTML (cHTML), расширенный HTML (xHTML) или т.п.
ТМА 319 может быть выполнено с возможностью асинхронного мониторинга задержки тега. Согласно по меньшей мере одному варианту осуществления ТМА 319 может асинхронно контролировать задержку тега независимо от запроса на загрузку веб-страницы (например, от посетителя сайта). ТМА 319 может эмулировать браузер, чтобы запросить тег и определить задержку тега. Согласно по меньшей мере одному варианту осуществления ТМА 319 может определить задержку тега путем расчета времени необходимого запрашиваемому тегу на загрузку в эмулированном браузере. Согласно некоторым вариантам осуществления ТМА 319 может быть использован TMSD 112 Фиг. 1. В любом случае, ТМА 319 может использовать процессы или части процессов, аналогичных тем, которые описаны со ссылкой на Фиг. 4-7 и 9А-9В для выполнения по меньшей мере некоторых из его действий.The
TDA 320 может быть настроено для развертывания тег. Согласно некоторым вариантам осуществления TDA 320 может обеспечивать теги для веб-сайта по запросу (например, запросу от посетителя на сайте просмотреть веб-страницу). Согласно по меньшей мере одному варианту осуществления TDA 320 может собирать данные о веб-странице и может записывать информацию о развернутых тегах. Согласно некоторым вариантам осуществления TDA 320 может быть использован TDSD 116 Фиг. 1. В любом случае, TDA 319 может использовать процессы или части процессов, аналогичных тем, которые описаны со ссылкой на Фиг. 4-7 и 9А-9В, для выполнения по меньшей мере некоторых из его действий.
ТСА 321 может быть настроено управлять состоянием каждого из множества тегов. Согласно некоторым вариантам осуществления ТСА 321 может быть настроено уведомлять и/или обеспечивать ТСА 319 каждым тэгом, который может быть готов подвергнуться мониторингу. Согласно некоторым вариантам осуществления ТСА 321 может записывать последнее время, когда тег был проверен (то есть, когда задержка тега определялась для тега), которое может быть использовано, чтобы определить следующий раз проверки тега. По меньшей мере согласно одному варианту осуществления ТСА 321 может записывать измерения тегов (например, задержку тега), которые вернулись из ТМА 319. Эти измерения могут быть использованы ТСА 321, чтобы определить необходимость изменения состояния тега или могут быть использованы для создания отчетности.
По меньшей мере согласно одному варианту осуществления ТСА 321 может изменить состояние тега. Согласно некоторым вариантам осуществления ТСА 321 может модифицировать таблицу состояний, добавив или удалив тег из данного состояния. Согласно некоторым вариантам осуществления ТСА 321 может быть настроено разрешать развертывание имеющимся тегам или блокировать теги от развертывания (например, отключить теги) основываясь на теговом состоянии. Согласно по меньшей мере одному варианту осуществления ТСА 321 может быть настроено обеспечивать и/или уведомлять ТСА 320 тегами, доступными для развертывания. Согласно некоторым вариантам осуществления ТСА 321 может быть использовано TCSD 114 Фиг. 1. В любом случае, ТСА 321 может использовать процессы или часть процессов, аналогичных тем, которые описаны со ссылкой на Фиг. 4-7 и 9А-9В, для выполнения по меньшей мере некоторых из его действий.In at least one embodiment,
Общие указания по эксплуатации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
Выполнение способа 400 начинается после стартового блока согласно блоку 402, где тег может быть определен для мониторинга. Согласно некоторым вариантам осуществления каждый из множества тегов можно подвергнуть мониторингу, причем каждый тег может быть связан по меньшей мере с одной веб-страницей. Согласно другим вариантам осуществления часть из множества тегов можно подвергнуть мониторингу, а другую часть множества тегов нельзя подвергнуть мониторингу. Согласно по меньшей мере одному варианту осуществления подвергнутые мониторингу теги должны быть заранее предопределены, определены, изменены пользователем или т.п.
Согласно некоторым вариантам осуществления тег может находиться в одном из множества различных состояний. Каждое состояние может позволить тегу быть развернутым или может блокировать тег от развертывания. Состояние тега может меняться из одного состояния в другое, основываясь на мониторинге, времени нахождения тега в состоянии и т.п. или их комбинации. Согласно некоторым вариантам осуществления различные триггеры (то есть, число последовательных событий задержки) могут быть использованы для перемещения тега из одного состояния в другое состояние. Варианты осуществления процессов для изменения тегового состояния описаны ниже более подробно со ссылками на Фиг. 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,
Согласно некоторым другим вариантам осуществления может быть определена задержка мониторинга тега. Согласно по меньшей мере одному варианту осуществления задержка может быть определена путем измерения периода времени от запроса тега до получения ответа сервера. Тем не менее, вариант осуществления, который описан более подробно выше, не так ограничен, и могут быть использованы другие способы определения задержки тега.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.
Согласно блоку 408 состояние тега может быть изменено основываясь на случае задержки, что более подробно описано ниже со ссылкой на Фиг. 5. Тем не менее, вкратце, если определение задержки (например, последовательных событий задержки) и состояния тега указывает на модификацию состояния, тогда состояние тега может быть изменено на другое состояние. Согласно некоторым вариантам осуществления, если количество событий задержки превышает пороговое значение события задержки, тег может изменить состояние, основываясь на текущем состоянии тега. Например, согласно некоторым вариантам тег может изменяться из состояния НОРМАЛЬНОЕ в состояние ПОМЕЧЕННОЕ, если превышено пороговое значение количества событий задержки. Согласно другим вариантам осуществления тег может меняться из состояния ПОМЕЧЕННОЕ в состояние ПРИОСТАНОВКА_А, если пороговое значение количества событий задержки превышено. Согласно еще другим вариантам осуществления тег может меняться из состояния ПРИОСТАНОВКА_В в состояние ПРИОСТАНОВКА_А, если пороговое значение количества событий задержки превышено. Согласно некоторым вариантам осуществления пороговое значение события задержки может представлять собой любое подходящее количество последовательных событий задержки, таких как, например, 1-3 последовательных события задержки. Согласно другим вариантам осуществления пороговое значение события задержки может представлять собой любое подходящее количество событий задержки, которое происходит в пределах заданного периода времени (например, 3 события задержки за пять минут). Тем не менее, варианты осуществления не так ограничены, и пороговое значение события задержки может основываться на других показателях/алгоритмах, чтобы определить перемещается ли тег из данного состояния, и в какое состояние тег перешел.At
Например, тег может меняться из одного состояния в другое состояние основываясь на: серьезности состояния задержки (например, значении задержки тега выше порогового значения серьезности), числе последовательных событий задержки выше порогового значения серьезности, числе событий задержки выше порогового значения серьезности в течение заданного периода времени, длительности нахождения тега в данном состоянии и т.п. или любом их сочетании. Согласно некоторым вариантам осуществления используемое для каждого состояния пороговое значение событий задержки может быть настроено и/или изменено индивидуально. Согласно по меньшей мере одному варианту осуществления каждое из этих пороговых значений событий задержки может быть отдельно настроено для каждого пользователя. Затем обработка перетекает к логическому блоку 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
Если согласно логическому блоку 406 определено, что произошло событие отсутствия задержки, то обработка может перетекать от логического блока 406 к блоку 410. Согласно блоку 410 состояние тега может быть изменено, основываясь на отсутствии события задержки, которое описано более подробно ниже со ссылкой на Фиг. 6. Тем не менее, вкратце, если определение времени задержки (например, последовательные события отсутствия задержки) и состояние тега указывает на модификацию в состоянии, тогда состояние тега может быть изменено в другое состояние. Согласно некоторым вариантам осуществления тег может изменять состояние, основываясь на текущем состоянии тега и если количество событий задержки превышает пороговое значение событий отсутствия задержки.If, according to
Согласно некоторым вариантам осуществления тег может меняться из состояния ПОМЕЧЕННОЕ в состояние НОРМАЛЬНОЕ, если превышено пороговое значение количества событий отсутствия задержки. Согласно другим вариантам осуществления тег может меняться из состояния ПРИОСТАНОВКА_В в состояние ПОМЕЧЕННОЕ, если превышено пороговое значение количества событий отсутствия задержки. Согласно некоторым вариантам осуществления пороговое значение состояний отсутствия задержки может представлять собой любое подходящее число последовательных событий отсутствия задержки, таких как, например, 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.
Согласно блоку 414 тегу может быть разрешено быть развернутым. Согласно некоторым вариантам осуществления разрешение тегу быть развернутым может включать в себя уведомление веб-страницы о том, что тег может быть запрошен и загружен на веб-страницу, если запрос веб-страницы предоставлен. Согласно другим вариантам осуществления разрешение тегу быть развернутым может включать в себя уведомление устройства развертывания тегов, такого как TDSD 116, показанного на фигуре 1, о том, что тег может быть запрошен и загружен на веб-страницу, если запрос для веб-страницы предоставлен. Согласно по меньшей мере одному варианту осуществления разрешенные для развертывания теги могут быть включены в таблицы или списки доступных для развертывания тегов. Согласно некоторым вариантам осуществления, если определение текущего состояния тега утвердительно показывает развертывание (как определено блоком 412) и веб-страница запрашивается, тег может быть развернут с ассоциированной веб-страницей.At
После блока 414 способ 400 может делать петлю к блоку 404, чтобы продолжить асинхронно осуществлять мониторинг задержки тега.After
На Фиг. 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
Выполнение способа 500 начинается после стартового блока согласно логическому блоку 502, где может быть определено в нормальном ли состоянии тег. Согласно по меньшей мере одному варианту осуществления каждое состояние (то есть, состояние НОРМАЛЬНОЕ, состояние ПОМЕЧЕННОЕ, состояние ПРИОСТАНОВКА_А и/или состояние ПРИОСТАНОВКА_В) может соответствовать таблице, которая идентифицирует теги в этом конкретном состоянии. Например, таблица нормальных тегов может идентифицировать теги в состоянии НОРМАЛЬНОЕ; таблица помеченных тегов может идентифицировать теги в состоянии ПОМЕЧЕННОЕ; таблица тегов ПРИОСТАНОВКА_А может идентифицировать теги в состоянии ПРИОСТАНОВКА_А и таблица тегов ПРИОСТАНОВКА_В может идентифицировать теги в состоянии ПРИОСТАНОВКА_В. Согласно некоторым вариантам осуществления тег может быть определен как в состоянии НОРМАЛЬНОЕ, если тег включен в таблицу нормальных тегов. Если тэг находится в состоянии НОРМАЛЬНОЕ, то обработка может перетекать к логический блоку 504; в противном случае, обработка может перетекать к логическому блоку 510.
Согласно блоку 504 может быть определено, превышает ли событие задержки пороговое значение. Согласно некоторым вариантам осуществления пороговое значение события задержки может представлять собой общее количество последовательных событий задержки. В одном не ограничивающем, не исчерпывающем примере, пороговое значения события задержки для состояния НОРМАЛЬНОЕ может представлять собой одно событие задержки. Согласно по меньшей мере одному такому варианту осуществления определение превышения порогового значения события задержки может включать в себя сравнение ряда последовательных событий задержки с пороговым значением события задержки. Согласно другим вариантам осуществления пороговое значение события задержки может представлять собой общее число событий задержки, произошедших в течение определенного периода времени. Тем не менее, настоящие варианты осуществления не так ограничены, и могут быть использованы другие пороговые значения событий задержки. Если превышено пороговое значение события задержки, то обработка может перетекать к блоку 506; в противном случае, обработка может перетекать к блоку 508.At
Согласно блоку 506, тег может быть перемещен в состояние ПОМЕЧЕННОЕ. Согласно по меньшей мере одному варианту осуществления перемещение тега в состояние ПОМЕЧЕННОЕ может включать в себя удаление тега из таблицы тегов НОРМАЛЬНЫЕ и добавление тега в таблицу тегов ПОМЕЧЕННЫЕ. Тем не менее, настоящие варианты осуществления не так ограничены, и могут быть использованы другие способы идентификации и изменения состояния тега. Согласно некоторым вариантам осуществления тег в состоянии ПОМЕЧЕННОЕ может не быть блокирован, и ему может быть разрешено развертывание. Согласно по меньшей мере одному варианту осуществления e-mail, текстовое сообщение или другое уведомление может быть отправлено пользователю для указания, что тег был переведен в состояние ПОМЕЧЕННОЕ. Согласно некоторым другим вариантам осуществления, если тег возвращает ошибку (например, http-ответы 4хх|5хх), когда тег задержки тега контролируется, то тег может быть переведен в состояние ПОМЕЧЕННОЕ. После блока 506, способ 500 может вернуться к вызывающему процессу для выполнения других действий.At
Если согласно логическому блоку 504 определено, что пороговое значение события задержки не превышено, то обработка может перетекать от логического блока 504 к блоку 508. Согласно блоку 508 тег может оставаться в состоянии НОРМАЛЬНОЕ. Согласно по меньшей мере одному варианту осуществления тег в состоянии НОРМАЛЬНОЕ может не быть блокирован, и ему может быть разрешено развертывание. После блока 506 способ 500 может вернуться к вызывающему процессу для выполнения других действий.If, according to
Если согласно логическому блоку 502 определено, что тег не находится в состоянии НОРМАЛЬНОЕ, то обработка может перетекать из логического блока 502 в блок 510. Согласно логическому блоку 510 может быть выполнено определение находится ли тег в состоянии ПОМЕЧЕННОЕ. Согласно некоторым вариантам тег может быть определен находящимся в состоянии ПОМЕЧЕННОЕ, если тег включен в таблицу тегов ПОМЕЧЕННЫЕ. Если тег находится в состояние ПОМЕЧЕННОЕ, то обработка может перетекать к логический блоку 512; в противном случае, обработка может перетекать к логический блоку 516.If, according to
Согласно логическому блоку 512 может быть выполнено определение того, превышено ли пороговое значение событий задержки. Согласно по меньшей мере одному варианту осуществления логический блок 512 может использовать варианты осуществления логического блока 504, чтобы определить превышается ли пороговое значение события задержки. Согласно некоторым вариантам пороговое значение события задержки для состояния ПОМЕЧЕННОЕ может быть одинаковым или различным с пороговым значением события задержки для состояния НОРМАЛЬНОЕ. Согласно одному не ограничивающему, не исчерпывающему примеру пороговое число событий задержки для состояния ПОМЕЧЕННОЕ может представлять собой три последовательных события задержки. Тем не менее, настоящие варианты осуществления не так ограничены, и могут быть использованы другие пороговые значения событий задержки. Если пороговое значение события задержки превышено, то обработка может перетекать к блоку 524; в противном случае, обработка может перетекать к блоку 514.According to
Согласно блоку 514 тег может оставаться в состоянии ПОМЕЧЕННОЕ. Согласно по меньшей мере одному варианту осуществления тег в состоянии ПОМЕЧЕННОЕ может не быть блокирован и ему может быть разрешено развертывание. После блока 514 способ 500 может вернуться к вызывающему процессу для выполнения других действий.At
Если согласно логическому блоку 510 определено, что тег не находится в состоянии ПОМЕЧЕННОЕ, то обработка может перетекать от логического блока 510 к логическому блоку 516. Согласно логическому блоку 516 может быть выполнено определение того, находится ли тег в состоянии ПРИОСТАНОВКА_В. Согласно некоторым вариантам осуществления тег может быть определен как находящийся в состоянии ПРИОСТАНОВКА_В, если тег включен в таблицу тегов ПРИОСТАНОВКА_В. Если тег находится в состоянии ПРИОСТАНОВКА_В, то обработка может перетекать к логическому блоку 518; в противном случае, тег может быть в состоянии ПРИОСТАНОВКА_А и обработка может перетекать к логическому блоку 520.If, according to
Согласно блоку 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,
Если согласно логическому блоку 516 определено, что тег находится в состоянии ПРИОСТАНОВКА_В, то обработка может перетекать от логического блока 516 к логическому блоку 518. Согласно логическому блоку 518 может быть выполнено определение того, превышено ли пороговое значение события задержки. Согласно по меньшей мере одному варианту осуществления логический блок 518 может использовать варианты осуществления логического блока 504, чтобы определить превышение порогового значения события задержки. Согласно некоторым вариантам осуществления пороговое значение события задержки для состояния ПРИОСТАНОВКА_В может быть одинаковым или различным с пороговым значением события задержки для состояния НОРМАЛЬНОЕ и/или состояние ПОМЕЧЕННОЕ. В одном не ограничивающем, не исчерпывающем примере пороговое число событий задержки для состояния ПРИОСТАНОВКА_В может представлять собой три последовательных события задержки. Тем не менее, настоящие варианты осуществления не так ограничены, и могут быть использованы другие пороговые значения событий задержки. Если пороговое значение события задержки превышено, то обработка может перетекать к блоку 524; в противном случае, обработка может перетекать к блоку 522.If
Согласно блоку 524 тег может быть перемещен в состояние ПРИОСТАНОВКА_А. Согласно по меньшей мере одному варианту осуществления перевод тега в состояние ПРИОСТАНОВКА_А может включать в себя добавление тега в таблицу тегов ПРИОСТАНОВКА_А и удаление тега из таблицы тегов ПОМЕЧЕННЫЕ или таблицы тегов ПРИОСТАНОВКА_В. Согласно некоторым вариантам осуществления тег в состоянии ПРИОСТАНОВКА_А может быть блокирован и ему может быть не разрешено развертывание. После блока 524 способ 500 может вернуться к вызывающему процессу для выполнения других действий.At
Если согласно логическому блоку 518 определено, что пороговое значение события задержки не превышается, то обработка может перетекать от логического блока 518 к блоку 522. Согласно блоку 522 тег может оставаться в состоянии ПРИОСТАНОВКА_В. Согласно некоторым вариантам тег в состоянии ПРИОСТАНОВКА_В может быть блокирован и ему может быть не разрешено развертывание. После блока 522 способ 500 может вернуться к вызывающему процессу для выполнения других действий.If, according to
На Фиг. 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
Выполнение способа 600 начинается после стартового блока согласно логическому блоку 602, где может быть определено, находится ли тег в состоянии НОРМАЛЬНОЕ. Согласно по меньшей мере одному варианту осуществления логический блок 602 может использовать варианты осуществления логического блока 502 на Фиг. 5, чтобы определить находится ли тег в состоянии НОРМАЛЬНОЕ. Если тег находится в состоянии НОРМАЛЬНОЕ, то обработка может перетекать к блоку 604; в противном случае, обработка может перетекать к логическому блоку 606.The
Согласно блоку 604 тег может оставаться в состоянии НОРМАЛЬНОЕ и тегу разрешено развертывание. Согласно по меньшей мере одному варианту осуществления блок 604 может использовать варианты осуществления блока 508 на Фиг. 5. После блока 604 способ 600 может вернуться к вызывающему процессу для выполнения других действий.At
Если согласно логическому блоку 602 определено, что тег не находится в состоянии НОРМАЛЬНОЕ, то обработка может перетекать из логического блока 602 к логическому блоку 606. Согласно логическому блоку 606 может быть выполнено определение того, находится ли тег в состоянии ПОМЕЧЕННОЕ. Согласно по меньшей мере одному варианту осуществления логический блок 606 может использовать варианты осуществления логического блока 510 на Фиг. 5, чтобы определить, находится ли тег в состоянии ПОМЕЧЕННОЕ. Если тег находится в состоянии ПОМЕЧЕННОЕ, то обработка может перетекать к логическому блоку 608; в противном случае, обработка может перетекать к логическому блоку 610.If, according to
Согласно логическому блоку 608 может быть выполнено определение того, не превышено ли пороговое значение события отсутствия задержки. Согласно некоторым вариантам осуществления пороговое значение события отсутствия задержки может представлять собой общее количество последовательных событий отсутствия задержки. В одном не ограничивающем, не исчерпывающем примере пороговое значение события отсутствия задержки для состояния ПОМЕЧЕННОЕ может представлять собой три последовательных события отсутствия задержки. Согласно по меньшей мере одному такому варианту осуществления определение превышения порогового значения события отсутствия задержки может включать в себя сравнение ряда последовательных событий отсутствия задержки с пороговым значением события отсутствия задержки. Согласно другим вариантам осуществления пороговое значение события отсутствия задержки может представлять собой общее число событий отсутствия задержки произошедших в течение определенного периода времени. Тем не менее, настоящие варианты осуществления не так ограничены, и могут быть использованы другие пороговые значения событий отсутствия задержки. Если пороговое значение события отсутствия задержки превышено, то обработка может перетекать к блоку 616; в противном случае обработка может перетекать к блоку 614.According to
Согласно блоку 616 тег может быть переведен в состояние НОРМАЛЬНОЕ. Согласно по меньшей мере одному варианту осуществления перевод тега в состояние НОРМАЛЬНОЕ может включать в себя удаление тега из таблицы тегов ПОМЕЧЕННОЕ и добавление тега в таблицу тегов НОРМАЛЬНОЕ. Тем не менее, варианты осуществления не так ограничены, и могут быть использованы другие способы идентификации и изменения состояния тега. Согласно некоторым вариантам осуществления тег в состоянии НОРМАЛЬНОЕ может не быть блокирован и ему может быть разрешено развертывание. Согласно некоторым другим вариантам осуществления тег может вернуться в состояние НОРМАЛЬНОЕ, если пользователь сбрасывает состояние тега, поле HTML тега редактируется, мониторинг тега отключен и/или географическая область мониторинга тега изменилась (т.е. пользователь может выбрать географическое местоположение серверов для мониторинга тегов). После блока 616, способ 600 может вернуться к вызывающему процессу для выполнения других действий.At
Если согласно логическому блоку 608 определено, что пороговое значение события отсутствия задержки не превышено, то обработка может перетекать от логического блока 608 к блоку 614. Согласно блоку 614 тег может оставаться в состоянии ПОМЕЧЕННОЕ. Согласно по меньшей мере одному варианту осуществления блок 614 может использовать варианты осуществления блока 514 на Фиг. 5. После блока 614 способ 600 может вернуться к вызывающему процессу для выполнения других действий.If, according to
Если согласно логическому блоку 606 определено, что тег не находится в состоянии ПОМЕЧЕННОЕ, то обработка может перетекать из логического блока 606 к блоку 610. Согласно логическому блоку 610 может быть выполнено определение того, находится ли тег в состоянии ПРИОСТАНОВКА_В. Согласно по меньшей мере одному варианту осуществления логический блок 610 может использовать варианты осуществления логического блока 516 на Фиг. 5, чтобы определить, находится ли тег в состоянии ПРИОСТАНОВКА_В. Если тег находится в состоянии ПРИОСТАНОВКА_В, то обработка может перетекать к логическому блоку 618; в противном случае, обработка может перетекать к логическому блоку 612.If, according to
Согласно блоку 612 тег может оставаться в состоянии ПРИОСТАНОВКА_А. Согласно по меньшей мере одному варианту осуществления блок 612 может использовать варианты осуществления блока 520 на Фиг. 5. После блока 612 способ 600 может вернуться к вызывающему процессу для выполнения других действий.At
Если согласно логическому блоку 610 определено, что тег не находится в состоянии ПРИОСТАНОВКА_В, то обработка может перетекать от логического блока 610 к блоку 618. Согласно логическому блоку 618 может быть выполнено определение того, не превышено ли пороговое значение события отсутствия задержки. Согласно по меньшей мере одному варианту осуществления логический блок 618 может использовать варианты осуществления логического блока 608, чтобы определить превышение порогового значение события отсутствия задержки. Согласно некоторым вариантам осуществления пороговое значение события отсутствия задержки для состояния ПРИОСТАНОВКА_А может быть таким же или отличаться от порогового значение события отсутствия задержки для состояния ПОМЕЧЕННОЕ. В одном не ограничивающем, не исчерпывающем примере пороговое число событий отсутствия задержки для состояния ПРИОСТАНОВКА_А может представлять собой три последовательных события отсутствия задержки. Тем не менее, варианты осуществления не так ограничены, и могут быть использованы другие пороговые значения событий отсутствия задержки. Если пороговое значение события отсутствия задержки превышено, то обработка может перетекать к блоку 622; в противном случае, обработка может перетекать к блоку 620.If, according to
Согласно блоку 622 тег может быть перемещен в состояние ПОМЕЧЕННОЕ. Согласно по меньшей мере одному варианту осуществления блок 622 может использовать варианты осуществления блока 506 на Фиг. 5. После блока 622 способ 600 может вернуться к вызывающему процессу для выполнения других действий.At
Если согласно логическому блоку 618 определено, что пороговое значение события отсутствия задержки не превышено, то обработка может перетекать от логического блока 618 к блоку 620. Согласно блоку 620 тег может оставаться в состоянии ПРИОСТАНОВКА_В. Согласно по меньшей мере одному варианту осуществления блок 620 может использовать варианты осуществления блока 522 на Фиг. 5. После блока 620 способ 600 может вернуться к вызывающему процессу для выполнения других действий.If, according to
На Фиг. 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
Выполнение способа 700 начинается после стартового блока, согласно блоку 702, где может быть использован тег в состоянии НОРМАЛЬНОЕ. Согласно по меньшей мере одному варианту осуществления тег в состоянии НОРМАЛЬНОЕ может не быть блокирован и ему может быть разрешено развертывание. Как описано выше (согласно блоку 404), может осуществляться асинхронный мониторинг задержки тега. Согласно по меньшей мере одному варианту осуществления задержка тега в нормальном состоянии может контролироваться через каждые 15 минут. Тем не менее, могут быть использованы и другие частоты для мониторинга тега в состоянии ПОМЕЧЕННОЕ.
Выполнение способа 700 продолжается согласно логическому блоку 704, где для тега может быть определено, произошло ли событие задержки. Согласно по меньшей мере одному варианту осуществления логический блок 704 может использовать варианты осуществления логического блока 406 на Фиг. 4, для определения того, произошло ли событие задержки основываясь на асинхронном мониторинге задержки тега. Если событие задержки произошло, то обработка может перетекать к логическому блоку 705; в противном случае, обработка может делать петлю к блоку 702, где тег может оставаться в нормальном состоянии.
Согласно логическому блоку 705 может быть определено, превышает ли пороговое значение событие задержки. Согласно по меньшей мере одному варианту осуществления логический блок 705 может использовать варианты осуществления логического блока 504 на Фиг. 5, для определения того, превышено ли пороговое значение события задержки тега в состоянии НОРМАЛЬНОЕ. Если пороговое значение события задержки превышено, то тег может быть переведен в состояние ПОМЕЧЕННОЕ и обработка может перетекать к блоку 706; в противном случае, обработка может делать петлю к блоку 702, где тег может оставаться в состоянии НОРМАЛЬНОЕ. Согласно некоторым вариантам осуществления способ 700 может использовать варианты осуществления блока 506 на Фиг. 5, чтобы перевести тег в состоянии ПОМЕЧЕННОЕ.According to
Согласно блоку 706 тег может быть использован в состоянии ПОМЕЧЕННОЕ. По меньшей мере в одном варианте осуществления тег в состоянии ПОМЕЧЕННОЕ может не быть блокирован и ему может быть разрешено развертывание. Согласно по меньшей мере одному варианту осуществления задержку тега в состоянии ПОМЕЧЕННОЕ можно подвергать мониторингу через каждые пять минут. Тем не менее, могут быть использованы и другие частоты для мониторинга тега в состоянии ПОМЕЧЕННОЕ.At
Согласно некоторым вариантам осуществления пользователь может вручную перевести тег из состояния ПОМЕЧЕННОЕ в НОРМАЛЬНОЕ, используя «сброс» тега. Согласно по меньшей мере одному варианту осуществления пользователь может перевести тег в состояние НОРМАЛЬНОЕ, нажав на кнопку «сброс». Тем не менее, варианты осуществления не так ограничены, и могут использоваться другие варианты осуществления для сброса тега и/или ручного перевода тега в состояние НОРМАЛЬНОЕ. Согласно по меньшей мере одному варианту осуществления ручной перевод тега может произойти независимо от процесса мониторинга задержки тега. Если тег в состоянии ПОМЕЧЕННОЕ вручную «сбросить» в состояние НОРМАЛЬНОЕ, то способ 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
Согласно по меньшей мере одному варианту осуществления тег в любом состоянии (и/или заданном состоянии), может быть «сброшен» в состояние НОРМАЛЬНОЕ.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,
Согласно логическому блоку 708 может быть выполнено определение того, превышается ли пороговое значение событие отсутствия задержки. Согласно по меньшей мере одному варианту осуществления логический блок 708 может использовать варианты осуществления логического блока 608 на Фиг. 6, чтобы определить превышение порогового значения события отсутствия задержки для тега в состоянии ПОМЕЧЕННОЕ. Если пороговое значение события отсутствия задержки превышено, то тег может быть перемещен в состояние НОРМАЛЬНОЕ и обработка может перетекать к блоку 702; в противном случае, обработка может делать петлю к блоку 706, где тег может оставаться в состояние ПОМЕЧЕННОЕ. Согласно некоторым вариантам осуществления способ 700 может использовать варианты осуществления блока 616 на Фиг. 6, чтобы переместить тег в состояние НОРМАЛЬНОЕ.According to
Если согласно логическому блоку 710 произошло событие задержки, то обработка может перетекать от логического блока 710 к логическому блоку 712. Согласно логическому блоку 712 может быть определено превышение порогового значения события задержки. Согласно по меньшей мере одному варианту осуществления логический блок 712 может использовать варианты осуществления логического блока 512 на Фиг. 5, для определения того, не превышено ли пороговое значение события задержки тега в состоянии ПОМЕЧЕННОЕ. Если пороговое значение события задержки превышено, то тег может быть переведен в состояние ПРИОСТАНОВКА_А и обработка может перетекать к блоку 714; в противном случае, обработка может делать петлю к блоку 706, где тег может оставаться в состоянии ПОМЕЧЕННОЕ. Согласно некоторым вариантам осуществления способ 700 может использовать варианты осуществления блока 524 на Фиг. 5, чтобы переместить тег в состояние ПРИОСТАНОВКА_А.If, according to
Согласно блоку 714 тег может быть использован в состоянии ПРИОСТАНОВКА_А. Согласно некоторым вариантам осуществления тег в состоянии ПРИОСТАНОВКА_А может оставаться в состоянии ПРИОСТАНОВКА_А в течение заданного периода времени. Согласно по меньшей мере одному варианту осуществления не может осуществляться мониторинг задержки тега в то время как тег находится в состоянии ПРИОСТАНОВКА_А. Согласно некоторым вариантам осуществления тег в состоянии ПРИОСТАНОВКА_А может быть блокирован и ему не может быть разрешено развертывание.At
Согласно некоторым вариантам осуществления пользователь может вручную переместить тег из состояния ПРИОСТАНОВКА_А в НОРМАЛЬНОЕ путем «сброса» тега. Согласно по меньшей мере одному варианту осуществления блок 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
Выполнение способа 700 продолжается согласно логическому блоку 716, где может быть определено, истек ли период времени для тега, чтобы оставаться в состоянии ПРИОСТАНОВКА_А. Согласно по меньшей мере одному варианту осуществления период времени может быть определен и/или изменен пользователем. Согласно некоторым вариантам осуществления период времени может быть равный 20 минутам. Тем не менее, варианты осуществления не так ограничены, и могут быть использованы другие периоды времени. Если период времени истек, то тег может быть переведен в состояние ПРИОСТАНОВКА_В и обработка может перетекать к блоку 718; в противном случае, обработка может делать петлю к блоку 714, где тег может оставаться в состоянии ПРИОСТАНОВКА_А.
Согласно блоку 718 тег может быть использован в состоянии ПРИОСТАНОВКА_В. Согласно по меньшей мере одному варианту осуществления тег в состоянии ПРИОСТАНОВКА_В может быть блокирован и ему не может быть разрешено развертывание. Согласно по меньшей мере одному варианту осуществления мониторинг задержки тега в состоянии ПРИОСТАНОВКА_В может осуществляться каждую минуту. Тем не менее, могут быть использованы другие частоты для мониторинга тега в состоянии ПРИОСТАНОВКА_В.At
Согласно некоторым вариантам осуществления пользователь может вручную перевести тег из состояния ПРИОСТАНОВКА_В в НОРМАЛЬНОЕ путем «сброса» тега. Согласно по меньшей мере одному варианту осуществления блок 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
Дальше способ 700 переходит к логическому блоку 720, где для тега может быть определено, произошло ли событие задержки. Согласно по меньшей мере одному варианту осуществления логический блок 720 может использовать варианты осуществления логического блока 704, чтобы определить, произошло ли событие задержки. Если событие задержки произошло, то обработка может перетекать к логическому блоку 722; в противном случае, обработка может перетекать к логическому блоку 724.
Согласно логическому блоку 722 может быть определено, превышается ли пороговое значение события задержки. Согласно по меньшей мере одному варианту осуществления логический блок 722 может использовать варианты осуществления логического блока 518 на Фиг. 5, чтобы определить превышение порогового значения события задержки для тега в состоянии ПРИОСТАНОВКА_В. Если пороговое значение события задержки превышено, то тег может быть перемещен в состояние ПРИОСТАНОВКА_А и обработка может перетекать к блоку 714; в противном случае, обработка может делать петлю к блоку 718, в котором тег может оставаться в состоянии ПРИОСТАНОВКА_В. Согласно некоторым вариантам осуществления способ 700 может использовать варианты осуществления блока 524 на Фиг. 5, чтобы переместить тег в состояние ПРИОСТАНОВКА_А.According to
Если согласно логическому блоку 720 событие задержки не произошло, то обработка может перетекать от логического блока 720 к логическому блоку 724. Согласно логическому блоку 724 может быть определено, превышается ли пороговое значение события отсутствия задержки. Согласно по меньшей мере одному варианту осуществления логический блок 724 может использовать варианты осуществления логического блока 618 на Фиг. 6, чтобы определить превышение порогового значения события отсутствия задержки тега в состоянии ПРИОСТАНОВКА_В. Если пороговое значение события задержки превышено, то тег может быть перемещен в состояние ПОМЕЧЕННОЕ и обработка может делать петлю к блоку 706; в противном случае, обработка может делать петлю к блоку 718, где тег может оставаться в состоянии ПРИОСТАНОВКА_В. Согласно некоторым вариантам осуществления способ 700 может использовать варианты осуществления блока 506 на Фиг. 5, чтобы переместить тег в состояние ПОМЕЧЕННОЕ.If, according to
Следует понимать, что каждый блок блок-схемы, и комбинации блоков в блок-схеме могут быть реализованы командами компьютерной программы. Эти программные инструкции могут быть предоставлены в процессор для выполнения машиной, таким образом, что инструкции, которые выполняются в процессоре, создают средства для осуществления действий, указанных на блок-схеме или блоках. Команды компьютерной программы могут быть выполнены процессором для вызова серии оперативных этапов, выполняемых процессором для получения процесса, реализуемого с помощью компьютера, такого, что инструкции, которые выполняются в процессоре, обеспечивают этапы для реализации указанных действий в блок-схеме или блоках. Команды компьютерной программы могут также вызывать по меньшей мере некоторые из оперативных этапов, показанных на блоках блок-схемы, которые должны выполняться параллельно. Кроме того, некоторые из этапов могут также быть выполнены на более чем одном процессоре, такие которые могут возникнуть в системе мультипроцессорного компьютера. В дополнение, один или несколько блоков или комбинаций блоков в блок-схеме могут также быть выполнены одновременно с другими блоками или комбинациями блоков или даже в другой последовательности, чем показано, без отхождения от объема или сущности настоящего изобретения.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
Тегу в состоянии НОРМАЛЬНОЕ 802 может быть разрешено запускание. Согласно по меньшей мере одному варианту осуществления разрешение тега на запускание может включать в себя определение доступности тега для развертывания и разрешение тега на развертывание. Согласно некоторым вариантам осуществления тег в состоянии НОРМАЛЬНОЕ 802 может быть переведен в состояние ПОМЕЧЕННОЕ 804, если для тега контролируется одно событие задержки. Тем не менее, варианты осуществления не так ограничены; но скорее могут быть использованы показатели для определения перемещения тега из состояния НОРМАЛЬНОЕ 802, которые описаны более подробно ниже.A tag in the
Тегу в состоянии ПОМЕЧЕННОЕ 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
Тег в состоянии ПРИОСТАНОВКА_А 806 может быть блокирован от запускания. По меньшей мере в одном варианте осуществления блокирование тега от запускания включает в себя определение недоступности тега для развертывания и не позволяет тегу быть развернутым. Согласно некоторым вариантам осуществления тег в состоянии ПРИОСТАНОВКА_А 806 может быть перемещен в состояние ПРИОСТАНОВКА_В после пребывания в состоянии ПРИОСТАНОВКА_А в течение 20 минут. Тем не менее, варианты осуществления не так ограничены; но скорее могут быть использованы показатели для определения перемещения тега из состояния ПРИОСТАНОВКА_А 806, которые описаны более подробно ниже.A tag in the
Тег состоянии ПРИОСТАНОВКА_В 808 может быть блокирован от запуска. Согласно некоторым вариантам осуществления тег в состоянии ПРИОСТАНОВКА_В 808 может быть перемещен в состояние ПРИОСТАНОВКА_А 806, если для тега наблюдаются три последовательных события задержки. Согласно другим вариантам осуществления тег в состоянии ПРИОСТАНОВКА_В 808 может быть перемещен в состояние ПОМЕЧЕННОЕ 804, если наблюдаются для тега три последовательных события отсутствия задержки. Тем не менее, варианты осуществления не так ограничены; но скорее могут быть использованы другие показатели для определения перемещения тега из состояния ПРИОСТАНОВКА_В 808.The
Следует отметить, что на фигуре 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
Альтернативный вариант осуществления изобретения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
Выполнение способа 900 начинается после стартового блока согласно блоку 902, где тег может быть использован в состоянии НОРМАЛЬНОЕ. Согласно по меньшей мере одному варианту осуществления блок 902 может использовать варианты осуществления блока 702, показанного на Фиг. 7, для использования тега в состоянии НОРМАЛЬНОЕ. Согласно некоторым вариантам осуществления тег в состоянии НОРМАЛЬНОЕ может характеризоваться частотой мониторинга в 15 минут.
Способ 900 переходит к логическому блоку 904, где может быть выполнено определение того, превысил ли контролируемый тег задержки тега пороговое значение ожидания. Согласно по меньшей мере одному варианту осуществления пороговое значение ожидания может представлять собой определенную задержку (т.е. заранее определенное количество времени). Согласно по меньшей мере одному варианту осуществления пороговое значение ожидания может быть определено и/или модифицировано пользователем. Если задержка тега превышает пороговое значение ожидания, то тег может быть перемещен в состояние ПРЕДПРИОСТАНОВЛЕННОЕ, и обработка может перетекать к блоку 912; в противном случае, обработка может перетекать к логическому блоку 906.
Согласно логическому блоку 906 может быть определено превышает ли задержка тега пороговое значение предупреждения. Согласно по меньшей мере одному варианту осуществления пороговое значение предупреждения может представлять собой заранее определенное время задержки тега. Согласно по меньшей мере одному варианту осуществления пороговое значение предупреждения может быть определено и/или изменено пользователем. Согласно некоторым вариантам осуществления пороговое значение предупреждения может быть больше, чем желаемая пользователем задержка тега, но меньше, чем пороговое значение ожидания. Если задержка тега превышает пороговое значение предупреждения (но не превышает пороговое значение ожидания), то тег может быть перемещен в состоянии ПОМЕЧЕННОЕ, и обработка может перетекать к блоку 908; в противном случае, обработка может делать петлю к блоку 902, где тег может оставаться в состоянии НОРМАЛЬНОЕ.According to
Согласно блоку 908 тег может быть использован в состоянии ПОМЕЧЕННОЕ. Согласно по меньшей мере одному варианту осуществления блок 908 может использовать варианты осуществления блока 706, показанного на Фиг. 7, для использования тега в состоянии ПОМЕЧЕННОЕ. Согласно некоторым вариантам тег в состоянии ПОМЕЧЕННОЕ может характеризоваться частотой мониторинга в пять минут. Согласно по меньшей мере одному варианту осуществления тег в состоянии ПОМЕЧЕННОЕ может оставаться в состоянии ПОМЕЧЕННОЕ до тех пор, пока задержка тега не превышает пороговое значение ожидания (также как согласно логическому блоку 910) или не превышает пороговое значение предупреждения (также как согласно логическому блоку 914). Согласно некоторым вариантам осуществления пользователю могут быть отправлены e-mail, текстовое сообщение или другое уведомление, указывающее на то, что тег находится в состоянии ПОМЕЧЕННОЕ.At
Выполнение способа 900 продолжается согласно логическому блоку 910, где может быть определено, превышает ли задержка тега пороговое значение ожидания тега. Согласно по меньшей мере одному варианту осуществления логический блок 910 может использовать варианты осуществления логического блока 904, чтобы определить превышение порогового значения ожидания. Если задержка тега превышает пороговое значение ожидания, то тег может быть перемещен в состояние ПРЕДПРИОСТАНОВЛЕННОЕ, и обработка может перетекать к блоку 912; в противном случае, обработка может перетекать к логическому блоку 914.
Согласно логическому блоку 914 может быть определено, превышает ли задержка тега пороговое значение предупреждения. Согласно по меньшей мере одному варианту осуществления логический блок 910 может использовать варианты осуществления логического блока 904, чтобы определить превышение порогового значения предупреждения. Если задержка тега превышает пороговое значение предупреждения (но не превышает пороговое значение ожидания), то тег может оставаться в состоянии ПОМЕЧЕННОЕ и обработка может делать петлю к блоку 908; в противном случае, тег может быть перемещен в состояние НОРМАЛЬНОЕ и обработка может делать петлю к блоку 902.According to
Если согласно логическому блоку 910 задержка тега превышает пороговое значение ожидания, то обработка может перетекать от логического блока 910 к блоку 912. Согласно блоку 912 тег может быть использован в состоянии ПРЕДПРИОСТАНОВЛЕННОЕ. Согласно по меньшей мере одному варианту осуществления тег может не быть блокирован и ему может быть разрешено развертывание. Согласно некоторым вариантам осуществления тег в состоянии ПРЕДПРИОСТАНОВЛЕННОЕ может характеризоваться частотой мониторинга в одну минуту. Согласно по меньшей мере одному варианту теги в состоянии ПРЕДПРИОСТАНОВЛЕННОЕ могут оставаться в состоянии ПРЕДПРИОСТАНОВЛЕННОЕ в течение пяти минут.If, according to
Выполнение способа 900 переходит к логическому блоку 916, где может быть определено, превышает ли задержка тега пороговое значение ожидания. Согласно по меньшей мере одному варианту осуществления логический блок 916 может использовать варианты осуществления логического блока 904, чтобы определить превышение порогового значения ожидания. Если задержка тега превышает пороговое значение ожидания, то обработка может перетекать к логическому блоку 918; в противном случае, тег может быть перемещен в состояние ПОМЕЧЕННОЕ, и обработка может делать петлю к блоку 908.
Согласно логическому блоку 918 может быть определено, превышено ли последовательное число пороговых значений ожидания. Согласно по меньшей мере одному варианту осуществления пороговое значение последовательного приостановления может представлять собой два последовательных подвергнутых мониторингу тегов задержки, которые превышают пороговое значение ожидания. Если пороговое значение последовательного ожидания превышено, то тег может быть перемещен в состоянии ПРИОСТАНОВЛЕННОЕ, и обработка может перетекать к блоку 920 на Фиг. 9Б; в противном случае, обработка может делать петлю к блоку 912, где тег может оставаться в состоянии ПРИОСТАНОВЛЕННОЕ.According to
Выполнение способа 900 продолжается согласно блоку 920 на Фиг. 9Б, где тег может быть использован в состоянии ПРИОСТАНОВЛЕННОЕ. Согласно по меньшей мере одному варианту осуществления тег может быть блокирован и ему может не быть разрешено развертывание. Согласно некоторым вариантам осуществления тег в состоянии ПРИОСТАНОВЛЕННОЕ не может подвергаться мониторингу. Согласно по меньшей мере одному варианту осуществления тег в состоянии ПРИОСТАНОВЛЕННОЕ может оставаться в состоянии ПРИОСТАНОВЛЕННОЕ в течение 30 минут. Согласно некоторым вариантам осуществления к пользователям могут быть посланы e-mail, текстовое сообщение или другое уведомление, указывающее, что тэг находится в состоянии ПОМЕЧЕННОЕ.
Выполнение способа 900 переходит к логическому блоку 922, где может быть определено, превышен ли предел состояния ПРИОСТАНОВЛЕННОЕ. Согласно по меньшей мере одному варианту предел состояния ПРИОСТАНОВЛЕННОЕ может составлять 30 минут. Если предел состояния ПРИОСТАНОВЛЕННОЕ превышен, то тег может быть перемещен в состояние ПОСТПРИОСТАНОВЛЕННОЕ и обработка может перетекать к блоку 924; в противном случае, обработка может делать петлю к блоку 920, в котором тег может оставаться в состоянии ПРИОСТАНОВЛЕННОЕ.
Согласно блоку 924 тег может быть использован в состоянии ПОСТПРИОСТАНОВЛЕННОЕ. Согласно по меньшей мере одному варианту осуществления тег может быть блокирован и ему может не быть разрешено развертывание. Согласно некоторым вариантам осуществления тег в состоянии ПОСТПРИОСТАНОВЛЕННОЕ может характеризоваться частотой мониторинга, составляющей пять минут. Согласно по меньшей мере одному варианту осуществления теги в состоянии ПОСТПРИОСТАНОВЛЕННОЕ могут оставаться в состоянии ПОСТПРИОСТАНОВЛЕННОЕ в течение пяти минут.At
Выполнение способа 900 продолжается согласно логическому блоку 926, где может быть определено, превышает ли задержка тега пороговое значение ожидания. Согласно по меньшей мере одному варианту осуществления логический блок 926 может использовать варианты осуществления логического блока 904, чтобы определить превышение порогового значения ожидания. Если пороговое значения задержки тега превышено, то обработка может перетекать к логическому блоку 928; в противном случае, обработка может перетекать к логическому блоку 930.
Согласно логическому блоку 928 может быть определено, превышено ли последовательное число пороговых значений ожидания. Согласно по меньшей мере одному варианту осуществления логический блок 928 может использовать варианты осуществления логического блока 918 на Фиг. 9А, чтобы определить превышение порогового значения последовательных ожиданий. Согласно по меньшей мере одному варианту осуществления пороговое значение ожидания может представлять собой две последовательные, подвергнутые мониторингу задержки тега, которые превышают пороговое значение ожидания. Если пороговое значение последовательных ожиданий превышено, то тег может быть перемещен в состояние ПРИОСТАНОВЛЕННОЕ, и обработка может делать петлю к блоку 920; в противном случае, обработка может делать петлю к блоку 924, где тег может остаться в состоянии ПОСТПРИОСТАНОВЛЕННОЕ.According to
Если согласно логическому блоку 926 задержка тега не превышает пороговое значение ожидания, то обработка может перетекать от логического блока 926 к логическому блоку 930. Согласно логическому блоку 930, может быть определено, превышает ли задержка тега пороговое значение предупреждения. Согласно по меньшей мере одному варианту осуществления логический блок 930 может использовать варианты осуществления логического блока 904, чтобы определить превышение порогового значения предупреждения. Если задержка тега превышает пороговое значение предупреждения (но не превышает пороговое значение ожидания), то обработка может перетекать к логическому блоку 932; в противном случае, тег может быть перемещен в нормальное состояние, и обработка может делать петлю к блоку 902 на Фиг. 9А.If, according to
Согласно логическому блоку 932 может быть определено, превышается ли число последовательных пороговых значений предупреждения. Согласно по меньшей мере одному варианту осуществления пороговое значение последовательных предупреждений может представлять собой две последовательных, подвергнутых мониторингу задержи тега, которые превышают пороговое значение предупреждения. Если пороговое значение последовательных предупреждений превышено, то тег может быть перемещен в состояние ПОМЕЧЕННОЕ, и обработка может делать петлю к блоку 922 на Фиг. 9А; в противном случае, обработка может делать петлю к блоку 924, в котором тег может оставаться в состоянии ПОСТПРИОСТАНОВЛЕННОЕ.According to
На Фиг. 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:
Этап 1: теги в состоянии НОРМАЛЬНОЕ 1002, которые превышают указанное пороговое значение предупреждения, могут быть перемещены в состояние ПОМЕЧЕННОЕ 1004. Теги в состоянии ПОМЕЧЕННОЕ 1004 могут вернуться в состояние НОРМАЛЬНОЕ 1002, если снизится число задержек (т.е. подвергнутая мониторингу задержка тега меньше, чем пороговое значение предупреждения).Phase 1: Tags in
Этап 2: теги в состоянии НОРМАЛЬНОЕ 1002, которые превышают указанное пороговое значение, могут быть перемещены в состояние ПРЕДПРИОСТАНОВЛЕННОЕ 1006. По меньшей мере в одном варианте осуществления пороговое значение ожидания может быть больше, чем пороговое значение предупреждения. В одном не ограничивающем, не исчерпывающие примере пороговое значение предупреждения может составлять 500 миллисекунд, а пороговое значение ожидания может составлять 800 миллисекунд.Step 2: Tags in the
Этап 3: теги в состоянии ПОМЕЧЕННОЕ1002, которые превышают указанное пороговое значение могут быть перемещены в состояние ПРЕДПРИОСТАНОВЛЕННОЕ 1006. Теги в состоянии ПРЕДПРИОСТАНОВЛЕННОЕ 1006 могут вернуться в состояние ПОМЕЧЕННОЕ 1004, если снизится число задержек (т.е. контролируемая задержка тега меньше, чем пороговое значение ожидания).Phase 3: Tags in
Этап 4: Теги в состоянии ПРЕДПРИОСТАНОВЛЕННОЕ 1006, которые превышают пороговое значение ожидания на протяжении двух последовательных подходов могут быть перемещены в состояние ПРИОСТАНОВЛЕННОЕ 1008.Step 4: Tags in the PUSHED
Этап 5: теги в состоянии ПРИОСТАНОВЛЕННОЕ 1008, которые достигли своего предела приостановленного состояния (например, 30 минут) могут быть перемещены в состояние ПОСТПРИОСТАНОВЛЕННОЕ 1010. Теги в состоянии ПОСТПРИОСТАНОВЛЕННОЕ 1010 могут вернуться в состояние ПРИОСТАНОВЛЕННОЕ 1008, если они превышают пороговое значение ожидания на протяжении двух последовательных подходов. Согласно некоторым вариантам осуществления пороговое значение ожидания, используемое для определения того, когда перемещать теги из одного состояния в другое, может представлять собой такое же или другое пороговое значение.Step 5: Tags in the PUSHED
Этап 6: теги в состоянии ПОСТПРИОСТАНОВЛЕННОЕ 1010 могут перейти в состояние ПОМЕЧЕННОЕ 1004, если они превышают пороговое значение предупреждения на протяжении двух последовательных подходов. Теги в состоянии ПОСТПРИОСТАНОВЛЕННОЕ 1010 можно перемещать в состояние НОРМАЛЬНОЕ 1002, если они не превышают пороговое значение предупреждения или пороговое значение ожидания в течение двух последовательных подходов.Step 6: Tags in
Пример использования операционной среды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,
База данных может также включать в себя список всех тегов (т.е. все таблицы тегов). База данных также может включать в себя множество таблиц для каждого из множества состояний, в том числе: таблицу приостановленных тегов, таблицу предприостановленных тегов, таблицу постприостановленных тегов, таблицу нормальных тегов и таблицу отмеченных тегов.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
Сервис 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
Согласно некоторым вариантам осуществления, если тег блокирован от развертывания (например, в состоянии ПРИОСТАНОВКА_А 806 и/или состоянии ПРИОСТАНОВКА_В 808 на Фиг. 8, или в состоянии ПРИОСТАНОВЛЕННОЕ и/или состоянии ПРЕДПРИОСТАНОВЛЕННОЕ 1010 на Фиг. 10) сервер управления может разрешить развертывание «неактивного» тега вместо блокированного тега. Согласно по меньшей мере одному варианту осуществления неактивный тег может представлять собой неисполняемый вариант блокированного тега.In some embodiments, if the tag is blocked from deployment (eg, in the
Согласно некоторым вариантам осуществления неактивный тег может быть использован для определения, сколько раз блокированный тег мог быть развернутым, но не был (потому что был блокирован). Согласно по меньшей мере одному варианту осуществления сервер управления может предоставить неактивный тег в сервис 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)
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)
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 |
-
2013
- 2013-07-17 RU RU2018124846A patent/RU2763000C2/en active
Patent Citations (5)
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 |