МОНИТОРИНГ ЗАДЕРЖКИ ТЕГА И СИСТЕМА УПРАВЛЕНИЯ ДЛЯ ПОВЫШЕНИЯ ПРОИЗВОДИТЕЛЬНОСТИ ВЕБ-СТРАНИЦЫ
TAG DELAY MONITORING AND CONTROLLING SYSTEM FOR INCREASING WEB PAGE PERFORMANCE

Ссылки на родственные заявки
По настоящей заявке испрашивается приоритет в соответствии с предварительной заявкой на выдачу патента США с серийным номером №13/554500 5, поданной 20 июля 2012 г., озаглавленной «Мониторинг задержки тега и система управления для повышения производительности веб-страницы», полное содержание которой включено в настоящий документ посредством ссылки.
Область техники, к которой относится изобретение
Настоящее изобретение относится в целом к управлению тегом, и, в частности, но не исключительно к использованию множества состояний тега для управления приостановления тега использующего асинхронный процесс, предназначенный для активного мониторинга задержки тега.
Уровень техники
Сегодня многие веб-сайты включает в себя услуги стороннего производителя, которые отделены от самого сайта. Например, веб-сайт может содержать от стороннего производителя: рекламные объявления, чат поддержки, мониторинг услуг, или тому подобное. Как правило, сторонний производитель может продать свои услуги на вебсайт таким образом, что, когда пользователь посещает конкретную веб-страницу, веб-страница загружается с услугами стороннего производителя. Иногда загрузка услуг стороннего производителя может включать в себя выполнение кода для услуги стороннего производителя от удаленной точки размещения. Однако если служба стороннего производителя работает медленно или не отвечает, то загрузка веб-страницы может быть замедлена или загрузка веб-страницы может быть полностью прекращена. Таким образом, из внимания к этим и другим соображениям было сделано настоящее изобретение.
Краткое описание чертежей
Не ограничивающие и не исчерпывающие варианты осуществления настоящего изобретения описаны со ссылкой на следующие схемы. На схемах, одинаковые ссылочные позиции относятся к одинаковым частям в различных фигурах, если не указано иное.
Для лучшего понимания настоящего изобретения, будет сделана ссылка на следующее подробное описание, которое следует рассматривать совместно с прилагаемыми схемами, причем:
Фиг. 1 представляет собой диаграмму системы среды, в которой могут быть реализованы варианты осуществления настоящего изобретения;
На Фиг. 2 показан вариант осуществления клиентского устройства, которое может быть включено в такую систему, как показанная на Фиг. 1;
На Фиг. 3 показан вариант осуществления сетевого устройства, которое может быть включено в такую систему, как показанная на Фиг. 1;
На Фиг. 4 показана логическая блок-схема, главным образом, показывающая один вариант осуществления обзора процесса изменения состояния тега, основываясь на асинхронном мониторинге задержки тега и разрешающий развертывание тега основываясь на состоянии тега;
На Фиг. 5 показана логическая блок-схема, главным образом показывающая один вариант осуществления процесса изменения состояния тега основываясь на событии задержки тега и текущем состоянии тега;
На Фиг. 6 показана логическая блок-схема, главным образом показывающая один вариант осуществления способа изменения состояния тега основываясь на событии отсутствия задержки тега и текущем состоянии тега;
На Фиг. 7 показана логическая блок-схема, главным образом показывающая один вариант осуществления способа использования тега в одном из множества состояний и изменение состояния тега, основываясь на событии задержки или отсутствия задержки;
На Фиг. 8 показан один вариант осуществления случая использования, иллюстрирующий графическое представление множества состояний тега и событий, которые могут вызвать изменение состояния;
На Фиг. 9А-9Б показана логическая блок-схема, главным образом показывающая альтернативный вариант процесса использования тега в одном из множества состояний и изменение состояния тега, основываясь на задержке тега;
На Фиг. 10 показан альтернативный вариант осуществления случая использования, иллюстрирующий графическое представление множества состояний тега и событий, которые могут вызвать изменение состояния; и
На Фиг. 11 показан один вариант осуществления случая использования, иллюстрирующий схему системы, которая может быть использована для контроля задержки тега и управление изменением и развертыванием тега.
Осуществление изобретения
Во всем описании и формуле изобретения следующие термины принимают явно связанные в настоящем документе значения, если из контекста явно не следует иное. Используемая в настоящем документе фраза «согласно одному варианту осуществления» не обязательно относится к тому же варианту осуществления, хотя и может. Кроме того, используемая в настоящем документе фраза «в другом варианте осуществления», не обязательно относятся к иному варианту, хотя может. Таким образом, как описано ниже, различные варианты осуществления настоящего изобретения могут быть легко объединены, без отступления от объема или сущности настоящего изобретения.
Кроме того, используемый в настоящем документе термин «или» включает в себя оператор «или» и эквивалентен термину «и/или», если из контекста явно не следует иное. Термин «основываясь на» не представляет собой исключительный и позволяет быть основываться на дополнительных не описанных факторах, если из контекста явно не следует иное. Кроме того, во всем описании, значения неопределенных артиклей и определенного артикля включают в себя ссылки на множественное число. Значение «в» включает в себя «в» и «на».
Используемый в настоящем документе термин «тег» в целом относится к коду, который может быть введен в веб-страницу, используя решения стороннего производителя, в любой точке во время показа веб-страницы. Согласно некоторым вариантам осуществления решение стороннего производителя может ссылаться на код поставщика, который отделен от хоста веб-страницы. Согласно по меньшей мере одному варианту осуществления загрузка тега на веб-страницу может также упоминаться как развертывание тега. Согласно некоторым вариантам осуществления показы веб-страниц могут быть обеспечены, когда гость посещает веб-сайт или выполняет на странице действий.
Используемый в настоящем документе термин «задержка тега» обычно относится к периоду времени между тем, когда тег запрошен и когда получен основывающийся на запросе тега ответ от сервера. Согласно по меньшей мере одному варианту осуществления задержка тега может быть основываться на периоде времени между тем, когда тег запрошен и тем когда полный тег развернут. Согласно некоторым вариантам осуществления задержка тега может основываться на совокупном времени отклика каждого компонента тега, включающего в себя любой дополнительный код или ресурсы, необходимые для компонента тега. Согласно другим вариантам осуществления задержка тега может основываться на долгом времени отклика компонента из множества компонентов тега. Согласно другому варианту осуществления задержка тега может быть основываться на сообщении об ошибке, полученном в ответ на запрос тега, таком как, например, ответ от сервера с кодом ошибки 400-500. Согласно некоторым вариантам осуществления задержка тега может быть периодом времени между тем, когда тег запрошен и когда получено сообщение об ошибке в ответ от сервера.
Используемый в настоящем документе термин «событие задержки» относится к результату мониторинга задержки тега, причем задержка тега больше чем максимальное пороговое значение времени задержки. Напротив, используемый в настоящем документе термин «событие отсутствия задержки» относится к результату мониторинга задержки тега, причем задержка тега меньше максимального порогового значения времени задержки. Согласно по меньшей мере одному варианту осуществления максимальное пороговое время задержки может быть определено и/или изменено пользователем (например, хостом веб-сайта для развертывания тега). Согласно некоторым вариантам осуществления максимальное пороговое значение времени задержки может основываться на заданном времени загрузки веб-страницы, среднем времени загрузки тега, или т.п.
Ниже кратко описаны варианты осуществления настоящего изобретения, чтобы обеспечить базовое понимание некоторых аспектов изобретения. Это краткое описание не предназначено для обширного обзора. Оно не предназначено для идентификации ключевых или критических элементов, или чтобы определить или иным образом сузить область. Его цель состоит только в представлении некоторых концепций в упрощенной форме в качестве вводной части к более подробному описанию, которое представлено ниже.
Вкратце, различные варианты осуществления направлены на использование множества состояний тега для контроля приостановки тега, основываясь на асинхронном процессе, направленном на то, чтобы активно отслеживать производительность тега и измерение времени отклика. Согласно некоторым вариантам осуществления задержка тега может контролироваться и/или измеряться для того, чтобы определить производительность и/или время отклика тега. Согласно по меньшей мере одному варианту осуществления пользователь может зарегистрироваться в службе для того, чтобы выбрать теги для развертывания на веб-странице. Согласно некоторым вариантам осуществления пользователь может обратиться к веб-сайту, хосту веб-сайта, администратору веб-сайта, консультанту веб-сайта или т.п., или его агенту. Тэги могут находиться в одном из множества состояний, таких как, например, состояние НОРМАЛЬНОЕ, состояние ПОМЕЧЕННОЕ, состояние ПРИОСТАНОВКА_А или состояние ПРИОСТАНОВКА_В. Согласно по меньшей мере одному варианту осуществления теги в состоянии НОРМАЛЬНОЕ или состоянии ПОМЕЧЕННОЕ может быть разрешено развертывание (т.е., они доступны для развертывания), и теги в состоянии ПРИОСТАНОВКА_А или состоянии ПРИОСТАНОВКА_В могут быть блокированы от развертывания (т.е., приостановлены от развертывания).
Задержка тега может асинхронно контролироваться в зависимости от запросов веб-страницы. Согласно некоторым вариантам осуществления частота контролирования тегов может основываться на состоянии тега. Состояние тега может изменяться в зависимости от асинхронного мониторинга теговой задержки.
Вкратце, согласно некоторым вариантам осуществления, если происходит событие задержки (т.е., задержка тега превышает максимальное пороговое значение времени задержки), то состояние тега может изменяться из НОРМАЛЬНОЕ на ПОМЕЧЕННОЕ, из ПОМЕЧЕННОЕ на ПРИОСТАНОВКА_А или из ПРИОСТАНОВКА_В на ПРИОСТАНОВКА_А. Согласно другим вариантам осуществления, если происходит событие отсутствия задержки (т.е., задержка тега не превышает максимальное пороговое значение времени задержки), то состояние тега может изменяться из ПРИОСТАНОВКА_В на ПОМЕЧЕННОЕ или из ПОМЕЧЕННОЕ на НОРМАЛЬНОЕ. Согласно по меньшей мере одному варианту осуществления последовательные события задержки или последовательные события отсутствия задержки могут быть использованы для изменения состояния тега. При использовании множества различных состояний и изменения состояний тега, основывающееся на событии задержки/отсутствия задержка (и/или последовательных событий задержки/отсутствия задержки), тег не может быть досрочно блокирован от развертывания из-за резкого нарастания задержки тега или преждевременно включен на развертывание после блокирования из-за резкого снижения задержки тега.
Показательная операционная среда
На Фиг. 1 показаны компоненты одного варианта осуществления среды, в которой может быть применено настоящее изобретение. Не все компоненты могут потребоваться для применения изобретения, и вариации в расположении и типе компонентов могут быть сделаны без отклонения от сущности или объема изобретения. Как показано, система на Фиг. 1 включает в себя локальные вычислительные сети (LAN)/глобальные компьютерные сети (WAN) - (сеть) 110, беспроводную сеть 108, клиентские устройства 102-105, серверное устройство 112 мониторинга тега (TMSD), серверное устройство 114 управления тегом (TCSD) и серверное устройство 116 развертывания тега (TDSD).
По меньшей мере один из вариантов осуществления клиентских устройств 102-105 описан более подробно ниже со ссылкой на Фиг. 2. Согласно одному варианту осуществления по меньшей мере некоторые из клиентских устройств 102-105 могут работать по проводной и/или беспроводной сети, такой как сеть 110 и/или 108. Как правило, клиентские устройства 102-105 могут включать в себя практически любое вычислительное устройство способное осуществлять связь по сети для передачи и приема информации, выполнять различные онлайн действия, оффлайн действия, или т.п. Согласно одному варианту осуществления одно или несколько клиентских устройств 102-105 может быть настроено для работы в бизнесе или других организациях, для выполнения различных услуг для бизнеса или других организаций. Например, клиентские устройства 102-105 могут быть настроены для работы в качестве веб-сервера, сервера учета, производственного сервера, сервера инвентаризации или т.п. Однако клиентские устройства 102-105 не ограничены этими услугами, и также могут быть использованы, например, в качестве вычислительного узла конечного пользователя согласно другим вариантам осуществления. Следует признать, что более или менее все клиентские устройства могут быть включены в такую систему, как описана в настоящем документе, и варианты осуществления, следовательно, не ограничиваются количеством или типом используемых клиентских устройств.
Устройства, которые могут работать как клиентское устройство 102 могут включать в себя устройства, обычно использующие для соединения проводные или беспроводные средства связи, такие как персональные компьютеры, многопроцессорные системы, микропроцессорные или программируемые электронные устройства, сетевые ПК, или т.п.. Согласно некоторым вариантам осуществления клиентские устройства 102-105 могут включать в себя практически любое портативное вычислительное устройство совместимое по соединению с другим вычислительным устройством и приему информации, такие как, портативный компьютер 103, мобильный смартфон 104, планшетные компьютеры 105 и т.п. Однако портативные вычислительные устройства не так ограничены и могут также включать в себя другие портативные устройства, такие как сотовые телефоны, пейджеры с отображением, радиочастотные (RF) устройства, инфракрасные (IR) устройства, персональные цифровые ассистенты (PDA), карманные компьютеры, нательные компьютеры, интегрированные устройства, скомбинированные из одного или нескольких предшествующих устройств и т.п. Таким образом, клиентские устройства 102-105 обычно колеблются в широких пределах в плане возможностей и функциональности. Кроме того, клиентские устройства 102-105 могут получить доступ к различным компьютерным приложениям, включающим в себя браузер или другое веб-приложение.
Клиентские устройства 102-105 также могут включать в себя по меньшей мере одно клиентское приложение, которое настроено на то чтобы принимать и/или передавать контент на другое вычислительное устройство. Клиентское приложение может включать в себя возможность отправлять и/или принимать контент или т.п.
Клиентское приложение может также предоставлять информацию, которая идентифицирует себя, включая тип, возможность, имя и т.п. Согласно одному варианту осуществления клиентские устройства 102-105 могут однозначно идентифицировать себя посредством любого из множества механизмов, включая в себя межсетевой протокол (IP), адрес, номер телефона, мобильный идентификационный номер (MIN), электронный серийный номер (ESN) или другой идентификатор устройства. Такая информация может быть предоставлена в сетевом пакете или т.п., передаваться между различными клиентскими устройствами TMSD 112, TCSD 114, TDSD 116 или другими вычислительными устройствами.
Клиентские устройства 102-105 могут дополнительно быть настроены на то, чтобы содержать в себе клиентские приложения, которые позволяют конечному пользователю войти в учетную запись конечного пользователя, которая может управляться другим вычислительным устройством, таким как TMSD 112, TCSD 114, TDSD 116 или подобным. Такая учетная запись конечного пользователя в одном не ограничивающем примере может быть настроена на то, чтобы разрешать конечному пользователю управлять одним или несколькими действиями онлайн, включая в себя один не ограничивающий пример, поиск активности, активность в социальных сетях, просмотр различных сайтов, общение с другими пользователями или т.п. Однако участие в такой онлайн активности также может быть выполнено без входа в учетную запись конечного пользователя.
Беспроводная сеть 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 включает в себя любой способ связи, с помощью которого информация может перемещаться между вычислительными устройствами.
Кроме того, средства связи обычно содержат машиночитаемые команды, структуры данных, программные модули или другие механизмы передачи и включают в себя любое средство доставки информации. В качестве примера, средство связи включает в себя проводную связь, такую как витая пара, коаксиальный кабель, волоконно-оптические, волноводы и другие проводные связи и беспроводные связи, такие как акустические, радиочастотные, инфракрасные и другие беспроводные средства связи.
Один из вариантов осуществления TMSD 112 описан более подробно ниже со ссылкой на Фиг. 3. Вкратце, однако, TMSD 112 включает в себя практически любое сетевое устройство способное на мониторинг задержки тегов. Согласно по меньшей мере одному варианту осуществления TMSD 112 может осуществлять асинхронный мониторинг задержки тегов. Асинхронный мониторинг может быть выполнен независимо от запроса загрузить веб-страницу (например, от посетителя веб-сайта). TMSD 112 может эмулировать браузер, запрашивать тег и определять задержку тега. Согласно по меньшей мере одному варианту осуществления TMSD 112 может определить задержку тега путем расчета времени, необходимого запрашиваемому тегу загрузиться в эмулированном браузер. Согласно некоторым вариантам осуществления TMSD 112 может обмениваться данными с TCSD 114, чтобы определить какие теги контролировать и/или обеспечить определенную задержку тега. Устройства, которые могут быть выполнены с возможностью работы в качестве TMSD 112, включают в себя различные сетевые устройства, включающие в себя без ограничений персональные компьютеры, настольные компьютеры, многопроцессорные системы, микропроцессорную или программируемую бытовую электронику, сетевые ПК, серверные устройства, сетевые устройства и т.п.
Хотя на Фиг. 1 показан TMSD 112 в виде единого вычислительного устройства, настоящее изобретение не так ограничено. Например, одна или несколько функций TMSD 112 может быть распределены по одному или нескольким различным сетевым устройствам. Кроме того, TMSD 112 не ограничивается конкретной конфигурацией. Таким образом, согласно одному варианту осуществления TMSD 112 может содержать множество сетевых устройств для мониторинга задержки тега. Согласно другому варианту осуществления TMSD 112 может содержать множество сетевых устройств, которые работают с использованием подхода ведущий/ведомый, при котором одно из множества сетевых устройств TMSD 112 работает для управления и/или, иным образом, координирует операции с другими сетевыми устройствам. Согласно другим вариантам осуществления TMSD 112 может работать как множество сетевых устройств в кластерной архитектуре, архитектуре равный к равному, и/или даже в облачной архитектуре. Таким образом, настоящее изобретение не должно быть истолковано как ограниченное единой средой, а также предусмотрены другие конфигурации и архитектуры. Согласно по меньшей мере одному варианту осуществления каждый из множества TMSD 112 может быть географически распределен. Согласно другому варианту осуществления TMSD 112 может содержать различные вычислительные устройства для мониторинга тегов в каждом из множества различных состояний тега.
Согласно по меньшей мере одному варианту осуществления система может быть расширена или сужена путем добавления или удаления сетевых устройств из системы, таких как TMSD 112. Согласно некоторым вариантам осуществления добавление дополнительных TMSD к системе может дать возможность увеличить пропускную способность для мониторинга тега. Согласно по меньшей мере одному варианту осуществления каждый TMSD может быть спроектирован для того, чтобы разрешать системе масштабироваться таким образом, чтобы масштабирование могло быть реализовано без добавления дополнительных масштабирующих функций к каждому TMSD во время масштабирования.
По меньшей мере один из вариантов осуществления TCSD 114 описан более подробно ниже совместно с Фиг. 3. Вкратце, однако, TCSD 114 может включать в себя практически любое сетевое устройство способное управлять состоянием каждого из множества тегов и позволяющее доступным тегам быть развернутыми основываясь на состояния тега. Согласно некоторым вариантам осуществления TCSD 114 может осуществлять связь с TMSD 112, чтобы определить, какие теги контролировать и/или может принимать информацию о задержке тега. Согласно некоторым вариантам осуществления TCSD 114 может обеспечивать TDSD 116 списком тегов доступных для развертывания. Согласно по меньшей мере одному варианту осуществления TCSD 114 может осуществлять связь с базой данных (не показано), которая может содержать таблицы для каждого состояния тега, которые могут включать в себя список каждого тэга в каждом состоянии. Устройства, которые могут работать как TCSD 114 включают в себя различные сетевые устройства, включающие в себя без ограничения персональные компьютеры, настольные компьютеры, многопроцессорные системы или программируемую бытовую электронику, сетевые ПК, серверные устройства, сетевые устройства и т.п.
Хотя на Фиг. 1 показан TCSD 114 в виде единого вычислительного устройства, настоящее изобретение не так ограничено. Например, одна или несколько функции TCSD 114 могут быть распределены по одному или нескольким различным сетевым устройствам. Кроме того, TCSD 114 не ограничивается конкретной конфигурацией. Таким образом, согласно одному варианту осуществления TCSD 114 может содержать множество сетевых устройств для контроля мониторинга тегов и/или возможности их развертывания. Аналогичным образом согласно другому варианту осуществления TCSD 114 может содержать множество сетевых устройств, которые оперируют с использованием подхода ведущий/ведомый, при котором одно из множества сетевых устройств TCSD 114 работает для управления и/или иным образом координирует операции других сетевых устройств. Согласно другим вариантам осуществления TCSD 114 может оперировать как множество сетевых устройств в кластере архитектуры, архитектуры равный к равному и/или даже в облачной архитектуры. Таким образом, изобретение не должно быть истолковано как ограниченное единой средой, а также предусмотрены другие конфигурации и архитектуры.
По меньшей мере один из вариантов осуществления TDSD 116 описан более подробно ниже совместно с Фиг. 3. Вкратце, однако, TDSD 116 может включать в себя практически любое сетевое устройство способное на развертывание тега. Согласно некоторым вариантам осуществления TDSD 116 может быть оптимизировано для предоставления тегов для веб-сайтов в ответ на веб-запрос (например, запрос от посетителя на веб-сайте на просмотр веб-страницы). Согласно по меньшей мере одному варианту осуществления TDSD 116 может осуществлять связь с TCSD 114, чтобы получить список доступных для развертывания тегов. Согласно некоторым вариантам осуществления TDSD 116 может собирать данные о веб-странице и может записывать информацию о развернутых тегах. Устройства, которые могут работать как TDSD 116 включают в себя различные сетевые устройства, включающие в себя без ограничения персональные компьютеры, настольные компьютеры, многопроцессорные системы, или программируемую бытовую электронику, сетевые ПК, серверные устройства, сетевые устройства и т.п.
Хотя на Фиг. 1 показано TDSD 116 в виде единого вычислительного устройства, изобретение не так ограничено. Например, одна или несколько функций TDSD 116 могут быть распределены по одному или нескольким различным сетевым устройствам. Кроме того, TDSD 116 не ограничивается конкретной конфигурацией. Таким образом, согласно одному варианту осуществления TDSD 116 может содержать множество сетевых устройств для развертывания тегов на веб-страницах. Аналогичным образом согласно другому варианту осуществления TDSD 116 может содержать множество сетевых устройств, которые работают с использованием подхода ведущий/ведомый, при котором один из множества сетевых устройств TDSD 116 работает для управления и/или иным образом координирует операциями с другими сетевыми устройствами.
Согласно другим вариантам осуществления TCSD 116 может оперировать как множество сетевых устройств в кластере архитектуры, архитектуры равный к равному и/или даже в облачной архитектуре. Таким образом, изобретение не должно быть истолковано как ограниченное единой средой и также предусмотрены другие конфигурации и архитектуры.
Показательное клиентское устройство
На Фиг. 2 показан один из вариантов осуществления клиентского устройства 200, которое может быть включено в систему реализующую варианты осуществления настоящего изобретения. Клиентское устройство 200 может содержать намного большее или меньшее количество компонентов, чем показано на Фиг. 2. Однако показанные компоненты достаточно наглядно раскрывают практическое осуществление варианта настоящего изобретения. Клиентское устройство 200 может представлять собой, например, один из вариантов осуществления по меньшей мере одного из клиентских устройств 102-105 на Фиг. 1.
Как показано на схеме, клиентское устройство 200 включает в себя процессор 202, связанный с массовой памятью 226 через шину 234. Согласно некоторым вариантам осуществления процессор 202 может включать в себя один или несколько центральных процессоров (CPU). Клиентское устройство 200 также включает в себя источник 228 питания, один или несколько сетевых интерфейсов 236, аудио интерфейс 238, дисплей 240, клавиатуру 242, подсветку 244, видео интерфейс 246, интерфейс 248 ввода/вывода, тактильный интерфейс 250 и приемник 232 глобальной системы позиционирования (GPS).
Источник 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-адрес или т.п.
Массовое запоминающее устройство 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.
Считываемый процессором носитель 230 данных может включать в себя энергозависимые, энергонезависимые, съемные и несъемные носители реализованные любым способом или технологией для хранения информации, такой как машино- или процессорочитаемые команды, структуры данных, программные модули или другие данные. Примеры машиночитаемых носителей данных включают в себя RAM, ROM, электронностираемое программируемое запоминающее устройство (EEPROM), флэш-память или память другой технологии, компакт-диск с возможностью чтения (CD-ROM), цифровые универсальные диски (DVD) или другое оптическое хранилище, магнитные кассеты, магнитную ленту, хранилище на магнитных дисках или другие магнитные хранилища, или любой другой физический носитель, который может использоваться для хранения требуемой информации, и к которому можно получить доступ посредством вычислительного устройства. Считываемый процессором носитель 230 данных также может быть упомянут в настоящем документе как машиночитаемый носитель информации и/или машиночитаемое запоминающее устройство.
Приложения 214 могут включать в себя исполняемые инструкции компьютера, при выполнении которых клиентское устройство 200 передает, принимает и/или иным образом обрабатывает сетевые данные. Сетевые данные могут включать без ограничения сообщения (например, SMS, служба мультимедийных сообщений (MMS), мгновенное сообщение (IM), электронную почту и/или другие сообщения), аудио, видео и возможность телефонной связи с другим пользователем другого клиентского устройства.
Приложения 214 могут включать в себя, например, браузер 218 и другие приложения 220. Другие приложения 220 могут включать в себя без ограничения календари, программы поиска, почтовые клиенты, IM приложения, SMS приложения, приложения с межсетевым протоколом передачи голоса (VoIP), контактные менеджеры, менеджеры задач, транскодеры, программы базы данных, программы обработки текста, приложения безопасности, электронные таблицы, игры, программы поиска и т.д.
Показательное сетевое устройство
На Фиг. 3 показан один вариант осуществления сетевого устройства 300 в соответствии с одним вариантом осуществления настоящего изобретения. Сетевое устройство 300 может включать в себя намного большее или меньшее количество компонентов, чем показано. Показанные компоненты, однако, достаточно точно иллюстрируют вариант практического осуществления изобретения. Сетевое устройство 300 может быть настроено работать в качестве сервера, клиента, узла, хоста или любого другого устройства.
Сетевое устройство 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).
Сетевое устройство 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) или другое оптическое запоминающее устройство, магнитные кассеты, магнитные ленты, накопители на магнитных дисках или другие магнитные устройства хранения, или любые другие носители, которые могут быть использованы для хранения необходимой информации, и к которым можно получить доступ посредством вычислительного устройства.
Память 326 дополнительно включает в себя одно или несколько хранилищ 308 данных, которые могут быть использованы сетевым устройством 300 для хранения, в частности, приложения 314 и/или других данных. Например, хранилище 308 данных также может быть использовано для хранения информации, которая описывает различные возможности сетевого устройства 300. Эта информация может затем быть предоставлена другим устройствам, основываясь на любом из множества событий, включающем в себя передачу в качестве части заголовка во время связи, отправлена по запросу или т.п. Хранилище 308 данных может также использоваться для хранения сообщений, содержимого веб-страницы или т.п. По меньшей мере часть информации может также быть сохранена на другом компоненте сетевого устройства 300, включающем в себя без ограничения считываемый процессором носитель 328 данных, жесткий диск 334 или другие машиночитаемые хранилища данных (не показано) в клиентском устройстве 300.
Хранилище 308 данных может включать в себя базу данных, текст, таблицы, папку, файл или т.п, которые могут быть настроены для поддержания и сохранения пользовательских идентификаторов учетных записей, профилей пользователя, адресов электронной почты, IM-адреса и/или других сетевых адресов или т.п. Хранилище 308 данных может дополнительно включать в себя программный код, данные, алгоритмы и т.п., для использования процессором, таким как процессор 302, исполнения и представления действий. Согласно по меньшей мере одному варианту осуществления хранилище данных 308 может включать в себя по меньшей мере одну таблицу состояний, чтобы обозначить какие теги находятся в определенном состоянии. Согласно одному варианту осуществления по меньшей мере некоторые из хранилищ 308 данных также могут быть сохранены на другом компоненте сетевого устройства 300, включающем в себя без ограничения считываемый процессором носитель 328 данных, жесткий диск 334 или т.п.
Приложения 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В для выполнения по меньшей мере некоторых из его действий.
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В, для выполнения по меньшей мере некоторых из его действий.
Общие указания по эксплуатации
Работа некоторых аспектов настоящего изобретения теперь будет описана совместно с Фиг. 4-7. На Фиг. 4 показана логическая блок-схема, как правило, показывающая один вариант осуществления обзора процесса изменения состояния тега, основанного на асинхронном мониторинге теговой задержки и позволяющего развертывание тега основываясь на состоянии тега. Согласно некоторым вариантам осуществления способ 400 на Фиг. 4 может быть реализован и/или выполнен на одном сетевом устройстве, таком как сетевое устройство 300 на Фиг. 3. Согласно другим вариантам осуществления способ 400 или части способа 400 на Фиг. 4 могут быть реализованы и/или выполнены на множестве сетевых устройств, таких как сетевое устройство 300 на Фиг. 3. Согласно по меньшей мере одному из различных вариантов осуществления способ 400 может выполняться для каждого из множества тегов.
Выполнение способа 400 начинается после стартового блока согласно блоку 402, где тег может быть определен для мониторинга. Согласно некоторым вариантам осуществления каждый из множества тегов можно подвергнуть мониторингу, причем каждый тег может быть связан по меньшей мере с одной веб-страницей. Согласно другим вариантам осуществления часть из множества тегов можно подвергнуть мониторингу, а другую часть множества тегов нельзя подвергнуть мониторингу. Согласно по меньшей мере одному варианту осуществления подвергнутые мониторингу теги должны быть заранее предопределены, определены, изменены пользователем или т.п.
Согласно некоторым вариантам осуществления тег может находиться в одном из множества различных состояний. Каждое состояние может позволить тегу быть развернутым или может блокировать тег от развертывания. Состояние тега может меняться из одного состояния в другое, основываясь на мониторинге, времени нахождения тега в состоянии и т.п. или их комбинации. Согласно некоторым вариантам осуществления различные триггеры (то есть, число последовательных событий задержки) могут быть использованы для перемещения тега из одного состояния в другое состояние. Варианты осуществления процессов для изменения тегового состояния описаны ниже более подробно со ссылками на Фиг. 7 и 9А-9В. Согласно по меньшей мере одному варианту осуществления тег может находиться в одном из следующих состояний: НОРМАЛЬНОЕ, ПОМЕЧЕННОЕ, ПРИОСТАНОВКА_А или ПРИОСТАНОВКА_В. Один из вариантов графической иллюстрации данных различных состояний описывается ниже более подробно со ссылками на Фиг. 8.
Тем не менее, варианты осуществления не настолько ограничены, и может быть использовано другое число состояний, типов состояний, алгоритмов/показателей для изменения состояния. Например, согласно по меньшей мере одному варианту осуществления тег может находиться в одном из следующих состояний: НОРМАЛЬНОЕ, ПОМЕЧЕННОЕ, ПРЕДПРИОСТАНОВЛЕННОЕ, ПРИОСТАНОВЛЕННОЕ и ПОСТПРИОСТАНОВЛЕННОЕ. Один вариант осуществления графического изображения настоящих различных состояний описывается ниже более подробно со ссылками на Фиг. 10. Согласно другому варианту осуществления исторические записи измерений (например, задержка тега) могут быть использованы, чтобы изменить число состояний и/или типы состояний, используемые для изменения состояния тега параметры или т.п. Например, исторические записи могут указывать на то, что теги могут застрять в определенном состоянии в течение длительного периода времени. Согласно одному такому примеру может быть добавлено дополнительное состояние, которое может использоваться для мониторинга тега чаще. Согласно другому примеру если исторические записи могут указывать на то, что в настоящий момент времени тег приводит к получению плановых результатов состоянии задержки (например, из-за планового технического обслуживания сервера), то тег может быть превентивно перемещен в другое состояние на данный период времени.
В любом случае, выполнение способа 400 продолжается согласно блоку 404, где тег задержки может быть асинхронно подвергнут мониторингу. Согласно некоторым вариантам осуществления мониторинг может быть асинхронный, если это не зависит от запроса для веб-страницы от посетителя веб-страницы. Согласно по меньшей мере одному варианту осуществления мониторинг может основываться по меньшей мере на состоянии тега, подлежащего мониторингу. Согласно некоторым вариантам осуществления теговое состояние может определять скорость и/или частоту, на которой осуществлять мониторинг тега. Согласно некоторым вариантам осуществления скорость, с которой осуществляется мониторинг тега, может быть настраиваемой и/или изменяемой для каждого состояния. Согласно одному варианту осуществления каждое состояние может соответствовать различной частоте асинхронного мониторинга тега. Например, тег в состоянии НОРМАЛЬНОЕ может подвергаться мониторингу каждые 15 минут, тег в состоянии ПОМЕЧЕННОЕ может подвергаться мониторингу каждые пять минут, тег в состоянии ПРИОСТАНОВКА_В может подвергаться мониторингу каждую минуту, в то время как тег в состоянии ПРИОСТАНОВКА_А может быть бездействующим и не подвергаться мониторингу в течение заданного периода времени. Тем не менее, варианты осуществления не так ограничены, и могут быть использованы другие частоты для периодического мониторинга задержки тега.
Согласно некоторым другим вариантам осуществления может быть определена задержка мониторинга тега. Согласно по меньшей мере одному варианту осуществления задержка может быть определена путем измерения периода времени от запроса тега до получения ответа сервера. Тем не менее, вариант осуществления, который описан более подробно выше, не так ограничен, и могут быть использованы другие способы определения задержки тега.
Выполнение способа 400 переходит к логическому блоку 406, где может быть определено, что задержка тега привела к событию задержки. Согласно по меньшей мере одному варианту осуществления задержка тега может сравниваться с максимальным пороговым значением времени задержки. Если задержка тега больше, чем максимальное пороговое значение времени задержки, то результат мониторинга тега может указывать на то, что произошло событие задержки. Согласно по меньшей мере одному варианту осуществления максимальное пороговое время задержки может быть настроено и/или изменено для каждого пользователя и/или каждого состояния. Соответственно, максимальное пороговое значение времени задержки может быть одинаковым и/или различным для каждого пользователя и/или состояния. Если задержка тега меньше, чем максимальное пороговое значение времени задержки, то результат мониторинга тега может указывать на то, что произошло событие отсутствия задержки. Если произошло событие задержки, то обработка может перетекать к блоку 408; в противном случае, может иметь место событие отсутствия задержки и обработка может перетекать к блоку 410.
Согласно блоку 408 состояние тега может быть изменено основываясь на случае задержки, что более подробно описано ниже со ссылкой на Фиг. 5. Тем не менее, вкратце, если определение задержки (например, последовательных событий задержки) и состояния тега указывает на модификацию состояния, тогда состояние тега может быть изменено на другое состояние. Согласно некоторым вариантам осуществления, если количество событий задержки превышает пороговое значение события задержки, тег может изменить состояние, основываясь на текущем состоянии тега. Например, согласно некоторым вариантам тег может изменяться из состояния НОРМАЛЬНОЕ в состояние ПОМЕЧЕННОЕ, если превышено пороговое значение количества событий задержки. Согласно другим вариантам осуществления тег может меняться из состояния ПОМЕЧЕННОЕ в состояние ПРИОСТАНОВКА_А, если пороговое значение количества событий задержки превышено. Согласно еще другим вариантам осуществления тег может меняться из состояния ПРИОСТАНОВКА_В в состояние ПРИОСТАНОВКА_А, если пороговое значение количества событий задержки превышено. Согласно некоторым вариантам осуществления пороговое значение события задержки может представлять собой любое подходящее количество последовательных событий задержки, таких как, например, 1-3 последовательных события задержки. Согласно другим вариантам осуществления пороговое значение события задержки может представлять собой любое подходящее количество событий задержки, которое происходит в пределах заданного периода времени (например, 3 события задержки за пять минут). Тем не менее, варианты осуществления не так ограничены, и пороговое значение события задержки может основываться на других показателях/алгоритмах, чтобы определить перемещается ли тег из данного состояния, и в какое состояние тег перешел.
Например, тег может меняться из одного состояния в другое состояние основываясь на: серьезности состояния задержки (например, значении задержки тега выше порогового значения серьезности), числе последовательных событий задержки выше порогового значения серьезности, числе событий задержки выше порогового значения серьезности в течение заданного периода времени, длительности нахождения тега в данном состоянии и т.п. или любом их сочетании. Согласно некоторым вариантам осуществления используемое для каждого состояния пороговое значение событий задержки может быть настроено и/или изменено индивидуально. Согласно по меньшей мере одному варианту осуществления каждое из этих пороговых значений событий задержки может быть отдельно настроено для каждого пользователя. Затем обработка перетекает к логическому блоку 412.
Если согласно логическому блоку 406 определено, что произошло событие отсутствия задержки, то обработка может перетекать от логического блока 406 к блоку 410. Согласно блоку 410 состояние тега может быть изменено, основываясь на отсутствии события задержки, которое описано более подробно ниже со ссылкой на Фиг. 6. Тем не менее, вкратце, если определение времени задержки (например, последовательные события отсутствия задержки) и состояние тега указывает на модификацию в состоянии, тогда состояние тега может быть изменено в другое состояние. Согласно некоторым вариантам осуществления тег может изменять состояние, основываясь на текущем состоянии тега и если количество событий задержки превышает пороговое значение событий отсутствия задержки.
Согласно некоторым вариантам осуществления тег может меняться из состояния ПОМЕЧЕННОЕ в состояние НОРМАЛЬНОЕ, если превышено пороговое значение количества событий отсутствия задержки. Согласно другим вариантам осуществления тег может меняться из состояния ПРИОСТАНОВКА_В в состояние ПОМЕЧЕННОЕ, если превышено пороговое значение количества событий отсутствия задержки. Согласно некоторым вариантам осуществления пороговое значение состояний отсутствия задержки может представлять собой любое подходящее число последовательных событий отсутствия задержки, таких как, например, 1-3 последовательных события отсутствия задержки. Согласно другим вариантам осуществления пороговое значение события отсутствия задержки может представлять собой любое подходящее число событий отсутствия задержки, которое происходит в пределах заданного периода времени (например, 3 события отсутствия задержки в одну минуту). Тем не менее, настоящие варианты не так ограничены, и пороговое значение события отсутствия задержки может основываться на других показателях/алгоритмах, чтобы определить перемещается ли тег из данного состояния и в какое состояние тег перешел.
Например, тег может меняться из одного состояния в другое, основываясь на: умеренности одного или нескольких событий отсутствия задержки (например, значении задержки тега ниже порогового значения умеренности), числе последовательных событий отсутствия задержки ниже порогового значения умеренности, числе событий отсутствия задержки ниже порогового значения умеренности в течение заданного периода времени, длительности нахождения тега в данном состоянии и т.п. или любом их сочетании. Согласно некоторым вариантам осуществления используемое для каждого состояния пороговое значение события отсутствия задержки может быть настроено и/или изменено индивидуально. Согласно по меньшей мере одному варианту осуществления каждое из этих пороговых значений событий отсутствия задержки могут быть отдельно настроены для каждого пользователя.
Выполнение способа 400 переходит к логическому блоку 412, где может быть сделано определение о том, блокирован ли тег от развертывания, основываясь на текущем состоянии тега. Согласно некоторым вариантам осуществления тег в состоянии НОРМАЛЬНОЕ и/или в состоянии ПОМЕЧЕННОЕ может не быть блокирован, и ему может быть разрешено развертывание. Согласно другим вариантам осуществления тег в состоянии ПРИОСТАНОВКА_А и/или состоянии ПРИОСТАНОВКА_В может быть блокирован, и ему может быть не разрешено развертывание. Если тег блокирован от развертывания, то обработка может делать петлю к блоку 404, чтобы продолжать асинхронно осуществлять мониторинг задержки тега; в противном случае, обработка может перетекать к блоку 414.
Согласно блоку 414 тегу может быть разрешено быть развернутым. Согласно некоторым вариантам осуществления разрешение тегу быть развернутым может включать в себя уведомление веб-страницы о том, что тег может быть запрошен и загружен на веб-страницу, если запрос веб-страницы предоставлен. Согласно другим вариантам осуществления разрешение тегу быть развернутым может включать в себя уведомление устройства развертывания тегов, такого как TDSD 116, показанного на фигуре 1, о том, что тег может быть запрошен и загружен на веб-страницу, если запрос для веб-страницы предоставлен. Согласно по меньшей мере одному варианту осуществления разрешенные для развертывания теги могут быть включены в таблицы или списки доступных для развертывания тегов. Согласно некоторым вариантам осуществления, если определение текущего состояния тега утвердительно показывает развертывание (как определено блоком 412) и веб-страница запрашивается, тег может быть развернут с ассоциированной веб-страницей.
После блока 414 способ 400 может делать петлю к блоку 404, чтобы продолжить асинхронно осуществлять мониторинг задержки тега.
На Фиг. 5 показана логическая блок-схема, показывающая, как правило, один вариант осуществления процесса изменения состояния тега, основываясь на событии задержки тега и текущем состояния тега. Согласно некоторым вариантам осуществления способ 500 на Фиг. 5 может осуществляться и/или выполняться на одном сетевом устройстве, таком как, сетевое устройство 300 на Фиг. 3. Согласно другим вариантам осуществления способ 500 или части способа 500 на Фиг. 5 могут осуществляться и/или выполняться множеством сетевых устройств, таких как сетевое устройство 300 на Фиг. 3.
Выполнение способа 500 начинается после стартового блока согласно логическому блоку 502, где может быть определено в нормальном ли состоянии тег. Согласно по меньшей мере одному варианту осуществления каждое состояние (то есть, состояние НОРМАЛЬНОЕ, состояние ПОМЕЧЕННОЕ, состояние ПРИОСТАНОВКА_А и/или состояние ПРИОСТАНОВКА_В) может соответствовать таблице, которая идентифицирует теги в этом конкретном состоянии. Например, таблица нормальных тегов может идентифицировать теги в состоянии НОРМАЛЬНОЕ; таблица помеченных тегов может идентифицировать теги в состоянии ПОМЕЧЕННОЕ; таблица тегов ПРИОСТАНОВКА_А может идентифицировать теги в состоянии ПРИОСТАНОВКА_А и таблица тегов ПРИОСТАНОВКА_В может идентифицировать теги в состоянии ПРИОСТАНОВКА_В. Согласно некоторым вариантам осуществления тег может быть определен как в состоянии НОРМАЛЬНОЕ, если тег включен в таблицу нормальных тегов. Если тэг находится в состоянии НОРМАЛЬНОЕ, то обработка может перетекать к логический блоку 504; в противном случае, обработка может перетекать к логическому блоку 510.
Согласно блоку 504 может быть определено, превышает ли событие задержки пороговое значение. Согласно некоторым вариантам осуществления пороговое значение события задержки может представлять собой общее количество последовательных событий задержки. В одном не ограничивающем, не исчерпывающем примере, пороговое значения события задержки для состояния НОРМАЛЬНОЕ может представлять собой одно событие задержки. Согласно по меньшей мере одному такому варианту осуществления определение превышения порогового значения события задержки может включать в себя сравнение ряда последовательных событий задержки с пороговым значением события задержки. Согласно другим вариантам осуществления пороговое значение события задержки может представлять собой общее число событий задержки, произошедших в течение определенного периода времени. Тем не менее, настоящие варианты осуществления не так ограничены, и могут быть использованы другие пороговые значения событий задержки. Если превышено пороговое значение события задержки, то обработка может перетекать к блоку 506; в противном случае, обработка может перетекать к блоку 508.
Согласно блоку 506, тег может быть перемещен в состояние ПОМЕЧЕННОЕ. Согласно по меньшей мере одному варианту осуществления перемещение тега в состояние ПОМЕЧЕННОЕ может включать в себя удаление тега из таблицы тегов НОРМАЛЬНЫЕ и добавление тега в таблицу тегов ПОМЕЧЕННЫЕ. Тем не менее, настоящие варианты осуществления не так ограничены, и могут быть использованы другие способы идентификации и изменения состояния тега. Согласно некоторым вариантам осуществления тег в состоянии ПОМЕЧЕННОЕ может не быть блокирован, и ему может быть разрешено развертывание. Согласно по меньшей мере одному варианту осуществления e-mail, текстовое сообщение или другое уведомление может быть отправлено пользователю для указания, что тег был переведен в состояние ПОМЕЧЕННОЕ. Согласно некоторым другим вариантам осуществления, если тег возвращает ошибку (например, http-ответы 4хх|5хх), когда тег задержки тега контролируется, то тег может быть переведен в состояние ПОМЕЧЕННОЕ. После блока 506, способ 500 может вернуться к вызывающему процессу для выполнения других действий.
Если согласно логическому блоку 504 определено, что пороговое значение события задержки не превышено, то обработка может перетекать от логического блока 504 к блоку 508. Согласно блоку 508 тег может оставаться в состоянии НОРМАЛЬНОЕ. Согласно по меньшей мере одному варианту осуществления тег в состоянии НОРМАЛЬНОЕ может не быть блокирован, и ему может быть разрешено развертывание. После блока 506 способ 500 может вернуться к вызывающему процессу для выполнения других действий.
Если согласно логическому блоку 502 определено, что тег не находится в состоянии НОРМАЛЬНОЕ, то обработка может перетекать из логического блока 502 в блок 510. Согласно логическому блоку 510 может быть выполнено определение находится ли тег в состоянии ПОМЕЧЕННОЕ. Согласно некоторым вариантам тег может быть определен находящимся в состоянии ПОМЕЧЕННОЕ, если тег включен в таблицу тегов ПОМЕЧЕННЫЕ. Если тег находится в состояние ПОМЕЧЕННОЕ, то обработка может перетекать к логический блоку 512; в противном случае, обработка может перетекать к логический блоку 516.
Согласно логическому блоку 512 может быть выполнено определение того, превышено ли пороговое значение событий задержки. Согласно по меньшей мере одному варианту осуществления логический блок 512 может использовать варианты осуществления логического блока 504, чтобы определить превышается ли пороговое значение события задержки. Согласно некоторым вариантам пороговое значение события задержки для состояния ПОМЕЧЕННОЕ может быть одинаковым или различным с пороговым значением события задержки для состояния НОРМАЛЬНОЕ. Согласно одному не ограничивающему, не исчерпывающему примеру пороговое число событий задержки для состояния ПОМЕЧЕННОЕ может представлять собой три последовательных события задержки. Тем не менее, настоящие варианты осуществления не так ограничены, и могут быть использованы другие пороговые значения событий задержки. Если пороговое значение события задержки превышено, то обработка может перетекать к блоку 524; в противном случае, обработка может перетекать к блоку 514.
Согласно блоку 514 тег может оставаться в состоянии ПОМЕЧЕННОЕ. Согласно по меньшей мере одному варианту осуществления тег в состоянии ПОМЕЧЕННОЕ может не быть блокирован и ему может быть разрешено развертывание. После блока 514 способ 500 может вернуться к вызывающему процессу для выполнения других действий.
Если согласно логическому блоку 510 определено, что тег не находится в состоянии ПОМЕЧЕННОЕ, то обработка может перетекать от логического блока 510 к логическому блоку 516. Согласно логическому блоку 516 может быть выполнено определение того, находится ли тег в состоянии ПРИОСТАНОВКА_В. Согласно некоторым вариантам осуществления тег может быть определен как находящийся в состоянии ПРИОСТАНОВКА_В, если тег включен в таблицу тегов ПРИОСТАНОВКА_В. Если тег находится в состоянии ПРИОСТАНОВКА_В, то обработка может перетекать к логическому блоку 518; в противном случае, тег может быть в состоянии ПРИОСТАНОВКА_А и обработка может перетекать к логическому блоку 520.
Согласно блоку 520 тег может оставаться в состоянии ПРИОСТАНОВКА_А. Согласно по меньшей мере одному варианту осуществления тег в состоянии ПРИОСТАНОВКА_А может быть блокирован и ему может быть не разрешено развертывание. Согласно некоторым вариантам осуществления тег может оставаться в состоянии ПРИОСТАНОВКА_А в течение заданного периода времени, независимо от событий задержки и/или отсутствия задержки. После блока 520 способ 500 может вернуться к вызывающему процессу для выполнения других действий.
Если согласно логическому блоку 516 определено, что тег находится в состоянии ПРИОСТАНОВКА_В, то обработка может перетекать от логического блока 516 к логическому блоку 518. Согласно логическому блоку 518 может быть выполнено определение того, превышено ли пороговое значение события задержки. Согласно по меньшей мере одному варианту осуществления логический блок 518 может использовать варианты осуществления логического блока 504, чтобы определить превышение порогового значения события задержки. Согласно некоторым вариантам осуществления пороговое значение события задержки для состояния ПРИОСТАНОВКА_В может быть одинаковым или различным с пороговым значением события задержки для состояния НОРМАЛЬНОЕ и/или состояние ПОМЕЧЕННОЕ. В одном не ограничивающем, не исчерпывающем примере пороговое число событий задержки для состояния ПРИОСТАНОВКА_В может представлять собой три последовательных события задержки. Тем не менее, настоящие варианты осуществления не так ограничены, и могут быть использованы другие пороговые значения событий задержки. Если пороговое значение события задержки превышено, то обработка может перетекать к блоку 524; в противном случае, обработка может перетекать к блоку 522.
Согласно блоку 524 тег может быть перемещен в состояние ПРИОСТАНОВКА_А. Согласно по меньшей мере одному варианту осуществления перевод тега в состояние ПРИОСТАНОВКА_А может включать в себя добавление тега в таблицу тегов ПРИОСТАНОВКА_А и удаление тега из таблицы тегов ПОМЕЧЕННЫЕ или таблицы тегов ПРИОСТАНОВКА_В. Согласно некоторым вариантам осуществления тег в состоянии ПРИОСТАНОВКА_А может быть блокирован и ему может быть не разрешено развертывание. После блока 524 способ 500 может вернуться к вызывающему процессу для выполнения других действий.
Если согласно логическому блоку 518 определено, что пороговое значение события задержки не превышается, то обработка может перетекать от логического блока 518 к блоку 522. Согласно блоку 522 тег может оставаться в состоянии ПРИОСТАНОВКА_В. Согласно некоторым вариантам тег в состоянии ПРИОСТАНОВКА_В может быть блокирован и ему может быть не разрешено развертывание. После блока 522 способ 500 может вернуться к вызывающему процессу для выполнения других действий.
На Фиг. 6 изображена логическая блок-схема, показывающая как правило один вариант осуществления процесса для изменения состояния тега основываясь на событии отсутствия задержки тега и текущем состоянии тега. Согласно некоторым вариантам осуществления способ 600 на Фиг. 6 может быть осуществлен и/или выполнен одним сетевым устройством, таким как, сетевое устройство 300 на Фиг. 3. Согласно другим вариантам осуществления способ 600 или части способ 600 на Фиг. 6 могут быть осуществлены и/или выполнены множеством сетевых устройств, таких как сетевое устройство 300 на Фиг. 3.
Выполнение способа 600 начинается после стартового блока согласно логическому блоку 602, где может быть определено, находится ли тег в состоянии НОРМАЛЬНОЕ. Согласно по меньшей мере одному варианту осуществления логический блок 602 может использовать варианты осуществления логического блока 502 на Фиг. 5, чтобы определить находится ли тег в состоянии НОРМАЛЬНОЕ. Если тег находится в состоянии НОРМАЛЬНОЕ, то обработка может перетекать к блоку 604; в противном случае, обработка может перетекать к логическому блоку 606.
Согласно блоку 604 тег может оставаться в состоянии НОРМАЛЬНОЕ и тегу разрешено развертывание. Согласно по меньшей мере одному варианту осуществления блок 604 может использовать варианты осуществления блока 508 на Фиг. 5. После блока 604 способ 600 может вернуться к вызывающему процессу для выполнения других действий.
Если согласно логическому блоку 602 определено, что тег не находится в состоянии НОРМАЛЬНОЕ, то обработка может перетекать из логического блока 602 к логическому блоку 606. Согласно логическому блоку 606 может быть выполнено определение того, находится ли тег в состоянии ПОМЕЧЕННОЕ. Согласно по меньшей мере одному варианту осуществления логический блок 606 может использовать варианты осуществления логического блока 510 на Фиг. 5, чтобы определить, находится ли тег в состоянии ПОМЕЧЕННОЕ. Если тег находится в состоянии ПОМЕЧЕННОЕ, то обработка может перетекать к логическому блоку 608; в противном случае, обработка может перетекать к логическому блоку 610.
Согласно логическому блоку 608 может быть выполнено определение того, не превышено ли пороговое значение события отсутствия задержки. Согласно некоторым вариантам осуществления пороговое значение события отсутствия задержки может представлять собой общее количество последовательных событий отсутствия задержки. В одном не ограничивающем, не исчерпывающем примере пороговое значение события отсутствия задержки для состояния ПОМЕЧЕННОЕ может представлять собой три последовательных события отсутствия задержки. Согласно по меньшей мере одному такому варианту осуществления определение превышения порогового значения события отсутствия задержки может включать в себя сравнение ряда последовательных событий отсутствия задержки с пороговым значением события отсутствия задержки. Согласно другим вариантам осуществления пороговое значение события отсутствия задержки может представлять собой общее число событий отсутствия задержки произошедших в течение определенного периода времени. Тем не менее, настоящие варианты осуществления не так ограничены, и могут быть использованы другие пороговые значения событий отсутствия задержки. Если пороговое значение события отсутствия задержки превышено, то обработка может перетекать к блоку 616; в противном случае обработка может перетекать к блоку 614.
Согласно блоку 616 тег может быть переведен в состояние НОРМАЛЬНОЕ. Согласно по меньшей мере одному варианту осуществления перевод тега в состояние НОРМАЛЬНОЕ может включать в себя удаление тега из таблицы тегов ПОМЕЧЕННОЕ и добавление тега в таблицу тегов НОРМАЛЬНОЕ. Тем не менее, варианты осуществления не так ограничены, и могут быть использованы другие способы идентификации и изменения состояния тега. Согласно некоторым вариантам осуществления тег в состоянии НОРМАЛЬНОЕ может не быть блокирован и ему может быть разрешено развертывание. Согласно некоторым другим вариантам осуществления тег может вернуться в состояние НОРМАЛЬНОЕ, если пользователь сбрасывает состояние тега, поле HTML тега редактируется, мониторинг тега отключен и/или географическая область мониторинга тега изменилась (т.е. пользователь может выбрать географическое местоположение серверов для мониторинга тегов). После блока 616, способ 600 может вернуться к вызывающему процессу для выполнения других действий.
Если согласно логическому блоку 608 определено, что пороговое значение события отсутствия задержки не превышено, то обработка может перетекать от логического блока 608 к блоку 614. Согласно блоку 614 тег может оставаться в состоянии ПОМЕЧЕННОЕ. Согласно по меньшей мере одному варианту осуществления блок 614 может использовать варианты осуществления блока 514 на Фиг. 5. После блока 614 способ 600 может вернуться к вызывающему процессу для выполнения других действий.
Если согласно логическому блоку 606 определено, что тег не находится в состоянии ПОМЕЧЕННОЕ, то обработка может перетекать из логического блока 606 к блоку 610. Согласно логическому блоку 610 может быть выполнено определение того, находится ли тег в состоянии ПРИОСТАНОВКА_В. Согласно по меньшей мере одному варианту осуществления логический блок 610 может использовать варианты осуществления логического блока 516 на Фиг. 5, чтобы определить, находится ли тег в состоянии ПРИОСТАНОВКА_В. Если тег находится в состоянии ПРИОСТАНОВКА_В, то обработка может перетекать к логическому блоку 618; в противном случае, обработка может перетекать к логическому блоку 612.
Согласно блоку 612 тег может оставаться в состоянии ПРИОСТАНОВКА_А. Согласно по меньшей мере одному варианту осуществления блок 612 может использовать варианты осуществления блока 520 на Фиг. 5. После блока 612 способ 600 может вернуться к вызывающему процессу для выполнения других действий.
Если согласно логическому блоку 610 определено, что тег не находится в состоянии ПРИОСТАНОВКА_В, то обработка может перетекать от логического блока 610 к блоку 618. Согласно логическому блоку 618 может быть выполнено определение того, не превышено ли пороговое значение события отсутствия задержки. Согласно по меньшей мере одному варианту осуществления логический блок 618 может использовать варианты осуществления логического блока 608, чтобы определить превышение порогового значение события отсутствия задержки. Согласно некоторым вариантам осуществления пороговое значение события отсутствия задержки для состояния ПРИОСТАНОВКА_А может быть таким же или отличаться от порогового значение события отсутствия задержки для состояния ПОМЕЧЕННОЕ. В одном не ограничивающем, не исчерпывающем примере пороговое число событий отсутствия задержки для состояния ПРИОСТАНОВКА_А может представлять собой три последовательных события отсутствия задержки. Тем не менее, варианты осуществления не так ограничены, и могут быть использованы другие пороговые значения событий отсутствия задержки. Если пороговое значение события отсутствия задержки превышено, то обработка может перетекать к блоку 622; в противном случае, обработка может перетекать к блоку 620.
Согласно блоку 622 тег может быть перемещен в состояние ПОМЕЧЕННОЕ. Согласно по меньшей мере одному варианту осуществления блок 622 может использовать варианты осуществления блока 506 на Фиг. 5. После блока 622 способ 600 может вернуться к вызывающему процессу для выполнения других действий.
Если согласно логическому блоку 618 определено, что пороговое значение события отсутствия задержки не превышено, то обработка может перетекать от логического блока 618 к блоку 620. Согласно блоку 620 тег может оставаться в состоянии ПРИОСТАНОВКА_В. Согласно по меньшей мере одному варианту осуществления блок 620 может использовать варианты осуществления блока 522 на Фиг. 5. После блока 620 способ 600 может вернуться к вызывающему процессу для выполнения других действий.
На Фиг. 7 показана логическая блок-схема, показывающая, как правило, один вариант осуществления процесса использования тега в одном из множества состояний и изменения состояния тега основываясь на событиях задержки или отсутствия задержки. Согласно некоторым вариантам осуществления способ 700 на Фиг. 7 может быть осуществлен и/или выполнен одним сетевым устройством, таким как сетевое устройство 300 на Фиг. 3. Согласно другим вариантам осуществления способ 700 или части способа 700 на Фиг. 7 могут быть осуществлены и/или выполнены на множестве сетевых устройств, таких как сетевое устройство 300 на Фиг. 3.
Выполнение способа 700 начинается после стартового блока, согласно блоку 702, где может быть использован тег в состоянии НОРМАЛЬНОЕ. Согласно по меньшей мере одному варианту осуществления тег в состоянии НОРМАЛЬНОЕ может не быть блокирован и ему может быть разрешено развертывание. Как описано выше (согласно блоку 404), может осуществляться асинхронный мониторинг задержки тега. Согласно по меньшей мере одному варианту осуществления задержка тега в нормальном состоянии может контролироваться через каждые 15 минут. Тем не менее, могут быть использованы и другие частоты для мониторинга тега в состоянии ПОМЕЧЕННОЕ.
Выполнение способа 700 продолжается согласно логическому блоку 704, где для тега может быть определено, произошло ли событие задержки. Согласно по меньшей мере одному варианту осуществления логический блок 704 может использовать варианты осуществления логического блока 406 на Фиг. 4, для определения того, произошло ли событие задержки основываясь на асинхронном мониторинге задержки тега. Если событие задержки произошло, то обработка может перетекать к логическому блоку 705; в противном случае, обработка может делать петлю к блоку 702, где тег может оставаться в нормальном состоянии.
Согласно логическому блоку 705 может быть определено, превышает ли пороговое значение событие задержки. Согласно по меньшей мере одному варианту осуществления логический блок 705 может использовать варианты осуществления логического блока 504 на Фиг. 5, для определения того, превышено ли пороговое значение события задержки тега в состоянии НОРМАЛЬНОЕ. Если пороговое значение события задержки превышено, то тег может быть переведен в состояние ПОМЕЧЕННОЕ и обработка может перетекать к блоку 706; в противном случае, обработка может делать петлю к блоку 702, где тег может оставаться в состоянии НОРМАЛЬНОЕ. Согласно некоторым вариантам осуществления способ 700 может использовать варианты осуществления блока 506 на Фиг. 5, чтобы перевести тег в состоянии ПОМЕЧЕННОЕ.
Согласно блоку 706 тег может быть использован в состоянии ПОМЕЧЕННОЕ. По меньшей мере в одном варианте осуществления тег в состоянии ПОМЕЧЕННОЕ может не быть блокирован и ему может быть разрешено развертывание. Согласно по меньшей мере одному варианту осуществления задержку тега в состоянии ПОМЕЧЕННОЕ можно подвергать мониторингу через каждые пять минут. Тем не менее, могут быть использованы и другие частоты для мониторинга тега в состоянии ПОМЕЧЕННОЕ.
Согласно некоторым вариантам осуществления пользователь может вручную перевести тег из состояния ПОМЕЧЕННОЕ в НОРМАЛЬНОЕ, используя «сброс» тега. Согласно по меньшей мере одному варианту осуществления пользователь может перевести тег в состояние НОРМАЛЬНОЕ, нажав на кнопку «сброс». Тем не менее, варианты осуществления не так ограничены, и могут использоваться другие варианты осуществления для сброса тега и/или ручного перевода тега в состояние НОРМАЛЬНОЕ. Согласно по меньшей мере одному варианту осуществления ручной перевод тега может произойти независимо от процесса мониторинга задержки тега. Если тег в состоянии ПОМЕЧЕННОЕ вручную «сбросить» в состояние НОРМАЛЬНОЕ, то способ 700 может делать петлю (не показано) к блоку 702.
Согласно по меньшей мере одному варианту осуществления тег в любом состоянии (и/или заданном состоянии), может быть «сброшен» в состояние НОРМАЛЬНОЕ.
В любом случае способ 700 продолжается согласно логическому блоку 710, где может быть определено, произошло ли событие задержки тега. По меньшей мере в одном варианте осуществления логический блок 710 может использовать варианты осуществления логического блока 704, для определения того, произошло ли событие задержки. Если событие задержки произошло, то обработка может перетекать к логическому блоку 712; в противном случае, обработка может перетекать к логическому блоку 708.
Согласно логическому блоку 708 может быть выполнено определение того, превышается ли пороговое значение событие отсутствия задержки. Согласно по меньшей мере одному варианту осуществления логический блок 708 может использовать варианты осуществления логического блока 608 на Фиг. 6, чтобы определить превышение порогового значения события отсутствия задержки для тега в состоянии ПОМЕЧЕННОЕ. Если пороговое значение события отсутствия задержки превышено, то тег может быть перемещен в состояние НОРМАЛЬНОЕ и обработка может перетекать к блоку 702; в противном случае, обработка может делать петлю к блоку 706, где тег может оставаться в состояние ПОМЕЧЕННОЕ. Согласно некоторым вариантам осуществления способ 700 может использовать варианты осуществления блока 616 на Фиг. 6, чтобы переместить тег в состояние НОРМАЛЬНОЕ.
Если согласно логическому блоку 710 произошло событие задержки, то обработка может перетекать от логического блока 710 к логическому блоку 712. Согласно логическому блоку 712 может быть определено превышение порогового значения события задержки. Согласно по меньшей мере одному варианту осуществления логический блок 712 может использовать варианты осуществления логического блока 512 на Фиг. 5, для определения того, не превышено ли пороговое значение события задержки тега в состоянии ПОМЕЧЕННОЕ. Если пороговое значение события задержки превышено, то тег может быть переведен в состояние ПРИОСТАНОВКА_А и обработка может перетекать к блоку 714; в противном случае, обработка может делать петлю к блоку 706, где тег может оставаться в состоянии ПОМЕЧЕННОЕ. Согласно некоторым вариантам осуществления способ 700 может использовать варианты осуществления блока 524 на Фиг. 5, чтобы переместить тег в состояние ПРИОСТАНОВКА_А.
Согласно блоку 714 тег может быть использован в состоянии ПРИОСТАНОВКА_А. Согласно некоторым вариантам осуществления тег в состоянии ПРИОСТАНОВКА_А может оставаться в состоянии ПРИОСТАНОВКА_А в течение заданного периода времени. Согласно по меньшей мере одному варианту осуществления не может осуществляться мониторинг задержки тега в то время как тег находится в состоянии ПРИОСТАНОВКА_А. Согласно некоторым вариантам осуществления тег в состоянии ПРИОСТАНОВКА_А может быть блокирован и ему не может быть разрешено развертывание.
Согласно некоторым вариантам осуществления пользователь может вручную переместить тег из состояния ПРИОСТАНОВКА_А в НОРМАЛЬНОЕ путем «сброса» тега. Согласно по меньшей мере одному варианту осуществления блок 714 может использовать варианты осуществления блока 706 для «сброса» тега. Если тег в состоянии ПРИОСТАНОВКА_А вручную «сбросить» в состояние НОРМАЛЬНОЕ, то способ 700 может сделать петлю (не показано) к блоку 702.
Выполнение способа 700 продолжается согласно логическому блоку 716, где может быть определено, истек ли период времени для тега, чтобы оставаться в состоянии ПРИОСТАНОВКА_А. Согласно по меньшей мере одному варианту осуществления период времени может быть определен и/или изменен пользователем. Согласно некоторым вариантам осуществления период времени может быть равный 20 минутам. Тем не менее, варианты осуществления не так ограничены, и могут быть использованы другие периоды времени. Если период времени истек, то тег может быть переведен в состояние ПРИОСТАНОВКА_В и обработка может перетекать к блоку 718; в противном случае, обработка может делать петлю к блоку 714, где тег может оставаться в состоянии ПРИОСТАНОВКА_А.
Согласно блоку 718 тег может быть использован в состоянии ПРИОСТАНОВКА_В. Согласно по меньшей мере одному варианту осуществления тег в состоянии ПРИОСТАНОВКА_В может быть блокирован и ему не может быть разрешено развертывание. Согласно по меньшей мере одному варианту осуществления мониторинг задержки тега в состоянии ПРИОСТАНОВКА_В может осуществляться каждую минуту. Тем не менее, могут быть использованы другие частоты для мониторинга тега в состоянии ПРИОСТАНОВКА_В.
Согласно некоторым вариантам осуществления пользователь может вручную перевести тег из состояния ПРИОСТАНОВКА_В в НОРМАЛЬНОЕ путем «сброса» тега. Согласно по меньшей мере одному варианту осуществления блок 718 может использовать варианты осуществления блока 706, чтобы «сбросить» тег. Если тег в состоянии ПРИОСТАНОВКА_В вручную «сбросить» в состояние НОРМАЛЬНОЕ, то способ 700 может делать петлю (не показано) к блоку 702.
Дальше способ 700 переходит к логическому блоку 720, где для тега может быть определено, произошло ли событие задержки. Согласно по меньшей мере одному варианту осуществления логический блок 720 может использовать варианты осуществления логического блока 704, чтобы определить, произошло ли событие задержки. Если событие задержки произошло, то обработка может перетекать к логическому блоку 722; в противном случае, обработка может перетекать к логическому блоку 724.
Согласно логическому блоку 722 может быть определено, превышается ли пороговое значение события задержки. Согласно по меньшей мере одному варианту осуществления логический блок 722 может использовать варианты осуществления логического блока 518 на Фиг. 5, чтобы определить превышение порогового значения события задержки для тега в состоянии ПРИОСТАНОВКА_В. Если пороговое значение события задержки превышено, то тег может быть перемещен в состояние ПРИОСТАНОВКА_А и обработка может перетекать к блоку 714; в противном случае, обработка может делать петлю к блоку 718, в котором тег может оставаться в состоянии ПРИОСТАНОВКА_В. Согласно некоторым вариантам осуществления способ 700 может использовать варианты осуществления блока 524 на Фиг. 5, чтобы переместить тег в состояние ПРИОСТАНОВКА_А.
Если согласно логическому блоку 720 событие задержки не произошло, то обработка может перетекать от логического блока 720 к логическому блоку 724. Согласно логическому блоку 724 может быть определено, превышается ли пороговое значение события отсутствия задержки. Согласно по меньшей мере одному варианту осуществления логический блок 724 может использовать варианты осуществления логического блока 618 на Фиг. 6, чтобы определить превышение порогового значения события отсутствия задержки тега в состоянии ПРИОСТАНОВКА_В. Если пороговое значение события задержки превышено, то тег может быть перемещен в состояние ПОМЕЧЕННОЕ и обработка может делать петлю к блоку 706; в противном случае, обработка может делать петлю к блоку 718, где тег может оставаться в состоянии ПРИОСТАНОВКА_В. Согласно некоторым вариантам осуществления способ 700 может использовать варианты осуществления блока 506 на Фиг. 5, чтобы переместить тег в состояние ПОМЕЧЕННОЕ.
Следует понимать, что каждый блок блок-схемы, и комбинации блоков в блок-схеме могут быть реализованы командами компьютерной программы. Эти программные инструкции могут быть предоставлены в процессор для выполнения машиной, таким образом, что инструкции, которые выполняются в процессоре, создают средства для осуществления действий, указанных на блок-схеме или блоках. Команды компьютерной программы могут быть выполнены процессором для вызова серии оперативных этапов, выполняемых процессором для получения процесса, реализуемого с помощью компьютера, такого, что инструкции, которые выполняются в процессоре, обеспечивают этапы для реализации указанных действий в блок-схеме или блоках. Команды компьютерной программы могут также вызывать по меньшей мере некоторые из оперативных этапов, показанных на блоках блок-схемы, которые должны выполняться параллельно. Кроме того, некоторые из этапов могут также быть выполнены на более чем одном процессоре, такие которые могут возникнуть в системе мультипроцессорного компьютера. В дополнение, один или несколько блоков или комбинаций блоков в блок-схеме могут также быть выполнены одновременно с другими блоками или комбинациями блоков или даже в другой последовательности, чем показано, без отхождения от объема или сущности настоящего изобретения.
Соответственно, блоки блок-схемы поддерживают комбинации средств для выполнения указанных действий, комбинаций этапов для выполнения указанных действий и средства команд программы для выполнения указанных действий. Кроме того, следует понимать, что каждый блок блок-схемы и комбинации блоков блок-схемы могут быть реализованы с помощью аппаратных систем специального назначения, которые выполняют определенные действия или этапы, или комбинации аппаратных средств специального назначения и компьютерные инструкции. Вышеизложенный пример не следует рассматривать как ограничивающий и/или исчерпывающий, а скорее как показательный вариант использования по меньшей мере одного из различных вариантов осуществления изобретения.
На Фиг. 8 показан один вариант осуществления сценария использования, графически иллюстрирующий представление множества состояний тегов и событий, которые могут вызвать изменение состояния. Как показано, теги могут находиться в одном из состояний системы 800: состояние НОРМАЛЬНОЕ 802, состояние ПОМЕЧЕННОЕ 804, состояние ПРИОСТАНОВКА_А 806 или состояние ПРИОСТАНОВКА_В 808. Согласно некоторым вариантам осуществления тег в состоянии НОРМАЛЬНОЕ 802, состоянии ПОМЕЧЕННОЕ 806, состоянии ПРИОСТАНОВКА_А 806 и/или состоянии ПРИОСТАНОВКА_В 808 может быть использован аналогично блоку 702, блоку 706, блоку 714 и/или блоку 718, показанных на Фиг. 7, соответственно.
Тегу в состоянии НОРМАЛЬНОЕ 802 может быть разрешено запускание. Согласно по меньшей мере одному варианту осуществления разрешение тега на запускание может включать в себя определение доступности тега для развертывания и разрешение тега на развертывание. Согласно некоторым вариантам осуществления тег в состоянии НОРМАЛЬНОЕ 802 может быть переведен в состояние ПОМЕЧЕННОЕ 804, если для тега контролируется одно событие задержки. Тем не менее, варианты осуществления не так ограничены; но скорее могут быть использованы показатели для определения перемещения тега из состояния НОРМАЛЬНОЕ 802, которые описаны более подробно ниже.
Тегу в состоянии ПОМЕЧЕННОЕ 804 может быть разрешено запускание. Согласно некоторым вариантам осуществления тег в ПОМЕЧЕННОМ состоянии 804 может быть перемещен в состояние ПРИОСТАНОВКА_А 806, если для тега наблюдаются три последовательных события задержки. Согласно другим вариантам осуществления тег в состоянии ПОМЕЧЕННОЕ 804 может быть перемещен в состояние НОРМАЛЬНОЕ 802, если наблюдаются для тега три последовательных события отсутствия задержки. Тем не менее, варианты осуществления не так ограничены; но скорее могут быть использованы показатели для определения перевода тега из состояния ПОМЕЧЕННОГО 804, которые описаны более подробно ниже.
Тег в состоянии ПРИОСТАНОВКА_А 806 может быть блокирован от запускания. По меньшей мере в одном варианте осуществления блокирование тега от запускания включает в себя определение недоступности тега для развертывания и не позволяет тегу быть развернутым. Согласно некоторым вариантам осуществления тег в состоянии ПРИОСТАНОВКА_А 806 может быть перемещен в состояние ПРИОСТАНОВКА_В после пребывания в состоянии ПРИОСТАНОВКА_А в течение 20 минут. Тем не менее, варианты осуществления не так ограничены; но скорее могут быть использованы показатели для определения перемещения тега из состояния ПРИОСТАНОВКА_А 806, которые описаны более подробно ниже.
Тег состоянии ПРИОСТАНОВКА_В 808 может быть блокирован от запуска. Согласно некоторым вариантам осуществления тег в состоянии ПРИОСТАНОВКА_В 808 может быть перемещен в состояние ПРИОСТАНОВКА_А 806, если для тега наблюдаются три последовательных события задержки. Согласно другим вариантам осуществления тег в состоянии ПРИОСТАНОВКА_В 808 может быть перемещен в состояние ПОМЕЧЕННОЕ 804, если наблюдаются для тега три последовательных события отсутствия задержки. Тем не менее, варианты осуществления не так ограничены; но скорее могут быть использованы другие показатели для определения перемещения тега из состояния ПРИОСТАНОВКА_В 808.
Следует отметить, что на фигуре 8 показан один вариант осуществления множества состояний и перемещение тега из одного состояния в другое. Тем не менее, варианты осуществления не так ограничены. Например, согласно некоторым вариантам осуществления может быть использовано другое число состояний. Согласно другим вариантам осуществления тег может перемещаться из одного состояния в другое состояние, которое не может быть показано на Фиг. 8, такое как, например, тег может меняться из состояния НОРМАЛЬНОЕ 802 в состояние ПРИОСТАНОВКА_А 806. Согласно еще другим вариантам осуществления каждое состояние может использовать различные параметры для определения того, перемещается ли тег из данного состояния и в какое состояние тег перемещается. Согласно некоторым вариантам осуществления эти показатели могут быть заранее определены, настроены, и/или модифицированы для каждого пользователя. Различные варианты осуществления показателей, которые могут быть использованы, могут включать в себя без ограничений число последовательных событий задержки, число событий задержки в течение заданного периода времени, серьезность события задержки (например, значение задержки тега выше порогового значения серьезности), число последовательных событий задержки выше порогового значения серьезности, число событий задержки выше порогового значения серьезности в течение заданного периода времени, число последовательных событий отсутствия задержки, количество событий отсутствия задержки в заданный период времени, умеренность одного или нескольких событий задержки (например, значение задержки тега ниже порогового значения умеренности), число последовательных событий отсутствия задержки ниже порогового значения умеренности, число событий отсутствия задержки ниже порогового значения умеренности в течение заданного периода времени, длительность времени пребывания тега в настоящем состоянии или т.п., или любое их сочетание.
Альтернативный вариант осуществления изобретения
На Фиг. 9А-9Б изображена логическая блок-схема, как правило, показывающая альтернативный вариант осуществления процесса использования тега в одном из множества состояний и изменение состояния тега, основываясь на задержке тега. Согласно некоторым вариантам осуществления способ 900 на Фиг. 9А-9Б может быть осуществлен и/или выполнен на одном сетевом устройстве, таком как, сетевое устройство 300 на Фиг. 3. Согласно другим вариантам осуществления способ 900 или части способа 900 показанного на Фиг. 9А-9Б, могут быть реализованы и/или выполнены на множестве сетевых устройств, таких как сетевое устройство 300 на Фиг. 3.
Выполнение способа 900 начинается после стартового блока согласно блоку 902, где тег может быть использован в состоянии НОРМАЛЬНОЕ. Согласно по меньшей мере одному варианту осуществления блок 902 может использовать варианты осуществления блока 702, показанного на Фиг. 7, для использования тега в состоянии НОРМАЛЬНОЕ. Согласно некоторым вариантам осуществления тег в состоянии НОРМАЛЬНОЕ может характеризоваться частотой мониторинга в 15 минут.
Способ 900 переходит к логическому блоку 904, где может быть выполнено определение того, превысил ли контролируемый тег задержки тега пороговое значение ожидания. Согласно по меньшей мере одному варианту осуществления пороговое значение ожидания может представлять собой определенную задержку (т.е. заранее определенное количество времени). Согласно по меньшей мере одному варианту осуществления пороговое значение ожидания может быть определено и/или модифицировано пользователем. Если задержка тега превышает пороговое значение ожидания, то тег может быть перемещен в состояние ПРЕДПРИОСТАНОВЛЕННОЕ, и обработка может перетекать к блоку 912; в противном случае, обработка может перетекать к логическому блоку 906.
Согласно логическому блоку 906 может быть определено превышает ли задержка тега пороговое значение предупреждения. Согласно по меньшей мере одному варианту осуществления пороговое значение предупреждения может представлять собой заранее определенное время задержки тега. Согласно по меньшей мере одному варианту осуществления пороговое значение предупреждения может быть определено и/или изменено пользователем. Согласно некоторым вариантам осуществления пороговое значение предупреждения может быть больше, чем желаемая пользователем задержка тега, но меньше, чем пороговое значение ожидания. Если задержка тега превышает пороговое значение предупреждения (но не превышает пороговое значение ожидания), то тег может быть перемещен в состоянии ПОМЕЧЕННОЕ, и обработка может перетекать к блоку 908; в противном случае, обработка может делать петлю к блоку 902, где тег может оставаться в состоянии НОРМАЛЬНОЕ.
Согласно блоку 908 тег может быть использован в состоянии ПОМЕЧЕННОЕ. Согласно по меньшей мере одному варианту осуществления блок 908 может использовать варианты осуществления блока 706, показанного на Фиг. 7, для использования тега в состоянии ПОМЕЧЕННОЕ. Согласно некоторым вариантам тег в состоянии ПОМЕЧЕННОЕ может характеризоваться частотой мониторинга в пять минут. Согласно по меньшей мере одному варианту осуществления тег в состоянии ПОМЕЧЕННОЕ может оставаться в состоянии ПОМЕЧЕННОЕ до тех пор, пока задержка тега не превышает пороговое значение ожидания (также как согласно логическому блоку 910) или не превышает пороговое значение предупреждения (также как согласно логическому блоку 914). Согласно некоторым вариантам осуществления пользователю могут быть отправлены e-mail, текстовое сообщение или другое уведомление, указывающее на то, что тег находится в состоянии ПОМЕЧЕННОЕ.
Выполнение способа 900 продолжается согласно логическому блоку 910, где может быть определено, превышает ли задержка тега пороговое значение ожидания тега. Согласно по меньшей мере одному варианту осуществления логический блок 910 может использовать варианты осуществления логического блока 904, чтобы определить превышение порогового значения ожидания. Если задержка тега превышает пороговое значение ожидания, то тег может быть перемещен в состояние ПРЕДПРИОСТАНОВЛЕННОЕ, и обработка может перетекать к блоку 912; в противном случае, обработка может перетекать к логическому блоку 914.
Согласно логическому блоку 914 может быть определено, превышает ли задержка тега пороговое значение предупреждения. Согласно по меньшей мере одному варианту осуществления логический блок 910 может использовать варианты осуществления логического блока 904, чтобы определить превышение порогового значения предупреждения. Если задержка тега превышает пороговое значение предупреждения (но не превышает пороговое значение ожидания), то тег может оставаться в состоянии ПОМЕЧЕННОЕ и обработка может делать петлю к блоку 908; в противном случае, тег может быть перемещен в состояние НОРМАЛЬНОЕ и обработка может делать петлю к блоку 902.
Если согласно логическому блоку 910 задержка тега превышает пороговое значение ожидания, то обработка может перетекать от логического блока 910 к блоку 912. Согласно блоку 912 тег может быть использован в состоянии ПРЕДПРИОСТАНОВЛЕННОЕ. Согласно по меньшей мере одному варианту осуществления тег может не быть блокирован и ему может быть разрешено развертывание. Согласно некоторым вариантам осуществления тег в состоянии ПРЕДПРИОСТАНОВЛЕННОЕ может характеризоваться частотой мониторинга в одну минуту. Согласно по меньшей мере одному варианту теги в состоянии ПРЕДПРИОСТАНОВЛЕННОЕ могут оставаться в состоянии ПРЕДПРИОСТАНОВЛЕННОЕ в течение пяти минут.
Выполнение способа 900 переходит к логическому блоку 916, где может быть определено, превышает ли задержка тега пороговое значение ожидания. Согласно по меньшей мере одному варианту осуществления логический блок 916 может использовать варианты осуществления логического блока 904, чтобы определить превышение порогового значения ожидания. Если задержка тега превышает пороговое значение ожидания, то обработка может перетекать к логическому блоку 918; в противном случае, тег может быть перемещен в состояние ПОМЕЧЕННОЕ, и обработка может делать петлю к блоку 908.
Согласно логическому блоку 918 может быть определено, превышено ли последовательное число пороговых значений ожидания. Согласно по меньшей мере одному варианту осуществления пороговое значение последовательного приостановления может представлять собой два последовательных подвергнутых мониторингу тегов задержки, которые превышают пороговое значение ожидания. Если пороговое значение последовательного ожидания превышено, то тег может быть перемещен в состоянии ПРИОСТАНОВЛЕННОЕ, и обработка может перетекать к блоку 920 на Фиг. 9Б; в противном случае, обработка может делать петлю к блоку 912, где тег может оставаться в состоянии ПРИОСТАНОВЛЕННОЕ.
Выполнение способа 900 продолжается согласно блоку 920 на Фиг. 9Б, где тег может быть использован в состоянии ПРИОСТАНОВЛЕННОЕ. Согласно по меньшей мере одному варианту осуществления тег может быть блокирован и ему может не быть разрешено развертывание. Согласно некоторым вариантам осуществления тег в состоянии ПРИОСТАНОВЛЕННОЕ не может подвергаться мониторингу. Согласно по меньшей мере одному варианту осуществления тег в состоянии ПРИОСТАНОВЛЕННОЕ может оставаться в состоянии ПРИОСТАНОВЛЕННОЕ в течение 30 минут. Согласно некоторым вариантам осуществления к пользователям могут быть посланы e-mail, текстовое сообщение или другое уведомление, указывающее, что тэг находится в состоянии ПОМЕЧЕННОЕ.
Выполнение способа 900 переходит к логическому блоку 922, где может быть определено, превышен ли предел состояния ПРИОСТАНОВЛЕННОЕ. Согласно по меньшей мере одному варианту предел состояния ПРИОСТАНОВЛЕННОЕ может составлять 30 минут. Если предел состояния ПРИОСТАНОВЛЕННОЕ превышен, то тег может быть перемещен в состояние ПОСТПРИОСТАНОВЛЕННОЕ и обработка может перетекать к блоку 924; в противном случае, обработка может делать петлю к блоку 920, в котором тег может оставаться в состоянии ПРИОСТАНОВЛЕННОЕ.
Согласно блоку 924 тег может быть использован в состоянии ПОСТПРИОСТАНОВЛЕННОЕ. Согласно по меньшей мере одному варианту осуществления тег может быть блокирован и ему может не быть разрешено развертывание. Согласно некоторым вариантам осуществления тег в состоянии ПОСТПРИОСТАНОВЛЕННОЕ может характеризоваться частотой мониторинга, составляющей пять минут. Согласно по меньшей мере одному варианту осуществления теги в состоянии ПОСТПРИОСТАНОВЛЕННОЕ могут оставаться в состоянии ПОСТПРИОСТАНОВЛЕННОЕ в течение пяти минут.
Выполнение способа 900 продолжается согласно логическому блоку 926, где может быть определено, превышает ли задержка тега пороговое значение ожидания. Согласно по меньшей мере одному варианту осуществления логический блок 926 может использовать варианты осуществления логического блока 904, чтобы определить превышение порогового значения ожидания. Если пороговое значения задержки тега превышено, то обработка может перетекать к логическому блоку 928; в противном случае, обработка может перетекать к логическому блоку 930.
Согласно логическому блоку 928 может быть определено, превышено ли последовательное число пороговых значений ожидания. Согласно по меньшей мере одному варианту осуществления логический блок 928 может использовать варианты осуществления логического блока 918 на Фиг. 9А, чтобы определить превышение порогового значения последовательных ожиданий. Согласно по меньшей мере одному варианту осуществления пороговое значение ожидания может представлять собой две последовательные, подвергнутые мониторингу задержки тега, которые превышают пороговое значение ожидания. Если пороговое значение последовательных ожиданий превышено, то тег может быть перемещен в состояние ПРИОСТАНОВЛЕННОЕ, и обработка может делать петлю к блоку 920; в противном случае, обработка может делать петлю к блоку 924, где тег может остаться в состоянии ПОСТПРИОСТАНОВЛЕННОЕ.
Если согласно логическому блоку 926 задержка тега не превышает пороговое значение ожидания, то обработка может перетекать от логического блока 926 к логическому блоку 930. Согласно логическому блоку 930, может быть определено, превышает ли задержка тега пороговое значение предупреждения. Согласно по меньшей мере одному варианту осуществления логический блок 930 может использовать варианты осуществления логического блока 904, чтобы определить превышение порогового значения предупреждения. Если задержка тега превышает пороговое значение предупреждения (но не превышает пороговое значение ожидания), то обработка может перетекать к логическому блоку 932; в противном случае, тег может быть перемещен в нормальное состояние, и обработка может делать петлю к блоку 902 на Фиг. 9А.
Согласно логическому блоку 932 может быть определено, превышается ли число последовательных пороговых значений предупреждения. Согласно по меньшей мере одному варианту осуществления пороговое значение последовательных предупреждений может представлять собой две последовательных, подвергнутых мониторингу задержи тега, которые превышают пороговое значение предупреждения. Если пороговое значение последовательных предупреждений превышено, то тег может быть перемещен в состояние ПОМЕЧЕННОЕ, и обработка может делать петлю к блоку 922 на Фиг. 9А; в противном случае, обработка может делать петлю к блоку 924, в котором тег может оставаться в состоянии ПОСТПРИОСТАНОВЛЕННОЕ.
На Фиг. 10 показан альтернативный вариант графического представления использования тега в одном из множества состояний и события, которые могут запустить изменение состояния. Как показано, теги могут находиться в одном из пяти состояний системы 1000: состояние НОРМАЛЬНОЕ 1002, состояние ПОМЕЧЕННОЕ 1004, состояние ПРЕДПРИОСТАНОВЛЕННОЕ 1006, состояние ПРИОСТАНОВЛЕННОЕ 1008 или состояние ПОСТПРИОСТАНОВЛЕННОЕ 1010. Согласно некоторым вариантам осуществления тег в состоянии НОРМАЛЬНОЕ 1002, состоянии ОТМЕЧЕННОЕ 1004, состоянии ПРЕДПРИОСТАНОВЛЕННОЕ 1006, состоянии ПРИОСТАНОВЛЕННОЕ 1008 и/или состоянии ПОСТПРИОСТАНОВЛЕННОЕ 1010 может быть использован аналогично варианту осуществления блока 902, блока 908, блока 912, блока 920 и/или блока 924 на Фиг. 9, соответственно.
Этап 1: теги в состоянии НОРМАЛЬНОЕ 1002, которые превышают указанное пороговое значение предупреждения, могут быть перемещены в состояние ПОМЕЧЕННОЕ 1004. Теги в состоянии ПОМЕЧЕННОЕ 1004 могут вернуться в состояние НОРМАЛЬНОЕ 1002, если снизится число задержек (т.е. подвергнутая мониторингу задержка тега меньше, чем пороговое значение предупреждения).
Этап 2: теги в состоянии НОРМАЛЬНОЕ 1002, которые превышают указанное пороговое значение, могут быть перемещены в состояние ПРЕДПРИОСТАНОВЛЕННОЕ 1006. По меньшей мере в одном варианте осуществления пороговое значение ожидания может быть больше, чем пороговое значение предупреждения. В одном не ограничивающем, не исчерпывающие примере пороговое значение предупреждения может составлять 500 миллисекунд, а пороговое значение ожидания может составлять 800 миллисекунд.
Этап 3: теги в состоянии ПОМЕЧЕННОЕ1002, которые превышают указанное пороговое значение могут быть перемещены в состояние ПРЕДПРИОСТАНОВЛЕННОЕ 1006. Теги в состоянии ПРЕДПРИОСТАНОВЛЕННОЕ 1006 могут вернуться в состояние ПОМЕЧЕННОЕ 1004, если снизится число задержек (т.е. контролируемая задержка тега меньше, чем пороговое значение ожидания).
Этап 4: Теги в состоянии ПРЕДПРИОСТАНОВЛЕННОЕ 1006, которые превышают пороговое значение ожидания на протяжении двух последовательных подходов могут быть перемещены в состояние ПРИОСТАНОВЛЕННОЕ 1008.
Этап 5: теги в состоянии ПРИОСТАНОВЛЕННОЕ 1008, которые достигли своего предела приостановленного состояния (например, 30 минут) могут быть перемещены в состояние ПОСТПРИОСТАНОВЛЕННОЕ 1010. Теги в состоянии ПОСТПРИОСТАНОВЛЕННОЕ 1010 могут вернуться в состояние ПРИОСТАНОВЛЕННОЕ 1008, если они превышают пороговое значение ожидания на протяжении двух последовательных подходов. Согласно некоторым вариантам осуществления пороговое значение ожидания, используемое для определения того, когда перемещать теги из одного состояния в другое, может представлять собой такое же или другое пороговое значение.
Этап 6: теги в состоянии ПОСТПРИОСТАНОВЛЕННОЕ 1010 могут перейти в состояние ПОМЕЧЕННОЕ 1004, если они превышают пороговое значение предупреждения на протяжении двух последовательных подходов. Теги в состоянии ПОСТПРИОСТАНОВЛЕННОЕ 1010 можно перемещать в состояние НОРМАЛЬНОЕ 1002, если они не превышают пороговое значение предупреждения или пороговое значение ожидания в течение двух последовательных подходов.
Пример использования операционной среды
На Фиг. 11 показан один из вариантов осуществления примера использования, иллюстрирующий системную схему системы, которая может использоваться для мониторинга задержки тегов и управления изменениями состояния тега, и развертывания. Как показано, система 1100 может включать в себя множество серверов мониторинга, сервер управления, базу данных и серверов тега. Согласно некоторым вариантам осуществления множество серверов мониторинга могут быть аналогичны вариантам осуществления TMSD 112 на Фиг. 1. Множество серверов мониторинга может включать в себя несколько групп серверов мониторинга для мониторинга тегов в различных состояниях, в том числе: серверы мониторинга постприостановленных тегов, серверы мониторинга приостановленных тегов, серверы мониторинга предприостановленных тегов, серверы мониторинга отмеченных тегов, серверы мониторинга нормальных тегов. Каждая из групп серверов мониторинга может быть физически расположена в разных географических местоположениях, таких как Северная Америка (NA), Европа (ЕС), Азия (т.е., Азия и страны Тихого океана (АРАС)) и Южная Америка (SA). Согласно некоторым вариантам осуществления пользователю может быть разрешено выбирать, с каким географическим местоположением сервера мониторинга будет осуществляться мониторинг тега.
База данных может также включать в себя список всех тегов (т.е. все таблицы тегов). База данных также может включать в себя множество таблиц для каждого из множества состояний, в том числе: таблицу приостановленных тегов, таблицу предприостановленных тегов, таблицу постприостановленных тегов, таблицу нормальных тегов и таблицу отмеченных тегов.
Сервер управления может получить доступ к базе данных, чтобы определить, какие теги контролировать и когда. Согласно некоторым вариантам осуществления сервер управления может быть аналогичен вариантам осуществления TCSD 114 на Фиг. 1. Когда тег контролирует, сервер управления может уведомить (например, послать идентификатор тега) серверу мониторинга в выбранное географическое местоположение для текущего состояния тега. Например, если пользователь выбирает серверы мониторинга Европы и должен контролироваться тег в состоянии ПОМЕЧЕННОЕ, то сервер управления может уведомить серверы мониторинга помеченных тегов в Европе. Каждый из множества серверов мониторинга может предоставлять подвергнутые мониторингу задержки тегов на сервер управления. Основываясь на задержке тега, сервер управления может определить необходимо или нет менять состояние тега. Если тег изменил состояние, сервер управления может изменять соответствующие таблицы в базе данных, чтобы отразить изменение состояния. Согласно некоторым вариантам осуществления сервер управления может отправить пользователю e-mail или другое уведомление, если тег изменяется на определенное состояние (например, ПОМЕЧЕННОЕ, ПРИОСТАНОВЛЕННОЕ или т.п.). Кроме того, сервер управления может осуществлять связь с сервисом push-уведомлений для идентификации тега, которые доступны для развертывания (т.е. включать тег для развертывания).
Сервис Push-уведомлений может быть настроен на предоставление тегов в серверы тега. Согласно по меньшей мере одному варианту осуществления сервис push-уведомлений может предоставлять серверам тега самую актуальную информацию о доступных тегах, полученных от сервера управления. Основываясь на информации, предоставленной сервисом push-уведомлений, серверы тега могут развернуть теги на веб-странице клиентского браузера. Согласно некоторым вариантам осуществления серверы тегов могут представлять собой аналогичные варианты осуществления TDSD 116, показанные на Фиг. 1. Согласно по меньшей мере одному варианту осуществления сервер управления и серверы мониторинга могут асинхронно выполнять запросы на веб-страницу (включая в себя сервис push-уведомлений и серверы тегов).
Согласно некоторым вариантам осуществления, если тег блокирован от развертывания (например, в состоянии ПРИОСТАНОВКА_А 806 и/или состоянии ПРИОСТАНОВКА_В 808 на Фиг. 8, или в состоянии ПРИОСТАНОВЛЕННОЕ и/или состоянии ПРЕДПРИОСТАНОВЛЕННОЕ 1010 на Фиг. 10) сервер управления может разрешить развертывание «неактивного» тега вместо блокированного тега. Согласно по меньшей мере одному варианту осуществления неактивный тег может представлять собой неисполняемый вариант блокированного тега.
Согласно некоторым вариантам осуществления неактивный тег может быть использован для определения, сколько раз блокированный тег мог быть развернутым, но не был (потому что был блокирован). Согласно по меньшей мере одному варианту осуществления сервер управления может предоставить неактивный тег в сервис push-уведомлений и в конечном счете на серверы тегов. Согласно некоторым вариантам осуществления серверы тегов могут обращаться к неактивным тега как к реальным тегам для сбора статистической информации о тегам, но не могут развернуть неактивный тег.
Вышеприведенное описание, примеры и данные предоставляют полное описание композиции, производства и применения настоящего изобретения. Поскольку многие варианты осуществления настоящего изобретения могут быть выполнены без отступления от сущности и объема изобретения, настоящее изобретение охватывается объемом прилагаемой формулы изобретения.