RU2404451C2 - Инфраструктура расширяемого и автоматически реплицирующего управления конфигурацией пула серверов - Google Patents

Инфраструктура расширяемого и автоматически реплицирующего управления конфигурацией пула серверов Download PDF

Info

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
Application number
RU2007147644/09A
Other languages
English (en)
Other versions
RU2007147644A (ru
Inventor
Джон Кит БЭНКСТОН (US)
Джон Кит БЭНКСТОН
Кори Майкл РУССЕЛЬ (US)
Кори Майкл РУССЕЛЬ
Уилльям Дэвид ТЭЙЛОР (US)
Уилльям Дэвид ТЭЙЛОР
Original Assignee
Майкрософт Корпорейшн
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Майкрософт Корпорейшн filed Critical Майкрософт Корпорейшн
Publication of RU2007147644A publication Critical patent/RU2007147644A/ru
Application granted granted Critical
Publication of RU2404451C2 publication Critical patent/RU2404451C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99939Privileged access
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating 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. Конфигурируемый пользователем синхронизированный пул серверов, содержащий
систему связи, содержащую, по меньшей мере, одно из: шину, сеть и совместно используемое запоминающее устройство;
конфигурационную базу данных, включенную в машиночитаемую память и соединенную с системой связи, функционирующую для хранения конфигурационных данных для пула серверов и для отправления конфигурационных данных каждому серверу из пула серверов в ответ на запрос, причем конфигурационные данные содержат конфигурационные настройки и конкретные для приложения настройки;
объектную модель конфигурационных данных, связанную с конфигурационной базой данных для обновления конфигурационных данных, сохраненных в конфигурационной базе данных в соответствии с пользовательским вводом; и
множество серверов, соединенных через систему связи с конфигурационной базой данных для приема конфигурационных данных, сохраненных в конфигурационной базе данных, причем каждый сервер включает в себя механизм синхронизации для автоматического обновления сервера любыми изменениями конфигурационных данных, сохраненных в конфигурационной базе данных, причем механизм синхронизации включает в себя агента, сохраненного в сервере, причем агент периодически соединяется и запрашивает конфигурационную базу данных, и загружает изменения конфигурационных данных в сервер, при этом множество серверов формируют пул серверов, причем объектная модель конфигурационных данных позволяет пользователю добавлять данные в конфигурационную базу данных без изменения схемы конфигурационной базы данных.
RU2007147644/09A 2005-06-30 2006-05-08 Инфраструктура расширяемого и автоматически реплицирующего управления конфигурацией пула серверов RU2404451C2 (ru)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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