Управление шаблонами активации

Иллюстрации

Показать все

Изобретение относится к технологии управления шаблонами активации. Технический результат - эффективное управление шаблонами активации. Способ управления шаблонами активации, реализуемый посредством вычислительного устройства, при этом способ содержит этапы, на которых: отслеживают сетевой трафик, принимаемый сетевым интерфейсным устройством вычислительного устройства; распознают шаблон трафика в отслеживаемом сетевом трафике; идентифицируют приложение вычислительного устройства, которое соответствует распознанному шаблону трафика; и в ответ на эту идентификацию, активируют, по меньшей мере, часть идентифицированного приложения. 3 н. и 17 з.п. ф-лы, 20 ил.

Реферат

Уровень техники

[0001] Пользователи имеют доступ к постоянно растущему множеству вычислительных устройств, которые могут быть сконфигурированы с возможностью использования в сети. Например, пользователи могут взаимодействовать с настольным компьютером, мобильным телефоном, планшетным компьютером и т.д. с тем, чтобы осуществлять взаимодействие через проводные или беспроводные сети.

[0002] Тем не менее, традиционные технологии, которые используются для того, чтобы осуществлять доступ к этим сетям, зачастую являются неэффективными и, как следствие, могут использовать существенный объем ресурсов, включающих в себя ресурсы мощности, ресурсы обработки и сетевые ресурсы. Следовательно, эти традиционные технологии могут ограничивать функциональность, доступную для пользователя устройства.

Сущность изобретения

[0003] Описываются технологии управления шаблонами активации. В одной или более реализаций, отслеживается сетевой трафик, принимаемый посредством сетевого интерфейсного устройства вычислительного устройства, и шаблон трафика распознается в отслеживаемом сетевом трафике. Идентифицируется приложение вычислительного устройства, которое соответствует распознанному шаблону трафика, и в ответ на эту идентификацию, активируется, по меньшей мере, часть идентифицированного приложения.

[0004] В одной или более реализаций, шаблон трафика регистрируется как соответствующий приложению, сконфигурированному для выполнения на вычислительном устройстве. В ответ на распознавание шаблона трафика в сетевом трафике, в то время как приложение находится в состоянии приостановки, инициируется переход, по меньшей мере, части приложения из состояния приостановки в активное состояние.

[0005] В одной или более реализаций, один или более машиночитаемых носителей хранения данных содержат сохраненные инструкции, которые, в ответ на выполнение посредством вычислительного устройства, инструктируют вычислительному устройству реализовывать операционную систему, сконфигурированную с возможностью поддерживать технологию для того, чтобы активировать, по меньшей мере, часть приостановленного приложения в ответ на идентификацию входящего пакета, принимаемого через сетевое интерфейсное устройство вычислительного устройства.

[0006] Также описывается управление посредством операционной системы сетевыми интерфейсными устройствами. В одной или более реализаций, посредством операционной системы выполняется определение в отношении того, что сетевой трафик, ассоциированный с одним или более приложений вычислительного устройства, завершен. В ответ на определение, сетевое интерфейсное устройство принудительно переводится в режим для того, чтобы уменьшать потребление мощности сетевого интерфейсного устройства посредством операционной системы.

[0007] В одной или более реализаций, сетевое интерфейсное устройство задается доступным для одного или более приложений вычислительного устройства посредством операционной системы, когда сетевое интерфейсное устройство находится в режиме с высоким уровнем мощности. Сетевое интерфейсное устройство задается недоступным для одного или более приложений вычислительного устройства посредством операционной системы, когда сетевое интерфейсное устройство находится в режиме с низким уровнем мощности.

[0008] В одной или более реализаций, один или более машиночитаемых носителей хранения данных содержат сохраненные инструкции, которые, в ответ на выполнение посредством вычислительного устройства, инструктируют вычислительному устройству реализовывать операционную систему, сконфигурированную с возможностью поддерживать технологию ограничения доступа посредством одного или более приложений вычислительного устройства к сетевому интерфейсному устройству, которое переводится в режим для того, чтобы уменьшать потребление мощности, причем сетевое интерфейсное устройство сконфигурировано с возможностью активироваться из режима в ответ на прием извещающего уведомления.

[0009] Также описываются технологии управления поддержанием активности. В одной или более реализаций, интервал поддержания активности вычисляется посредством операционной системы вычислительного устройства. Интервал поддержания активности используется для того, чтобы поддерживать один или более каналов уведомлений между одним или более приложений вычислительного устройства и сетью.

[0010] В одной или более реализаций, для каждого из множества приложений, выполняемых на вычислительном устройстве, выполняется определение одного или более интервалов тайм-аута сервера, указываемых для того, чтобы поддерживать канал уведомлений с соответствующей конечной точкой через сеть. Интервал поддержания активности вычисляется из одного или более интервалов тайм-аута сервера для каждого из множества приложений. Интервал поддержания активности используется для того, чтобы активировать сетевое интерфейсное устройство, указанное для того, чтобы поддерживать каналы уведомлений.

[0011] В одной или более реализаций, один или более машиночитаемых носителей хранения данных содержат машиноисполняемые инструкции, которые, в ответ на выполнение посредством вычислительного устройства, инструктируют вычислительному устройству реализовывать операционную систему, сконфигурированную с возможностью использовать интервал поддержания активности, чтобы поддерживать каналы уведомлений между множеством приложений, которые выполняются на вычислительном устройстве, и соответствующей одной или более конечных точек через сеть, причем интервал поддержания активности вычисляется на основе одного или более интервалов тайм-аута сети одного или более промежуточных устройств сети и одного или более интервалов тайм-аута сервера соответствующих конечных точек, с которыми одно или более приложений обмениваются данными через сеть.

[0012] Данная сущность изобретения предоставлена для того, чтобы представлять в упрощенной форме выбор концепций, которые дополнительно описаны ниже в подробном описании. Эта сущность не имеет намерение идентифицировать ключевые или важнейшие признаки заявленного объекта изобретения, а также не имеет намерение использоваться в качестве помощи при определении объема заявленного объекта изобретения.

Краткое описание чертежей

[0013] Подробное описание поясняется со ссылкой на прилагаемые чертежи. На чертежах самая левая цифра(ы) ссылочной позиции идентифицирует чертеж, на котором ссылочная позиция впервые появляется. Использование одинаковых ссылочных позиций в различных случаях в описании и на чертежах может указывать похожие или идентичные элементы.

[0014] Фиг. 1 является иллюстрацией окружения в примерной реализации, которое сконфигурировано с возможностью использовать модуль сетевого посредника для того, чтобы управлять сетевой связью одного или более приложений вычислительного устройства.

[0015] Фиг. 2 является иллюстрацией системы в примерной реализации, подробнее показывающей модуль сетевого посредника по фиг. 1 как использующий модуль диспетчера шаблонов активации.

[0016] Фиг. 3 является блок-схемой последовательности операций способа, иллюстрирующей процедуру в примерной реализации, в которой распознавание шаблона трафика используется для того, чтобы осуществлять переход, по меньшей мере, части приложения из состояния приостановки в активное состояние.

[0017] Фиг. 4 является блок-схемой последовательности операций способа, иллюстрирующей другую процедуру в примерной реализации, в которой распознавание шаблона трафика используется для того, чтобы активировать, по меньшей мере, часть приложения.

[0018] Фиг. 5 является иллюстрацией системы в примерной реализации, подробнее показывающей модуль сетевого посредника по фиг. 1 как использующий модуль диспетчера сетевого устройства.

[0019] Фиг. 6 является иллюстрацией другой системы в примерной реализации, показывающей примерную работу модуля диспетчера сетевого устройства.

[0020] Фиг. 7 иллюстрирует примерную реализацию, показывающую переход сетевого интерфейсного устройства в тихий режим.

[0021] Фиг. 8 иллюстрирует примерную реализацию, показывающую переход сетевого интерфейсного устройства в активное состояние.

[0022] Фиг. 9 иллюстрирует примерную реализацию, показывающую переход в режим ожидания системы.

[0023] Фиг. 10 иллюстрирует примерную реализацию, показывающую переход в режим возобновления работы системы.

[0024] Фиг. 11 является блок-схемой последовательности операций способа, иллюстрирующей процедуру в примерной реализации, в которой выполняется определение в отношении того, что сетевой трафик завершен, и сетевое интерфейсное устройство переводится в режим с низким уровнем мощности посредством операционной системы.

[0025] Фиг. 12 является блок-схемой последовательности операций способа, иллюстрирующей процедуру в примерной реализации, в которой сетевое интерфейсное устройство задается недоступным для приложений во время выполнения режима с более низким уровнем мощности.

[0026] Фиг. 13 является иллюстрацией системы в примерной реализации, подробнее показывающей модуль сетевого посредника по фиг. 1 как использующий модуль диспетчера поддержания активности.

[0027] Фиг. 14 является иллюстрацией системы в примерной реализации, показывающей примерную реализацию вычисления и регулирования интервала поддержания активности по фиг. 13.

[0028] Фиг. 15 иллюстрирует процедуру в примерной реализации, в которой интервал поддержания активности вычисляется и используется для того, чтобы поддерживать один или более каналов уведомлений.

[0029] Фиг. 16 иллюстрирует процедуру в примерной реализации, в которой интервал поддержания активности вычисляется для того, чтобы пакетировать связь для поддержания активности из приложений.

[0030] Фиг. 17 и 18 иллюстрируют системы, показывающие примеры реализации посредника сетевых подключений по фиг. 1.

[0031] Фиг. 19 иллюстрирует примерную систему, которая включает в себя вычислительное устройство, как описано со ссылкой на фиг. 1.

[0032] Фиг. 20 иллюстрирует различные компоненты примерного устройства, которое может быть реализовано как любой тип вычислительного устройства, как описано со ссылкой на фиг. 1, 2, 5-10, 13, 14 и 17-19, чтобы реализовывать варианты осуществления технологий, описанных в данном документе.

Подробное описание изобретения

Обзор

[0033] Приложения с подключением по сети типично заключают в себе способность поддерживать длительное подключение, чтобы остаться ″актуальными″. Тем не менее, в традиционных технологиях это может достигаться за счет поддержания сетевого интерфейсного устройства (например, сетевой интерфейсной платы) подключенным, чтобы обеспечивать досягаемость, что может оказывать негативное влияние на использование ресурсов вычислительного устройства. Например, традиционные технологии обеспечивают беспрепятственный доступ приложений и служб вычислительного устройства к сетевому интерфейсному устройству. Следовательно, операционная система типично не знает в любой данный момент времени то, используется или нет сетевое интерфейсное устройство посредством приложения. Это позволяет не допускать перехода устройства в режим с низким уровнем мощности до тех пор, пока не будет обнаружено бездействие, что может занимать тридцать секунд, и в силу этого может оказывать существенное влияние на электропитание, например, время работы от аккумулятора.

[0034] Соответственно, в данном документе описаны технологии, в которых компонент операционной системы, называемый модулем сетевого посредника, может быть использован для того, чтобы координировать использование сетевых интерфейсных устройств вычислительного устройства. Например, сетевое интерфейсное устройство может использовать модуль диспетчера шаблонов активации для того, чтобы определять то, какие приложения вычислительного устройства, если таковые имеются, должны быть активированы в ответ на прием сетевого трафика. Модуль диспетчера шаблонов активации, например, может обнаруживать, присутствует или нет предварительно зарегистрированный шаблон в сетевом трафике, и если да, активировать соответствующее приложение. Таким образом, модуль диспетчера шаблонов активации может давать возможность приложениям, которые используют сеть, подключаться ко всему в состоянии приостановки, и при этом обеспечивать взаимодействие с пользователем в режиме ″всегда включен/всегда на связи″. Дополнительное пояснение модуля диспетчера шаблонов активации приведено относительно фиг. 2-4.

[0035] В другом примере, модуль сетевого посредника может включать функциональность модуля диспетчера сетевого устройства. Модуль диспетчера сетевого устройства может быть использован для того, чтобы инструктировать сетевому интерфейсному устройству переходить в режим с низким уровнем мощности, когда модуль определяет то, что сетевой трафик, заключающий в себе приложения вычислительного устройства, завершен, например, посредством мониторинга обратных вызовов. Таким образом, модуль 126 диспетчера сетевого устройства операционной системы может быть размещен в качестве промежуточного средства между сетевым интерфейсным устройством и приложениями. В качестве промежуточного средства операционная система может иметь сведения по сетевой активности, и, следовательно, может детерминированно сообщать, может или нет сетевое интерфейсное устройство переходить в режим с низким уровнем мощности, например, в тихий режим сети. Дополнительное пояснение модуля диспетчера сетевого устройства приведено относительно фиг. 5-12.

[0036] В дополнительном примере, модуль сетевого посредника может включать функциональность модуля диспетчера поддержания активности. Модуль диспетчера поддержания активности может быть использован для того, чтобы ″поддерживать активность″ сетевых соединений (например, каналов уведомлений), в то время как приложения находятся в состоянии приостановки, и за счет этого может понижать степень использования ресурсов, ассоциированную с приложениями. Дополнительно, модуль диспетчера поддержания активности может быть использован для того, чтобы давать возможность сетевому интерфейсному устройству переходить в режим с низким уровнем мощности и ″активироваться″, чтобы поддерживать сетевые соединения, и за счет этого может понижать степень использования ресурсов, ассоциированную с самим сетевым интерфейсным устройством. Множество других видов функциональности также может быть включено посредством модуля управления поддержанием активности, к примеру, чтобы динамически определять интервал поддержания активности, дополнительное пояснение которых приведено относительно фиг. 13-18.

[0037] В нижеприведенном пояснении сначала описывается примерное окружение, которое может использовать технологии, описанные в данном документе. Разделы ″Примеры″ затем используются для того, чтобы описывать примерную функциональность модуля диспетчера шаблонов активации, модуля диспетчера сетевого устройства и модуля диспетчера поддержания активности. После этого описывается пример реализации, который может включать функциональность из вышеописанных разделов. Должно быть очевидным, что технологии, описанные в данном документе, не ограничены осуществлением в примерном окружении, и примерное окружение не ограничивается выполнением примерных технологий.

Примерное окружение

[0038] Фиг. 1 является иллюстрацией окружения 100 в примерной реализации, которое сконфигурировано с возможностью использовать технологии на основе сетевого посредника, описанные в данном документе. Проиллюстрированное окружение 100 включает в себя вычислительное устройство 102, которое включает в себя систему 104 обработки (например, один или более процессоров, функциональные блоки), запоминающее устройство 106, источник 108 питания, устройство 110 отображения и одно или более сетевых интерфейсных устройств 112, сконфигурированных с возможностью предоставлять сетевые соединения (например, каналы уведомлений) через сеть 114. В нижеприведенном пояснении представленные объекты могут служить признаком одного или более объектов, и в силу этого объекты могут взаимозаменяемо упоминаться в форме единственного или множественного числа, например, сетевое интерфейсное устройство 112, сетевые интерфейсные устройства 112 и т.д.

[0039] Вычислительное устройство 102 может быть сконфигурировано множеством способов. Например, вычислительное устройство 102 может быть сконфигурировано как компьютер, который допускает обмен данными по сети 114, к примеру, настольный компьютер, мобильная станция, электронное бытовое устройство, абонентская приставка, функционально связанная с устройством отображения, беспроводной телефон, игровая приставка и т.д. Таким образом, вычислительное устройство 102 может варьироваться в диапазоне от полноресурсного устройства со значительными ресурсами запоминающего устройства и процессора (к примеру, персональные компьютеры, игровые приставки) до малоресурсных устройств с ограниченными ресурсами запоминающего устройства и/или обработки (к примеру, традиционные абонентские приставки, карманные игровые приставки). Дополнительно, хотя показано одно вычислительное устройство 102, вычислительное устройство 102 может представлять множество различных устройств, к примеру, несколько серверов, используемых компанией для того, чтобы выполнять операции (например, ферму серверов), комбинацию пульта дистанционного управления и абонентской приставки, устройство захвата изображений и игровую приставку и т.д.

[0040] Хотя сеть 114 проиллюстрирована как Интернет, сеть может допускать множество конфигураций. Например, сеть 114 может включать в себя глобальную вычислительную сеть (WAN), локальную вычислительную сеть (LAN) или сеть intranet, и в силу этого сетевое интерфейсное устройство 112 может быть сконфигурировано с возможностью осуществлять доступ к этим сетям через проводное подключение. Сеть 114 также может быть сконфигурирована с возможностью доступа через беспроводные технологии, такие как беспроводная глобальная вычислительная сеть (WWAN), беспроводная локальная вычислительная сеть (WLAN), сотовая сеть (например, 3G-, 4G-, LTE-сеть) и т.д. Сетевое интерфейсное устройство 112 может представлять физические устройства, а также виртуальные сетевые устройства, к примеру, устройства, используемые для того, чтобы поддерживать виртуальную частную сеть, туннелирование и т.д. Таким образом, хотя показана одна сеть 114, сеть 114 может представлять множество сетей.

[0041] Вычислительное устройство 102 дополнительно иллюстрируется как включающее в себя операционную систему 116. Операционная система 116 сконфигурирована с возможностью абстрагировать базовую функциональность вычислительного устройства 102 для приложений 118, 120, которые выполняются на вычислительном устройстве 102. Например, операционная система 116 может абстрагировать функциональность системы 104 обработки, запоминающего устройства 106, источника 108 питания (например, аккумулятора или проводного подключения) и/или устройства 110 отображения вычислительного устройства 102, так что приложения 118, 120 могут быть написаны без сведений в отношении того, как реализуется эта базовая функциональность. Приложения 118, 120, например, могут предоставлять данные в операционную систему 116 для рендеринга и отображения посредством устройства отображения 112 без понимания в отношении того, как этот рендеринг может выполняться.

[0042] Аналогично, операционная система 116 также может абстрагировать функциональность сетевых соединений для приложений 118, 120 посредством использования модуля 122 сетевого посредника. Модуль 122 сетевого посредника представляет функциональность для того, чтобы управлять использованием сетевого интерфейсного устройства 112 посредством приложений 118, 120, а также работой самого сетевого интерфейсного устройства 112.

[0043] Как описано выше, модуль 122 сетевого посредника может включать множество различных видов функциональности для того, чтобы выполнять это управление. Например, модуль 112 сетевого посредника может включать модуль 124 диспетчера шаблонов активации, который сконфигурирован с возможностью активировать одно или более приложений 118, 120 после идентификации конкретного шаблона трафика. Конкретный шаблон трафика, например, может предварительно регистрироваться посредством приложения, и таким образом, когда распознается шаблон, модуль 124 диспетчера шаблонов активации может активировать соответствующее одно из приложений 118, 120, в отличие от традиционных технологий, в которых вычислительное устройство 102 активируется полностью, в том числе и каждое из приложений 118, 120. Дополнительное пояснение модуля 124 диспетчера шаблонов активации приведено относительно фиг. 2-4.

[0044] Модуль 122 сетевого посредника также иллюстрируется как включающий в себя модуль 126 диспетчера сетевого устройства. Как упомянуто выше, этот модуль представляет функциональность для того, чтобы управлять работой сетевого интерфейсного устройства 112, а также доступностью сетевого интерфейсного устройства 112 для приложений 118, 120 вычислительного устройства 102. Это может включать в себя инструктирование сетевому интерфейсному устройству 112 переходить в режим для того, чтобы уменьшать потребление мощности, когда модуль 126 диспетчера сетевого устройства определяет то, что сетевой трафик, заключающий в себе приложения 118, 120, завершен.

[0045] Дополнительно, модуль 126 диспетчера сетевого устройства может задавать сетевое интерфейсное устройство 112 недоступным для приложений 118, 120 в течение определенных периодов времени в этом режиме, так что приложения 118, 120 не активируют без необходимости сетевое интерфейсное устройство 112. Таким образом, модуль 126 диспетчера сетевого устройства может направлять в ″черные дыры″ связь из приложений 118, 120 в сетевое интерфейсное устройство. Дополнительное пояснение модуля 126 диспетчера сетевого устройства приведено относительно соответствующего раздела в нижеприведенном пояснении, который начинается относительно фиг. 5-12.

[0046] Модуль 122 сетевого посредника дополнительно иллюстрируется как включающий в себя модуль 128 диспетчера поддержания активности. Модуль 128 диспетчера поддержания активности представляет функциональность, которая может быть использована для того, чтобы поддерживать сетевые соединения, даже для приложений 118, 120 в состоянии приостановки. Модуль 128 диспетчера поддержания активности, например, может обмениваться данными с одним или более серверов сетевой службы, чтобы сохранять активным сетевое соединение между службой и вычислительным устройством 102 по сети 114. Модуль 128 диспетчера поддержания активности также может включать в себя функциональность для того, чтобы динамически определять интервал, в котором должна возникать эта активность, и за счет этого дополнительно может экономить ресурсы вычислительного устройства 102. Дополнительное пояснение модуля 128 диспетчера поддержания активности приведено относительно соответствующего раздела в нижеприведенном пояснении, который начинается относительно фиг. 13-18.

[0047] Хотя модуль 122 сетевого посредника и его соответствующие модуль 124 диспетчера шаблонов активации, модуль 126 диспетчера сетевого устройства и модуль 128 диспетчера поддержания активности проиллюстрированы в качестве части операционной системы 116, должно быть очевидным, что эта функциональность может быть реализована посредством множества различных объектов. Примеры таких объектов включают в себя автономные приложения, сторонние подключаемые модули и т.д.

[0048] В общем, любые из функций, описанных в данном документе, могут быть реализованы с помощью программного обеспечения, микропрограммного обеспечения, аппаратных средств (к примеру, неизменяемой логической схемы) либо в комбинации этих реализаций. Термины ″модуль″, ″функциональность″ и ″логика″″ при использовании в данном документе обычно представляют программное обеспечение, микропрограммное обеспечение, аппаратные средства или комбинацию вышеозначенного. В случае программной реализации модуль, функциональность или логика представляют программный код, который выполняет заданные задачи при выполнении в процессоре (к примеру, в CPU или в нескольких CPU). Программный код может быть сохранен на одном или более машиночитаемых запоминающих устройств. Признаки технологий на основе сетевого посредника, описанных ниже, являются независимыми от платформы, что означает то, что технологии могут быть реализованы на множестве коммерческих вычислительных платформ, имеющих множество процессоров.

[0049] Например, вычислительное устройство 102 также может включать в себя объект (например, программное обеспечение), который инструктирует аппаратным средствам вычислительного устройства 102 выполнять операции, к примеру, процессоры, функциональные блоки и т.д. Например, вычислительное устройство 102 может включать в себя машиночитаемый носитель, который может быть сконфигурирован с возможностью поддерживать инструкции, которые инструктируют вычислительному устройству, а более конкретно, аппаратным средствам вычислительного устройства 102 выполнять операции. Таким образом, инструкции функционируют с возможностью конфигурировать аппаратные средства, чтобы выполнять операции и в силу этого приводить к преобразованию аппаратных средств таким образом, чтобы выполнять функции. Инструкции могут предоставляться посредством машиночитаемого носителя в вычислительное устройство 102 через множество различных конфигураций.

[0050] Одной такой конфигурацией машиночитаемого носителя является среда передачи сигналов и в силу этого сконфигурирована с возможностью передавать инструкции (например, в качестве несущей) в аппаратные средства вычислительного устройства, к примеру, через сеть. Машиночитаемый носитель также может быть сконфигурирован как машиночитаемый носитель хранения данных и в силу этого не является средой передачи сигналов. Примеры машиночитаемого носителя хранения данных включают в себя оперативное запоминающее устройство (RAM), постоянное запоминающее устройство (ROM), оптический диск, флэш-память, запоминающее устройство на основе жесткого диска и другие запоминающие устройства, которые могут использовать магнитные, оптические и другие технологии для того, чтобы сохранять инструкции и другие данные.

Модуль диспетчера шаблонов активации

[0051] Фиг. 2 является иллюстрацией системы 200 в примерной реализации, показывающей примерную работу модуля 124 диспетчера шаблонов активации модуля 122 сетевого посредника по фиг. 1. Как описано выше, традиционные технологии заключают в себе активное выполнение процессов для обеспечения досягаемости приложения. Следовательно, приложения, которые заключают в себе использование относительно длительных сетевых подключений, могут отправлять и принимать данные в любое время, что может иметь прямое воздействие на ресурсы вычислительного устройства 102, к примеру, на время работы от аккумулятора.

[0052] Тем не менее, в этом примере операционная система 116 может использовать модуль 122 сетевого посредника для того, чтобы поддерживать взаимодействие с пользователем в режиме ″всегда включен/всегда на связи″. В этом примере, взаимодействие поддерживается посредством использования модуля 124 диспетчера шаблонов активации, который может быть использован для того, чтобы активировать конкретные приложения, которые вовлечены в сетевую связь.

[0053] Модуль 124 диспетчера шаблонов активации, например, может разрешать приложения 118, 120, регистрировать шаблоны 202 трафика, которые служат признаком конкретных вариантов применения 118, 120. Например, приложение 118 может регистрировать шаблон 202 трафика, который отличается от шаблона трафика, зарегистрированного для приложения 120. Соответственно, модуль 124 диспетчера шаблонов активации может отслеживать сетевой трафик 204 на предмет шаблонов 202 трафика и активировать соответствующие приложения 118, 120.

[0054] Разработчик приложений, например, может заключать договор с модулем 122 сетевого посредника операционной системы 116, чтобы указывать определенные события и обратный вызов, который должен быть выполнен для каждого из этих событий. Модуль 122 сетевого посредника затем может ″встраивать″ конкретный шаблон данных, принимаемый посредством сетевого интерфейсного устройства 112 через сеть 114, как соответствующий одному или более приложений 118, 120, которые зарегистрированы для этого шаблона 202 трафика.

[0055] Соответственно, модуль 124 диспетчера шаблонов активации модуля 122 сетевого посредника может выдавать прерывание в операционную систему 116 при приеме входящего пакета, описанного в шаблоне трафика для приложения 118. В свою очередь, операционная система 116 может активировать приложение 118 из состояния приостановки в зарегистрированной точке ввода обратного вызова и указывать пакет в приложение 118. Таким образом, модуль 124 диспетчера шаблонов активации может поддерживать технологию для того, чтобы инициировать приостановленное приложение во входящем пакете из предварительно авторизованной удаленной конечной точки. Дополнительно, это дает возможность операционной системе 116 встраивать шаблон, даже если физическое сетевое интерфейсное устройство 112 не поддерживает фильтрацию входящих пакетов, в силу этого давая возможность операционной системе 115 фильтровать входные пакеты.

[0056] Приложения 118, 120 также могут быть сконфигурированы с возможностью повышать эффективность использования ресурсов вычислительного устройства 102. Например, приложение 118 может быть векторизовано, чтобы формировать различные части, которые могут быть выполнены отдельно. Проиллюстрированный пример этого для приложения 118 включает в себя векторизацию сетевой функциональности 206 как отдельной от другой функциональности 208 приложения 118, к примеру, функциональности, вовлеченной в формирование пользовательского интерфейса для приложения 118.

[0057] Таким образом, продолжая предыдущий пример, модуль 122 сетевого посредника может активировать сетевую функциональность 206 приложения 118, к примеру, чтобы указывать пакет, который совпадает с указанными шаблонами 202 трафика, и выполнять конкретный обратный вызов кода приложения без восстановления кода приложения 118, вовлеченного в формирование пользовательского интерфейса приложения 118. Следовательно, приложение 118 может быть сконфигурировано с возможностью отвечать на сетевой трафик 204 из удаленного сервера эффективным по ресурсам способом для пакетов данных, инициированного удаленной конечной точкой индикатора поддержания активности и т.д. Также рассматривается множество других примеров векторизации приложения 118, к примеру, разделение обработчиков событий приложения 118.

[0058] Модуль 124 диспетчера шаблонов активации также может поддерживать технологии для того, чтобы объединять данные для передачи в приложения 118, 120, которые также могут указываться посредством шаблонов 202 трафика. Модуль 124 диспетчера шаблонов активации, например, может принимать данные через множество различных каналов уведомлений через сеть 114 в сетевом интерфейсном устройстве 112. Вместо передачи этих данных в приложения 118, 120 ″сразу″, модуль 124 диспетчера шаблонов активации может объединять эти данные для передачи в приложения 118, 120 с заданным интервалом.

[0059] Таким образом, ресурсы вычислительного устройства 102, используемого при выполнении приложений 118, 120, могут быть совместно использованы, чтобы дополнительно обеспечивать экономию в отношении того, когда и как используются эти ресурсы. Например, вместо приема данных для приложения 118, активации приложения 118 и передачи пакета в приложение 118, а затем повторения этого для пакета, принимаемого для приложения 120, эти пакеты могут кэшироваться и затем перенаправляться.

[0060] В одной или более реализаций, модуль 124 диспетчера шаблонов активации также может использовать сведения по регистрационным именам пользователей. Например, модуль 124 диспетчера шаблонов активации может использовать шаблоны 202 трафика для пользователя, который активно регистрируется в вычислительном устройстве 102, но не для других пользователей, может использовать шаблоны для пользователя, который зарегистрирован последним, и т.д. Естественно, также рассматриваются другие реализации, к примеру, реализации, в которых шаблоны используются для каждого пользователя, который зарегистрирован в системе, независимо от того, активный он или нет.

[0061] Таким образом, описана операционная система, которая может быть сконфигурирована с возможностью поддерживать технологию для того, чтобы активировать, по меньшей мере, часть приостановленного приложения в ответ на идентификацию входящего пакета, принимаемого через сетевое интерфейсное устройство вычислительного устройства. Дополнительное пояснение этих технологий приведено относительно примера реализации и следующих процедур.

[0062] Фиг. 3 иллюстрирует процедуру 300 в примерной реализации, в которой распознавание шаблона трафика используется для того, чтобы осуществлять переход, по меньшей мере, части приложения из состояния приостановки в активное состояние. Аспекты процедуры могут быть реализованы в аппаратных средствах, микропрограммном обеспечении, программном обеспечении, либо в комбинации вышеозначенного. Процедуры проиллюстрированы как набор этапов, которые задают операции, выполняемые посредством одного или более устройств, и они не обязательно ограничены показанными последовательностями для выполнения операций посредством соответствующих этапов. В частях последующего обсуждения упоминаются окружение 100 по фиг. 1 и система 200 по фиг. 2.

[0063] Шаблон трафика регистрируется как соответствующий приложению, сконфигурированному для выполнения на вычислительном устройстве (этап 302). Шаблон 202 трафика, например, может быть зарегистрирован посредством приложения 118 в ходе установки приложения 118 через взаимодействие с API модуля 124 диспетчера шаблонов активации и т.д. Дополнительно, шаблон 202 трафика может быть использован для того, чтобы описывать множество различных характеристик сетевого трафика 204, к примеру, идентифицировать конкретные пакеты, обратные вызовы, идентифицировать конкретные удаленные конечные точки и т.д.

[0064] В ответ на распознавание шаблона трафика в сетевом трафике в то время, когда приложение находится в состоянии приостановки, по меньшей мере, часть приложения переходит из состояния приостановки в активное состояние (этап 304). Приложение 118 может быть переведено в состояние приостановки вследствие множества различных факторов. Например, операционная система 116 может быть сконфигурирована с возможностью переводить приложение 118 в состояние приостановки, когда фокус перемещается в другое приложение. Фокус может быть перемещен посредством минимизации пользовательского интерфейса приложения, перемещения пользовательского интерфейса (например, окна) с переднего плана в настольном пользовательском интерфейсе, навигации из пользовательского интерфейса приложения 118 в иммерсивном окружении и т.д. Таким образом, операционная система 116 может экономить ресурсы вычислительного устройства 102 посредством приостановки выполнения приложений, которые не доступны, непосредственно, для пользовательского взаимодействия.

[0065] Как описано выше, модуль 124 диспетчера шаблонов активации может распознавать шаблоны 202 трафика из сетевого трафика 204 и осуществлять переход, по меньшей мере, части приложения 118 (например, сетевая функциональность 206, но не другая функциональность 208) в активное состояние, чтобы обрабатывать идентифицированный сетевой трафик 204. Таким образом, модуль 124 диспетчера шаблонов активации может осуществлять переход конкретного варианта применения 118, которому сетевой трафик 204 относится и даже конкретная часть приложения 118. Другой пример использования модуля 124 диспетчера шаблонов активации приведен относительно следующего чертежа.

[0066] Фиг. 4 иллюстрирует процедуру 400 в примерной реализации, в которой распознавание шаблона трафика используется для того, чтобы активир