RU2404451C2 - Инфраструктура расширяемого и автоматически реплицирующего управления конфигурацией пула серверов - Google Patents
Инфраструктура расширяемого и автоматически реплицирующего управления конфигурацией пула серверов Download PDFInfo
- Publication number
- RU2404451C2 RU2404451C2 RU2007147644/09A RU2007147644A RU2404451C2 RU 2404451 C2 RU2404451 C2 RU 2404451C2 RU 2007147644/09 A RU2007147644/09 A RU 2007147644/09A RU 2007147644 A RU2007147644 A RU 2007147644A RU 2404451 C2 RU2404451 C2 RU 2404451C2
- Authority
- RU
- Russia
- Prior art keywords
- configuration
- server
- servers
- configuration database
- pool
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99939—Privileged access
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99943—Generating database or data structure, e.g. via user interface
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
Abstract
Изобретение относится к автоматике и может быть использовано для управления серверами. Технический результат - повышение точности синхронизации серверов в пуле серверов. Централизованная конфигурационная база данных хранит все конфигурационные данные для пула серверов. Новые конфигурационные данные могут быть добавлены в конфигурационную базу данных посредством расширения конфигурационной объектной модели без необходимости знать или изменять схему конфигурационной базы данных. Механизм синхронизации предоставляется для каждого сервера в пуле серверов для того, чтобы автоматически поддерживать конфигурационные данные в пуле серверов синхронизированными в нескольких серверах в пуле серверов. 4 н. и 10 з.п. ф-лы, 4 ил.
Description
Уровень техники
В наши дни Интернет широко используется для того, чтобы предоставлять приложения пользователям с помощью обозревателей. Интернет также используется для электронной коммерции во всемирной сети, при которой отдельные клиенты и организации используют всемирную сеть для того, чтобы приобретать различные товары и услуги. Фактически некоторые компании предлагают товары и услуги исключительно по веб-интерфейсу, тогда как другие используют веб-интерфейс для того, чтобы расширить свою зону охвата.
В отношении этих и других коммерческих действий организации и другие поставщики содержимого используют серверы для того, чтобы обрабатывать запросы от различных пользователей. Различные архитектуры используются при обработке этих запросов; зачастую распределенные архитектуры, в которых набор серверов в кластере ("пул серверов") используется для того, чтобы обрабатывать запросы. В этой системе пулов серверов набор серверов виден пользователю как один сервер. Может быть использован механизм балансировки нагрузки для того, чтобы определять то, какой сервер в пуле серверов должен быть использован для того, чтобы обрабатывать различные запросы, направляемые в пул серверов.
Конфигурирование и обслуживание различных серверов в пуле серверов исторически было сложной задачей. Эта проблема еще более усложнялась по мере того, как число серверов, используемых в данном пуле серверов, возрастало. Чтобы надлежащим образом обслуживать серверы в пуле серверов, серверы периодически должны обновляться. Эти обновления включают в себя конфигурирование данных и служб, предоставляемых сервером, гарантирование, что определенные настройки в каждом из серверов синхронизированы друг с другом, и поддержку практически в реальном времени сведений о различных службах и приложениях, которые имеются на серверах пула серверов.
К сожалению, современные технологии, которые осуществляют управление серверами, не способны предоставить связующую технологию для обеспечения систематического и всестороннего управления серверами в пуле серверов. Например, традиционно большая часть приложений хранит конфигурационные данные в файлах. Такой подход имеет несколько ключевых проблем. Первое, такие конфигурационные файлы требуют синхронизации по всем серверам, запускающим приложения. Технологии, например Microsoft's Application Server, управляют так, чтобы поддерживать конфигурационные файлы синхронизированными по нескольким серверам посредством копирования конфигурационных файлов на серверах. Однако требуется значительная дополнительная работа для того, чтобы предоставить специфичную для сервера информацию при копировании конфигурационного файла на серверную машину. Кроме того, желательно иметь механизм, который централизованно сохраняет все конфигурационные данные для пула серверов и делает конфигурационные данные автоматически доступными для приложений из любого места пула серверов.
Кроме того, когда одно приложение выстраивается в основе другого приложения ("базовое приложение"), приложению требуется знать, что базовое приложение имеет собственный файловый формат, и приложению обычно необходимо сохранить эти настройки в отдельном файле. Через технологии, такие как XML, изготовление формата файла более просто расширяемо, такие технологи требуют от базового приложения опубликовать схему и механизм, чтобы защитить эту схему от расширения несовместимым образом другими приложениями. Более того, если базовое приложение пытается обновить настройки, сохраненные в XML, базовому приложению необходимо убедиться, что это случайно не изменит настройки других приложений или настройки, от которых эти приложения зависят. Подобным образом, базовое приложение никогда не сможет изменить расположение файлов, которые содержат настройки приложений, зависящих от базового приложения. Другой популярной моделью является сохранение настроек приложений в реестре на каждой машине. Такая модель делает виртуально невозможным распространение настроек по пулу серверов и может оказывать отрицательное влияние на коэффициент использования системных ресурсов. Поэтому желательно предоставить централизованный, расширяемый механизм для хранения настроек приложения, который не опирается на фиксированный файловый формат.
Сущность изобретения
Изобретение направлено на вышеобозначенные потребности и предоставляет инфраструктуру расширяемого и автоматически реплицирующего управления конфигурацией для пула серверов. Инфраструктура включает в себя конфигурационную базу данных, которая является главной копией всех конфигурационных данных в пуле серверов и где конфигурационные данные автоматически сохраняются.
Инфраструктура конфигурации дополнительно включает в себя объектную модель управления конфигурацией, которая предоставляет возможность любой третьей стороне обновить конфигурационные данные в конфигурационной базе данных без необходимости понимания или модифицирования нижележащей схемы конфигурационной базы данных. Предпочтительно объектная модель управления конфигурацией является единственным способом для взаимодействия с конфигурационной базой данных.
В соответствии с другим аспектом изобретения инфраструктура управления конфигурацией дополнительно включает в себя механизм безопасной синхронизации, который гарантирует, что все серверы в пуле серверов обновляются любыми изменениями конфигурации в конфигурационной базе данных. Например, каждый сервер в пуле серверов включает в себя агента, например службу таймера, который автоматически запрашивает конфигурационную базу данных через заданные промежутки времени, например каждую минуту. Затем агент загружает любые изменения в конфигурационной базе данных на сервер.
Обобщая, изобретение предоставляет инфраструктуру управления конфигурацией пула серверов, которая является расширяемой и с автоматической репликацией. В итоге, конфигурации в пуле серверов могут быть синхронизированы автоматически, и изменения конфигурации могут быть добавлены в централизованную конфигурационную базу данных без необходимости пользователю знать или изменять нижележащую схему конфигурационной базы данных.
Данная сущность предусмотрена для того, чтобы в упрощенной форме представить выбор идей, которые дополнительно описываются ниже в подробном описании. Эта сущность не предназначена для того, чтобы идентифицировать ключевые признаки или важнейшие признаки заявляемого предмета изобретения, а также не предназначена для того, чтобы быть использованной в качестве помощи при определении заявляемого предмета изобретения.
Краткое описание чертежей
Новые признаки, полагаемые характерными для изобретения, изложены в прилагаемой формуле изобретения. Тем не менее, само изобретение, а также его предпочтительный вариант осуществления, дополнительные цели и преимущества должны стать более понятными посредством ссылки на нижеследующее подробное описание иллюстративного варианта осуществления, рассматриваемого вместе с прилагаемыми чертежами, на которых
фиг. 1 - это наглядное изображение, иллюстрирующее примерную сеть систем обработки данных, в которой могут быть реализованы аспекты изобретения;
фиг. 2 - это блок-схема, иллюстрирующая примерный пул серверов, подходящий для использования на фиг. 1;
фиг. 3 - это блок-схема, иллюстрирующая другой примерный пул серверов; и
фиг. 4 - это блок-схема, иллюстрирующая примерный процесс для расширяемого и автоматически реплицирующего управления конфигурацией пула серверов.
Подробное описание примерных вариантов осуществления
Фиг. 1 иллюстрирует графическое представление сети 100 систем обработки данных, в которой может быть реализован примерный вариант осуществления изобретения. Сеть 100 систем обработки данных включает в себя сеть 102, которая является средой для того, чтобы предоставлять линии связи между различными устройствами и компьютерами, соединенными вместе в рамках сети 100 систем обработки данных. Сеть 102 может включать в себя соединения, такие как линия проводной или беспроводной связи, оптоволоконные кабели и т.п.
Как показано на фиг. 1, сеть 100 систем обработки данных включает в себя, по меньшей мере, один пул 104 серверов и несколько клиентов 108-112, все из которых соединены с сетью 102. Пул 104 серверов в общем состоит из набора серверов, который представляется как один сервер или "виртуальный" сервер для обработки запросов. Клиенты 108, 110 и 112 - это клиенты для пула 104 серверов. Этими клиентами 108, 110 и 112, например, могут быть персональные компьютеры или сетевые компьютеры. В общем пул 104 серверов предоставляет данные, такие как загрузочные файлы, образы операционной системы, приложения клиентам 108-112. Сеть 100 систем обработки данных может включать в себя дополнительные серверы, клиенты и другие непоказанные устройства.
В проиллюстрированном примере сетью 100 систем обработки данных является Интернет, при этом сеть 102 представляет набор сетей и шлюзов по всему миру, которые используют комплект протоколов TCP/IP для того, чтобы обмениваться данными друг с другом. Сердцем Интернета является магистраль высокоскоростных линий передачи данных между главными узлами или узловыми компьютерами (вычислительными машинами). Эти узлы или узловые вычислительные машины включают в себя тысячи коммерческих, правительственных, образовательных и других вычислительных систем, которые маршрутизируют данные и сообщения. Сетевая система 100 обработки данных также может быть реализована как ряд различных типов сетей, таких как, например, сеть интранет, локальная вычислительная сеть (LAN) или глобальная вычислительная сеть (WAN). Фиг. 1 предоставляется в качестве примера, а не в качестве архитектурного ограничения изобретения.
Фиг. 2 - это блок-схема пула 104 серверов в соответствии с примерным вариантом осуществления изобретения. Как показано на фиг. 2, пул 104 серверов включает в себя множество серверов, например серверы 202A, 202B, 202C, которые обмениваются данными с каждым другим через систему 212 связи. Система 212 связи используется для того, чтобы обрабатывать запросы и ответы по маршрутизации, направляемые в пул 104 серверов. Система 212 связи может принимать различные формы, в том числе, например, шины, сети, совместно используемого запоминающего устройства и т.п.
Пул 104 серверов может включать в себя диспетчер 214 загрузки, который соединен с системой 212 связи и который служит для того, чтобы принимать запросы, направляемые в пул 104 серверов из сети 102. Запросы могут включать в себя запросы, принимаемые от клиентов 108-112 (фиг. 1), и могут включать в себя, например, запросы на веб-страницы, файлы и другое содержимое. Диспетчер 214 загрузки имеет такую функциональность, чтобы распространять запросы на серверы 202A-202C для обработки. По сути, диспетчер 214 загрузки имеет такую функциональность, чтобы обеспечивать то, что ни один из серверов 202A-202C пула 104 серверов не перегружается излишне запросами, выполняемыми пулом 104 серверов.
В вариантах осуществления изобретения пул 104 серверов включает в себя конфигурационную базу 218 данных, которая сохраняет по существу все конфигурационные данные для пула 104 серверов. Конфигурационная база 218 данных функционально соединена с системой 212 связи, чтобы предоставить возможность отправки конфигурационных данных в каждый из серверов 202A-202C пула 104 серверов. Конфигурационная база 218 данных используется для того, чтобы управлять настройками конфигурации каждого из серверов 202A-202C. Следовательно, конфигурационная база 218 данных выступает в качестве центрального репозитория для всех конфигурационных настроек, которые должны быть изменены и/или добавлены в различные серверы 202A-202C пула 104 серверов. Предоставление конфигурационной базы 218 данных устраняет необходимость обновления и/или добавления конфигурационных настроек серверов 202A-202C вручную. Помимо хранения информации о топологии серверов, конфигурационная база 218 данных также может хранить конкретные для приложения настройки, такие как политики безопасности, антивирусные определения, языковые настройки и т.д. В вариантах осуществления изобретения конфигурационная база 218 данных является главной копией всех конфигурационных данных в пуле 104 серверов, которая дает возможность одной информации быть доступной в рамках набора серверов в пуле 104 серверов.
Пул 104 серверов также может включать в себя, по меньшей мере, одно хранилище 220 содержимого. Аналогично другим функциональным аспектам пула 104 серверов, хранилище 220 содержимого функционально соединено с системой 212 связи для того, чтобы предоставлять возможность распространять информацию, сохраненную в хранилище 220 содержимого, в различные компоненты пула 104 серверов. В примерных вариантах осуществления изобретения содержимое в хранилище 220 содержимого - это данные для серверов в пуле 104 серверов. Эти данные включают в себя документы, элементы данных, обсуждения, задачи и т.д. Хранилище 220 содержимого работает вместе с конфигурационной базой 220 данных, чтобы предоставлять содержимое, конкретно связанное с данным конфигурационным изменением одного или более из серверов 202A-202C. В примерных вариантах осуществления изобретения хранилище 220 содержимого не взаимодействует с конфигурационной базой 218 данных. Конфигурационная база 218 данных содержит таблицу соответствия, по какому содержимому сервера база данных хранит данные. Как результат, необязательно опрашивать каждое хранилище 220 содержимого в пуле 104 серверов, чтобы проверять то, содержит ли хранилище содержимого содержимое для конкретного сервера в пуле 104 серверов.
В примерных вариантах осуществления изобретения пул 104 серверов является произвольно наращиваемым. Это включает в себя то, что пул 104 серверов может быть произвольно дополнен несколькими серверами, отличными от серверов 202A-202C. Помимо этого, пул 104 серверов может включать в себя несколько хранилищ 220 содержимого, чтобы сохранять данные для нескольких серверов.
В частности, как показано на фиг. 3, примерные варианты осуществления изобретения позволяют произвольное расширение пула 104 серверов путем предоставления конфигурационной объектной модели 302 для того, чтобы добавлять конфигурационные данные или управлять конфигурационными данными в конфигурационной базе 218 данных. Например, как показано на фиг. 3, конфигурационная объектная модель 302 дает возможность пользователю добавлять новые конфигурационные данные 304 в конфигурационную базу 218 данных. Конфигурационная объектная модель позволяет пользователю наращивать или обновлять конфигурационные данные для пула 104 серверов без необходимости для пользователя понимать схему конфигурационной базы 218 данных и без необходимости для пользователя редактировать конфигурационную базу 218 данных. В примерном варианте осуществления изобретения предоставляется класс на базе Net-объектов для конфигурационной объектной модели 302. Пользователь может наращивать базовые классы конкретными конфигурационными данными. Эти данные затем интегрируются в конфигурационную базу 218 данных. Как результат, пользователю требуется только внимательно проанализировать конфигурационную объектную модель 302, чтобы взаимодействовать с конфигурационной базой 218 данных и добавлять различные типы данных в конфигурационную базу 218 данных без необходимости понимания или модифицирования схемы конфигурационной базы 218 данных. В примерном варианте осуществления изобретения объекты, содержащие конфигурационную информацию для приложения, либо извлекаются из, либо содержатся в базовом классе, именованном, например, как SPPersistedObject. Когда обновляется, этот класс упорядочивает в XML все поля, помеченные атрибутом "persisted", и записывает XML-блоб в конфигурационную базу 218 данных. Базовый класс содержит код для того, чтобы упорядочивать все свои члены, которые являются базовыми типами, другими объектами SPPersistedObject или наборами одного из двух элементов. Эта конструкция позволяет добавлять новые объекты, содержащие конфигурационные данные приложений, в конфигурационную базу 218 данных, как требуется приложением, которое является частью пула 104 серверов.
Варианты осуществления настоящего изобретения также предоставляют механизм синхронизации, который автоматически реплицирует любые изменения в конфигурационной базе 218 данных на серверы в пуле 104 серверов. В примерном варианте осуществления изобретения каждый из серверов 202A-202C пула 104 серверов включает в себя агента. Этот агент может оперативно храниться в локальной памяти и/или на жестком диске в сервере. Как показано на фиг. 3, сервер 202А содержит агента 306. Операционно агент 306 функционирует так, чтобы определять, произошли ли модификации над конфигурационными данными в конфигурационной базе 218 данных. Предпочтительно агент 306 функционирует на временной основе, что позволяет проводить периодический опрос конфигурационной базы 218 данных для того, чтобы определить, произошли ли изменения внутри конфигурационной базы 218 данных.
В примерном варианте осуществления изобретения агент 306 - это поток в службе Microsoft Windows, например SharePoint Timer. Агент 306 присоединяется к конфигурационной базе 218 данных, по меньшей мере, каждую минуту и выполняет запрос. Запрос использует временную отметку самой последней конфигурационной записи на сервере 202А. Запрос использует временную отметку как вход для запроса конфигурационной базы 218 данных и возвращает любые конфигурационные записи в конфигурационной базе 218 данных, которые были созданы, изменены или удалены с момента времени, записанного временной отметкой.
В примерном варианте осуществления изобретения агент 306 не связывается напрямую с хранилищем 220 содержимого. Однако агент 306 помогает распространять информацию, необходимую для других процессов на серверах в пуле 104 серверов для того, чтобы присоединиться к хранилищу 220 содержимого. Например, в примерном варианте осуществления изобретения, если добавлена новая база данных содержимого в пул 104 серверов для того, чтобы предоставлять дополнительное использование, агент 306 распространит ссылочную строку для новой базы данных содержимого в каждый из серверов в пуле 104 серверов для того, чтобы зарегистрировать новую базу данных содержимого в списке на сервере, который идентифицирует доступные базы данных содержимого в пуле 104 серверов. В результате другие процессы на серверах в пуле 104 серверов могут использовать новую базу данных содержимого для хранения содержимого. В варианте осуществления изобретения агент 306 выполняет в цикле запрос к конфигурационной базе 218 данных, по меньшей мере, каждую минуту, запускает запрос и распространяет информацию, касающуюся любых изменений в конфигурационных записях.
Варианты осуществления изобретения, таким образом, предоставляют способ для расширяемого и реплицирующего управления конфигурацией для пула серверов, такого как пул серверов 104. Фиг. 4 иллюстрирует примерный процесс 400 для расширяемого и реплицирующего управления конфигурацией для пула серверов, включающего в себя, по меньшей мере, один сервер. Как показано на фиг. 4, процесс 400 сохраняет все конфигурационные данные, касающиеся пула серверов, в конфигурационной базе данных, такой как конфигурационная база 218 данных. См. блок 402. Конфигурационные данные могут включать в себя топологию серверов, настройки, зависящие от приложения, такие как политики безопасности, антивирусные определения, настройки языка и т.п. Процесс 400 также выстраивает конфигурационную объектную модель, например конфигурационную объектную модель 302. См. блок 404. Например, конфигурационная объектная модель - это базовый класс, который может быть расширен посредством создания подклассов или инициирования предоставления новых конфигурационных данных для конфигурационной базы данных, без необходимости знать или использовать схему конфигурационной базы данных. Процесс 400 также устанавливает механизм синхронизации, такой как агент 306, в каждом сервере в пуле серверов. См. блок 406. В примерном варианте осуществления изобретения механизм синхронизации периодически запрашивает конфигурационную базу данных и обновляет любые изменения в конфигурационной базе данных с момента последнего запроса. После этого процесс 400 завершается. Порядок описания операций в процессе 400 не должен толковаться как подразумевающий, что эти операции необходимо выполнять в том порядке, как они представлены, или даже в зависимом порядке.
Хотя проиллюстрированы примерные варианты осуществления настоящего изобретения, следует принимать во внимание, что различные изменения могут выполняться в них без отступления от духа и объема настоящего изобретения.
Варианты осуществления изобретения, в которых заявлен отличительный признак или привилегия, определены, как изложено ниже.
Claims (14)
1. Конфигурируемый пользователем синхронизированный пул серверов, содержащий
систему связи, содержащую, по меньшей мере, одно из: шину, сеть и совместно используемое запоминающее устройство;
конфигурационную базу данных, включенную в машиночитаемую память и соединенную с системой связи, функционирующую для хранения конфигурационных данных для пула серверов и для отправления конфигурационных данных каждому серверу из пула серверов в ответ на запрос, причем конфигурационные данные содержат конфигурационные настройки и конкретные для приложения настройки;
объектную модель конфигурационных данных, связанную с конфигурационной базой данных для обновления конфигурационных данных, сохраненных в конфигурационной базе данных в соответствии с пользовательским вводом; и
множество серверов, соединенных через систему связи с конфигурационной базой данных для приема конфигурационных данных, сохраненных в конфигурационной базе данных, причем каждый сервер включает в себя механизм синхронизации, содержащий службу таймера для автоматического обновления сервера любыми изменениями конфигурационных данных, сохраненных в конфигурационной базе данных, причем механизм синхронизации включает в себя агента, сохраненного в сервере, причем агент периодически соединяется и запрашивает конфигурационную базу данных и загружает изменения конфигурационных данных в сервер, при этом множество серверов формируют пул серверов.
систему связи, содержащую, по меньшей мере, одно из: шину, сеть и совместно используемое запоминающее устройство;
конфигурационную базу данных, включенную в машиночитаемую память и соединенную с системой связи, функционирующую для хранения конфигурационных данных для пула серверов и для отправления конфигурационных данных каждому серверу из пула серверов в ответ на запрос, причем конфигурационные данные содержат конфигурационные настройки и конкретные для приложения настройки;
объектную модель конфигурационных данных, связанную с конфигурационной базой данных для обновления конфигурационных данных, сохраненных в конфигурационной базе данных в соответствии с пользовательским вводом; и
множество серверов, соединенных через систему связи с конфигурационной базой данных для приема конфигурационных данных, сохраненных в конфигурационной базе данных, причем каждый сервер включает в себя механизм синхронизации, содержащий службу таймера для автоматического обновления сервера любыми изменениями конфигурационных данных, сохраненных в конфигурационной базе данных, причем механизм синхронизации включает в себя агента, сохраненного в сервере, причем агент периодически соединяется и запрашивает конфигурационную базу данных и загружает изменения конфигурационных данных в сервер, при этом множество серверов формируют пул серверов.
2. Пул серверов по п.1, в котором конкретные для приложения настройки включают в себя политики безопасности, антивирусные определения и языковые настройки.
3. Пул серверов по п.2, в котором объектная модель конфигурационных данных позволяет пользователю добавлять данные в конфигурационную базу данных без изменения схемы конфигурационной базы данных.
4. Пул серверов по п.1, дополнительно содержащий, по меньшей мере, одно хранилище содержимого, которое сохраняет данные, по меньшей мере, для одного сервера в пуле серверов.
5. Пул серверов по п.4, в котором механизм синхронизации распространяет информацию о хранилище содержимого на сервер.
6. Пул серверов по п.1, дополнительно содержащий менеджер загрузки для распространения по серверам в пуле серверов запросов, сформированных для пула серверов.
7. Расширяемая система для автоматического реплицирования конфигурации серверами пула серверов, содержащая
систему связи, содержащую, по меньшей мере, одно из: шину, сеть и совместно используемое запоминающее устройство;
конфигурационную базу данных, включенную в машиночитаемую память и соединенную с системой связи, функционирующую для хранения конфигурационных данных для пула серверов и для отправления конфигурационных данных каждому серверу из пула серверов в ответ на запрос, причем конфигурационные данные содержат конфигурационные настройки и конкретные для приложения настройки, при этом конфигурационная база данных включает в себя схему конфигурационной базы данных;
множество серверов, соединенных через систему связи с конфигурационной базой данных для приема конфигурационных данных, сохраненных в конфигурационной базе данных, причем множество серверов формируют пул серверов;
конфигурационную объектную модель, связанную с конфигурационной базой данных, которая является расширяемой для обновления конфигурационных данных в конфигурационной базе данных без использования схемы конфигурационной базы данных; и
механизм синхронизации, включенный в каждый сервере в пуле серверов для автоматического обновления серверов любыми изменениями конфигурационных данных, причем механизм синхронизации включает в себя агента, сохраненного в сервере, причем агент периодически соединяется и запрашивает конфигурационную базу данных и загружает изменения конфигурационных данных в сервер.
систему связи, содержащую, по меньшей мере, одно из: шину, сеть и совместно используемое запоминающее устройство;
конфигурационную базу данных, включенную в машиночитаемую память и соединенную с системой связи, функционирующую для хранения конфигурационных данных для пула серверов и для отправления конфигурационных данных каждому серверу из пула серверов в ответ на запрос, причем конфигурационные данные содержат конфигурационные настройки и конкретные для приложения настройки, при этом конфигурационная база данных включает в себя схему конфигурационной базы данных;
множество серверов, соединенных через систему связи с конфигурационной базой данных для приема конфигурационных данных, сохраненных в конфигурационной базе данных, причем множество серверов формируют пул серверов;
конфигурационную объектную модель, связанную с конфигурационной базой данных, которая является расширяемой для обновления конфигурационных данных в конфигурационной базе данных без использования схемы конфигурационной базы данных; и
механизм синхронизации, включенный в каждый сервере в пуле серверов для автоматического обновления серверов любыми изменениями конфигурационных данных, причем механизм синхронизации включает в себя агента, сохраненного в сервере, причем агент периодически соединяется и запрашивает конфигурационную базу данных и загружает изменения конфигурационных данных в сервер.
8. Система по п.7, в которой механизм синхронизации является службой таймера.
9. Система по п.7, дополнительно содержащая, по меньшей мере, одно хранилище содержимого, которое сохраняет данные для множества серверов.
10. Система по п.9, в которой механизм синхронизации распространяет информацию о хранилище содержимого на множество серверов.
11. Система по п.7, дополнительно содержащая менеджер загрузки для распространения по серверам в пуле серверов запросов, сформированных для пула серверов.
12. Система по п.1, дополнительно содержащая, по меньшей мере, одно клиентское устройство, которое отправляет, по меньшей мере, один запрос в пул серверов.
13. Расширяемый способ автоматического реплицирования конфигурацией серверов пула серверов, содержащего множество серверов, содержащий этапы, на которых
сохраняют в конфигурационной базе данных, включенной в машиночитаемую память и функционирующую для хранения конфигурационных данных для пула серверов и для отправки конфигурационных данных каждому серверу из пула серверов в ответ на запрос, конфигурационные данные для пула серверов, причем конфигурационные данные содержат конфигурационные настройки и конкретные для приложения настройки, при этом конфигурационная база данных имеет схему;
предоставляют конфигурационную объектную модель, которая может быть расширяемой для обновления конфигурационных данных в конфигурационной базе данных без использования схемы конфигурационной базы данных; и
устанавливают механизм синхронизации для каждого сервера в пуле серверов для автоматического обновления сервера любыми изменениями конфигурационных данных, сохраненных в конфигурационной базе данных, причем механизм синхронизации включает в себя агента, сохраненного в сервере, причем агент периодически соединяется и запрашивает конфигурационную базу данных, и загружает изменения конфигурационных данных в сервер.
сохраняют в конфигурационной базе данных, включенной в машиночитаемую память и функционирующую для хранения конфигурационных данных для пула серверов и для отправки конфигурационных данных каждому серверу из пула серверов в ответ на запрос, конфигурационные данные для пула серверов, причем конфигурационные данные содержат конфигурационные настройки и конкретные для приложения настройки, при этом конфигурационная база данных имеет схему;
предоставляют конфигурационную объектную модель, которая может быть расширяемой для обновления конфигурационных данных в конфигурационной базе данных без использования схемы конфигурационной базы данных; и
устанавливают механизм синхронизации для каждого сервера в пуле серверов для автоматического обновления сервера любыми изменениями конфигурационных данных, сохраненных в конфигурационной базе данных, причем механизм синхронизации включает в себя агента, сохраненного в сервере, причем агент периодически соединяется и запрашивает конфигурационную базу данных, и загружает изменения конфигурационных данных в сервер.
14. Конфигурируемый пользователем синхронизированный пул серверов, содержащий
систему связи, содержащую, по меньшей мере, одно из: шину, сеть и совместно используемое запоминающее устройство;
конфигурационную базу данных, включенную в машиночитаемую память и соединенную с системой связи, функционирующую для хранения конфигурационных данных для пула серверов и для отправления конфигурационных данных каждому серверу из пула серверов в ответ на запрос, причем конфигурационные данные содержат конфигурационные настройки и конкретные для приложения настройки;
объектную модель конфигурационных данных, связанную с конфигурационной базой данных для обновления конфигурационных данных, сохраненных в конфигурационной базе данных в соответствии с пользовательским вводом; и
множество серверов, соединенных через систему связи с конфигурационной базой данных для приема конфигурационных данных, сохраненных в конфигурационной базе данных, причем каждый сервер включает в себя механизм синхронизации для автоматического обновления сервера любыми изменениями конфигурационных данных, сохраненных в конфигурационной базе данных, причем механизм синхронизации включает в себя агента, сохраненного в сервере, причем агент периодически соединяется и запрашивает конфигурационную базу данных, и загружает изменения конфигурационных данных в сервер, при этом множество серверов формируют пул серверов, причем объектная модель конфигурационных данных позволяет пользователю добавлять данные в конфигурационную базу данных без изменения схемы конфигурационной базы данных.
систему связи, содержащую, по меньшей мере, одно из: шину, сеть и совместно используемое запоминающее устройство;
конфигурационную базу данных, включенную в машиночитаемую память и соединенную с системой связи, функционирующую для хранения конфигурационных данных для пула серверов и для отправления конфигурационных данных каждому серверу из пула серверов в ответ на запрос, причем конфигурационные данные содержат конфигурационные настройки и конкретные для приложения настройки;
объектную модель конфигурационных данных, связанную с конфигурационной базой данных для обновления конфигурационных данных, сохраненных в конфигурационной базе данных в соответствии с пользовательским вводом; и
множество серверов, соединенных через систему связи с конфигурационной базой данных для приема конфигурационных данных, сохраненных в конфигурационной базе данных, причем каждый сервер включает в себя механизм синхронизации для автоматического обновления сервера любыми изменениями конфигурационных данных, сохраненных в конфигурационной базе данных, причем механизм синхронизации включает в себя агента, сохраненного в сервере, причем агент периодически соединяется и запрашивает конфигурационную базу данных, и загружает изменения конфигурационных данных в сервер, при этом множество серверов формируют пул серверов, причем объектная модель конфигурационных данных позволяет пользователю добавлять данные в конфигурационную базу данных без изменения схемы конфигурационной базы данных.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/171,617 US7577661B2 (en) | 2005-06-30 | 2005-06-30 | Extensible and automatically replicating server farm configuration management infrastructure |
US11/171,617 | 2005-06-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2007147644A RU2007147644A (ru) | 2009-06-27 |
RU2404451C2 true RU2404451C2 (ru) | 2010-11-20 |
Family
ID=37591005
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2007147644/09A RU2404451C2 (ru) | 2005-06-30 | 2006-05-08 | Инфраструктура расширяемого и автоматически реплицирующего управления конфигурацией пула серверов |
Country Status (9)
Country | Link |
---|---|
US (1) | US7577661B2 (ru) |
EP (1) | EP1899862B1 (ru) |
JP (1) | JP2009500716A (ru) |
KR (1) | KR101169117B1 (ru) |
CN (1) | CN101189611B (ru) |
BR (1) | BRPI0612629B1 (ru) |
MX (1) | MX2007015188A (ru) |
RU (1) | RU2404451C2 (ru) |
WO (1) | WO2007005106A2 (ru) |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8176408B2 (en) * | 2005-09-12 | 2012-05-08 | Microsoft Corporation | Modularized web provisioning |
EP1791293A1 (en) * | 2005-11-29 | 2007-05-30 | Ipanto | Network service configuration management |
US7979789B2 (en) * | 2005-12-19 | 2011-07-12 | Microsoft Corporation | System and method of replacing a delegate component associated with a delegate modular software component at software execution time |
BRPI0712317B1 (pt) * | 2006-06-07 | 2020-01-21 | Qualcomm Inc | equipamento para operar como uma função de rede, equipamento para operar como um mestre de sessão, equipamento em um terminal de acesso para acessar uma rede de acesso, método de operação em uma rede de acesso, método de comunicação com uma rede de acesso e memória legível por computador |
JP2008293256A (ja) * | 2007-05-24 | 2008-12-04 | Nec Corp | 冗長構成サーバシステムにおけるファイルバックアップ方法、プログラム、及び、冗長構成サーバシステム |
US7877590B2 (en) * | 2007-08-13 | 2011-01-25 | International Business Machines Corporation | Consistent data storage subsystem configuration replication |
US9239767B2 (en) * | 2008-12-22 | 2016-01-19 | Rpx Clearinghouse Llc | Selective database replication |
US8832235B1 (en) * | 2009-03-10 | 2014-09-09 | Hewlett-Packard Development Company, L.P. | Deploying and releasing logical servers |
US8595334B2 (en) * | 2010-02-22 | 2013-11-26 | Microsoft Corporation | Incrementally managing distributed configuration data |
CN102402441B (zh) * | 2010-09-16 | 2014-08-20 | 腾讯科技(深圳)有限公司 | 一种对多台计算机进行配置的系统和方法 |
US8386501B2 (en) | 2010-10-20 | 2013-02-26 | Microsoft Corporation | Dynamically splitting multi-tenant databases |
US8296267B2 (en) | 2010-10-20 | 2012-10-23 | Microsoft Corporation | Upgrade of highly available farm server groups |
US9075661B2 (en) | 2010-10-20 | 2015-07-07 | Microsoft Technology Licensing, Llc | Placing objects on hosts using hard and soft constraints |
US8751656B2 (en) | 2010-10-20 | 2014-06-10 | Microsoft Corporation | Machine manager for deploying and managing machines |
US8417737B2 (en) | 2010-10-20 | 2013-04-09 | Microsoft Corporation | Online database availability during upgrade |
US8799453B2 (en) | 2010-10-20 | 2014-08-05 | Microsoft Corporation | Managing networks and machines for an online service |
RU2444056C1 (ru) | 2010-11-01 | 2012-02-27 | Закрытое акционерное общество "Лаборатория Касперского" | Система и способ ускорения решения проблем за счет накопления статистической информации |
US8850550B2 (en) | 2010-11-23 | 2014-09-30 | Microsoft Corporation | Using cached security tokens in an online service |
US9721030B2 (en) | 2010-12-09 | 2017-08-01 | Microsoft Technology Licensing, Llc | Codeless sharing of spreadsheet objects |
CN102075358B (zh) * | 2010-12-31 | 2013-10-30 | 网宿科技股份有限公司 | 针对大规模服务器集群的内容分发和部署的系统和方法 |
US20130036212A1 (en) * | 2011-08-02 | 2013-02-07 | Jibbe Mahmoud K | Backup, restore, and/or replication of configuration settings in a storage area network environment using a management interface |
US20130066832A1 (en) * | 2011-09-12 | 2013-03-14 | Microsoft Corporation | Application state synchronization |
CN102930368B (zh) * | 2011-09-27 | 2017-05-03 | 微软技术许可有限责任公司 | 容错外部应用服务器 |
US9578114B2 (en) * | 2011-09-27 | 2017-02-21 | Microsoft Technology Licensing, Llc | External service application discovery method |
US9047129B2 (en) * | 2012-07-23 | 2015-06-02 | Adobe Systems Incorporated | Systems and methods for load balancing of time-based tasks in a distributed computing system |
US9542177B1 (en) * | 2012-10-30 | 2017-01-10 | Amazon Technologies, Inc. | Peer configuration analysis and enforcement |
CN103209338A (zh) * | 2013-02-04 | 2013-07-17 | 奥维通信股份有限公司 | 一种复用器在线动态配置系统及方法 |
US9305044B2 (en) * | 2013-07-18 | 2016-04-05 | Bank Of America, N.A. | System and method for modelling data |
US10050832B2 (en) * | 2014-09-19 | 2018-08-14 | Sybase 365, Inc. | Server clustering in mobile computing environment |
US9864791B2 (en) | 2014-12-19 | 2018-01-09 | Microsoft Technology Licensing, Llc | Flow for multi-master replication in distributed storage |
US10021186B2 (en) | 2014-12-19 | 2018-07-10 | Microsoft Technology Licensing, Llc | Guaranteed delivery of replication message |
US9959114B2 (en) * | 2015-03-16 | 2018-05-01 | Microsoft Technology Licensing, Llc | Representation of customizable types in a development environment |
US9923768B2 (en) * | 2015-04-14 | 2018-03-20 | International Business Machines Corporation | Replicating configuration between multiple geographically distributed servers using the rest layer, requiring minimal changes to existing service architecture |
US9760459B2 (en) | 2015-06-10 | 2017-09-12 | International Business Machines Corporation | Synchronization policies among nodes |
US20170063986A1 (en) * | 2015-08-31 | 2017-03-02 | Microsoft Technology Licensing, Llc | Target-driven tenant identity synchronization |
JP6338189B2 (ja) * | 2015-09-11 | 2018-06-06 | Necフィールディング株式会社 | 管理装置、管理システム、管理装置の制御方法、及びプログラム |
US10200242B2 (en) | 2015-10-12 | 2019-02-05 | Dell Products, Lp | System and method to replicate server configurations across systems using sticky attributions |
CN106899648B (zh) * | 2016-06-20 | 2020-02-14 | 阿里巴巴集团控股有限公司 | 一种数据处理方法和设备 |
US10263845B2 (en) | 2017-05-16 | 2019-04-16 | Palantir Technologies Inc. | Systems and methods for continuous configuration deployment |
US10353699B1 (en) | 2017-06-26 | 2019-07-16 | Palantir Technologies Inc. | Systems and methods for managing states of deployment |
US10558454B2 (en) | 2018-06-04 | 2020-02-11 | Palantir Technologies Inc. | Constraint-based upgrade and deployment |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5838918A (en) * | 1993-12-13 | 1998-11-17 | International Business Machines Corporation | Distributing system configuration information from a manager machine to subscribed endpoint machines in a distrubuted computing environment |
US6691165B1 (en) * | 1998-11-10 | 2004-02-10 | Rainfinity, Inc. | Distributed server cluster for controlling network traffic |
US6405219B2 (en) * | 1999-06-22 | 2002-06-11 | F5 Networks, Inc. | Method and system for automatically updating the version of a set of files stored on content servers |
US7181539B1 (en) * | 1999-09-01 | 2007-02-20 | Microsoft Corporation | System and method for data synchronization |
JP2001075900A (ja) * | 1999-09-07 | 2001-03-23 | Toshiba Corp | 監視制御システムおよび記録媒体 |
JP2001273269A (ja) * | 2000-03-24 | 2001-10-05 | Hitachi Ltd | 複数プロセッサの構成情報更新方式 |
US6970939B2 (en) * | 2000-10-26 | 2005-11-29 | Intel Corporation | Method and apparatus for large payload distribution in a network |
US7287090B1 (en) * | 2000-12-21 | 2007-10-23 | Noatak Software, Llc | Method and system for identifying a computing device in response to a request packet |
US7600021B2 (en) * | 2002-04-03 | 2009-10-06 | Microsoft Corporation | Delta replication of source files and packages across networked resources |
US20040010786A1 (en) * | 2002-07-11 | 2004-01-15 | Microsoft Corporation | System and method for automatically upgrading a software application |
US7065674B2 (en) * | 2002-08-01 | 2006-06-20 | Microsoft Corporation | Computer system fault recovery using distributed fault-recovery information |
US20050015471A1 (en) * | 2003-07-18 | 2005-01-20 | Zhang Pu Paul | Secure cluster configuration data set transfer protocol |
-
2005
- 2005-06-30 US US11/171,617 patent/US7577661B2/en active Active
-
2006
- 2006-05-08 CN CN2006800197032A patent/CN101189611B/zh active Active
- 2006-05-08 EP EP06759246.9A patent/EP1899862B1/en active Active
- 2006-05-08 WO PCT/US2006/017586 patent/WO2007005106A2/en active Application Filing
- 2006-05-08 KR KR1020077027937A patent/KR101169117B1/ko active IP Right Grant
- 2006-05-08 MX MX2007015188A patent/MX2007015188A/es active IP Right Grant
- 2006-05-08 JP JP2008519287A patent/JP2009500716A/ja active Pending
- 2006-05-08 RU RU2007147644/09A patent/RU2404451C2/ru not_active IP Right Cessation
- 2006-05-08 BR BRPI0612629-4A patent/BRPI0612629B1/pt active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20080021631A (ko) | 2008-03-07 |
KR101169117B1 (ko) | 2012-07-26 |
US7577661B2 (en) | 2009-08-18 |
BRPI0612629A2 (pt) | 2010-11-23 |
CN101189611A (zh) | 2008-05-28 |
WO2007005106A2 (en) | 2007-01-11 |
MX2007015188A (es) | 2008-02-19 |
JP2009500716A (ja) | 2009-01-08 |
CN101189611B (zh) | 2012-08-29 |
US20070005662A1 (en) | 2007-01-04 |
EP1899862A4 (en) | 2010-11-10 |
BRPI0612629B1 (pt) | 2018-06-05 |
EP1899862A2 (en) | 2008-03-19 |
RU2007147644A (ru) | 2009-06-27 |
WO2007005106A3 (en) | 2007-11-08 |
EP1899862B1 (en) | 2018-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2404451C2 (ru) | Инфраструктура расширяемого и автоматически реплицирующего управления конфигурацией пула серверов | |
CN103067484B (zh) | 一种自动升级应用程序的方法和系统 | |
US7490265B2 (en) | Recovery segment identification in a computing infrastructure | |
JP5514834B2 (ja) | 選択的データベースレプリケーション | |
US8843561B2 (en) | Common cluster model for configuring, managing, and operating different clustering technologies in a data center | |
US7558857B2 (en) | Solution deployment in a server farm | |
JP5257455B2 (ja) | 2相コミットによるデータ更新同期方法及びシステム | |
CN105959390A (zh) | 微服务的统一管理系统及方法 | |
US8380787B2 (en) | Federation of master data management systems | |
US8549129B2 (en) | Live migration method for large-scale IT management systems | |
KR20060121803A (ko) | 모바일 디바이스 사용자 설정을 유지하기 위한 방법,시스템 및 프로그램 제품 | |
US20030115243A1 (en) | Distributed process execution system and method | |
JP2013229042A (ja) | 装置へのコンテンツの分配を管理するシステムと方法 | |
US6516325B1 (en) | Virtual partition vector for a computer directory system | |
US7840615B2 (en) | Systems and methods for interoperation of directory services | |
US20070088811A1 (en) | Management system and method of storing components in a distributed system | |
JP2007213576A (ja) | 分散更新イベントを使用してセマンティック・ウェブ・データを選択的に追跡する方法、システム、及び記憶装置 | |
JP2004110241A (ja) | 営業支援システム | |
CN108322319B (zh) | 一种基于增量日志的日志管理方法及管理装置 | |
US20030131009A1 (en) | Transaction method and system | |
Balzarotti et al. | Supporting configuration management for virtual workgroups in a peer-to-peer setting | |
CN116126785A (zh) | 文件的获取方法以及装置、系统、存储介质、电子设备 | |
JP2005004474A (ja) | 意味づけされた情報要素を分散管理する情報ストレージシステムの構成方法 | |
CN116455897A (zh) | 实现节点间协同作业的方法、协同服务引擎及协同系统 | |
Khosrowshahi | Component Placement and Location in a Dynamic Composition System |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PC41 | Official registration of the transfer of exclusive right |
Effective date: 20150306 |
|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20190509 |