Устройство мониторинга, использующее множество серверов, оптимизированных для разных типов связи



Устройство мониторинга, использующее множество серверов, оптимизированных для разных типов связи
Устройство мониторинга, использующее множество серверов, оптимизированных для разных типов связи
Устройство мониторинга, использующее множество серверов, оптимизированных для разных типов связи
Устройство мониторинга, использующее множество серверов, оптимизированных для разных типов связи
Устройство мониторинга, использующее множество серверов, оптимизированных для разных типов связи
Устройство мониторинга, использующее множество серверов, оптимизированных для разных типов связи
Устройство мониторинга, использующее множество серверов, оптимизированных для разных типов связи
Устройство мониторинга, использующее множество серверов, оптимизированных для разных типов связи
Устройство мониторинга, использующее множество серверов, оптимизированных для разных типов связи
Устройство мониторинга, использующее множество серверов, оптимизированных для разных типов связи
Устройство мониторинга, использующее множество серверов, оптимизированных для разных типов связи
Устройство мониторинга, использующее множество серверов, оптимизированных для разных типов связи
Устройство мониторинга, использующее множество серверов, оптимизированных для разных типов связи

Владельцы патента RU 2647687:

ЭБСОЛЮТ СОФТВЭАР КОРПОРЕЙШН (CA)

Изобретение относится к системе мониторинга электронного устройства. Технический результат – уменьшение времени, требуемого для администратора или владельца устройства для активации меры безопасности на удаленном устройстве. Для этого используются два разных типа серверов для осуществления связи с электронными устройствами пользователей. Один тип сервера, которым может быть сервер быстрого контакта, оптимизирован или сконфигурирован для относительно короткой и частой связи с электронными устройствами. Другой тип сервера оптимизирован или сконфигурирован для менее частой, но (обычно) более длительной связи с электронными устройствами. В некоторых вариантах осуществления электронные устройства выполнены с возможностью относительно частого осуществления связи (например, каждые несколько минут) с сервером быстрого контакта. Когда электронное устройство объявлено как потерянное или украденное, сервер быстрого контакта может дать инструкцию электронному устройству осуществить контакт с другим типом сервера, чтобы получить соответствующие безопасности инструкции. 3 н. и 28 з.п. ф-лы, 20 ил.

 

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ

Настоящее раскрытие относится к защите электронных устройств от потери или кражи, и в частности к системам и способам мониторинга таких устройств и обеспечения возможности частого осуществления контакта с ними и на короткий срок.

УРОВЕНЬ ТЕХНИКИ

Персональные электронные вычислительные устройства или устройства связи часто теряют или крадут. Так как на таких устройствах обычно хранится конфиденциальная информация, необходимость защиты таких конфиденциальных или особенных данных и возврата таких устройств является очевидной.

Переносные компьютеры, и в возрастающей степени другие электронные устройства, такие как сотовые телефоны, PDA, интеллектуальные телефоны (например Blackberry™, iPhone™), flash-накопители, персональные медиаустройства (например iPod™), игровые устройства, планшетные компьютеры, электронные книги и персональные компьютеры, часто удаленно отслеживаются, так чтобы они могли быть возвращены при событии кражи. Такое отслеживание может быть осуществлено посредством отправки информации о местоположении на сайт удаленного хранилища, сервер электронной почты или персональное мобильное электронное устройство.

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

Отслеживание обычно происходит периодически, чтобы избежать чрезмерного использования полосы пропускания и минимизировать риск быть замеченным вором. Когда устройство украдено между двумя такими передачами данных отслеживания, владелец или пользователь устройства должен ждать следующей передачи данных отслеживания для того, чтобы запустить действие по обеспечению безопасности, такое как удаление данных, на устройстве.

РАСКРЫТИЕ ИЗОБРЕТЕНИЯ

Система мониторинга электронного устройства использует два разных типа серверов для осуществления связи с электронными устройствами пользователей. Один тип сервера, которым может быть сервер быстрого контакта, оптимизирован или сконфигурирован для относительно короткой и частой связи с электронными устройствами. Другой тип сервера оптимизирован или сконфигурирован для менее частой, но (обычно) более длительной связи с электронными устройствами. В некоторых вариантах осуществления, электронные устройства выполнены с возможностью относительно частого осуществления связи (например, каждые несколько минут) с сервером быстрого контакта. Когда электронное устройство объявлено как потерянное или украденное, сервер быстрого контакта может дать инструкцию электронному устройству осуществить контакт с другим типом сервера, чтобы получить касающиеся безопасности инструкции. Оптимизируя два сервера по-разному, можно сказать, что электронное устройство выполнено с возможностью осуществления связи с каждым согласно разным протоколам, где каждый протокол оптимизирован под конкретный сервер.

Это краткое изложение сущности изобретения не является исчерпывающим обзором, предназначенным для установления рамок для объема объекта изобретения, который описан и заявлен в настоящем документе. Это краткое изложение сущности изобретения представляет аспекты объекта изобретения в упрощенной форме для обеспечения их базового понимания, в качестве прелюдии к более подробному описанию, которое представлено ниже. Ни это краткое изложение сущности изобретения, ни чертежи или нижеследующее подробное описание не подразумевают задание или ограничение данного изобретения; данное изобретение задано только формулой изобретения.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

Для более полного понимания природы и преимуществ раскрытого объекта изобретения, также как предпочтительного режима его использования, должна быть сделана ссылка на нижеследующее подробное описание, взятое совместно с прилагаемыми чертежами. На чертежах, подобные ссылочные номера обозначают подобные или аналогичные этапы или части.

Фиг. 1 является базовой блок-схемой системы быстрого контакта в соответствии с вариантами осуществления раскрытого объекта изобретения.

Фиг. 2 является принципиальной схемой пакета быстрого контакта, отправленного устройством на сервер быстрого контакта.

Фиг. 3 является принципиальной схемой обычного пакета, переданного между устройством и главным сервером.

Фиг. 4 является схемой последовательности операций процесса, выполняемого устройством в системе быстрого контакта в соответствии с вариантами осуществления раскрытого объекта изобретения.

Фиг. 5 является схемой последовательности операций процесса, выполняемого сервером быстрого контакта.

Фиг. 6 является схемой последовательности операций для передачи жетона аутентификации из сервера быстрого контакта на устройство.

Фиг. 7 является диаграммой последовательностей для обеспечения возможности осуществления быстрого вызова устройства.

Фиг. 8 является диаграммой последовательностей для случая, когда нет ожидающих обработки действий для устройства. Фиг. 9 является диаграммой последовательностей, показывающей быстрые и обычные вызовы.

Фиг. 10 является диаграммой последовательностей для обновления настройки осуществления быстрого вызова.

Фиг. 11 является диаграммой последовательностей для принудительного осуществления агентского вызова на главный сервер.

Фиг. 12 является диаграммой последовательностей для активации действий по обеспечению безопасности.

Фиг. 13 является базовой блок-схемой альтернативного варианта осуществления системы быстрого контакта со службой консолидации.

Фиг. 14 является диаграммой последовательностей для конфигурации устройства.

Фиг. 15 является диаграммой последовательностей для обновления параметров устройства.

Фиг. 16 является диаграммой последовательностей для запуска сервера быстрого контакта.

Фиг. 17 является диаграммой последовательностей для опроса на предмет ожидающих обновлений параметров устройства или на предмет принудительных вызовов.

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

Фиг. 19 является диаграммой последовательностей для быстрого вызова, когда есть ожидающее обработки обновление параметров или принудительный вызов.

Фиг. 20 является базовой блок-схемой альтернативного варианта осуществления системы быстрого контакта с многочисленными серверами консолидации.

ПОДРОБНОЕ ОПИСАНИЕ КОНКРЕТНЫХ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ

A. Терминология

Агент. Как используется в настоящем документе, агент является программным, аппаратным или программно-аппаратным агентом, который в идеале постоянен и незаметен. Обычно, агент включает в себя или состоит из исполняемых инструкций, которые находятся в читаемой процессором памяти в компьютере или другом электронном устройстве. Агент обычно предоставляет функции обслуживания, которые требуют связь с удаленным сервером. Предпочтительно, агент является устойчивым к взлому, и может иметь возможность поддержки и/или предоставления различных услуг, таких как удаление данных, защита межсетевым экраном, шифрование данных, отслеживание местоположения, уведомление сообщением, развертывание программного обеспечения и обновлений. Иллюстративный вариант осуществления агента обнаружен в коммерчески доступном продукте Computrace Agent™. Технология, лежащая в основе Computrace Agent™, была раскрыта и запатентована в США и других странах, чьи патенты были в общем присвоены Absolute Software Corporation. См., например, патенты США №5715174; 5764892; 5802280; 6244758; 6269392; 6300863; 6507914; 7818803; 7945709 и родственные иностранные патенты. Подробности постоянной функции агента раскрыты в публикациях патентных заявок США № US 2005/0216757 и US 2006/0272020. Технические раскрытия этих документов полностью включены в настоящий документ посредством ссылки в полном объеме. Допустимо использовать эквивалентный агент для Computrace Agent™, или менее предпочтительно может быть использован альтернативный агент с меньшей функциональностью. В целях настоящего раскрытия, минимальным функциональным атрибутом агента является способствование связи между электронным устройством и центром мониторинга или другим удаленным компьютером или сервером. Связь в основном инициируется агентом.

Устройство. Это электронное устройство, которое должно быть защищено. Примеры устройства включают в себя переносной компьютер, сотовый телефон, персональный цифровой помощник, интеллектуальный телефон, flash-накопители, персональное медиаустройство, игровое устройство, персональный компьютер, планшетный компьютер, электронную книгу и нетбук. Агент находится в устройстве, которое может также называться хостом для агента. Устройство может также называться клиентом.

Электронный серийный номер (ESN). Уникальный номер, который идентифицирует устройство или агента внутри устройства. ESN может храниться в памяти и/или в регистре в устройстве.

Жетон, публичный жетон или жетон аутентификации. Это зашифрованный ESN, и он может быть защищен посредством хэша.

Сервер быстрого контакта (RCS). Компьютер или компьютерная система, с которой большое число удаленных устройств контактируют часто и ненадолго для приема ожидающих команд, если есть, без существенной задержки. RCS может быть частью центра мониторинга, и может быть известна как сервер скоростного контакта или FC-сервером. Обычно, RCS имеет небольшой пул потоков обработки, ни один из которых не выделен для сеанса связи.

Главный сервер. Сторожевой сервер или другой компьютер или компьютерная система, с которой удаленные устройства осуществляют связь менее часто и дольше (по сравнению с RCS) для того, чтобы принять ожидающие команды, если есть. Например, предоставленное интернет-соединение доступно для устройства, агент может осуществить вызов главного сервера раз в день (или с некоторым другим выбранным подходящим интервалом), чтобы сообщить местоположение устройства, загрузить обновления программного обеспечения, если есть, и починить какие-либо модули безопасности, которые установлены или должны быть установлены на устройстве. Интервал между вызовами может быть изменен (например, уменьшен), если устройство перемещается в зону высокого риска из зоны низкого риска, или если устройство потеряно или украдено. Связь с главным сервером может быть, например, через интернет (проводной или беспроводной), через проводную или беспроводную телефонную сеть, через кабель или через спутник. Главный сервер может принимать уведомления от владельцев электронных устройств, которые они они потеряли или у них украли, и в результате, главный сервер может передать сообщение на потерянное или украденное электронное устройство, которое инициирует некоторый вид действия по обеспечению безопасности. Действием может быть блокировка устройства, подача звуковой тревоги, удаление данных и/или предоставление информации о местоположении, например. Действием может быть предоставление списка файлов на устройстве, извлечение файлов из устройства, активация процессорных функциональных возможностей против кражи, шифрование данных на устройстве или удаление ключа шифрования, и т.д. В общем, защищенные устройства инициируют вызовы на главный сервер.

Центр мониторинга. Это система, которая, в предпочтительном варианте осуществления, включает в себя RCS и главный сервер. Он может включать в себя сервер электронной почты, или он может быть группой или рассредоточением серверов или других компьютеров. В вариантах осуществления, раскрытых в настоящем документе, агент отправляет идентификационную информацию устройства и информацию о местоположении в удаленное электронное хранилище, размещенное в центре мониторинга или к которому он может осуществить доступ, и/или любые другие данные, которые требуется переслать. Функции центра мониторинга могут быть включены в сервер электронной социальной сети или ассоциированы с ним. Центр мониторинга может принимать уведомления от владельцев электронных устройств, которые они потеряли или у них украли. В общем, защищенные устройства инициируют вызовы в центр мониторинга, но центр мониторинга может также быть выполнен с возможностью инициирования вызовов на защищенные устройства, например, посредством SMS, если устройства оборудованы этим.

Быстрый вызов. Связь между устройством и RCS, которая может быть односторонней связью от устройства к RCS. Быстрый вызов может приводить или может не приводить к ответу от RCS. Он может приводить к сеансу быстрого контакта, который является коротким сеансом между устройством и RCS. Быстрый вызов может также называться скоростным вызовом, или FC.

Сеанс быстрого контакта, или короткий сеанс. Это короткий сеанс связи, который создается между устройством и сервером быстрого контакта, и обычно имеет длину только в несколько пакетов, такую как вплоть до, или имеет максимум из, четырех или пяти пакетов.

Обычный вызов. Связь между устройством и главным сервером, во время которой в основном обмениваются большими объемами информации.

Запланированный обычный вызов. Обычный вызов, который происходит в запланированное время.

Немедленный обычный вызов, или принудительный вызов. Обычный вызов, который запрашивается во время связи с RCS и происходит во время, отличное от времени для запланированного обычного вызова.

Нижеследующие подробные описания широко представлены в терминах способов или процессов, условных представлениях операций, функциональностей и признаков данного изобретения. Эти описания и представления способов являются средствами, используемыми специалистами в данной области техники, чтобы эффективно передать сущность их работы другим специалистам в данной области техники. Программно реализованный способ или процесс здесь, и в общем, понимается самостоятельной последовательностью этапов, ведущих к желаемому результату. Эти этапы предусматривают физические манипуляции физическими величинами Часто, но необязательно, эти величины принимают форму электрических или магнитных сигналов, имеющих возможность хранения, пересылки, объединения, сравнения и иной манипуляции. Кроме того будет понятно, что линия между аппаратными средствами, программным обеспечением и программно-аппаратными средствами не всегда четкая, специалисты в данной области техники понимают, что программно реализованные процессы могут быть осуществлены в аппаратных средствах, программно аппаратных средствах или программном обеспечении, в форме кодированных инструкций, как например, в микрокоде и/или в хранящихся инструкциях программирования. В общем, пока не указано иначе, элементы в одиночном числе могут быть во множественном числе и наоборот без потери общности. Использование мужского рода может относится к мужскому роду, женскому роду или обоим. Чертежи приведены не в масштабе.

Во многих частях подробного описания, объект изобретения был разъяснен в отношении украденных устройств, но специалистам в данной области техники будет конечно очевидно, что он применяется к равной степени также к устройствам, которые потеряны.

B. Примерный вариант осуществления

Условная блок-схема предпочтительного варианта осуществления системы 10 быстрого контакта показана на Фиг. 1. Система 10 предназначена для защиты электронных устройств, таких как устройства 12 посредством предоставления эффективных средств для своевременного контактирования с ними и управления ими удаленно. На практике, в системе может быть до нескольких миллионов или более таких устройств 12. Устройства 12 соединяются посредством сети 18 с RCS 30 и главным сервером 52. Сеть 18 может быть Интернетом, или включать в себя Интернет, или она может быть, или включать в себя, телекоммуникационной сетью. Соединения между устройствами 12 и сетью 18 могут быть проводными или беспроводными, и устройства могут быть соединены с сетью постоянно или соединяться периодически.

Агент 14 в каждом электронном устройстве 12 предписывает устройствам вызывать RCS 30 регулярно, или почти так. RCS 30 содержит процессор 32, который может содержать одно или более процессорных ядер 34, соединенный с базой данных 35 и памятью 36, и выполненный с возможностью обработки машиночитаемых инструкций в фиксированном, относительно небольшом пуле 40 потоков 42. В этом примере число потоков в два раза больше ядер процессора. В системе с 24-ядерным процессором, например, может быть 48 потоков в пуле 40 потоков. В других вариантах осуществления, возможны другие соотношения. Вызовы могут совершаться примерно каждые 30 минут, например, или при другом соответствующем временном цикле. Вызов в некоторых вариантах осуществления состоит из отправки одиночного, небольшого пакета 20, содержащего электронный серийный номер (ESN) 16 устройства, в порт 24 завершения ввода/вывода RCS 30. ESN 16 может быть включен в небольшой пакет 20 в зашифрованном виде, например, в виде жетона 17. Каждый из одиночных пакетов данных, отправленных в RCS 30, обычно содержит в общем 10-100 байтов. Небольшой пакет 20 становится задачей 44, которая должна быть обработана каждым потоком 42.

Когда задача 44 обработана посредством RCS 30 в потоке 42, любые остающиеся заголовки и контрольные суммы и т.д. выделяются из небольшого пакета 20, и HTTP-команда интерпретируется процессором 32 для выявления ESN 16 устройства 12, которое отправило пакет, что может предусматривать расшифровку жетона 17, если ESN 16 был отправлен в нем зашифрованным. Процессор 32 затем предпринимает действие, или нет, в зависимости от ESN 16, который был выявлен. ESN и соответствующие ожидающие действия могут храниться в базе данных 35. Таким действием, например, может быть осуществление запроса установления сеанса, в случае чего он будет коротким сеансом. В таком сеансе быстрого контакта, в котором может обмениваться около 700 байтов или менее данных, RCS 30 может отправить инструкцию устройству 12 вызвать главный сервер 52, который настроен для относительно продолжительной связи с устройствами. Агент может использовать разные соответствующие протоколы связи для осуществления связи с RCS 30 в противоположность главному серверу 52. Например, протокол, используемый для RCS-связи может быть оптимизирован (например, посредством сокращенного опознания и меньших размеров сообщений) для относительно короткой, частой связи относительно протокола, используемого для связи с главным сервером.

Например, устройство 12 может быть помечено в системе 10 как украденное. Владелец устройства 12 может сделать это с использованием компьютера 61 или другого электронного устройства, чтобы осуществить доступ к главному серверу 52 для ввода статуса устройства 12 как украденного. Такой статус устройства хранится в базе данных 55 на главном сервере 52, или к которой он имеет доступ, и в базе данных 35, к которой имеет доступ RCS 30. В этом случае устройству, при осуществлении вызова RCS 30, будет дана инструкция вызвать главный сервер 52, который затем даст инструкцию устройству предоставить свое местоположение главному серверу, вызывать главный сервер более часто, или войти в приостановленное состояние. В качестве другого примера, сеанс быстрого контакта может быть использован для отправки обновленных параметров из RCS 30 на устройство 12, таких как обновленный интервал быстрых вызовов. В качестве альтернативы, устройство 12 может быть помечено в системе 10 для отправки сообщения, которое может быть отправлено во время вызова с главным сервером 52. Если устройство 12 не было помечено как украденное, и не помечено для чего-либо еще, что потребовало бы обычный вызов, RCS 30 может не отправлять какой-либо ответ на устройство, так как это было бы необязательно и излишне занимало бы полосу пропускания сети. Однако, система 10 может в качестве альтернативы быть сконфигурирована для RCS 30 для отправки ответа "HTTP Status" 200 (т.е. "сообщение принято") на устройство, или другого подходящего подтверждения. Еще в качестве альтернативы, если нет ожидающего действия для устройства 12, RCS 30 может отправить сообщение отсоединения обратно на устройство, или просто отсоединиться.

Сеансы быстрого контакта между устройством 12 и RCS 30 могут также быть использованы для задания нового жетона авторизации, где устройство или агент 14 в устройстве еще не имеет жетона авторизации, имеет недействительный жетон авторизации, или должен иметь жетон авторизации, замененный из-за содержимого политики безопасности. Сеанс быстрого контакта может также быть использован для задания времени для следующего запланированного обычного вызова на главный сервер 52. Сеанс быстрого контакта может быть использован для перенаправления обычных агентских вызовов на другой главный сервер, такой как главный сервер специально для управления операциями удаления данных, или главный сервер для управления шифрованием. Если устройство 12 было украдено, сеанс быстрого контакта может перенаправить агентский вызов на другой главный сервер, который имеет дело конкретно с украденными устройствами. Сеансы быстрого контакта могут также быть использованы для изменения временного интервала между быстрыми вызовами, или для перенаправления быстрых вызовов в другую RCS. Сеансы быстрого контакта могут также быть использованы для сообщения содержимого полей в агенте 14 или устройстве 12. В некоторых случаях, может быть переслано примерно до 4 КБ данных. Другие процессы могут также быть реализованы во время сеанса быстрого контакта, причем главным требованием является то, чтобы сеанс являлся достаточно коротким, чтобы не требовать выделенных потоков обработки, и достаточно коротким, чтобы существенно не нарушать эффективное функционирование RCS 30 относительно других устройств 12, которые совершают в нее быстрые вызовы. Большинство времени устройства 12 совершают вызовы в RCS 30, на которые не отвечают, или для которых не требуется действие.

Электронные устройства 12 могут осуществить вызов главного сервера 52 после получения команды сделать так от RCS 30. Устройства 12 могут также вызывать главный сервер 52 регулярно, почти регулярно, полупериодически, полуслучайно или в результате обнаружения пускового сигнала, или согласно любой желаемой программируемой схеме. Главный сервер 52 содержит процессор 54, соединенный с базой данных 55 и памятью 56, и может быть выполнен с возможностью обработки машиночитаемых инструкций при относительно большом числе потоков 58. Потоки 58 предпочтительно не образуют часть пула. В отличие от RCS 30, есть предпочтительно по меньшей мере один поток 58, выделенный каждому сеансу 60. Вызовы могут совершаться примерно каждые 24,5 часа, например, или при любом другом соответствующем временном цикле. Связь 50 от устройства 12 с главным сервером 52 обычно по меньшей мере в 10-10000 раз (т.е. на 1-4 порядка величины) дольше, чем связь с RCS 30. Такой сеанс связи содержит обычно между 10-500 пакетов 51, каждый до 1500 байтов в длину. Задачи 62 в каждом сеансе 60, обрабатываемые соответствующим потоком 58, обычно являются большими по сравнению с задачами 44, обрабатываемыми в RCS 30. В обычной системе, в главном сервере 52 могут поддерживаться не менее 8000 или более сеансов, каждый по меньшей мере с одним выделенным потоком. Число сеансов ограничено объемом RAM, или памятью 56.

База данных 55 хранит задачи, обновления и команды и т.д., которые должны быть переданы на каждое устройство 12. Всегда, когда владельцу или администратору устройства 12 нужно изменить запись статуса устройства, принудительно осуществить немедленный обычный вызов, или получить текущие параметры устройства, и т.д., это все может быть сделано с использованием компьютера 61 или другого соответствующего устройства, соединенного с сетью 18. Если данные должны быть удалены с устройства 12, или устройство должно быть заблокировано, эти команды тоже могут быть переданы на главный сервер 52 через компьютер 61. Устройства могут быть сгруппированы, и коллективно может быть запрошено включение и отключение осуществления быстрого вызова администратором такой группы устройств, через компьютер 61, например. Главный сервер 52 может передать информацию о статусе осуществления быстрого вызова для устройства 12, о котором идет речь, на компьютер 61. Такой информацией может быть, обеспечена ли в настоящее время устройству 12 возможность осуществления быстрого вызова, осуществляет ли устройство в настоящее время вызов или находится в режиме "оффлайн", и время последнего быстрого вызова. Главный сервер 52 осуществляет связь с RCS 30 время от времени, так чтобы база данных 35 в RCS могла быть обновлена с использованием действий для устройства во время ее последующего быстрого вызова. Например, база данных 35 RCS может быть обновлена для предписания RCS дать инструкцию устройству 12 вызвать главный сервер 52; устройство может ответить на такую инструкцию немедленным вызовом главного сервера, или в другой момент до его следующего регулярно-запланированного вызова на главный сервер.

Одиночная связь между устройством 12 и главным сервером 52 может привести к созданию многочисленных задач, которые могут выполняться в параллельно выполняющихся потоках. Например, в результате одиночной связи 50 с главным сервером 52 могут быть использованы два, три или более выделенных потоков 58.

Главный сервер 52 отвечает за главную связь с устройствами 12, которая может включать в себя сообщения от сервера, чтобы дать команду устройству предоставить свое местоположение серверу, удалить данные, отправить идентификационную информацию некоторых или всех из его компонентов, или предпринять какой-либо вид действия по обеспечению безопасности. Главный сервер 52 может также передать обновления на устройства 12. Так как главный сервер 52 допускает относительно длительную связь и выполняет относительно продолжительные задачи, при которых сеанс 60 удерживается активным и поддерживается его контекст или состояние, для каждого сеанса связи используется один или более выделенных потоков. В отличие от этого, RCS 30 не отслеживает или очень минимально отслеживает состояние, и так невыделенные потоки могут быть использованы в RCS. Это также верно как для быстрых вызовов, так и для сеансов быстрого контакта, которые могут быть запрошены посредством RCS 30, и последовательные пакеты, отправленные устройствами 12 в RCS, в таком сеансе быстрого контакта, могут быть обработаны любым из потоков 42.

Для того чтобы сеанс быстрого контакта имел предварительно определенные состояния, должны поддерживаться, например, чтение и запись всего массива из 516 байтов, со всеми необходимыми изменениями, проводимыми внутри RCS 30. Агент 14 может обеспечить возможность такого изменения настроек во время защищенных сеансов быстрого контакта, или RtlCopyMemory Windows™ API (интерфейс программирования приложений) может быть использован для того, чтобы записывать настройки в память и затем копировать их в адрес настроек. Первый подход быстрее, так как он требует только одну транзакцию. При втором подходе, агент должен обнаружить адрес стандартной программы RtlCopyMemory до начала сеанса быстрого контакта.

Быстрые вызовы от устройства 12 в RCS 30 и сеансы быстрого контакта между ними гораздо короче, чем обычные вызовы на главный сервер 52, и могут быть короче на несколько порядков величины. Целью этих быстрых вызовов является дать RCS 30 знать о сетевой доступности устройств и обеспечить систему быстрого контакта 10 средством для своевременного создания обычного вызова между устройствами 12 и главным сервером 52, если необходимо. Например, украденное электронное устройство может быть помечено в качестве такового в системе быстрого контакта 10, и более конкретно в RCS 30 и главном сервере 52. Когда устройство 12, которое украдено, вызывает RCS 30, ему будет дана инструкция посредством RCS немедленно вызвать главный сервер 52 для более исчерпывающих инструкций, которые могут включать в себя команду удаления данных, команду блокировки, и т.д. Это предотвращает забивание RCS 30 продолжительными задачами, в то же время устраняя период ожидания, которым обычно руководствуется устройство, если ему приходится ждать до его следующего запланированного времени для осуществления вызова главного сервера 52. Относительно низкое число потоков 42 в пуле 40 потоков предназначено для работы с относительно большим числом небольших задач 44 от большого числа устройств 12, для связи, для которой не нужно поддержание состояния, или для которой есть несколько предсказываемых значений состояния, которые могут быть отслежены без необходимости потоков, которые выделены сеансу.

Пул 40 потоков используется в RCS 30, так как создание потока не особенно дешевое в том, что касается использования процессора, и наличие пула уже ожидающих потоков делает распределение и обработку входящих задач 44 более эффективными, особенно если число потоков оптимизировано. Для того чтобы максимизировать эффективность процессора 32 в RCS 30, код для обработки небольших пакетов 20 должен в идеале удерживаться в минимальном количестве, и должен быть отдельным от кода в главном сервере 52, который используется для обработки обычной связи. Это обеспечивает RCS 30 возможность обработки стольких одновременных вызовов, сколько возможно, в зависимости от ресурсов операционной системы и пропускной способности сети.

Связь между устройствами 12 и RCS 30 использует порт 24 завершения, который обеспечивает потокам возможность пробуждения для обработки любой операции I/O. Контекст каждого сеанса удерживается в поточно-ориентированном словаре и становится активным как только завершается соответствующая операция I/O. Контекст сеанса поддерживает состояние текущего сеанса, который обеспечивает RCS 30 возможность продолжения текущего сеанса. Во время обработки текущего сеанса, все блокирующие операции, включающие в себя связь с базой данных 55, должны быть предотвращены или выгружены в другие, специальные потоки или пулы потоков в RCS 30 для того, чтобы гарантировать, что поток 40, используемый для сеанса быстрого контакта, станет доступным для другой завершенной операции I/O как только возможно.

RCS 30 может поддерживать как сеансы с удержанием активности, так и без удержания активности, и использовать ID сеанса для идентификации сеансов. Для управления списком текущих сеансов специальный контрольный поток должен иногда выполнять проверки на предмет устаревших сеансов без удержания активности.

Помимо потоков обработки I/O и сеанса быстрого контакта, RCS 30 должна иметь интерфейс обратного вызова, доступный для вызова из внешней базы данных (например базы данных 35, если она осуществлена в отдельном от RCS 30 сервере) в отношении специального потока с использованием TCP-связи на конкретном порту. RCS 30 может также иметь поддержку счетчиков эксплуатационных характеристик, создание отчетов, осуществление запроса к внешней базе данных во время запуска, вхождения в систему, и т.д.

Обращаясь к Фиг. 2, показан пример небольшого пакета 20, отправленного из устройства 12 в RCS 30. Небольшой пакет 20 имеет участок 63 заголовка, который может, например, включать в себя заголовок протокола Интернета, TCP-заголовок и различные контрольные суммы. В зависимости от протоколов, используемых для передачи, участок 63 заголовка может быть 20 байтов в длину. Вслед за участком 63 заголовка идет участок данных, который образован из HTTP-запроса 64, такого как POST-запрос, и участок 65 идентификации, который может содержать ESN 16 устройства 12. В зависимости от конкретного случая, HTTP-запрос 64 может быть 156 байтов в длину, например, и участок 65 идентификации может быть 24 байта в длину. В итоге, пакет 20 может вследствие этого быть 200 байтов в длину. В зависимости от выбранной конфигурации, небольшой пакет в других вариантах осуществления может иметь разные длины участков и разную итоговую длину. Главным требованием является то, что пакет 20 является небольшим пакетом, особенно при сравнении с пакетами 51 связи с главным сервером 52, и содержит минимальную информацию, обычно только достаточную для идентификации устройства 12, которое осуществляет вызов.

Участок 65 идентификации может быть публичным жетоном, который сгенерирован на основе ESN для устройства 12 и хранится в RCS 30. RCS 30 хранит ключ для подтверждения достоверности жетона и преобразования его в ESN.

Например, участок данных (т.е. HTTP-запрос 64 и участок 65 идентификации) небольшом пакете 20 может быть таким, как следует ниже:

POST/HTTP/1.1..User-Agent: Moxilla/5.0 (compatible; MSIE 8.0;)..

Host: a.fc.namequery.com..Content-Length: 24..Connection: Keep-Alive.. Pragma:

no-cache...1.Δ.Λ©..^Esè¾dO¼..μGuö..

Обращаясь к Фиг. 3, показан пример обычного пакета 51, отправленного из устройства 12 на главный сервер 52, или наоборот. Обычный пакет 51 имеет участок 67 заголовка, который может, например, включать в себя заголовок протокола Интернета, TCP-заголовок и различные контрольные суммы. В зависимости от протоколов, используемых для передачи участка 67 заголовка, может быть 20 байтов в длину. Следом за участком 67 заголовка идет участок 68 данных, который может содержать подробную идентификационную информацию компонентов в устройстве 12, местоположение устройства, файлы, хранящиеся на устройстве, статусы устройства, сведения о программном обеспечении, установленном на устройстве, и т.д., так же как и ESN 16 устройства. В зависимости от конкретного случая, участок 68 данных пакета 51 может быть почти до 1500 байтов в длину, например. Главным моментом является то, что пакеты 51 могут быть, и в общем таковыми являются, большими, особенно, при сравнении с пакетами 20 связи для RCS 30, и могут содержать исчерпывающую информацию и команды.

Обращаясь к Фиг. 4, показана функциональная схема последовательности операций, представляющая процесс, который может быть начат системой 10 для настройки центра осуществления быстрого вызова для устройства 12, для случаев, когда устройство еще не настроено для совершения быстрых вызовов в RCS 30, но настроено для совершения вызовов на главный сервер 52. Элемент действия по настройке устройства 12 для быстрого контакта помечается заранее в базе данных 55 в главном сервере 52. На этапе 70, обычный вызов на главный сервер 52 совершается устройством 12. На этапе 72, устройство 12 принимает команду от главного сервера начать осуществление вызова RCS 30, чей URL также предоставляется устройству, также как необходимый код обновления для агента 14. Частота осуществления быстрого вызова может также быть предоставлена устройству 12, в виде временного интервала, который должен пройти между последовательными быстрыми вызовами. Агент 14 устройстве 12 затем, на этапе 74, обеспечивает устройству возможность совершения быстрых вызовов в RCS 30. Например, это может быть реализовано посредством задания битового флага в агенте для указания, что оно должно совершать быстрые вызовы. На этапе 76, устройство 12 совершает быстрый вызов в RCS 30. На этапе 78, RCS 30 определяет, должен ли быть открыт сеанс быстрого контакта с устройством 12. Если сеанс быстрого контакта должен быть открыт, например, если нет срочной необходимости совершения обычного вызова, то, на этапе 80, агент 14 в устройстве 12 определяет, наступило ли время для запланированного обычного вызова на главный сервер 52. Если не наступило время для такого запланированного обычного вызова, то процесс возвращается на этап 76, на котором последующий быстрый вызов RCS 30 совершается после прошествия заданного интервала времени для осуществления быстрого вызова. Если наступило время для запланированного обычного вызова, то обычный вызов главного сервера совершается на этапе 82. Возвращаясь на этап 78, если должен быть открыт сеанс быстрого контакта с RCS 30, то, на этапе 84, RCS запрашивает, чтобы устройство 12 открыло сеанс. Если, во время сеанса быстрого контакта, на этапе 86, немедленный обычный вызов не должен быть совершен, то процесс возвращается на этап 80, на котором агент определяет, должен ли запланированный обычный вызов быть совершенным в любом случае. Однако, если на этапе 86, во время сеанса быстрого контакта, устройство 12 должно вызвать главный сервер 52, то процесс переходит к этапу 82, на котором устройство совершает немедленный вызов на главный сервер.

Напротив, владелец или администратор устройства 12 могут проинформировать главный сервер 52, что функциональная возможность быстрого контакта должна быть отключена. Эта информация будет затем переслана из главного сервера 52 в RCS 30, которая, во время следующего быстрого вызова с устройства 12, затем потребует настройки сеанса быстрого контакта, в котором команда будет отправлена на устройство для остановки осуществления вызова RCS.

Когда сообщается, что устройство 12 украдено, после того как оно вызвало главный сервер 52, ему дается команда вызывать главный сервер более часто, возможно каждые 15 минут или с некоторым другим подходящим

интервалом. Так как устройство 12 будет вызвать главный сервер более часто, ему не требуется вызывать RCS 30, и таким образом агенту 14 может быть дана инструкция остановить осуществление вызова RCS.

Обращаясь к Фиг. 5, показана схема последовательности операций процесса, который происходит в RCS 30 при приеме быстрого вызова. На этапе 90, RCS 30 принимает быстрый вызов и затем, на этапе 92, определяет, на основе ESN, принятого при быстром вызове, есть ли какие-либо обновления для устройства 12, с помощью соответствующего ESN. Обновлением может быть новая RCS для вызова, новый главный сервер для вызова, новое время или интервал вызова, и т.д. Если обновление не требуется, то на этапе 94 RCS 30 игнорирует быстрый вызов и не отвечает, и процесс заканчивается на этапе 96. Если, однако, для устройства есть обновление, то, на этапе 98, RCS 30 запрашивает, чтобы устройство открыло сеанс, во время которого, на этапе 99, RCS отправляет обновление(я) на устройство. После отправки обновления, процесс заканчивается на этапе 96. Весь этот процесс повторяется с каждым последующим быстрым вызовом.

C. Жетон авторизации

Агент 14 может осуществлять связь с RCS 30 в двух режимах: первым является режим с аутентификацией, когда агент имеет жетон 17 аутентификации публичной RCS, или имеет к нему доступ, который был создан посредством RCS 30 и отправлен обратно на устройство 12; и вторым является режим без аутентификации, либо когда агент не имеет такой жетон 17, либо когда были сделаны изменения. Если агент 14 имеет жетон 17, или имеет к нему доступ, он может храниться в реестре для постоянного восстановления во время перезагрузок. В режиме с аутентификацией, данные могут быть отправлены незашифрованными, так как жетон 17 будет уже зашифрованным представлением идентификатора агента, и отсюда идентификатором устройства, который будет известен только RCS 30.

Если агент 14 не имеет жетон 17, или не имеет к нему допуск, то агент 14 отправляет пакет, который не имеет данных, и принимает в ответ от RCS 30 команду "открыть сеанс". Такой же ответ будет дан, если RCS не может аутентифицировать жетон, или жетон был аутентифицирован, но требуются некоторые изменения и поведение и/или политика агента должна быть обновлена посредством изменения данных в настройках агента. После приема команды "открыть сеанс" агент 14 и RCS 30 создают ключ шифрования и вектор инициализации и используют их для обеспечения безопасности связи. Во время зашифрованного сеанса, ESN 16 устройства может быть извлечен из базы данных 35 посредством RCS 30 и проверен на предмет ожидающих обработки действий, и если таковые есть, то если требуется могут быть внесены необходимые изменения, например в URL главного сервера для вызова, время следующего обычного вызова, URL RCS для вызова, время по умолчанию обратного вызова RCS, и т.д. Может также быть выдан жетон 17 безопасности. Эти изменения могут быть изменениями от нулевых значений или значений по умолчанию, если этот зашифрованный сеанс служит для начальной настройки агента 14 для вызова RCS 30. Когда был выдан новый жетон, агент сохраняет его в реестре для использования при последующих быстрых вызовах.

Чтобы сгенерировать жетон 17, RCS 30 получает ESN устройства в виде сообщения и характерной для RCS метки аутентификации (например, имени компьютера, даты из реестра, имени рабочей папки, и т.д.) и шифрует ESN с использованием ключа шифрования RCS, сгенерированного посредством RCS на основе конкретного расписания, такого как раз в месяц, и сохраненного в реестре RCS. Жетон (т.е. зашифрованный ESN) затем отправляется на устройство 12 в виде данных, которые должны быть отправлены обратно в RCS при последующих быстрых вызовах. Когда RCS 30 принимает данные при последующих быстрых вызовах, она дешифрует их с использованием метки аутентификации для выявления ESN устройства 12. Всегда, когда метка аутентификации RCS изменяется, ожидается, что быстрые вызовы со всех устройств 12 будут приводить к созданию сеансов быстрого контакта, пока все жетоны 17 не будут обновлены.

Обращаясь к Фиг. 6, показана схема последовательности операций системы 10 быстрого контакта для процесса задания жетона 17 для первого раза, или для изменения существующего жетона. На этапе 110, агент 14 проверяет, наступило ли время совершить вызов либо в RCS 30, либо на главный сервер 52. Если время совершить вызов не наступило, как определено на этапе 112, процесс возвращается на этап 110 для проверки позднее, наступило ли время совершить вызов на любой из серверов.

Если, на этапе 112, наступило время совершить вызов, агент определяет на этапе 114, будет ли это быстрый вызов, который должен быть совершен. Если это не будет быстрый вызов, то совершается обычный вызов главного сервера, на этапе 116. Если, на этапе 114, должен быть совершен быстрый вызов, то агент определяет на этапе 120, имеет ли он доступ к жетону 17. Если агент 14 не имеет доступ к жетону 17, он отправляет пустой пакет (т.е. без данных, без ESN, или нулевой ESN) в RCS 30 на этапе 122. Если, однако, агент 14 имеет доступ к жетону 17, то он отправляет пакет 20, содержащий жетон, в RCS на этапе 124. После отправки жетона 17, агент 14 определяет, закончена ли связь, на этапе 126. Конец связи может быть обозначен посредством RCS 30 агенту 14 посредством отправки ему подтверждающего ответа, команды отсоединения или без ответа. Если, на этапе 126, связь не заканчивается, то агент 14 определяет, на этапе 128, принял ли он команду "открыть сеанс" от RCS 30. Если он не принял команду "открыть сеанс", агент 14 отсоединяется от RCS 30, на этапе 130. Если, на этапе 128, агент 14 принимает команду "открыть сеанс" от RCS 30, он открывает сеанс, на этапе 131. Агент может также прибыть на этап 128 после этапа 122, на котором он отправляет пустой пакет в RCS. На этапе 132, агент определяет, присутствует ли на устройстве действительная DLL шифрования, и если так, ключи обмениваются между агентом и RCS, на этапе 134. Если обмен ключами неуспешен, как определяется на этапе 136, агент отсоединяется от RCS 30 на этапе 130. Если обмен ключами успешен, как определено на этапе 136, то агент отправляет пакет в RCS, на этапе 138. Отправленный пакет включает в себя, если доступно, ESN устройства, URL главного сервера, который он вызывает, время следующего вызова главного сервера, URL RCS, и интервал для вызова RCS. В ответ, RCS 30 отправляет обновленные данные (опционально) и новый жетон 17 на устройство 12. Если, на этапе 140, агент принял новые данные, он обновляет настройки устройства, на этапе 142. После этого, или если на этапе 140 агентом не было принято новых данных, агент 14 сохраняет новый жетон 17 аутентификации в устройстве 12, на этапе 144. Вслед за этим, агент отсоединяется, на этапе 130.

Следует отметить, что обычно DLL шифрования и публичные RSA-ключи будут присутствовать в устройстве во время сеанса быстрого контакта с RCS 30. Если любое из них не присутствует, или DLL шифрования не может быть загружена, то агент может быть выполнен с возможностью немедленного автоматического осуществления вызова главного сервера 52. В качестве альтернативы, он может действовать как обычно и вызывать главный сервер как запланировано.

D. Диаграммы последовательностей

Обращаясь к Фиг. 7, показана диаграмма последовательностей для обеспечения возможности осуществления быстрого вызова устройства, которое уже имеет возможность для осуществления обычного вызова на главный сервер (например, сторожевой сервер). В результате обычного агентского вызова 200 от агента к главному серверу, функциональная возможность осуществления быстрого вызова (FC, или осуществления скоростного вызова) настраивается 202 во время сеанса связи, который создан между устройством и главным сервером. Следом за настройкой функциональной возможности осуществления быстрого вызова, агент затем совершает быстрый вызов 204 RCS 30. RCS остается лишь ответить подтверждением 206. Чуть позднее, агент совершает дополнительный быстрый вызов 208, и ему снова остается лишь принять подтверждение 210.

Обращаясь к Фиг. 8, показана диаграмма последовательностей для операций системы, когда для устройства нет ожидающих обработки действий. Агент отправляет HTTP-запрос 220 в RCS. RCS остается лишь ответить подтверждением 222. Чуть позднее 224, агент совершает дополнительный быстрый вызов 226, и ему снова остается лишь принять подтверждение 228.

Обращаясь к Фиг. 9, показана диаграмма последовательностей, показывающая события, которые происходят, когда обычный вызов совершается агентом, который также сконфигурирован для осуществления быстрого вызова. Агент отправляет HTTP-запрос 250 в RCS. RCS остается лишь ответить подтверждением 252. Чуть позднее, агент совершает дополнительный быстрый вызов 254, и ему снова остается лишь принять подтверждение 256. Далее, в запланированное время обычного вызова, наступает время для обычного вызова 260 в главный сервер, предусматривающий установление сеанса и обмен данными, ассоциированными с обычным вызовом. После обычного вызова, агент возвращается к совершению быстрых вызовов 264 RCS.

Обращаясь к Фиг. 10, показана диаграмма последовательностей, показывающая как настройка осуществления быстрого вызова может быть обновлена во время вызова в RCS. Сначала, агент отправляет HTTP-пакет 270 в RCS. RCS отвечает запросом 272 для открытия сеанса. Агент затем отправляет свои текущие настройки в RCS 274, вслед за которыми RCS отправляет обновленные настройки 276 обратно агенту. Сеанс затем прерывается. Предполагая, что RCS не отправила настройку для выключения осуществления быстрого вызова, агент вызывает RCS снова 278, после прошествия обычного интервала времени ожидания.

Обращаясь к Фиг. 11, показана диаграмма последовательностей, показывающая как агентский вызов на главный сервер может быть осуществлен принудительно. Это достигается с использованием только пяти пакетов, например. Сначала, агент отправляет HTTP-пакет 300 в RCS, затем RCS отправляет запрос 302 агенту для открытия сеанса. Агент затем отправляет свои настройки 304 в RCS, которая затем отправляет обратно обновленные настройки 306, если есть, и затем отправляет обратно команду 308 для агента немедленно вызвать главный сервер. После отсоединения сеанса быстрого контакта с RCS, агент немедленно вызывает 310 главный сервер, вне своего обычного расписания, и создает с ним сеанс. Когда сеанс с главным сервером был прерван, агент, после прошествия интервала быстрого вызова, затем вызывает 312 RCS как обычно.

Обращаясь к Фиг. 12, показана диаграмма последовательностей, показывающая выполнение действий по обеспечению безопасности. Как описано выше, совершается быстрый вызов 320 RCS, во время которого отправляется 322 команда агенту инициировать немедленный вызов на главный сервер. Это потому, что в RCS был задан флаг для конкретного агента для принудительного осуществления вызова на главный сервер. Во время сеанса 330 с главным сервером, агент принимает инструкцию 334 начать удаление данных с устройства. Сеанс с главным сервером заканчивается, и устройство продолжает операцию удаления данных. После завершения операции удаления данных между быстрыми вызовами проходит временной интервал. Так как есть другое действие с высоким приоритетом, которое должно быть предпринято агентом, то во время последующего быстрого вызова 340 RCS, команда 342 для вызова главного сервера снова передается из RCS агенту. В этом примере, команда 346 для приостановки устройства отправляется во время вызова 344 на главный сервер. Даже если устройство приостановлено, оно все еще сохраняет способность осуществления вызова RCS, который оно совершает после прошествия интервала 224 между вызовами. На этот раз, так как для агента нет ожидающих выполнения действий, и флаг в RCS был сброшен, то сеанс с главным сервером не запрашивается.

E. Дополнительный вариант осуществления, с сервером консолидации. Обращаясь к Фиг. 13, показан дополнительный вариант осуществления системы быстрого контакта. Он показывает многочисленные устройства 12, соединенные посредством маршрутизатора 380 с многочисленными RCS (FC-серверами) 30. Главный сервер 52 показан как CTSrv. Сервер 390 центра покупателей (CC), который реализует веб-приложение, которое обеспечивает покупателям возможность просмотра информации, относящейся к быстрому контакту, и включения и отключения функциональной возможности осуществления быстрого вызова. Он может показать, какие устройства имеют возможность быстрого контакта, и какие нет. Он может показать время последнего быстрого вызова с каждого устройства, и может выделить устройства, которые осуществляли вызов недавно, так как они с наибольшей вероятностью находятся в сети. CC может быть использован для принудительного осуществления обычного вызова на главный сервер. CC может показать, какие устройства имеют ожидающее выполнения обновление параметров или действия принудительного агентского вызова в отношении них, и историю действий, которые уже завершены. Если пользователь запрашивает "сообщение конечного пользователя", "приостановку устройства" или "удаление данных" на устройстве с возможностью быстрого контакта, то CC уведомит службу 400 консолидации (см. ниже), что устройство должно совершить обычный агентский вызов в следующий раз, когда оно осуществит вызов.

EMS 395 является сервером управления ESN, который также реализован как веб-служба, с некоторыми функциями, аналогичными функциям CC 390. Это обеспечит пользователям возможность задания параметров, относящихся к быстрому контакту, на одном или группе компьютеров в одно и то же время. Компьютеры могут быть общего порядка или под общей учетной записью. Он может быть использован для запроса принудительного вызова на главный сервер. EMS 395 может показать, какие устройства имеют возможность быстрого контакта, и какие нет. Он может показать время последнего быстрого вызова с каждого устройства, и может выделить устройства, которые осуществляли вызов недавно, которые с наибольшей вероятностью находятся в сети. EMS может показать, какие устройства имеют ожидающее выполнения обновление параметров или действия принудительного агентского вызова в отношении них, и историю любых действий, которые уже были на них выполнены.

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

Служба 400 консолидации уведомляет RCS о любых новых запросах на обновление параметров агента. Когда RCS уведомляет службу консолидации о завершенном изменении параметров агента, служба консолидации записывает информацию об изменении во внешнюю базу данных 410. Служба консолидации также предоставляет информацию как в CC, так и в EMS, такую как информацию статуса о RCS, которые соединены с ней, и последнее время, когда конкретное устройство осуществило вызов в RCS. Для небольших систем быстрого контакта, служба консолидации может быть реализована лишь как интерфейс и/или API, но для больших систем она предпочтительнее реализуется как отдельный сервер.

База данных 405 быстрых контактов хранит список обновлений параметров для устройств, которые должны быть обновлены при их следующем вызове. Когда RCS запускаются, они напрямую запрашивают базу данных 405 быстрых контактов распространить их локальный кэш 35. CC и EMS напрямую запрашивают базу данных 410 получить информацию о том, какие действия были завершены. База данных 415 также поддерживает изменчивую историю того, когда каждое устройство последний раз осуществляло в нее вызов, так чтобы EMS и CC могли показать, какие устройства с наибольшей вероятностью находятся в сети в настоящее время.

F. Процессы дополнительного варианта осуществления

Обращаясь к Фиг. 14, показана диаграмма последовательностей для конфигурации устройства. EMS 395 используется для задания 500 параметров быстрого контакта для устройства, и отправляет требуемые параметры в базу данных 420 CTData (Фиг. 13). Он также отправляет 502 параметры службе 400 консолидации.

На Фиг. 15, показана диаграмма последовательностей для обновления параметров устройства. Агент совершает обычный вызов на главный сервер, во время которого происходит обмен обычными сообщениями. Также во время вызова, главный сервер извлекает 522 параметры быстрого контакта для устройства из базы данных CTData. Параметры быстрого контакта задаются 524 на устройстве, и после их задания, главным сервером 52 отправляется 526 уведомление о завершении действия в службу 400 консолидации посредством EMS 395. Вслед за этим может быть еще обмен стандартными сообщениями 528 между устройством и главным сервером.

На Фиг. 16, показана диаграмма последовательностей для запуска RCS. Для начала, RCS получает 540 какие-либо ожидающие обработки действия из базы данных 405 быстрого контакта. Затем она записывает 542 любые ожидающие обработки действия в локальный кэш 35 таблицы действий, и регистрируется 544 в службе 400 консолидации.

На Фиг. 17, показана диаграмма последовательностей для осуществления опроса на предмет новых обновлений параметров или на предмет принудительных вызовов. После истечения таймера 560, служба 400 консолидации получает новые действия 562 из таблицы действий в базе данных 405, после чего она уведомляет 564 RCS о новых действиях.

На Фиг. 18, показана диаграмма последовательностей для быстрого агентского вызова в RCS 30, при отсутствии ожидающих обработки обновлений параметров или инструкций принудительного вызова. Сначала, агент совершает быстрый вызов 580 в RCS. RCS отправляет 582 время последнего вызова для устройства в службу консолидации, которая затем отправляет 584 время последнего вызова в таблицу последних вызовов в базе данных 415 в памяти. RCS затем ищет 586 в локальном кэше 35 базы данных любые действия, которые могут ожидать обработки, для устройства 12. Так как таковых нет, RCS просто отправляет подтверждение обратно на устройство.

На Фиг. 19, показана диаграмма последовательностей для быстрого вызова в RCS 30, когда есть ожидающее обработки обновление параметров или принудительный вызов. Сначала, агент вызывает 600 RCS, которая отправляет 602 время последнего вызова на сервер консолидации, который в свою очередь отправляет 604 время последнего вызова в таблицу последних вызовов в базе данных. RCS получает 606 любые ожидающие обработки действия для устройства, которыми в этом случае являются новые параметры, которые должны быть заданы. Новые параметры отправляются 608 агенту, и затем действие, которое было завершено, удаляется 610 из списка ожидающих действий для устройства. Действие, которое было завершено, затем задается как завершенное 612 на сервере консолидации, которые затем задает действие как завершенное 614 в таблице действий и делает запись 616 в истории таблицы действий.

G. Масштабирование

Система 10 быстрого контакта может включать в себя многочисленные RCS, соединенные с сетью 18 посредством выравнивателя 700 нагрузки, как показано на Фиг. 20. Если достигнута максимальная емкость сервера 400 консолидации, то может быть добавлен один или более дополнительных серверов 702 консолидации, причем каждый отвечает за заданный набор RCS 30 и каждый имеет соответствующую базу данных 705, 710, выполненную с возможностью хранения данных и действий для устройств 12, которые выполнены с возможностью их вызова. Для каждого дополнительного сервера консолидации, или группы серверов консолидации, может быть добавлен еще один выравниватель нагрузки, со своим собственным публичным IP-адресом для соответствующих устройств 12 для осуществления вызова. Может быть использовано высокопроизводительное распределенное хранилище данных, такое как Apache Cassandra™, Microsoft Velocity™ или Microsoft Server AppFabric™, так чтобы все серверы консолидации могли работать по существу в отношении одних данных.

H. ПРОМЫШЛЕННАЯ ПРИМЕНИМОСТЬ

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

I. Вариации

Могут быть использованы разные интервалы вызовов для RCS 30. Например, если RCS может обрабатывать 100000 вызовов в минуту, то интервал вызовов всей системы в 30 минут обеспечит возможность управления 3 миллионами устройств. К качестве альтернативы, если интервал вызовов задан в 5 минут, то можно управлять 500000 устройств.

При запросе чтения полей или флагов, агент 14 может быть выполнен с возможностью только чтения релевантных полей или флагов, а не набора полей или флагов, некоторые из которых могут не требоваться.

Устройства могут быть выполнены с возможностью совершения быстрых вызовов в разные временные интервалы в зависимости от того, соединены ли они со своей домашней сетью или нет. Так как устройства в основном считаются находящимися в большей безопасности в своей домашней сети, то более длительный интервал осуществления быстрого вызова, такой как один час, является допустимым. Когда устройство покидает офис или дом, то оно считается находящимся в меньшей безопасности, и интервал осуществления быстрого вызова может быть уменьшен до 5 минут, например. Эта функциональная возможность может быть реализована либо внутри агента, либо внутри RCS.

Резервная RCS может быть использована в случае, когда основная RCS дает сбой или испытывает проблемы при ее функционировании.

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

Где допустимо, функции системы быстрого контакта, описанные как выполняемые одним сервером, могут быть разделены между отдельными серверами, и функции, описанные как выполняемые на многочисленных серверах, могут быть объединены на одном сервере. Промежуточные серверы могут также быть использованы в системе. Базы данных могут также быть скомпонованы в другой архитектуре, чем архитектура, показанная в настоящем документе.

Устройство 12 может осуществить вызов в один или оба из серверов на случайной, или полуслучайной основе, или на основе постепенно изменяющегося временного периода.

Если система 10 быстрого контакта сконфигурирована для отправки подтверждений на устройства 12, когда принимается быстрый вызов, когда не должны быть предприняты никакие действия, то агент 14 может быть выполнен с возможностью осуществления вызова главного сервера 52 немедленно после совершения предварительно определенного числа последовательных быстрых вызовов, которые не подтверждены.

Система 10 быстрого контакта может быть сконфигурирована так, что агент только совершает вызовы на главный сервер, если RCS дала такую команду. Если нет ожидающих выполнения действий для устройства, то будет не нужно вызывать главный сервер.

Быстрые вызовы в RCS 30 отличны от контрольных сообщений, так как отсутствие быстрого вызова необязательно выражает проблему таким же образом, как выражало бы отсутствие контрольного сообщения, и никакая информация относительно статуса устройства 12 не передается при быстром вызове, как часто делается при контрольном сообщении. Быстрые вызовы также отличаются от эхо-тестирования, так как ответ от RCS 30 необязателен, тогда как это-тестирование требует ответ. Быстрый вызов в большей степени как "poke", который обозначает совершение контакта на расстоянии без необходимости требования ответа.

Агент может быть выполнен с возможностью контактирования с RCS с разной частотой в зависимости от того, вероятно ли измерение соединения или нет. Например, делается ли это через широкополосную мобильную связь или нет.

Этапы на схемах последовательностей операций могут быть выполнены в порядке, отличном от проиллюстрированного порядка, или они могут быть объединены, где показаны раздельно. Этапы могут быть опущены и другие добавлены, и этапы из других схем последовательности операций могут взаимно заменяться, все без отступления от объема данного изобретения. Задачи, описанные в настоящем документе как выполняемые "агентом" могут быть выполнены ассоциированным устройством под управлением агента, как например, посредством исполнения программного кода агента.

Также предполагаются разные величины, относительные величины, размеры пакетов, временные интервалы, длины пакетов, числа пакетов, форматы серийных номеров и другие непосредственные изменения.

Настоящее описание является одним из наилучшего предполагаемого в настоящее время режима осуществления объекта изобретения, раскрытого и заявленного в настоящем документе. Описание сделано в целях иллюстрации основных принципов объекта изобретения и не должно применяться в ограничительном смысле; объект изобретения может найти применение в разнообразных реализациях без отступления от объема сделанного раскрытия, как будет понятно специалистам в данной области техники исходя из понимания принципов, которые лежат в основе объекта изобретения.

1. Система мониторинга для мониторинга электронных устройств, причем система содержит:

первый сервер, который выполнен с возможностью осуществления связи с электронными устройствами согласно первому протоколу, причем вышеуказанный первый сервер выполнен с возможностью передачи инструкций обеспечения безопасности на электронные устройства, которые объявлены как потерянные или украденные, в том числе инструкций обеспечения безопасности, которые защищают данные, хранящиеся на электронных устройствах; и

второй сервер, который выполнен с возможностью осуществления связи с электронными устройствами согласно второму протоколу чаще, чем вышеуказанный первый сервер осуществляет связь с этими электронными устройствами, причем вышеуказанный второй сервер выполнен с возможностью подачи инструкции электронному устройству, которое объявлено как потерянное или украденное, осуществить контакт с первым сервером, так чтобы электронное устройство могло извлечь инструкцию обеспечения безопасности из первого сервера,

при этом второй протокол оптимизирован для связи, осуществляемой с использованием пакетов, имеющих меньший размер в байтах, чем пакеты, переносящие передачи данных в соответствии с первым протоколом.

2. Система по п. 1, в которой второй сервер обеспечивает электронным устройствам возможность осуществления связи с системой мониторинга более часто, чем было бы возможно, если бы электронные устройства осуществляли связь с системой мониторинга только лишь с помощью первого сервера.

3. Система по п. 1, в которой второй протокол обеспечивает электронным устройствам возможность осуществления связи с системой мониторинга более часто, чем было бы возможно, если бы электронные устройства осуществляли связь с системой мониторинга только лишь с помощью первого протокола.

4. Система по п. 1, в которой второй сервер использует архитектуру программных потоков, которая по сравнению с архитектурой программных потоков первого сервера оптимизирована для обработки большего числа осуществлений более короткой связи с электронными устройствами.

5. Система по п. 4, в которой второй сервер использует пул не относящихся к сеансу потоков для осуществления связи с электронными устройствами, и первый сервер осуществляет связь с электронными устройствами с использованием потоков, которые выделены конкретным сеансам связи с электронными устройствами.

6. Система по п. 1, в которой второй сервер осуществляет связь по меньшей мере с 500000 электронных устройств.

7. Система по п. 1, в которой каждая связь с использованием второго протокола состоит из одиночного пакета, отправленного из одного электронного устройства из множества электронных устройств на второй сервер.

8. Система по п. 7, в которой пакет включает в себя идентификационную информацию вышеуказанного одного электронного устройства.

9. Система по п. 8, в которой идентификационная информация зашифрована.

10. Система по п. 8, в которой в ответ на прием пакета второй сервер определяет, исходя из идентификационной информации и флага, ассоциированного с идентификационной информацией, должен ли быть создан сеанс с вышеуказанным одним электронным устройством.

11. Система по п. 10, в которой, если второй сервер определяет, что он не должен создавать сеанс, второй сервер не отвечает вышеуказанному одному электронному устройству.

12. Система по п. 10, в которой, если второй сервер определяет, что он не должен создавать сеанс, второй сервер отправляет подтверждение вышеуказанному одному электронному устройству.

13. Система по п. 10, в которой, если второй сервер определяет, что он не должен создавать сеанс, второй сервер отправляет инструкцию отсоединения вышеуказанному одному электронному устройству.

14. Система по п. 10, в которой, если второй сервер определяет, что он не должен создавать сеанс, второй сервер отсоединяется от вышеуказанного одного электронного устройства.

15. Система по п. 10, в которой, если второй сервер определяет, что он должен создать сеанс, второй сервер отправляет сообщение вышеуказанному одному электронному устройству, запрашивающее у него открытие сеанса.

16. Система по п. 8, в которой пакет не включает в себя информацию, относящуюся к вышеуказанному одному устройству, за исключением вышеуказанной идентификационной информации.

17. Система по п. 7, в которой пакет меньше, чем 2×102 байтов в длину.

18. Система по п. 1, в которой дополнительная связь с использованием второго протокола происходит посредством короткого сеанса, имеющего до пяти пакетов.

19. Система по п. 18, в которой короткий сеанс имеет до четырех пакетов.

20. Система по п. 18, в которой связь с использованием первого протокола происходит посредством длительного сеанса, который по меньшей мере на порядок величины больше, чем короткий сеанс, в том, что касается числа переданных байтов.

21. Система по п. 20, в которой связь с использованием первого протокола происходит посредством длительного сеанса, который на 1-4 порядка величины больше, чем короткий сеанс в том, что касается числа переданных байтов.

22. Система по п. 1, в которой связь с использованием первого протокола содержит передачу первым сервером инструкции электронному устройству остановить осуществление связи со вторым сервером.

23. Система по п. 1, дополнительно содержащая агент, который выполнен с возможностью установки на электронных устройствах для обеспечения электронным устройствам возможности осуществления связи с первым и вторым серверами с использованием первого и второго протоколов соответственно, причем вышеуказанный агент выполнен с возможностью совершения вызовов на первый сервер с первой частотой и совершения вызовов на второй сервер со второй частотой, которая выше, чем первая частота.

24. Постоянный машиночитаемый носитель, который хранит исполняемый агент, причем вышеуказанный исполняемый агент содержит инструкции, которые побуждают электронное устройство выполнять процесс, который содержит:

осуществление связи с первым сервером системы мониторинга согласно первому протоколу и со вторым сервером системы мониторинга согласно второму протоколу, при этом второй протокол оптимизирован для связи, осуществляемой с использованием пакетов, имеющих меньший размер в байтах, чем пакеты, переносящие передачи данных в соответствии с первым протоколом;

прием из второго сервера в сеансе, основанном на втором протоколе, инструкции осуществить контакт с первым сервером;

в ответ на инструкцию, инициирование сеанса связи с первым сервером согласно первому протоколу, при этом электронное устройство принимает инструкцию обеспечения безопасности из первого сервера во время сеанса связи, причем вышеуказанная инструкция обеспечения безопасности определяет действие по обеспечению безопасности, ассоциированное с кражей или потерей электронного устройства; и

исполнение инструкции обеспечения безопасности.

25. Постоянный машиночитаемый носитель по п. 24, в котором агент дает инструкцию электронному устройству осуществить вызов первого сервера с первой повторяющейся частотой вызовов и осуществить вызов второго сервера со второй повторяющейся частотой вызовов, которая больше, чем первая повторяющаяся частота вызовов.

26. Постоянный машиночитаемый носитель по п. 24, в котором второй протокол оптимизирован для связи, которая на 1-4 порядка величины короче, чем связь с использованием первого протокола.

27. Способ мониторинга электронных устройств, содержащий этапы, на которых:

принимают на первом сервере уведомление, что электронное устройство ожидает инструкцию обеспечения безопасности;

принимают на втором сервере уведомление, что электронное устройство должно осуществить контакт с первым сервером;

принимают на втором сервере одиночный пакет от электронного устройства, содержащий идентификационную информацию электронного устройства;

подтверждают, что идентификационная информация помечена флагом для контактирования с первым сервером;

создают короткий сеанс между вторым сервером и электронным устройством, во время которого второй сервер дает инструкцию электронному устройству осуществить контакт с первым сервером; и

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

28. Способ по п. 27, в котором длительный сеанс на 1-4 порядка величины длиннее, чем короткий сеанс, в том, что касается числа переданных байтов.

29. Способ по п. 27, в котором второй сервер использует пул потоков для осуществления связи с электронным устройством, и первый сервер осуществляет связь с электронным устройством с использованием потоков, которые выделены для конкретных сеансов.

30. Способ по п. 27, в котором короткий сеанс имеет до 5 пакетов.

31. Способ по п. 27, в котором пакет имеет 2×102 байтов или менее.



 

Похожие патенты:

Группа изобретений относится к области передачи информации. Техническим результатом является повышение эффективности передачи контента между облачным сервером и устройством.

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

Настоящее изобретение относится к средствам управления режимами питания микроконтроллеров. Технический результат заключается в расширении арсенала технических средств пробуждения блока микроконтроллера (MCU).

Изобретение относится к области цифровой обработки и анализа данных. Технический результат заключается в расширении арсенала технических средств определения относительных размеров отдельных синхронных кластеров сложной сети.

Изобретение относится к области телекоммуникаций и информационных технологий. Технический результат изобретения заключается в повышении безопасности работы оборудования за счет размещения данного оборудования в подземном дата-центре и обеспечении полноценного контроля за состоянием среды подземного дата-центра с целью оперативного реагирования на возникновение внештатной ситуации.

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

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

Изобретение относится к выбору адаптивной схемы модуляции и кодирования и сигнализации в системе связи. Технический результат – повышение эффективности и ошибкоустойчивости за счет обеспечения лучшей адаптации MCS к состоянию канала.

Изобретение относится к области радиотехники. Техническим результатом заявленного изобретения является создание системы передачи данных в заданных интервалах времени на основе технологий OFDM и TDD с улучшенной защитой от внешних радиопомех объекта эксплуатации.

Изобретение относится к области защиты сети спутниковой связи. Технический результат заключается в усилении защиты системы спутниковой связи.

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

Группа изобретений относится к области передачи информации. Техническим результатом является повышение эффективности передачи контента между облачным сервером и устройством.

Изобретение относится к области цифровой обработки и анализа данных. Технический результат заключается в расширении арсенала технических средств определения относительных размеров отдельных синхронных кластеров сложной сети.

Группа изобретений относится к технологиям доставки аудиовизуального контента в клиентское устройство. Техническим результатом является расширение арсенала технических средств, направленных на доставку аудиовизуального контента в клиентское устройство.

Изобретение относится к способу и устройству детектирования злонамеренной атаки. Технический результат заключается в детектировании злонамеренной атаки со стороны хост-устройства при уменьшении объема обработки данных контроллера программно определяемой сети (SDN) и улучшении его рабочих характеристик.

Изобретение относится к системе беспроводной связи. Оборудование инфраструктуры, формирующее часть мобильной сети связи, принимает пакеты данных от терминала связи.

Изобретение относится к области технологий сети связи. Технический результат изобретения заключается в реализации автоматического определения функции передачи посредством электронного устройства и уменьшении этапов операции по разрешению функции передачи пользователем.

Изобретение относится к средствам обработки сообщений электронной почты. Технический результат заключается в предоставлении сведений о непрочитанном сообщении электронной почты.

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

Изобретение относится к технологиям сетевой связи. Технический результат заключается в повышении скорости передачи данных.

Изобретение относится к системе мониторинга электронного устройства. Технический результат – уменьшение времени, требуемого для администратора или владельца устройства для активации меры безопасности на удаленном устройстве. Для этого используются два разных типа серверов для осуществления связи с электронными устройствами пользователей. Один тип сервера, которым может быть сервер быстрого контакта, оптимизирован или сконфигурирован для относительно короткой и частой связи с электронными устройствами. Другой тип сервера оптимизирован или сконфигурирован для менее частой, но более длительной связи с электронными устройствами. В некоторых вариантах осуществления электронные устройства выполнены с возможностью относительно частого осуществления связи с сервером быстрого контакта. Когда электронное устройство объявлено как потерянное или украденное, сервер быстрого контакта может дать инструкцию электронному устройству осуществить контакт с другим типом сервера, чтобы получить соответствующие безопасности инструкции. 3 н. и 28 з.п. ф-лы, 20 ил.

Наверх