СИСТЕМЫ И СПОСОБЫ УПРАВЛЕНИЯ КОНЕЧНЫМИ ТОЧКАМИ СВЯЗИ
SYSTEMS AND METHODS OF MANAGING COMMUNICATION ENDPOINTS

Ссылки на родственные заявки
Согласно настоящей заявке испрашивается приоритет в соответствии с предварительной заявкой на выдачу патента США №62/051067. Предварительная заявка на выдачу патента США №62/051067 включена в настоящий документ посредством ссылки.
Предшествующий уровень техники настоящего изобретения
Область техники, к которой относится настоящее изобретение
Настоящее изобретение относится в целом к сетевой связи, более конкретно, кроме прочего, к системам и способам управления конечными точками связи.
Предшествующий уровень техники настоящего изобретения
Конечная точка связи - будь то унаследованный аналоговый, цифровой или интернет-протокол (IP) - может быть важным активом любого предприятия. Телефон - это средство связи между предприятием, его персоналом и клиентами. Обеспечение безопасности, подготовка, поддержка и управление этими ресурсами могут быть столь же важны, как высокая доступность и аварийное восстановление. Некоторые высокодоходные направления бизнеса и доходы от них напрямую зависят от прямого телефонного звонка клиентам, партнерам или сотрудникам. По сути телефоны могут влиять на бизнес-пользователей, операции и контактные центры, что сказывается на доходах и удовлетворенности клиентов и сотрудников. Быстрые изменения в аппаратном обеспечении конечной точки, прошивке и коммуникационном сервере затрудняют контроль, обслуживание и восстановление конечных точек связи.
Краткое раскрытие настоящей полезной модели
В соответствии с одним вариантом осуществления способ выполняется компьютерной системой. Способ предусматривает получение триггера для динамического изменения обслуживающего узла конечной точки связи, причем конечная точка связи зарегистрирована для получения услуги цифровой связи от первого обслуживающего узла. Способ дополнительно предусматривает обнаружение хранимой политики выбора обслуживающего узла, применимой к конечной точке связи. Способ также предусматривает получение доступа к хранимой политике выбора обслуживающего узла. Более того способ предусматривает выбор второго обслуживающего узла для конечной точки связи из множества альтернативных обслуживающих узлов, причем выбор осуществляется на основании, по меньшей мере частично, хранимой политики выбора обслуживающего узла. Также способ предусматривает обнаружение требований конфигурации конечной точки второго обслуживающего узла на основании, по меньшей мере, частично, хранимого профиля второго обслуживающего узла. Кроме того, способ предусматривает динамическое генерирование конфигураций конечных точек, удовлетворяющих требованиям конфигурации конечной точки второго обслуживающего узла. Более того, способ предусматривает запись сгенерированных конфигураций конечных точек в конечную точку связи. Дополнительно способ предусматривает инициирование регистрирования конечной точкой связи получения услуги цифровой связи от второго обслуживающего узла вместо первого обслуживающего узла.
В соответствии с одним вариантом осуществления система содержит по меньшей мере один процессор. По меньшей мере один процессор выполнен с возможностью осуществления способа. Способ предусматривает получение триггера для динамического изменения обслуживающего узла конечной точки связи, причем конечная точка связи зарегистрирована для получения услуги цифровой связи от первого обслуживающего узла. Способ дополнительно предусматривает обнаружение хранимой политики выбора обслуживающего узла, применимой к конечной точке связи. Способ также предусматривает получение доступа к хранимой политике выбора обслуживающего узла. Более того способ предусматривает выбор второго обслуживающего узла для конечной точки связи из множества альтернативных обслуживающих узлов, причем выбор осуществляется на основании, по меньшей мере частично, хранимой политики выбора обслуживающего узла. Также способ предусматривает обнаружение требований конфигурации конечной точки второго обслуживающего узла на основании, по меньшей мере частично, хранимого профиля второго обслуживающего узла. Кроме того, способ предусматривает динамическое генерирование конфигураций конечных точек, удовлетворяющих требованиям конфигурации конечной точки второго обслуживающего узла. Более того, способ предусматривает запись сгенерированных конфигураций конечных точек в конечную точку связи. Дополнительно способ предусматривает инициирование регистрирования конечной точкой связи получения услуги цифровой связи от второго обслуживающего узла вместо первого обслуживающего узла.
В соответствии с одним вариантом осуществления компьютерный программный продукт содержит энергонезависимый машиночитаемый носитель данных, содержащий встроенный в него машиночитаемый программный код. Машиночитаемый программный код, который может быть выполнен для реализации способа. Способ предусматривает получение триггера для динамического изменения обслуживающего узла конечной точки связи, причем конечная точка связи зарегистрирована для получения услуги цифровой связи от первого обслуживающего узла. Способ дополнительно предусматривает обнаружение хранимой политики выбора обслуживающего узла, применимой к конечной точке связи. Способ также предусматривает получение доступа к хранимой политике выбора обслуживающего узла. Более того способ предусматривает выбор второго обслуживающего узла для конечной точки связи из множества альтернативных обслуживающих узлов, причем выбор осуществляется на основании, по меньшей мере частично, хранимой политики выбора обслуживающего узла. Также способ предусматривает обнаружение требований конфигурации конечной точки второго обслуживающего узла на основании, по меньшей мере частично, хранимого профиля второго обслуживающего узла. Кроме того, способ предусматривает динамическое генерирование конфигураций конечных точек, удовлетворяющих требованиям конфигурации конечной точки второго обслуживающего узла. Более того, способ предусматривает запись сгенерированных конфигураций конечных точек в конечную точку связи. Дополнительно способ предусматривает инициирование регистрирования конечной точкой связи получения услуги цифровой связи от второго обслуживающего узла вместо первого обслуживающего узла.
Краткое описание фигур
Способ и устройство согласно настоящему изобретению станут более понятны после прочтения подробного раскрытия настоящего изобретения, выполненного со ссылками на прилагаемые фигуры.
На фиг. 1 показан пример системы управления конечными коммуникационными точками.
На фиг. 2 показан пример компьютерной системы.
На фиг. 3 показан пример диспетчера конечных точек.
На фиг. 4 показан пример иерархии управления конечными точками.
На фиг. 5 показан пример процесса инициализации конечных точек.
На фиг. 6 показан пример процесса инициализации конечных точек.
На фиг. 7 показан пример процесса динамического изменения обслуживающих узлов, назначенных конечным точкам связи.
Подробное раскрытие настоящего изобретения
На фиг. 1 показан пример системы 100 управления конечными точками связи. Система 100 содержит конечные точки 102(1), 102(2) и 102(N) связи (вместе называемые конечными точками 102 связи), обслуживающие узлы 104(1), 104(2) и 104 (N) (вместе называемые обслуживающими узлами 104) и диспетчеры 108 конечных точек(1), 108(2) и 108(N). Система 100 также содержит одну или несколько абонентских систем 110, один или несколько серверов 112 протокола динамической настройки узла (серверов DHCP) и один или несколько серверов 114 приложений. В соответствии с некоторыми вариантами осуществления конечные точки 102 связи, обслуживающие узлы 104, диспетчеры 108 конечных точек, абонентская система или системы 110, сервер или серверы 112 DHCP и сервер или серверы 114 приложений предназначены для передачи данных по сети 116.
В целом каждая конечная точка 102 связи может принимать и передавать цифровую информацию, например аудио и/или видео, в виде пакетов межсетевого протокола (пакетов IP) по сети 116, которая может содержать одну или несколько сетей с коммутацией пакетов. В соответствии с некоторыми вариантами осуществления конечные точки 102 связи могут быть выполнены с возможностью выполнения голосовой связи по интернет-протоколу (VoIP). Например, конечные точки 102 связи могут осуществлять протоколы VoIP, такие как Н.323, протокол контроля медиашлюзов (MGCP), протокол установления сеанса (SIP), Н.248, протокол управления передачей в реальном времени (RTCP), протокол управления передачей в реальном времени (RTCP), безопасный протокол передачи данных в реальном времени (SRTP), протокол описания сеансов (SDP), протокол обмена VoIP данными между IP-PBX Asterisk (IAX), дополнение Jingle к ХМРР и VoIP, протокол Skype, Teamspeak, их комбинации и/или подобное.
Примеры конечных точек 102 связи включают сотовый телефон, смартфон, приемопередающую наземную мобильную радиосвязь, контроллер базовой радиостанции, носимый или прикрепляемый к телу компьютер, телефон, работающий на протоколе инициирования сеансов (SIP), настольный компьютер, ноутбук, планшетный компьютер, карманный персональный компьютер (КПК), глобальную систему позиционирования, мультимедийное устройство, видео устройство, цифровой аудио проигрыватель (например, проигрыватель МРЗ), камеру, игровую приставку, ресивер цифрового телевидения или любое другое устройство, работающее по аналогичному принципу. Конкретная конечная точка связи также может быть известна специалистам в области техники настоящего изобретения как мобильная станция, абонентская станция, мобильный блок, абонентский блок, беспроводной блок, удаленный блок, мобильное устройство, беспроводное устройство, беспроводное устройство связи, пользовательское устройство, оконечное устройство, удаленное устройство, мобильная абонентская станция, терминал доступа, мобильный терминал, беспроводной терминал, удаленный терминал, телефонная трубка, абонентская служба, мобильный клиент, клиент или любой другой подходящий термин. В иллюстративных целях будут описаны примеры, в которых конечными точками 102 связи будут IP-телефоны или SIP-телефоны. Однако следует отметить, что принципы, описанные в настоящем документе, не ограничиваются этими примерами осуществления.
Показанные конечные точки 102(1), 102(2) и 102(N) связи содержат конфигурации конечных точек, содержащие настройки 118(1), 118(2) и 118(N), соответственно (вместе называемые настройками 118), встроенное ПО 120(1), 120(2) и 120(N), соответственно (вместе называемые встроенным ПО 120) и прикладное ПО 122(1), 122(2) и 122(3), соответственно (вместе называемые прикладным ПО 122). Каждая из настроек 118 может содержать, например, параметры конфигурации, обеспечивающие работу соответствующей конечной точки связи из конечных точек 102 связи и обмен данными с одним или несколькими обслуживающими узлами 104. В соответствии с некоторыми вариантами осуществления настройки 118 могут включать профили безопасности и сертификаты безопасности. В соответствии с некоторыми вариантами осуществления настройки 118 могут быть инкапсулированы в файлы настроек. В соответствии с одним примером настройки 118 могут ссылаться на обслуживающий узел из обслуживающих узлов 104, который предоставляет услугу цифровой связи заданной конечной точке связи. Встроенное ПО 120 может представлять собой низкоуровневую управляющую программу, находящуюся в памяти конечных точек 102 связи. В соответствии с одним примером встроенное ПО 120 может находиться в постоянном запоминающем устройстве (ПЗУ), электрически стираемом перепрограммируемом ПЗУ (ЭСППЗУ) или во флеш-памяти. В различных случаях прикладное ПО 122 может представлять собой программу, предназначенную для работы в соответствующих средах операционных систем конечных точек 102 связи.
В целом обслуживающие узлы 104 представляют собой точки, которые могут обслуживать и обрабатывать цифровую информацию, такую как голосовые сообщения телефонных звонков, направленные в конечные точки 102 связи. Обслуживающие узлы 104(1), 104(2) и 104(N), как показано, содержат диспетчеров 106(1), 106(2) и 106(N) передачи данных соответственно (вместе называемые диспетчерами 106 передачи данных). Каждый диспетчер 106 передачи данных может работать как сервер связи, например сервер вызовов, предоставляющий услугу цифровой связи, такую как услуга VoIP, конечным точкам связи, таким как конечные точки 102 связи. В соответствии с обычным вариантом осуществления каждая конечная точка 102 связи может зарегистрироваться в конкретном обслуживающем узле из обслуживающих узлов 104 для получения услуг связи, предоставляемых им.
Как будет подробно описано со ссылкой на фиг. 3, диспетчеры 108 конечных точек могут вовлекать множество различных служб приложений, причем эти службы могут быть загружены на один или несколько хост-серверов и могут управляться там. В соответствии с некоторыми вариантами осуществления сервер или серверы 114 приложений могут упрощать распределенное развертывание диспетчеров 108 конечных точек через хост-сервер и репликацию процесса. Более того, сервер или серверы 114 приложений могут упрощать передачу данных между диспетчерами 106 передачи данных обслуживающих узлов 104 и диспетчерами 108 конечных точек во время работы служб приложений, предоставляя между ними единый интерфейс. В вариантах осуществления, согласно которым серверы приложений содержат более одного сервера, сервер или серверы 114 приложений могут быть находиться в одном месте или могут быть территориально рассредоточены. Реплицированная или распределенная конфигурация серверов 114 приложений может обеспечивать основание для отработки отказа, восстановления и самовосстановления. В соответствии с некоторыми вариантами осуществления службы приложений и процессы управления конечными точками могут быть динамически загружены, сконфигурированы, инициализированы, включены, отключены и выгружены компонентом администрирования диспетчеров 108 конечных точек.
Диспетчеры 108 конечных точек могут централизовано администрировать конечные точки 102 связи и управлять тем, в каком обслуживающем узле из обслуживающих узлов 104 конечные точки 102 связи будут зарегистрированы в заданное время. Например, в соответствии с различными вариантами осуществления диспетчеры 108 конечных точек могут администрировать конечные точки 102 связи относительно настраиваемой иерархии управления конечными точками. В соответствии с одним примером настраиваемая иерархия управления конечными точками может совпадать с конкретными сферами деятельности компании или предприятия. Согласно этому примеру сфера деятельности компании (LOB) может быть представлена как подразделение компании или предприятия, выполняющее конкретные функции.
В разных ситуациях каждый узел в иерархии управления конечными точками может представлять собой управляемую отдельно группу из абонентов и их конечных точек связи. Например, конкретная иерархия управления конечными точками для банковского предприятия может включать категории для обслуживания кредитных карт, банковских операций с жилищной недвижимостью, банковского ипотечного кредитования и обслуживания клиентов. В соответствии с этим примером каждая конечная точка связи из конечных точек 102 связи может представлять собой дочерний узел одной из этих категорий. Например, конечная точка связи, назначенная абоненту в банковском подразделении, занимающемся жилищной недвижимостью, банковского предприятия, может принадлежать дочернему узлу или представлять собой дочерний узел категории «банковских операций с жилищной недвижимостью» в иерархии управления конечными точками. Аналогично все другие конечные точки связи банковского предприятия могут принадлежать дочерним узлам или представлять собой дочерние узлы конкретной категории иерархии управления конечных точек в соответствии с назначенными им абонентами. Следует отметить, что в различных случаях конечные точки связи конкретной категории могут быть распределены по физическим местоположениям по всему миру. Пример иерархии управления конечными точками будет описан со ссылкой на фиг. 4.
В соответствии с различными вариантами осуществления диспетчеры 108 конечных точек обслуживают репозиторий конфигураций, который содержит настройки, конфигурации, сертификаты безопасности, встроенное ПО и/или программное обеспечение, используемое конечными точками 102 связи. В соответствии с некоторыми вариантами осуществления диспетчеры 108 конечных точек могут получать триггер для динамического изменения обслуживающего узла выбранного набора одной или нескольких конечных точек 102 связи. В некоторых случаях выбранный набор может представлять конкретную категорию или узел иерархии управления конечными точками, как описано выше. В ответ на триггер диспетчеры 108 конечных точек могут вызывать процесс, который инициирует регистрацию выбранного набора конечных точек 102 связи для получения услуги цифровой связи от другого обслуживающего узла из обслуживающих узлов 104. Примеры вариантов осуществления и работы диспетчеров 108 конечных точек будут описаны со ссылкой на фиг. 3-7.
Специалисту в области техники будет понятно, что каждое упоминание компьютера или компьютерной системы, как описано выше, может подразумевать любое количество физических или виртуальных служебных компьютеров. Аналогично каждое упоминание базы данных может подразумевать множество баз данных. Более того, следует отметить, что в соответствии с различными вариантами осуществления каждый экземпляр сети, такой, например, как сеть 116, можно рассматривать как абстрактное представление множества отдельных сетей. Например, сеть 116 может содержать одну или множество сетей передачи данных, таких, например, как общественные или частные внутренние сети, телефонная коммутируемая сеть общего пользования (PSTN), сеть сотовой связи, сеть Internet и/или подобная.
Для назначения по мере необходимости IP-адресов и других параметров конечным точкам 102 связи можно использовать сервер или серверы 112 DHCP. В соответствии с различными вариантами осуществления сервер или серверы 112 DHCP устраняют необходимость вручную настраивать каждую конечную точку связи со статическим IP-адресом. Преимущественно в соответствии с некоторыми вариантами осуществления сервер или серверы 112 DHCP также могут передавать информацию конечным точкам 102 связи, такую, например, как IP-адреса, связанные с одним или несколькими диспетчерами 106 передачи данных, файловому серверу или другому компоненту диспетчеров 108 конечных точек, и т.д. В таблице 1 ниже приведены примеры параметров и настроек, которые в соответствии с некоторыми вариантами осуществления могут быть предоставлены серверами 112 DHCP одной или нескольким конечным точкам 102 связи.
Таблица 1
Абонентские системы 110 могут представлять собой компьютерную систему, используемую администратором, суперпользователем или другим пользователем для доступа к одному или нескольким диспетчерам 108 конечных точек. Абонентской системой или системами может быть сотовый телефон, смартфон, приемопередающая наземная мобильная радиосвязь, контроллер базовой радиостанции, носимый или прикрепляемый к телу компьютер, настольный компьютер, ноутбук, планшетный компьютер, персональный карманный компьютер (КПК), их комбинации и/или подобное. В соответствии с некоторыми вариантами осуществления абонентская система или системы 110 представляют собой пример компьютерной системы, которая может быть использована для администрирования конечных точек 102 связи. Например, в соответствии с различными вариантами осуществления абонентская система или системы 110 может получать доступ к веб-интерфейсу, прикладному программному интерфейсу (API) или другому интерфейсу одного или нескольких диспетчеров 108 конечных точек для запуска динамического изменения в обслуживающем узле одной или нескольких конечных точек 102 связи.
На фиг. 2 показан пример компьютерной системы 200. В соответствии с различными вариантами осуществления одна или несколько компьютерных систем, аналогичных компьютерной системе 200, могут быть включены или могут реализовывать конечные точки 102 связи, диспетчеры 106 передачи данных, диспетчеры 108 конечных точек, абонентскую систему или системы 110, сервер или серверы 112 DHCP и/или сервер или серверы 114 приложений, их компоненты, компьютерные системы, обеспечивающие передачу данных с любым из перечисленных компонентов и/или подобных. Компьютерная система 200 содержит приложение 210, выполняемое на компьютерных ресурсах 228. В соответствии с конкретными вариантами осуществления один или несколько экземпляров компьютерной системы 200 могут выполнять одну или несколько стадий одного или нескольких способов, описанных или проиллюстрированных в настоящем документе. В соответствии с конкретными вариантами осуществления одна или несколько компьютерных систем могут обеспечивать выполнение функции, описанной или проиллюстрированной в настоящем документе. В соответствии с конкретными вариантами осуществления закодированное программное обеспечение, выполняемое на одной или нескольких компьютерных системах, может выполнять одну или несколько стадий одного или нескольких способов, описанных или проиллюстрированных в настоящем документе, или может выполнять функцию, описанную или проиллюстрированную в настоящем документе.
Компоненты компьютерной системы 200 могут иметь любую подходящую форму, конфигурацию, количество, тип и/или компоновку. Например, кроме прочего, компьютерная система 200 может содержать встроенную компьютерную систему, систему на кристалле (SOC), одноплатную компьютерную систему (SBC) (такую, например, как компьютер на модуле [СОМ] или система на модуле [SOM]), настольную компьютерную систему, ноутбук, инфомат, мейнфрейм, сеть компьютерных систем, мобильный телефон, карманный персональный компьютер (КПК), носимый или прикрепляемый к телу компьютер, сервер или комбинацию двух или более этих устройств. В случае необходимости компьютерная система 200 может содержать одну или несколько компьютерных систем; она может быть единой или распределенной; может охватывать несколько местоположений; может охватывать несколько машин; или может находиться в облаке, которое может содержать один или несколько облачных компонентов в одной или нескольких сетях. Например, в соответствии с некоторыми вариантами осуществления все диспетчеры 108 конечных точек или обслуживающие узлы 104 или только их часть могут находиться в облаке.
В соответствии с представленным вариантом осуществления компьютерная система 200 содержит процессор 202, запоминающее устройство 204, накопитель 208 данных, интерфейс 206 и шину 236. Хотя показана конкретная компьютерная система, содержащая определенное количество определенных компонентов, расположенных определенным образом, настоящее раскрытие подразумевает любую подходящую компьютерную систему, содержащую любое подходящее количество любых подходящих компонентов в любой подходящей компоновке.
Процессор 202 может представлять собой микропроцессор, контроллер или любое другое подходящее вычислительное устройство, ресурс или комбинацию аппаратного обеспечения, программного обеспечения и/или зашифрованной логики, выполненной с возможностью выполнять, самостоятельно или в сочетании с другими компонентами, (например, запоминающее устройство 204), приложение 210. Такая функциональная возможность может предусматривать выполнение различных функций, описанных в настоящем документе. В соответствии с конкретными вариантами осуществления процессор 202 может содержать аппаратное обеспечение для выполнения команд, например, команд, из которых состоит приложение 210. Так, например, кроме прочего, для выполнения команд, процессор 202 может получать (или извлекать) команды из внутреннего регистра, внутреннего кэша, запоминающего устройства 204 или накопителя 208 данных; расшифровывать и выполнять их, а затем записывать один или несколько результатов во внутренний регистр, внутренний кэш, на запоминающее устройство 204 или накопитель 208 данных.
В соответствии с конкретными вариантами осуществления, процессор 202 может содержать один или несколько внутренних кэшей для хранения данных, команд или адресов. В настоящем раскрытии предусмотрен процессор 202, содержащий любое подходящее количество любых подходящих внутренних кэшей, если это необходимо. Так, например, кроме прочего, процессор 202 может содержать один или несколько кэшей команд, один или несколько кэшей данных и один или несколько буферов быстрого преобразования адреса (TLB). Команды, находящиеся в кэше команд, могут представлять собой копии команд, находящихся в запоминающем устройстве 204 или накопителе 208 данных, и кэш команд может ускорять извлечение этих команд процессором 202. Данные, находящиеся в кэше данных, могут представлять собой копии данных, находящихся в запоминающем устройстве 204 или накопителе 208 данных, для команд, выполняемых в процессоре 202 для работы; результаты выполнения предыдущих команд в процессоре 202 для доступа последующими командами, выполняемыми в процессоре 202, или для записи в запоминающее устройство 204 или накопитель 208 данных; или могут представлять собой другие подходящие данные. Кэш данных может ускорять чтение или запись операций процессором 202. TLB могут ускорять преобразование виртуальных адресов для процессора 202. В соответствии с конкретными вариантами осуществления процессор 202 может содержать один или несколько внутренних регистров для данных, команд или адресов. В зависимости от варианта осуществления процессор 202 может содержать любое подходящее количество любых подходящих внутренних регистров, если это необходимо. При необходимости процессор 202 может содержать одно или несколько арифметико-логических устройств (АЛУ), может представлять собой многоядерный процессор, может содержать один или несколько процессоров 202, или любой другой подходящий процессор.
Запоминающее устройство 204 может представлять собой любую форму из энергозависимого или энергонезависимого запоминающего устройства, включая, кроме прочего, магнитный носитель, оптический носитель, оперативное запоминающее устройство (ОЗУ), постоянное запоминающее устройство (ПЗУ), флеш-память, съемный носитель или любой другой подходящий локальный или удаленный компонент или компоненты запоминающего устройства. В соответствии с конкретными вариантами осуществления запоминающее устройство 204 может содержать оперативное запоминающее устройство (ОЗУ). Это ОЗУ может представлять собой энергозависимое запоминающее устройство, если это необходимо. При необходимости это ОЗУ может представлять собой динамическое ОЗУ (ДОЗУ) или статическое ОЗУ (СОЗУ). Более того, при необходимости это ОЗУ может представлять собой однопортовое или многопортовое ОЗУ или ОЗУ или запоминающее устройство любого другого подходящего типа. Запоминающее устройство 204 может содержать одно или несколько запоминающих устройств 204, если это необходимо. В запоминающем устройстве 204 могут храниться любые подходящие данные или информация, используемые компьютерной системой 200, включая программное обеспечение, заделанное в машиночитаемый носитель, и/или зашифрованную логику, встроенную в аппаратное обеспечение или хранимую другим способом (например, встроенное ПО). В соответствии с конкретными вариантами осуществления запоминающее устройство 204 может содержать основное запоминающее устройство для хранения команд, выполняемых процессором 202, или данных, применяемых процессором 202. В соответствии с конкретными вариантами осуществления один или несколько блоков управления запоминающим устройством (MMU) может находиться между процессором 202 и запоминающим устройством 204 и упрощать доступ к запоминающему устройству 204, запрашиваемый процессором 202.
Так, например, кроме прочего, компьютерная система 200 может загружать команды из накопителя 208 данных или другого источника (например, другой компьютерной системы) в запоминающее устройство 204. Затем процессор 202 может загружать команды из запоминающего устройства 204 во внутренний регистр или внутренний кэш. Для выполнения команд процессор 202 может извлекать команды из внутреннего регистра или внутреннего кэша и расшифровывать их. Во время или после выполнения команд процессор 202 может записывать один или несколько результатов (которые могут быть промежуточными или конечными) во внутренний регистр или внутренний кэш. Процессор 202 может затем записывать один или несколько из этих результатов в запоминающее устройство 204. В соответствии с конкретными вариантами осуществления процессор 202 может выполнять только команды, находящиеся в одном или нескольких внутренних регистрах или внутренних кэшах или в запоминающем устройстве 204 (в отличие от накопителя 208 данных или другого хранилища) и может работать только с данными, находящимися в одном или нескольких внутренних регистрах или внутренних кэшах или в запоминающем устройстве 204 (в отличие от накопителя 208 данных или другого хранилища данных).
В соответствии с конкретными вариантами осуществления накопитель 208 данных может содержать накопитель для хранения большого объема данных или команд. Так, например, кроме прочего, накопитель 208 данных может представлять собой жесткий диск (HDD), гибкие диски, флеш-память, оптический диск, магнитооптический диск, магнитную ленту или универсальную последовательную шину (USB) или комбинацию двух или более этих устройств. При необходимости накопитель 208 данных может содержать съемный или несъемный (стационарный) носитель. При необходимости накопитель 208 данных может быть внутренним или внешним относительно компьютерной системы 200. В соответствии с конкретными вариантами осуществления накопитель 208 данных может представлять собой энергонезависимое, твердотельное запоминающее устройство. В соответствии с конкретными вариантами осуществления накопитель 208 данных может содержать постоянное запоминающее устройство (ПЗУ). При необходимости это ПЗУ может представлять собой ПЗУ с масочным программированием, программируемое ПЗУ (ППЗУ), стираемое ППЗУ (СППЗУ), электрически стираемое ППЗУ (ЭСППЗУ), электрически перепрограммируемое ПЗУ (ЭППЗУ), флеш-память или комбинацию двух или более этих устройств. Накопитель 208 данных может иметь любую подходящую физическую форму и может содержать любое подходящее количество накопителей любого типа. Накопитель 208 данных может содержать один или несколько блоков управления накопителем данных, упрощающих передачу данных между процессором 202 и накопителем 208 данных, если это необходимо. Более того, в соответствии с некоторыми вариантами осуществления приложение 210 предназначено для установления или обновления конфигураций в хранилище 218 данных на накопителе 208 данных. Хранилище 218 данных может представлять собой базу данных, неструктурированный файл и/или подобное. Конфигурации могут включать, например, любые данные, описанные в настоящем документе, хранящиеся в хранилище данных.
В соответствии с конкретными вариантами осуществления интерфейс 206 может содержать аппаратное обеспечение, закодированное программное обеспечение или и то и другое, где один или несколько интерфейсов предназначены для передачи данных (например, пакетной передачи данных) по любым сетям, по любым сетевым устройствам и/или любым другим компьютерным системам. Так, например, кроме прочего, интерфейс 206 связи может включать контроллер сетевого интерфейса (NIC) или сетевой адаптер для передачи данных между сетью Ethernet или другой проводной сетью и/или беспроводной NIC (WNIC) или проводной адаптер для передачи данных с беспроводной сетью.
В зависимости от варианта осуществления интерфейс 206 может представлять собой интерфейс любого типа, подходящего для любого типа сети, для которой используется компьютерная система 200. Так, например, кроме прочего, компьютерная система 200 может содержать (или передавать данные в) специальную сеть, персональную сеть (PAN), локальную сеть (LAN), региональную сеть (WAN), общегородскую сеть (MAN) или одну или несколько частей Internet или комбинацию двух или более указанных сетей. Одна или несколько частей одной или нескольких этих сетей могут быть проводными или беспроводными. Так, например, компьютерная система 200 может содержать (или передавать данные в) беспроводную PAN (WPAN) (например, BLUETOOTH WPAN), сеть WI-FI, сеть WI-MAX, сеть LTE, сеть LTE-A, сотовую телефонную сетью (например, глобальную систему мобильной связи [GSM]) или любую другую подходящую беспроводную сеть или комбинацию двух или более из указанного. В качестве другого примера интерфейс 206 может осуществлять передачу данных с помощью других различных типов беспроводной передачи данных, например, с помощью связи в инфракрасном (ИК) диапазоне, радиочастотной (РЧ) связи, связи через прямые электрические соединения и т.д. В целом при необходимости компьютерная система 200 может содержать любой подходящий интерфейс 206 для любой из этих сетей.
В соответствии с некоторыми вариантами осуществления интерфейс 206 может содержать один или несколько интерфейсов для одного или нескольких устройств ввода-вывода. Одно или несколько из этих устройств ввода-вывода могут обеспечивать передачу данных между человеком и компьютерной системой 200. Так, например, кроме прочего, устройство ввода-вывода может представлять собой клавиатуру, вспомогательную клавиатуру, микрофон, монитор, мышь, принтер, сканер, динамик, фотоаппарат, стилус, планшет, сенсорный экран, трекбол, видеокамеру, другое подходящее устройство ввода-вывода или комбинацию двух или более из указанных устройств. Устройство ввода-вывода может содержать один или несколько датчиков. Конкретные варианты осуществления могут предусматривать любой подходящий тип и/или количество устройств ввода-вывода и любой подходящий тип и/или количество интерфейсов 206 для них. При необходимости интерфейс 206 может содержать один или несколько драйверов, с помощью которых процессор 202 может приводить в действие одно или несколько из этих устройств ввода-вывода. Интерфейс 206 может содержать один или несколько интерфейсов 206, если это необходимо.
Шина 236 может содержать любую комбинацию аппаратного обеспечения, программного обеспечения, заделанного в машиночитаемый носитель, и/или зашифрованную логику, встроенную в аппаратное обеспечение или хранимую другим способом (например, встроенное ПО) для соединения компонентов компьютерной системы 200 друг с другом. Так, например, кроме прочего, шина 236 может содержать ускоренный графический порт (AGP) или другую шину передачи графических данных, шину с улучшенной архитектурой промышленного стандарта (EISA), системную шину (FSB), межпроцессорную шину HYPERTRANSPORT (НТ), шину со стандартной промышленной архитектурой (ISA), межсоединение по технологии INFINIBAND, шину Low Pin Count (LPC), шину запоминающего устройства, шину с микроканальной архитектурой (МСА), шину для подключения периферийных компонентов (PCI), шину PCI-Express (PCI-X), последовательную шину SATA, локальную шину Ассоциации стандартов видеооборудования (VLB) или любую другую подходящую шину или комбинацию двух или более из указанных шин. Шина 236 может содержать любое количество, любой тип и/или любую конфигурацию шин 236, если это необходимо. В соответствии с конкретными вариантами осуществления одна или несколько шин 236 (каждая из которых может содержать адресную шину и шину данных) может обеспечивать соединение процессора 202 с запоминающим устройством 204. Шина 236 может содержать одну или несколько шин запоминающего устройства.
В настоящем документе упоминается машиночитаемый накопитель, под которым следует понимать один или несколько материальных машиночитаемых носителей, обладающих структурами. Так, например, кроме прочего, машиночитаемый носитель представляет собой полупроводниковую или другую интегральную схему (ИС) (например, программируемую пользователем вентильную матрицу [ППВМ] или ИС специального назначения [ASIC]), жесткий диск, HDD, гибридный жесткий диск (HHD), оптический диск, оптический привод (ODD), магнитно-оптический диск, магнитно-оптический привод, гибкий диск, накопитель на гибких дисках (FDD), магнитную ленту, голографический накопитель данных, твердотельный диск (SSD), электронный диск, SD-карта, SD-диск, карта флеш-памяти, флеш-накопитель или любой подходящий материальный машиночитаемый носитель или комбинацию двух или более из указанных устройств, если это необходимо.
Конкретные варианты осуществления могут предусматривать один или несколько машиночитаемых накопителей данных, реализующих любой подходящий накопитель. В соответствии с конкретными вариантами осуществления машиночитаемый носитель реализует одну или несколько частей процессора 202 (например, один или несколько внутренних регистров или кэшей), одну или несколько частей запоминающего устройства 204, одну или несколько частей накопителя 208 данных или их комбинацию, если это необходимо. В соответствии с конкретными вариантами осуществления машиночитаемый носитель реализует ОЗУ или ПЗУ. В соответствии с конкретными вариантами осуществления машиночитаемый носитель реализует энергозависимое или постоянное запоминающее устройство. В соответствии с конкретными вариантами осуществления один или несколько машиночитаемых носителей воплощают закодированное программное обеспечение.
На фиг. 3 показан пример диспетчера 308 конечных точек. В целом диспетчер 308 конечных точек можно рассматривать как пример реализации диспетчеров 108 конечных точек согласно фиг. 1. Диспетчер 308 конечных точек может включать службы 348 приложений. В соответствии с различными вариантами осуществления службам 348 приложений может помогать сервер приложений, такой как сервер или серверы 114 приложений согласно фиг. 1. В соответствии с проиллюстрированным вариантом осуществления службы 348 приложений включают модуль 324 сообщений, модуль 326 кэша, ядро 328 базы данных, модуль 330 администрирования, модуль 332 обработки событий, диспетчера 334 системы и ядро 336 телефонии. Диспетчер 308 конечных точек может дополнительно содержать ПО 338 промежуточного слоя, файловый сервер 340, конфигурации 342, репликатор 344 и одно или несколько хранилищ 346 данных. ПО 338 промежуточного слоя может представлять собой средний уровень, упрощающий взаимодействие служб 348 приложений. В соответствии с некоторыми вариантами осуществления ПО 338 промежуточного слоя может предоставлять API.
Говоря о службах 348 приложений, в соответствии с некоторыми вариантами осуществления модуль 324 сообщений предназначен для отправки сообщений на конечные точки связи, такие как конечные точки 102 связи согласно фиг. 1. В соответствии с различными вариантами осуществления сообщения могут быть в форме текстовых сообщений, публикуемых на экране конечных точек связи, звуковых сообщений, видеосообщений, их комбинаций и/или подобного.
Модуль 326 кэша может выполнять функцию кэш-памяти базы данных и удерживать совместно используемые и выполняемые данные для других экземпляров серверов в системе. Выполняемые и совместно используемые данные могут включать временные, критические и рабочие структуры данных. В соответствии с некоторыми вариантами осуществления модуль 326 кэша может быть выполнен с возможностью работы с одним или несколькими экземплярами на локальных или удаленных узлах. В соответствии с некоторыми вариантами осуществления восстановление модуля 326 кэша является прозрачным и не влияет на работоспособность диспетчера 308 конечных точек. В соответствии с одним примером один экземпляр модуля 326 кэша может быть выполнен для каждого из сервера или серверов 114 приложений согласно фиг. 1. В соответствии с другим примером для обеспечения высокой доступности могут использоваться два экземпляра модуля 326. В соответствии с некоторыми вариантами осуществления в случае недоступности всех экземпляров модуля 326 кэша ядро 328 базы данных может обеспечивать восстановление.
Ядро 328 базы данных может быть использовано для предоставления постоянного хранилища для настроек и работы системы, аварийных сообщений и отчетов, настроек конечных точек, проверок подлинности абонентов, обслуживающих узлов и сфер деятельности (иногда называется в настоящем документе как основная база данных). В ядре 328 базы данных могут храниться такие данные, как, например, в хранилище 346 данных. Ядро 328 базы данных может хранить в хранилище 346 данных такие данные, как, например, данные администрирования и настройки, информация, относящаяся к сигналам о неисправности системы или службы, и любая информация, необходимая для составления отчета.
В соответствии с другим примером ядро 328 базы данных может хранить в хранилище 346 данных профиль конечных точек для каждой конечной точки 102 связи. Профили конечных точек могут идентифицировать конечные точки связи и указывать на политику выбора обслуживающего узла из обслуживающих узлов 104. В некоторых случаях каждая политика может содержать правило или набор правил для выбора альтернативного обслуживающего узла, если предпочтительный обслуживающий узел из обслуживающих узлов 104 стал неработоспособным.
В соответствии с другим примером ядро 328 базы данных может хранить в хранилище 346 данных профиль категории для каждой категории из иерархии управления конечными точками. Профиль категории может идентифицировать категорию (например, «банковские операции с жилищной недвижимостью») и указывать на политику выбора обслуживающего узла из обслуживающих узлов 104. В некоторых случаях каждая политика может содержать правило или набор правил для выбора альтернативного обслуживающего узла, если предпочтительный обслуживающий узел из обслуживающих узлов 104 стал неработоспособным.
В соответствии с другим примером ядро 328 базы данных может хранить в хранилище 346 данных профиль обслуживающего узла для каждого из обслуживающих узлов 104. Для конкретного обслуживающего узла профили обслуживающих узлов могут идентифицировать узел и указывать на требования конфигурации конечной точки для конечных точек, использующих этот обслуживающий узел. Профили обслуживающих узлов могут указывать, например, на требуемую версию встроенного ПО (или диапазон версий), требуемую версию прикладного ПО (или диапазон версий), их комбинацию и/или подобное.
Следует отметить, что приведенное выше описание данных, которые могут храниться в хранилище 346 данных, является лишь иллюстративным. В хранилище 346 данных могут храниться любые профили или любая информация, касающаяся обслуживающих узлов, например обслуживающих узлов 104 согласно фиг. 1, диспетчеров передачи данных, например диспетчеров 106 передачи данных согласно фиг. 1, серверов приложений, например сервера или серверов 114 приложений согласно фиг. 1, администраторов или других пользователей, конечных точек связи, например конечных точек 102 связи согласно фиг. 1, управляющих иерархий, например сфер бизнеса, или других групп, комбинаций и/или подобного. В соответствии с некоторыми вариантами осуществления ядро 328 базы данных может быть объединено со службами каталогов, используемыми на предприятии (например, через облегченный протокол доступа к каталогам [LDAP]).
В соответствии с некоторыми вариантами осуществления репликатор 344 может поддерживать экземпляр базы данных с высокой доступностью и аварийным восстановлением (HADR) в хранилище 346 данных. В соответствии с различными вариантами осуществления экземпляр база данных HADR может быть синхронизирован с одной или несколькими другими базами данных в хранилище 346 данных. В соответствии с некоторыми вариантами осуществления диспетчер 308 конечных точек может обеспечивать переключение и восстановление конечных точек, пока основная база данных неработоспособна. В различных вариантах осуществления экземпляр резервной базы данных HADR может быть запущен администратором, суперпользователем или другим пользователем для восстановления работы система после отказа основной базы данных.
В соответствии с некоторыми вариантами осуществления модуль 330 администрирования может выполнять процесс централизованного администрирования, который управляет диспетчером 308 конечных точек. В целом модуль 330 администрирования может начинать/останавливать процессы, отображать состояние процесса/использование запоминающего устройства и проверять связь с другими процессами приложений для подтверждения. В соответствии с некоторыми вариантами осуществления модуль 330 администрирования может быть выполнен с возможностью работы с одним или множеством экземпляров на любом локальном или удаленном узле. Преимущественно в соответствии с некоторыми вариантами осуществления восстановление модуля 330 администрирования может быть безопасным, и не будет влиять на работоспособность диспетчера 308 конечных точек.
В соответствии с некоторыми вариантами осуществления модуль 330 администрирования может дополнительно позволять администраторам, суперпользователям или другим пользователям дистанционно управлять серверами приложений, такими как сервер или серверы 114 приложений, службами приложений, такими как службы 348 приложений, и/или другими компонентами. В соответствии с одним примером модуль 330 администрирования может представлять собой или может содержать трехуровневое веб-приложение предприятия. Согласно этому примеру модуль администрирования может предоставлять потоковый доступ к диспетчеру 308 конечных точек. Например, в соответствии с некоторыми вариантами осуществления один или несколько экземпляров сервера администрирования (или его компонент) может быть настроен для каждого сервера или серверов 114 приложений согласно фиг. 1.
В соответствии с некоторыми вариантами осуществления модуль 332 обработки событий может предоставлять средства ведения журнала и составления отчетов. Например, модуль 332 обработки событий может записывать данные журнала или отфильтрованные данные журнала в глобальные файлы журнала. В соответствии с некоторыми вариантами осуществления, если модуль 332 обработки событий недоступен, приложения и процессы могут заносить отчеты и журналы с проблемами в локальные файлы журнала до тех пор, пока модуль 332 обработки событий не станет доступным. В соответствии с некоторыми вариантами осуществления модуль 332 обработки событий может быть выполнен с возможностью работы с одним или множеством экземпляров на любом локальном или удаленном узле. Восстановление модуля 332 обработки событий может быть безопасным, и не будет влиять на работоспособность диспетчера 308 конечных точек. Например, один или несколько экземпляров модуля 332 обработки событий могут быть настроены для каждого сервера или серверов 114 приложений согласно фиг. 1. Во многих случаях сервер или серверы 114 приложений могут загружать балансовые отчеты о событиях на каждый экземпляр модуля 332 обработки событий через внутренний список аргументов приоритетов процессов, который определен в конфигурации процесса и загружен из базы данных (например, в хранилище 346 данных) во время инициализации сервера.
В соответствии с некоторыми вариантами осуществления диспетчер 334 системы предоставляет доступ для администрирования системы. Например, в соответствии с некоторыми вариантами осуществления диспетчер 334 системы может сбросить конечные точки связи, такие как конечные точки 102 связи согласно фиг. 1. В соответствии с некоторыми вариантами осуществления диспетчер 334 системы может быть настроен для работы с одним или множеством экземпляров сервера приложений, такого как сервер или серверы 114 приложений согласно фиг. 1. В соответствии с некоторыми вариантами осуществления восстановление диспетчера 334 системы может быть безопасным, и не будет влиять на работоспособность диспетчера 308 конечных точек. Например, один или несколько экземпляров диспетчера 334 системы могут быть настроены для каждого сервера или серверов 114 приложений согласно фиг. 1. В соответствии с некоторыми вариантами осуществления загрузка транзакции может быть сбалансирована между всеми экземплярами диспетчера 334 системы посредством списка аргументов приоритета, определенный в конфигурации процесса и загруженный из базы данных (например, в хранилище 346 данных) во время инициализации сервера.
В соответствии с некоторыми вариантами осуществления ядро 336 телефонии предоставляет доступ к информации о состоянии телефонии конечной точки, используя, например, интерфейс вызова удаленных методов. В соответствии с некоторыми вариантами осуществления ядро 336 телефонии может обеспечивать функцию для передачи данных службам цифровой связи, предоставляемых, например, обслуживающими узлами 104 согласно фиг. 1. В соответствии с одним примером ядро 336 телефонии может выдавать команды на запрос и/или управление конечными точками связи, такими как конечные точки 102 связи согласно фиг. 1. Ядро 336 телефонии может обеспечивать управляемые команды и принудительные способы для управления конечными точками 102 связи. В некоторых случаях принудительная команда может проверять метасостояние конечной точки (например, активное или неактивное) и только выдавать команду, когда конкретная конечная точка связи активна. В других случаях такие проверки могут быть допущены. В соответствии с некоторыми вариантами осуществления модуль 330 администрирования, ядро 336 телефонии или другой компонент могут предоставлять панель мониторинга или консоль, на которой администраторы, суперпользователи или другие пользователи могут в режиме реального времени видеть информацию о метасостоянии конечной точки (например, активная или неактивная) до того, как команда будет выдана.
Ядро 336 телефонии может быть выполнено с возможностью работы с одним или множеством экземпляров на локальных или удаленных узлах. В соответствии с некоторыми вариантами осуществления восстановление ядра 336 телефонии может быть безопасным, и не будет влиять на работоспособность диспетчера 308 конечных точек. Например, один или несколько экземпляров ядра 336 телефонии могут быть настроены для каждого сервера или серверов 114 приложений согласно фиг. 1. В соответствии с некоторыми вариантами осуществления загрузка транзакции может быть сбалансирована между всеми экземплярами ядра 336 телефонии посредством списка аргументов приоритета, определенный в конфигурации процесса и загруженный из базы данных (например, в хранилище 346 данных) во время инициализации сервера.
Файловый сервер 340 может получать доступ к конфигурациям 342 и поддерживать их. В соответствии с некоторыми вариантами осуществления конфигурации 342 могут включать один или несколько наборов файлов, таких, например, как файлы настроек, файлы встроенного ПО, сертификаты безопасности, файлы прикладного ПО, файлы инсталляционных сценариев для любого из перечисленного выше, их комбинаций и/или подобного. В соответствии с некоторыми вариантами осуществления файловый сервер 340 может поставлять конфигурации, которые необходимы конкретной конечной точке связи для связи с конкретным обслуживающим узлом.
На фиг. 4 показан пример иерархии 400 управления конечными точками. Иерархия 400 управления конечными точками содержит приведенные в качестве примера категории 450(1), 450(2) и 450(3) конечных точек (вместе называемые приведенными в качестве примера категориями 450 конечных точек), приведенные в качестве примера обслуживающие узлы 404(1), 404(2) и 404(3) (вместе называемые приведенными в качестве примера обслуживающими узлами 404), пользовательскую компьютерную систему 410 и диспетчер 408 конечных точек. В целом диспетчер 408 конечных точек может работать, как описано со ссылкой на диспетчер 108 конечных точек согласно фиг. 1 и/или диспетчер 308 конечных точек согласно фиг. 3. Пользовательская компьютерная система 410 может работать, как описано со ссылкой на абонентскую систему или системы 110 согласно фиг. 1.
Более конкретно, в соответствии с проиллюстрированным вариантом осуществления диспетчер 408 конечных точек может настраивать каждую из приведенных в качестве примера категорий 450 конечных точек, которые должны быть назначены услугам цифровой связи или должны получать их от любого из обслуживающих узлов 404. Таким образом конечные точки, принадлежащие категориям 450 конечных точек, могут быть зарегистрированы получать услуги цифровой связи от назначенного обслуживающего узла. В некоторых случаях назначения могут быть инициированы диспетчером 408 конечных точек и/или пользовательской компьютерной системой 410. Дополнительно в соответствии с некоторыми вариантами осуществления конкретная категория может быть запущена для динамического назначения обслуживающего узла всем конечным точкам связи конкретной категории.
На фиг. 5 показан пример процесса 500 инициализации конечных точек. В соответствии с некоторыми вариантами осуществления процесс 500 может быть использован в случаях, когда конечная точка известна диспетчеру конечных точек, например, о чем свидетельствует наличие профиля конечной точки. В соответствии с проиллюстрированным вариантом осуществления процесс 500 предусматривает конечную точку 502 связи, сервер 512 DHCP, диспетчер 508 конечных точек, балансировщик 552 нагрузки, базу 554 данных и диспетчер 506 связи. В целом конечная точка 502 связи, сервер 512 DHCP и диспетчер 506 связи могут работать, как описано со ссылкой на конечные точки 102 связи, сервер или серверы 112 DHCP и диспетчеры 106 передачи данных, соответственно, согласно фиг. 1. В соответствии с обычным вариантом осуществления диспетчер 508 конечных точек может работать, как описано со ссылкой на диспетчеры 108 конечных точек согласно фиг. 1 и диспетчер 308 конечных точек согласно фиг. 3. В соответствии с некоторыми вариантами осуществления база 554 данных может представлять собой основную базу данных, расположенную в хранилище данных, таком, например, как хранилище 346 данных согласно фиг. 3.
На стадии 5001 конечная точка 502 связи запрашивает сервер 512 DHCP предоставить некоторую информацию, такую, например, как идентификатор сети диспетчера 508 конечных точек или его компонента. Например, в соответствии с некоторыми вариантами осуществления идентификатором сети может быть IP-адрес, полное доменное имя, унифицированный указатель ресурса (URL-адрес), их комбинации и/или подобное. На стадии 5002 сервер 512 DHCP возвращает запрошенную информацию конечной точке 502 связи.
На стадии 5003 конечная точка 502 связи, используя информацию, возвращенную от сервера 512 DHCP, запрашивает конфигурации конечных точек у диспетчера 508 конечных точек (или его компонента). Запрошенные конфигурации конечных точек могут содержать, например, файлы настроек, профили или сертификаты безопасности, файлы встроенного ПО, файлы прикладного ПО, файлы инсталляционных сценариев, их комбинации и/или подобное. В целом стадия 5003 может дополнительно предусматривать определение диспетчером 508 конечных точек из профиля конечной точки 502 связи в базе 554 данных, какой обслуживающий узел и соответствующий диспетчер связи будет предоставлять услугу цифровой связи конечной точке 502 связи. В целях примера, показанного на фиг. 5, соответствующий диспетчер связи представляет собой диспетчер 506 связи. Дополнительно стадия 5003 может предусматривать определение из профиля обслуживающего узла в базе 554 данных требований конфигурации конечной точки диспетчера 506 связи.
На стадии 5004 диспетчер 508 конечных точек отправляет конечной точке 502 связи конфигурации, удовлетворяющие требованиям конфигурации конечной точки диспетчера 506 связи. Конфигурации могут включать, например, файл встроенного ПО, профиль безопасности, сертификат или сертификаты безопасности, файл прикладного ПО, файл настроек, файл инсталляционных сценариев для любого из перечисленного выше, их комбинаций и/или подобного. Файл настроек может содержать, например, ссылку на диспетчер 506 связи и/или его соответствующий обслуживающий узел. В соответствии с различными вариантами осуществления конфигурации могут быть извлечены из хранимых конфигураций, таких как конфигурации 342 согласно фиг. 3. В соответствии с некоторыми вариантами осуществления перед отправкой по меньшей мере части конфигураций конечной точке 502 связи диспетчер 508 конечных точек может определять, нужны ли новые конфигурации. В соответствии с этими вариантами осуществления, если конкретные конфигурации не нужны (например, ввиду того, что конечная точка 502 связи уже имеет удовлетворительное встроенное ПО и/или прикладное ПО), диспетчер 508 конечных точек может пропускать стадию отправки таких конфигураций.
На стадии 5005 конечная точка 502 связи отправляет диспетчеру 506 связи запрос на регистрацию. На стадии 5006 конечная точка 502 связи получает от диспетчера 506 связи подтверждение регистрации. На стадии 5007 конечная точка 502 связи входит в IP-адрес, МАС-адрес конечной точки и/или добавочный телефон, связанный с пользователем конечной точки 502 связи. В ответ на успешный вход на стадии 5008 конечная точка 502 связи получает от диспетчера 506 связи подтверждение входа. На стадии 5009 конечная точка 502 связи уведомляет диспетчер 508 конечных точек об успешном входе, и на этой стадии диспетчер 508 конечных точек может занести успешный вход в журнал в базу 554 данных.
На фиг. 6 показан пример процесса 600 инициализации конечных точек. В соответствии с некоторыми вариантами осуществления процесс 600 может использоваться в тех случаях, когда конечная точка неизвестна диспетчеру конечных точек, например, вследствие отсутствия профиля конечной точки. В соответствии с проиллюстрированным вариантом осуществления процесс 600 предусматривает конечную точку 602 связи, сервер 612 DHCP, диспетчер 608 конечных точек, балансировщик 652 нагрузки, базу 654 данных и диспетчер 606 связи. В целом конечная точка 602 связи, сервер 612 DHCP и диспетчер 606 связи могут работать, как описано со ссылкой на конечные точки 102 связи, сервер или серверы 112 DHCP и диспетчеры 106 передачи данных, соответственно, согласно фиг. 1. В соответствии с обычным вариантом осуществления диспетчер 608 конечных точек может работать, как описано со ссылкой на диспетчеры 108 конечных точек согласно фиг. 1 и диспетчер 308 конечных точек согласно фиг. 3. В соответствии с некоторыми вариантами осуществления база 654 данных может представлять собой основную базу данных, расположенную в хранилище данных, таком, например, как хранилище 346 данных согласно фиг. 3.
На стадии 6001 конечная точка 602 связи запрашивает сервер 612 DHCP предоставить некоторую информацию, такую, например, как идентификатор сети диспетчера 608 конечных точек или его компонента. Например, в соответствии с некоторыми вариантами осуществления идентификатором сети может быть IP-адрес, полное доменное имя, унифицированный указатель ресурса (URL-адрес), их комбинации и/или подобное. На стадии 6002 сервер 612 DHCP возвращает запрошенную информацию конечной точке 602 связи.
На стадии 6003а конечная точка 602 связи, используя информацию, возвращенную от сервера 612 DHCP, запрашивает конфигурации конечных точек у диспетчера 608 конечных точек (или его компонента). Запрошенные конфигурации конечных точек могут содержать, например, файлы настроек, профили безопасности, сертификаты безопасности, файлы встроенного ПО, файлы ПО, файлы инсталляционных сценариев, их комбинации и/или подобное. В целом стадия 6003а может дополнительно предусматривать попытку определения диспетчером 608 конечных точек из профиля конечной точки 602 связи в базе 654 данных, какой обслуживающий узел и соответствующий диспетчер связи будет предоставлять услугу цифровой связи конечной точке 602 связи. В соответствии с проиллюстрированным вариантом осуществления диспетчер связи также неизвестен, например, ввиду того, что категория иерархии управления конечными точками не была указана для конечной точки 602 связи.
На стадии 6003b в ответ на то, что диспетчер связи (и соответствующий обслуживающий узел) конечной точки 602 связи неизвестен, диспетчер конечных точек 608 назначает конечной точке 602 связи обслуживающий узел по умолчанию и соответствующий диспетчер связи. В целях примера, показанного на фиг. 6, соответствующий диспетчер связи представляет собой диспетчер 606 связи. Дополнительно стадия 6003b может предусматривать определение из профиля обслуживающего узла в базе 654 данных требований конфигурации конечной точки диспетчера 606 связи.
На стадии 6004 диспетчер 608 конечных точек отправляет конечной точке 602 связи конфигурации, удовлетворяющие требованиям конфигурации конечной точки диспетчера 606 связи. Конфигурации могут включать, например, файл встроенного ПО, профиль безопасности, один или несколько сертификатов безопасности, файл ПО, файл настроек, файл инсталляционных сценариев для любого из перечисленного выше, их комбинаций и/или подобного. Файл настроек может содержать, например, ссылку на диспетчер 606 связи и/или его соответствующий обслуживающий узел. В соответствии с различными вариантами осуществления конфигурации могут быть извлечены из хранимых конфигураций, таких как конфигурации 342 согласно фиг. 3. В соответствии с некоторыми вариантами осуществления перед отправкой по меньшей мере части конфигураций конечной точке 602 связи диспетчер 608 конечных точек может определять, нужны ли новые конфигурации. В соответствии с этими вариантами осуществления, если конкретные конфигурации не нужны (например, ввиду того, что конечная точка 602 связи уже имеет удовлетворительное встроенное ПО и/или прикладное ПО), диспетчер 608 конечных точек может пропускать стадию отправки таких конфигураций.
На стадии 6005 конечная точка 602 связи отправляет диспетчеру 606 связи запрос на регистрацию. На стадии 6006 конечная точка 602 связи получает от диспетчера 606 связи подтверждение регистрации. На стадии 6007 конечная точка 602 связи входит в добавочный телефон, связанный с пользователем конечной точки 602 связи. В ответ на успешный вход на стадии 6008 конечная точка 602 связи получает от диспетчера 606 связи подтверждение входа. На стадии 6009 конечная точка 602 связи уведомляет диспетчер 608 конечных точек об успешном входе, и на этой стадии диспетчер 608 конечных точек может занести успешный вход в журнал в базу 654 данных.
На фиг. 7 показан пример процесса 700 динамического изменения обслуживающих узлов, назначенных конечным точкам связи. В соответствии с обычным вариантом осуществления, когда выполняется процесс 700, ранее выполнялся процесс инициализации, такой как процесс 500 или процесс 600. Процесс 700 может быть выполнен любой системой, которая может получить доступ к одному или нескольким источникам данных. Например, процесс 700, полностью или частично, может быть выполнен любым компонентом, описанным со ссылкой на фиг. 1-6. Хотя любое количество систем, целиком или частично, может выполнять процесс 700, для упрощения описания процесс 700 будет описан со ссылкой на конкретные системы или подсистемы системы 100 и/или диспетчера 308 конечных точек согласно фиг. 3.
В блоке 702 диспетчер 308 конечных точек получает триггер для динамического изменения обслуживающего узла одной или нескольких конечных точек 102 связи согласно фиг. 1. В соответствии с обычным вариантом осуществления каждая конечная точка 102 связи зарегистрирована получать услугу цифровой связи, такую как услугу VoIP, от конкретного обслуживающего узла из обслуживающих узлов 104 согласно фиг. 1.
Триггер для динамического изменения обслуживающего узла может относиться к одной конечной точке связи или к группе конечных точек связи. Например, группа может соответствовать категории иерархии управления конечными точками, такой, например, сфера бизнеса. В соответствии с более конкретным примером сфера бизнеса или категория «услуг, связанных с кредитными картами» может иметь набор дочерних узлов, которые соответствуют конечным точкам связи, принадлежащим или связанным с пользователями в этой сфере бизнеса (или категории). В соответствии с этим примером может быть получен триггер, связанный со сферой «услуг, связанных с кредитными картами», так что все дочерние узлы этой сферы бизнеса будут подвержены воздействию триггера. В некоторых случаях триггер может быть получен в результате неисправности обслуживающего узла, сброса питания конечной точки, отсоединения кабеля, неисправности сети, неисправности диспетчера связи такого обслуживающего узла, других неисправностей, их комбинаций и/или подобного. В других случаях администратор, использующий абонентскую систему или системы 110 согласно фиг. 1, может вызвать триггер через модуль 330 администрирования согласно фиг. 3.
В блоке 704 диспетчер 308 конечных точек определяет одну или несколько конечных точек связи, которые подвержены воздействию триггера. Например, если триггер указывает конкретные конечные точки связи по имени или по другому идентификатору, диспетчер 308 конечных точек может определить эти конечные точки связи, как такие, на которые действует триггер. В соответствии с другим примером, если триггер относится к конкретной категории иерархии управления конечными точками, блок 704 может предусматривать определение диспетчером 308 конечных точек из хранилища 346 данных, какие конечные точки связи принадлежат этой категории.
В блоке 706 диспетчер 308 конечных точек определяет хранимую политику или политики конечных точек связи, на которые действует триггер. В соответствии с некоторыми вариантами осуществления блок 706 может предусматривать получение доступа к профилям конечных точек и/или профилям категорий описанного выше типа. В соответствии с одним примером выбор политики может быть указан в профиле конечной точки для каждой конечной точки и/или в категории, указанной для категории конечных точек связи. В соответствии с некоторыми вариантами осуществления выборы, сделанные в профилях для конкретных конечных точек, могут иметь приоритет над выборами, сделанными в профилях для конкретных категорий конечных точек в иерархии управления конечными точками.
В блоке 708 диспетчер 308 конечных точек выбирает новый обслуживающий узел на основании сохраненного выбора политики или политик. В блоке 710 диспетчер 308 конечных точек определяет требования конфигурации конечной точки нового обслуживающего узла (или, если говорить точнее, соответствующего диспетчера связи в обслуживающем узле). В соответствии с некоторыми вариантами осуществления требования конфигурации конечной точки могут быть определены, как было описано со ссылкой на фиг. 5-6. В блоке 712 диспетчер 308 конечных точек автоматически генерирует конфигурации конечных точек, удовлетворяющие требованиям конфигурации конечной точки нового обслуживающего узла. В соответствии с некоторыми вариантами осуществления блок 712 может предусматривать получение доступа и извлечение хранимых конфигураций из конфигураций 342.
В блоке 714 диспетчер 308 конечных точек автоматически записывает конфигурации конечных точек в конечные точки связи, на которые действует триггер. В соответствии с некоторыми вариантами осуществления перед отправкой по меньшей мере части конфигураций конечных точек связи диспетчер 308 конечных точек может определять, нужны ли новые конфигурации. В соответствии с этими вариантами осуществления, если конкретные конфигурации не нужны (например, ввиду того, что конечные точки связи уже имеют удовлетворительное встроенное ПО и/или прикладное ПО), диспетчер 308 конечных точек может пропускать стадию отправки таких конфигураций.
В блоке 716 диспетчер 308 конечных точек инициирует регистрацию конечных точек связи, на которые действует триггер, для получения услуги цифровой связи от нового обслуживающего узла. В соответствии с различными вариантами осуществления блок 716 может предусматривать инициирование выполнения конечными точками связи функции, описанной со ссылкой на стадии 5005-5009 согласно фиг. 5.
В блоке 718 может быть выполнена проверка. В целом в результате проверки может быть выполнено подтверждение успешной регистрации, а также подтверждение того, что новый обслуживающий узел предоставляет услугу цифровой связи каждой конечной точке связи, на которую действует триггер. В соответствии с некоторыми вариантами осуществления проверка может предусматривать автоматическую отправку конечными точками связи подтверждающего сообщения диспетчеру 308 конечных точек. Более того или альтернативно проверка может предусматривать утвердительный запрос диспетчером 308 конечных точек такого подтверждения, например, опрашивая конечные точки связи и/или новый обслуживающий узел. В соответствии с некоторыми вариантами осуществления блок 718 может быть пропущен.
В зависимости от варианта осуществления некоторые действия, события или функции любого из алгоритмов, описанных в настоящем документе, могут быть выполнены в различной последовательности, могут быть добавлены, объединены или же опущены (например, не все описанные действия или события необходимы для выполнения на практике алгоритмов). Более того, в соответствии с некоторыми вариантами осуществления действия или события могут быть выполнены одновременно, например, посредством многопоточной обработки, обработки прерываний, или множественными процессорами, или процессорными ядрами, или на других параллельных, а не последовательных архитектурах. Хотя некоторые задачи, выполняемые компьютером, описаны как выполняемые конкретным объектом, возможны другие варианты осуществления, в которых эти задачи выполняются другим объектом.
Условные конструкции, применяемые в настоящем документе, такие как, кроме прочего, «может», «возможно», «можно», «например» и т.п., если специально не указано другое, или если в используемом контексте не подразумевается другое, в целом подразумевают, что некоторые варианты осуществления включают, тогда как другие варианты осуществления не включают, определенные признаки, элементы и/или стадии. Таким образом, такие условные конструкции в целом не подразумевают, что признаки, элементы и/или стадии так или иначе необходимы для одного или нескольких вариантов осуществления, или что один или несколько вариантов осуществления обязательно предусматривают принятие решений с или без ввода или подсказок со стороны оператора, включать ли эти признаки, элементы и/или стадии, или выполнять их в любом конкретном варианте осуществления.
Хотя в настоящем раскрытии новые признаки были подробно показаны и описаны на основе разных вариантов осуществления, специалисту в области техники, к которой относится настоящее изобретение, будут понятны различные опущения, замены и изменения формы и деталей, показанных устройств или алгоритмов, не выходящие за пределы объема и сути настоящего изобретения. Следует понимать, что процессы, описанные в настоящем документе, могут быть воплощены в форме, которая не обеспечивает все признаки и преимущества, изложенные здесь, поскольку некоторые признаки могут использоваться или применяться отдельно от других. Объем настоящего изобретения определен прилагаемой формулой изобретения, а не приведенным выше раскрытием. Любые изменения, которые являются эквивалентными формуле изобретения, подпадают под ее объем.